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
10
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 aplikasiaplikasi 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. Komponenkomponen
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.
2.4.2
•
Lingkup akses dan jangkauan.
•
Cara teknologi yang digunakan untuk berkomunikasi.
•
Tujuan dari terselenggaranya komunikasi.
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:
teks. 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>
Tove Jani Reminder Don’t forget me this weekend!
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 interkoneksi (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. Analisis dan Perancangan Sistem Analisis Kebutuhan Piranti Lunak Perancangan
Pengkodean
Pengujian
Pemeliharaan
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
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 direuse 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, HewlettPackard, 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.
X
«uses»
Y
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)
45
Y «extends»
X
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
46 menunjukkan nama class-nya saja. Dapat juga kita tuliskan nama class dengan atributnya saja atau nama class dengan operasinya.
Rectangle
Rectangle
Rectangle
Rectangle
width
getArea
width
height
resize
height getArea resize
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 fungsifungsi 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.
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
concurrency.
yang
digunakan
Concurrency
dapat
untuk
menggambarkan
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)
Receive course registration request
Check prerequisites
Verify course not full
[not OK]
[not OK]
[OK] Check Special Permission
[OK] [O K]
[not OK]
Complete Registration
Gambar 2.11 Contoh activity diagram
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 barisbaris 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
(http://www.mvpcinfo.com/PCinfo/intro.htm)
yang
berpusat
di
Rusia.