BAB 2 LANDASAN TEORI
2.1
Aplikasi Pengelolaan Pesanan Pada sub bab ini akan dibahas mengenai pengertian pengelolaan dan pesanan. 2.1.1. Pengertian Aplikasi Aplikasi di dalam Teknologi Informasi adalah kegunaan dari suatu
teknologi,
sistem,
atau
produk.
(Don,
2007,
http://searchsoftwarequality.techtarget.com). Aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas
yang
diinginkan
pengguna.
(anonim,
2007
1)
,
http://id.wikipedia.org/wiki/Aplikasi). Dari beberapa pengertian di atas dapat disimpulkan aplikasi adalah suatu subkelas perangkat lunak komputer yang dibuat untuk melakukan suatu tugas sebagai penerapan yang diinginkan pengguna dengan memanfaatkan kemampuan komputer secara langsung.
8
9 2.1.2. Pengertian Pengelolaan Pengelolaan berasal dari kata dasar kelolah yang berarti mengurus (perusahaan,
pemerintahan,
dan
sebagainya),
menyelenggarakan,
melakukan pekerjaan. Jadi pengelolaan adalah pengurusan atau penyelenggaraan terhadap suatu pekerjaan di berbagai bidang (Kamus Besar Bahasa Indonesia, 2001, p277).
2.1.3. Pengertian Pesanan Pesan adalah kata baku dari pemesanan yang memiliki arti “hendak membeli supaya dikirim”. Pesanan adalah barang yang dipesan (Kamus Besar Bahasa Indonesia, 2001, p432).
2.1.4. Pengertian Aplikasi Pengelolaan Pesanan Dari teori yang telah dikemukakan di atas dapat dikatakan bahwa aplikasi pengelolaan pesanan adalah suatu cara atau penerapan untuk mengurus atau menyelenggarakan suatu pekerjaan di dalam bidang pemesanan, dalam hal ini berhubungan dengan pengurusan dan pembuatan daftar data-data pesanan barang yang diinginkan atau akan dipesan dengan memanfaatkan kemampuan komputer secara langsung sesuai kebutuhan pengguna.
10 2.2
Analisis dan Perancangan Sistem Pada sub bab ini akan dibahas mengenai pengertian analisis sistem dan perancangan sistem. 2.2.1. Pengertian Analisis Sistem Menurut McLeod (2001, p190), analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem baru atau diperbaharui. Analisis sistem adalah memeriksa sebuah masalah yang ada dan akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi. Analisa sistem mencakup beberapa langkah yang harus dilakukan (Laudon, 1998, p400), yaitu : 1. Menentukan masalah. 2. Mengidentifikasi penyebab dari masalah tersebut. 3. Menentukan pemecahan masalahnya. 4. Mengidentifikasi kebutuhan informasi yang dibutuhkan untuk memecahkan masalah tersebut. Dari teori yang telah dikemukakan di atas dapat dikatakan bahwa analisis sistem adalah memeriksa, meneliti sistem yang sudah ada, dan mencari di mana letak kesalahan sistem itu, untuk kemudian diperbaiki dan diperbaharui atau digunakan untuk merancang sistem yang baru.
11 2.2.2. Pengertian Perancangan Sistem Menurut McLeod (2001, p192), perancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru. Jika sistem itu berbasis komputer, rancangan dapat menyertakan spesifikasi jenis peralatan yang akan dipergunakan. Perancangan sistem adalah cara bagaimana sebuah sistem dapat memenuhi kebutuhan informasi yang telah ditentukan oleh analisa sistem (Laudon, 1998, p400). Dari teori yang telah dikemukakan di atas dapat dikatakan bahwa perancangan sistem adalah penetuan bagaimana sebuah sistem yang akan dibuat sesuai dengan diinginkan oleh analisis sistem baik penentuan proses maupun datanya.
2.3.
Internet 2.3.1.
Pengertian Internet Internet adalah suatu interkoneksi jaringan yang menghubungkan orang dan komputer di seluruh dunia, melalui telepon, satelit, dan sistem komunikasi yang lainnya (Ellsworth, 1995, p3). Internet adalah suatu jaringan yang tersusun atas jaringan lainnya (McLeod, 2001, p74).
12 2.3.2.
TCP/IP Dalam arti yang sederhana TCP/IP (Transmission Control Protocol / Internet Protocol) adalah nama keluarga protokol jaringan. Protokol adalah sekelompok aturan yang harus diikuti oleh perusahaan-perusahaan dan produk-produk software agar dapat saling berkomunikasi antara satu dengan yang lainnya. Pada
awalnya
internet
memang
sudah
dibuat
dengan
menggunakan TCP/IP yang memungkinkan sistem apapun yang terhubung ke dalamnya bisa berkomunikasi dengan sistem lain tanpa memperdulikan bagaimana masing-masing sistem bekerja. Istilah TCP/IP mengacu kepada seluruh keluarga protokol yang dirancang untuk mentransfer informasi sepanjang jaringan. Dan dirancang untuk menjadi komponen perangkat lunak dari suatu jaringan. TCP/IP merupakan dua protokol yang berbeda, dimana TCP bertanggung jawab memecah informasi ke dalam beberapa paket, sedangkan IP bertanggung jawab untuk mentransfer paketpaket tersebut sesuai tujuannya. Kemudian TCP yang ada pada tujuan akan menyatukan kembali paket-paket tersebut menjadi untai yang sebenarnya (Harun, 2003, www.elektroindonesia.com).
2.3.3.
World Wide Web World Wide Web (WWW) merupakan bagian dari internet yang paling cepat berkembang dan paling populer.
13 WWW bekerja merdasarkan pada tiga mekanisme berikut (Dian, 2001, www.ilmukomputer.com) : -
Protokol,
standar
aturan
yang
digunakan
untuk
berkomunikasi pada komputer networking, Hypertext Transfer Protokol (HTTP) adalah protokol yang digunakan untuk mentransfer data antara web server ke web browser. Protokol inilah yang berfungsi untuk mentransfer dokumen-dokumen web yang ditulis dalam format HTML (Hypertext Markup Language). -
Address, WWW memiliki aturan penamaan alamat web yaitu URL (Uniform Resource Locator) yang digunakan sebagai standard alamat internet. Format umum dari URL adalah sebagai berikut : Protokol_transfer://nama_host/path/nama_file Contoh : http://www.friendster.com/profiles/macziezt.php Dimana : http adalah protocol yang digunakan. www.friendster.com adalah nama host atau server komputer dimana informasi yang dicari berada. profiles adalah jalur / path dari informasi yang dicari. macziezt.php adalah nama file dimana informasi tersebut berada.
-
HTML, digunakan untuk membuat dokumen yang bisa di akses melalui web.
14 2.3.4.
Web Browser Web browser merupakan software yang di install di mesin client yang berfungsi untuk menterjemahkan tag HTML menjadi halaman web. Browser yang sering di gunakan biasanya Internet Explorer, Netscape Navigator dan masih banyak yang lainya (Dian, 2001, www.ilmukomputer.com).
2.3.5.
Web Server Web Server pada dasarnya adalah perangkat lunak khusus yang bertugas melayani permintaan-permintaan dari web browser akan dokumen-dokumen yang tersimpan didalam web server tersebut. Beberapa perangkat lunak server web memiliki fasilitas seperti server-side programming, security protocol dan lain sebagainya. Perangkat lunak server web yang ada sekarang tersedia untuk dapat dijalankan pada berbagai platform dan lingkungan sistem operasi. Diantaranya adalah sebagai berikut : Apache
(UNIX),
Microsoft
Internet
Information
Server
(Microsoft Windows), Netscape FastTrack dan banyak yang lainnya (Harun, 2003, www.elektroindonesia.com).
2.3.6. Arsitektur Client-Server Client-server
merupakan
arsitektur
jaringan
yang
memisahkan client dari server. Jadi dalam hal ini perangkat lunak atau browser client mengakses suatu situs dengan mengirimkan
15 permintaan client ke server atau aplikasi server. Dan kemudian server akan memeriksa permintaan tersebut dan mengirimkan kembali permintaan file yang diminta dalam bentuk HTML dan kemudian menampilkan file tersebut secara visual ke browser client. Arsitektur client-server secara umum mempunyai 2 jenis node dalam jaringan yaitu client dan server. Sebagai hasilnya arsitektur umum ini juga merupakan two-tier architecture dan ada beberapa jaringan yang terdiri dari 3 jenis node yaitu client, server aplikasi dimana yang memproses data untuk client, dan database server berfungsi untuk menyimpan data ke dalam aplikasi server. Tipe arsitektur ini disebut three-tier arsitektur atau n-tier architecture. Keuntungan
dari
n-tier
architecture
atau
3-tier
architecture dibandingkan dengan 2-tier architecture yaitu yang berbeda adalah cara prosesnya yang menunjukkan keseimbangan proses yang baik jika dijalankan dalam server yang berbeda, dan mempunyai jangkauan skala yang besar. Kerugian dari n-tier architecture yaitu memakan waktu proses yang lama dalam jaringan, lebih sulit untuk program dan pengujian piranti lunak dibandingkan dengan 2-tier architecture karena
memerlukan
banyak
perlengkapan
untuk
berkomunikasi dengan transaksi pengguna. (anonim, 2007 http://en.wikipedia.org/wiki/Client_server).
Gambar
2)
,
arsitektur
16 Client-Server dapat dilihat di Gambar 2.1 (anonim,2007 3), e-docs.bea.com/tuxedo/tux91/int/intbas.htm)
Gambar 2.1 Arsitektur Client-Server 2-Tier dan 3-Tier
2.4
E-Commerce E-commerce adalah suatu konsep yang timbul yang menggambarkan proses pembelian, penjualan, atau pertukaran produk, jasa dan informasi melalui jaringan komputer, termasuk Internet (Turban, 2003, p275).
2.4.1. Keuntungan E-Commerce Keuntungan yang diperoleh dengan menggunakan transaksi melalui E-commerce adalah sebagai berikut :
17 1. Meningkatkan pendapatan dengan menggunakan online channel yang biayanya lebih murah. 2. Mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsive. 3. Mengurangi biaya-biaya yang berhubungan dengan kertas seperti biaya pos surat, pencetakan, laporan, dan sebagainya. 4. Mengurangi keterlambatan dengan mengunakan transfer elektronik / pembayaran yang tepat waktu dan dapat langsung dicek. Keuntungan-keuntungan ini memberi nilai yang sangat besar terhadap tingkat stabilitas keuangan dan memungkinkan untuk bersaing lebih baik dalam dunia bisnis, yang semakin hari semakin mengarah kepada
penggunaan
teknologi
informasi
(Dian,
2001,
www.ilmukomputer.com).
2.4.2. Klasifikasi E-Commerce Klasifikasi e-commerce secara umum berdasarkan transaksi yang alami. Adapun tipe transaksinya dibedakan menjadi (Turban, 2003, p275): 1. Collaborative Commerce (C-Commerce). Kategori ini merupakan kolaborasi elektronik antara partner bisnis dan pekerja organisasi. 2. Bussines to Customer (B2C). Transaksi – transaksi nya mencakup transaksi eceran dengan pembeli individu. 3. Customer to Bussines (C2B). Kategori ini mencakup individu yang menggunakan internet untuk menjual jasa dan produk ke organisasi.
18 4. Customer to Customer (C2C). Dalam kategori ini, konsumen menjual secara langsung ke konsumen lain. 5.
Bussines to Bussines (B2B). Semua partisipan dalam tipe ini adalah bisnis atau organisasi lainnya. Transaksi B2B mencakup transaksi e-market antara organisasi.
6. Intrabussiness
(Intraorganizational)
Commerce.
Kategori
ini
mencakup aktifitas internal organisasi, biasanya ditampilkan di intranet atau portal yang berkolaborasi, meliputi pertukaran barang, jasa atau informasi antar unit dan individu yang bervariasi dalam organisasi tersebut. 7. Government to Citizen (G2C) and to others. Dalam tipe ini anggota pemerintah membeli atau menjual barang, jasa atau informasi ke perusahaan atau warga negara pribadi. 8. Mobile Commerce (M-Commerce). Ketika E-commerce dilakukan dalam lingkungan tanpa kabel (wireless) menggunakan internet, dinamakan m-commerce.
2.5.
ASP.NET ASP.NET adalah suatu pengembangan ASP yang diperkenalkan oleh Microsoft. Kekurangan-kekurangan yang dimiliki oleh ASP, sebagai contohnya validasi form kadang banyak membutuhkan banyak kode pada browser client dan server. Selain itu dalam menggabungkan pengkodean server side dengan client side yg sama seperti HTML dan java script, sering menghasilkan page
19 Web yang kompleks antara logika server side dan kode desain HTML yang didesain untuk user interface, sehingga akan menimbulkan kesulitan lain pada perawatan kode. ASP.net dapat memecahkan semua permasalahan tersebut. ASP.NET bukanlah sebuah program melainkan adalah salah satu bagian teknologi .NET Framework untuk membuat segala macam aplikasi dan khususnya aplikasi web. Selain itu, ASP.NET mendukung berbagai bahasa pemograman seperti Visual J#.NET, C#.NET dan VB.NET yang dapat digunakan untuk keperluan berikut : 1. Untuk mengambil data yang terdapat dalam form HTML untuk selanjutnya diproses lebih lanjut di server yang bersangkutan. 2. Untuk membuat halaman dinamis yang dapat ditentukan sesuai dengan keinginan user, misalnya penyampaian salam khusus pada user tertentu. 3. Mendukung berbagai komponen seperti ActiveX, ADO.NET (ActiveX Data Object), Object Linking and Embeded Database (OLEDB), dan web services. 4. ASP.NET menyediakan komponen ADO.NET sebagai standar untuk mengakses basis data dari berbagai jenis Database Management System (DBMS) melalui Open Database Connectivity (ODC), misalnya : MS SQL Server, Oracle, dan MS Access. (Martin, 2004, p6)
20 2.6.
Javascript Javascript merupakan modifikasi dari bahasa pemograman C++ dengan pola penulisan yang lebih sederhana, interpreter bahasa ini sudah disiapkan ASP maupun Internet Explorer. Javascript terintegrasi dalam halaman html. Javascript sendiri bukan merupakan bahasa pemograman, melainkan suatu bahasa script (Bollinger, Gary, Natharajan, Bharathi, 2001,p32) Perbedaan bahasa pemograman dengan bahasa script adalah : Bahasa pemograman :
Lebih kompleks
Cocok untuk menyusun aplikasi yang berukuran besar
Memerlukan compiler untuk dapat dijalankan
Bahasa script :
Tidak kompleks dan lebih sederhana
Cocok untuk menyusun aplikasi yang lebih kecil
Tidak memerlukan compiler untuk dijalankan Javascript adalah bahasa interpreter, yang tidak membutuhkan tools
pendukung seperti compiler dan debugger. Untuk membuat script dan mendebug script tersebut yang diperlukan hanyalah sebuah tekt editor dan sebuah browser yang mendukung javascript. Sebuah file html dipanggil ke dalam browser, javascript tersebut diinterpretasikan dan dieksekusi. Bahasa javascript awalnya dikembangkan dikembangkan oleh Netscape dan pertama kali dikenal
21 sebagai “LiveScript”. Livescript didesain untuk mengembangkan dokumen html dan menyediakan beberapa level interaksi html bagi user. Script tersebut juga untuk komunikasi dengan java applets. Pada bulan Desember 1995, Netscape dan Sun Microsystem bergabung dan mengumumkan perubahan nama Livescript menjadi javascript dan Sun menjadi tim pengembang bahasa tersebut menuju masa depan.
2.7.
AJAX (Asynchronus JavaScript And XML) AJAX (Asynchronus JavaScript And XML) adalah salah satu teknik pengembangan aplikasi web yang menjadikan halaman web lebih interaktif. AJAX adalah konsep yang diterapkan pada client-side server. Dengan client-side server, jumlah data yang dikirimkan diminimalisasi melalui sebuah aplikasi terminal dengan hanya mengirimkan data pendukung dan seterusnya. Dengan AJAX hanya data yang dibutuhkan yang dikirimkan diantara client-side server dan web server. Hal ini meminimalisasi utilisasi jaringan dan waktu proses pada client-side server. (McClure, Wallace, Cate, Scott, Glavich, Paul, Graigh, Shoemaker, 2006 , p6) Keuntungan menggunakan AJAX antara lain : (McClure, Wallace, Cate, Scott, Glavich, Paul, Graigh, Shoemaker, 2006 , p6-7) a. Asinkron AJAX juga memberikan kemampuan untuk membuat hubungan asinkron pada web server. Hal ini membuat client browser menghindari penungguan
22 semua data untuk sampai sebelum memungkinkan pengguna untuk berinteraksi lagi. b. Minimalisasi transfer data Dengan tidak melakukan pengiriman kembali dan mengirimkan semua form data ke server, utilisasi jaringan terminimalisasi dan menyebabkan operasi yang lebih cepat. Pada situs dan lokasi dengan jaringan data yang terproteksi, hal ini dapat meningkatkan dayaguna jaringan. c. Proses yang terbatas pada server Dengan bukti data telah dikirimkan pada server, server ini tidak perlu memproses semua element form. Dengan mengirimkan hanya data yang diperlukan, akan menyebabkan proses yang terbatas pada server. Hal ini tidak perlu memproses semua elemen pada form, memproses viewstate, mengirimkan gambar kembali pada client, dan tidak perlu mengirimkan halaman penuh kembali pada client. d. Rensponsive Karena aplikasi AJAX adalah asinkron pada client, hal ini akan membuatnya menjadi sangat responsive. e. Context Dengan pengiriman kembali secara penuh, pengguna kemungkinan akan kehilangan context dimana mereka berada. Pengguna mungkin akan berada pada dasar halaman, menekan tombol submit, dan akan dialihkan pada bagian atas dari halaman. Dengan AJAX tidak ada pengiriman kembali secara penuh. Dengan menekan tombol submit pada sebuah aplikasi akan membuat pengguna tetap berada pada posisi terakhir mereka mengakses.
23 Pengguna akan dipertahankan, dan pengguna tidak perlu untuk kembali ke dasar halaman dimana mereka mengakses terakhir.
2.8.
SQL Server 2005 Microsoft SQL Server 2005 adalah salah satu pengembangan sistem informasi database yang menyediakan peningkatan performa kerja Database Management System dengan mengoptimasikan Built-in Replication Capabilitiesnya. Terdapat juga Internet Integration, Open System Architecture dan maksimalnya penggunaan fungsi database dengan model grafis yang diberikan oleh SQL Server 2005. Semua ini dirancang khusus untuk pengguna sistem distribusi database dengan arsitektur client server yang dapat mengontrol multiple access user. Microsoft SQL Server 2005 telah dirancang dengan pertimbangan skala database intranet dan internet. Ketika data diproses oleh user di internet, SQL Server akan mengoptimasikan fungsi connecting scalability dengan menyediakan high performance access untuk menyediakan informasi di lingkungan perusahaan. SQL Server 2005 diperkenalkan untuk memberi dukungan terhadap .NET Framework. Dengan menggunakan pemograman ini, stored procedures dapat ditulis di berbagai macam bahasa .NET, menggunakan seluruh kumpulan library yang dimiliki oleh .NET Framework, sama seperti sistem lain pada umumnya. Kelebihan yang dimiliki adalah .NET Framework ditaruh di dalam SQL Server 2005 untuk mengatur memori dan kemampuan manajemen thread lebih baik,
24 dibandingkan dengan kemampuan yang dimiliki Windows. (anonim, 2007
4)
,
htttp://en.wikipedia.org/wiki/Microsoft_SQL_Server)
2.9.
Internet Information Services / Server IIS atau Internet Information Services atau Internet Information Server adalah sebuah HTTP web server yang digunakan dalam sistem operasi server Windows, mulai dari Windows NT 4.0 Server, Windows 2000 Server atau Windows Server 2003. Layanan ini merupakan layanan terintegrasi dalam Windows 2000 Server, Windows Server 2003 atau sebagai add-on dalam Windows NT 4.0. Layanan ini berfungsi sebagai pendukung protokol TCP/IP yang berjalan dalam lapisan aplikasi (application layer). IIS juga menjadi fondasi dari platform Internet dan Intranet Microsoft, yang mencakup Microsoft Site Server, Microsoft Commercial Internet System dan produk-produk Microsoft BackOffice lainnya. IIS telah berevolusi semenjak diperkenalkan pertama kali pada Windows NT 3.51 (meski kurang banyak digunakan) hingga IIS versi 6.0 yang terdapat dalam Windows Server 2003. Versi 5.0 diintegrasikan dalam Windows 2000, sedangkan Windows XP Professional memiliki IIS versi 5.1. Windows NT 4.0 memiliki versi 4.01 yang termasuk ke dalam add-on Windows NT Option Pack. Dalam Windows NT 4.0 Workstation atau Windows 95/98, IIS juga dapat diinstalasikan sebagai Microsoft Personal Web Server (PWS). (anonim, 2007 5), http://en.wikipedia.org/wiki/Internet_Information_Services)
25 2.10. Unified Modelling Language Pada sub bab ini akan dibahas mengenai pengertian UML dan komponenkomponen UML. 2.9.1 Pengertian UML UML yang merupakan singkatan dari Unified Modelling Language adalah sekumpulan pemodelan konvensi yang digunakan untuk menentukan atau menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek. (Whitten et al, 2004, p430). UML dapat juga diartikan sebuah bahasa grafik standar yang digunakan untuk memodelkan perangkat lunak berbasis objek. UML pertama kali dikembangkan pada pertengahaan tahun 1990an dengan kerjasama antara James Rumbaugh, Grady Booch dan Ivar Jacobson, yang masing-masing telah mengembangkan notasi mereka sendiri di awal tahun 1990an. (Lethbride dan Leganiere, 2002, p151).
2.9.2 Komponen-komponen UML UML terdiri dari diagram-diagram, dimana setiap diagram di dalam UML memperlihatkan sistem dari berbagai sudut pandang yang berbeda.
26 1.
Class Diagram Kelas (Schmuller, 1999, p8) adalah sebuah kategori atau pengelompokan dari hal-hal yang mempunyai atribut dan fungsi yang sama. Class diagram (Rumbaugh et. al., 1999, p190) adalah sebuah grafik presentasi dari gambaran statis yang menunjukkan sekumpulan model elemen yang terdeklarasi (statis), seperti kelas, tipe dan isinya serta hubungannya. Sebuah class diagram terdiri dari sejumlah kelas yang dihubungkan dengan garis yang menunjukkan hubungan antarkelas yang disebut dengan Associations.(Rambaugh, 1999, p47) Contoh Class Diagram dapat dilihat pada Gambar 2.2 (Sonnemans,2003, www.reflectionit.nl/Articles/Minesweeper.aspx). Jenis-jenis Associations (Rambaugh, 1999, p49 - 53) yaitu : a. Aggregation Associations yang menggambarkan hubungan antar kelas di mana kelas yang satu merupakan bagian dari kelas yang lainnya. b. Composition Associations yang menggambarkan hubungan erat antar kelas di mana kelas composite mempunyai segala tanggung jawab untuk mengatur kelas lainnya dan kedua kelas mempunyai lifetime yang sama. c. Bidirectionality
27 Associations yang menghubungkan antara 2 kelas atau lebih yang berbeda object tapi tidak bergantung satu sama lainnya, sehingga apabila salah satu kelas dihilangkan, kelas yang lain dapat tetap digunakan. d. Generalization Associations yang menghubungkan 2 kelas atau lebih untuk membedakan antara kelas yang umum dengan kelas yang khusus. e. Inheritance Associations yang menghubungkan 2 kelas atau lebih yang dapat menurunkan properties seperti attributes, operations antara kelas induk dengan kelas anak.
Gambar 2.2 Class diagram
28 Berikut ini merupakan komponen-komponen yang digunakan dalam Class Diagram : Tabel 2.1 komponen-komponen class diagram
Class
Generalization Binary Association Composition
2.
+
Public
-
Private
#
Protected
Use Case Diagram Use case (Schmuller, 1999, p10), adalah sebuah gambaran dari fungsi sistem yang dipandang dari sudut pandang pemakai. Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. (Whitten, 2004, p258) System boundary menunjukkan cakupan dari sistem yang dibuat dan fungsi dari sistem tersebut. Berikut ini merupakan gambar dari tiga komponen sistem dalam use case diagram :
29
system
Actor
Use Case
System boundary
Usecase
Gambar 2.3 Komponen-komponen use case
Contoh use case diagram dapat dilihat pada Gambar 2.5 (Lethbridge dan Laganiere, 2002, p241) Jenis-jenis Use Case Relationships (Rambaugh, 1999, p65) antara lain : a. Association Garis yang menghubungkan antara actor dengan use case. b. Extend Menghubungkan antara 2 atau lebih use case yang merupakan tambahan dari base use case yang biasanya untuk mengatasi kasus pengecualian. c. Generalization Hubungan antara use case umum dengan use case yang lebih khusus. d. Include Menghubungkan
antara
2
atau
lebih use
case
untuk
menunjukkan use case tersebut merupakan bagian dari base use case.
30
Open file
Ordinary User Open file by typing name
Open file by browsing
ÄextendÅ
ÄincludeÅ
Attempt to open file that does not exist
System Administrator
Browse for file
Gambar 2.4 Use case diagram
3.
Statechart Diagram Sebuah state diagram (Lethbridge dan Laganiere, 2002, p276), merupakan cara lain untuk mengekspresikan informasi dinamis
tentang
sebuah
sistem,
diagram
ini
digunakan
menggambarkan fungsi eksternal yang terlihat dari sebuah sistem atau dari objek secara individu. Contoh statechart diagram dapat dilihat pada Gambar 2.5.
Gambar 2.5 Statechart diagram
31 Berikut ini merupakan komponen-komponen yang digunakan dalam StateChart Diagram : Tabel 2.2 komponen-komponen StateChart Diagram Initial State Final State State Transition
Transition
4.
Sequence Diagram Sebuah sequence diagram (Lethbridge dan Laganiere, 2002, p270), menunjukkan urutan pertukaran pesan yang dilakukan oleh sekumpulan objek atau aktor yang mengerjakan pekerjaan. Contoh sequence diagram dapat dilihat pada Gambar 2.6.
:SpecificFlight
:Booking
:PassengerRole
cancelBooking cancel deleteFromPassengerList
deleteFromItinerary
Gambar 2.6 Sequence diagram
32 Berikut ini merupakan komponen_komponen yang digunakan dalam Sequence Diagram : Tabel 2.3 komponen-komponen sequence diagram
Object Lifeline
Activation
Massage Massage Call Massage return
2.10.
ERD Entity Relationship Diagram digunakan untuk menggambarkan struktur logikal database dalam bentuk diagram. ERD menyediakan cara yang sederhana dan mudah untuk memahami berbagai komponen dalam desain database. (Connoly dan Begg, 2002, p15)
33 Di dalam ERD terdapat tiga komponen pembentuk : 1.
Entitas ( Entity ) Entitas merupakan kelompok orang, tempat, objek, kejadian, atau konsep tentang apa yang kita perlukan untuk men-capture atau menyimpan data ke dalam database. Contoh gambar entitas :
Gambar 2.7 Entity / Table Diagram. 2.
Relationship Relationship adalah asosiasi antar entitas. Entitas merupakan pangkal dan ujung dari relationship. Relationship dapat digambarkan dengan bentuk belah ketupat yang berisi nama dari relasi tersebut. Tingkat relasi yang umum antar entity adalah binary. Berikut ini adalah relasi binary yang sering terjadi : a. Relasi One-to-One ( 1 atau 1..1 ) Relasi dimana setiap entity yang ada hanya dapat mempunyai maksimal 1 ( satu ) relasi dengan entity yang lain. b. Relasi One-to-Many ( 1..* ) Relasi dimana setiap entity yang ada dapat mempunyai satu atau lebih dari satu relasi dengan entity yang lain
34 c. Relasi Many-to-Many ( *..* ) Relasi dimana setiap entity dapat mempunyai lebih dari satu relasi dengan entity lainnya. d. Properti / atribut Properti atau atribut adalah sifat atau karakteristik deskriptif suatu entitas. Setiap Properti atau atribut mempunyai key di antaranya Primary Key (PK) dan Foreign Key (FK) untuk menmunjukkan hubungan antar kedua entitas. 3.
Attributtes Properti dari suatu entitas atau suatu tipe relationship.
Contoh ERD dapat dilihat pada Gambar 2.8 (anonim, 2007 6), www.conestogac.on.ca/~mtanuan/2005winter/sysdesign/LectureN otes/VisioERD.ppt)
Gambar 2.8 Entity Relational Diagram
35 2.11.
Basis Data Basis data adalah suatu koleksi data yang saling berelasi secara logis dan deskripsi data ini didesain untuk mencapai permintaan informasi dari sebuah organisasi. (Connoly dan Begg, 2002, p15) Sistem basis data adalah suatu record terkomputerisasi yang mempunyai tujuan menyediakan informasi pada saat dibutuhkan. (Date, 2000, p5)
2.12.
DBMS DBMS (Database Management System) adalah sistem perangkat lunak yang memampukan user untuk mendefinisikan, menciptakan, memelihara dan mengontrol akses ke basis data. DBMS merupakan software yang berinteraksi dengan program aplikasi user dan basis data. DBMS adalah perangkat lunak yang digunakan untuk menangani akses ke basis data, seperti menambah, menghapus, mengambil dan meng-update record. Secara konseptual, cara kerja DBMS (Date, 2000, p43) adalah sebagai berikut : 1. User melakukan permintaan akses menggunakan bahasa Query, seperti SQL. 2. DBMS menangkap permintaan itu dan menganalisanya. 3. DBMS menginspeksi permintaan tersebut dari skema eksternal. 4. DBMS melaksanakan operasi yang diperlukan pada basis data yang disimpan.
36 2.13.
Interaksi Manusia dan Komputer Pada sub bab ini, akan dijelaskan mengenai pengertian interaksi manusia dan komputer, tujuan rekayasa interaksi manusia dan komputer, dan delapan aturan emas 2.13.1. Pengertian Interaksi Manusia dan Komputer Interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. (Shneiderman, 1998, p8) Jadi, interaksi manusia dan komputer merupakan dasar yang harus digunakan dalam perancangan suatu sistem komputer.
2.13.2. Tujuan Rekayasa Interaksi Manusia dan Komputer Sistem
yang
efektif
akan
menghasilkan
rasa
keberhasilan, kompetensi, penguasaan dan kejelasan dalam komunitas pemakai. Tujuan dari rekayasa sistem interaksi manusia dan komputer adalah untuk menghasilkan sistem dengan (Shneiderman, 1998, p9-14) : 1. Fungsionalitas yang semestinya. Sistem dengan fungsionalitas yang kurang memadai akan mengecewakan pemakai dan sering ditolak atau tidak digunakan.
Sedangkan
sistem
yang
berlebihan
akan
37 menyebabkan kesulitan dalam implementasi, pemeliharaan dan penggunaan. 2. Reliability, availability, security, dan data integrity. a. Reliability (kehandalan) Berfungsi seperti yang diinginkan. b. Availability (ketersediaan) Tersedia ketika akan digunakan. c. Security (keamanan) Terlindung dari akses yang tidak diinginkan dan kerusakan yang disengaja. d. Data integrity (integritas data) Keutuhan data terjamin. 3. Standarisasi, integrasi, konsistensi dan portabilitas a. Standarisasi Keseragaman sifat-sifat antar muka pemakai pada aplikasi yang berbeda, misalnya dengan menggunakan standar industri yang ada. b. Integrasi Keterpaduan antara paket aplikasi dan perangkat lunak tools. c. Konsitensi Keseragaman dalam suatu program aplikasi. d. Portabilitas
38 Dimungkinkannya
data
dikonversi
pada
berbagai
perangkat keras dan perangkat lunak. 4. Penjadwalan dan anggaran Perencanaan yang hati-hati dan manajemen yang berani diperlukan karena proyek harus sesuai dengan jadwal dalam anggaran. 2.13.3. Delapan Aturan Emas (8 Golden Rules) Delapan aturan emas perancangan dialog ini merupakan prinsip-prinsip dasar perancangan antarmuka yang paling banyak digunakan dalam pembuatan suatu sistem yang interaktif. Menurut shneiderman (1998, p74), aturan-aturan dasar ini adalah sebagai berikut : 1. Rancangan yang dibuat harus selalu konsisten Konsistensi ada berbagai macam, seperti konsistensi dalam urutan aksi harus diperhatikan dalam suatu situasi yang memiliki kemiripan. Menu, pesan dan help haruslah menggunakan istilah/terminologi yang sama. 2. Memungkinkan pemakai menggunakan shortcuts Seiring dengan meningkatnya penggunaan dari suatu sistem, pengguna menginginkan suatu interaksi yang minimal namun dengan hasil yang sama dengan interaksi yang lebih banyak. Singkatan, spesial key, perintah tersembunyi dan makro adalah contoh fasilitas yang sangat dihargai oleh pengguna dengan tingkatan penggunaan yang tinggi. Waktu
39 respon yang rendah dan tingkat display yang tinggi, merupakan daya tarik tersendiri bagi para pemakai. 3. Memberikan umpan balik yang informatif Untuk setiap sistem diharapkan adanya suatu umpan balik bagi pemakai. Respon yang diberikan tergantung dari aksi yang dilakukan. Respon yang diberikan kepada pengguna hendaknya lebih nyata. Penampilan visual dari suatu objek merupakan suatu cara untuk menampilkan perubahan secara eksplisit. 4. Merancang dialog untuk menghasilkan keadaan akhir yang baik. Urutan aksi haruslah diorganisir menurut kelompok tertentu yang terdiri dari permulaan, tengah dan akhir. Umpan balik yang informatif kepada pengguna pada taraf akhir dari suatu kelompok aksi akan memberikan kepuasaan kepada pengguna bahwa aksi yang mereka lakukan telah berhasil dengan baik, sehingga akan memberikan kesan kepada pengguna bahwa mereka aman untuk melakukan aksi selanjutnya. 5. Memberikan penanganan kesalahan yang sederhana Perancangan suatu sistem haruslah dibuat sedemikian rupa sehingga pengguna tidak akan menimbulkan kesalahan yang signifikan. Jika pengguna akhirnya melakukan suatu
40 kesalahan maka sistem hendaknya memberikan peringatan yang sederhana dan konstruktif serta spesifik. 6. Mengizinkan pembalikan aksi (undo) dengan mudah Setiap aksi haruslah dirancang sedemikian rupa sehingga dapat melakukan pembalikan untuk kembali ke keadaan semula sebelum aksi tersebut dijalankan. Dengan adanya fasilitas ini, pengguna akan memiliki keberanian untuk mengeksploitasikan sistem yang telah dibuat, karena untuk semua kesalahan yang timbul, pengguna memiliki pilihan untuk melakukan pembalikan terhadap aksi yang telah dilakukan. 7. Mendukung pengaturan fokus secara internal Pengguna yang berpengalaman biasanya memiliki keyakinan bahwa mereka bertanggung jawab terhadap sistem dan sistem akan memberikan respon terhadap aksi yang mereka lakukan. Respon yang aneh, urutan yang aneh dalam entry data dan kesulitan dalam memperoleh informasi serta ketidakmampuan untuk mendapatkan hasil sesuai aksi tertentu akan menimbulkan kekecewaan dan keraguan bagi pengguna. 8. Mengurangi beban ingatan jangka pendek Keterbatasan manusia dalam mengelola memori jangka pendek menyebabkan dibutuhkannya suatu tampilan yang sederhana mungkin, pengaturan dalam multipage, pergerakan window yang sesedikit mungkin, waktu latihan
41 yang cukup dan optimal serta pengaturan dalam urutan aksi. Hal ini juga harus didukung dengan ketersediaan dari adanya akses secara langsung, kode singkatan dan informasi yang dibutuhkan oleh pengguna.
10 kesalahan utama (top ten mistakes) desain web (Jakob Nielsen, 1996): 1. Penggunaan frame. 2. Penggunaan teknologi baru dengan serampangan. 3. Gerakan animasi teks dan animasi yang berjalan terus. 4. URL yang kompleks. 5. Halaman yatim. 6. Halaman yang terlalu panjang gabungannya. Isi terpenting dan navigasi harus tampak di bagian atas. 7. Kurangnya dukungan navigasi. 8. Warna link yang tidak standar. 9. Informasi yang tidak basi. 10. Waktu download yang terlalu lama. Pemakai kehilangan minat dalam 10-15 detik.
42 2.14
Perancangan Software 2.14.1 Metode Penemuan Fakta Penemuan fakta adalah proses formal seperti penggunaan teknik seperti wawancara dan kuesioner untuk mengumpulkan fakta-fakta tentang sistem, kebutuhan, dan keinginan (Connolly, 2002, p303). Ada lima macam metode penemuan fakta yang sering digunakan (Connolly, 2002, p305): 1. Mempelajari dokumentasi Mempelajari dokumentasi sangat berguna dalam memperoleh beberapa pandangan tentang bagaimana kebutuhan dari suatu database timbul. Dokumentasi tersebut juga dapat menghasilkan sebagian informasi dari suatu perusahaan yang berkaitan dengan masalah. 2. Wawancara Wawancara biasanya paling banyak digunakan, lebih berguna dan cara yang tepat dalam menemukan fakta. Wawancara dapat mengumpulkan data dari individu-individu dengan cara tatap muka. Ada beberapa tujuan untuk menggunakan teknik wawancara, yaitu menemukan, membuktikan kebenaran, klarifikasi fakta, identifikasi kebutuhan, mengumpulkan ide-ide dan opini. 3. Observasi operasi perusahaan Teknik ini sangat efektif untuk mempelajari sistem. Untuk memastikan observasi ini berhasil sangat penting untuk mengetahui sebanyak mungkin aktivitas yang akan diteliti
43 4. Penelitian Teknik yang berguna untuk meneliti aplikasi dan masalah. Sumber informasi yang baik untuk penelitian adalah jurnal komputer, bukubuku referensi dan internet. 5. Kuesioner Teknik penemuan data ini dilakukan dengan mengadakan survei dengan cara penyebaran kuesioner. Kuesioner adalah kumpulan dokumen-dokumen yang didapat dari banyak orang untuk mengetahui tanggapan para responden.
2.14.2 Pengembangan Software Pengembangan software yang biasa disebut dengan model ‘Waterfall’ dapat digambarkan sebagai berikut (Pressman, 2003, p25): System Engineering
Analysis
Design
Code
Testing
Maintenance
Gambar 2.9 Model Waterfall
44 Tahapan-tahapan dalam model waterfall yaitu: 1.
Analisis dan perancangan sistem (Sistem Enginering and Analysis) Sebagai perancang harus mengetahui dan menetapkan kebutuhan dari elemen-elemen sistem mulai dari perangkat keras pengguna, database, selain itu perlu juga ditetapkan antarmuka (interface) elemen-elemen dari sistem.
2.
Analisa kebutuhan software (Software Requirements Analysis) Proses pengumpulan kebutuhan khususnya ditingkatkan dan difokuskan pada software itu sendiri. Untuk memahami program aslinya yang harus dibuat, seorang analis harus memahami daerah informasi untuk softwarenya, sebaik memahami fungsi yang dibutuhkan, sifat dan performansi antar muka.
3.
Desain (Design) Desain software sebenarnya adalah proses bertahap yang berfokus pada empat atribut yang berbeda yang terdiri dari: struktur program data, arsitektur software, representasi antar muka, dan detil secara
prosedur
(algoritma).
Proses
desain
menterjemahkan
kebutuhan menjadi representasi dari software yang dapat dinilai kualitasnya sebelum pengkodean dimulai. Seperti kebutuhan, desain dibuktikan dan menjadi bagian dari konfigurasi software. 4.
Kode (Code) Desain harus diterjemahkan mejadi bentuk mesin yang dapat membaca. Langkah generasi kode melakukan tugas ini. Jika desain
45 dilakukan dalam cara yang detil, pembangkitan kode dapat diselesaikan secara mekanis. 5.
Testing Ketika kode telah dihasilkan, maka program uji dapat dimulai. Proses pengujian berfokus pada internal logika pada software, memastikan bahwa semua pernyataan telah diuji, dan pada fungsi eksternal, memimpin test untuk menemukan eror dan memastikan bahwa input yang telah didefinisikan akan memproduksi hasil yang asli yang telah sesuai dengan hasil yang diinginkan. Pendukung (Support) merupakan langkah selanjutnya. Software pastilah akan mengalami perubahan setelah dikirim ke konsumen. Perubahan akan terjadi karena kesalahan telah ditemukan, karena software harus disesuaikan pada muatan perubahan dalam lingkungan eksternalnya, atau karena konsumen membutuhkan peningkatan fungsi atau penampilan. Pendukung software / peralatan mempergunakan lagi setiap fase terdahulu ke dalam program yang ada yang lebih baik daripada yang baru.
6.
Perawatan (Maintenance) Tahap ini bertujuan untuk perawatan dan modifikasi yang diperlukan terhadap perangkat yang dipakai.