BAB 2 LANDAS AN TEORI
2.1
Internet M enurut Turban (2005, p478), internet merupakan rangkaian jaringan dalam
jaringan yang menghubungkan komputer individual yang dimiliki oleh pemerintah, universitas, grup non-profit dan perusahaan. Interkoneksi ini dihubungkan dengan statndar protokol yang bebas dan terbuka. M enurut Turban (2005,p50), internet adalah sistem jaringan komputer dan jaringan dari banyak jaringan yang meliputi seluruh dunia. Internet bersifat publik, kooperatif, dan mandiri yang memfasilitasi akses ke ratusan atau jutaan manusia di seluruh dunia.
2.1.1
Sejarah Internet Sejarah intenet dimulai pada 1969 ketika Departemen Pertahanan Amerika, U.S.
DARPA
(Defense Advanced
Research
Projects
Agency)
memutuskan
untuk
mengadakan riset tentang bagaimana caranya menghubungkan sejumlah komputer sehingga membentuk jaringan organik. Program riset ini dikenal dengan nama ARPANET. Pada 1970, sudah lebih dari 10 komputer yang berhasil dihubungkan satu sama lain sehingga mereka bisa saling berkomunikasi dan membentuk sebuah jaringan. Tahun 1972, Roy Tomlinson berhasil menyempurnakan program email yang ia ciptakan setahun yang lalu untuk ARPANET. Program email ini begitu mudah sehingga langsung menjadi populer. Pada tahun yang sama, icon @ juga diperkenalkan sebagai lambang penting yang menunjukkan "at" atau "pada".
6
7 Tahun 1973, jaringan komputer ARPANET mulai dikembangkan ke luar Amerika Serikat. Komputer University College di London merupakan komputer pertama yang ada di luar Amerika yang menjadi anggota jaringan Arpanet. Pada tahun yang sama, dua orang ahli komputer yakni Vinton Cerf dan Bob Kahn mempresentasikan sebuah gagasan yang lebih besar, yang menjadi cikal bakal pemikiran internet. Ide ini dipresentasikan untuk pertama kalinya di Universitas Sussex. Hari bersejarah berikutnya adalah tanggal 26 M aret 1976, ketika Ratu Inggris berhasil mengirimkan e-mail dari Royal Signals and Radar Establishment di M alvern. Setahun kemudian, sudah lebih dari 100 komputer yang bergabung di ARPANET membentuk sebuah jaringan atau network. Pada 1979, Tom Truscott, Jim Ellis dan Steve Bellovin, menciptakan newsgroups pertama yang diberi nama USENET. Tahun 1981 France Telecom menciptakan gebrakan dengan meluncurkan telpon televisi pertama, dimana orang bisa saling menelpon sambil berhubungan dengan video link. Karena komputer yang membentuk jaringan semakin hari semakin banyak, maka dibutuhkan sebuah protokol resmi yang diakui oleh semua jaringan. Pada tahun 1982 dibentuk TCP (Transmission Control Protocol) dan IP (Internet Protokol) yang kita kenal semua. Sementara itu di Eropa muncul jaringan komputer tandingan yang dikenal dengan Eunet, yang menyediakan jasa jaringan komputer di negara-negara Belanda, Inggris, Denmark dan Swedia. Jaringan Eunet menyediakan jasa email dan newsgroup USENET. Untuk menyeragamkan alamat di jaringan komputer yang ada, maka pada tahun 1984 diperkenalkan sistem nama domain, yang kini kita kenal dengan DNS (Domain Name System). Komputer yang tersambung dengan jaringan yang ada sudah
8 melebihi 1000 komputer lebih. Pada 1987 jumlah komputer yang tersambung ke jaringan melonjak 10 kali lipat manjadi 10.000 lebih. Tahun 1988, Jarko Oikarinen dari Finland menemukan dan sekaligus memperkenalkan IRC(Internet Relay Chat). Setahun kemudian, jumlah komputer yang saling berhubungan kembali melonjak 10 kali lipat dalam setahun. Tak kurang dari 100.000 komputer kini membentuk sebuah jaringan. Tahun 1990 adalah tahun yang paling bersejarah, ketika Tim Berners Lee menemukan program editor dan browser yang bisa menjelajah antara satu komputer dengan komputer yang lainnya, yang membentuk jaringan itu. Program inilah yang disebut WWW (World Wide Web). Tahun 1992, komputer yang saling tersambung membentuk jaringan sudah melampaui sejuta komputer, dan di tahun yang sama muncul istilah surfing the internet. Tahun 1994, situs internet telah tumbuh menjadi 3000 alamat halaman, dan untuk pertama kalinya virtual-shopping atau e-retail muncul di internet. Dunia langsung berubah. Di tahun yang sama Yahoo! didirikan, yang juga sekaligus kelahiran Netscape Navigator 1.0. (Purbo, Onno 2000).
2.1.2
Kebutuhan Internet dalam Organisasi Bisnis Kebutuhan internet dalam organisasi bisnis dapat dilihat dari penyampaian
informasi. Internet dapat dianggap sebagai suatu media informasi yang lebih efektif dibanding media lainnya. Kebutuhan internet didorong tekanan teknologi, antara lain oleh:
9 1.
Internet menjadi alat bantu untuk meningkatkan perkembangan dan pertumbuhan produk industri. Organisasi bisnis, bersamaan dengan desakan kebutuhan informasi.
2.
Internet lebih meningkatkan tanggapan atas keluhan dan kebutuhan pelanggan. Tanggapan ini juga merupakan layanan kepada pelanggan yang memungkinkan untuk lebih merangkul pelanggan dengan baik. Pelayanan produsen atas tanggapan pelanggan salah satunya adalah dalam pelayanan purna jual yang lebih baik.
3.
Internet mampu untuk menurunkan biaya atas kebutuhan informasi kolaborasi, workflow, dan enterprise connectivity.
2.2
Model TCP / IP Protocol ini pertama kali dipakai dikembangkan untuk sistem operasi UNIX.
Lambat laun berkembang dan pada saat ini merupakan salah satu protocol yang paling banyak dipakai di networking. TCP / IP juga menjadi protocol utama untuk jaringan internet.
10
Gambar 2.1 TCP/IP Layer
TCP / IP protocol hanya terdiri atas 4 layer, yaitu :
2.2.1
Application Layer Application layer terdiri atas protocol - protocol yang biasa digunakan disisi
client, contoh dari protocol - protocol tersebut adalah : 1. HTTP : merupakan protocol yang menterjemahkan bahasa HTM L supaya bisa ditampilkan berupa halaman web di web browser. 2. FTP
: merupakan protocol yang digunakan untuk transfer data di internet. Sifat transfer datanya adalah reliable karena menggunakan TCP.
3. TFTP
: merupakan protocol yang digunakan untuk transfer data, tetapi tidak reliable. Biasanya digunakan di LAN untuk menyimpan konfigurasi router maupun switch yang manageable.
4. DNS
: M erupakan metode yang mengubah alamat IP menjadi sebuah alamat web server. DNS merupakan sebuah server yang databasenya tersebar di
11 seluruh dunia. Untuk melihat ip address dari sebuah alamat website gunakan command ”nslookup” di command prompt. 5. DHCP : M erupakan protocol yang mempermudah dalam pemberian IP address kepada komputer / host. Karena setiap komputer / host yang terjoin ke jaringan akan langsung mendapatkan IP address apabila terdapat DHCP server. 6. Telnet : M erupakan protocol yang digunakan untuk melakukan remote login terhadap sebuah PC atau networking device.
2.2.2
Transport layer Pada layer ini terdiri atas 2 macam transport protocol yaitu TCP dan UDP.
1.
TCP ¾
Protocol ini bertanggung jawab terhadap pengiriman data.
¾
Protocol ini bertugas untuk memeriksa apakah packet data yang kirim sampai ke tujuannya dalam keadaan yang benar.
2.
¾
Connection-oriented
¾
Reliable dengan mengirimkan ACK setiap pengiriman data.
¾
M engencapsulasi pesan kedalam segment
¾
Reassembles messages di tujuan
¾
M engirimkan ulang paket - paket yang tidak sampai
UDP ¾
UDP merupakan transport layer protocol yang bekerja secara unreliable.
¾
Connectionless
¾
Paket UDP sering disebut sebagai datagram
12
2.2.3
¾
Proses pengecekan error dilakukan oleh layer diatasnya
¾
Tidak menggunakan ACK ( acknowledgements )
¾
Tidak terdapat flow control
Internet Layer Pada internet layer, terdapat pengalamatan logical yang disebut sebagai IP
address. IP address merupakan alamat yang digunakan di Internet dan TCP / IP protocol. IP address terdiri atas 32 bit biner yang dituliskan dalam bentuk decimal. IP address terbagi atas 5 kelas, yaitu : Kelas A : 1- 126 Kelas B : 128-191 Kelas C : 192-223 Kelas D : 224-239 Kelas E : 240-255
2.2.4
Network Access Layer Tugas dari network access layer adalah memberikan pengalamatan physical yang
dikenal sebagai M AC address dan merubah data menjadi sinyal listrik untuk kemudian dikirim melalui media. M edia yang digunakan sangatlah bervariasi. Bisa menggunakan kabel UTP, ScTP, STP maupun fiber optic. Disinilah fungsi dari physical layer untuk menentukan standarisasinya. Pada network access layer, terdapat beberapa teknologi yang meliputi : ethernet, fastethernet, SLIP & PPP, FDDI, ATM, Frame Relay, ARP, Proxy ARP dan RARP.
13 2.3
Pengalamatan TCP / IP (IP Address) Pengalamatan TCP / IP ( Ipv4 ) terdiri dari 4 byte ( 32 bit ) dengan dipisahkan
oleh titik dengan masing-masing 8 bit. Setiap bit dalam oktet tersebut mempunya bobot biner (128, 64, 32, 16, 8, 4, 2, 1). Nilai minimum oktet tersebut adalah 0 dan maksimum adalah 255. Setiap alamat IP ini terdiri dari bagian network dan host. Bagian network adalah alamat yang menandakan alamat jaringan, sedangkan bagian host adalah alamat yang menandakan alamat workstation tersebut.
2.3.1
Kelas pada IP Dalam pengalamatan IP Address ini, dikenal adanya kelas IP. Kelas IP tersebut
dibedakan menjadi 5, yaitu A, B, C, D, E. Alamat network pada kelas A adalah 1.0.0.0 – 126.0.0.0, di mana IP 127.0.0.0 digunakan untuk looping back. Pada IP kelas A ini, oktet pertama IP digunakan untuk alamat network dan tiga oktet di belakang untuk alamat host. Alamat network kelas B adalah 128.1.0.0 – 191.254.0.0. Dua oktet pertama digunakan untuk alamat network dan dua oktet selanjutnya untuk alamat host. Alamat network kelas C adalah 224.0.0.0 – 223.255.255.0. Tiga oktet pertama digunakan untuk alamat network dan oktet selanjutnya untuk alamat host. Alamat network kelas D adalah 224.0.0.0 – 239.255.255.255. Alamat network kelas E adalah 240.0.0.0 – 254.255.255.255. Dari kelima kelas IP ini, IP yang digunakan untuk keperluan publik adalah IP kelas A, B, dan C. Sedangkan IP kelas D digunakan untuk grup multicast, di mana
14 dalam jaringan dengan IP kelas D ini, semua alamat dipakai untuk alamat jaringan. Kelas E dipakai untuk eksperimental dan keperluan mendatang.
2.3.2
IP Subnet Mask Suatu alamat IP dapat dibagi menjadi beberapa sub-jaringan dengan cara
meminjam bit dari bagian host untuk dijadikan bagian network. Subnet mask dari IP tersebut diubah menjadi satu, yang menandakan bahwa bit tersebut adalah bagian network.
2.3.3
Public IP Address dan Private IP Address Public IP adalah alamat IP yang dapat dipakai untuk koneksi di Internet, di mana
IP tersebut bersifat global, dan tidak mungkin ada dua buah public IP yang sama di Internet. Namun demikian, karena terbatasnya jumlah alamat IP yang dapat dialokasikan, maka dipakai alamat private IP untuk pemberian alamat IP. Private IP adalah alamat IP yang hanya bersifat lokal untuk suatu jaringan. Karena antara suatu jaringan dengan jaringan lainnya tidak terhubung, maka pemberian alamat IP yang sama pada dua jaringan tidak akan menimbulkan masalah. Untuk menghubungkan jaringan lokal tersebut ke jaringan Internet, diperlukan suatu public IP, di mana semua private IP jaringan lokal dalam Internet akan diterjemahkan sebagai public IP tersebut. Prosedur tersebut yaitu NAT (Network Address Translation), di mana private IP diterjemahkan menjadi public IP.
15 2.4
HyperText Transfer Protocol over Secure Socket Layer (HTTPS ) https adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web.
Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris. Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual. Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’ bukan dengan ‘http://’ Kesalahpahaman yang sering terjadi pada pengguna kartu kredit di web ialah dengan menganggap HTTPS “sepenuhnya” melindungi transaksi mereka. Sedangkan pada kenyataannya, HTTPS hanya melakukan enkripsi informasi dari kartu mereka antara browser mereka dengan web server yang menerima informasi. Pada web server, informasi kartu mereke secara tipikal tersimpan di database server (terkadang tidak langsung dikirimkan ke pemroses kartu kredit), dan server database inilah yang paling sering menjadi sasaran penyerangan oleh pihak-pihak yang tidak berkepentingan.
16 2.5
World Wide Web (WWW) M enurut Turban (2005,p50), World Wide Web adalah aplikasi yang digunakan
dalam internet yang berfungsi sebagai transportasi data yang diterima sebagai stard untuk menyimpan, menerima, dan formatting, dan menampilkan informasi melalui client/server architecture. WWW adalah
layanan
yang paling sering digunakan
dan
memiliki
perkembangan yang sangat cepat karena dengan layanan ini kita bisa menerima informasi dalam berbagai format (multimedia). Untuk mengakses layanan WWW dari sebuah komputer (yang disebut WWW server atau web server) digunakan program web client yang disebut web browser atau browser saja. Informasi-informasi yang terdapat di WWW dikemas dalam bentuk halamanhalaman web (web page). Sekumpulan halaman web milik seseorang atau suatu perusahaan dikumpulkan dan diletakkan dalam sebuah situs web (web site), sedangkan homepage adalah istilah untuk menyebutkan halaman-halaman pertama yang akan muncul jika suatu situs web diakses. Setiap halaman dan situs dalam WWW memiliki alamat yang unik dan khas yang disebut sebagai URL (Universal Resource Locator). WWW terdiri dari dua komponen dasar, yaitu (Ellsworth, 1997, p4): 1.
Web Server Suatu aplikasi yang jalan pada suatu situs web dan bertanggung jawab untuk
merespon permintaan file dari web browser. Dalam melakukan permintaan suatu halaman pada suatu
situs web, browser melakukan koneksi tersebut dengan
mengirimkan isi file yang diminta dan memutuskan koneksi tersebut. Browser kemudian memformat informasi yang didapat dari server. Pada bagian server, browser yang berbeda dapat melakukan koneksi pada server yang sama untuk
17 memperoleh informas i yang sama. Dalam memberikan halaman yang diminta web server dapat melakukan kerja sama dengan server lain seperti Aplikasi Server. 2.
Web Browser Software yang dijalankan pada komputer pengguna yang meminta informasi dari
server web dan menampilkannya sesuai dengan file data itu sendiri. Tugas utama dari web browser adalah mendapatkan dokumen dari web lalu memformat dokumen tersebut bagi pengguna. Untuk mendapatkan halaman tersebut, harus diberikan alamat dari dokumen tersebut.
2.6
Web S ervice Web service adalah sebuah aplikasi yang memungkinkan komputasi terdistribusi
(distributed computing) dengan mengijinkan sebuah perangkat untuk mengakses method di perangkat lain melalui format data dan protokol umum, seperti XM L dan HyperText Transport Protocol (HTTP) (Deitel, 2002, p1040). Dalam .N ET, pemanggilan method ini diimplementasikan dengan Simple Object Access Protocol (SOAP), yaitu sebuah protocol berbasiskan XM L yang memungkinkan permintaan dan respon untuk ditransfer melalui protocol umum seperti HTTP. Dengan SOAP, aplikasi menampilkan dan mengirim data dengan format standar, yaitu XM L. Jadi, sebuah aplikasi yang disimpan dalam satu perangkat bisa diakses oleh perangkat lain dalam jaringan, misalnya internet. Komputasi terdistribusi seperti ini menguntungkan bagi beragam sistem, misalnya sistem yang tidak memiliki akses ke data tertentu, atau sistem yang tidak mampu melakukan perhitungan tertentu karena keterbatasan spesifikasi. Web
Service merupakan
suatu
sumber
perangkat
lunak
yang
dapat
diidentifikasikan dengan Unique Resource Identifier (URI), dan dialamatkan dengan
18 Unique Resource Locater (URL), yang menerima permintaan (request) dari client melalui HTTP dan mengembalikan suatu respon berbasiskan XM L. URI adalah suatu nomor atau nama yang secara unik mengidentifikasi suatu elemen atau atribut. URI merupakan suatu cara umum untuk mengetahui lokasi resource di Internet dengan lebih berfokus pada resource-nya dibanding lokasinya. Secara teori, suatu URI dapat mencari dokumen yang berpindah dari suatu lokasi ke lokasi lain. Web Service bertujuan untuk mempermudah interaksi dari suatu aplikasi ke aplikasi-aplikasi lainnya dengan suatu mekanisme yang standar untuk mendeskripsikan, menemukan lokasi, dan berkomunikasi dengan aplikasi online. Arsitektur Web Service standar berlapis yang menjembatani organisasiorganisasi, seperti HTTP, SOAP, XM L, Web Service Definition Languange (WSDL), dan Universal Description, Discovery, and Integration (UDDI). Web Service bertukar pesan antara client dan layanan dengan menggunakan protocol internet HTTP. Ini berarti perusahaan dapat memanfaatkan infrastruktur yang sudah ada untuk mengakses web dalam mengembangkan aplikasi baru. Infrastruktur yang dimaksud seperti Firewall dan Virtual Private Network (VPN). Pesan Web Sevice mengikuti standar dokumen XM L sehingga pesannya bersifat bebas, tidak terikat dengan bahasa pemrogaraman ataupun platform tertentu dan data yang terkandung di dalam dokumen XM L bersifat character and coding-tolerant. Informasi di ekstrak dari dokumen XM L dengan menggunakan parser XM L. Antarmuka parsing XM L antara lain adalah Document Object Model (DOM ). Secara umum, Web Service framework dibagi ke dalam tiga area, yaitu protokol komunikasi, deskripsi layanan,dan pencarian layanan. Spesifikasi yang mendeskripsikan ketiga area tersebut adalah :
19 1.
Simple Object Access Protocol (SOAP) : memungkinkan komunikasi diantara Web Service.
2.
Web Service Desrciption Languange (WSDL) : menyediakan suatu deskripsi formal dan dapat dibaca oleh komputer (computer readable) tentang suatu Web Service.
3.
Universal Description, Discovery, and Integration (UDDI) : sebagai direktori dan pendaftaran untuk Web Service. Perbedaan antara Web Site dengan Web Service :
WEB S ITE 1.
M emiliki web interface
2.
Dibuat untuk berinteraksi langsung dengan user
3.
Dibuat untuk bekerja pada web browser. WEB S ERVICES
1.
Tidak memiliki interface yang bagus
2.
Dibuat untuk berinteraksi langsung dengan applikasi yang lain baik beda OS / Konsep sekalipun.
3.
Dibuat untuk bekerja pada semua tipe client applikasi / perangkat device
2.7
eXtensible Markup Languange (XML) XM L adalah sebuah teknologi cross platform, dan merupakan tool untuk
melakukan transmisi informasi. XM L bukanlah program, atau pustaka. XM L adalah sebuah teknologi, sebuah standar dengan berbagai aturan tertentu (Noprianto, 2004).
20 Dalam pengertian yang sederhana, sebuah dokumen XM L hanyalah sebuah file teks biasa yang berisikan berbagai tag yang didefinisikan sendiri oleh pembuat dokumen XM L tersebut. Sesuai dengan namanya, eXtensible Markup Language, sebuah dokumen XM L adalah sebuah dokumen dengan markup, sama seperti halnya dengan HTM L. Namun, XM L tidak didesain untuk menggantikan HTM L. XM L lebih dirancang untuk mendeskripsikan data dan memfokuskan diri pada data tersebut. Sementara, HTM L didesain untuk menampilkan data dan memfokuskan diri pada bagaimana data ditampilkan. Secara desain, hal ini sudah jauh berbeda. Hubungan antara XM L dan HTM L lebih ke arah pelengkap. Anda dapat menyimpan data dalam sebuah dokumen XM L dan mempergunakan HTM L untuk menampilkan data tersebut. Dokumen XM L juga terdiri dari berbagai tag. Hanya, bedanya, tag-tag tersebut tidak memiliki standar khusus. Kita, sebagai pembuat dokumen lah yang harus menentukan tag dan artinya. Untuk menjaga agar tag-tag tersebut tetap berada di dalam lingkup jalan yang benar, maka keseluruhan aturan tag kita disimpan di dalam Document Type Defi nition (DTD) atau XM L Schema. Dengan adanya aturan tersimpan di DTD atau XM L Schema, maka sebuah dokumen XM L diharapkan akan mampu mendeskripsikan diri sendiri (self descriptive). Boleh disamakan dengan tag HTM L yang telah memiliki standar. Walaupun, pada XM L, artinya akan lebih luas lagi.
2.8
Web-Applications M enurut Roger S Pressman (2005,p41), Web-applications adalah satuan aplikasi
yang cukup luas. Pada bentuk yang paling sederhana, web-applications dapat berupa serangkaian hypertext files yang terhubung yang memberikan informasi berupa text dengan sedikit gambar/grafik. Seiring dengan perkembangannya, ia berkembang
21 sehingga memiliki banyak fungsi, fitur, dan content, juga terhubung dengan database korporasi dan aplikasi bisnis yang rumit.
2.9
Arsitektur Client Server Arsitektur Client Server didasarkan pada hal sederhana, yaitu komputer yang
berbeda melakukan tugas yang berbeda, dan setiap komputer bisa dioptimalkan untuk tugas tertentu. Jadi masuk akal jika memisahkan DBM S dari aplikasi client. Di dalam lingkungan networking, DBM S terdapat di dalam satu komputer. Tetapi banyak aplikasi yang mengakses database dan semua client melakukan permintaan dari database yang sama. Program yang menerima dan melayani permintaan ini adalah DBM S, dan komputer yang menjalankan DBM S disebut dengan server database. Aplikasi client tidak mengetahui bagaimana data disimpan di dalam database. Pada arsitektur client-server, aplikasi dipecah-pecah ke dalam dua komponen utama yang bekerja sama untuk mencapai satu tujuan bersama. Komponen-komponen ini disebut dengan tier (tingkat), dan setiap tingkat mengimplementasikan fungsi yang berbeda. M odel client-server mengandung dua buah tingkat. Client-server menjadi sangat populer karena sangat banyak tugas pemrosesan yang dilakukan pada komputer client, yang bisa berupa komputer desktop yang murah. Semakin tinggi kemampuan komputer client, semakin besar pemrosesan yang bisa dilakukannya. Dua buah komputer client bisa menerima data yang sama dari client, sebagai contoh penjualan berdasarkan daerah. Sebuah komputer bisa melakukan perhitungan sederhana, seperti perhitungan rata-rata, sementara komputer client lain yang lebih hebat bisa menggabungkan data dengan aplikasi pemetaan untuk menampilkan bagian yang rumit.
22 2.9.1
Model Tiga Tingkat M odel dua-tingkat adalah sebuah arsitektur komputer yang sangat efisien untuk
aplikasi database, tetapi selalu merupakan pilihan yang terbaik. Sebagian besar programmer mengembangkan aplikasi dua-tingkat yang dijalankan pada LAN kecil. Bentuk yang paling lengkap dari aplikasi database adalah yang melibatkan tiga-tingkat. Pada arsitektur dua-tingkat atau client-server, client berbicara langsung kepada database server. Setiap aplikasi yang terhubung dengan ke DBM S dan mengambil informasi, adalah aplikasi client-server. Peran database server adalah mengakses dan mengupdate data. Semua hal lainnya diserahkan kepada client. Dengan kata lain client bertanggung jawab menampilkan data kepada user, mengirimkan input dari user, mempersiapkan permintaan yang sesuai untuk database server, dan akhirnya mengimplementasikan suatu hal yang disebut business rules. M enurut Petroutsos (2000, p16), Business rules ialah prosedur yang khusus digunakan oleh perusahaan tertentu. Sebagai contoh, sebuah perusahaan mungkin memiliki aturan untuk menentukan batas kreditnya untuk para pelanggannya. Aturan-aturan ini harus diterjemahkan ke dalam program yang akan dijalankan pada client. Aturan bisnis ini sering berubah, sesuai dengan praktik bisnis di dunia nyata. Aturan-aturan baru diperkenalkan, aturan yang sudah ada diubah, artinya bahwa program yang mengimplementasikan aturan tersebut juga harus sering diganti. Jika itu terjadi maka diperlukannya pendistribusian program baru ke workstation dan memastikan semua user pada network menggunakan versi yang baru dari program client tersebut. Jika aturan bisnis diterapkan pada sever maka tidak terdapat masalah dalam pendistribusian kembali aplikasi, tetapi ini akan menambahkan beban ke server.
23 M asalah di atas telah memunculkan sebuah tingkat ketiga yang disebut dengan middle tier. Tingkat menengah ini merupakan sebuah objek yang berada diantara aplikasi client dan server. Ia merupakan suatu class yang memiliki beberapa metode dan mengisolasi client dari server. Jika banyak client perlu melakukan perhitungan tersebut pada middle tier. Aplikasi client bisa memanggil metode objek yang berada pada middle tier dan mendapatkan hasilnya. Keuntungan utama dari middle tier adalah middle tier mengisolasi client dari server. Client tidak lagi mengakses database, tetapi memanggil metode yang dimiliki oleh objek-objek pada middle tier. M enurut Petroutsos (2000, p19), M odel tiga tingkat memecahkan komponenkomponen aplikasi ke dalam tiga kategori atau lapisan, yaitu : 1.
Presentation tier Lapisan ini berjalan pada client dan berinteraksi dengan user, tugasnya terutama
menampilkan informasi kepada user. 2.
Application layer Lapisan ini juga dikenal sebagai lapisan bisnis, lapisan ini mengandung logika dari
aplikasi. Ia menyederhanakan akses client ke dalam database dengan mengisolasi pelayanan user dari database. 3.
Data layer Lapisan ini adalah database server, yang melayani permintaan yang dibuat oleh
client. Permintaan ini biasanya berupa query.
24 2.10
Rekayasa Perangkat Lunak Perangkat lunak 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, dan (3) dokumen yang menggambarkan operasi dan kegunaan program. (Roger S Pressman,2005,p36) Sedangkan rekayasa piranti lunak adalah pembuatan dan penggunaan prinsipprinsip teknik yang bertujuan untuk mendapatkan software yang bernilai ekonomis yang reliabel dan bekerja secara efisien pada perangkat nyata (Roger S Pressman,2005,p53). Sedangkan menurut IEEE [IEE93] telah mengembangkan definisi yang lebih komprehensif, yaitu (1) rekayasa perangkat lunak adalah aplikasi dari sebuah pendekatan kuantifiable, disiplin, dan sistematis kepada pengembangan, operasi dan pemeliharaan perangkat lunak. (2) Studi tentang pendekatan-pendekatan seperti pada proses, metode dan alat bantu.
2.10.1 Karakteristik Perangkat Lunak M enurut Pressman (2005,p37), perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen sistem fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras : 1.
Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk
yang klasik. M eskipun banyak kesamaan diantara pabrik perangkat keras dan perangkat lunak, aktivitas keduanya secara mendasar sangat berbeda. Dalam kedua akivitas tersebut, kualitas yang tinggi dicapai melalui perancangan yang baik, tetapi di dalam fase pembuatan perangkat keras, selalu saja ditemukan masalah kulaitas yang tidak
25 mudah untuk disesuaikan dengan perangkat lunak. Biaya untuk perangkat lunak dikonsentrasikan kepada pengembangan. Hal ini berarti proyek perangkat lunak tidak dapat diatur seperti pengaturan proyek-proyek pemanufakturan. 2.
Perangkat lunak tidak pernah usang. Perangkat keras mengalami laju kegagalan yang sangat tinggi pada awal
hidupnya (kegagalan-kegagalan itu sering disebabkan oleh perancangan atau cacat pembuatan). Cacat-cacat tersebut harus dikoreksi, dan laju kegagalan turun ke keadaan steady-state (diharapkan, sangat rendah) untuk beberapa periode waktu. Tetapi seiring dengan perjalanan waktu, laju kegagalan bertambah lagi pada saat komponen perangkat keras terkena pengaruh penumpukan debu, getaran, ketidakhati-hatian, suhu tinggi, serta beberapa kerusakan yang disebabkan oleh lingkungan. Secara singkat dapat dikatakan bahwa perangkat keras sudah mulai menjadi usang. Perangkat lunak tidak rentan terhadap pengaruh limgkungan yang merusak yang menyebabkan perangat keras menjadi usang. Kesalahan-kesalahan yang tidak dapat ditemukan akan menyebabkan tingkat kegagalan menjadi sangat tinggi pada awal hidup program. Tetapi hal itu dapat diperbaiki (diharapkan tidak lagi ditemukan kesalahan yang lain). Aspek lain dari keusangan menggambarkan perbedaan antara perangkat keras dan perangkat lunak. Bila komponen suatu perangkat keras telah usang, komponen dapat diganti dengan suku cadangnya. Namun tidak ada suku cadang bagi perangkat lunak. Setiap kegagalan pernagkat lunak menggambarkan kesalahan dalam perancangan atau proses dimana rancangan diterjemahkan kedalam kode mesin yang dapat dieksekusi. Demikianlah, pemeliharaan pernagkat lunak menjadi lebih kompleks daripada pemeliharaan perangkat keras.
26 3.
Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak
dapat dirakit dari komponen yang sudah ada. Dalam pembuatan perangkat keras, pengembang desain menggambar sebuah skema sederhana rangkaian digital, melakukan analisis dasar untuk memastikan bahwa fungsi yang tepat dapat dicapai serta kemudian menyesuaikan ke katalog komponen digital. Setiap perangkat keras mempunyai nomor bagian tersendiri, sebuah fungsi yang sudah tervalidasi, interface yang didefinisikan dengan baik, serta rangkaian standar tuntunan integrasi. Setelah masin-masing komponen diseleksi, perangkat keras dapat dipesan secara terpisah. Sayangnya para perancang perangkat lunak tidak diberi fasilitas seperti yang tergambar diatas. Dengan sedikit pengecualian, tidak ada katalog komponen perangkat lunak. M emang memungkinkan untuk memesan perangkat lunak secara terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasangkan ke dalam program-program yang baru.
2.10.2 System Development Life Cycle (S DLC) M enurut Turban, Rainer, dan Potter (2005, p489), yang dimaksud dengan SDLC adalah kerangka terstruktur,digunakan untuk proyek IT yang besar, yang terdiri dari beberapa proses yang berurutan yang diperlukan untuk membangun suatu sistem informasi. Pendekatan waterfall digunakan untuk menggambarkan SDLC dalam skripsi ini seperti pada gambar 2.1. M enurut , Rainer, dan Potter (2005, p490), pendekatan waterfall ini merupakan pendekatan SDLC yang tugasnya dilakukan secara bertahap dengan menyelesaikan satu tugas sebelum melanjutkan ke tugas selanjutnya.
27
Gambar 2.2 Delapan Langkah dalam SDLC (Turban, Rainer, Potter, 2001, p477) Tahap-tahap SDLC adalah sebagai berikut : 1.
Investigasi Sistem (System Investigation). Feasibility study atau pembelajaran terhadap segala kemungkinan yang dapat
terjadi adalah tahap terpenting dalam tahap system investigation. Dengan feasibility study yang benar maka suatu perusahaan dapat terhindar dari kesalahan yang dapat meningkatkan pengeluaran. Feasibility study menentukan kemungkinan adanya keuntungan dari proyek pengembangan sistem yang diajukan dan menilai proyek tersebut secara teknik, biaya, dan sifat. 2.
Analisis Sistem (System Analysis). System Analysis adalah analisis terhadap masalah bisnis yang akan diselesaikan
dengan sistem informasi oleh perusahaan. Tahap ini mendefinisikan masalah bisnis, mengidentifikasikan
penyebab,
menspesifikasikan
solusi,
serta mengidentifikasi
informasi-informasi yang diperlukan. Tujuan utama dari tahap ini adalah untuk
28 menggabungkan informasi mengenai sistem yang ada dan menentukan kebutuhan dari sistem yang baru. Beberapa hal yang dihasilkan dari tahap analisis adalah : 1.
Kekuatan dan kelemahan dari sistem yang telah ada.
2.
Fungsi-fungsi yang diperlukan oleh sistem yang baru untuk menyelesaikan permasalahan.
3.
Kebutuhan informasi mengenai pengguna untuk sistem yang baru.
3.
Desain Sistem (System Design) Tahap ini menjelaskan bagaimana suatu sistem akan bekerja. Yang dihasilkan
oleh desain sistem adalah sebagai berikut : 1.
Output, Input, dan User Interface dari sistem.
2.
Perangkat keras, perangkat lunak, database, telekomunikasi, personel, dan prosedur.
3.
Penjelasan bagaimana komponen terintegrasi.
4.
Pemrograman (Programming). Tahap ini mencakup penerjemahan spesifikasi desain kedalam bahasa komputer.
5.
Pengujian (Testing). Tahap ini dipergunakan untuk memeriksa apakah pemrograman komputer telah
menghasilkan hasil yang diinginkan dan diharapkan atas situasi tertentu. Testing didesain untuk mendeteksi adanya kesalahan didalam coding. 6.
Penerapan (Implementation). Implementasi adalah proses perubahan dari penggunaan sistem lama ke sistem
yang baru. Ada empat strategi yang dapat digunakan oleh suatu perusahaan dalam menghadapi perubahan, yaitu :
29 1.
Parallel conversion : Perusahaan akan menerapkan kedua sistem, yang lama dan yang baru, secara simultan dalam periode waktu tertentu.
2.
Direct conversion : Sistem yang baru akan langsung dterapkan dan yang lama akan langsung didisfungsikan.
3.
Pilot conversion : Sistem yang baru akan dipergunakan dalam satu bagian dari organisasi. Apabila sistem baru tersebut berhasil maka akan digunakan pada bagian lain dari organisasi.
4.
Phased conversion : Sistem akan digunakan secara bertahap, perkomponen atau modul. Satu persatu modul akan dicoba dan dinilai, bila satu modul berhasil maka modul lain akan digunakan sampai seluruh sistem berhasil dengan baik.
7.
Pengoperasian dan Pemeliharaan (Operation and Maintenance). Setelah tahap konversi berhasil maka sistem baru akan dioperasikan dalam suatu
periode waktu. Ada beberapa tahap dalam maintenance atau pemeliharaan, yaitu: a. Debugging the program : Proses yang berlangsung selama sistem berjalan. b. Terus memperbaiki sistem untuk mengakomodasi perubahan dalam situasi bisnis. c. M enambah fungsi atau feature baru didalam sistem.
2.11
PHP PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu
PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah sekumpulan script yang digunakan untuk mengolah data form dari web. Perkembangan selanjutnya adalah Rasmus melepaskan kode sumber tersebut dan menamakannya PHP/FI, pada saat tersebut kepanjangan dari PHP/FI adalah Personal
30 Home Page/Form Interpreter. Dengan pelepasan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter sudah diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend, menulis ulang interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada Juni 1998 perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan nama rilis tersebut menjadi PHP 3.0. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Versi ini adalah versi mutakhir dari PHP. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru untuk menjawab perkembangan bahasa pemrograman ke arah pemrograman berorientasi objek. 2.11.1 Pengertian M enurut Luke Welling dan Laura Thomson(2001,p1), PHP adalah server-side scripting language yang didesain secara spesifik untuk web. Dalam page HTML, dapat dimasukkan code PHP yang akan dieksekusi setiap kali halaman dikunjungi. PHP code diterjemahkan di web-server dan dirubah menjadi HTM L atau output lain yang akan dilihat oleh pengunjung halaman.
31 PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Contoh terkenal dari aplikasi PHP adalah phpBB dan M ediaWiki (software di belakang
Wikipedia).
ASP.NET/C#/VB.NET
PHP
juga
M icrosoft,
dapat
dilihat
ColdFusion
sebagai
pilihan
M acromedia,
lain
dari
JSP/Java
Sun
M icrosystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CM S yang dibangun menggunakan PHP adalah M ambo, Joomla!, Postnuke, Xaraya, dan lainlain. 2.11.2 Kelebihan •
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
•
Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah.
•
Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.
•
Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena referensi yang banyak.
•
PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.
32 2.12
MySQL M enurut M enurut Luke Welling dan Laura Thomson(2001,p1), MySQL adalah
sebuah relational database management systems yang sangat cepat dan kuat. MySQL adalah sebuah perangkat lunak sistem management basis data SQL atau DBM S yang multithread, multiuser, dengan sekitar 6 juta instalasi diseluruh dunia. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia M ySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan M ichael "M onty" Widenius. Tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk administrasi basis data M ySQL berbasis web yang sangat populer yaitu phpMyAdmin.
2.13
Object Oriented Paradigm Object-Oriented Paradigm adalah pendekatan untuk mendapatkan solusi dari
masalah-masalah dimana semua perhitungan disajikan dalam konteks objek. Objek merupakan instance dari konsep pemrograman, yang biasa disebut dengan class, dimana
33 terdapat data abstraksi dan mengandung prosedural abstraksi yang mengoperasikan objek. (Lethbridge dan Laganiere, 2002, p29). Kelebihan menggunakan paradigma Object-Oriented antara lain adalah adanya kemampuan untuk reuse (dari komponen program) yang mengarah pada pengembangan software secara cepat dan program berkualitas tinggi. Software Object-Oriented menjadi lebih mudah dipelihara karena secara struktural tidak menyatu. Hal ini menghasilkan efek samping dalam jumlah minim saat perubahan harus dilakukan. Sebagai tambahan, sistem Object-Oriented mudah untuk diadaptasi dan untuk diskala (misalnya sistem yang besar dapat dikreasi dengan merangkai subsistem yang reusable). (Pressman, 2001, p542).
2.13.1 Karakteristik dari Object Oriented Karakteristik utama dari Object-Oriented adalah: 1.
Data Abstraction M erupakan suatu ide untuk mengelompokkan berbagai hal di dalam suatu class,
sehingga dapat mengurangi kompleksitas dari sistem. 2.
Encapsulation dan Information Hiding Encapsulation berarti pemaketan data dan behaviour ke dalam suatu objek.
Information hiding berarti pemisahan aspek-aspek eksternal dari objek, yang dapat diakses dari objek lainnya. Aspek-aspek internal dari suatu objek, tidak dapat diakses (tersembunyi) dari objek lainnya. 3.
Polymorphism dan Inheritance
34 Polymorphism adalah kemampuan menyembunyikan implementasi yang berbeda di balik interface yang sama. Inheritance adalah mekanisme untuk mendefinisikan suatu class yang didefinisikan dari class yang sudah ada. (Britton dan Doake, 2000, p14)
2.13.2 Beberapa Konsep Tentang Object Oriented Beberapa konsep tentang Object Oriented menurut Whiten et al. (2004, pp431440) adalah: 1.
Object, sesuatu yang dapat dilihat, disentuh, atau dirasakan dan di dalamnya tersimpan data dan behaviour.
2.
Attribute, data yang merepresentasikan karakteristik dari objek.
3.
Behaviour, sekumpulan hal yang bisa dilakukan oleh objek dan berhubungan dengan fungsi yang ada pada data objek (atau attribute). Behaviour dapat berupa method, operation, ataupun service.
4.
Object instance, merupakan objek secara spesifik yang merujuk pada suatu nilai tertentu dari atributnya.
5.
Inheritance, suatu konsep dimana method dan/atau attribute didefinisikan di dalam suatu objek class dan dapat diturunkan atau di-reuse oleh objek dari class yang lain.
6.
Generalization atau specialization, sebuah teknik dimana attribute dan behaviour yang sama dimiliki oleh beberapa tipe dari objek class dikelompokkan (atau diabstraksi) ke dalam masing-masing class mereka, disebut juga dengan supertype. Attribute dan behaviour dari objek supertype kemudian diturunkan oleh setiap objek class.
35 7.
Supertype, sebuah entitas yang mengandung attribute dan behaviour yang sama bagi satu atau lebih bagi class subtypes. Disebut juga dengan parent class.
8.
Subtype, sebuah objek class yang mewarisi attribute dan behaviour dari supertype class dan kemudian class itu sendiri dapat memiliki attribute dan behaviour sendiri yang unik.
9.
Multiplicity, jumlah minimum dan maksimum dari hubungan yang terjadi antar objek.
10.
Aggregation, suatu hubungan dimana suatu class yang utuh (whole class) mengandung satu atau lebih class-class yang merupakan bagian dari whole class.
11.
Composition,
sebuah
hubungan
aggregation
dimana
whole
class
bertanggungjawab penuh atas ada dan tiadanya part class. Jika whole class tiada, maka part class pun juga ikut tiada. 12.
Message, komunikasi yang terjadi saat sebuah objek meminta behaviour yang dimilikinya untuk mendapatkan informasi atau aksi lain.
13.
Polymorphism, sebuah konsep tentang bagaimana objek-objek yang berbeda dapat menanggapi suatu message yang sama dengan cara yang berbeda.
14.
Override, suatu kondisi dimana subclass (subtype) menggunakan attribute atau behaviour dari diriya sendiri, daripada attribute atau behaviour yang diturunkan dari superclass (supertype).
2.14
Object Oriented Analysis and Design (OOAD) Object-Oriented Analysis (OOA) dimaksudkan untuk mendefinisikan semua
class yang relevan terhadap masalah yang akan dipecahkan, beserta operation dan
36 attribute yang berhubungan dengan mereka, hubungan diantara mereka, dan behaviour yang mereka tunjukkan. Untuk melakukan semua ini, maka diperlukan: 1.
User requirement mendasar haruslah dikomunikasikan diantara customer dan software engineer.
2.
Class harus diidentifikasikan (seperti identifikasi attribute dan method).
3.
Hirarki class harus spesifik.
4.
Hubungan antar objek (relationship) haruslah direpresentasikan.
5.
Objek behaviour haruslah dimodelkan.
6.
Tugas 1 sampai dengan 5 diterapkan secara iterative sampai modelnya selesai.
Tujuan dari OOA sendiri untuk mengembangkan satu model yang dapat menggambarkan komputer software sebagai usaha untuk memenuhi kebutuhan tertentu dari customer. (Pressman, 2001, p572) Dalam implementasinya,
berbagai metodologi OOA
untuk
melakukan
perancangan yang muncul pada akhir 80-an dan awal 90-an. M eskipun secara terminologi dan langkah-langkah yang diberikan oleh setiap metodologi tersebut berbeda, secara umum proses-proses di dalam OOA cukup mirip satu sama lainnya. Untuk menggambarkan suatu Object-Oriented Analysis, seorang software engineer seharusnya melakukan beberapa langkah tersebut: 1.
M endapatkan customer requirement untuk sistem tersebut.
2.
Identifikasi scenario atau use-cases.
3.
M emilih class dan objek dengan menggunakan requirement yang ada sebagai panduan.
4.
Identifikasi attribute dan operation untuk setiap objek dari sistem.
37 5.
M endefinisikan struktur dan hirarki yang menggorganisasikan class.
6.
M embangun model untuk object- relationships.
7.
M embangun model untuk object-behaviour.
8.
M elakukan review terhadap model yang dibuat terhadap use case atau scenario. (Pressman, 2001, p575)
Salah satu metodologi OOA yang telah luas penggunaannya di dunia industri adalah UM L (Unified Modelling Language). Setelah kita melakukan Object-Oriented Analysis, maka dapat dilakukan ObjectOriented Design yang bertujuan untuk mendesain model yang telah dikembangkan yang berfungsi sebagai cetak biru untuk membangun software. (Pressman, 2001, p603).
2.15
Unified Modelling Language (UML) M enurut Grady
melukiskan
software
Booch(1998,p13), UM L adalah bahasa standard untuk blueprints.
UM L
digunakan
untuk
menggambarkan,
menspesifikasikan, merancang, dan dokumentasi dari artfacts of a software-intensive system. Unified M odeling Language (UM L) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, menggambarkan, dan membangun sistem perangkat lunak seperti halnya pada business modelling dan sistem lainnya [OM G01]. UM L tidak berdasarkan pada bahasa pemrograman tertentu. Standar spesifikasi UM L dijadikan standar defacto oleh OM G (Object M anagement Group) pada tahun 1997.UM L yang berorientasikan object mempunyai beberapa notasi standar.
38 Spesifikasi ini menjadi populer dan standar karena sebelum adanya UM L, telah ada berbagai macam spesifikasi yang berbeda. Hal ini menyulitkan komunikasi antar pengembang perangkat lunak. Untuk itu beberapa pengembang spesifikasi yang sangat berpengaruh berkumpul untuk membuat standar baru. UM L dirintis oleh Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OM T (Object M odeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). UM L mendeskripsikan OOP (Object Oriented Programming) dengan beberapa diagram.
2.15.1 Diagram S truktur Diagram Struktur terdiri dari diagram kelas, diagram obyek, diagram komponen, dan
diagram
deployment,
yang
masing-masing
memiliki
kegunaan
untuk
mendokumentasikan, menspesifikasikan, menggambarkan, dan membangun sistem perangkat lunak. Seperti pada penjelasan di bawah ini.
2.15.1.1 Diagram Kelas Class diagram adalah diagram yang mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka. (M artin Fowler,2005,p53). M enurut Grady Booch (1998, p107) Diagram kelas adalah diagram yang menggambarkan serangkaian kelas, interface, dan kolaborasi dan hubungannya.
39 Notasi-notasi yang digunakan dalam Diagram Kelas adalah sebagai berikut: 1.
Kelas M enyatakan kelas yang digunakan. Diagram ini berisikan tiga komponen, yaitu
nama kelas, atribut dalam kelas, dan behavior. Atribut merepresentasikan parameter dan data-data yang terdapat dala keas. Behavior menyatakan fungsi atau method yang berlaku dalam kelas tersebut.
Gambar 2.3 Kelas 2.
Inheritance M enyatakan hirarki dari suatu kelas sebagai komponen kelas lain yang jug
disebut sub objek.
Gambar 2.4 Inheritance Kelas
40 3.
Agregation M erupakan sebuah bentuk assosiasi yang meyatakan bagian dari keseluruhan
dan digambarkan dalam notasi berbentuk diamond.
4.
M essage Message (pesan) merupakan cara untuk berhubungan antara satu objek dengan
objek lain. Suatu pesan dikirimkan oleh suatu objek kepada objek tertentu dapat digambarkan sebagai anak panah. Objek pengirim mengirimkan pesan kepada objek penerima supaya objek penerima melaksanakan salah satu metode yang dimilikinya.
Gambar 2.5 Message 2.15.2 Diagram Perilaku Diagram perilaku terdiri dari diagram use-case, diagram urutan / sequence, diagram kolaborasi, State Chart, dan diagram aktivitas, berisikan tentang hubungan antara user dengan sistem. Seperti pada penjelasan di bawah ini.
2.15.2.1 Diagram use-case Use-case modeling merupakan proses pemodelan fungsi-fungsi sistem dalam konteks peristiwa-peristiwa bisnis, siapa yang mengawalinya, dan bagaimana sistem itu merespons hal tersebut.
41 M enurut Grady Booch (1998, p97) diagram use-case adalah diagram yang menunjukkan serangkaian use case dan aktor dan hubungannya. Diagram use-case digunakan untuk mengilustrasikan gambaran statis use case sebuah sistem. Diagram usecase sangat penting dalam pengaturan dan pemodelan behavior sistem. Diagram use-case menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Salah satu tantangan bagi semua tim pengembangan system informasi, dan khususnya analis sistem, adalah kemampuan untuk memperoleh persyaratan sistem yang benar dan yang diperlukan para stakeholder dan menetapkannya dalam sebuah cara yang dapat dipahami para stakeholder agar persyaratan-persyaratan itu dapat di validasi dan di verifikasi. Industri pengembangan perangkat lunak telah mempelajari bahwa untuk meraih sukses perencanaan, analisis, design, konstruksi, dan penyebaran sistem informasi, analisis sistem pertama-tama harus memahami kebutuhan para stakeholder dan mengapa sistem harus dikembangkan- konsep yang disebut user-centered development/ pengembangan berpusatkan pengguna. Dengan fokus kepada pengguna sistem, analis dapat berkonsentrasi untuk mengembangkan bagaimana sistem akan digunakan dan bukan bagaimana sistem dibangun. Pemodelan use-case awalnya disusun oleh Dr. Ivar Jacobson pada tahun 1986 dan menjadi populer setelah beliau menerbitkan buku, Object-Oriented Software Engineering, pada tahun 1992. Dr Jacobson menggunakan pemodelan use-case sebagai kerangka kerja untuk metodologi objectory-nya dengan sukses digunakannya untuk mengembangkan sistem informasi berorientasi-objek. Penggunaan pemodelan use-case
42 memfasilitasi dan mendorong keterlibatan pengguna, yang merupakan faktor sukses kritis untuk memastikan sukses proyek. Ada dua alat utama yang digunakan saat menyajikan pemodelan use-case. Pertama adalah use-case diagram, yang secara grafis menggambarkan sistem sebagai sebuah kumpulan use-case, pelaku(pengguna), dan hubungan keduanya. Diagram ini mengkomunikasikan lingkup kejadian bisnis yang harus diproses oleh sistem. Detil setiap kejadian bisnis dan bagaimana pengguna dapat berinteraksi dengan sistem digambarkan dalam artifak kedua yang dinamakan use-case narrative, yang merupakan deskripsi tekstual tentang kejadian bisnis dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan tugas. System Use case 1
Use case 2 Actor 1 Use case 3
Actor 2
Gambar 2.6 Diagram Use Case
2.15.2.2 Diagram Urutan / Sequence M enurut Grady Booch (1998, p97) diagram sequence adalah diagram interaksi yang menekankan urutan waktu dalam pengiriman pesan. Sequence diagram menunjukan interaksi objek dengan waktu yang direpresentasikan dalam grafik dua dimensi. Dimensi vertical menunjukan waktu, digambarkan melintang kebawah.
43 Dimensi Horizontal menunjukkan jenis peranan yang menggambarkan individu objek dalam diagram collaboration. Durasi aktivitas objek ditunjukkan oleh lifeline yang berupa garis putus-putus. M essage ditampilkan sebagai panah dari satu lifeline sebuah objek ke lifeline objek yang lainnya.
Gambar 2.7 Diagram S equence
2.15.2.3 Diagram Aktivitas M enurut Grady Booch (1998, p96) diagram aktivitas adalah diagram yang menunjukkan aliran dari aktifitas satu ke aktifitas lainnya di dalam sebuah sistem. Diagram aktifitas digunakan unutk mengilustrasikan gambaran dinamis dari suatu sistem. Diagram aktifitas menekankna pada aliran kontrol diantara objek.
44 Diagram aktivitas adalah notasi yang digunakan untuk menggambarkan grafis aktivitas yang meliputi symbol-simbol yang unik. Symbol-simbol tersebut dapat digunakan dalam State Chart.
Gambar 2.8 Diagram Aktivitas
2.16
Database Database adalah kumpulan informasi yang disimpan di dalam komputer secara
sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) database disebut sistem manajemen database (database management system, DBM S). Database dipelajari dalam ilmu informasi.
45 M enurut Thomas Connolly (2002, p15) database adalah sekumpulan data dan deskripsinya yang didesain untuk memenuhi kebutuhan informasi dari sebuah organisasi. Konsep dasar dari database adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu database, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai model database atau model data. M odel yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabeltabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. M odel yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah database mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen database (database management
system/DBM S).
Jika konteksnya sudah
jelas,
banyak
administrator dan programer menggunakan istilah database untuk kedua arti tersebut.
2.16.1 Database Management System (DBMS ) M enurut Thomas Connolly (2002, p16) DBM S adalah software system yang memungkinkan user untuk membuat, mengelola, dan mengatur akses ke database.
46 DBM S merupakan program software yang kompleks, yang mengatur organisasi, penyimpanan, manajemen, dan penggunaan data yang ada di database. DBM S mencakup : 1.
Bahasa pemodelan untuk menjelaskan skema dari setiap database yang berada di dalam DBM S, dan sesuai dengan data model DBM S.
2.
Data Struktur (fields, record, file dan object) dioptimalkan untuk digunakan bersama dengan media penyimpanan data berskala besar.
3.
Database query language
4.
M ekanisme transaksi
2.16.2 Database Relational M enurut Thomas Connolly (2002, p16), database relational adalah kumpulan relasi yang telah dinormalisasi dengan nama relasi yang berbeda. M odel data relasional adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang didesign untuk mengatur/memanajemen sebuah basisdata sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi atas data atas permintaan penggunanya. Contoh penggunaan DBM S ada banyak sekali dan dalam berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Edgar F. Codd memperkenalkan istilah ini pada makalah seminarnya yang berjudul "A Relational M odel of Data for Large Shared Data Banks". Salah satu definisi yang cukup dikenal secara luas atas sebuah sistem basisdata relasional adalah 12 hukum Codd. Namun demikian, pada awal-awal implementasinya banyak model relasional yang tidak mengikuti seluruh elemen-elemen yang terdapat dalam hukum-hukum Codd
47 tersebut yang menjadikan terminologinya berkembang untuk mendeskripsikan sebuah tipikal sistem basisdata yang lebih luas. Dalam cakupan yang minimum sistem tersebut memenuhi kriteria berikut: •
M enyajikan data pada pengguna dalam bentuk relasional (ditampilkan dalam bentuk tabular, sebagai koleksi dari tabel dimana setiap tabel berisi sekumpulan baris dan kolom).
•
M enyediakan operator relasioanl untuk memanipulasi data dalam bentuk tabular.
2.16.3 Entity Relationship Diagram M enurut Jeffery L. Whitten, Lonnie D. Bentley, Kevin C. Dittman (2004,p281), ERD ialah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut. ERD adalah model konseptual yang mendeskripsikan hubungan antara penyimpan (dalam DFD). ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. Ada beberapa catatan mengenai pemodelan data. Sebagian besar ERD disebut sesuai dengan nama penemunya (misalnya, Chen M artin, Bachman, M erise) atau sesuai standar yang dipublikasikan. “Bahasa” pemodelan data ini pada umumnya mendukung konsep dan konstruksi dasar yang sama. Skripsi ini menggunakan ERD M artin karena penggunanya sudah tersebar luas dan didukung oleh peralatan CASE. M odel data ERD mempunyai beberapa kosep dasar, yaitu :
48 1.
Entitas (Entity) Entitas adalah sekelompok orang, tempat, objek, kejadian atau konsep tentang
apa yang kita perlukan untuk men-capture dan meyimpan data. Jika entitas adalah sesuatu yang kita gunakan untuk menyimpan data, maka kia perlu mengidentifikasi bagian data spesifik yang ingin kita simpan dari setiap contoh entitas tertentu. Bagian data ini dapat disebut atribut. Atribute adalah sifat atau karakteristik deskriptif suatu entitas. 2.
Atribute (Attribute) Yang dimaksud dengan atribute adalah karakteristik entity.
a.
Domain Nilai dari tiap atribut didefinisikan kedalam tiga properti yaitu : -
Tipe Data : properti dari atribut yang mengidentifikasikan tipe data yang dapat disimpan ke dalam atribut.
-
Domain : properti dari atribut yang mendefinisikan nilai apa yang boleh diambil oleh suatu atribut.
-
Default Value : suatu nilai yang akan disimpan apabila nilai tidak dispesifikasikan oleh user.
b.
Identifikasi (Identification). Dengan banyaknya instance yang dimiliki oleh suatu entity maka diperlukan
suatu key yang unik untuk menngidentifikasikan setiap instance berdasarkan data dari atribut. Yang dimaksud dengan key adalah suatu atribut atau sekumpulan atribut yang mengasumsikan nilai yang unik dari setiap bagian dari entity dan seringkali disebut identifier.
49 Candidate key adalah salah satu key yang memiliki kemungkinan untuk dijadikan primary key. Primary key adalah candidate key yang unik dan mengidentifikasikan sebuah bagian dari entity. Alternate key adalah candidate key yang tidak dijadikan primary key. c.
Hubungan (Relationship) Secara konseptual, entitas dan atribut tidak terpisah. Hal yang dinyatakannya
saling
berinteraksi
dan
mempengaruhi
untuk
mendukung
tujuan
bisnis.
Relationship/hubungan adalah hubungan bisnis alami yang ada di antara satu atau lebih entitas. Hubungan tersebut dapat menyatakan kejadian yang menghubungkan entitas atau hanya persamaan logika yang ada di antara entitas. Cardinality adalah jumlah minimum dan maksimum dari keberadaan suatu entity yang mungkin direlasikan dengan entity lain. Degree adalah sejumlah entity yang berpartisipasi dalam sebuah relationship. Foreign key adalah sebuah primary key yang digunakan oleh entity lain untuk mengidentifikasikan instansi dari sebuah relationship. Berikut ini adalah notasi dari cardinality : a.
Tepat satu (satu dan hanya satu): nilai minimum dan maksimum adalah 1.
b.
Nol atau satu: nilai minimum adalah 0 dan nilai maksimum adalah 1.
c.
Satu atau lebih: nilai minimum adalah 1 dan nilai maksimum adalah banyak(>1).
d.
Nol, satu, atau lebih: nilai minimum adalah 1 dan nilai maksimum adalah banyak (>1).
e.
Lebih dari satu : nilai minimum dan maksimum adalah >1
50 d.
Generalisasi (Generalization) Yang dimaksud dengan generalization adalah sebuah konsep dimana atribut-
atribut yang umum bagi beberapa tipe dari entity digrupkan kedalam entity mereka masing-masing. Customer
Telah ditempatkan
Customer Number(PK)
Order Order Number(PK)
Terjual
Ordered Product Inventory Product Product Number(PK)
Ordered Product ID(PK) Telah Dijual Sebagai
Order Number (FK)
Gambar 2.9 Model Data Hubungan Entitas
2.17
Interaksi Manusia dan Komputer Interaksi manusia dan komputer atau human computer interact adalah disiplin
ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia serta studi fenomena-fenomena besar yang berhubungan dengannya (ACM SIGCHI) . Interaksi manusia dan komputer berfokus pada perancangan dan evaluasi antarmuka pemakai (user interface).
2.17.1 Delapan Aturan Emas Perancangan Antar Muka M enurut Ben Shneiderman(1998,p74), dalam perancangan user interface, digunakan 8 aturan emas perancangan atau yang sering dikenal dengan eight golden rules, yaitu : 1.
Berusaha untuk konsisten
51 2.
M emungkinkan frequent user menggunakan shortcut
3.
M emberikan umpan balik yang informatif
4.
M erancang dialog yang memberikan penutupan
5.
M emberikan pencegah kesalahan dan penanganan kesalahan yang sederhana
6.
M emungkinkan pembalikkan aksi yang mudah
7.
M endukung pusat kendali internal (internal locus of control)
8.
M engurangi beban ingatan jangka pendek
2.17.2 Sepuluh Kesalahan Utama Pada Website M enurut Ben Shneiderman(1998,p74), dalam perancangan website, seringkali perancang melakukan kesalahan dalam pembuatan designnya. Berikut ini merupakan 10 kesalahan utama yang sering terjadi dalam pembuatan design website : 1.
Penggunaan frame.
2.
Penggunaan teknologi baru dengan serampangan.
3.
Gerakan teks dan animasi yang berjalan terus.
4.
URL yang kompleks.
5.
Halaman yatim.
6.
navigasi harus tampak di bagian atas.
7.
Kurangnya dukungan navigasi.
8.
Warna link yang tidak standar.
9.
Informasi yang tidak up to date.
10.
Waktu download yang terlalu lama. Pemakai kehilangan minat dalam 10-15 detik.
52 2.18
Enkripsi Enkirpsi dapat digunakan untuk melindungi data, baik saat ditransmisikan
maupun pada saat disimpan. Vendor menyediakan device-device perangkat keras untuk enkripsi yang dapat digunakan untuk mengenkrip data pada koneksi antar computer yang terhubung dalam jaringan. Enkripsi merupakan proses konversi suatu informasi dari bentuk yang dapat dimengerti ke dalam bentuk yang tidak dapat dimengerti oleh pihak lain. Bila penerima data yang sudah dienkrip ingin membaca data semula, maka penerima tersebut harus mengkonversikan kemnbali ke bentuk semula melalui proses dekripsi. Dalam melakukan proses enkripsi, ada beberapa metode enkripsi yang serin g dipakai. Penggolongan proses tersebut tergantung 2 hal, yaitu key dan algoritma pada enkripsi. Dalam kehidupan sehari-hari, enkripsi digunakan misalnya ketika kita mengubah pesan dalam surat yang dikirimkan ke teman atau rekan kita ke dalam bentuk yang tidak dimengerti oleh orang lain. Enkripsi digunakan untuk menyembunyikan informasi dalam data yang dikirim melalui suatu jalur komunikasi. Keuntungan enkripsi adalah dapat melindungi data yang dikirimkan kepada pihak lain, misalnya berupa daftar hak akses, identitas diri, password, dan lain-lain. “Enkripsi secara konvensional memiliki keuntungan tersendiri, yaitu sangat cepat, khususnya bila diterapkan pada data yang hanya untuk keperluan internal.” (Network Associates, 1999)
53 2.19
Akrualisasi Akrualisasi berasal dari kata akrual, yang berarti suatu basis akuntansi di mana
transaksi ekonomi dan peristiwa-peristiwa lain diakui dan dicatat dalam catatan akuntansi dan dilaporkan dalam periode laporan keuangan pada saat terjadinya transaksi tersebut, bukan pada saat kas atau ekuivalen kas diterima atau dibayarkan (M ustofa, 2007). Pada praktiknya akrualisasi adalah proses pengurangan nilai buku segala aset yang dimiliki perusahaan pada suatu periode. Akuntansi berbasis akrual ini banyak dipakai oleh institusi sektor non publik dan lembaga lain yang bertujuan mencari keuntungan. International Monetary Fund (IM F) sebagai lembaga kreditur menyusun Government Finance Statistics (GFS) yang di dalamnya menyarankan kepada negaranegara debiturnya untuk menerapkan akuntansi berbasis akrual dalam pembuatan laporan keuangan. Alasan penerapan basis akrual ini karena saat pencatatan (recording) sesuai dengan saat terjadinya arus sumber daya. Jadi basis akrual ini menyediakan estimasi yang tepat atas pengaruh kebijakan pemerintah terhadap perekonomian secara makro. Selain itu basis akrual menyediakan informasi yang paling komprehensif karena seluruh arus sumber daya dicatat, termasuk transaksi internal, in-kind transaction, dan arus ekonomi lainnya. Ada beberapa manfaat yang dapat diperoleh atas penerapan basis akrual, baik bagi pengguna laporan (user) maupun bagi pemerintah sebagai penyedia laporan keuangan. M anfaat tersebut antara lain : 1.
Dapat menyajikan laporan posisi keuangan pemerintah dan perubahannya.
2.
M emperlihatkan akuntabilitas pemerintah atas penggunaan seluruh sumber daya.
3.
M enunjukkan akuntabilitas pemerintah atas pengelolaan seluruh aktiva dan kewajibannya yang diakui dalam laporan keuangan.
54 4.
M emperlihatkan bagaimana pemerintah mendanai aktivitasnya dan memenuhi kebutuhan kasnya.
5.
M emungkinkan user untuk mengevaluasi kemampuan pemerintah dalam medanai aktivitasnya dan dalam memenuhi kewajiban dan komitmennya.
6.
M embantu user dalam pembuatan keputusan tentang penyediaan sumber daya ke atau melakukan bisnis dengan entitas.
7.
User dapat mengevaluasi kinerja pemerintah dalam hal biaya pelayanan, efisiensi dan penyampaian pelayanan tersebut.