6 bab 2 - bina nusantara | library & knowledge center · 2009-03-03 · sejarah intenet dimulai...
TRANSCRIPT
6
BAB 2
LANDASAN TEORI
2.1 Internet
Menurut 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. Menurut 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".
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 Maret 1976, ketika Ratu Inggris
berhasil mengirimkan e-mail dari Royal Signals and Radar Establishment di Malvern.
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 HTML 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 : Merupakan 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 : Merupakan 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 : Merupakan 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.
Connection-oriented
Reliable dengan mengirimkan ACK setiap pengiriman data.
Mengencapsulasi pesan kedalam segment
Reassembles messages di tujuan
Mengirimkan ulang paket - paket yang tidak sampai
2. UDP
UDP merupakan transport layer protocol yang bekerja secara unreliable.
Connectionless
Paket UDP sering disebut sebagai datagram
12
Proses pengecekan error dilakukan oleh layer diatasnya
Tidak menggunakan ACK ( acknowledgements )
Tidak terdapat flow control
2.2.3 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 MAC address dan merubah data menjadi sinyal listrik untuk kemudian
dikirim melalui media.
Media 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)
Menurut 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 halaman-
halaman web (web page). Sekumpulan halaman web milik seseorang atau suatu
perusahaan dikumpulkan dan diletakkan dalam sebuah situs web (web site), sedangkan
homepage adalah istilah untuk 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 Service
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 XML dan HyperText
Transport Protocol (HTTP) (Deitel, 2002, p1040). Dalam .NET, pemanggilan method
ini diimplementasikan dengan Simple Object Access Protocol (SOAP), yaitu sebuah
protocol berbasiskan XML yang memungkinkan permintaan dan respon untuk ditransfer
melalui protocol umum seperti HTTP. Dengan SOAP, aplikasi menampilkan dan
mengirim data dengan format standar, yaitu XML. 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 XML. 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 organisasi-
organisasi, seperti HTTP, SOAP, XML, 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 XML sehingga pesannya bersifat
bebas, tidak terikat dengan bahasa pemrogaraman ataupun platform tertentu dan data
yang terkandung di dalam dokumen XML bersifat character and coding-tolerant.
Informasi di ekstrak dari dokumen XML dengan menggunakan parser XML. Antarmuka
parsing XML 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 SITE
1. Memiliki web interface
2. Dibuat untuk berinteraksi langsung dengan user
3. Dibuat untuk bekerja pada web browser.
WEB SERVICES
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)
XML adalah sebuah teknologi cross platform, dan merupakan tool untuk
melakukan transmisi informasi. XML bukanlah program, atau pustaka. XML adalah
sebuah teknologi, sebuah standar dengan berbagai aturan tertentu (Noprianto, 2004).
20
Dalam pengertian yang sederhana, sebuah dokumen XML hanyalah sebuah file
teks biasa yang berisikan berbagai tag yang didefinisikan sendiri oleh pembuat dokumen
XML tersebut. Sesuai dengan namanya, eXtensible Markup Language, sebuah dokumen
XML adalah sebuah dokumen dengan markup, sama seperti halnya dengan HTML.
Namun, XML tidak didesain untuk menggantikan HTML. XML lebih dirancang
untuk mendeskripsikan data dan memfokuskan diri pada data tersebut. Sementara,
HTML didesain untuk menampilkan data dan memfokuskan diri pada bagaimana data
ditampilkan. Secara desain, hal ini sudah jauh berbeda. Hubungan antara XML dan
HTML lebih ke arah pelengkap. Anda dapat menyimpan data dalam sebuah dokumen
XML dan mempergunakan HTML untuk menampilkan data tersebut.
Dokumen XML 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 XML Schema. Dengan adanya aturan tersimpan
di DTD atau XML Schema, maka sebuah dokumen XML diharapkan akan mampu
mendeskripsikan diri sendiri (self descriptive). Boleh disamakan dengan tag HTML yang
telah memiliki standar. Walaupun, pada XML, artinya akan lebih luas lagi.
2.8 Web-Applications
Menurut 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 DBMS dari aplikasi client. Di dalam
lingkungan networking, DBMS 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 DBMS, dan
komputer yang menjalankan DBMS disebut dengan server database. Aplikasi client
tidak mengetahui bagaimana data disimpan di dalam database.
Pada arsitektur client-server, aplikasi dipecah-pecah ke dalam dua komponen
utama yang bekerja sama untuk mencapai satu tujuan bersama. Komponen-komponen
ini disebut dengan tier (tingkat), dan setiap tingkat mengimplementasikan fungsi yang
berbeda. Model client-server mengandung dua buah tingkat.
Client-server menjadi sangat populer karena sangat banyak tugas pemrosesan
yang dilakukan pada komputer client, yang bisa berupa komputer desktop yang murah.
Semakin tinggi kemampuan komputer client, semakin besar pemrosesan yang bisa
dilakukannya. Dua buah komputer client bisa menerima data yang sama dari client,
sebagai contoh penjualan berdasarkan daerah. Sebuah komputer bisa melakukan
perhitungan sederhana, seperti perhitungan rata-rata, sementara komputer client lain
yang lebih hebat bisa menggabungkan data dengan aplikasi pemetaan untuk
menampilkan bagian yang rumit.
22
2.9.1 Model Tiga Tingkat
Model dua-tingkat adalah sebuah arsitektur komputer yang sangat efisien untuk
aplikasi database, tetapi selalu merupakan pilihan yang terbaik. Sebagian besar
programmer mengembangkan aplikasi dua-tingkat yang dijalankan pada LAN kecil.
Bentuk yang paling lengkap dari aplikasi database adalah yang melibatkan tiga-tingkat.
Pada arsitektur dua-tingkat atau client-server, client berbicara langsung kepada
database server. Setiap aplikasi yang terhubung dengan ke DBMS dan mengambil
informasi, adalah aplikasi client-server. Peran database server adalah mengakses dan
mengupdate data. Semua hal lainnya diserahkan kepada client. Dengan kata lain client
bertanggung jawab menampilkan data kepada user, mengirimkan input dari user,
mempersiapkan permintaan yang sesuai untuk database server, dan akhirnya
mengimplementasikan suatu hal yang disebut business rules. Menurut Petroutsos (2000,
p16), Business rules ialah prosedur yang khusus digunakan oleh perusahaan tertentu.
Sebagai contoh, sebuah perusahaan mungkin memiliki aturan untuk menentukan batas
kreditnya untuk para pelanggannya. Aturan-aturan ini harus diterjemahkan ke dalam
program yang akan dijalankan pada client.
Aturan bisnis ini sering berubah, sesuai dengan praktik bisnis di dunia nyata.
Aturan-aturan baru diperkenalkan, aturan yang sudah ada diubah, artinya bahwa
program yang mengimplementasikan aturan tersebut juga harus sering diganti. Jika itu
terjadi maka diperlukannya pendistribusian program baru ke workstation dan
memastikan semua user pada network menggunakan versi yang baru dari program client
tersebut. Jika aturan bisnis diterapkan pada sever maka tidak terdapat masalah dalam
pendistribusian kembali aplikasi, tetapi ini akan menambahkan beban ke server.
23
Masalah di atas telah memunculkan sebuah tingkat ketiga yang disebut dengan
middle tier. Tingkat menengah ini merupakan sebuah objek yang berada diantara
aplikasi client dan server. Ia merupakan suatu class yang memiliki beberapa metode dan
mengisolasi client dari server. Jika banyak client perlu melakukan perhitungan tersebut
pada middle tier.
Aplikasi client bisa memanggil metode objek yang berada pada middle tier dan
mendapatkan hasilnya.
Keuntungan utama dari middle tier adalah middle tier mengisolasi client dari
server. Client tidak lagi mengakses database, tetapi memanggil metode yang dimiliki
oleh objek-objek pada middle tier.
Menurut Petroutsos (2000, p19), Model tiga tingkat memecahkan komponen-
komponen aplikasi ke dalam tiga kategori atau lapisan, yaitu :
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 prinsip-
prinsip 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
Menurut 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.
Meskipun 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. Memang 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 (SDLC)
Menurut 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. Menurut , 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. Menambah 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
Menurut 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 HTML 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 MediaWiki (software di
belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari
ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun
Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS
yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-
lain.
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
Menurut Menurut 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
DBMS yang multithread, multiuser, dengan sekitar 6 juta instalasi diseluruh dunia.
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL 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 Michael "Monty" 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 MySQL 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
Merupakan suatu ide untuk mengelompokkan berbagai hal di dalam suatu class,
sehingga dapat mengurangi kompleksitas dari sistem.
2. Encapsulation dan Information Hiding
Encapsulation berarti pemaketan data dan behaviour ke dalam suatu objek.
Information hiding berarti pemisahan aspek-aspek eksternal dari objek, yang dapat
diakses dari objek lainnya. Aspek-aspek internal dari suatu objek, tidak dapat diakses
(tersembunyi) dari objek lainnya.
3. Polymorphism dan Inheritance
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, pp431-
440) adalah:
1. Object, sesuatu yang dapat dilihat, disentuh, atau dirasakan dan di dalamnya
tersimpan data dan behaviour.
2. Attribute, data yang merepresentasikan karakteristik dari objek.
3. Behaviour, sekumpulan hal yang bisa dilakukan oleh objek dan berhubungan
dengan fungsi yang ada pada data objek (atau attribute). Behaviour dapat berupa
method, operation, ataupun service.
4. Object instance, merupakan objek secara spesifik yang merujuk pada suatu nilai
tertentu dari atributnya.
5. Inheritance, suatu konsep dimana method dan/atau attribute didefinisikan di
dalam suatu objek class dan dapat diturunkan atau 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. Meskipun secara
terminologi dan langkah-langkah yang diberikan oleh setiap metodologi tersebut
berbeda, secara umum proses-proses di dalam OOA cukup mirip satu sama lainnya.
Untuk menggambarkan suatu Object-Oriented Analysis, seorang software engineer
seharusnya melakukan beberapa langkah tersebut:
1. Mendapatkan customer requirement untuk sistem tersebut.
2. Identifikasi scenario atau use-cases.
3. Memilih class dan objek dengan menggunakan requirement yang ada sebagai
panduan.
4. Identifikasi attribute dan operation untuk setiap objek dari sistem.
37
5. Mendefinisikan struktur dan hirarki yang menggorganisasikan class.
6. Membangun model untuk object- relationships.
7. Membangun model untuk object-behaviour.
8. Melakukan review terhadap model yang dibuat terhadap use case atau scenario.
(Pressman, 2001, p575)
Salah satu metodologi OOA yang telah luas penggunaannya di dunia industri
adalah UML (Unified Modelling Language).
Setelah kita melakukan Object-Oriented Analysis, maka dapat dilakukan Object-
Oriented Design yang bertujuan untuk mendesain model yang telah dikembangkan yang
berfungsi sebagai cetak biru untuk membangun software. (Pressman, 2001, p603).
2.15 Unified Modelling Language (UML)
Menurut Grady Booch(1998,p13), UML adalah bahasa standard untuk
melukiskan software blueprints. UML digunakan untuk menggambarkan,
menspesifikasikan, merancang, dan dokumentasi dari artfacts of a software-intensive
system.
Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk
mendokumentasikan, menspesifikasikan, menggambarkan, dan membangun sistem
perangkat lunak seperti halnya pada business modelling dan sistem lainnya [OMG01].
UML tidak berdasarkan pada bahasa pemrograman tertentu. Standar spesifikasi UML
dijadikan standar defacto oleh OMG (Object Management Group) pada tahun
1997.UML yang berorientasikan object mempunyai beberapa notasi standar.
38
Spesifikasi ini menjadi populer dan standar karena sebelum adanya UML, 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. UML dirintis oleh Grady Booch
OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique),
dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
UML mendeskripsikan OOP (Object Oriented Programming) dengan beberapa
diagram.
2.15.1 Diagram Struktur
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. (Martin
Fowler,2005,p53).
Menurut 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
Menyatakan 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
Menyatakan hirarki dari suatu kelas sebagai komponen kelas lain yang jug
disebut sub objek.
Gambar 2.4 Inheritance Kelas
40
3. Agregation
Merupakan sebuah bentuk assosiasi yang meyatakan bagian dari keseluruhan
dan digambarkan dalam notasi berbentuk diamond.
4. Message
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
Menurut 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 use-
case 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.
Gambar 2.6 Diagram Use Case
2.15.2.2 Diagram Urutan / Sequence
Menurut 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.
System
Use case 1
Use case 2
Use case 3 Actor 1 Actor 2
43
Dimensi Horizontal menunjukkan jenis peranan yang menggambarkan individu objek
dalam diagram collaboration. Durasi aktivitas objek ditunjukkan oleh lifeline yang
berupa garis putus-putus. Message ditampilkan sebagai panah dari satu lifeline sebuah
objek ke lifeline objek yang lainnya.
Gambar 2.7 Diagram Sequence
2.15.2.3 Diagram Aktivitas
Menurut 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, DBMS). Database dipelajari dalam ilmu informasi.
45
Menurut 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. Model yang umum digunakan sekarang adalah model
relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-
tabel 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. Model 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/DBMS). Jika konteksnya sudah jelas, banyak
administrator dan programer menggunakan istilah database untuk kedua arti tersebut.
2.16.1 Database Management System (DBMS)
Menurut Thomas Connolly (2002, p16) DBMS adalah software system yang
memungkinkan user untuk membuat, mengelola, dan mengatur akses ke database.
46
DBMS merupakan program software yang kompleks, yang mengatur organisasi,
penyimpanan, manajemen, dan penggunaan data yang ada di database.
DBMS mencakup :
1. Bahasa pemodelan untuk menjelaskan skema dari setiap database yang berada di
dalam DBMS, dan sesuai dengan data model DBMS.
2. Data Struktur (fields, record, file dan object) dioptimalkan untuk digunakan
bersama dengan media penyimpanan data berskala besar.
3. Database query language
4. Mekanisme transaksi
2.16.2 Database Relational
Menurut Thomas Connolly (2002, p16), database relational adalah kumpulan
relasi yang telah dinormalisasi dengan nama relasi yang berbeda. Model 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 DBMS 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 Model 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:
• Menyajikan data pada pengguna dalam bentuk relasional (ditampilkan dalam
bentuk tabular, sebagai koleksi dari tabel dimana setiap tabel berisi sekumpulan
baris dan kolom).
• Menyediakan operator relasioanl untuk memanipulasi data dalam bentuk tabular.
2.16.3 Entity Relationship Diagram
Menurut 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 Martin, Bachman, Merise) atau sesuai
standar yang dipublikasikan. “Bahasa” pemodelan data ini pada umumnya mendukung
konsep dan konstruksi dasar yang sama. Skripsi ini menggunakan ERD Martin karena
penggunanya sudah tersebar luas dan didukung oleh peralatan CASE.
Model 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.
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
Menurut 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
Customer
Customer Number(PK)
Order
Order Number(PK)
Ordered Product
Ordered Product ID(PK)
Order Number (FK)
Inventory Product
Product Number(PK)
Telah ditempatkan
Terjual
Telah Dijual Sebagai
51
2. Memungkinkan frequent user menggunakan shortcut
3. Memberikan umpan balik yang informatif
4. Merancang dialog yang memberikan penutupan
5. Memberikan pencegah kesalahan dan penanganan kesalahan yang sederhana
6. Memungkinkan pembalikkan aksi yang mudah
7. Mendukung pusat kendali internal (internal locus of control)
8. Mengurangi beban ingatan jangka pendek
2.17.2 Sepuluh Kesalahan Utama Pada Website
Menurut 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 (Mustofa,
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 (IMF) sebagai lembaga kreditur menyusun
Government Finance Statistics (GFS) yang di dalamnya menyarankan kepada negara-
negara 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. Manfaat tersebut antara lain :
1. Dapat menyajikan laporan posisi keuangan pemerintah dan perubahannya.
2. Memperlihatkan akuntabilitas pemerintah atas penggunaan seluruh sumber daya.
3. Menunjukkan akuntabilitas pemerintah atas pengelolaan seluruh aktiva dan
kewajibannya yang diakui dalam laporan keuangan.
54
4. Memperlihatkan bagaimana pemerintah mendanai aktivitasnya dan memenuhi
kebutuhan kasnya.
5. Memungkinkan user untuk mengevaluasi kemampuan pemerintah dalam
medanai aktivitasnya dan dalam memenuhi kewajiban dan komitmennya.
6. Membantu 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.