bab 2 landasan teori 2.1 helpdesk...
Post on 13-Mar-2018
221 Views
Preview:
TRANSCRIPT
10
BAB 2
LANDASAN TEORI
2.1 Helpdesk Inventory
2.1.1 Helpdesk
2.1.1.1 Pengertian Helpdesk
Helpdesk pada dasarnya adalah sebuah center point dimana
masalah atau issue dilaporkan dan diatur secara terurut dan
diorganisasikan. Dari perspektif umum, helpdesk merupakan
bagian pelengkap dari sebuah fungsi pelayanan, dan bertanggung
jawab sebagai sumber dari pemecahan masalah atau issue lainnya.
(http://www.help-desk-world.com/help-desk.htm)
Menurut Wooten (2001, p5), ”Helpdesk is a formal
organization that provides support function to users of the
companies product, services, or technology”. Jadi helpdesk
merupakan bagian dari perusahaan yang menyediakan dokumen
fungsi produk, servis atau teknologi dari perusahaan tersebut.
Helpdesk adalah sebuah departemen atau bagian dalam
perusahaan yang melayani atau menanggapi pertanyaan teknis
pengguna. Helpdesk digunakan untuk menjawab pertanyaan
client. Pertanyaan dan jawaban dapat disampaikan melalui
telepon, email, web atau fax. Bahkan ada software helpdesk yang
membuat orang lebih mudah untuk menjalankan helpdesk dengan
11
cepat untuk menemukan jawaban yang bersifat umum.
(http://www.webpcwebipedia.com)
Helpdesk adalah titik pusat hubungan dalam sebuah
organisasi, dimana para pegawai yang menghubungi helpdesk
dapat menemukan jawaban atas pertanyaan-pertanyaan mereka
dan solusi dari masalah yang dihadapi, seperti masalah-masalah
ditempat kerja, masalah penggunaan komputer, pekerjaan dengan
aplikasi software, akses ke sebuah jaringan atau ke sebuah printer,
dan pertanyaan-pertanyaan teknis lainnya. (Remedy,
http://www.remedy.com)
Helpdesk merupakan istilah umum yang berkaitan dengan
pusat pelayanan end-user. Helpdesk dilihat sebagai suatu bagian
yang terintegrasi dari fungsi servis bertanggung jawab untuk
menyediakan berbagai resources dalam menangani masalah
keputusan client. Seringkali istilah helpdesk digunakan untuk
menyediakan internal support bagi karyawan dalam perusahaan,
namun dewasa ini telah mengalami perubahan dimana helpdesk
tidak hanya digunakan sebagai internal support bagi karyawan
perusahaan, tetapi juga meliputi eksternal support bagi pihak di
luar perusahaan, khususnya pelanggan.
(http://www.philvergis.com)
Berdasarkan definisi-definisi di atas dapat disimpulkan bahwa
helpdesk merupakan sebuah bagian atau program aplikasi dalam
perusahaan yang menangani pertanyaan dan keluhan, baik dari
12
pihak internal maupun pihak eksternal perusahaan dengan
menyediakan informasi serta solusi yang diperlukan.
2.1.1.2 Helpdesk pada Masa Dahulu dan Sekarang
Helpdesk yang tradisional biasanya melalui call center yaitu
untuk melayani customer yang ingin meminta penjelasan
mengenai produk yang dijual. Telepon merupakan media utama
untuk menyediakan dukungan sampai munculnya internet.
Beberapa kelemahan dari telepon adalah sebagai berikut:
• Customer dapat bosan untuk menunggu tanggapan dari
telepon otomatis.
• Jika pesan pada telepon hilang, berarti masalah customer
tersebut tidak diterima dan tidak terdapat dalam prioritas
masalah yang harus diselesaikan.
• Perusahaan tidak dapat memprediksikan banyaknya keluhan,
terutama ketika sistem tidak dapat dipakai dan peluncuran
produk baru. Maka dibutuhkan kapasitas tambahan pada call
center, atau risikonya customer akan menjauhkan diri dan
perusahaan akan kehilangan customer.
Munculnya email memang mendukung sistem helpdesk, tetapi
tidak memberikan dukungan manajemen bagi sistem tersebut.
Tanpa ada dokumentasi dari email-email tersebut maka hubungan
antara customer dan administrator helpdesk hanya sebatas
13
komunikasi sesaat. Sehingga history data mengenai keluhan
customer dapat hilang.
Internet merupakan media yang potensial untuk komunikasi
langsung antara customer dan supplier, dan untuk review dan
melihat seberapa sering mereka meminta pelayanan secara online.
Helpdesk berbasis internet melengkapi proses penjualan dan
memberikan rute langsung kepada cutomer dan menjauhi
keperluan untuk melanjutkan perkembangan sistem manajemen
telepon. Beberapa perusahaan sudah mengeksplorasi potensi ini.
Sistem helpdesk berbasis internet memiliki beberapa
keuntungan diantaranya:
• Berlaku 24 jam sehari, walaupun call center telah tutup. Ini
sangat penting untuk bisnis yang mendunia dimana pegawai
seringkali datang lambat atau customer berada pada zona
waktu yang berbeda.
• Fasilitas yang digunakan untuk membantu diri sendiri dapat
disediakan, seperti FAQ.
Semua departemen pendukung dalam suatu organisasi secara
efektif menyediakan sistem helpdesk kepada pegawainya
sehingga mereka mendapatkan bantuan dalam masalah fisik dan
teknis, yang meningkatkan keahlian departemen tersebut.
Helpdesk sekarang adalah sebuah fundamental dan bagian
pusat dalam operasi dan pelayanan bisnis yang baik. Diharapkan
14
helpdesk ini dapat menjawab banyak pertanyaan yang sulit
termasuk yang paling dasar yaitu apa itu helpdesk, bagaimana
cara kerjanya, mengapa mempunyai solusi sebuah software, apa
tipe dari fungsi software, dan dimana kita harus memulai.
(http://www.help-desk-world.com)
Dalam sebuah perusahaan, helpdesk digunakan untuk
menjawab pertanyaan teknik dari client. Pertanyaan dan jawaban
dapat dikirim melalui telepon, email, fax, dan lain-lain. Dengan
menggunakan software helpdesk dapat memberikan kemudahan
dalam menemukan solusi masalah secara tepat dan yang
ditanyakan secara umum.
2.1.1.3 Kelebihan-kelebihan Helpdesk
Helpdesk dapat menyediakan pelayanan yang terbaik kepada
para karyawan serta pelanggan juga mengurangi biaya pada
organisasi yang dapat memberikan produktifitas. Hal ini
disebabkan karena kelebihan-kelebihan yang ada pada helpdesk,
antara lain:
• Helpdesk dapat memberikan solusi atas pertanyaan-pertanyaan
maupun keluhan yang masuk dalam waktu yang lebih singkat.
• Helpdesk dapat mengecek status permasalahan yang ada dan
mengatur pembagian kerja staf.
• Helpdesk dapat meningkatkan efisiensi perusahaan dalam
menangani pertanyaan dan keluhan dari pelanggan.
15
• Helpdesk dapat memberi laporan kerja perkembangan kinerja
para staf kepada pimpinan.
2.1.1.4 Cara Kerja Helpdesk
Helpdesk merupakan bagian dari perusahaan yang
menyediakan dokumen fungsi produk, servis, dan teknologi dari
perusahaan tersebut. Contohnya antara service provider dengan
pelanggan. Untuk dapat memenuhi service level agreement yang
disepakati antara pelanggan dan service provider pada bisnis
telekomunikasi, diperlukan suatu antarmuka antara pelanggan
service provider yang memungkinkan proses komunikasi dapat
dilakukan khususnya dalam proses penanganan masalah-masalah
pada layanan atau jaringan dimana pelanggan berlangganan.
(Remedy, http://www.remedy.com)
Helpdesk merupakan suatu inisiasi yang dilakukan pada saat
pelanggan menemukan adanya suatu masalah yang tidak dapat
ditangani oleh pelanggan sendiri pada layanan ataupun jaringan
dimana pelanggan berlangganan. Selanjutnya pelanggan
mengirimkan sebuah trouble ticket pada service provider dengan
tujuan untuk mendapatkan pemecahan masalahnya. Trouble ticket
dalam pengertian umum adalah suatu alat bantu yang biasa
digunakan pada suatu proses operasi dan pemeliharaan jaringan
telekomunikasi. Dengan tool ini operator jaringan dapat dengan
mudah melakukan koordinasi mengatasi adanya suatu masalah
pada jaringan.
16
Trouble ticket pada umumnya dibuat oleh seorang operator
supervisor jaringan atau front-end, dan dikirimkan kepada
seorang spesialis atau back-end, untuk meminta suatu solusi
pemecahan atas trouble (masalah yang terjadi). Mekanisme
trouble ticket pada umumnya adalah mekanisme work order
antara sistem front-end dengan sistem back-end.
Pelanggan trouble ticket adalah sebuah pengembangan dari
sistem trouble ticket yang selama ini digunakan pada suatu sistem
manajemen jaringan, dengan mengembangkan suatu mekanisme
work order yang digunakan untuk mendukung layanan kepada
pelanggan. Jadi adanya trouble ticket pelanggan dipengaruhi oleh
adanya tuntutan akan layanan yang sesuai dengan sevice level
agreement yang dijanjikan oleh service provider. Selain itu,
semakin pentingnya pengunaan dan otomasi pada aplikasi-
aplikasi berbasis komputer pada sisi pelanggan dalam mengelola
jaringannya (ataupun CPE = Customer Premisses Decripment)
sendiri, membutuhkan suatu interface ataupun mekanisme standar
yang menghubungkan informasi adanya suatu masalah pada sisi
pelanggan kepada service provider untuk segera melakukan
tindakan terhadap masalah tersebut.
Setelah trouble ticket diinisialisasi dan dikirim kepada service
provider, biasanya petugas helpdesk akan meminta dan membuka
trouble ticket tersebut untuk melihat permasalahan dan mencari
pemecahan masalahnya. Proses pemecahan masalah pada
17
helpdesk, service provider biasanya memiliki prosedur dan
mekanisme tersendiri berdasarkan aturan dan struktur organisasi.
Namun biasanya proses penanganan masalah ini dilakukan dalam
dua tahapan, yaitu tahapan admin helpdesk dan tahapan engineer.
Seorang admin helpdesk biasanya adalah seorang operator yang
bertugas secara terus-menerus untuk melakuan supervisi status
jaringan dan layanan setiap saat. Pada saat sebuah trouble ticket
sampai di sistem helpdesk, biasanya yang membuka trouble ticket
pertama kali adalah bagian admin helpdesk. Bagian admin
helpdesk akan mencoba melakukan resolusi ke master masalah
terlebih dahulu.
Apabila permasalahan belum dapat dipecahkan maka trouble
ticket akan dieskalasikan kepada seorang engineer yang
mempunyai kompetensi yang lebih tinggi. Bentuk pecahan
masalah yang biasa dilakukan dapat berupa sebuah rekomendasi
penyelesaian masalah ataupun sebuah work order kepada bagian
lain (teknisi). Dan harus turun langsung ke tempat pelanggan
untuk membantu menyelesaikan masalah.
Setelah trouble ticket dibuka pada helpdesk, helpdesk dapat
mengirimkan sebuah trouble report yang berisi informasi status
dari trouble ticket. Status dari trouble report ada dua yaitu open
dan close. Pada saat trouble ticket dibuka untuk dicarikan
solusinya status trouble report adalah open. Status open tidak
akan berubah sampai petugas helpdesk service provider
18
menemukan solusi dan memecahkan masalah yang terjadi. Status
trouble report ini dapat diminta kapan saja oleh pelanggan.
Pelanggan dapat melihat kemajuan dan eskalasi dari penyelesaian
sebuah trouble ticket melalui status trouble ticket ini. Apabila
masalah telah dapat diselesaikan oleh helpdesk sevice provider,
helpdesk akan mengirimkan sebuah motifikasi atau laporan yang
menyatakan bahwa masalah telah diselesaikan. Selanjutnya
pelanggan harus memberikan konfirmasinya tentang penerimaan
penyelesaian masalah. Setelah kofirmasi diterima dari pelanggan,
selanjutnya trouble report sekaligus trouble ticket ditutup dengan
status trouble report adalah close.
2.1.2 Inventory
Menurut Institute for Supply Management (http://www.ism.ws),
inventory control adalah pengaturan inventory termasuk didalamnya
pengambilan keputusan tentang peletakan suatu barang, berapa banyak
barang yang harus disimpan, kapan membeli barang, berapa banyak barang
yang dibeli, mengendalikan pencurian, kerusakan barang dan menangani
kekurangan barang.
2.2 Arsitektur Client Server
Arsitektur Client Server didasarkan pada hal sederhana, yaitu komputer yang
berbeda melakukan tugas yang berbeda, dan setiap komputer bisa dioptimalkan
untuk tugas tertentu. Jadi masuk akal jika memisahkan DBMS dari aplikasi client.
Di dalam lingkungan networking, DBMS terdapat di dalam satu komputer. Tetapi
19
banyak aplikasi yang mengakses database dan semua client melakukan permintaan
dari database yang sama. Program yang menerima dan melayani permintaan ini
adalah DBMS, dan komputer yang menjalankan DBMS disebut dengan server
database. Aplikasi client tidak mengetahui bagaimana data disimpan di dalam
database.
Pada arsitektur client-server, aplikasi dipecah-pecah ke dalam dua komponen
utama yang bekerja sama untuk mencapai satu tujuan bersama. Komponen-
komponen ini disebut dengan tier (tingkat), dan setiap tingkat
mengimplementasikan fungsi yang berbeda. Model client-server mengandung dua
buah tingkat.
Client-server menjadi sangat populer karena sangat banyak tugas pemrosesan
yang dilakukan pada komputer client, yang bisa berupa komputer desktop yang
murah. Semakin tinggi kemampuan komputer client, semakin besar pemrosesan
yang bisa dilakukannya. Dua buah komputer client bisa menerima data yang sama
dari client, sebagai contoh penjualan berdasarkan daerah. Sebuah komputer bisa
melakukan perhitungan sederhana, seperti perhitungan rata-rata, sementara
komputer client lain yang lebih hebat bisa menggabungkan data dengan aplikasi
pemetaan untuk menampilkan bagian yang rumit.
2.2.1 Model Dua Tingkat
Tingkat pertama dari aplikasi client-server adalah client-tier, yaitu
presentation tier, yang dijalankan pada client. Tingkat ini mengandung
kode yang menampilkan data dan berinteraksi dengan user, dan biasanya
berupa aplikasi dan selain itu client tier juga dapat dijalankan di browser.
20
Ini adalah halaman web yang mengijinkan user untuk berinteraksi dengan
database.
Tingkat kedua ialah database server atau DBMS. Tingkatan ini
memanipulasi objek yang sangat kompleks yaitu database, dan
menawarkan tampilan yang sederhana dari database. Client bisa
melakukan permintaan yang sulit seperti “Tampilkan nama-nama
pelanggan yang telah memesan lebih dari $100.000 pada tiga bulan
terakhir”. DBMS menerima banyak permintaan seperti ini dari client, dan
dia harus bisa melayaninya semua. Sudah jelas DBMS tidak bisa
memproses data sebelum mengirimkannya kepada client. Satu client
mungkin memetakan data ke dalam bagan, client lain mungkin
menampilkan data yang sama pada kontrol lainnya dan sebagainya. Tugas
server adalah mengambil data dari tabel dan mengirimkannya kepada
client. Ia hanya perlu mengirimkannya kepada client dan membiarkan
client yang memprosesnya.
Dengan memecah beban kerja antara client dan server, kita dapat
mengijinkan setiap aplikasi melakukan hal yang terbaik. DBMS dijalankan
pada salah satu komputer yang tercepat pada network. Client tidak perlu
sama cepatnya dengan server. Menurut Petroutsos (2000, p16), pada
kenyataannya, terdapat dua jenis client, yaitu:
a. Thin Client
Thin Client adalah komputer yang memiliki kemampuan kecil yang
hanya melakukan sedikit pemrosesan. Browser adalah sebuah thin
client: kemampuan tampilannya ditentukan oleh versi HTML yang
21
digunakan. Keuntungan dari thin client adalah harganya (semua
komputer yang menjalankan Internet Explorer atau Netscape Navigator
sudah cukup) serta konektivitasnya (mereka bisa mengakses server
database dari mana saja). Kemampuan thin client lain yang akan datang
diabaikan adalah kemampuan presentasinya tidak berbeda-beda.
Aplikasi client yang dijalankan di dalam browser akan dapat dijalankan
pada semua komputer. Thin client juga mudah dipelihara, dan dapat
menurunkan biaya pendistribusian aplikasi.
b. Fat Client
Fat client adalah sebuah komputer desktop yang memiliki
kemampuan presentasi yang tinggi karena aplikasi client yang
dijalankan pada fat client jauh lebih fleksibel dan canggih, mereka
membutuhkan komputer yang lebih mahal dan antarmukanya tidak bisa
distandarkan. Anda bisa menyesuaikannya sesuai dengan kemampuan
perangkat kerasnya.
2.2.2 Model Tiga Tingkat
Model dua-tingkat adalah sebuah arsitektur komputer yang sangat
efisien untuk aplikasi database, tetapi selalu merupakan pilihan yang
terbaik. Sebagian besar programmer mengembangkan aplikasi dua-tingkat
yang dijalankan pada LAN kecil. Bentuk yang paling lengkap dari aplikasi
database adalah yang melibatkan tiga-tingkat.
Pada arsitektur dua-tingkat atau client-server, client berbicara langsung
kepada database server. Setiap aplikasi yang terhubung dengan ke DBMS
dan mengambil informasi, adalah aplikasi client-server. Peran database
22
server adalah mengakses dan mengupdate data. Semua hal lainnya
diserahkan kepada client. Dengan kata lain client bertanggung jawab
menampilkan data kepada user, mengirimkan input dari user,
mempersiapkan permintaan yang sesuai untuk database server, dan
akhirnya mengimplementasikan suatu hal yang disebut business rules.
Menurut Petroutsos (2000, p16), Business rules ialah prosedur yang khusus
digunakan oleh perusahaan tertentu. Sebagai contoh, sebuah perusahaan
mungkin memiliki aturan untuk menentukan batas kreditnya untuk para
pelanggannya. Aturan-aturan ini harus diterjemahkan ke dalam program
yang akan dijalankan pada client.
Aturan bisnis ini sering berubah, sesuai dengan praktik bisnis di dunia
nyata. Aturan-aturan baru diperkenalkan, aturan yang sudah ada diubah,
artinya bahwa program yang mengimplementasikan aturan tersebut juga
harus sering diganti. Jika itu terjadi maka diperlukannya pendistribusian
program baru ke workstation dan memastikan semua user pada network
menggunakan versi yang baru dari program client tersebut. Jika aturan
bisnis diterapkan pada sever maka tidak terdapat masalah dalam
pendistribusian kembali aplikasi, tetapi ini akan menambahkan beban ke
server.
Masalah di atas telah memunculkan sebuah tingkat ketiga yang disebut
dengan middle tier. Tingkat menengah ini merupakan sebuah objek yang
berada diantara aplikasi client dan server. Ia merupakan suatu class yang
memiliki beberapa metode dan mengisolasi client dari server. Jika banyak
client perlu melakukan perhitungan tersebut pada middle tier. Aplikasi
23
client bisa memanggil metode objek yang berada pada middle tier dan
mendapatkan hasilnya.
Keuntungan utama dari middle tier adalah middle tier mengisolasi
client dari server. Client tidak lagi mengakses database, tetapi memanggil
metode yang dimiliki oleh objek-objek pada middle tier.
Menurut Petroutsos (2000, p19), Model tiga tingkat memecahkan
komponen-komponen aplikasi ke dalam tiga kategori atau lapisan, yaitu :
a. Presentation tier
Lapisan ini berjalan pada client dan berinteraksi dengan user, tugasnya
terutama menampilkan informasi kepada user.
b. Application layer
Lapisan ini juga dikenal sebagai lapisan bisnis, lapisan ini mengandung
logika dari aplikasi. Ia menyederhanakan akses client ke dalam
database dengan mengisolasi pelayanan user dari database.
c. Data layer
Lapisan ini adalah database server, yang melayani permintaan yang
dibuat oleh client. Permintaan ini biasanya berupa query.
2.3 Business Model
Business model adalah sebuah alat bantu konseptual yang didalamnya terdapat
kumpulan objek, konsep, dan relasinya dengan tujuan yang ingin dicapai untuk
menjelaskan logika bisnis suatu firma. Oleh karena itu haruslah dipertimbangkan
konsep dan relasi yang mana yang menyederhanakan gambaran dan representasi
24
akan apa yang akan diberikan kepada pelanggan, bagaimana cara melakukannya
dan apa risiko finansialnya. (http://www.wikipedia.org)
2.4 Intranet
2.4.1 Pengertian Intranet
Intranet adalah penggunaan internet untuk komunikasi di dalam
perusahaan serta antara perusahaan dan organisasi dan perorangan yang
berbisnis dengannya. (McLeod, 2001, p293)
Intranet (internal network) adalah jaringan komputer dalam perusahaan
yang menggunakan komunikasi data standar seperti dalam internet (Kho
Yau Tung, 1997, p4). Artinya dapat menggunakan semua fasilitas internet
untuk kebutuhan dalam perusahaan. Standar protokol TCP/IP
memungkinkan protokol jaringan untuk berkomunikasi, menerima dan
mengirimkan data ke terminal yang lain.
Secara umum teknologi yang digunakan antara internet dan intranet
dilihat dari perspektif jangkauan dan lingkup penggunaannya.
• Lingkup akses dan jangkauan.
• Cara teknologi yang digunakan untuk berkomunikasi.
• Tujuan dari terselenggaranya komunikasi.
2.4.2 Kebutuhan Intranet dalam Organisasi Bisnis
Kebutuhan intranet dalam organisasi bisnis dapat dilihat dari
penyampaian informasi. Intranet dapat dianggap sebagai suatu media
25
informasi yang lebih efektif dibanding media lainnya. Kebutuhan intranet
didorong tekanan teknologi, antara lain oleh:
• Intranet menjadi alat bantu untuk meningkatkan perkembangan dan
pertumbuhan produk industri. Organisasi bisnis, bersamaan dengan
desakan kebutuhan informasi.
• Intranet lebih meningkatkan tanggapan atas keluhan dan kebutuhan
pelanggan. Tanggapan ini juga merupakan layanan kepada pelanggan
yang memungkinkan untuk lebih merangkul pelanggan dengan baik.
Pelayanan produsen atas tanggapan pelanggan salah satunya adalah
dalam pelayanan purna jual yang lebih baik.
• Intranet mampu untuk menurunkan biaya atas kebutuhan informasi
kolaborasi, workflow, dan enterprise connectivity.
2.4.3 World Wide Web (WWW)
WWW adalah layanan yang paling sering digunakan dan memiliki
perkembangan yang sangat cepat karena dengan layanan ini kita bisa
menerima informasi dalam berbagai format (multimedia). Untuk
mengakses layanan WWW dari sebuah komputer (yang disebut WWW
server atau web server) digunakan program web client yang disebut web
browser atau browser saja. (http://www.sabda.org)
Informasi-informasi yang terdapat di WWW dikemas dalam bentuk
halaman-halaman web (web page). Sekumpulan halaman web milik
seseorang atau suatu perusahaan dikumpulkan dan diletakkan dalam sebuah
situs web (web site), sedangkan homepage adalah istilah untuk
26
menyebutkan halaman-halaman pertama yang akan muncul jika suatu situs
web diakses. Setiap halaman dan situs dalam WWW memiliki alamat yang
unik dan khas yang disebut sebagai URL (Universal Resource Locator).
URL mempunyai bentuk dasar :
Protokol://hostname/[path/[filename]]
Contoh URL salah satu situs web :
http://www.yahoo.com
2.4.4 Protocol
Protokol adalah suatu petunjuk yang menunjukkan pekerjaan yang akan
dilakukan dengan internet. Contohnya seperti mengakses web, melakukan
transfer file, mencari informasi, dan sebagainya. (Agung, 2001, p4)
2.4.4.1 Hypertext Transfer Protocol (HTTP)
Salah satu protokol yang sering digunakan adalah HTTP.
Protokol ini digunakan untuk berkomunikasi antara web browser
dan web server satu sama lain (client-server). HTTP ini berguna
ketika akan mengakses suatu website tertentu. HTTP juga
memiliki tugas untuk memindahkan dokumen berupa hypertext
yang dalam pelaksanaannya lebih dikenal dengan sebutan HTML.
Dengan demikian HTTP akan memindahkan HTML ke browser
dari server tempat HTML tersebut disimpan. (Agung, 2001, p4)
2.4.4.2 File Transfer Protocol (FTP)
FTP adalah protokol yang digunakan untuk melakukan
transfer file dari server di internet (biasanya download). FTP ini
juga bisa digunakan sebaliknya untuk mengirim file ke web server
27
di internet. Kebanyakan web browser memiliki fasilitas untuk
FTP ini, tetapi tidak menutup kemungkinan jika ingin melakukan
transfer file melalui software-software FTP seperti CuteFTP, dan
lainnya. (Agung, 2001, p5)
Jika ingin mengirim file ke server (upload), misalnya untuk
membuat homepage menggunakan software-software FTP seperti
CuteFTP. Namun, jika ingin mendapatkan file dari server
(download) dapat dilakukan dengan 2 cara yaitu mengklik objek
yang akan didownload lalu pilih ”Save As” atau yang sejenis, dan
cara kedua yaitu menggunakan software download.
2.4.5 Hypertext Markup Language (HTML)
Halaman web adalah sebuah dokumen HTML, artinya untuk menulis
sebuah halaman web digunakan HTML (Hypertext Markup Language),
yaitu sebuah bahasa yang menggunakan tanda-tanda tertentu (disebut
sebagai tag) untuk menyatakan kode-kode yang harus ditafsirkan oleh
browser agar halaman tersebut dapat ditampilkan secara benar. HTML
terdiri dari tag-tag yang mempunyai fungsi dan kegunaan masing-masing.
Tag adalah kode yang berada di antara tanda ”<” dan ”>”. Bentuk umum
dari suatu tag adalah: <nama tag> teks</nama tag>. Tag-tag tersebut
ditulis secara berpasangan. Saat program browser menampilkan suatu
halaman web, browser tersebut akan mencari tag pembuka, kemudian
menampilkan teks dengan bentuk yang sesuai dengan definisi dari teks
tersebut dan kemudian mencari tag penutup sebagai batasannya. Tidak
28
semua tag harus ditulis berpasangan karena ada beberapa tag tertentu yang
hanya perlu ditulis tunggal saja.
Dokumen HTML sebenarnya hanya berupa dokumen teks biasa
(tujuannya agar dapat dengan mudah dipindahkan-pindahkan antar
berbagai platform), namun kelebihannya dari dokumen yang lain adalah
dengan HTML dapat dilakukan penformatan teks, peletakan gambar, suara,
dan elemen-elemen multimedia yang lain, dan yang terpenting adalah
hypertext berfungsi sebagai suatu penghubung (hyperlink atau link) antara
halaman web yang satu dengan halaman web yang lainnya. Link inilah yang
menjadi ciri khas dan sekaligus membentuk World Wide Web yaitu jaringan
halaman-halaman web yang saling terhubung satu sama lain.
Hypertext dalam HTML berarti bahwa user dapat menuju ke suatu
tempat, misal website atau halaman homepage halaman lain, dengan cara
memilih satu link yang biasanya digarisbawahi atau diwakili oleh suatu
gambar. Selain link ke website atau homepage halaman lain, hypertext ini
juga mengijinkan user untuk menuju ke salah satu bagian dalam satu teks
itu sendiri. Sedangkan markup language menunjukkan suatu fasilitas yang
berupa tanda tertentu dalam script HTML dimana user bisa mengatur judul,
garis, tabel, gambar, dan lain-lain dengan perintah khusus.
(http://www.sabda.org)
2.4.6 XML
XML merupakan sebuah ”markup language” seperti HTML yang
digunakan untuk menguraikan atau menjelaskan data-data namun XML
tidaklah sama dengan HTML dan perbedaan tersebut ialah:
29
a. XML digunakan untuk menjelaskan atau menggambarkan informasi
yang ada, sedangkan HTML digunakan untuk menampilkan informasi.
b. Tag pada HTML telah didefinisikan sebelumnya dan tidak dapat
berubah, sedangkan tag pada XML tidak didefinisikan melainkan
ditentukan oleh pembuatnya sendiri sehingga tiap orang dapat membuat
tag-tag yang berbeda.
Berdasarkan keterangan di atas maka dapat dikatakan bahwa XML
berupa file teks yang tidak tergantung pada hardware maupun software
tertentu sehingga XML dapat digunakan oleh banyak user yang berbeda
untuk mengakses data-data dengan hardware dan software yang berbeda.
Dan contoh dari XML adalah sebagai berikut:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>
2.4.7 Istilah-istilah dalam Intranet
• Browser : Sebutan untuk perangkat lunak (software) yang digunakan
untuk mengakses World Wide Web.
• Download : Istilah untuk kegiatan menyalin data (biasanya berupa file)
dari sebuah komputer yang terhubung dalam sebuah network ke
komputer lokal.
• Internet : Sejumlah besar network yang membentuk jaringan inter-
koneksi (Inter-connected network) yang terhubung melalui protokol
TCP/IP.
30
• Login : Pengenal untuk mengakses sebuah sistem yang tertutup, terdiri
dari username (juga disebut login name) dan password (kata kunci).
• Server : Komputer (umumnya besar) yang melayani permintaan
berbagai user.
• Upload : Kegiatan pengiriman data (berupa file) dari komputer lokal ke
komputer lainnya yang terhubung dalam sebuah network. Kebalikan
dari kegiatan ini disebut download.
• URL : Uniform Resource Locator. Sebuah alamat yang menunjuk ke
sebuah resource di internet atau intranet.
• Web server : Jaringan client server interaktif yang menggunakan
teknologi World Wide Web.
2.5 Rekayasa Perangkat Lunak (RPL)
2.5.1 Pengertian Perangkat Lunak
Menurut Roger S. Pressman (2002, p10) perangkat lunak mempunyai
definisi sebagai berikut:
Perintah (program komputer) yang bila dieksekusi memberikan fungsi
dan unjuk kerja seperti yang diinginkan.
Struktur data yang memungkinkan program memanipulasi informasi
secara proporsional.
Dokumen-dokumen yang menggambarkan operasi dan kegunaan
program.
31
Dengan kata lain perangkat lunak adalah program komputer, struktur
data dan dokumentasi yang menyediakan metode logika, prosedur atau
kontrol yang diinginkan.
Menurut Roger S. Pressman (2002, p28-29) rekayasa perangkat lunak
tersusun atas sekumpulan langkah-langkah yang menggabungkan proses,
metode dan alat bantu.
a. Proses
Proses merupakan perekat yang menjaga bentangan-bentangan
teknologi secara bersama-sama dan memungkinkan perkembangan
perangkat lunak komputer yang tepat waktu dan rasional.
b. Metode
Metode-metode rekayasa perangkat lunak memberikan teknik untuk
membangun perangkat lunak. Metode-metode itu menyangkut
serangkaian tugas yang luas yang menyangkut analisis kebutuhan,
konstruksi program, desain, pengujian, dan pemeliharaan. Rekayasa
perangkat lunak mengandalkan pada serangkaian prinsip dasar yang
mengatur setiap area teknologi dan menyangkut aktivitas permodelan
serta teknik-teknik deskriptif yang lain.
c. Alat bantu
Memberikan topangan yang otomatis ataupun semi-otomatis pada
proses-proses dan metode-metode yang ada. Ketika tool-tool
diintegrasikan sehingga informasi yang diciptakan oleh satu tool bisa
digunakan oleh yang lain, sistem untuk menopang perkembangan
32
perangkat lunak yang disebut Computer Aided Software Engineering
(CASE) telah dibangun.
2.5.2 Karakteristik Perangkat Lunak
Karakteristik pada perangkat lunak menurut Roger S. Pressman (2001,
p6-9) adalah sebagai berikut:
a. Perangkat lunak dikembangkan dan dirancang, bukan diproduksi seperti
pada pengertian klasik.
Akan tetapi terdapat kesamaan pengertian antara kedua istilah tersebut,
tetapi pada dasarnya sebenarnya berbeda, kualitas yang baik dapat
dicapai melalui desain yang baik. Tetapi pada saat memproduksi
perangkat keras dapat memunculkan masalah kualitas yang dapat
diperbaiki dengan mudah pada perangkat lunak.
b. Perangkat lunak tidak rusak.
Pada perangkat keras risiko kerusakan sangat tinggi karena bisa saja
muncul gangguan, misalnya karena adanya getaran, suhu yang tidak
sesuai, cara pemakaian yang salah dan lain sebagainya. Perangkat keras
yang rusak harus diganti. Berbeda dengan perangkat lunak karena pada
dasarnya perangkat lunak tidak pernah rusak. Tetapi perangkat lunak
bisa menurun kualitasnya.
c. Walaupun industri kebanyakan mengarah pada perakitan berbasiskan
komponen, namun perangkat lunak tetap dibuat menurut pesanan.
Perangkat lunak dibuat tidak berdasarkan perakitan komponen yang
sudah ada. Tidak seperti pada perangkat keras yang dibuat berdasarkan
33
rakitan dari komponen-komponen yang sudah ada, pada perangkat
lunak hal ini tidak bisa dilakukan.
2.5.3 Software Engineering Paradigm dan Waterfall Model
Software Engineering Paradigm seringkali disebut sebagai proses
model, dimana proses model untuk Software Engineering dipilih
berdasarkan sifat alamiah dari proyek dan aplikasi, metode, dan tool yang
digunakan, serta kontrol dan deliverable yang diperlukan. Software Process
Model merupakan strategi yang mencakup process, method, dan tool yang
digunakan untuk memecahkan permasalahan aktual, yang biasa dilakukan
oleh seorang software engineer atau team engineer. (Pressman, 2001, p26)
Seorang pelanggan biasanya mengalami suatu masalah dan dia
menginginkan agar masalah tersebut bisa diselesaikan dengan bantuan
suatu aplikasi. Oleh sebab itu, si pelanggan terutama yang mengerti Teknik
Informatika tentunya akan memberikan sejumlah requirement yang
mendasar, termasuk input, proses dan output yang diharapkan dari aplikasi
tersebut. Dalam situasi ini, waterfall model adalah pilihan terbaik.
(Pressman, 2001, p30)
Metode perancangan sistem yang digunakan dalam pembuatan sistem
helpdesk ini adalah The Classic Life Cycle atau yang sering disebut dengan
waterfall model (Pressman, 1997, pp31-32). Tahapan-tahapan yang
dilakukan waterfall model ini adalah :
1. Analisis dan Perancangan Sistem (Sistem Engineering and Analysis)
Perangkat lunak merupakan bagian dari suatu sistem yang lebih besar
sehingga langkah pertama yang harus dilakukan adalah menetapkan
34
kebutuhan untuk semua elemen sistem. Hal ini penting karena
perangkat lunak harus berinteraksi dengan elemen-elemen lainnya
seperti perangkat keras yang digunakan, pengguna, dan database.
2. Analisis Kebutuhan Perangkat Lunak (Software Requirement Analysis)
Proses pengumpulan kebutuhan dilakukan secara intensif dan terfokus,
khususnya pada perangkat lunaknya. Untuk mengerti sistem yang akan
dibangun, seorang pembuat sistem harus memahami informasi yang
dibutuhkan oleh perangkat lunak itu nantinya, fungsi-fungsi,
performace, dan interface yang akan digunakan.
3. Perancangan (Design)
Perancangan dipusatkan pada empat atribut program yaitu struktur data,
arsitektur perangkat lunak, perincian prosedur, dan karakteristik user
interfacenya. Proses perancangan ini menterjemahkan kebutuhan sistem
menjadi representasi perangkat lunak yang dapat diperkirakan
kualitasnya sebelum proses pengkodean dimulai. Hasil perancangan
kemudian didokumentasikan dan menjadi bagian dari konfigurasi
perangkat lunak.
4. Pengkodean (Coding)
Pada tahap ini rancangan sistem akan diimplementasikan ke dalam
bahasa mesin yang dapat dijalankan oleh komputer.
5. Pengujian (Testing)
Setelah proses pengkodean selesai, dilakukan pengujian sampai semua
perintah selesai diuji. Pengujian ini bertujuan untuk menemukan
35
kesalahan dan memastikan keluaran yang dihasilkan sesuai dengan apa
yang diharapkan.
6. Pemeliharaan (Maintenace)
Pada tahap ini pemeliharaan dengan mengadakan modifikasi atau
perubahan perangkat lunak setelah perangkat lunak tersebut diserahkan
kepada pemakai. Perubahan ini akan terjadi bila ditemukan adanya
kesalahan di dalam sistem, atau dikarenakan perubahan lingkungan
perangkat lunaknya, seperti perubahan perangkat keras atau sistem
operasi yang digunakan, atau untuk meningkatkan fungsi dan kinerja
dari perangkat lunak itu sendiri.
Gambar 2.1 Siklus Waterfall (Pressman, 1992, p25)
2.6 Object Oriented Paradigm
Object-Oriented Paradigm adalah pendekatan untuk mendapatkan solusi dari
masalah-masalah dimana semua perhitungan disajikan dalam konteks objek. Objek
Analisis dan Perancangan Sistem
Analisis Kebutuhan Piranti Lunak
Perancangan
Pengkodean
Pengujian
Pemeliharaan
36
merupakan instance dari konsep pemrograman, yang biasa disebut dengan class,
dimana terdapat data abstraksi dan mengandung prosedural abstraksi yang
mengoperasikan objek. (Lethbridge dan Laganiere, 2002, p29)
Kelebihan menggunakan paradigma Object-Oriented antara lain adalah adanya
kemampuan untuk reuse (dari komponen program) yang mengarah pada
pengembangan software secara cepat dan program berkualitas tinggi. Software
Object-Oriented menjadi lebih mudah dipelihara karena secara struktural tidak
menyatu. Hal ini menghasilkan efek samping dalam jumlah minim saat perubahan
harus dilakukan. Sebagai tambahan, sistem Object-Oriented mudah untuk
diadaptasi dan untuk diskala (misalnya sistem yang besar dapat dikreasi dengan
merangkai subsistem yang reusable). (Pressman, 2001, p542)
2.6.1 Karakteristik dari Object Oriented
Karakteristik utama dari Object-Oriented adalah:
1. Data Abstraction
Merupakan suatu ide untuk mengelompokkan berbagai hal di dalam
suatu class, sehingga dapat mengurangi kompleksitas dari sistem.
2. Encapsulation dan Information Hiding
Encapsulation berarti pemaketan data dan behaviour ke dalam suatu
objek. Information hiding berarti pemisahan aspek-aspek eksternal dari
objek, yang dapat diakses dari objek lainnya. Aspek-aspek internal dari
suatu objek, tidak dapat diakses (tersembunyi) dari objek lainnya.
3. Polymorphism dan Inheritance
Polymorphism adalah kemampuan menyembunyikan implementasi
yang berbeda di balik interface yang sama. Inheritance adalah
37
mekanisme untuk mendefinisikan suatu class yang didefinisikan dari
class yang sudah ada. (Britton dan Doake, 2001, p14)
2.6.2 Beberapa Konsep Tentang Object Oriented
Beberapa konsep tentang Object Oriented menurut Whiten et al. (2004,
pp431-440) adalah:
1. Object, sesuatu yang dapat dilihat, disentuh, atau dirasakan dan di
dalamnya tersimpan data dan behaviour.
2. Attribute, data yang merepresentasikan karakteristik dari objek.
3. Behaviour, sekumpulan hal yang bisa dilakukan oleh objek dan
berhubungan dengan fungsi yang ada pada data objek (atau attribute).
Behaviour dapat berupa method, operation, ataupun service.
4. Object instance, merupakan objek secara spesifik yang merujuk pada
suatu nilai tertentu dari atributnya.
5. Inheritance, suatu konsep dimana method dan/atau attribute
didefinisikan di dalam suatu objek class dan dapat diturunkan atau di-
reuse oleh objek dari class yang lain.
6. Generalization atau specialization, sebuah teknik dimana attribute dan
behaviour yang sama dimiliki oleh beberapa tipe dari objek class
dikelompokkan (atau diabstraksi) ke dalam masing-masing class
mereka, disebut juga dengan supertype. Attribute dan behaviour dari
objek supertype kemudian diturunkan oleh setiap objek class.
7. Supertype, sebuah entitas yang mengandung attribute dan behaviour
yang sama bagi satu atau lebih bagi class subtypes. Disebut juga dengan
parent class.
38
8. Subtype, sebuah objek class yang mewarisi attribute dan behaviour dari
supertype class dan kemudian class itu sendiri dapat memiliki attribute
dan behaviour sendiri yang unik.
9. Multiplicity, jumlah minimum dan maksimum dari hubungan yang
terjadi antar objek.
10. Aggregation, suatu hubungan dimana suatu class yang utuh (whole
class) mengandung satu atau lebih class-class yang merupakan bagian
dari whole class.
11. Composition, sebuah hubungan aggregation dimana whole class
bertanggungjawab penuh atas ada dan tiadanya part class. Jika whole
class tiada, maka part class pun juga ikut tiada.
12. Message, komunikasi yang terjadi saat sebuah objek meminta
behaviour yang dimilikinya untuk mendapatkan informasi atau aksi
lain.
13. Polymorphism, sebuah konsep tentang bagaimana objek-objek yang
berbeda dapat menanggapi suatu message yang sama dengan cara yang
berbeda.
14. Override, suatu kondisi dimana subclass (subtype) menggunakan
attribute atau behaviour dari diriya sendiri, daripada attribute atau
behaviour yang diturunkan dari superclass (supertype).
2.7 Object Oriented Analysis and Design (OOAD)
Object-Oriented Analysis (OOA) dimaksudkan untuk mendefinisikan semua
class yang relevan terhadap masalah yang akan dipecahkan, beserta operation dan
39
attribute yang berhubungan dengan mereka, hubungan diantara mereka, dan
behaviour yang mereka tunjukkan. Untuk melakukan semua ini, maka diperlukan:
1. User requirement mendasar haruslah dikomunikasikan diantara customer dan
software engineer.
2. Class harus diidentifikasikan (seperti identifikasi attribute dan method).
3. Hirarki class harus spesifik.
4. Hubungan antar objek (relationship) haruslah direpresentasikan.
5. Objek behaviour haruslah dimodelkan.
6. Tugas 1 sampai dengan 5 diterapkan secara iterative sampai modelnya selesai.
Tujuan dari OOA sendiri untuk mengembangkan satu model yang dapat
menggambarkan komputer software sebagai usaha untuk memenuhi kebutuhan
tertentu dari customer. (Pressman, 2001, p 572)
Dalam implementasinya, berbagai metodologi OOA untuk melakukan
perancangan yang muncul pada akhir 80-an dan awal 90-an. Meskipun secara
terminologi dan langkah-langkah yang diberikan oleh setiap metodologi tersebut
berbeda, secara umum proses-proses di dalam OOA cukup mirip satu sama
lainnya. Untuk menggambarkan suatu Object-Oriented Analysis, seorang software
engineer seharusnya melakukan beberapa langkah tersebut:
1. Mendapatkan customer requirement untuk sistem tersebut.
2. Identifikasi scenario atau use-cases.
3. Memilih class dan objek dengan menggunakan requirement yang ada sebagai
panduan.
4. Identifikasi attribute dan operation untuk setiap objek dari sistem.
5. Mendefinisikan struktur dan hirarki yang menggorganisasikan class.
40
6. Membangun model untuk object- relationships.
7. Membangun model untuk object-behaviour.
8. Melakukan review terhadap model yang dibuat terhadap use case atau
scenario. (Pressman, 2001, p575)
Salah satu metodologi OOA yang telah luas penggunaannya di dunia industri
adalah UML (Unified Modelling Language).
Setelah kita melakukan Object-Oriented Analysis, maka dapat dilakukan
Object-Oriented Design yang bertujuan untuk mendesain model yang telah
dikembangkan yang berfungsi sebagai cetak biru untuk membangun software.
(Pressman, 2001, p603)
2.8 Unified Modelling Language (UML)
2.8.1 Pengertian UML
UML merupakan sekumpulan konvensi tentang pemodelan yang
digunakan untuk menspesifikasi atau menggambarkan sistem software di
dalam hal-hal tentang objek. (Whitten et al., 2004, p430)
UML terdiri dari sejumlah elemen-elemen grafikal yang digunakan
untuk membentuk diagram-diagram. Tujuan dari diagram-diagram ini
adalah untuk merepresentasikan berbagai pandangan terhadap sistem, dan
sekumpulan pandangan ini yang disebut dengan model. Model dari UML
berfungsi untuk menggambarkan apa yang dilakukan oleh sistem, tetapi
tidak menggambarkan tentang bagaimana untuk mengimplementasikan
sistem tersebut. (Schmuller, 1999, p8)
41
2.8.2 Sejarah UML
UML merupakan hasil pemikiran dari Grady Booch, James Rumbaugh,
dan Ivar Jacobson. Belakangan sering dijuluki “Three Amigos”, mereka
bekerja di organsisasi terpisah pada era 80-an dan awal 90-an, yang
masing-masing merancang metodologinya sendiri untuk melakukan analisis
dan desain yang berorientasi objek. Metodologi mereka mencapai
keunggulan diantara kompetitor mereka. Pada pertengahan 90-an, saat
mereka mulai untuk saling membawakan ide-ide mereka satu sama lain,
mereka pun memutuskan untuk mengembangkan pekerjaan mereka secara
bersama-sama.
Pada tahun 1994, Rumbaugh masuk ke dalam Rational Software
Corporation, dimana Booch telah bekerja di sana. Setahun kemudian,
Jacobson masuk.
Seperti yang mereka katakan, pada akhirnya adalah sebuah sejarah.
Versi draft dari UML mulai beredar di dalam industri software dan umpan
balik yang ada menghasilkan perubahan-perubahan yang substansial.
Sebagaimana perusahaan-perusahaan banyak merasakan bahwa UML dapat
menjalankan tujuan-tujuan strategis mereka, sebuah konsorsium UML pun
dibangun. Anggota-anggota dari konsorsium ini termasuk DEC, Hewlett-
Packard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational, dan
yang lainnya. Pada tahun 1997, konsorsium itu mengeluarkan versi 1.0 dari
UML dan dikoordinasikan kepada Object Management Group (OMG)
sebagai tanggapan dari permintaan OMG untuk proposal dari bahasa
pemodelan standar.
42
Konsorsium pun semakin berkembang, dan mengeluarkan versi 1.1
yang kemudian diadopsi OMG di tahun 1997. OMG pun terus
mengembangkan UML dan menghasilkan revisi yang lebih banyak di tahun
selanjutnya. UML kini telah menjadi standar secara de facto di dunia
industri software dan akan terus-menerus berkembang. (Whitten et al,
2004, pp430)
2.8.3 Diagram-diagram UML
2.8.3.1 Use Case Diagram
Use case merupakan salah satu tool yang paling penting dalam
pengumpulan requirement, perencanaan, dan pengendalian
proyek. Kebanyakan dari use case akan ditemukan pada saat
perencanaan proyek, tetapi selebihnya akan ditemukan pada saat
pengerjaan proyek. Use case dinilai perlu untuk digunakan karena
use case merupakan gambaran eksternal mengenai apa yang
mampu dikerjakan oleh sistem atau aplikasi yang kita buat. Hal
ini akan menguntungkan dalam mengkomunikasikannya kepada
pengguna terutama yang tidak mengerti hal teknis. (Martin
Fowler, 2002, pp46)
Unsur-unsur pokok dari use case diagram antara lain:
1. Actor
Actor merupakan segala sesuatu yang dibutuhkan dalam
berinteraksi dengan sistem untuk pertukaran informasi. Dalam
hal ini, actor tidak harus selalu berupa manusia. Actor dapat
43
berupa suatu organisasi, sistem informasi lainnya, external
device seperti sensor panas, atau bahkan konsep waktu.
2. Use Case
Use case merupakan hasil dari dekomposisi dari ruang
lingkup fungsionalitas sistem ke dalam bentuk yang lebih
kecil. Use case merepresentasikan tujuan tunggal dari sistem
dan menggambarkan sekumpulan aktivitas dan interaksi user
dalam upaya untuk mencapai tujuan tersebut. Use case adalah
sekumpulan langkah-langkah (skenario) yang saling
terhubung, baik secara otomatis maupun manual, yang
bertujuan untuk menyelesaikan suatu proses bisnis.
Gambar 2.2 Actor dan use case pada use case diagram
3. Hubungan antar Use case
Ada beberapa hubungan antara use case, antara lain adalah:
a. Uses
Hubungan uses (sering juga disebut includes)
digambarkan dari suatu use case X ke suatu use case Y
yang mengindikasikan bahwa proses untuk melakukan X
selalu melibatkan Y, paling sedikit sekali. Singkatnya, bisa
44
dikatakan bahwa menggunakan uses dalam bentuk X uses
Y berarti X has a Y (proses X mengandung proses Y yang
harus dikerjakan) sebagai bagian dari proses X.
Gambar 2.3 Contoh uses
b. Extends
Hubungan extends digambarkan dengan use case X ke use
case Y yang mengindikasikan bahwa proses X merupakan
case dengan behaviour spesial dari proses yang lebih
umum dari use case Y. Extends dapat digunakan dalam
situasi dimana sistem yang ada memiliki use case (proses)
dimana ia memiliki beberapa sub proses yang memiliki
kesamaan, tetapi setiap subproses memiliki sesuatu yang
berbeda yang tidak memungkinkan untuk
mengelompokkan mereka di dalam use case yang sama.
(Whitten, et al., 2004, pp272-273; http://
www.andrew.cmu.edu/ course/90-754/umlucdfaq.html)
X
Y
«uses»
45
Gambar 2.4 Contoh extends
2.8.3.2 Class Diagram
Class diagram menggambarkan data yang ada di dalam sistem
software. Class diagram merupakan dasar dari hampir seluruh
metode Object Oriented. Oleh sebab itu, sudut pandang dari class
diagram ini menjadi begitu luas dan terkadang ini menjadi
masalah kita penggunaannya menjadi berlebihan. Class diagram
ini cocok untuk digunakan untuk menggambarkan conceptual
model jika sudut pandang penggunaannya adalah analisis suatu
proses bisnis dan untuk menggambarkan spesification model, dan
jika sudut pandang penggunaannya adalah bekerja dengan suatu
software. (Martin Fowler, 2002, pp64)
Berbagai simbol penting yang hadir di dalam class diagram
antara lain adalah:
1. Class, yang berfungsi untuk merepresentasikan tipe dari data
yang dimilikinya. Class diagram dapat ditampilkan dengan
menunjukkan atribut dan operasi yang dimilikinya, atau hanya
X
Y
«extends»
46
menunjukkan nama class-nya saja. Dapat juga kita tuliskan
nama class dengan atributnya saja atau nama class dengan
operasinya.
Gambar 2.5 Beberapa bentuk penyajian class diagram
2. Attribute, merupakan data yang terdapat di dalam class dan
instancenya.
3. Operation, yang berfungsi untuk merepresentasikan fungsi-
fungsi yang ditampilkan oleh class dan instancenya.
4. Association, digunakan untuk menunjukkan bagaimana dua
class berhubungan satu sama lainnya. Association ditunjukkan
dengan sebuah garis yang terletak di antara dua class. Di
dalam setiap association terdapat multiplicity, yaitu simbol
yang mengindikasikan berapa banyak instance dari class pada
ujung association yang satu dengan instance class di ujung
association yang lainnya.
Rectangle Rectangle
width
height
Rectangle
getArea
resize
Rectangle
getArea
resize
width
height
47
Gambar 2.6 Contoh hubungan antar class dengan
berbagai jenis multiplicity
5. Generalizations, yang berfungsi untuk mengelompokkan class
ke dalam hirarki inheritance.
Gambar 2.7 Contoh generalization
Dalam gambar ini ditunjukkan bahwa class Account
mewariskan data dan behaviour-nya ke tiga class di
bawahnya.
48
6. Aggregation, merupakan bentuk khusus dari association yang
merepresentasikan hubungan ‘part-whole’. Bagian ‘whole’
dari hubungan ini sering disebut dengan assembly atau
aggregate. Class yang satu dapat dikatakan merupakan bagian
dari class yang lain yang ikut membentuk class tersebut.
Gambar 2.8 Hubungan aggregation di antara dua class
7. Composition, merupakan jenis aggregation yang lebih kuat di
antara dua class yang memiliki association dimana jika whole
ditiadakan, maka partnya juga ikut ditiadakan. Berbeda
dengan aggregation, part akan tetap bisa berdiri sendiri
meskipun bagian wholenya ditiadakan. (Letbridge dan
Laganiere, 2002, pp37, pp154-170)
Gambar 2.9 Hubungan composition di antara dua class
2.8.3.3 Sequence Diagram
Sequence diagram menggambarkan serangkaian pesan yang
mengalami pertukaran yang dilakukan oleh objek (dapat juga
berupa actor) yang melakukan tugas tertentu. Sequence diagram
49
antara lain tersusun atas sekumpulan objek-objek yang akan
dipergunakan untuk interaksi, activation box (suatu kotak yang
menyatakan lifeline (daur hidup) dari suatu tugas yang sedang
dilakukan. Pesan yang dikirimkan dimulai dari suatu actor atau
objek, dan kita dapat memberikan label pada pesan yang
dilakukan. (Lethbridge dan Laganiere, 2002, pp270-271)
Menggambarkan hubungan antar objek sesuai dengan urutan
kejadiannya. Sequence diagram memudahkan developer untuk
melihat kapan suatu objek mulai dan berakhir.
Dalam hal penggunaannya, sequence diagram baik digunakan
untuk memperlihatkan dengan jelas bagaimana urutan kejadian
suatu proses karena didalamnya terlihat interaksi dari beberapa
objek. (Martin Fowler, 2002, pp75)
Gambar 2.10 Contoh sequence diagram
50
2.8.3.4 Activity Diagram
Activity diagram digunakan untuk memahami proses kerja
yang dilakukan oleh objek maupun komponennya. Dapat juga
digunakan untuk memvisualisasikan interaksi diantara use case
yang berbeda.
Transisi yang terjadi di dalam activity diagram sebagian besar
disebabkan oleh internal events, seperti selesainya suatu activity
yang dijalankan.
Salah satu kekuatan dari activity diagram adalah melakukan
representasi dari concurrent activities atau activities yang
dilakukan secara bersama-sama.
Activity diagram memiliki kemiripan dengan state chart
diagram, kecuali activity diagram memiliki beberapa simbol
tambahan seperti yang digunakan untuk menggambarkan
concurrency. Concurrency dapat digambarkan dengan
menggunakan fork, join, dan rendezvous, yang direpresentasikan
dengan garis-garis pendek, yang menunjukkan transisi-transisi
mana yang dapat dimulai dan diakhiri.
1. Start state, yang berupa lingkaran hitam, berfungsi saat sistem
atau objek memulai prosesnya. Dari start state, akan
memunculkan transisi tak berlabel yang langsung mengarah
pada state lain yang ditunjuknya. Di dalam setiap state chart
diagram hanya terdapat satu start state.
51
2. End state, berupa lingkaran hitam yang dikelillingi lingkaran
yang lebih besar yang berwarna putih. End state menandakan
sistem atau objek telah menyelesaikan proses kerjanya. End
state dapat berjumlah lebih dari satu.
3. Fork, memiliki satu transisi yang masuk dan banyak transisi
yang keluar.
4. Join, memiliki banyak transisi yang masuk dan satu transisi
keluar. Transisi keluar akan dijalankan setelah semua transisi
yang masuk telah dijalankan.
5. Rendezvous, memiliki banyak transisi yang masuk dan banyak
transisi yang keluar. Saat semua transisi yang masuk
dijalankan, sistem akan menjalankan semua transisi yang
keluar pada masing-masing bagian. (Lethbridge dan
Laganiere, 2002, pp276-277)
Activity diagram sering diasosiasikan dengan beberapa class.
Partisi dari activities diantara class-class tersebut secara eksplisit
digambarkan dengan kotak berkolom yang disebut dengan
swimlanes. (Lethbridge dan Laganiere, 2002, pp284-285)
Activity diagram digunakan untuk menunjukkan urutan
kegiatan dari beberapa objek dan use case. Kelebihan utama dari
activity diagram adalah karena activity diagram mendukung
parallel behavior (kejadian yang terjadi bersamaan). Sedangkan
kekurangan utama dari activity diagram ialah tidak tergambarnya
hubungan antara actions(tindakan) dan objek secara jelas.
52
Activity diagram biasanya digunakan dalam situasi-situasi
berikut:
1. Menganalisis use case.
2. Memahami workflow (alur kerja).
3. Menjelaskan algoritma sequential yang rumit.
4. Menjelaskan aplikasi yang multithreading.
Activity diagram tidak digunakan dalam situasi-situasi :
1. Mencoba untuk melihat bagaimana objek-objek bekerjasama.
2. Mencoba melihat bagaimana suatu objek bertindak semasa
hidup dari objek tersebut.
3. Merepresentasikan complex conditional logic.
(Martin Fowler,2002, p136-139)
Gambar 2.11 Contoh activity diagram
Receive courseregistration request
Checkprerequisites Verify
course notfull
CheckSpecial
Permission
CompleteRegistration
[not OK]
[OK]
[not OK]
[not OK]
[OK]
[OK]
53
2.9 Interaksi Manusia dan Komputer (IMK)
Menurut definisi dari ACM SIGCHI (http://sigchi.org/cdg/cdg2.html),
Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction (HCI)
adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan
implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi
fenomena-fenomena besar yang berhubungan dengannya.
Antarmuka merupakan unsur pokok dalam setiap pengembangan sistem yang
ada. Oleh karena itu, penting untuk mengetahui faktor-faktor apa saja yang
menentukan dalam merancang suatu antarmuka.
Menurut Sneiderman (1998, p15), ada lima faktor manusia terukur yang dapat
dijadikan sebagai pusat evaluasi, yaitu:
1. Waktu belajar, berapa lama waktu yang dibutuhkan oleh user untuk
mempelajari cara relevan untuk melakukan suatu tugas?
2. Kecepatan kinerja, berapa lama waktu yang diperlukan untuk mengerjakan
suatu tugas?
3. Tingkat kesalahan, berapa banyak kesalahan dan kesalahan-kesalahan seperti
apa yang bisa terjadi saat user mengerjakan tugas-tugas tersebut?
4. Daya ingat, bagaimana kemampuan pemakai mempertahankan pengetahuannya
setelah jangka waktu tertentu?
5. Kepuasan subjektif, bagaimana kepuasan user terhadap berbagai aspek dari
sistem?
Selain itu, menurut Sneiderman (1998, p74-75), disebutkan pula bahwa ada
delapan aturan emas yang digunakan dalam merancang antarmuka, yaitu:
54
1. Berusaha untuk konsisten, seperti dalam penggunaan warna, layout, jenis huruf
yang konsisten.
2. Memungkinkan frekuensi user menggunakan shortcut, karena dengan adanya
shortcut dapat meningkatkan interaksi dengann user.
3. Memberikan umpan balik yang informatif yang memberikan kejelasan dari
setiap aksi yang dilakukan oleh user.
4. Merancang dialog yang memberikan penutupan (keadaan akhir).
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana.
6. Memungkinkan pembalikan aksi yang sederhana (bersifat reversible).
7. Mendukung pusat kendali internal, dimana sistem hendaknya mampu membuat
user sebagai bagian dari sistem itu sendiri dan memiliki kebebasan tersendiri.
8. Mengurangi beban ingatan jangka pendek dimana user hendaknya mudah
dalam menjelajahi situs dengan petunjuk-petunjuk yang sederhana dan mudah
diingat.
Sepuluh kesalahan utama (top ten mistakes) desain web (Jakob Nielsen, 1996):
a. Penggunaan frame.
b. Penggunaan teknologi baru dengan serampangan.
c. Gerakan teks dan animasi yang berjalan terus.
d. URL yang kompleks.
e. Halaman yatim.
f. Halaman yang terlalu panjang gulungannya. Isi terpenting dan navigasi harus
tampak di bagian atas.
g. Kurangnya dukungan navigasi.
55
h. Warna link yang tidak standar.
i. Informasi yang basi.
j. Waktu download yang terlalu lama. Pemakai kehilangan minat dalam 10-15
detik.
(http://www.useit.com/alertbox/9605a.html)
Sepuluh pedoman terpenting (top ten guidelines) usability homepage (Jakob
Nielsen, 2002):
a. Buat maksud homepage jelas: Siapa Anda dan apa yang Anda lakukan.
• Sertakan tagline satu kalimat.
• Tulis judul window dengan ketertampakan yang baik pada search engine
dan bookmark.
• Kelompokkan informasi perusahaan dalam tempat yang dapat dibedakan.
b. Bantu pemakai menemukan yang dibutuhkan.
• Tegaskan tugas prioritas tertinggi situs.
• Sertakan kotak input pencarian.
c. Singkapkan isi situs.
• Tampilkan contoh isi situs.
• Awali nama link dengan kata kunci terpenting.
• Tawarkan akses yang mudah untuk fitur homepage terbaru.
d. Gunakan desain visual untuk meningkatkan desain interaksi bukan
mendefinisikan.
• Jangan memformat isi kritis secara berlebihan, misalnya area navigasi.
56
• Gunakan gambar yang berarti.
(http://www.useit.com/alertbox/20020512.html)
2.10 Basis Data
2.10.1 Pengertian Basis Data
Basis Data adalah sekumpulan data-data yang dapat digunakan secara
bersama-sama yang berhubungan secara logika, dan deskripsi dari data
tersebut dirancang untuk mendapatkan informasi yang dibutuhkan oleh
organisasi. (Connolly dan Begg, 2002, p14)
2.10.2 Tujuan Basis Data
Prinsip utama dalam database adalah pengaturan data dengan tujuan
utama fleksibilitas dan kecepatan dalam pengambilan data kembali. Tujuan
dari database antara lain:
• Efisiensi meliputi speed, space dan accurancy.
• Menangani data dalam jumlah besar.
• Kebersamaan pemakaian (sharebility).
• Meniadakan duplikasi dan inkonsistensi data.
Perangkat untuk menjaga abstraksi data dikenal dengan sebutan data
model. Data model merupakan kumpulan konsep yang dapat digunakan
untuk menggambar struktur data. Struktur database meliputi tipe data,
relationship, dan beberapa syarat yang harus dipenuhi oleh database.
Kegunaan utama sistem database adalah agar pemakai mampu
menyusun suatu pandangan abstraksi dari data. Bayangan mengenai data
57
tidak lagi memperhatikan kondisi sesungguhnya bagaimana satu data
masuk ke database disimpan dalam sektor mana, tetapi menyangkut secara
menyeluruh bagaimana data tersebut dapat diabstraksikan mengenai
kondisi yang dihadapi oleh pemakai sehari-hari. Sistem yang
sesungguhnya, tentang teknis bagaimana data disimpan dan dipelihara
seakan-akan disembunyikan kerumitannya dan kemudian diungkapkan
dalam bahasa dan gambar yang mudah dimengerti dan dipahami oleh orang
awam.
2.10.3 Ketentuan Basis Data
Beberapa ketentuan yang harus diperhatikan dalam pembuatan file
database agar dapat memenuhi kriteria sebagai suatu database, yaitu:
1. Redudansi dan inkonsistensi data : Penyimpanan data yang sama di
beberapa tempat disebut redudansi, hal ini menyebabkan pemborosan
dan menimbulkan inkonsistensi data (data tidak konsisten) karena bila
terjadi perubahan terhadap data maka data harus diubah dibeberapa
tempat, hal ini tentunya tidak efisien.
2. Pengaksesan data : Data dalam database harus siap diakses oleh siapa
saja yang membutuhkan dan mempunyai hak untuk mengaksesnya.
Oleh karena itu perlu dibuat suatu program pengelolaan atau suatu
aplikasi untuk mengakses data yang dikenal sebagai DBMS.
3. Data terisolasi untuk standarisasi : Jika data tersebar dalam beberapa
file dalam bentuk format yang tidak sama, maka akan menyulitkan
dalam menulis program aplikasi untuk mengambil dan menyimpan
58
data, oleh karena itu data dalam satu database harus dibuat satu format
sehingga mudah dibuat program aplikasinya.
4. Masalah keamanan (security) : Tidak setiap pemakai sistem database
diperbolehkan untuk mengakses semua data, misalnya data mengenai
gaji pegawai hanya boleh dibuka oleh bagian keuangan dan personalia,
sedang bagian gudang tidak diperkenankan untuk membukanya.
Keamanan dapat diatur dan disesuaikan baik ditingkat database atau
aplikasinya.
5. Masalah integritas (integrity) : database berisi file yang saling
berhubungan, masalah utama adalah bagaimana kaitan antar file
tersebut terjadi meski diketahui bahwa file A terkait dengan file B,
namun secara teknis ada field yang mengaitkan kedua file tersebut oleh
karena itu field kunci tidak dapat diabaikan dalam merancang suatu
database.
6. Multiple user : Salah satu alasan database dibangun adalah karena
nantinya data tersebut digunakan oleh banyak orang, baik dalam waktu
berbeda maupun bersamaan sehingga kebutuhan akan database handal
yang mendukung banyak pemakai perlu dipertimbangkan.
7. Data Independence (kebebasan data) : Pada aplikasi yang dibuat
dengan bahasa pemrograman seperti BASIC. Misalnya, apabila
program telah selesai dibuat dan ternyata terjadi perubahan terhadap
struktur file maka program tersebut harus diubah, ini artinya program
tersebut tidak bebas terjadi pada struktur file, setiap kali hendak melihat
data cukup dengan utility LIST. Ini artinya perintah DBMS bebas
59
terhadap database karena apapun perubahan terhadap database, semua
perintah akan stabil tanpa ada yang perlu diubah.
(http://kamii.yogyakarta.tripod.com/tools.htm)
2.10.4 Komponen Basis Data
Komponen sistem database:
a. Data:
Data harus bersifat share dan integrated.
b. Hardware:
a. Secondary storage volumes.
b. I/O devices.
c. Device Controllers.
d. I/O Channel.
e. Database machines.
c. Software: Menyediakan fasilitas creating files, inserting data,
retrieving data, deleting data, security control, integrity control,
recovery control, concurrency control, dan lain-lain.
d. Users: Terdiri dari Database Administrator, Programmer Application,
dan End-User.
2.10.5 Database Management System (DBMS)
DBMS (Database Management System) adalah suatu sistem perangkat
lunak yang memungkinkan pengguna untuk mendefinisikan, menciptakan,
memelihara dan mengontrol akses ke database. (Connolly dan Begg, 2002,
p16)
60
2.10.6 Normalisasi
Normalisasi merupakan suatu teknik yang digunakan untuk
menghasilkan sekumpulan relasi dengan properties yang diinginkan dari
data-data yang ada. Normalisasi juga merupakan teknik formal untuk
menganalisis relasi berdasarkan primary key (atau candidate key) dan
functional dependencies. Normalisasi sering dipergunakan untuk
melakukan percobaan terhadap suatu relasi untuk menentukan apakah relasi
tersebut memenuhi atau tidak memenuhi persyaratan dari bentuk normal.
Untuk melakukan normalisasi, maka dibutuhkan sebuah tabel yang berada
dalam bentuk UNF (Unnormalized form), yaitu sebuah tabel yang
mengandung satu atau lebih repeating groups (sekelompok nilai yang
berulang yang menimbulkan redudansi pada data).
Proses-proses normalisasi adalah sebagai berikut:
1. First Normal Form (1NF)
Menghasilkan suatu relasi dimana interseksi dari setiap baris dan kolom
mengandung satu dan hanya satu nilai. Untuk itu, di dalam 1NF,
dihilangkan repeating groups yang ada, salah satunya dengan cara
memasukkan data yang tepat di dalam kolom yang kosong dari baris-
baris yang mengandung repeating data. Hasilnya adalah relasi satu-satu
diantara atribut yang satu dengan yang lain.
2. Second Normal Form (2NF)
Menghasilkan suatu relasi yang telah memenuhi 1NF dan setiap atribut
dari non-primary-key bersifat fully functionally dependent terhadap
candidate key. Fully functionally dependent merupakan suatu istilah
61
bahwa kelompok atribut yang satu harus tergantung secara penuh
terhadap kelompok atribut lainnya (bukan subsetnya saja). Fully
functionally dependent di sini juga berarti setiap hubungan yang hanya
bersifat partially dependent atau bergantung sebagian terhadap key
yang lain, harus dihilangkan.
3. Third Normal Form (3NF)
Menghasilkan sebuah relasi yang telah memenuhi 1NF dan 2NF dan
tidak ada satu pun atribut dari non-primary-key yang bersifat
transitively dependent terhadap candidate key. Transitively dependent
berarti menghilangkan atribut yang tidak tergantung pada primary key,
melainkan tergantung pada atribut lainnya. (Connolly dan Begg, 2002,
pp376-396)
2.10.7 Entity Relationship Diagram (ERD)
Menurut Whitten, Bentley, dan Dittman (2004, pp295-307), entity
relationship diagram adalah pemodelan data yang menggunakan beberapa
notasi untuk menggambarkan data yang berhubungan dengan entity dan
relationship yang dideskripsikan oleh data tersebut.
Ada beberapa konsep dasar bagi setiap model data :
1. Entity
Entity adalah sebuah class dari orang, tempat, objek, kejadian, atau
konsep mengenai apa yang diperlukan untuk mengambil dan
menyimpan data. Entity dilambangkan dengan sebuah lambang persegi
dengan sudut agak melengkung.
62
Beberapa kategori dari entity adalah sebagai berikut :
a. Orang : Vendor, pelanggan, karyawan, dan lain-lain.
b. Tempat : Ruangan, kantor cabang, gedung, dan lain-lain.
c. Objek : Produk, mesin, bahan dasar, dan lain-lain.
d. Kejadian : Invoice, pemesanan, penjualan, dan lain-lain.
e. Konsep : Stok, dana, account, kualifikasi, dan lain-lain.
2. Atribut (Attributte)
Yang dimaksud dengan attribute adalah karakteristik dari entity.
Nilai dari tiap atribut didefinisikan kedalam tiga properti yaitu :
• Tipe data : properti dari atribut yang mengidentifikasikan tipe data
yang dapat disimpan ke dalam atribut.
• Domain : properti dari atribut yang mendefinisikan nilai apa yang
boleh diambil oleh suatu atribut.
• Default value : suatu nilai yang akan disimpan apabila nilai tidak
dispesifikasikan oleh user.
3. Identifikasi (Identification)
Dengan banyaknya instance yang dimiliki oleh suatu entity maka
diperlukan suatu key yang unik untuk menngidentifikasikan setiap
instance berdasarkan data dari atribut. Yang dimaksud dengan key
adalah suatu atribut atau sekumpulan atribut yang mengasumsikan nilai
yang unik dari setiap bagian dari entity dan seringkali disebut identifier.
Candidate key adalah salah satu key yang memiliki kemungkinan
untuk dijadikan primary key. Primary key adalah candidate key yang
63
unik dan mengidentifikasikan sebuah bagian dari entity. Alternate key
adalah candidate key yang tidak dijadikan primary key.
4. Relasi (Relationship)
Yang dimaksud dengan relationship adalah sebuah hubungan antara
satu atau lebih entity. Cardinality adalah jumlah minimum dan
maksimum dari keberadaan suatu entity yang mungkin direlasikan
dengan entity lain. Degree adalah sejumlah entity yang berpartisipasi
dalam sebuah relationship. Foreign key adalah sebuah primary key
yang digunakan oleh entity lain untuk mengidentifikasikan instansi dari
sebuah relationship.
Berikut ini adalah notasi dari cardinality :
a. Tepat satu (satu dan hanya satu) : nilai minimum dan maksimum
adalah 1.
b. Nol atau satu : nilai minimum adalah 0 dan nilai maksimum adalah
1.
c. Satu atau lebih : nilai minimum adalah 1 dan nilai maksimum
adalah banyak (>1).
d. Nol, satu, atau lebih : nilai minimum adalah 1 dan nilai maksimum
adalah banyak (>1).
e. Lebih dari satu : nilai minimum dan maksimum adalah >1
5. Generalisasi (Generalization)
Yang dimaksud dengan generalization adalah sebuah konsep
dimana atribut-atribut yang umum bagi beberapa tipe dari entity
dikelompokkan kedalam entity mereka masing-masing.
64
2.11 MySQL
MySQL merupakan database open-source yang banyak digunakan dewasa ini.
Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta
komputer.
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB,
yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal
bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX
membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi
web untuk client. TcX adalah perusahaan pengembang software dan konsultan
database.
Nama MySQL (baca: mai és kju él) diperkirakan diambil dari nama
pengembangnya, yaitu Michael Widenius, yang sering dipanggil Monty. MySQL
versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan
Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan
di bawah lisensi General Public License, melainkan lisensi khusus yang intinya
menyatakan bahwa source code MySQL dapat dilihat dan gratis, serta server
MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan non komersial.
Untuk kebutuhan komersial seperti mengemas dan menjual atau menyertakan
MySQL dalam program komersial lain, harus membayar lisensi. Sementara
distribusi Windows MySQL sendiri dirilis secara shareware. Barulah pada Juni
2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL adalah
software bebas berlisensi GPL, sehingga source code MySQL dapat dilihat dan
gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun.
65
Barulah di versi-versi akhir 3.22, sepanjang 1998–1999, MySQL menjadi
semakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya
meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini
banyak dipakai di berbagai instalasi, mungkin hingga sekarang, sehingga MySQL
AB tetap memberikan dukungan technical support untuk seri ini.
Setelah itu, MySQL semakin berkembang dan ditambahkan fitur-fitur tertentu,
sehingga saat ini telah dikembangkan versi 4 dan 5 nya.
(http://www.master.web.id/mwmag/issue/04/content/fokus/fokus.html, 2002)
2.12 Java
2.12.1 Pengertian Java
Java adalah sebuah bahasa yang mendukung penuh pemrograman
berorientasi objek untuk membangun aplikasi desktop maupun aplikasi
web. Salah satu yang menjadi keunggulan utama dari Java adalah
kemampuannya untuk berjalan di berbagai jenis platform (multitplatform).
Java berjalan di setiap komputer dengan menggunakan Java Runtime
Environment atau yang lebih dikenal dengan sebutan JRE. JRE dapat
berjalan diberbagai jenis komputer mulai dari PC hingga ke handphone.
Java tidak terpisahkan dari konsep object oriented yang artinya
program Java dibuat berdasarkan elemen yang disebut sebagai objek, yang
mana objek adalah entitas yang merepresentasikan objek dari dunia nyata
ataupun objek yang abstrak. (Lowe, p9-12)
Secara garis besar java terbagi atas 3 platform yaitu :
66
1. Java Platform, Micro Edition (Java ME) : dengan target lingkungan
yang memiliki sumber daya yang terbatas.
2. Java Platform, Standard Edition (Java SE) : dengan target lingkungan
workstation.
3. Java Platform, Enterprise Edition (Java EE) : dengan target lingkungan
perusahaan besar dan lingkungan internet.
2.12.2 Java Platform Enterprise Edition (J2EE)
J2EE merupakan bagian dari bahasa pemrograman Java yang bertujuan
untuk menangani aplikasi multi tier terdistribusi untuk aplikasi perusahaan.
J2EE juga dibuat untuk menangani berbagai aplikasi yang berhubungan
dengan web. J2EE pertama kali diperkenalkan ke publik pada tahun 1998
dengan definisi sebuah arsitektur multi tier untuk Enterprise Information
Sistem (EIS).
Arsitektur dasar dari J2EE terbagi atas beberapa bagian seperti yang
digambarkan pada gambar 2.13. browser dari client akan menampilkan
HTML sekaligus menjalankan JavaScript. Pada bagian middle tier terdiri
atas 2 layer yaitu presentation layer dan business logic layer. Pada
presentation layer J2EE mengimplementasikan servlet serta
memungkinkan untuk membuat suatu halaman web dinamis dengan
menggunakan JSP. Pada business logic layer J2EE mengimplementasikan
Enterprise Java Bean (EJB). EJB berfungsi untuk validasi dan kalkulasi
serta menyediakan akses data.
Pada J2EE terdapat beberapa layanan standar seperti:
67
1. Hypertext Transfer Protocol/Hypertext Transfer Protocol Secure
Sockets (HTTP/HTTPS).
2. Java Transaction API (JTA) : menyediakan antarmuka transaksi untuk
menempelkan sistem pemrosesan transaksi.
3. Remote Method Invocation (RMI) : menyediakan komunikasi untuk
komponen EJB.
4. Java Database Connectivity (JDBC) : menyediakan antarmuka untuk
mengeksekusi pernyataan SQL.
5. Java Message Services (JMS) : sebuah layanan pesan asinkron yang
memungkinkan user mengirim atau menerima pesan.
6. Java Naming and Directory Interface (JNDI) : digunakan untuk
mengakses direktori seperti Light Weight Directory Access Protocol
(LDAP).
7. Entreprise Java Bean (EJB) : komponen di sisi server yang
mengkapsulasi logika bisnis dari suatu aplikasi.
2.12.3 Java Server Page (JSP)
Tujuan Java Server Pages (JSP) ialah mempermudah pembuatan dan
manajemen halaman web dinamis, dengan memisahkan logika bisnis
dengan presentasi/tampilan. JSP terdiri dari HTML/XML standar dan tag
script JSP. Perbedaan antara JSP dari servlet ialah:
a. Servlet ialah jawaban dari Java untuk menggantikan CGI. Servlet
dieksekusi di server dan mengembalikan permintaan browser.
b. JSP memisahkan isi web dinamis dan statis, dan memisahkan logika
dan presentasi di aplikasi web.
68
c. Jika Servlet meminta Anda menggabungkan kode dengan isi statis, JSP
dapat menggunakan bean dengan cakupan tertentu untuk memisahkan
kode, atau ekstensi tag.
JSP menggunakan kelas-kelas yang ada di J2EE. Kode JSP umumnya
disisipkan di dalam kode HTML menggunakan simbol <%=…%>
Java Server Pages (JSP) adalah suatu teknologi berdasar pada bahasa
pemrograman Java dan memungkinkan pengembangan website atau situs
dinamis. JSP telah dikembangkan oleh Sun Microsystems untuk
mengijinkan pengembangan server side. File JSP adalah file HTML dengan
tag khusus yang berisi source program Java yang menyediakan isi yang
dinamis.
Berikut ini menunjukkan typical web server, klien yang berbeda
berhubungan via internet menuju suatu web server. Dalam contoh ini, web
server sedang berjalan diatas Unix dan yang sangat populer saat ini adalah
Apache Web Server.
Gambar 2.11 Typical Web Server
69
Pertama halaman web statis ditampilkan. Ini merupakan cara pertama
yang digunakan orang untuk membuat halaman-halaman web yang berisi
halaman-halaman pribadi dan juga informasi pemasaran perusahaan.
Setelah itu Perl dan C menjadi bahasa yang digunakan dalam web server
untuk menghasilkan isi halaman yang dinamis. Tak lama setelah itu,
banyak bahasa termasuk VisualBasic, Delphi, C++ dan Java bisa juga
digunakan untuk menulis aplikasi yang menyediakan halaman web dinamis
menggunakan data dari file teks atau permintaan (request) database.
Dahulu ini dikenal dengan CGI server side application. ASP dulu
dikembangkan oleh Microsoft untuk memudahkan pembangun HTML
dalam membuat halaman dinamis yang telah distandarkan oleh web server
gratis produk dari Microsoft, Internet Information Server (IIS).
Diagram di bawah ini menunjukkan web server yang mendukung file-file
JSP. Web server juga terhubung ke dalam database.
Gambar 2.12 Typical Web Server yang mendukung JSP
(www.visualbuilder.com)
70
2.13 MvPCinfo
MvPCinfo adalah sebuah program untuk memonitor PC Anda. MvPCinfo akan
bekerja untuk mengumpulkan semua data dari sebuah PC mulai dari data hardware
hingga data software. MvPCinfo merupakan sebuah program yang dikembangkan
oleh MVsoft Co, sebuah software house yang berpusat di Rusia.
(http://www.mvpcinfo.com/PCinfo/intro.htm)
top related