9
BAB 2 LANDASAN TEORI
2.1 Konsep Analisis dan Perancangan 2.1.1 Pengertian Analisis McLoad
yang
diterjemahkan
oleh
Teguh,
H
(2001)
mendefinisikan, “Analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan merancang sistem baru atau diperbaharui ”. (p.190). Menurut Bodnar dan Hopwood yang diterjemahkan Jusuf, A. A. dan Tambunan, R. M.(2001) menyatakan, “Analisis sistem merupakan tanggung jawab untuk pengembangan rancangan umum aplikasi-aplikasi sistem” (p.356). Jadi dapat disimpulkan bahwa analisis sistem adalah suatu proses penelitian untuk memperoleh informasi atas sistem yang sedang berjalan sehingga menghasilkan rancangan sistem yang baru atau memperbaharui sistem yang telah ada. Selain itu, analisis sistem diartikan sebagaimana dapat memahami dan menspesifikasi dengan detail apa yang harus dilakukan oleh sistem dan suatu sistem tersebut akan dirancang oleh satu orang atau sekelompok orang yang membentuk tim. Biasanya orang yang merancang sistem tersebut dinamakan sistem analis.
10
Analisis sistem memiliki beberapa fungsi diantaranya dapat mengidentifikasikan masalah-masalah dari user, menyatakan secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan user, memilih alternatif-alternatif metode pemecahan masalah serta merencanakan dan menerapkan rancangan sistemnya sesuai dengan permintaan user.
2.1.2
Pengertian Perancangan Bodnar dan Hopwood yang diterjemahkan Jusuf, A. A. dan Tambunan, R. M. (2001) menyatakan, “Perancangan sistem merupakan formulasi spesifikasi rinci dari sistem yang diusulkan” (p.357). Menurut McLeod yang diterjemahkan oleh Teguh, H. (2001) mendefinisikan, “Rancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru” (p.238). Jadi dapat disimpulkan bahwa perancangan sistem adalah penentuan kebutuhan dan formulasi spesifikasi rinci dari sistem berdasarkan hasil analisis yang dilakukan. Perancangan sistem dapat diartikan sebagai tahap setelah analisis dari siklus pengembangan sistem, pendefinisian dari kebutuhan-kebutuhan
fungsional,
persiapan
untuk
rancang
bangun
implementasi, menggambarkan bagaimana suatu sistem dibentuk, dapat berupa penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesalahan yang utuh dan berfungsi dan termasuk menyangkut mengkonfigurasikan dari komponen-
11
komponen perangkat lunak dan perangkat keras dari suatu sistem. Perancangan sistem memiliki dua tujuan utama yaitu untuk memenuhi kebutuhan kepada pemakai sistem dan untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrogram komputer dan ahli-ahli teknik lainnya yang terlibat. Tujuan dari desain sistem secara umum adalah untuk memberikan gambaran secara umum kepada user tentang sistem yang baru. Desain sistem secara umum merupakan persiapan dari desain secara terinci. Desain secara umum mengidentifikasikan komponen-komponen sistem informasi yang akan didesain secara rinci. Desain terinci dimaksudkan untuk pemrogram komputer dan ahli teknik lainnya yang akan mengimplementasi sistem. Tahap desain sistem secara umum dilakukan setelah tahap analisis sistem selesai dilakukan dan hasil analisis disetujui oleh manajemen. Pada tahap desain secara umum, komponen-komponen sistem informasi dirancang dengan tujuan untuk dikomunikasi kepada user bukan untuk pemrogram. Komponen sistem informasi yang didesain adalah model, output, input, database, teknologi dan kontrol.
12
2.2
Teknologi Informasi Teknologi Informasi merupakan suatu istilah dengan cakupan arti yang cukup luas. Secara umum, teknologi informasi adalah suatu bidang yang mencakup sekitar pemanfaatan teknologi untuk menghasilkan informasi, mengelola dan menyimpan informasi, mentransfer dari suatu bentuk ke bentuk yang lain, memindahkan dari suatu tempat 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 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).
13
Menurut Nugraha (2003,p1) istilah TI (Teknologi Informasi) atau IT (Information Technology) yang popular 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.
2.3
Internet 2.3.1 Pengertian Internet dan Sejarahnya Internet adalah singkatan dari Interconnection Networking, atau sering disebut juga sebagai cyberspace, adalah sebuah jaringan komputer yang terdiri dari berbagai macam jaringan komputer di seluruh dunia dengan sistem operasi yang berbeda-beda. Jaringan ini dapat berupa jaringanjaringan lokal berskala kecil, jaringan kelas menengah, hingga jaringanjaringan utama (backbone) yang menjadi tulang punggung internet. Internet memugkinkan suatu jaringan komunikasi global yang tidak hanya menghubungkan para mitra dagang tetapi juga mencakup para pelanggan. Sebagian besar kebangkitan perdagangan melalui jaringan elektronik diharapkan berasal dari perusahaan-perusahaan yang akan mempromosikan,
14
dan dalam beberapa kasus mengirimkan produk mereka melalui internet. Internet dapat digunakan untuk aplikasi bisnis apapun yang melibatkan komunikasi data, termasuk komunikasi baik di dalam perusahaan maupun dengan lingkungan (McLeod, 2001, p.73). Menurut Hasyim (2003,p2) internet merupakan jaringan global yang menghubungkan suatu network dengan network lainnya di seluruh dunia, TCP/IP menjadi protocol penghubung antara jaringan-jaringan yang beragam di seluruh dunia untuk dapat berkomunikasi. Internet yang populernya disebut net diciptakan pada tahun 1969 untuk Departemen Pertahanan Amerika. Bantuan dana dari Advanced Research Agancy (ARPA) memungkinkan peneliti untuk bereksperimen 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 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 bentuk email ataupun artikel yang diletakan pada forum diskusi elektronik
15
yang dikenal dengan usenet news group. Pada pertengahan 1990 kemunculan World Wide Web membuat internet menjadi lebih popular 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.3.2
Intranet Intranet mirip sebuah internet yang kecil yang berpasangan dengan manajemen informasi dan alat-alat akses dari world wide web, keseluruhan dari jaringan organisasi. Aplikasi yang digunakan dalam internet seperti email, newreaders, dan web browser semuanya dapat digunakan sebaik internet. Dapat dipilih untuk menghubungkan intranet ke internet atau dapat juga diputuskan untuk membiarkan intranet secara lokal tanpa dihubungkan dengan internet. Intranet adalah konsep LAN yang mengadopsi teknologi internet yang diperkenalkan pada akhir tahun 1995. Intranet adalah LAN yang menggunakan komunikasi dan segala fasilitas internet. Umumnya intranet juga terkoneksi ke internet sehingga memungkinkan pertukaran informasi dan data dengan jaringan internet lainnya (internet working) melalui backbone internet. Kompatibilitas intranet sangat tinggi terhadap sistem lainnya, sehingga mudah diterapkan, dipelajari, dikembangkan, dan dikonfigurasi ulang. Dukungan aplikasi, program dan sistem operasi yang luas akibat dari popularitas internet menjadikan intranet sebagai masa depan
16
LAN. Keistimewaan fasilitas intranet yang tidak terdapat pada jaringan lokal (LAN) konvensional adalah: •
Tampilan WEB (grafis, multimedia) pada sistem operasi, navigasi, aplikasi maupun databasenya.
•
Fasilitas standar internet seperti e-mail, transfer file (FTP), emulasi terminal jarak jauh, dan pengendalian peralatan network jarak jauh.
•
Aplikasi internet seperti search engine, mailing list, newsgroup, archie, gopher,dan sebagainya.
•
Script Programming Universal Common Gateway Interface (CGI), Perl, Visual Basic, C, dan Java yang mendukung operasi database.
•
Dukungan integrasi database dan kompatibilitas dengan perangkat lunak yang telah ada seperti dengan Foxpro, SQL, maupun Oracle.
•
Teknologi LAN seperti manajemen database sistem terdistribusi, client server, sharing resource dan peripheral tetap dipertahankan.
2.3.3
World Wide Web World Wide Web atau biasa disebut dengan web adalah suatu sistem server yang besar dan mengatur berbagai macam informasi yang dapat berupa teks, gambar maupun suara. Untuk mendapatkan informasi tersebut diperlukan sebuah program client yang disebut dengan browser. World Wide Web merupakan bagian yang tepenting dari internet, diciptakan di CERN, pusat riset Swiss sebagai sebuah proyek akademik.
17
Dalam proyek ini mencoba untuk menyediakan akses ke berbagai sumber informasi dengan mengaitkannya tidak hanya pada dokumen saja yang melalui HTTP (Hypertext Transfer Protocol), akan tetapi FTTP dan WAIS. Dengan WWW diperkenalkan konsep rich text dan multimedia didalam elemen internet, jadi dokumen yang selama ini hanya berbentuk text sekarang dapat ditambah grafik maupun suara. Istilah-istilah World Wide Web (Mcleod. 2001, p.75): Website, ini mengacu pada sebuah komputer yang dikaitkan ke Internet yang berisi hypermedia yang dapat diakses dari komputer lain melalui suatu hyperlink. Hypertext Link, ini mengacu pada suatu petunjuk yang terdiri dari teks atau grafik yang digunakan untuk mengakses hypertext yang disimpan di website. Teks itu biasanya digaris bawahi dan ditampilkan dalam warna biru. Web Page, ini mengacu pada suatu file hypermedia yang disimpan di suatu web site, yang diidentifikasi oleh suatu alamat yang unik. Home Page, ini mengacu pada halaman pertama dari suatu web site. Halaman-halaman lain di site tersebut dapat dicapai dari home page. URL (Universal Resource Locator), ini mengacu pada alamat dari suatu web page. Browser, ini mengacu pada suatu sistem perangkat lunak yang memungkinkan kita mengambil hypermedia dengan mengetikkan parameter pencarian atau mengklik suatu grafik. Kemampuan ini membebaskan kita dari keharusan untuk mengetahui URL dari web page yang berisi informasi yang kita butuhkan. Browser disebut juga search engine. FTP (File Transfer
18
Protocol), ini mengacu pada perangkat lunak yang memungkinkan kita menyalin file ke komputer kita dari website mana saja.
2.3.4
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.
2.3.5 Web Server Menurut Nugroho(2004, p5), secara global server dapat diartikan sebagai pusat dan difungsikan sebagai pelayan yang berguna untuk pengiriman data dan penerimaan
data serta mengatur pengiriman dan
penerimaan data diantara komputer-komputer yang tersambung atau dengan kata lain server berfungsi menyediakan pelayanan terhadap klien. Sedangkan web server menurut Nugroho(2004, p6) adalah sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau homepage. Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program server yang disebut Personal Web Server (PWS). PWS difungsikan agar halaman web yang ada di dalam
19
sebuah komputer server dapat dipanggil oleh komputer client.
2.3.6
Web Browser Menurut Hasyim (2003,p3) web browser merupakan software yang di install di mesin client yang berfungsi untuk menterjemahkan tag-tag HTML menjadi halaman web. Browser yang sering digunakan biasanya Internet Explorer, Netscape Navigator dan masih banyak yang lainnya. 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.4
Rekayasa Piranti Lunak 2.4.1
Pengertian Rekayasa Piranti Lunak Menurut pressman(2001,20), rekayasa piranti lunak adalah penerapan
dan
penggunaan
prinsip-prinsip
rekayasa
dalam
usaha
menghasilkan piranti lunak yang ekonomis, dapat dihandalkan dan berkerja secara efisien pada mesin yang sesungguhnya paradigma rekayasa piranti lunak yang sering digunakan adalah the Classic Life Cycle atau lebih dikenal dengan Waterfall model (pressman,2001,p28-29).
20
Gambar 2.1 Waterfall Model
Tahapan-tahapan yang dilakukan dalam waterfall model ini adalah : a. Tahapan analisis Tahap ini dilakukan analisis dan penentuan definisi kebutuhan dari sistem yang akan dibuat. Kebutuhan sistem yang telah didapat dikembangkan dan dibuat diagram konteks sistem. Tahapan ini sangat penting dalam pembuatan suatu sistem karena tahap analisis merupakan langkah awal untuk mengetahui kebutuhan dan pembentukan suatu sistem, apabila dalam menganalisis terjadi kesalahan maka langkah selanjutnya tidak akan berjalan sempurna.
21
b. Tahapan perancangan Desain sistem merupakan tahapan kedua dari metode waterfall. Pada tahapan ini merancang dan membuat desain sistem dan desain antarmuka sistem. Desain sistem meliputi desain dari database yang digunakan dalam sistem. c. Tahapan implementasi Tahapan ini dilakukan setelah semua rancangan sistem dibuat. Tahapan implementasi merubah rancangan dan kebutuhan sistem ke dalam pengkodean program. Sistem yang dibuat secara nyata akan dihasilkan dari proses ini. d. Tahapan pengujian Tahap pengujian merupakan tahapan selanjutnya setelah proses pengkodean sistem. Pengujian dilakukan dengan cara menjalankan sistem yang telah dibuat kemudian dicari kesalahan-kesalahan dari sistem tersebut dan menyamakan fungsi dari sistem yang dibuat dengan kebutuhan dari sistem yang telah dianalisis sebelumnya. Apabila terdapat kesalahan atau kekurangan dari sistem, maka akan diperbaiki dan ditambahkan sesuai dengan kebutuhan. e. Tahapan pemeliharaan Setelah proses pengkodean selesai, dilakukan pengujian sampai semua perintah selesai diuji. Pengujian ini bertujuan untuk menemukan kesalahan dan memastikan keluaran yang dihasilkan sesuai dengan apa
22
yang diharapkan. Piranti lunak ini akan mengalami perbaikan secara terus menerus setelah dipergunakan oleh pengguna dan apabila terjadi perubahan
karena
terjadinya
kesalahan,
hal
ini
menyebabkan
diperlukannya perbaikan fungsional dan unjuk kerja piranti lunak. Pemeliharaan piranti lunak menawarkan setiap langkah daur hidup yang terdahulu menjadi program yang sudah daripada membuat suatu program yang baru.
2.4.2
Elemen Pokok Rekayasa Piranti Lunak 1. Process Pada proses RPL merupakan perekat yang mengikat lapisanlapisan teknologi secara bersama dan memampukan perangkat lunak komputer untuk berkembang secara tepat waktu dan rasional. Proses menggambarkan suatu kerangka kerja untuk sekumpulan dari Keys Proses Area (KPAs) yang harus diterapkan untuk keefektifan pengiriman dari teknologi rekayasa piranti lunak. Key process areas merupakan bentuk dasar bagi kontrol manajemen dari proyek-proyek piranti lunak dan menerapkan konteks dimana metode teknis dapat diterapkan. Produk kerja (model, dokumen, data, laporan, bentuk, dll) yang di produksi, kualitas yang dipastikan, dan perubahan yang diatur dengan baik.
23
2. Methods Metode Rekayasa Piranti Lunak menyediakan teknik bagaimana cara untuk membangun piranti lunak. Metode yang meliputi suatu ruang lingkup tugas yang luas yang meliputi analisa kebutuhan, desain, konstruksi program, pengujian, dan dukungan. Metode rekayasa piranti lunak bergantung pada sekumpulan prinsip-prinsip dasar yang memerintah tiap area dari teknologi dan meliputi kegiatan modeling dan teknik deskriptif lainnya. 3. Tools Peranan Rekayasa Piranti lunak menyediakan dukungan yang otomatis dan semi-otomatis bagi proses dan metode-metodenya. Ketika peralatan itu terintegrasi, maka informasi yang dibentuk oleh suatu alat dapat digunakan oleh yang lainnya. Suatu sistem yang mendukung perkembangan piranti lunak disebut Computer-Aideds Software (CASE), telah didirikan. CASE merupakan kombinasi dari software, hardware, dan suatu basis data rekayasa piranti lunak (sebuah tempat penyimpanan yang berisi informasi penting tentang analisis, desain, konstruksi program, dan pengujian untuk menciptakan suatu lingkungan analogis rekayasa piranti lunak CAD/CAE (computer-aided design / engineering) untuk perangkat keras.
24
2.4.3
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 menyimpan 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)
25
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. 2. Struktur data yang memungkinkan 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 Software dikonsentrasikan kepada pengembangan. Hal ini berarti proyek Software tidak dapat diatur seperti pengaturan proyek-proyek 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.
26
2.4.4
Model Proses Software 2.4.4.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 bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut bisa digunakan pendekatan prototype paradigm. Prototype paradigm dimulai
dengan
mengumpulkan
kebutuhan-kebutuhan customer. Developer dan customer bertemu dan
mendefinisikan
objektif
software
secara
menyeluruh,
mengidentifikasi kebutuhan-kebutuhan 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 tersebut bisa berjalan.
27
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.itssby.edu/kurikulum/materi/rpl/rad%20model.htm )
2.5
Antar Muka Pemakai 2.5.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 ini adalah membuat program lebih mudah dan menarik bagi penggunanya, oleh sebab itu perancangan antarmuka pemakai (user interface) harus memudahkan pemakai dalam mengakses aplikasi ini. 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 konsistensi dalam warna, tampilan, huruf kapital, font, menu. Yang penggunaannya harus konsisten untuk seluruh tampilan piranti lunak.
28
2. Memperbolehkan pemakai yang rutin untuk menggunakan jalan pintas (enable frequent users to use shortcuts). Semakin sering kegiatan dilakukan, kadang pengguna memerlukan caracara 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 informative memberikan kepuasan bagi pemakai, memberikan perasaan lega, menghilangkan keraguan, 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
29
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 menjadi 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 begitu 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 dikelompokan. Jika memungkinkan, diberikan fasilitas online untuk mencari sintaks singkatan-singkatan, kode-kode, dan informasi lain yang diperlukan.
30
2.5.2
Kesalahan Dalam Merancang Antar Muka Pemakai Menurut
http://www.useit.com/alertbox/9605.html
ada
10
(Sepuluh) kesalahan terbesar di dalam perancangan user interface pada web desain. 10 (Sepuluh) kesalahan terbesar itu adalah: 1. Pencarian yang buruk. 2. File PDF untuk membaca secara online. 3. Tidak merubah warna dari link yang dikunjungi. 4. Teks non-scanable. 5. Ukuran huruf yang tetap. 6. Judul halaman dengan keterihatan 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.6
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
31
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 interaksi dan komunikasi. 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.
32
2.7
Perancangan Desain 2.7.1
Application Design Menurut Connoly 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. Dalam perancangan aplikasi harus memastikan semua pertanyaan fungsional dai spesifikasi kebutuhan pemakai (user requirement spesification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu 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”
33
2.7.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, prototype tidak digunakan lagi atau dibuang. Sedangkan evolutionary prototype menggunakan tujuan yang sama, tetapi perbedaannya adalah prototype tetap digunakan.
2.7.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
34
Data Definition Language (DLL) 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.7.4
Data Concertion and Loading Menurut Connoly dan Begg (2002, pp292-293), data convesion and loading adalah mengambil data dari sistem yang lama untuk dipindahkan ke dalam sistem yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru manggantikan sistem yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan untuk memasukkan file ke dalam basis data baru. Biasanya membutuhkan spesifikasi dari sumber file 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.
35
2.7.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.
36
2.7.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 di terima, 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 strategi eksekusi query. Basis data administrator dapat menggunakan informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik.
2.8
Alat Bantu Perancangan Sistem 2.8.1
UML (Unified Modelling Language) Menurut Lethbridge, dan Laganiere (2001,pp151-152), UML adalah bahasa graphical standar yang digunakan untuk memodelkan software object-oriented. Dikembangkan pada pertengahan 1990 dari hasil
37
usaha kolaborasi antara James Rumbaugh, Grady Booch, dan Ivar Jacobson, dimana sebelum mereka telah mengembangkan notasi mereka masing-maing 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 seperti : Microsoft, Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, 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 (Sembilan) buah diagram, dengan penambahan Business Use Case diagram. Pada Mei 2001 lahirlah UML versi 1.4, menjadi 10 (Sepuluh) buah diagram, dengan penambahan Object Diagram.
38
Pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram, dengan penambahan dan penggantian yaitu: 1. Use CaseDiagram 2. Activity Diagram 3. Sequence Diagram 4. Communication Diagram (Collaboration diagram in verson 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 10. Interaction Overview Diagram 11. Object Diagram 12. Package Diagram 13. Timing Diagram
Kegunaan UML adalah sebagai berikut: •
UML sebagai bahasa visualisasi digunakan untuk merancang suatu model yang dapat dibaca oleh banyak orang dengan pengertian yang sama.
39
•
UML bahasa pendefinisian digunakan untuk mendefinisikan dengan rinci seluruh hasil analisis, desain, dan implementasi yang harus dilakukan dalam pengembangan sistem.
•
UML
sebagai
bahasa
dokumentasi
digunakan
untuk
mendokumentasikan arsitektur beserta perinciannya, unsure-unsur yang dibutuhkan dalam pengembangannya. Serta perencanaan dan implementasi proyek secara keseluruhan dengan symbol-simbol yang mudah dimengerti.
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
pendesain software untuk mempresentasikan 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:
40
1. Class Diagram 2. Use Case Diagram 3. Sequence Diagram 4. Activity Diagram 5. Statechart Diagram
2.8.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. Objek adalah entity yang mengengkapsulasi state dan behavior. Dalam UML kelas digambarkan dengan sebuah kotak yang isinya berupa properti dan fungsi / method.
Rectangle
Rectangle
Rectangle
Rectangle
width height
getArea resize
width height getArea resize
Gambar 2.2 Bentuk Penyajian Class Diagram
41
2.8.1.1.1
Association and Multiplicity Menurut Lethbridge, dan Laganiere (2001,p155) Association digunakan untuk menunjukan bagaimana hubungan dua kelas yang saling berhubungan antara satu dan lainnya. Multiplicity
digunakan
untuk
menunjukan
berapa banyak instance dari sebuah kelas yang di akhir satu dapat saling berasosiasi dengan instance lainnya yang berada di akhir dua.
2.8.1.1.2
Generalization Generalisasi atau sering juga disebut Gen-Spec (Generalization-Specialization). Pada UML digunakan untuk menggambarkan konsep inheritance pada suatu kelas.
2.8.1.1.3
Aggregation Menurut
Lethbridge,
dan
Laganiere
(2001,pp169-171) Aggregation adalah asosiasi yang sifatnya khusus, aggregation merepresentasikan relasi part-whole. Sisi whole dari relasi sering kali disebut sebagai assembly atau aggregate. Aggregation ini
42
sering juga disebut sebagai hubungan part of antara kelas satu dengan lainnya. Pada aggregation jika symbol diamond-nya berwarna hitam maka aggragation tersebut menunjukan 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 ruanganruangan. Apabila 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.
2.8.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.
43
Actors adalah entity eksternal yang berinteraksi dengan sistem. Contoh actors adalah (Pengguna sistem, administrator system, customer bank, bank Teller) dan mungkin sistem lain di luar sistem kita. Secara grafik menggambarkan interaksi antara sistem, halhal di luar sistem, dan user. Dengan kata lain, mereka menggambarkan siapa yang akan memakai sistem dan dengan cara itu seorang user akan berinteraksi dengan sistem. Use-case merupakan urutan urutan langkah yang secara tindakan saling terkait (skenario), baik termotivasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal.
Gambar 2.3 Contoh Diagram Use-case
44
Notasi yang digunakan dalan use-case diagram antara lain: 1. Actor Adalah posisi yang dimiliki user terhadap sistem. Yang menjadi actor dapat berupa manusia, hardware atau sistem lain yang berhubungan dengan sistem yang berjalan. Atau actor adalah sesuatu yang memerlukan interaksi dengan sistem untuk bertukar informasi. 2. Use-case Symbol Menggambarkan sekumpulan urutan, dimana setiap urutan mewakili intervensi antara actor dengan sistem. Use case symbol
merepresentasikan
fungsionalitas
sistem
secara
keseluruhan. 3. Deskripsi Use Case Bagian umum kejadian use-case adalah deskripsi usecase, yaitu langkah demi langkah mulai dengan pelaku menginisialisasi use-case dan melanjutkannya hingga akhir kejadian bisnis. Dimana dalam deskripsi use-case terdapat: •
Nama use-case (use-case), merupakan nama dari suatu usecase.
•
Aktor (actor), pelaku yang berpartisipasi di dalam suatu use-case.
•
Tujuan (goals), tujuan dari use-case.
45
•
Prakondisi (precondition), batasan pada keadaan sistem sebelum use-case dapat dieksekusi.
•
Ringkasan (summary), deskripsi ringkasan pendek yang berisi jumlah kalimat yang menunjukkan secara garis besar tujuan use-case dan berbagai kegiatannya.
•
Related use-case, use-case yang saling berhubungan.
•
Langkah-langkah (steps), menjelaskan setiap langkah dari use-case dengan menggunakan dua kolom, dimana kolom sebelah kiri menunjukkan aksi dari pelaku dan kolom sebelah kanan merupakan respon yang diberikan oleh sistem.
2.8.1.2.1
Scenarios Menurut Bruegge, dan Dutoit (2000,p41) Use Case adalah sebuah abstraksi yang menjelaskan semua kemungkinan scenario yang ada melibatkan semua fungsionalits yang ada. Sedangkan Scenario adalah instance dari use case yang menjelaskan sekumpulan aksi secara konkrit.
46
2.8.1.2.2
Extension, Specialization and Inclusion Menurut
Lethbridge,
dan
Laganiere
(2001,pp238-239), ketika sebuah actor berinteraksi dengan sistem, perbedaan urutan dari suatu event-event seringkali terjadi. Sehingga actor atau sistem akan melakukan reaksi yang berbeda pada langkah-langkah tertentu manapun. Extention digunakan untuk membuat interaksi eksplisit 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 menjelaskan
interaksi
tambahan
apabila
actor
memutuskan untuk mencari file tersebut pada lokasi lainnya. Specialization penggunaannya hampir sama dengan subclasses dari class diagram. Use case yang umum merepresentasikan beberapa use case yang sama. Satu atau lebih specialization menyediakan detail dari use case yang sama. Inclusion
memungkinkan
kita
untuk
mengekspresikan bagian dari suatu use case sehingga
47
kita dapat menangkap keumuman antara beberapa use case yang sama.
2.8.1.3
Sequence Diagram Menurut Lethbridge, dan Laganiere (2001,pp270-273) Sequence diagram digunakan untuk menunjukan 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 diletakan 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. Sequence diagram menggambarkan serangkaian messages yang mengalami pertukaran yang dilakukan oleh object (dapat juga berupa actor) yang melakukan tugas tertentu. Sequence diagram antara lain tersusun atas sekumpulan object-object yang akan dipergunakan untuk interaksi, activation box yaitu kotak yang menyatakan lifeline (daur hidup) dari suatu tugas yang sedang dilakukan. Pesan yang dikirim dimulai dari suatu actor atau object, dan kita dapat memberikan label pada pesan yang dilakukan.
48
(Lethbridge dan Laganiere, 2002, pp270-271).
G a Gambar 2.4 Contoh Sequence Diagram
Dari sequence diatas menjelaskan bagaimana siklus yang terjadi di satu restoran dimana ada pemesanan makanan dan minuman. Semua garis horizontal yang berfungsi sebagai pesan terjadi berurutan sesuai dengan urutan kejadian.
49
Sequence diagram menggambarkan aksi yang terjadi dalam suatu sistem, pemanggilan dari metode-metode di setiap objek, dan urutan dimana pemanggilan tersebut terjadi termasuk di dalam sequence diagram. Hal ini membuat Sequence diagram sebagai suatu tool yang sangat berguna untuk menjelaskan perilaku dinamis dari sebuah sistem. Karena penggunaan nama kelas dan referensi nama objek, Sequence diagram menjadi sangat berguna dalam menjabarkan desain dinamis, urutan, dan asal pemanggilan dari suatu objek.
2.8.1.4
Activity Diagram Menurut
Wikipedia
(http://en.wikipedia.org/),
Activity
diagram merepresentasikan bisnis dan juga workflow operational 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.
50
Receive course registration request
Chek
Verify course not full
not ok not ok ok Chek special permision
not ok
Receive course registration request
Gambar 2.5 Contoh Activity Diagram
Activity Diagram / diagram aktivitas adalah sebuah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use-case atau logika behavior object. Diagram ini serupa dengan flowchart, dimana secara grafis diagram ini meggambarkan aliran sekuential dari kegiatan baik itu proses bisnis atau sebuah use-case. Diagram ini berbeda dengan flowchart dimana diagram ini menggambarkan mekanisme kegiatan secara paralel.
51
Oleh karena itu, diagram ini sangat berguna untuk memodelkan kegiatan yang akan dilakukan saat sebuah operasi dieksekusi dan untuk memodelkan hasil-hasil dari kegiatan ini seperti memodelkan event yang menyebabkan window akan ditampilkan atau ditutup. Dibawah ini merupakan simbol-simbol yang ada pada diagram aktivitas : •
Initial Node Lingkaran yang diisi penuh merupakan awal mulainya dari diagram ini. Initial node tidak harus ada, tetapi dengan menggunakannya membuat diagramnya lebih mudah untuk dibaca.
•
Activity Segi empat bersudut tumpul menggambarkan kegiatan yang perlu dilakukan. Suatu activity bisa secara fisik, seperti Inspect Forms, atau secara elektronik, seperti Display Create Student Screen.
•
Control Flow Panah yang ada di diagram, menggambarkan sasaran yang mengawali kegiatan.
52
•
Fork Bar hitam dengan satu flow yang mengarah ke dalamnya dan beberapa flow lainnya meninggalkannya, merupakan bar sinkronisasi dimana kegiatn dapat dilakukan
•
Join Bar hitam dengan beberapa flow mengarah ke dalamnya dan ada satu flow yang meninggalkannya, merupakan bar sinkronisasi dimana beberapa aktivitas yang mempunyai tujuan yang sama dan tujuan dari keduanya digabung menjadi satu.
•
Decision Gambar sebuah wajik, menggambarkan sebuah kegiatan keputusan secara paralel.
•
Final Node Gambar lingkaran yang diisi penuh dan ada batas lagi di luarnya, menggambarkan akhir dari sebuah proses.
2.8.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.
53
Harel statechart (dikembangkan pada tahun 1987 oleh David Harel) mendapatkan tempat yang baik sejak menjadi bagian dari dari pada UML. Diagram ini diperbolehkan untuk dapat membuat “state super”, “state awal” dan aktifitas menjadi satu bagian state. State classic adalah diagram yang terpisah, sebab mesin hanya bisa di dalam satu state, dengan harel state memungkinkan untuk model dan mesin, dimana mesin terdapat dalam lebih dari satu state secara bersamaan. Selain itu, ada dua simbol lain yang dipergunakan yaitu : 1. Start state, yaitu yang berupa simbol lingkaran hitam, berfungsi saat sistem atau objek memulai prosesnya. Dari start state,
akan
memunculkan
transisi
tak
berlabel
yang
berlangsung mengarah pada state lain yang ditunjuknya. Di dalam setiap start chart diagram hanya terdapat suatu start state. 2. End State, berupa lingkaran hitam yang paling dikelilingi lingkaran yang lebih besar dan berwarna putih. End state menandakan sistem atau objek telah menyelesaikan proses kerjanya. End state dapat berjumlah lebih dari satu. (Lethbridge dan Laganiere, 2002, pp276-277)
54
XTurn
Xwin
Tie OTurn
Owin
Gambar 2.6 Contoh State Chart Diagram
2.8.1.6
Entity Relationship Diagram (ERD) Entity adalah sebuah objek dalam dunia nyata yang dapat dibedakan dari objek lainnya. Karena setiap entity memiliki atribut yang berbeda dan setiap atribut tersebut memiliki nilai. Sedangkan relationship adalah asosiasi diantara beberapa entity. Jadi entity relationship diagram adalah suatu diagram yang mengekspresikan keseluruhan struktural logika dari sebuah basis data. Mapping cordinalities atau cordinality ratio adalah mengekspresikan jumlah entity yang terhubung dengan entity lainnya yang dapat diasosiasikan dengan relationship set. Mapping cordinalities sangat berguna dalam menjelaskan binary relationship sets. Tipe-tipe mapping cordinalities : •
One to one : sebuah entity di A diasosiasikan memiliki hubungan tepat satu dengan entity di B, dan sebaliknya.
55
•
One to many : sebuah entity di A diasosiasikan memiliki banyak hubungan dengan entity di B, dan entity di B diasosiasikan memiliki hubungan tepat satu dengan entity di A.
•
Many to one : sebuah entity di A diasosiasikan memiliki hubungan tepat satu engan entity di B, dan entity di B diasosiasikan memiliki banyak hubungan dengan entity di A.
•
Many to many : sebuah entity di A diasosiasikan memiliki banyak hubungan dengan entity di B, dan sebaliknya.
2.9
Alat –Alat Aplikasi Berbasis Web 2.9.1
ASP.Net Banyak sekali Website yang digunakan pada saat ini untuk menampilkan informasi atau menjadi proses bisnis perusahaan itu sendiri atau sekedar menjadi profile company perusahaan, banyak bahasa pemrograman yang dapat digunakan untuk membuat website. Programmer menentukan bahasa apa yang paling dibutuhkan dan disesuaikan dengan perangkat server yang di dukung, dan ASP.Net pun menjadi salah satu bahasa yang digemari akhir-akhir ini karena kecanggihan baik dalam teknologi, tampilan dan dukungan terhadap environment yang ada. Setelah merilis Internet Information Services 4,0 pada tahun 1997, Microsoft mulai menyelidiki kemungkinan baru untuk aplikasi web model yang akan memecahkan tentang ASP, terutama dalam hal pemisahan dan
56
konten presentasi dan dapat untuk menulis "bersih" kode. Mark Anders, seorang manajer tim di IIS, dan Scott Guthrie yang telah bergabung dengan Microsoft pada tahun 1997 setelah lulus dari Duke University, yang bertugas dengan menentukan apa yang akan terlihat seperti model. Desain awal yang telah dikembangkan selama dua bulan oleh Anders dan Guthrie dan kode awal prototype selama liburan Natal tahun 1997 Scott Guthrie pada tahun 2007.
Awal prototype disebut "XSP" Guthrie
menjelaskan dalam sebuah wawancara. XML dimulai dengan XSLT yang dimulai dengan X, sehingga dari awalnya bernama X. Awal prototype dari XSP dilakukan menggunakan Java, tetapi ia segera memutuskan untuk membangun platform baru di atas Common Language runtime (CLR), karena objek yang berorientasi program lingkungan, dan fitur-fitur lain yang dianggap sebagai fitur yang diinginkan Microsoft, sehingga komponen objek model platform tidak mendukung. Keputusan Guthrie ini dijelaskan sebagai "resiko besar", sebagai keberhasilan mereka terhadap web platform pengembangan yang akan terikat dengan keberhasilan CLR. Masih dalam tahap awal pembangunan, sehingga banyak XSP Tim pertama adalah tim di Microsoft untuk menargetkan CLR. Dengan pindah ke Common Language Runtime, XSP telah kembali diterapkan di C # (internal dikenal sebagai "Proyek Cool" tetapi tetap rahasia dari masyarakat), dan diubah namanya menjadi LEU +, oleh karena itu platform yang baru dilihat sebagai penerus aktif ke Server
57
Pages, dan bertujuan untuk menyediakan jalur migrasi yang mudah bagi pengembang ASP. Kemudian Microsoft mengeluarkan ASP. ASP.Net sendiri merupakan pengembangan dari ASP 3.0, kemudian pada ASP.Net muncul pertama kali pada tahun 2000 yaitu ASP.Net 1.0 yang di release pada 5 Januari 2002 dengan .Net Framework versi 1.0 pada saat itu. Perbedaan ASP dengan ASP.Net untuk mengakses library dan mendukung bahasa pemrograman yang ada pada Visual Studio seperti VB.Net. C#, dan ASP.Net, dengan adanya framework ini diharapkan dapat membuat menjadi lebih ringkas dan cepat dikarenakan penggunaan framework dapat mengurangi jumlah script yang dibuat.
2.9.2
Ajax Ajax pertama kali dipulikasikan oleh Jesse James Garrett pada bulan februari 2005. Meskipun era ajax dimulai tahun 2005, sebelumnya Microsoft berinisiatif untuk mengembangkan Remote Scripting. Pengertian Remote Scripting itu sendiri yaitu teknik untuk loading content secara asinkronus di halaman web tanpa harus mereload semua isi seperti halnya IFRAME yang diperkenalkan Internet Explorer 3 pada tahun 1996 dan LAYER yang diperkenalkan netscape 4 pada tahun 1997. Kedua jenis elemen diatas memiliki atribut Src yang bisa mengambil URL external dan
58
dapat dengan mudah meload isi url. Ajax pun memiliki kemampuan seperti itu. Microsoft
mulai
membuat
objek
XmlHttpRequest
untuk
menggantikan Microsoft remote scripting (atau MSRS, diperkenalkan tahun 1998). Dan mulai digunakan secara nyata pada Outlook Web Access dan Internet Explorer 5. Ajax merupakan singkatan asynchronous java script dan xml merupakan teknik pengembangan web untuk menciptakan aplikasi web yang interaktif. Ajax membuat web page menjadi lebih responsive dengan mengakses hanya sebagian kecil data di server yang dilakukan dibelakang layar, sehingga seluruh isi web tidak harus diload ulang setiap kali user merequest sebuah perubahan. Dengan kata lain ajax meningkatkan interaktif, kecepatan dan usability. Ajax merupakan kombinasi dari beberapa teknik seperti : 1. HTML dan CSS untuk tampilan. 2. DOM dan javascript untuk tampilan dinamis dan berinteraksi dengan informasi yang ada. 3. XmlHttpRequest untuk pertukaran data secara asynchoronous dengan web server. 4. Xml digunakan sebagai format untuk transfer data antara server dan client.
59
Alasan menggunakan ajax, antara lain : •
User Interface Alasan yang paling nyata dari penggunaan ajax adalah perbaikan dari experience user. Halaman web yang menggunakan ajax memiliki sifat seperti desktop application (stand-alone) daripada halaman web pada umumnya. Meng-klik link menyebabkan seluruh halaman di refresh dan itu merupakan operasi yang “berat” untuk dilakukan. Dengan ajax, halaman akan sering bisa diupdate secara dinamis dan menghasilkan respon yang cepat dalam interaksi dengan user.
•
Penggunaan Bandwith Dengan meng-generate HTML secara lokal di browser, dan dengan hanya membawa perintah javascript dan data sebenarnya, halaman web ajax bisa meload relatif lebih cepat karena data yang dikirim berukuran kecil.
•
Pemisahan data, tampilan dan fungsi Keuntungan
spesifik
dari
pendekatan
ajax
adalah
cenderung
membolehkan programmer untuk memisahkan method dan format aspek yang berbeda dari pengantaran informasi via web. Pemisahan itu sebagai berikut :
60
¾ Data asli yang di embedded di XML, dan diturunkan langsung dari database server. ¾ Format atau struktur dalam web, biasanya dalam bentuk HTML dan format tersebut dapat dimanipulasi secara dinamis melalui DOM. ¾ Style elemen dari halaman web menggunakan embedded atau reference CSS. ¾ Fungsionalitas dari web disediakan dari kombinasi javascript, XmlHttp untuk komunikasi client-server dan server side scripting (php,asp,jsp) untuk menerima request dan menghantarkan respon ke client.
2.9.3
Microsoft Visual Studio 2008 Express Microsoft
visual
studio
adalah
Integrated
Development
Environment (IDE) dari Microsoft. Dapat digunakan untuk mengembangkan konsol dan grafis antarmuka pengguna dengan aplikasi Windows Formulir aplikasi, situs web, aplikasi web, dan layanan web di kedua kode asli yang sama dengan kode dikelola untuk semua platform yang didukung oleh Microsoft Windows, Windows Mobile, Windows CE,. NET Framework,. NET Compact Framework dan Microsoft Silverlight. Visual studio express mencakup kode editor mendukung IntelliSense serta kode refactoring. Yang terpadu debugger berfungsi baik sebagai sumber level debugger dan mesin-level debugger Built-in lainnya
61
termasuk alat untuk membangun bentuk desainer GUI aplikasi, web designer, kelas designer, dan database skema desainer. Hal ini memungkinkan
plug-in
yang
akan
ditambahkan
meningkatkan
fungsionalitas yang hampir di setiap tingkat termasuk dukungan untuk menambahkan sumber kontrol sistem (seperti Subversion dan Visual SourceSafe) untuk menambahkan toolsets baru seperti editor dan desainer visual untuk domain spesifik-bahasa atau toolsets untuk aspek-aspek lain dari pengembangan perangkat lunak Lifecycle (seperti Team Foundation Server klien Tim Explorer). Visual Sstudio express mendukung bahasa dengan layanan bahasa, yang memungkinkan setiap bahasa pemrograman yang akan didukung oleh kode editor dan debugger, menyediakan bahasa khusus layanan telah authored. Dukungan untuk bahasa lain seperti Chrome, F #, Python, dan Ruby antara lain telah disediakan melalui layanan bahasa yang akan diinstal secara terpisah, dan juga mendukung XML / XSLT, HTML / XHTML, JavaScript dan CSS. Bahasa spesifik versi Visual Studio juga ada yang menyediakan layanan bahasa lebih terbatas bagi pengguna. Setiap paket ini dipanggil Microsoft Visual Basic, Visual J #, Visual C #, dan Visual C + +.
62
2.9.4
Oracle 9.i The Oracle Database (umumnya disebut sebagai RDBMS Oracle atau Oracle) penghubung yang terdiri dari sistem manajemen database (RDBMS) yang diproduksi dan dipasarkan oleh Oracle Corporation. Pada 2009, Oracle masih sangat besar di database komputer. Dewasa ini perkembangan oracle sangat pesat, ini terbukti dengan banyaknya perusahaan besar yang telah beralih ke Oracle untuk masalah database perusahaan mereka. Oracle 9i adalah aplikasi RDBMS (Relational Database Management System) yang sungguh hebat. Aplikasi tersebut cukup banyak memiliki fitur salah satunya penggunan Stored Procedure atau yang biasa dikenal dengan PL/SQL. Oracle merupakan aplikasi yang mudah untuk berkolaborasi dengan aplikasi lain. Contohnya adalah oracle dapat dengan mudah kita gunakan berdampingan dengan Web ataupun dengan aplikasi database lain. Dalam pembuatan Front End anda juga tidak perlu dipusingkan dengan berbagai macam tools, biasanya tools pembantu dalam pembuatan Front End seperti Form and Reports adalah Oracle Developer. Pada oracle 9i, oracle menyediakan infrastruktur tingkat tinggi untuk e-Business. Oracle 9i mencakup semua hal yang dibutuhkan untuk mendevelop, men-deploy, dan mengelola aplikasi berbasis web. Oracle9i ada dua produk yaitu Oracle9i Application Server dan Oracle 9i Database, yang menyediakan infrastruktur yang lengkap dan sederhana untuk aplikasi
63
internet. Oracle 9i mengatur semua data dan tidak hanya merupakan object relational data yang mengatur enterprise database, tapi juga data yang tidak terstruktur semisal spreadsheets, word document, presentasi power point, XML, tipe data multimedia semisal MP3, graphics, video, dll. Data tidak harus tersimpan dalam database, tapi Oracle 9i menyediakan fasilitas yang memungkinkan kita untuk menyimpan metadata tentang informasi yang disimpan dalam file sistem.
Database server dapat digunakan untuk
mengatur dan menyediakan pelayanan informasi ditempat dimana data disimpan. Suatu sistem database Oracle diidentifikasi oleh sebuah sistem alfanumerik identifier atau SID terdiri setidaknya satu contoh dari aplikasi tersebut, bersama dengan data. Oracle database menyimpan informasi tentang disini logis dan fisik dari struktur data. Kamus data berisi informasi seperti: •
Pengguna informasi, seperti hak-hak pengguna.
•
Kendala integritas yang ditetapkan untuk tabel pada database.
•
Nama dan datatypes semua kolom dalam tabel database.
•
Informasi tentang ruang yang dialokasikan dan digunakan untuk skema objek.
64
Oracle sebagai contoh yang sering mengakses data kamus untuk parsing SQL pernyataan. Pengoperasian Oracle tergantung siap untuk akses data kamus kinerja kemacetan dalam kamus data mempengaruhi semua pengguna Oracle. Karena itu, database administrator harus memastikan bahwa data cache kamus memiliki kapasitas yang memadai untuk cache data ini.
2.10
Konsep dan Perancangan Database 2.10.1 Sistem Basis Data Sistem adalah kumpulan dari komponen-komponen yang saling berhubungan untuk bekerja sama mencapai tujuan bersama dengan menerima input yang saling menghasilkan output melalui proses transformasi yang terorganisir . James A. O’Brien (2003,p8-9). Komponen sistem terdiri dari : a) Input meliputi, menangkap dan menggabungkan elemen yang memasuki sistem untuk diproses. Contoh : bahan baku, energi, dan data. b) Proses meliputi transformasi yang mengubah input menjadi output. Contoh : proses pernafasan manusia dan kalkulasi matematika. c) Output meliputi pemindahan elemen yang telah dihasilkan melalui proses transformasi ke tujuan akhir mereka. Contoh : produk akhir, dan pelayanan manusia.
65
d) Feedback adalah data yang memuat daya guna dari sistem. Contoh : data tentang hasil penjualan merupakan feedback bagi manajer penjualan. Basis data adalah kumpulan dari data yang diorganisasikan sehingga isinya dapat dengan mudah diakses, di-manage, dan di-update.
2.10.2 Struktur Basis Data Menurut O’Brien (1997,p178) ada lima struktur basis data, yaitu : a) Struktur Hierarki Dalam struktur ini, relasi antar record terbentuk hierarki atau seperti pohon semua relasi antar record adalah one to many, elemen data direlasikan ke hanya satu elemen data di atasnya. b) Struktur Jaringan (Network) Dengan struktur ini dapat direpresentasikan relasi logical yang lebih kompleks. Struktur ini memnungkinkan relasi many to many atau record, beberapa elemen data dapat direlasikan ke beberapa elemen data yang lain. c) Struktur Relasional Struktur ini merupakan struktur basis data yang paling umum. Dalam model relasional, semua elemen data dalam basis data ditampilkan dalam bentuk table-tabel yang sederhana.
66
d) Struktur Berorientasi Objek Kemampuan
encapsulation
memungkinkan
struktur
ini
dapat
menangani dengan lebih baik tipe data yang lebih kompleks (grafik, gambar, suara, teks) dari pada struktur basis data yang lain. Encapsulation adalah teknik penyembunyian rincian implementasi internal suatu objek dari tampilan eksternalnya (Hoffer et al., 1999, p.445). Selain itu struktur berorientasi objek mendukung inheritance, objek baru dapat tercipta dengan sendirinya dari beberapa replika atau semua karakteristik satu atau beberapa parent objek. e) Struktur Multidimensional Struktur multidimensional digunakan untuk menyimpan data dan relasi antar data. Struktur ini menjadi struktur yang paling umum untuk basis data analisis yang mendukung aplikasi OLAP (On Line Analytical Processing).
2.10.3 Komponen Sistem Basis Data Menurut C.J Date (2000, p5-9), sistem basis data terdiri dari empat komponen utaman yaitu : 1. Data Data dalam basis data dapat berupa data yang single user atau dapat berupa multi user.
67
2. Perangkat keras (Hardware) Merupakan komponen yang dibutuhkan untuk manajemen basis data. 3. Piranti lunak (Software) Merupakan komponen yang menghubungkan fisik basis data dengan pengguna 4. Pengguna (People)
Hardware
Software
Data
Procedures
Gambar 2.7 Komponen Sitem Basis Data
Keuntungan menggunakan sistem basis data : a. Data konsisten b. Tidak ada data yang berulang c. Meningkatkan integritas data d. Meningkatkan keamanan e. Sharing data f. Meningkatkan produktivitas g. Meningkatkan pemeliharaan melalui data independent
People
68
Kerugian menggunakan basis data : a. Sulit digunakan b. Memerlukan kapasitas memori yang banyak untuk penyimpanan data c. Biaya yang mahal d. Membutuhkan biaya tambahan untuk hardware
Seperti yang k ita ketahui dalam bahasa database terdiri dari dua bagian, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL adalah sebuah bahasa yang mengijinkan Database Administrator (DBA) atau pengguna untuk menggambarkan dan menamakan entitas, atribut, dan hubungan yang dibutuhkan untuk aplikasi bersama dengan batasan integritas dan keamanan. Sedangkan DML adalah sebuah bahasa yang menyediakan kumpulan dari operasi-operasi untuk mendukung operasi dasar dari manipulasi data, adapun contoh dari manipulasi data yaitu insert, retrieve, delete dan storage data dari dalam database. Fungsi-fungsi dari DBMS : 1. Menyimpan, mengambil dan meng-update data 2. Pendukung transaksi 3. Mendukung untuk komunikasi data 4. Integritas data
69
Berikut ini adalah perbandingan sistem pengaturan database atau DBMS antara MySQL dan Oracle. Dimana berguna sebagai acuan dalam pemilihan
sistem
database,
yang
dikutip
dari
sebuah
website
http://raispunya.blogspot.com/2008/06/perbandingan-mysql-denganoracle.html
70
2.10.4 Tabel Hasil Perbandingan Database
General Information Database Pengembang Engine MySQL AB MySQL Oracle Corporation Oracle Operating System Support Database Engine Windows Mac OS X MySQL Ya Ya Oracle Ya Ya Fundamental Future Database Engine ACID Referential Integrity MySQL Ya, Jika Inno DB Ya, Jika Inno DB Oracle Ya Ya Tables and View Database Temprorary Table Engine Ya MySQL Ya Oracle Other Object Database Engine Domain Cursor MySQL Tidak Ya Oracle Ya Ya
Rilis Pertama 1966 1977
Linux Ya Ya
Unix
BSD Ya Tidak
Ya
Transactions
Unicode
Ya, Jika Inno DB Ya
Ya Ya
Materialized View Tidak Ya
Trigger Function Procedure External Ya Tidak Ya Ya Ya Ya Ya Ya
Gambar 2.8 Hasil Perbandingan Database
71
Ada tiga kelas pengguna basis data, yaitu : 1. Pemrograman aplikasi, bertanggung jawab dalam penulisan program yang diperlukan dalam manajemen basis data dengan menggunakan berbagai bahasa pemrograman. 2. Pengguna akhir, menggunakan data dalam basis data untuk keperluan tugas atau fungsinya. 3. DBA (Database Administrator) bertanggung jawab pada keseluruhan sistem basis data.