BAB 2 LANDASAN TEORI
2.1
Lelang 2.1.1
Pengertian Lelang
Menurut situs yang beralamat pada alamat berikut ini, http://www.gknsgr.com/index.asp?info=detailnews&id=9&bln=April&thn =2007 lelang adalah penjualan barang dimuka umum termasuk melalui media elektronik yang dipimpin dan atau dilaksanakan dihadapan Pejabat lelang, dengan cara penawaran harga semakin menurun, dan atau dengan penawaran
harga
secara
tertulis
yang
didahului
dengan
usaha
mengumpulkan para peminat.
2.1.2
Kebaikan Lelang Kebaikan lelang meliputi :
1. Adil, Karena bersifat terbuka/transparan 2. Aman, karena lelang disaksikan/dipimpin dan dilaksanakan oleh Pejabat Lelang selaku pejabat umum yang bersifat independen. Sistem lelang mengharuskan pejabat lelang meneliti kebenaran formal subjek dan objek lelang.
8
9 3. Cepat dan Efisien, karena pelaksanaan lelang didahului dengan pengumuman sehingga peserta lelang dapat berkumpul pada saat hari lelang dan dengan pembayaran secara tunai. 4. Kepastian Hukum, karena atas pelaksanaan lelang, pejabat lelang membuat Berita Acara Lelang yang disebut Risalah Lelang. 5. Kompetitif, mewujudkan harga yang wajar karena pembentukan harga lelang pada dasarnya menggunakan sistem penawaran yang besifat terbuka dan transparan.
2.1.3
Risalah Lelang
Dalam setiap pelaksaan lelang dibuat suatu berita mengenai pelaksanaan lelang yang disebut Rislah Lelang. Risalah Lelang dibuat oleh pejabat Lelang dan salinannya diberikan kepada Penjual/pemohon lelang , serta pembeli. Fungsi Risalah Lelang :
1. Bagi Penjual/pemohon lelang, sebagai bukti telah melaksanakan penjualan sesuai dengan prosedur lelang. 2. Bagi pembeli lelang, sebagai akta jual beli. 3. Bagi Administrasi Lelang, sebagai pertanggungjawaban dan pelaporan atas pelaksanaan lelang.
10 2.2
E-Procurement
Menurut
situs
pada
alamat
http://www.ebizzasia.com/0213-
2003/q&a,0213.html Procurement merupakan suatu mekanisme pembelian masa kini – atau dapat dikatakan sebagai teknik pembelian modern – dengan memanfaatkan sejumlah aplikasi berbasis internet dan perangkat teknologi informasi terkait lainnya sebagai enabler dalam menjalankan proses tersebut. Dalam konsep ini, dikenal sejumlah istilah yang kerap dipergunakan oleh para praktisi bisnis dan teknologi informasi. Memang karena sekilas terlihat sama, sejumlah istilah tersebut sering diputarbalikkan (tergantung dengan konteks yang ada), namun pada dasarnya masing-masing istilah tersebut memiliki definisi dan ruang lingkup arti yang cukup berbeda, seperti:
1. Aplikasi e-Procurement merupakan perangkat lunak atau software yang dipergunakan
untuk
mengaplikasikan
konsep
e-Procurement
dalam
perusahaan. 2. Sistem e-Procurement merupakan kumpulan dari sejumlah komponenkomponen atau entitas-entitas di dalam perusahaan, yang saling terkait satu dengan lainnya, yang memiliki fungsi untuk menjalankan konsep eProcurement di dalam perusahaan. Adapun yang dimaksud dengan komponen terkait misalnya: perangkat keras (hardware), perangkat lunak (software), sumber daya manusia (brainware) dan pemakai atau pengguna (users), kebijakan (policy), tata kelola (governance), proses (business process), dan infrastruktur perusahaan.
11 3. Sistem Aplikasi e-Procurement merupakan kumpulan dari sejumlah komponen-komponen atau modul-modul aplikasi (sejumlah sub-program dan database), yang saling terkait satu dengan lainnya, untuk membentuk suatu aplikasi holistik (utuh) dan terintegrasi dengan fungsi utama mengaplikasikan konsep e-Procurement dalam perusahaan.
Biasanya istilah aplikasi e-Procurement dipergunakan dalam konteks penyusunan portofolio proyek perencanaan dan pengembangan aplikasiaplikasi yang dibutuhkan perusahaan, sementara sistem e-procurement dipakai jika ingin membahas konsep pembelian moderen dimana terjadi hubungan yang erat antara strategi bisnis dan strategi sistem dan teknologi informasi, sementara sistem aplikasi e-Procurement akan mengemuka dalam penyusunan technical blueprint untuk membuat perangkat lunak (software engineering).
2.3
Teknologi Informasi Teknologi Informasi merupakan suatu istilah dengan cakupan arti yang cukup luas. Secara umum, teknologi informasi adalah suatu bidang yang menggeluti sekitar pemanfaatan teknologi untuk menghasilkan informasi, mengelola dan menyimpan informasi, mentransfer dari suatu bentuk ke bentuk yang lain, memindahkan dari suatu tempat ke ke tempat yang lain, atau bahkan mengolah informasi tersebut sehingga menjadi lebih mudah untuk digunakan oleh pemakainya. Komponen-komponen
yang
diperlukan
untuk
membangun
suatu
teknologi informasi adalah teknologi sistem komputasi dan teknologi sistem
12 komunikasi. Sistem komputasi berperan penting dalam mengolah sinyal-sinyal informasi tersebut sehingga dapat menghasilkan bentuk informasi yang paling sesuai dengan kebutuhan. Sistem komunikasi berperan dalam hal mentransfer sinyal-sinyal informasi dari suatu tempat ke tempat lain. Dengan semakin mengarahnya sistem komputasi menjadi networked computing, maka pembahasan komponen sistem komunikasi dalam teknologi informasi menjadi satu dengan komponen sistem komputasi. Didalam dunia komputasi, komponen-komponen yang menyusun suatu sistem terdiri dari tiga unsur yaitu unsur perangkat keras (hardware), unsur perangkat lunak (software) dan unsur jasa (services). (http://www.stieperbanas.ac.id/unitkerja/jajaran4/pspti/_ PSPTI.htm). Menurut Nugraha (2003,p1) Istilah TI (Teknologi Informasi) atau IT (Information Technology ) yang populer saat ini adalah bagian dari mata rantai panjang dari perkembangan istilah dalam dunia SI (Sistem Informasi) atau IS (Information System). Istilah TI memang lebih merujuk pada teknologi yang digunakan dalam menyampaikan maupun mengolah informasi, namun pada dasarnya masih merupakan bagian dari sebuah sistem informasi itu sendiri. TI memang secara notabene lebih mudah dipahami secara umum sebagai pengolahan informasi yang berbasis pada teknologi komputer yang tengah terus berkembang pesat.
13 2.4
Internet 2.4.1
Pengertian Internet dan Sejarahnya Menurut Hasyim (2003,p2) Internet merupkan jaringan global yang menghubungkan suatu network dengan network lainya di seluruh dunia, TCP/IP menjadi protocol penghubung antara jaringan-jaringan yang beragam di seluruh dunia untuk dapat berkomunikasi. Berdasarkan tulisan West dan Muck (2004,p4) Internet awalnya merupakan suatu rencana dari Departemen Pertahanan Amerika Serikat (US Department Of Defense) pada sekitar tahun 60an. Internet yang populernya disebut net diciptakan pada tahun 1969 untuk departemen pertahanan Amerika. Bantuan dana dari Advanced Research Project Agency (ARPA) memungkinkan peneliti untuk bereksperimen dengan agar komputer dapat berkomunikasi satu sama lain, ciptaan
mereka,
Advanced
Research
Project
Agency
Network
(ARPANET), aslinya hanya terhubung kepada 4 komputer yang terpisah di universitas Amerika dan institusi penelitian, dimana digunakan untuk keperluan penelitian. Awal 1970-an, negara lain mulai bergabung dengan ARPANET, dan hanya dalam 1 dekade, ARPANET telah menyebar dan mampu mengakses kepada peneliti, administrator, dan pelajar di seluruh dunia. Internet tumbuh dengan cepat pada 1990-an sebagai populasi umum yang menemukan kekuatan dari medium yang baru. Pada awalnya kemampuan awal dari Internet adalah menampilkan teks tertulis, dalam
14 bentuk email ataupun artikel yang diletakan pada forum diskusi elektronik yang dikenal dengan usenet news group. Pada pertengahan 1990 kemunculan World Wide Web membuat Internet menjadi lebih populer dari sebelumnya. Web saat ini dapat menampilkan multimedia yang memungkinkan perpindahan teks, audio, dan video secara bersama-sama, yang dikenal dengan web pages ( halaman web ).
2.4.2
World Wide Web (WWW) World Wide Web, merupakan dasar untuk membuat aplikasi berbasis web atau Web Based application. World Wide Web merupakan salah satu dari sekian banyak layanan yang disediakan oleh jaringan Internet , sebenarnya masih banyak fasilitas-fasilitas yang disediakan oleh Internet seperti E-mail, Telnet, FTP dan sebagainya. Bahkan layananlayanan tersebut hingga saat ini masih terus bertambah dan berkembang. Menurut Mannino (2003,p638) World Wide Web merupakan aplikasi yang paling populer diantara aplikasi-aplikasi lainnya di Internet. Dengan menggunakan WWW kita dapat melakukan browsing halaman web yang terdapat di komputer manapun yang terhubung ke jaringan Internet. Standar yang menjadi dasar layanan WWW di Internet adalah Hypertext Transfer Protocol (HTTP). HTTP membentuk suatu session antara browser dan web server. Selama terbentuk session browser dan web server akan saling berinteraksi mengirim dan menerima file yang berisi halaman-halaman web. Tiap-tiap halaman web memiliki alamat unik
15 tertentu yang disebut sebagai Uniform Resource Locator (URL). URL dibagi menjadi tiga bagian, bagian pertama menunjukkan protocol yang digunakan sebagai service, bagian kedua menunjukkan alamat komputer yang berada di jaringan Internet yang berisi suatu file. Alamat komputer ini akan diterjemahkan kedalam alamat dengan format numeric yang biasa disebut sebagai IP address. Bagian ketiga dari URL menunjukkan direktori dan nama file halaman web yang berada di suatu komputer pada jaringan Internet. Contoh
dari
halaman
URL
adalah
http://www.microsoft.com/product/default.html,
sebagai
http://
berikut
menunjukkan
bagian pertama dari URL, www.microsoft.com menunjukkan bagian kedua dari URL sedangkan /product/default.html menunjukkan bagian ketiga dari URL.
2.4.3
Pengertian Web Based Application Menurut Kadir (2004,pp2-3) aplikasi web adalah suatu aplikasi yang dapat membentuk halaman-halaman web berdasarkan permintaan pemakai. Aplikasi web merupakan salah satu contoh aplikasi client-server. Client mewakili komputer yang digunakan oleh seorang pemakai yang hendak menggunakan aplikasi sedangkan server mewakili komputer yang menyediakan layanan aplikasi. Model client-server yang menggunakan aplikasi web dapat melibatkan bermacam-macam platform.
16 2.4.4
Arsitektur Web Based Application Menurut en.wikipedia.org, Walaupun banyak variasi struktur yang memungkinkan untuk digunakan pada web based application, kebanyakan struktur aplikasi web adalah menggunakan struktur three-tiered . Dalam bentuk umumnya, web browser adalah first tier, mesin yang menggunakan beberapa isi teknologi web dinamik berisi pemrograman server side menjadi second tier. Dan database adalah third tier. Web browser mengirim request kepada second tier, yang akan melayani request tersebut dengan membuat query dan mengupdate database serta men-generate interface pemakai.
Gambar 2.1 : Arsitektur Web Based Application
2.4.5
Web Server Dalam aplikasi berbasis web, web server memegang peranan yang sangat penting karena web server berfungsi sebagai penyedia layanan aplikasi dari aplikasi berbasis web itu sendiri. Menurut id.wikipedia.org
17 web server biasanya berisi script-script server side yang menyediakan layanan request HTTP atau HTTPS dari client melalui web browser yang dikirim melalui jaringan Internet. Kemudian web server akan merespon request dari client tersebut dan mengirimkan respon tersebut ke client melaui jaringan Internet. Web server yang terkenal diantaranya adalah Apache yang biasanya banyak digunakan di lingkungan UNIX atau Linux, kemudian IIS atau Internet Information Service yang hanya dapat dijalankan pada lingkungan sistem operasi Windows.
2.4.6
Web Browser Menurut Hasyim (2003,p3) web browser merupakan software yang di install di mesin client yang berfungsi untuk menterjemahkan tagtag HTML menjadi halaman web. Browser yang sering di gunakan biasanya Internet Explorer, Netscape Navigator dan masih banyak yang lainya. Halaman web biasanya ditulis menggunakan tag-tag HTML dimana di dalamnya berisi kode-kode hyperlinks yang apabila diklik oleh user, maka ia dapat berpindah dari halaman satu ke halaman lainnya.
2.5
HTML 2.5.1
Pengertian HTML Menurut
Hasyim
(2003,p2)
Hypertext
Markup
Language
merupakan standar bahasa yang digunakan untuk menampilkan dokumen web. yang bisa dilakukan dengan HTML diantaranya yaitu : 1. Mengontrol tampilan dari web page dan contentnya.
18 2. Mempublikasikan dokumen secara online sehingga bisa diakses dari seluruh dunia. 3. Membuat online form yang bisa digunakan untuk menangani pendaftaran, transaksi secara online. 4. Menambahkan objek-objek seperti image, audio, video dan juga java applet dalam dokumen HTML.
2.5.2
Struktur Penulisan HTML Menurut Hasyim (2003,pp5-6) dokumen HTML bisa di bagi mejadi tiga bagian utama yaitu : 1. HTML Setiap dokumen HTML harus di awali dan di tutup dengan tag HTMLtag HTML memberi tahu browser bahwa yang di dalam kedua tag tersebut adalah dokumen HTML. 2. HEAD Bagian
header
dari
dokumen
HTML
di
apit
oleh
tag
di dalam bagian ini biasanya dimuat tag TITLE yang menampilkan judul dari halaman pada titlenya browser. Selain itu Bookmark juga megunakan tag TITLE untuk memberi mark suatu web site. Browser menyimpan title sebagai bookmark dan juga untuk keperluan pencarian (searching) biasanya title digunakan sebagai keyword. Header juga memuat tag META yang biasanya di gunakan untuk menentukan
19 informasi tertentu mengenai dokumen HTML, anda bisa menentukan author name, keywords, dan lainnya pada tag META. Contoh <META http-equiv=”Expires” content=”Wed, 7 May 2003 20:30:40 GMT”>. Tag tersebut akan menciptakan informasi HTTP Headers sebagai
berikut : Expires: Wed, 7 May 2003 20:30:40 GMT.
Sehingga jika dokumen dicached, HTTP akan tahu kapan dokumen tersebut harus mengupdate dokumen tersebut pada cache. 3. BODY Tag ini berfungsi untuk menampilkan isi dari dokumen HTML itu sendiri, baik berupa text, image, link dan semua yang ditampilkan pada halaman web.
2.5.3
Server-Side Programming Menurut Abrams, Peace, dan White (2001,pp254-256), Serverside programming merupakan suatu interface yang dapat menghasilkan dan mengirim HTML melalui web server. Beberapa diantaranya dikompilasi menjadi suatu object, namun pada umumnya server-side programming adalah berbasiskan model bahasa scripting. Scripting language
(bahasa
script)
agak
sedikit
berbeda
dengan
bahasa
pemrograman lainnya yang harus dikompilasi untuk menjalankannya terutama dalam beberapa hal yaitu : 1. Scripting language tidak memerlukan proses compile ketika ia dijalankan. 2. Scripting language di parse pada saat run time oleh interpreter.
20 3. Scripting language lebih lambat prosesnya ketimbang bahasa pemrograman yang di-compile. Server side scripting language biasanya diterjemahkan oleh aplikasi stand alone yang berada pada web server atau mungkin oleh web server itu sendiri. Server side script yang disertakan atau ditanam pada suatu halaman web, akan di proses terlebih dahulu oleh web server sebelum di kirimkan ke client. Biasanya bahasa scripting ini mempunyai kemampuan untuk mengakses database sama halnya dengan bahasa pemrograman yang memerlukan proses pengkompilasian. Contoh bahasa pemrograman yang merupakan server side adalah ASP (Active Server Page), PHP, JSP (Java Server Pages), CFML (Cold Fusion Markup Language).
2.5.4
Client-Side Programming Menurut Abrams, Peace, dan White (2001,pp261-262), teknologi Client Side Programming adalah teknologi yang didisain untuk meningkatkan kemampuan browsing pada Internet. Contoh dari scriptscript ini adalah Java Applets, ActiveX, Shockwave, Flash dan plugginpluggin lainnya yang ada pada browser. Namun kelemahan yang ada dan sering ditemui pada script client side ini adalah sering tidak compatible antara browser satu dengan yang lainnya.
21 2.6
Rekayasa Piranti Lunak 2.6.1
Software Secara harfiah software berarti piranti lunak, perangkat lunak, program komputer. Tetapi istilah baku dalam bahasa Indonesia perangkat lunak, karena merupakan kumpulan beberapa perintah yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya. Perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyeimpan perintah, maupun dokumen serta arsip lainnya. Contohnya, terdapat sebuah data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengolahan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer. (http://www.total.or.id/info.php?kk=Software) Gambaran tentang software menurut Pressman ( 2002, p10 ) mengambil bentuk berikut; Software adalah : 1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan.
22 2. Struktur data yang memunginkan program memanipulasi informasi secara proporsional. 3. Dokumen yang menggambarkan operasi dan kegunaan program.
Menurut Pressman (2002,p10).Software lebih merupakan elemen logika dan bukan elemen sistem fisik. Dengan demikian, software memiliki ciri yang berbeda dari hardware: 1. Software dibangun dan dikembangkan tidak dalam bentuk yang klasik. 2. Biaya untuk software dikonsentrasikan kepada pengembangan. Hal ini berarti proyek software tidak dapat diatur seperti pengaturan proyekproyek pemanufakturan. 3. Software tidak pernah usang. 4. Software
tidak
rentan
terhadap
pengaruh
lingkungan
yang
menyebabkan software menjadi usang. 5. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada.
2.6.2
Model Proses Software 2.6.2.1 Prototype Model Sering terjadi customer menjabarkan objektif umum mengenai
software
yang
diminta,
tetapi
tidak
bisa
mendefinisikan input, proses, output yang diminta secara detail. Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau
23 bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut bisa digunakan pendekatan prototype paradigm.
Gambar 2.2 : Prototype Model
Prototype paradigm dimulai dengan mengumpulkan kebutuhan-kebutuhan bertemu
dan
menyeluruh,
customer.
mendefinisikan mengidentifikasi
Developer objektif
dan
customer
software
kebutuhan-kebutuhan
secara yang
diketahui dari area pekerjaan. Setelah itu dibuat “Quick design”. Quick design difokuskan pada representasi aspek software yang bisa dilihat customer/user. Kelemahan prototype model, yaitu: Customer melihat prototype tersebut sebagai versi dari software tersebut. Pada saat produk tersebut harus dibangun ulang supaya level kualitas bisa terjamin, customer akan mengeluh dan meminta sedikit perubahan saja supaya prototype tesebut bisa berjalan.
24 Development membuat implementasi yang kompromitas dengan tujuan untuk memperoleh prototype pekerjaan secara cepat.
Dampaknya
adalah
sistem
operasi
atau
bahasa
pemrograman yang dipergunakan tidak tepat, algoritma tidak efisien.
(http://web.si.its-
sby.edu/kurikulum/materi/rpl/rad%20model.htm)
2.7
Antar Muka Pemakai 2.7.1
Pengertian Antar Muka Pemakai Antarmuka (interface) adalah suatu bagian dari sistem komputer yang memungkinkan pemakai berinteraksi dengan komputer, yang bertujuan agar pemakai dapat menggunakan sistem komputer. Tujuan utama aplikasi multimedia adalah membuat program lebih mudah dan menarik bagi penggunanya, oleh sebab itu perancangan antarmuka pemakai (user interface) harus memudahkan pemakai dalam mengakses aplikasi multimedia. Menurut Schneiderman (1998, pp74-75), ada 8 (delapan) faktor utama yang perlu diperhatikan dalam merancang suatu antarmuka : 1. Berusaha untuk konsisten (strive for consistency). Terdapat beberapa bentuk konsistensi, diantaranya konsisten dalam warna, tampilan, huruf kapital, font, menu. Yang penggunaannya harus konsisten untuk seluruh tampilan piranti lunak. 2. Memperbolehkan pemakai yang rutin untuk menggunakan jalan pintas (enable frequent users to use shortcuts).Semakin sering kegiatan
25 dilakukan, kadang pengguna memerlukan cara-cara yang praktis dan cepat untuk menyelesaikan tugasnya, bisa dengan menggunakan singkatan, tombol khusus, perintah tersembunyi (hidden commands), dan fasilitas makro. Response times yang singkat dan waktu tampilan yang cepat merupakan ketertarikan bagi pemakai. 3. Memberikan umpan balik yang informatif (offer informative feedback).Untuk setiap kegiatan yang dilakukan oleh pemakai, hendaknya diberikan umpan balik dari sistem, baik itu berupa suara atau tampilan visual lainnya. Pemberian umpan balik disesuaikan dengan frekuensi kegiatan yang dilakukan. 4. Pengorganisasian yang baik, sehingga pemakai mengetahui kapan awal dan akhir dari suatu aksi (design dialogs to yield closure). Urutan kejadian harus diatur dalam suatu kelompok mulai dari awal, pertengahan, hingga akhir. Pemberian umpan balik yang informatif memberikan kepuasan bagi pemakai, memberikan perasaan lega, menghilangkan keraguan-raguan, serta dapat menyiapkan tindakan selanjutnya. 5. Mencegah dan penangganan kesalahan yang sederhana (offer error prevention and simple error handling). Usahakan membuat suatu sistem yang bisa mencegah pemakai untuk melakukan kesalahan fatal. Jika terjadi kesalahan maka diberikan perintah-perintah sederhana, spesifik, dan bersifat mengarahkan serta mudah dimengerti. 6. Memperbolehkan pengulangan suatu aksi dengan mudah (permit easy reversal of actions). Sedapat mungkin, kegiatan harus bisa dibalikkan
26 ke keadaan yang sebelumnya (undo). Dengan adanya fasilitas ini, pemakai tidak perlu khawatir jika suatu saat terjadi kesalahan karena kegiatan-kegiatan yang telah dilakukan tersebut dapat di-undo. 7. Menyediakan kendali internal bagi pemakai (support internal locus of control). Dengan bagitu pemakai dapat merasa bahwa ia menguasai sistem dan sistem dapat menuruti perintah dari pemakai dan memberikan respon atas aksi dari pemakai. Aksi sistem yang mengejutkan, urutan data yang rumit, kesulitan dalam memperoleh informasi bisa menyebabkan kecemasan dan ketidakpuasan bagi pemakai. 8. Mengurangi penghafalan dan memperhatikan kaidah ingatan manusia yang terbatas (reduce short-term memory load). Adanya keterbatasan dalam ingatan manusia, tampilan hendaknya dibuat sederhana, frekuensi pergerakan window dibatasi, dan beberapa informasi dikelompokkan. Jika memungkinkan, diberikan fasilitas online untuk mencari sintaks singkatan-singkatan, kode-kode, dan informasi lain yang diperlukan.
2.7.2
Kesalahan Dalam Merancang Antar Muka Pemakai Menurut
http://www.useit.com/alertbox/9605.html
ada
10
kesalahan terbesar di dalam perancangan user interface pada web desain. 10 kesalahan terbesar itu adalah : 1. Pencarian yang buruk. 2. File PDF untuk membaca secara online.
27 3. Tidak merubah warna dari link yang dikunjungi. 4. Teks non-scanable. 5. Ukuran huruf yang tetap. 6. Judul halaman dengan keterlihatan search engine yang rendah. 7. Semuanya yang terlihat seperti iklan. 8. Melanggar konvensi desain. 9. Membuka windows browser baru. 10. Tidak menjawab pertanyaan user.
2.8
Interaksi Manusia Dan Komputer Seiring dengan perkembangan teknologi informasi, berbagai macam program baru bermunculan dengan perancangan yang menarik. Namun hal itu belumlah cukup, karena biasanya user lebih menginginkan adanya interaksi dengan program- program yang mudah dioperasikan (user friendly), agar mereka dapat lebih mudah dalam menjalankan program tersebut. Hal inilah yang mendasari lahirnya sebuah ilmu baru yang disebut interaksi manusia dan komputer. Secara garis besar, interaksi manusia dan komputer merupakan suatu disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer yang interaktif untuk digunakan oleh manusia, serta merupakan suatu studi terhadap fenomena – fenomena besar yang berhubungan dengannya. Ilmu ini secara khusus menitikberatkan pada perancangan dan evaluasi antar pemakai ( user interface ) dengan tujuan seseorang dapat membuat sistem interaksi dengan memperhatikan kaedah interkasi dan komunikasi.
28 Faktor-faktor manusia terukur yang menjadi pusat evaluasi menurut Sheneiderman (1998, p15) : 1. Waktu belajar (time to learn). Pemakai menginginkan waktu belajar yang tidak lama 2. Kecepatan kinerja (speed of performance). Pemakai menginginkan komputer mengerjakan suatu tugas dengan cepat 3. Tingkat kesalahan (rate of errors by user). Tingkat kesalahan yang banyak akibat dari interaksi antara pemakai dengan komputer harus dihindari 4. Daya ingat (retention overtime). Tidak semua pemakai memiliki daya ingat tinggi. 5. Kepuasan subjektif (subjective satisfaction). Kepuasan pribadi harus dihasilkan dari aspek sistem.
2.9
Perancangan Design 2.9.1
Application Design Menurut Connolly dan Begg (2002, pp287-288), perancangan aplikasi (application design) adalah merancang antarmuka pemakai (user interface) dan program aplikasi, yang akan memproses basis data. Perancangan basis data dan perancangan aplikasi adalah aktivitas yang dilakukan secara bersamaan pada database application lifecycle. Dalam kasus sebenarnya, tidak mungkin dapat menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai.
29 Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai (user requirement spesification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancang antarmuka pemakai yang tepat. Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan dengan cara menciptakan “user-friendly”.
2.9.2
Prototyping Menurut Connoly dan Begg (2002, pp291-292), prototyping adalah membuat model kerja dari aplikasi basis data, yang memungkinkan perancang atau pemakai untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Tujuan dari pengembangan prototype aplikasi basis data adalah untuk memungkinkan pemakai menggunakan prototype untuk mengidentifikasi kelebihan atau kekurangan sistem, dan memungkinkan perancang untuk memperbaiki atau melengkapi kelebihan dari aplikasi basis data baru. Ada dua strategi prototyping yang umum digunakan, yaitu, requirement prototyping dan evolutionary prototyping. Requirement prototyping yaitu menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data dan ketika kebutuhan sudah terpenuhi, protopype tidak digunakan lagi atau dibuang. Sedangkan evolutionary
30 prototype menggunakan tujuan yang sama, tetapi perbedaannya adalah prototype tetap digunakan.
2.9.3
Implementation Menurut Connoly dan Begg (2002, p292), implementasi (implementation) adalah mendefinisikan basis data secara eksternal, konseptual, dan internal. Implementasi merupakan realisasi dari basis data dan perancangan aplikasi. Implementasi basis data dicapai menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau graphical user interface (GUI). Pernyataan DDL digunakan untuk membuat struktur basis data dan file basis data kosong. Pandangan pemakai (user view) lainnya juga diimplementasikan dalam tahapan ini. Bagian dari aplikasi program adalah transaksi basis data yang diimplementasikan dengan menggunakan Data Manipulation Language (DML) dari sasaran DBMS, mungkin termasuk host programming language seperti; Visual Basic, Delphi, C, C++, Java, COBOL, atau Pascal.
2.9.4
Data Conversion And Loading Menurut Connoly dan Begg (2002, pp292-293), data conversion and loading adalah mengambil data dari sistem yang lama untuk dipindahkan kedalam sistem yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan untuk memasukkan file ke dalam basis data baru. Biasanya membutuhkan spesifikasi dari sumber file
31 dan sasaran basis datanya. Kegunaan ini memungkinkan pengembang untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan oleh sistem baru. Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi dari keseluruhan operasi.
2.9.5
Testing Menurut Connolly dan Begg (2002, p293), testing adalah proses menjalankan program aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh. Untuk mencapainya harus hati-hati dalam menggunakan perencanaan strategi uji dan menggunakan data asli untuk semua proses pengujian. Di dalam definisi testing ini tidak menggunakan pandangan yang biasa, testing adalah proses demonstrasi tanpa kesalahan. Dalam kenyataannya testing tidak luput dari kesalahan. Jika testing menunjukkan keberhasilan, maka pengujian akan menemukan kesalahan pada program aplikasi dan mungkin struktur basis datanya. Di dalam merancang basis data, pemakai yang menggunakan sistem baru seharusnya terlibat di dalam proses testing. Situasi yang ideal untuk melakukan uji sistem adalah menguji basis data pada perangkat keras yang berbeda, tetapi hal ini sering tidak dilakukan. Jika data yang asli digunakan, perlu backup untuk mengantisipasi kesalahan. Setelah testing selesai, sistem aplikasi siap digunakan dan diserahkan kepada pemakai.
32 2.9.6
Operational Maintenance Menurut Connolly dan Begg (2002, pp293-294) operational maintenance adalah proses memantau dan memelihara sistem setelah diinstal. Pada tahapan sebelumnya, basis data benar-benar diuji dan diimplementasikan. Sekarang sistem beralih pada tahapan pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan adalah sebagai berikut: 1. Memantau kinerja dari sistem. Jika kinerjanya menurun di bawah level yang dapat diterima, mungkin basis data perlu diperbaiki. 2. Memelihara dan upgrade aplikasi basis datanya (jika diperlukan).
Ketika basis data sepenuhnya bekerja, harus dipastikan kinerjanya dapat berada dalam tingkat yang dapat diterima. Sebuah DBMS biasanya menyediakan berbagai kegunaan untuk membantu administrasi basis data termasuk kegunaan untuk mengisi data ke dalam basis data dan untuk memantau sistem. Kegunaan ini memungkinkan sistem pemantauan memberikan informasi tentang pemakaian basis data dan strategi eksekusi query. Basis data administrator dapat menggunakan informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik.
2.10 Basis Data (Database) 2.10.1 Pengertian Basis Data Menurut Connolly dan Begg (2002, p14), basis data adalah sebuah kumpulan data yang saling berhubungan secara logis, dan sebuah penjelasan dari data tersebut, yang didesain untuk menemukan data yang
33 dibutuhkan oleh sebuah organisasi. Di dalam basis data, semua data diintegrasikan dengan menghindari duplikasi data. Basis data dapat digunakan oleh banyak departemen dan pemakai. Basis data tidak hanya memegang data operasional organisasi, tetapi juga penjelasan mengenai data tersebut. Menurut Ramakrishnan dan Gehrke (2000, p3), basis data adalah suatu koleksi data, yang secara khas menggambarkan aktivitas organisasi yang satu dengan organisasi yang terkait. Menurut Elmasri dan Navathe(2000, p4), sebuah basis data adalah kumpulan dari relasi-relasi data. Dengan data, kita dapat mengetahui fakta yang dapat direcord dan memiliki arti lengkap. Menurut Post, Gerald V. (2002, p2), sistem basis data merupakan kumpulan data yang disimpan dalam format yang standar dan dirancang untuk dibagikan oleh berbagai pemakai.
2.10.2 Database Management System Menurut Connolly dan Begg (2002, p16), Database management system (DBMS) merupakan suatu sistem piranti lunak yang membuat pemakai dapat mendifinisikan, menciptakan, mengatur dan mengontrol akses ke dalam basis data. DBMS menyediakan beberapa fasilitas sebagai berikut: 1 Data Definition Language (DDL): memperbolehkan pemakai untuk membuat spesifikasi tipe data, mendefinisikan basis data, struktur data dan constraint data untuk disimpan dalam basis data.
34 2 Data Manipulation Language (DML): memperbolehkan pemakai untuk memasukkan, memperbaharui, menghapus, dan mengirim atau mengambil data dari basis data.
Menurut Ramakrishnan dan Gehrke (2000, p1), DBMS adalah piranti lunak yang dirancang untuk membantu dalam memelihara dan memanfaatkan kumpulan data dalam jumlah besar, dan kebutuhan untuk sistem maupun pemakaiannya yang berkembang dengan cepat. Menurut Post, Gerald V. (2002, p2), DBMS adalah piranti lunak yang mendefinisikan sebuah basis data, menyimpan data, mendukung bahasa query, membuat laporan dan menciptakan layar masukan data.
2.10.3 Komponen Database Management System (DBMS) Menurut Connolly dan Begg (2002, p18), ada 5 (lima) komponen Database Management System (DBMS) yaitu: 1. Hardware (Perangkat keras) Perangkat keras yang dibutuhkan untuk menjalankan DBMS dan aplikasi–aplikasi.
Contoh:
single
personal
computer,
single
mainframe, atau komputer yang menggunakan jaringan. 2. Software (Perangkat lunak) Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program-program aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS menggunakan jaringan. Contoh: ‘C’, ‘C++’, Java, Visual Basic, COBOL.
35 3. Data Data merupakan komponen yang paling penting dari DBMS, khususnya dari sudut pandang pemakai akhir mengenai data. 4. Prosedur Cara untuk menjalankan sistem, seperti bagaimana masuk ke dalam DBMS, memulai dan menghentikan DBMS, bagaimana membuat data backup dari basis data. 5. Manusia Komponen terakhir adalah manusia yang terlibat dengan sistem, termasuk di dalamnya adalah Database Administrator (DBA), perancang basis data, pengembang aplikasi, dan pemakai akhir.
2.10.4 Database Application Lifecycle Menurut Connolly dan Begg (2002, p279), sistem basis data merupakan komponen dasar dari organisasi yang besar dengan sistem informasi yang luas. Hal penting yang perlu diperhatikan dalam database application lifecycle adalah bahwa tingkatannya tidak sepenuhnya berurutan (sequential). Di mana ada beberapa tingkatan yang berulang dengan alur-balik (feedback loop), misalnya, masalah ditemukan pada tingkatan perancangan basis data yang membutuhkan tambahan kumpulan kebutuhan dan analisis. Untuk aplikasi basis data yang kecil dengan pemakai yang sedikit maka lifecycle-nya tidak terlalu kompleks. Sebaliknya, ketika merancang basis data yang sedang sampai ke basis data yang besar dengan puluhan
36 ribu pemakai, menggunakan ratusan query dan program aplikasi maka lifecyle akan menjadi sangat kompleks.
Gambar 2.3 : Tingkatan dari Database Application Lifecycle
37 2.10.5 Database Planning Menurut Connolly dan Begg (2002, pp273-274), perencanaan basis data adalah merencanakan bagaimana tahapan dari lifecycle bisa dicapai dengan lebih efisien dan efektif. Perencanaan basis data harus diintegrasikan dengan keseluruhan strategi sistem informasi dari organisasi. Ada tiga isu pokok yang berkaitan dengan perumusan strategi sistem informasi, antara lain: 1. Mengenali rencana dan tujuan perusahaan, kemudian menentukan kebutuhan sistem informasi. 2. Mengevaluasi sistem informasi yang sedang berjalan untuk menentukan kekuatan dan kelemahannya. 3. Penilaian dari kesempatan teknologi informasi yang menghasilkan kekuatan kompetitif.
Langkah penting pertama dalam perencanaan basis data adalah menegaskan pernyataan tugas proyek basis data dengan jelas. Ini memandu proyek basis data dalam organisasi, biasanya Direktur atau pemilik perusahaan yang menegaskan pernyataan tugas. Pernyataan tugas membantu untuk menjelaskan tujuan dari proyek basis data dan menetapkan garis yang jelas terhadap penciptaan basis data yang dibutuhkan agar efektif dan efisien. Aktivitas selanjutnya adalah menetapkan sasaran tugas. Setiap sasaran tugas harus menetapkan tugas khusus yang harus didukung basis
38 data, asumsinya jika basis data mendukung sasaran tugas maka pernyataan tugas akan didapatkan. Pernyataan tugas dan sasaran tugas mungkin disertai dengan beberapa informasi tambahan yang khusus, dalam istilah umumnya, untuk menyelesaikan pekerjaan, sumber daya untuk menyelesaikannya, dan biaya untuk membayar semuanya. Jelasnya pernyataan tugas dapat diperoleh dengan melakukan wawancara dengan Direktur atau pegawai lainya yang berkaitan dengan hal seperti; apa tujuan dari perusahaan, kenapa perusahaan membutuhkan basis data, kenapa basis data bisa menyelesaikan masalahnya, dan hal lain yang serupa. Begitu juga dengan sasaran tugas dapat diperoleh dengan memberikan pertanyaan seperti; apa pekerjaannya, tugas apa yang diselesaikan tiap harinya, bekerja dalam data apa, jenis laporan apa yang digunakan, pelayanan apa yang diberikan perusahaan terhadap pelanggan, dan lain-lain.
2.10.6 Database Design Menurut Connolly dan Begg (2002, p279), perancangan basis data adalah proses pembuatan sebuah rancangan untuk sebuah basis data yang mendukung operasi dan tujuan dari perusahaan. Perancangan basis data dibagi menjadi tiga tahapan utama yaitu conseptual database design, logical database design dan physical database design.
39 2.10.6.1 System Definition Menurut Connolly dan Begg (2002, p274), sistem adalah penggambaran lingkup dan batasan dari aplikasi basis data dan pandangan pemakai yang utama. Pandangan pemakai menegaskan aplikasi basis data apa yang dibutuhkan untuk tugas tertentu seperti, untuk manajer atau supervisor atau bidang aplikasi perusahaan seperti, pemasaran, personalia atau pengendalian persediaan. Sebelum mencoba merancang suatu aplikasi basis data, diperlukan untuk mengenali batasan sistem dan bagaimana antarmuka dengan bagian sistem informasi lainya dalam organisasi. Hal penting yang harus diperhatikan bahwa ini tidak hanya pada batasan sistem pemakai sekarang dan batasan bidang aplikasi sekarang, tetapi juga pemakai dan aplikasi mendatang. Sebuah aplikasi basis data mungkin memiliki satu atau lebih pandangan pemakai, karena itu, mengidentifikasi pandangan pemakai sangatlah penting dalam mengembangkan aplikasi basis data agar dapat memastikan tidak ada pemakai utama yang terlupakan ketika mengembangkan keperluan untuk aplikasi baru.
2.10.6.2
Requirement Collection And Analysis Menurut Connolly dan Begg (2002, p276), analisis dan pengumpulan kebutuhan adalah proses dari analisis dan pengumpulan informasi tentang bagian organisasi yang akan
40 dibuat aplikasi basis data dan menggunakan informasi ini untuk mengenali kebutuhan pemakai dari sistem baru. Informasi ini kemudian dianalisa untuk mengidentifikasi kebutuhan untuk dimasukan ke dalam aplikasi basis data baru. Kebutuhan-kebutuhan ini digambarkan dalam sebuah dokumen secara bersamaan yang diarahkan sebagai spesifikasi kebutuhan untuk aplikasi basis data baru. Dalam hal ini ada beberapa teknik atau cara untuk mendapatkan informasi yang disebut dengan teknik fact-finding. Yang dimaksud dengan teknik fact-finding adalah teknik yang digunakan untuk mengidentifikasi kebutuhan, seperti mempelajari
dokumen,
wawancara,
pengamatan
operasi
perusahaan, penelitian dan menggunakan kuesioner.
2.10.6.3
Conceptual Database Design Conseptual database design adalah proses membangun sebuah model data dari informasi yang diperoleh dalam sebuah organisasi,
tetapi
bebas
dari
semua
pertimbangan
fisik.
Conseptual database design merupakan tahapan pertama dari tahapan perancangan basis data dan menciptakan model data koseptual dari bagian perusahaan yang akan dibuat basis datanya. Model data dibuat dengan menggunakan dokumen dari spesifikasi kebutuhan pemakai. Conseptual database design bebas
41 dari segala rincian implementasi seperti mengenai sasaran piranti lunak DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras dan pertimbangan fisik lainya. Keseluruhan proses dari pengembangkan model data diuji dan divalidasi dari kebutuhan pemakai. Model data konseptual dari organisasi merupakan sumber informasi untuk tahapan selanjutnya, yaitu pada tahapan logical database design. Hasil akhir dari conceptual database design berupa identifikasi tipe entiti, identifikasi tipe relationship, identifikasi dan hubungan atribut dengan tipe entiti atau tipe relationship, menentukan atribut domain, dan menentukan candidate key dan primary key yang didasarkan pada spesifikasi kebutuhan.
2.10.6.4 Logical Database Design Logical database design adalah proses membangun sebuah model dari informasi yang diperoleh dari sebuah organisasi berdasarkan model data khusus, tetapi bebas dari hal yang berkaitan dengan DBMS dan pertimbangan fisik lainnya. Pada tahapan ini model data konseptual yang dibangun pada tahap sebelumnya diperhalus dan dipetakan pada model data logikal. Model data logikal didasarkan pada target model data untuk basis data. Keseluruhan proses dari pengembangan model data logikal adalah diuji dan disahkan pada kebutuhan pemakai. Teknik dari normalisasi digunakan untuk menguji kebenaran dari
42 model data logikal, di mana normalisasi memastikan hubungan yang diperoleh dari model data tidak memperlihatkan kelebihan atau perulangan, yang bisa menyebabkan penyimpangan update ketika diimplementasikan. Model data logikal merupakan sumber informasi untuk database design Aktivitas pada logical database design terdiri dari dua langkah besar, di mana langkah pertama adalah membangun sebuah model data logikal lokal dari model data konseptual lokal yang menggambarkan pandangan tertentu dari perusahaan dan kemudian mengesahkan model ini untuk memastikan strukturnya telah benar atau menggunakan teknik normalisasi. Sedangkan langkah kedua atau langkah selanjutnya adalah untuk membuat kombinasi model data logikal lokal individual ke dalam sebuah model data logikal global tunggal yang menggambarkan perusahaan. Hasil akhir dari tahapan ini berupa sebuah kamus data yang berisi semua atribut beserta keynya (primary key, alternate key, dan foreign key) dan ERD secara keseluruhan (relasi global) dengan semua atribut key-nya.
2.10.6.5
Physical Database Design Physical Database Design merupakan proses pembuatan deskripsi dari suatu implementasi basis data pada secondary storage (media penyimpanan), hal ini mendeskripsikan hubungan
43 utama, organisasi file dan indeks yang digunakan untuk mencapai efisiensi akses ke dalam data dan hubungan integritas constraint (associated integrity constraints) yang lainnya dan hal yang berkaitan dengan keamanan (security measure). Physical database design merupakan tahap ketiga dan terakhir dari proses perancangan basis data. Di mana perancang memutuskan bagaimana basis data tersebut diimplementasikan. Secara garis besar, tujuan utama dari physical database design adalah untuk mendeskripsikan bagaimana perancang bermaksud untuk mengimplementasikan secara fisik dari logical database design. Akan tetapi dalam pengembangan physical database design, hal pertama yang harus ditegaskan adalah sasaran dari sistem basis data. Oleh karena itu, physical design disesuaikan untuk sebuah sistem DMBS khusus. Ini adalah alur balik antara physical dan logical design, karena keputusan yang diambil pada physical
design
untuk
meningkatkan
daya
guna
yang
menggunakan struktur model data logikal (logical data model). Tujuan utama untuk model relasional ini meliputi : 1. Membuat kumpulan tabel relasional dan costraints pada tabel tersebut dari informasi. yang didapatkan dalam model data logikal (logical data model). 2. Mengidentifikasi struktur penyimpanan tertentu dan metode akses terhadap data untuk mencapai performa optimal dari sistem basis data.
44 3. Merancang proteksi keamanan untuk sistem.
Aktivitas
dari
physical
database
design
adalah
menterjemahkan model data logikal global ke dalam sasaran DBMS, di mana dengan membuat base relation dengan menggunakan database design language yang tujuannya untuk memutuskan
bagaimana
representasi
relasi
utama
yang
diidentifikasi dalam model data logikal global ke dalam DBMS, merancang constraint perusahaan untuk kegiatan transaksi (update dan retrieve data), menentukan kebutuhan sumber daya sistem dan organisasi file.
2.10.7 DBMS Selection Menurut Connolly dan Begg (2002, p284), DBMS selection adalah memilih DBMS yang sesuai untuk mendukung aplikasi basis data. Pemilihan DBMS dilakukan antara tahapan logical database design dan conseptual database design. Tujuan dari pemilihan DBMS adalah untuk kecukupan sekarang dan kebutuhan
masa
mendatang
ada
perusahaan,
membuat
keseimbangan biaya termasuk pembelian produk DBMS, piranti lunak/perangkat keras lainnya untuk mendukung aplikasi basis data, biaya yang berhubungan dengan perubahan dan pelatihan pegawai. Pendekatan sederhana dalam pemilihan DBMS adalah memeriksa keistimewaan DBMS dalam memenuhi kebutuhan.
45 alam memilih sebuah produk DBMS baru, ini adalah kesempatan untuk memastikan bahwa proses pemilihan sudah direncanakan dan hasil yang diberikan sistem benar-benar bermanfaat bagi perusahaan.
2.10.8 Entity Relationship Diagrams Menurut Connolly dan Begg (2002, p330), salah satu aspek yang sulit dalam perancangan basis data adalah kenyataannya bahwa perancang, programmer, dan pemakai akhir cenderung melihat data dengan cara yang berbeda. Untuk memastikan pemahaman secara alamiah dari data dan bagaimana data digunakan oleh perusahaan dibutuhkan sebuah bentuk komunikasi yang non-teknis dan bebas dari kebingungan. Mannino (2003,p146), untuk menjadi seorang data modeler kita harus memahami notasi dalam entiti relationship diagrams dan mengaplikasikan pemahaman kita terhadap notasi tersebut untuk permasalahan yang kita hadapi.
2.10.9 Entity Type Menurut Mannino (2003,p146), Entiti type adalah kumpulan entitas (orang, tempat, kegiatan, atau benda) dari permasalahan yang bersangkutan digambarkan dengan sebuah kotak pada diagram relasi.
46
Gambar 2.4 : Entity Type (Mahasiswa dan MataKuliah)
2.10.10 Attribute Attribute menurut Mannino (2003,p147), adalah suatu properti dari sebuah entiti type atau relasi. Masing-masing atribute memiliki tipe data yang mendefinisikan jenis nilai dan jenis perizinan operasional pada atribut. Simple attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas. Simple attribute tidak bisa dibagi lagi ke dalam komponen yang lebih kecil, misalnya posisi dan gaji dari entiti pegawai. Simple attribute disebut juga atomic attribute. Composite attribute adalah atribut yang terdiri dari banyak komponen dengan sebuah keberadaan yang bebas. Dalam hal ini beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi dengan keberadaan yang bebas. Contohnya atribut alamat dari entiti kantor cabang yang mengandung nilai (jalan, kota, kode pos) bisa dipecahkan menjadi atribut sederhana jalan, kota dan kode pos.
47 Single value attribute adalah atribut yang memiliki nilai tunggal untuk masing-masing kejadian dari entiti. Multi value attribute adalah atribut yang memiliki banyak nilai untuk masingmasing kejadian dari entiti. Derived attribute adalah atribut menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entiti yang sama.
Gambar 2.5 : Attribute
2.10.11 Keys Candidate key adalah kunci yang secara unik mengenali setiap kejadian di dalam tipe entiti. Sebuah candidate key tidak boleh NULL. Sebuah entiti mungkin punya lebih dari satu candidate key. Primary key candidate key yang dipilih sebagai kunci primer untuk mengenali secara unik setiap occurrence dari sebuah tipe entiti. Pemilihan primary key untuk sebuah entiti adalah berdasarkan pada pertimbangan panjang atribut, jumlah minimal
48 dari kebutuhan atribut, dan memenuhi syarat unik. Candidate key yang tidak dipilih menjadi primary key disebut sebagai alternate key Composite key adalah candidate key yang terdiri dari dua atribut atau lebih. Foreign key adalah atribut pada satu relasi yang cocok pada candidate key dari beberapa relasi.
2.10.12
Strong And Weak Entity Tipe
entiti
yang
kuat
adalah
tipe
entiti
yang
keberadaannya tidak bergantung pada tipe entiti yang lain. Karakteristiknya adalah setiap kejadian entitinya secara unik mampu diidentifikasikan menggunakan atribut primary key pada entitinya.
Gambar 2.6 : Strong Entity
Tipe entiti yang lemah adalah tipe entiti yang bergantung pada keberadaan entiti lainnya. Karakteristiknya adalah setiap
49 kejadian entiti tidak bisa diidentifikasi secara unik hanya dengan menggunakan atribut yang bergantung pada entitinya.
Gambar 2.7 : Weak Entity
2.10.13
Relationship Menurut Mannind (2003,p147), Relationship digunakan untuk menggambarkan asosiasi secara dua arah antara entiti satu dengan entiti lainnya.
Gambar 2.8 : Relationship
50 2.10.14
Cardinality Menurut Mannind (2003,p147), Cardinality adalah
batasan dari jumlah entiti yang berpartisipasi pada suatu relasi. Dalam ERD, baik minimum atau maximum cardinality biasanya ditentukan pada dua arah dari relasi.
Gambar 2.9 : Cardinality
2.10.15
Normalisasi Menurut Connolly dan Begg (2002,p379), normalisasi adalah teknik untuk mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam sebuah organisasi. Tujuan dari normalisasi adalah untuk menghilangkan kerangkapan data, untuk mengurangi kompleksitas dan untuk mempermudah memodifikasi data. Secara umumnya normalisasi dibagi menjadi tingkatan, yaitu bentuk normal pertama (1NF) berdasarkan penghilangan repeating group, bentuk normal kedua (2NF) berdasarkan pada
51 ketergantungan
fungsional,
bentuk
normal
berdasarkan pada ketergantungan transistif,
ketiga
yang
BCNF (Boycode-
Codd Normal Form) yang merupakan penguatan bentuk normal ketiga, bentuk normal keempat yang berdasarkan ketergantungan nilai jamak (multi-value dependency), dan bentuk normal kelima yang juga disebut project-join normal form (PJNF). Namun penulis hanya membahas normalisasi sampai dengan tingkat ketiga yaitu 3NF third normal form
2.10.15.1 Bentuk Normal Pertama ( First Normal Form/1NF) Menurut Connoly dan Begg (2002, p387 ), Unomalized form (UNF) adalah sebuah tabel yang mengandung lebih dari satu bagian yang berulang (repeating group). Bentuk normal pertama adalah sebuah hubungan di mana irisan (intersection) dari setiap baris dan kolum hanya mengandung satu nilai. Untuk mengubah tabel UNF ke dalam bentuk normal pertama (1NF) harus mengidentifikasi dan menghilangkan bagian yang berulang (repeating group) pada tabel. Sebuah repeating group adalah sebuah atribut atau kumpulan atribut pada suatu tabel yang terdapat lebih dari satu nilai (multiple) untuk sebuah occurrence tunggal dari kunci (key) atributnya yang ditunjuk dalam tabel. Ada dua pendekatan umum
52 untuk menghilangkan repeating group pada tabel UNF, antara lain : 1. Pendekatan
pertama,
dengan
menghilangkan
repeating group dengan memasukkan data yang berlebihan ke dalam kolom dan baris kosong. Sehingga
hasil
dari
tabel
nantinya
hanya
mengandung nilai atomic (tunggal). 2. Pendekatan kedua, menghilangkan repeating group dengan
menempatkan
data
yang
berlebihan,
selanjutnya dengan meng-copy atribut kuncinya yang asli dalam sebuah relasi yang dipisahkan.
Kedua
pendekatan
ini
benar.
Tetapi,
pendekatan kedua awalnya menghasilkan relasi yang paling
sedikit
pada
1NF
dengan
mengurangi
redundansi. Jika menggunakan pedekatan pertama, relasi dari 1NF adalah buruk, selanjutnya selama langkah normalisasi berikutnya akan menghasilkan relasi yang sama yang dihasilkan oleh pendekatan kedua. Akan tetapi hasil dari normalisasi bentuk pertama masih bisa menyebabkan update anomalies, sehingga diperlukan normalisai ketahapan selanjutnya yang dinamakan bentuk normal kedua (2NF).
53 2.10.15.2 Bentuk Normal Kedua (Second Normal Form/2NF) Menurut Connolly dan Begg (2002, p392), bentuk normal kedua adalah berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full functional dependency dinyatakan dengan jika A dan B adalah atribut dari suatu relasi, B adalah
fungsional
ketergantungan
penuh
(fully
functinal dependency) pada A jika B adalah secara fungsional
bergantung
pada
A,
tetapi
bukan
merupakan himpunan bagian dari A. Jelasnya bentuk normal kedua adalah sebuah relasi di dalam bentuk normal pertama dan setiap atribut yang bukan primary key (non-primary key) adalah secara fungsional tergantung pada primary key. Proses normalisasi dari relasi 1NF ke 2NF melibatkan penghilangan dari bagian yang ketergantungan.
2.10.15.3 Bentuk Normal Ketiga (Third Normal Form/3NF) Menurut Connolly dan Begg (2002, p394), bentuk normal ketiga adalah berdasarkan pada konsep peralihan ketergantungan (transistive dependency). Transitive dependency adalah sebuah kondisi dimana A, B dan C adalah atribut dari sebuah relasi bahwa jika AÆ B dan B Æ C, maka C adalah secara transitif
54 bergantung pada A melewati B (menyatakan bahwa A tidak secara fungsional tergantung pada B atau C). Pada bentuk normal ketiga, sebuah relasi pada bentuk normal pertama dan kedua dan di mana tidak ada
atribut
non-primary
key
secara
transitif
bergantung (transitively dependent) pada primary key. Proses normalisasi dari relasi 2NF ke 3NF melibatkan penghilangan dari ketergantungan transitif. Jika sebuah ketergantungan transitif muncul, maka dihilangkan ketergantungan transitif antara atributnya dengan menempatkan atribut tersebut ke dalam relasi baru, selanjutnya dengan sebuah salinan dari determinannya.
2.11 Alat Bantu Perancangan Sistem 2.11.1 UML (Unified Modelling Language) Menurut Lethbridge, dan Laganière (2001,pp151-152), UML adalah bahasa graphical standar yang digunakan untuk memodelkan software object-oriented. Dikembangkan pada pertengahan 1990 dari hasil usaha kolaborasi antara James Rumbaugh, Grady Booch, dan Ivar Jacobson, dimana sebelumnya mereka telah mengembangkan notasi mereka masing-masing untuk mengembangkan software berbasis object. Banyak perusahaan software merasakan bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan
55 seperti : Microsoft, Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, DEC, Digital Equipment Corp., Texas instrument, Rational Software, ICON Computing, MCI systemhouse, Unisys Platinum Technology, Ptech, Taskon and Reich Technologies, dan Softeam. Dari konsorsium tersebut pada bulan Januari 1997 lahirlah UML versi 1.0 Pada bulan September 1997 lahirlah UML versi 1.1, dengan 8 buah diagram, yaitu: Use Case diagram, Activity diagram, Sequence diagram, Collaboration diagram,
Class diagram, Statechart diagram,
Component diagram, dan Deployment diagram. Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah diagram, dengan penambahan Business Use Case diagram. Pada Mei 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram, dengan penambahan Object Diagram. Pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram,dengan penambahan dan penggantian yaitu : 1. Use case diagram. 2. Activity diagram. 3. Sequence diagram. 4. Communication Diagram (Collaboration diagram in versoni 1.x). 5. Class diagram. 6. State Machine Diagram (State diagram in version 1.x). 7. Component diagram. 8. Deployment diagram. 9. Composite Structure Diagram.
56 10. Interaction Overview Diagram. 11. Object Diagram. 12. Package Diagram. 13. Timing Diagram.
UML adalah hanya sebuah notasi yang digunakan untuk menggambarkan
diagram-diagram.
Pada
UML
juga
ditambahkan
tambahan fitur-fitur menarik lainnya yaitu : 1. UML memiliki semantik detil, yang digunakan untuk menjelaskan maksud dari variasi-variasi notasi. 2. UML memiliki mekanisme tambahan, yang memungkinkan pendisain software
untuk
merepresentasikan
konsep-konsep
yang
bukan
merupakan inti dari UML itu sendiri. 3.
UML telah diasosiasikan dengan textual language yang disebut Object Constraint Language (OCL).
Dari sekian banyak variasi diagram pada UML, yang penulis gunakan dalam pengembangan sistem yang dibahas pada skripsi ini hanya akan menggunakan beberapa diagram saja yaitu : 1. Class Diagram. 2. Use Case Diagram. 3. Sequence Diagram. 4. Activity Diagram. 5. Statechart Diagram.
57 6. dan Deployment Diagram.
2.11.1.1 Class Diagram Menurut Bruegge, dan Dutoit (2000,pp45-50), class diagram digunakan untuk mendeskripsikan struktur dari sistem yang berkaitan dengan kelas dan objek. Classes merupakan abstraksi yang menentukan atribut dan perilaku dari sekumpulan objek. Object adalah entiti yang mengengkapsulasi state dan behavior. Dalam UML kelas digambarkan dengan sebuah kotak yang isinya berupa properti dan fungsi/method seperti gambar di bawah ini
Gambar 2.10 : Class Diagram
58 2.11.1.1.1
Association And Multiplicity Menurut (2001,p155)
Lethbridge,
Association
dan
Laganière
digunakan
untuk
menunjukkan bagaimana hubungan dua kelas yang saling berhubungan antara satu dan lainnya. Multiplicity digunakan untuk menunjukkan berapa banyak instance dari sebuah kelas yang di akhir satu dapat saling berasosiasi dengan instance lainnya yang berada di akhir dua.
Gambar 2.11 : Multiplicity pada Class Diagram
2.11.1.1.2
Generalization Generarlisasi atau sering juga disebut GenSpec (Generalization-Specialization). Pada UML digunakan
untuk
menggambarkan
inheritance pada suatu kelas.
konsep
59
Gambar 2.12 : Generalization
2.11.1.1.3
Aggregation Menurut
Lethbridge,
dan
Laganière
(2001,pp169-171) Aggregation adalah asosiasi yang sifatnya khusus, aggregation merepresentasikan relasi part-whole. Sisi whole dari relasi sering kali disebut
sebagai
Aggregation ini
assembly sering
juga
atau
aggregate.
disebut
sebagai
hubungan PartOf antara kelas satu dengan lainnya. Pada Aggregation jika simbol diamond-nya berwarna
hitam
maka
aggregation
tersebut
menunjukkan hubungan yang sangat kuat antara kelas satu dengan yang lainnya atau biasa disebut Composite. Jika kelas yang satu dihancurkan maka kelas yang lain juga ikut hancur. Contohnya adalah jika kita memiliki gedung, maka dalam gedung tersebut terdapat banyak ruangan-ruangan. Apabila
60 gedung tersebut hancur, maka ruangan-ruangan yang menyusun gedung tersebut juga akan hancur. Sedangkan jika tidak berwarna maka aggregation tersebut disebut sebagai Shared. dan hubungannya tidak sekuat pada composite aggregation.
Gambar 2.13 : Aggregation
2.11.1.2 Use Case Diagram Menurut Bruegge, dan Dutoit (2000,pp39-40) Use Cases mendeskripsikan perilaku dari sistem berdasarkan dari sisi pandang dari actor’s. Behavior dideskripsikan oleh use case model sering kali disebut dengan external behavior. Actors adalah entiti eksternal yang berinteraksi dengan sistem. Contoh actors adalah (Pengguna sistem, administrator sistem, kustomer bank, bank Teller,) dan mungkin sistem lain di luar sistem kita.
61
Gambar 2.14 : Use Case Diagram
2.11.1.2.1 Scenarios Menurut Bruegge, dan Dutoit (2000,p41) Use case adalah sebuah abstraksi yang menjelaskan semua
kemungkinan
scenario
yang
ada
yang
melibatkan semua funsionalitas yang ada. Sedangkan Scenario adalah instance dari use case yang menjelaskan sekumpulan aksi secara kongkrit.
2.11.1.2.2 Extension, Specialization, dan Inclusion Menurut
Lethbridge,
dan
Laganière
(2001,pp238-239), ketika sebuah actor berinteraksi dengan sistem, perbedaan urutan dari suatu eventevent seringkali terjadi. Sehingga actor atau sistem
62 akan melakukan reaksi yang berbeda pada langkahlangkah tertentu manapun. Extension
digunakan
untuk
membuat
interaksi explisit pilihan atau menangani kejadian yang tidak terduga. Use case extension dapat menjelaskan apa yang akan terjadi jika seorang actor memasukkan nama file yang salah ketika akan mengakses suatu file, atau menejelaskan interaksi tambahan apabila actor memutuskan untuk mencari file tersebut pada lokasi lainnya. Specializations penggunaannya hampir sama dengan subclasses dari class diagram. Use case yang umum merepresentasikan beberapa use case yang sama. Satu atau lebih specializations menyediakan detail dari use case yang sama. Inclusion
memungkinkan
kita
untuk
mengekspresikan bagian dari suatu use case sehingga kita dapat menangkap keumuman antara beberapa use case yang sama.
63
Gambar 2.15 : Extension, Specialization, Inclusion
2.11.1.3 Sequence Diagram Menurut Lethbridge, dan Laganière (2001,pp270-273) Sequence Diagram digunakan untuk menunjukkan urutan pertukaran pesan dari sekumpulan objek (actor Optional) yang mengerjakan tugas tertentu. Objek-objek diurutkan dari kiri ke kanan menyebrangi diagram, actor yang berada di awal interaksi selalu diletakkan di kiri. Dimensi vertical merepresentasikan waktu. Bagian atas dari diagram adalah titik permulaan, dan pergerakan waktu mengarah ke bawah dari diagram. Garis putus-putus vertical disebut sebagai Lifeline, dan disertakan pada masing-masing objek atau actor.
64
Gambar 2.16 : Sequence Diagram 2.11.1.4 Activity Diagram Menurut Wikipedia (http://en.wikipedia.org/), Activity diagram
merepresentasikan
bisnis
dan
juga
workflow
operasional dalam suatu sistem. Sebuah Activity diagram adalah variasi dari state diagram yang mana "state" merepresentasikan operasi, dan transisinya merepresentasikan aktivitas yang terjadi pada saat operasi sudah selesai.
Gambar 2.17 : Activity Diagram
65 Actvity diagram tersebut memperlihatkan aksi yang terjadi pada saat Anda menyelesaikan suatu isian pada web form. User mulai dengan mengisi form yang tersedia, kemudian akan dicek; hasil dari pengecekkan tersebut akan diketahui apakah form tersebut harus diisi lagi ataukah dinyatakan selesai.
2.11.1.5 State Diagram Menurut Wikipedia (http://en.wikipedia.org/),
State
diagram pada dasarnya merupakan sebuah notasi standart Harel statechart, yang dapat menjelaskan banyak hal, mulai dari program komputer sampai kepada proses bisnis. Harel statechart (dikembangkan pada tahun 1987 oleh David Harel) mendapatkan tempat yang baik sejak menjadi bagian dari pada UML. Diagram ini memperbolehkan untuk dapat membuat “state super”, “state awal” dan aktifitas menjadi satu bagian state. State Classic adalah diagram yang terpisah, sebab mesin hanya
bisa
didalam
satu
state,
dengan
harel
state
memungkinkan untuk model dan mesin, dimana mesin terdapat dalam lebih dari satu state secara bersamaan. Notasi yang terdapat pada state diagram sebagai berikut :
66
Gambar 2.18 : State Awal
Gambar 2.19 : State Akhir
Gambar 2.20 : State
Gambar 2.21 : Trantition
Gambar 2.22 : State Diagram
67 2.11.1.6 Deployment Diagram
Menurut Wikipedia (http://en.wikipedia.org/), Deployment diagram digunakan untuk melayani pemodelan hardware yang digunakan dalam implementasi sistem dan asosiasinya antara komponen-komponen tersebut. Elemen yang digunakan dalam deployment diagram adalah nodes (ditunjukkan sebagai sebuah cube),
komponen
(ditunjukkan
sebagai
sebuah
kotak
bujursangkar) dan juga asosiasi.
Gambar 2.23 : Deployment Diagram
Deployment diagram ini menunjukkan hardware yang digunakan pada jaringan kantor yang kecil. Application server (node) terhubung dengan database server (node) dan database client (component) sudah ter-install dalam application server.
68 Workstation juga terhubung (association) dengan application server dan juga ke printer.
2.11.2 PHP Menurut
Vaswani
(2005,p7)
PHP
pada
awalnya
adalah
kepanjangan dari Personal Home Page, lalu berubah menjadi Professional Home Page sedangakan kini nama resminya adalah PHP Hypertext Preprocessor adalah bahasa permograman yang memungkinkan kita untuk membuat logika bisnis yang canggih kedalam halaman website statik kita. PHP menjadi bahasa yang sangat cepat populer untuk data-driven web applications karena PHP sangat luas dukungannya terhadap bermacammacam sistem database. Biasanya PHP ditanam ke dalam dokumen HTML biasa dan akan diproses oleh server ketika halaman web kita di-request oleh client melalui browser. Karena PHP di proses di server maka kita tidak perlu khawatir kalau script kita nanti dilihat orang lain. Script PHP tidak dapat dilihat dari client, karena PHP hanya akan menampilkan HTML sebagai hasil dari proses request dari client yang dilakukan di server. Fitur-fitur PHP antara lain adalah sebagai berikut : 1.
Simplicity, PHP menggunakan syntax yang logis dan konsisten dan karena hal tersebut bahasa tersebut menjadi lebih mudah dipahami
69 2. Portability, PHP dapat berjalan pada berbagai macam platform. Platforrm tersebut diantaranya adalah UNIX, LINUX, Windows OS/2 dan Mac OS. 3. Speed, PHP dapat dijalankan lebih cepat dibandingkan bahasa-bahasa script sisi server sejenis. 4. Open Source, penggunaan PHP tidak dipungut biaya secara komersial karena PHP dapat digunakan secara gratis. 5. Extensible, PHP mendukung proses perkembangan untuk aplikasi di masa depan. 6. Mendukung XML dan database, tidak perlu khawatir jika kita memiliki data dari dokumen XML karena php sudah mendukung penggunaan file XML dan mendukung juga banyak database.
2.11.3 MySQL Menurut Sidik (2003,pp1-2), MySQL merupakan software sistem manajemen database (Database Management System - DBMS) yang sangat populer dikalangan pemrogram web, terutama di lingkungan Linux dengan menggunakan script PHP, maupun Perl. Sofware database ini telah tersedia juga dalam platform sistem operasi Windows. Kepopuleran Mysql disebabkan karena kemudahannya untuk digunakan, cepat secara kinerja query, dan mencukupi untuk kebutuhan database perusahaan-perusahaan skala menengah – kecil.
70 Database MySQL tersedia secara bebas, dan dapat digunakan secara bebas oleh semua orang. Database MySQL, merupakan database yang menjanjikan sebagai alternatif pilihan database yang dapat digunakan untuk sistem database personal atau organisasi kita.
2.11.4 Apache Menurut West dan Muck (2004,p33) Apache merupakan web server paling populer diantara web server lainnya. Apache merupakan web server yang sifatnya open source dimana web server tersebut dapat digunakan oleh siapapun juga. Penggunaan Apache seringkali dikawinkan dengan penggunaan bahasa program PHP dan database Mysql sebagai pasangannya.
2.11.5 Dreamweaver MX 2004 Macromedia Dreamweaver MX 2004 merupakan suatu editor HTML professional untuk perancangan pengkodean, pengembangan website, halaman web, dan aplikasi web. Deamweaver juga menyediakan tools yang sangat membantu meningkatkan pengalaman dalam pembuatan web yang powerfull. Berbagai fitur visual editing pada Macromedia Dreamweaver MX 2004 mengizinkan anda membuat halaman web dengan cepat tanpa harus menuliskan satu baris kode (www.wikipedia.com).