BAB 2
LANDASAN TEORI
2.1
Perangkat Lunak
2.1.1
Definisi Perangkat Lunak
Menurut Pressman (2001, p6), Perangkat lunak didefinisikan sebagai berikut :
1. Perintah (program komputer) yang bertujuan untuk menjalankan suatu fungsi
yang diinginkan saat dieksekusi.
2. Struktur data yang memungkinkan program memanipulasi informasi, dan
3. Dokumen
yang
menggambarkan bagaimana suatu program bekerja dan
kegunaan dari program tersebut.
2.1.2
Karakteristik Perangkat Lunak
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 di antara pabrik perangkat keras dan perangkat
lunak,
aktivitas
keduanya
secara
mendasar
sangat berbeda.
Dalam aktivitas
tersebut kualitas yang tinggi dicapai melalui perancangan yang baik, tetapi di
dalam fase pembuatan perangkat keras,
selalu saja ditemukan masalah
kualitas yang tidak mudah untuk disesuaikan dengan perangkat lunak. Kedua
12
|
13
aktivitas itu tergantung pada manusia, tetapi hubungan antara penerapan yang
dilakukan manusia dengan usaha yang
diperoleh sangat berbeda. Kedua
aktivitas itu
membutuhkan konstruksi sebuah produk, tetapi pendekatan
yang dipakai berbeda.
Biaya untuk perangkat lunak dikonsentrasikan kepada pengembangan. Hal ini
berarti proyek perangkat lunak tidak dapat diatur seperti pengaturan proyek
pemanufakturan.
2. Perangkat lunak tidak rentan terhadap pengaruh linkungan
Seiring dengan berjalannya waktu, perangkat keras sudah mulai menjadi
usang ketika terkena pengaruh penumpukan debu,
getaran, ketidakhati-
hatian,
suhu
tinggi,
dan
beberapa
kerusakan
lainnya
yang disebabkan oleh
lingkungan, sedangkan perangkat lunak tidak rentan terhadap pengaruh
lingkungan yang merusak yang menyebabkan perangkat keras menjadi usang.
Bila suatu komponen perangkat keras telah usang, komponen dapat diganti
dengan suku cadangnya, namun tidak ada suku cadang bagi perangkat lunak.
Setiap
kegagalan
perangkat
lunak menggambarkan
kesalahan
dalam
perancangan
atau
proses di
mana
rancangan
diterjemahkan
ke
dalam kode
mesin yang dapat dieksukusi. Demikianlah, pemeliharaan perangkat lunak
menjadi lebih kompleks daripada pemeliharaan perangkat keras.
3. Perangkat lunak merupakan satu kesatuan yang lengkap (kompleks) dan tidak
dapat dirakit secara terpisah
Setelah masing-masing komponen diseleksi,
perangkat
keras
dapat
dipesan
secara
terpisah, berbeda
dengan perangkat
lunak.
Memang
memungkinkan
|
14
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.
Sebuah komponen perangkat lunak harus dirancang dan dilaksanakan
sehingga
dapat
digunakan
kembali
dalam program yang
berbeda
(can
be
reused). Komponen modern yang memungkingkan untuk digunakan kembali
merangkum,
baik data dan pengolahan yang diterapkan pada data,
memungkinkan Software Engineer untuk membuat aplikasi baru dari bagian
yang dapat digunakan kembali.
2.1.3
Aplikasi Perangkat Lunak
Area perangkat lunak berikut menunjukkan luasnya potensi dari perangkat lunak
(Pressman, 2001, pp9-11) :
1.
Perangkat Lunak Sistem
Perangkat
lunak
sistem
adalah
program yang
bertujuan
untuk
melayani
progran program lainnya.
2.
Perangkat Lunak Real-Time
Perangkat
lunak real-time
adalah
program yang
menyediakan
data kepada
pihak yang membutuhkan saat data tersebut dibutuhkan. Waktu untuk data
dibutuhkan tergantung pada untuk apa perangkat lunak tersebut dibuat,
misalnya tiap detik, tiap mikrodetik, dsb.
|
15
3.
Perangkat Lunak Bisnis
Perangkat lunak bisnis dikembangkan untuk mengakses satu atau lebih
database besar yang berisi informasi bisnis.
4.
Perangkat Lunak Teknik dan Ilmu Pengetahuan
Perangkat lunak teknik dan ilmu pengetahuan mempunyai ciri khas
menggunakan number crunching algorithms. Perangkat lunak ini
memiliki jangkauan aplikasi mulai dari astronomi sampai
vulkanologi, dari
analisis otomotif sampai dinamika orbit pesawat ruang angkasa, dan dari
biologi molekuler dampai pabrik yang sudah diotomatisasi.
5.
Embedded Software
Embedded software adalah perangkat lunak yang ditanamkan (embedded)
pada suatu alat elektronik
untuk
mengontrol
hasil, kerja, serta sistem untuk
keperluan konsumen dan pasar industri. Embedded software ada dalam read-
only
memory.
Embedded
software
dapat
melakukan
fungsi
yang
terbatas
serta
fungsi
esoterik
(misal keypad
control
untuk
microwave)
atau
memberikan kemampuan kontrol dan fungsi yang penting (contohnya, fungsi
digital dalam sebuah automobil seperti kontrol bahan bakar, penampilan
dashboard, sistem rem, dll)
6.
Perangkat Lunak Komputer Personal
Perangkat lunak komputer personal merupakan perangkat lunak yang
dikembangkan untuk digunakan pada
komputer personal. Pengolah kata,
multimedia, hiburan, manajemen database, aplikasi keuangan bisnis dan
|
16
personal, jaringan eksternal atau akses database hanya merupakan beberapa
saja dari ratusan aplikasi yang ada.
7.
Perangkat Lunak Berbasis Web
Halaman web yang diambil oleh
browser adalah perangkat lunak yang
menggabungkan instruksi yang dieksekusi (contohnya, CGI, HTML, Perl,
Java) dan data (contohnya, hypertext dan berbagai format visual dan audio).
Pada dasarnya, jaringan menjadi komputer besar
yang menyediakan sumber
daya
perangkat
lunak
yang
hampir
tak
terbatas,
yang
dapat
diakses
oleh
siapa saja dengan modem.
8.
Perangkat Lunak Kecerdasan Buatan
Perangkat lunak kecerdasaran buatan (Artificial Intelligent (AI))
adalah
perangkat
lunak yang menggunakan algoritma non-numeris untuk
memecahkan
masalah
kompleks
yang
tidak sesuai
untuk
perhitungan
atau
analisis secara langsung. Tujuan utama
dari
AI
adalah
memungkinkan
komputer untuk bekerja semirip mungkin dengan manusia.
2.2
Rekayasa Piranti Lunak
2.2.1
Definisi Rekayasa Perangkat Lunak
Rekayasa piranti lunak adalah pengembangan dan penggunaan prinsip prinsip
pengembangan
yang tepat
untuk menghasilkan perangkat
lunak
yang dapat diandalkan,
dapat bekerja dengan baik pada mesin nyata, dan juga ekonomis. (Pressman, 2001, p20).
.
|
17
2.2.2
Fase Umum Rekayasa Perangkat Lunak
Menurut Pressman (2001, p22) , Usaha
yang berhubungan dengan Rekayasa
Perangkat
Lunak
dapat
dikategorikan
ke
dalam tiga
fase
umum
dengan
tanpa
mempedulikan
area
aplikasi, ukuran proyek, atau kompleksitasnya,
yaitu sebagai
berikut:
1. Fase Definisi (Definition Phase)
Pada fase ini, hal
hal yang dilakukan oleh pengembang perangkat lunak
adalah mengidentifikasi informasi apa yang akan diproses, fungsi, dan proses
kerja
yang
dibutuhkan,
mendefinisikan
bagaimana
sistem
berjalan,
menggambarkan interface yang akan dibangun, batasan desain yang ada, dan
mendefinisikan kriteria
kriteria yang jelas untuk mengukur kesuksesan
sistem
yang
dibangun.
Kebutuhan
(Requirement)
adalah
kunci
dari
sistem
dan perangkat lunak yang didefinisikan.
2. Fase Pengembangan (Development Phase)
Fase ini
merupakan masa mendefinisikan bagaimana
data dikonstruksikan,
bagaimana fungsi-fungsi diimplementasikan sebagai arsitektur perangkat
lunak, bagaimana detail prosedur akan diimplementasikan, bagaimana
interface diimplementasikan pada perangkat lunak, bagaimana rancangan
akan
diterjemahkan
ke
dalam bahasa
pemrograman
(atau
bahasa
non-
prosedural), dan bagaimana pengujian akan dilakukan. Metode yang
digunakan dalam fase pengembangan ini bervariasi, namun terdapat tiga
tugas teknis khusus yang harus selalu ada, yakni perancangan perangkat
lunak, pembuatan kode, dan pengujian perangkat lunak.
|
18
3. Fase Pemeliharaan (Maintenance Phase)
Fase pemeliharaan lebih difokuskan pada perubahan (change) pada perangkat
lunak yang telah selesai dikembangkan yang dihubungkan dengan koreksi
kesalahan, penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak
berkembang, dan perubahan sehubungan dengan perkembangan yang
disebabkan oleh perubahan kebutuhan pelanggan. Fase
ini
mengaplikasikan
lagi langkah-langkah pada fase definisi dan fase pengembangan, tetapi tetap
tergantung
pada
konteks
perangkat
lunak
yang
ada.
Ada
empat
tipe
perubahan yang terjadi selama masa fase pengembangan, yaitu :
-
Koreksi
Walaupun sudah melewati proses pengujian dan kontrol kualitas terbaik
sekalipun, perangkat lunak tidak bebas dari kesalahan saat diberikan
kepada pengguna. Pemeliharaan korektif bertujuan memperbaiki cacat
atau kerusakan.
-
Adaptasi
Dari waktu ke waktu, lingkungan original (contoh : CPU, sistem operasi,
aturan-aturan bisnis, karakteristik produk eksternal) di mana perangkat
lunak dikembangkan akan terus berubah. Pemeliharaan adaptif bertujuan
untuk menyesuaikan perangkat lunak kepada perubahan pada kebutuhan
fungsional original.
-
Perkembangan (Enhancement)
Saat perangkat lunak dipakai, pemakai/ pelanggan dapat memikirkan dan
mengajukan fungsi-fungsi
tambahan yang
memberi mereka keuntungan.
|
19
Pemeliharaan perkembangan bertujuan memperluas dan menambahkan
fungsi perangkat lunak untuk mengakomodasi permintaan tambahan dari
pelanggan/pengguna.
-
Pencegahan
Keadaan perangkat lunak semakin memburuk sehubungan dengan waktu,
dan karena
itu, Preventive
Maintenance
yang
sering
juga
disebut
Rekayasa Perangkat Lunak, harus dilakukan untuk memungkinkan
perangkat
lunak
melayani
kebutuhan para
pemakainya.
Pada
dasarnya,
preventive maintenance bertujuan
melakukan
perubahan
pada
program
komputer sehingga bisa menjadi lebih mudah untuk dikoreksi,
disesuaikan, dan dikembangkan dengan teknologi baru.
2.2.3
Model Proses Perangkat Lunak
Model proses untuk Rekayasa Perangkat Lunak dipilih berdasarkan sifat aplikasi
dan proyeknya, metode dan alat-alat bantu yang akan dipakai, dan kontrol serta
penyampaian yang dibutuhkan. Perkembangan
perangkat lunak bisa dianggap sebagai
lingkaran pemecahan masalah dimana terdapat empat keadaan berbeda, yaitu status quo,
definisi
masalah,
perkembangan
teknis
memecahkan
masalah
di
keseluruhan
aplikasi
dari
banyak
teknologi,
dan
integrasi
pemecahan
menyampaikan
hasil
(contoh
:
dokumen, program, data, fungsi bisnis baru, produk baru) kepada siapa yang
membutuhkan pertama kali.
|
![]() 20
2.2.3.1
Model Air Terjun (Waterfall Model)
Proses
model
yang
terkadang
disebut
sebagai classic lifecycle
atau
model
sekuensi linear ini mengusulkan
sebuah
pendekatan
kepada
perkembangan
perangkat
lunak
yang sistematik
dan
sekuensial
yang
mulai pada
tingkat
kemajuan
sistem pada
seluruh analisis, desain, kode, pengujian, dan pemeliharaan. (Pressman 2001, p28).
Permodelan
sistem Informasi
analisis
desain
kode
tes
Gambar 2.1 Gambar Model Waterfall Menurut Pressman
Dimodelkan setelah
siklus rekayasa konvensional
model
ini melingkupi aktivitas-
aktivitas sebagai berikut:
1. Rekayasa dan pemodelan sistem/ informasi
Aktivitas
ini
menyangkut
pengumpulan kebutuhan pada
tingkat
sistem
dengan
sejumlah kecil
analisis
serta desain
tingkat
puncak,
juga
mencakup
pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.
2. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya
pada perangkat lunak. Untuk memahami
sifat program yang dibangun,
perekaya perangkat
lunak
(analis)
harus
memahami
domain
informasi,
tingkah
laku,
unjuk kerja, dan
antarmuka
yang diperlukan. Kebutuhan baik
|
21
untuk
sistem
maupun
perangkat
lunak
didokumentasikan dan
dilihat
lagi
dengan pelanggan.
3. Desain
Desain
perangkat
lunak sebenarnya
adalah
proses
multi
langkah
yang
berfokus pada empat atribut sebuah program berbeda; struktur data, arsitektur
perangkat
lunak,
representasi interface,
dan
detail
(algoritma)
procedural.
Proses
desain
menerjemahkan
syarat/
kebutuhan
ke
dalam sebuah
representasi perangkat lunak yang dapat diperkirakan demu kualitas sebelum
pemunculan kode, desain menjadi bagian dari konfigurasi perangkat lunak.
4. Generasi kode
Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca,
langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan
cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5. Pengujian
Setelah kode dibuat, pengujian program dimulai. Proses pengujian berfokus
pada logika internal perangkat lunak, memastikan bahwa semua pernyataan
sudah
diuji,
dan
pada eksternal
fungsional,
yaitu
mengarahkan
pengujian
untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang
dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang
dibutuhkan.
6. Pemeliharaan
Perangkat lunak akan sangat mungkin mengalami perubahan setelah
disampaikan kepada pelanggan, hal
itu dapat terjadi karena kesalahan-
|
22
kesalahan ditemukan, karena perangkat lunak harus disesuaikan untuk
mengakomodasi perubahan-perubahan di dalam lingkungan eksternalnya,
atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk
kerja.
Pemeliharaan
perangkat
lunak
mengaplikasikan
lagi
setiap
fase
program sebelumnya dan tidak membuat baru lagi.
2.3
Aplikasi Berbasis Web
Aplikasi adalah sebuah program atau sekumpulan program atau software yang
dibuat untuk end user. Aplikasi berbasis Web merupakan e-application.
Menurut Kadir (2004, p3), Aplikasi Web adalah suatu aplikasi yang dapat
membentuk halaman-halaman Web berdasarkan permintaan pemakai.
Berbagai contoh aplikasi Web :
Mesin pencari atau search engine (contoh : google, yahoo search)
Toko Online (contoh : bookpool, amazon, dll)
Lelang Online (contoh : eBay)
Perbankan (contoh : klikbca)
Situs-situs berita (contoh : detik.com, cnn, kompas, dll)
Layanan Akademis Perguruan Tinggi (contoh : binusmaya.binus.ac.id)
Berbeda dengan Aplikasi berbasis desktop, yang
menjalankan
fungsinya secara
langsung
pada
masing-masing
komputer,
Aplikasi Web merupakan salah satu contoh
aplikasi client/ server. Client mewakili computer yang digunakan oleh seorang pemakai
yang
hendak
menggunakan
aplikasi,
sedangkan
server mewakili
computer
yang
menyediakan layanan aplikasi. Ciri khas yang lain pada penggunaan aplikasi Web,
|
![]() 23
pemakai
menggunakan
perangkat
lunak
yang
dinamakan
perambah
atau
Web
Browser
atau sering disebut browser saja, misalnya Internet Explorer dan Mozilla Firefox untuk
mengakses aplikasi Web.
-
Adaptive Web
Menurut Peter
Brusilovksy,dkk (2007, p3) adaptive web adalah sebuah website
yang dapat merepresentasikan informasi sesuai dengan tingkah laku user, misalnya saat
user
bernavigasi
dari
satu
halaman
ke
halaman lain, sistem dapat memanipulasi link
(mengurutkan, menutupi) untuk menyediakan dukungan navigasi yang adaptif.
Gambar 2.2 Arsitektur Aplikasi Berbasis Web
Middleware adalah
perangkat
lunak
yang
menerjemahkan
kode-kode
khusus
untuk dapat berinteraksi dengan program database melalui bantuan Web server.
Web
Server
adalah sebuah
perangkat
lunak server
yang
berfungsi
menerima
permintaan HTTP atau HTTPS dari
klien
yang
dikenal
dengan
web
browser dan
mengirimkan
kembali
hasilnya
dalam
bentuk
halaman-halaman
web
yang
umumnya
|
24
berbentuk dokumen HTML. Web server digunakan untuk menyimpan halaman website
atau homepage. Contoh : Apache, IIS.
Web browser adalah suatu perangkat lunak yang digunakan untuk menampilkan
halaman-halaman website
atau
informasi
dari
web server. Contoh :
Internet
Explorer,
Mozilla Firefox.
Pada dasarnya, pemrograman web dibedakan menjadi dua kelompok, yaitu
client-side programming dan
server-side
programming.
Perbedaan
utamanya
terletak
pada tempat mengeksekusi script-nya.
1. Client-Side Scripting (contoh: HTML, CSS, Javascript)
Karakteristik client-side scripting :
a.
Kode program di-download bersama dengan halaman web
b.
Bersifat interpreter dan diterjemahkan oleh browser
c.
Model eksekusinya sederhana dan script dapat dijadikan satu dengan
HTML
Keuntungan utamanya adalah bahwa setiap web browser
menggunakan
sumber
daya
sendiri
untuk
mengeksekusi
kode
yang ditemukan pada
halaman web. Hal ini meringankan beban pada server dan transfer data
menjadi lebih cepat.
Client-side
scripting juga
tidak
memerlukan
server
khusus
untuk
menjalankannya.
2. Server-Side Scripting (contoh : ASP, PHP, JSP)
Karakteristik Server-side Scripting :
a. Ada client yang meminta request
|
25
b. Eksekusi program dilakukan di server
c. Mengirimkan hasil ke client
Keuntungan :
a. Karena semua kode server-side dijalankan sebelum HTML dikirimkan ke
browser, kode dapat disembunyikan, tidak dilihat oleh client.
b. Cross platform, independen, tidak tergantung pada browser tertentu.
c. Dapat mengakses database.
d. Server-side scripting dapat
mengakses sistem file
yang berada pada web
server, sedangkan client-side tidak.
Namun, transfer data server-side scripting lebih
lambat daripada client-side
programming karena script diterjemahkan di
server dahulu baru kemudian
tampilan di-load di client.
2.4
Internet
Internet, yang
merupakan
singkatan
dari
Interconnected Networks dan kadang
hanya disebut sebagai Net, adalah kumpulan jaringan jaringan komputer (networks)
sedunia yang saling berhubungan satu sama lain dengan menggunakan identitas yang
disebut dengan TCP/IP (Y. Maryono dan B. Patmi Istiana, 2008, p3).
Menurut Ferguson (2006, p1), Internet adalah jaringan komputer yang
terhubung secara global dengan kabel dan jaringan telepon berkecepatan tinggi, dan juga
melalui koneksi nirkabel (dikenal sebagai Wi-Fi).
|
26
Menurut
Turban (2006, p69),
Internet adalah sistem global jaringan komputer-
sebuah jaringan untuk berbagai jaringan; fasilitas publik kooperatif dan dapat berjalan
sendiri yang dapat diakses ratusan dari jutaan manusia di seluruh dunia.
Jadi Internet dapat diartikan sebagai suatu jaringan komputer
yang sangat besar
yang menghubungkan komputer komputer yang terletak di seluruh dunia, yang
dikenali secara unik dengan pengalamatan (TCP/IP logical addressing), terhubung
dengan jaringan kabel maupun nirkabel, dan merupakan fasilitas yang dapat diakses oleh
publik dengan tidak terbatas.
Awal
mula Internet berawal dari tahun 1958, dimana pada Februari 1958
Departemen
Pertahanan Amerika
Serikat
menciptakan Advanced
Research
Projects
Agency (ARPA) untuk membantu Amerika Serikat menjadi pemimpin di bidang
teknologi.
Dengan
tujuan
utama
membuat komunikasi
yang
tidak
mudah
terputus,
diciptakanlah packet switching pada tahun 1968. Pada tahun 1969, ARPA menciptakan
jaringan dari jaringan dengan menggunakan
packet switching yang diberi nama
ARPANET. ARPANET kemudian berkembang dengan banyaknya universitas, para
ilmuwan dan militer yang terhubung ke jaringan ini.
Pada
era
1970
1980,
ARPANET
dibuka untuk publik. Demonstrasi publik
pertama dari ARPANET dilakukan pada tahun 1972, dan beberapa organisasi mulai
terhubung kedalamnya. Kemudian pada
tahun 1983, aturan baru yang bernama TCP/IP
diintegrasikan
ke
dalam ARPANET.
Pada
tahun
1986,
National
Science
Foundation
menciptakan
NSFNET
yang
jauh
lebih
cepat dari
ARPANET,
dimana
NSFNET
ini
menghubungkan
lima
komputer
yang terletak pada Universitas Princeton,
Universitas
Pittsburgh, Universitas California San Diego, Universitas Illinois-Urbana-Champaign,
|
27
dan Universitas Cornell. Tujuan utamanya adalah menghubungkan ilmuwan dan peneliti
utama dalam satu jaringan. Dengan berkembangnya NSFNET, pada tahun 1990,
ARPANET sudah tidak dipakai lagi dan digantikan dengan NSFNET. Lalu pada tahun
1993,
diciptakan
jaringan
yang
lebih
cepat
dan
mempunyai kapasitas
transmisi
yang
lebih besar dibandingkan dengan NSFNET, dimana jaringan
ini
menjadi backbone dari
Internet.
2.5
World Wide Web
Menurut Yuhefizar (2008, p159), World Wide Web, yang sering disingkat
menjadi www atau Web adalah suatu metode untuk menampilkan informasi di Internet,
baik berupa teks, gambar, suara maupun video yang interaktif dan mempunyai kelebihan
untuk menghubungkan satu dokumen dengan dokumen lainnnya yang dapat diakses
melalui
sebuah browser.
Informasi
yang
disajikan
melalui Web
ini
dibangun dengan
bahasa HTML
(HyperText
Markup
Language), dan
kemudian
ditingkatkan
fungsinya
dengan menyisipkan kode
kode bahasa pemrograman seperti ASP.NET sehingga
mampu menampilkan informasi yang lebih interaktif dan dinamis serta terhubung
dengan database.
2.6
HTML
HTML
merupakan
bahasa
yang
digunakan
dalam
membangun sebuah
halaman
Web. HTML bukan merupakan bahasa pemrograman. HTML diciptakan oleh Tim
Berners-Lee, yang bekerja sama dengan Robert Caillau, saat mereka bekerja di CERN
pada tahun 1989. Tujuan
utama dari HTML adalah menciptakan suatu bahasa
untuk
|
28
membangun suatu dokumen
Hypertext yang digunakan untuk berkomunikasi melalui
Internet
dengan
bebas,
dimana
bahasa
tersebut
dapat
berjalan
pada berbagai
mesin
(platform independent).
HTML merupakan bahasa yang digunakan oleh Web browser untuk membaca
kalimat dan gambar untuk membangun sebuah halaman Web secara dinamis. Tim
Berners-Lee lalu membangun sebuah organisasi yang bernama World Wide Web
Consortium
(W3C)
sebagai
organisasi
yang
mengatur
standar dari
HTML
dan World
Wide Web
itu
sendiri. Versi
terbaru dari HTML yang didefinisikan oleh W3C adalah
versi 4.01 pada Desember 1999.
Format dari
HTML
ditulis
dalam HTML elements
yang
terdiri dari tags
yang
berada dalam kurung (< dan >). Tag HTML biasanya terdiri dari satu pasang, seperti
<b> dan </b> dimana tag pertama disebut opening tags dan tag terakhir disebut sebagai
closing tags. Contoh dari bahasa HTML adalah :
<!doctype html>
<html>
<head>
<title>Hello HTML</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
|
29
Secara umum, struktur utama dari suatu dokumen HTML terdiri dari :
1.
<html>
</html>
Merupakan elemen dasar dari suatu dokumen HTML. Semua elemen lain berada
dalam elemen html ini. Elemen ini juga sebagai penanda awal dan akhir suatu
dokumen HTML. Didefinisikan pada HTML 2.0 yang masih dipakai hingga
sekarang.
2. <head>
</head>
Berisi
informasi
informasi
dasar
dan
metadata
dari
suatu
dokumen
HTML.
Didefinisikan pada HTML 2.0 dan masih dipakai hingga sekarang.
3. <body>
</body>
Berisi bagian bagian yang akan ditampilkan oleh browser dalam suatu
dokumen HTML. Didefinisikan pada HTML 2.0 dan masih dipakai hingga
sekarang.
Bahasa HTML didistribusikan dengan menggunakan protokol HTTP, yaitu
standar komunikasi yang digunakan untuk men-transfer halaman melalui WWW sebagai
bagian dari Internet. HTTP bekerja dengan sebuah
URL (Uniform Resource Locator).
Sebuah URL terdiri dari komponon komponen sebagai berikut :
1. http://
:
http
menunjukkan protokol
yang dipakai dan
harus diikuti
dengan tanda titik dua (:) dan dua buah tanda slash (//).
2. Nama dari komputer
tempat dokumen HTML
yang diinginkan berada.
Biasanya ini merupakan nama domain (misalnya binusmaya.binus.ac.id).
3. Port
yang
sesuai
dengan
Web
server
yang
dituju.
Untuk
HTTP
biasanya
digunakan port 80 dan dipisahkan dengan tanda titik dua dari domain name.
|
30
Port ini biasanya tidak perlu ditulis dalam URL dan akan diasumsikan
sebagai 80 oleh browser. Port merupakan alamat secara logika yang
membedakan aplikasi yang menggunakan jaringan pada sistem operasi.
4. Absolute Path, dipisahkan oleh satu tanda slash (/), yang menunjukkan folder
dimana
dokumen
yang
diinginkan
berada,
termasuk
juga
nama
dokumen.
2.7
Java Script
Java Script merupakan bahasa scripting yang pertama kali dikembangkan oleh
Netscape pada tahun 1995. Java Script
merupakan bahasa pemrograman
web
yang
berjalan pada sisi client, bukan pada sisi server. Java Script tidak memerlukan
kompilator atau penerjemah khusus untuk menjalankannya. Awalnya, Java Script
dikenal dengan nama LiveScript yang berfungsi sebagai bahasa yang sederhana untuk
browser Netscape Navigator 2. Pada saat itu, bahasa ini banyak dikritik karena terkesan
pembuatannya terburu-buru dan tidak ada pesan kesalahan yang ditampikan ketika
membuat kesalahan pada penyusunan dengan program tersebut. Kemudian dengan kerja
sama antara Netscape dan Sun (pengembang program Java) maka Netscape memberikan
nama
Javascript kepada bahasa
tersebut pada tanggal
4
Desember 1995.
Pada saat
bersaman, Microsoft mengadaptasi teknologi
tersebut
yang
dinamakan
Jscript
pada
browser Internet Explorer 3.
Java Script memiliki sifat case sensitive, yang artinya program mengenali huruf
besar dan kecil pada setiap nama variabel dan fungsinya. Contoh, sebuah variabel
|
31
COBA dan
coba akan memiliki
nilai dan alamatnya masing-masing dan dianggap
sebagai dua variabel yang berbeda satu sama lain.
Java
Script dan Java adalah dua buah bahasa yang berbeda satu sama
lain.
Dimana, perbedaan yang paling mendasar adalah kode program pada Java Script dapat
terlihat
langsung
di
sisi
klien,
kode
tersebut
ditulis
langsung
terintetgrasi
dengan file
HTML,
sedangkan Java,
kode program terkompilasi
(dalam bentuk applet)
dan
tidak
terlihat dalam file HTML, hanya hasil kompilasi saja yang dijalankan oleh komputer
klien.
Semua kode JavaScript harus dimasukan dalam sebuah tag khusus yang diawali
dengan tag <script> dan diakhiri dengan tag </script>.
Contoh :
<script language = JavaScript>
document.write(This is My First JavaScript Code!);
</script>
2.8
CSS
Menurut Juju (2007, p9), CSS (Cascading Style Sheet) adalah sebuah metode
yang
yang
digunakan
untuk
mempersingkat penulisan
tag
HTML,
seperti
font, color,
text, dan table menjadi lebih ringkas sehingga tidak terjadi pengulangan penulisan. CSS
adalah bahasa style sheet
yang digunakan
untuk
mengatur tampilan dokumen.
Dengan
adanya CSS, memungkinkan developer untuk menampilkan halaman yang sama dengan
format
berbeda.
CSS
sendiri
merupakan
sebuah
teknologi internet
yang
direkomendasikan oleh World Wide Consortium atau W3C pada tahun 1996.
|
32
Cara penulisan script CSS dibagi menjadi tiga, yaitu :
1. Inline Style Sheet
Cara penulisan ini menuliskan sintaks CSS langsung dalam elemen
HTMLnya (ditulis bersamaan dengan tag HTML yang ingin diberi style).
Untuk metode ini, rata-rata jarang digunakan karena tidak efisien. Fungsinya
hampir
sama
seperti
menuliskan property
pada
tag
HTML,
penggunaanya
untuk
hal-hal
tertentu
saja.
Misalnya,
bila
ingin
memberikan
warna
hijau
pada tag <p>, maka cara penulisannya adalah sebagai berikut :
<p style = color : green>
2. Embedded Style Sheet
Cara penulisan ini menuliskan sintaks CSS di dalam dokumen HTML dengan
metode Embedded yaitu dengan menggunakan tag <style> dan </style>.
Contoh :
<style type = text/css>
h1 {color : red}
</style>
3. Linked Style Sheet
Cara penulisan ini menuliskan sintaks CSS di halaman yang berbeda atau
terpisah
dari
HTML.
Jadi,
developer
hanya
perlu
melakukan
pemanggilan
link ke file CSS yang telah dibuat. Untuk metode ini, menggunakan tag <link
rel> yang ditempatkan pada bagian tag <head>.
<link
rel="stylesheet" type="text/css"
media="all"
href="~/Common/Css/css.css"/>
|
33
Keuntungan cara penulisan ini adalah kemudahan dalam mengedit script CSS
karena hanya file CSS saja yang harus diubah bila ingin merubah style.
CSS memiliki aturan dalam penulisannya, yang terdiri atas :
1. Selector
Selector terdiri dari Tag, Class, Ids, dan Pseudo yang digunakan sebagai
pemisah antarelemen. Bagian pertama sebelum tanda {} itulah yang
dinamakan selector.
2. Declaration
Declaration digunakan untuk
mendeskripsikan property atau value
yang
akan digunakan pada selector atau pemisah.
Contoh penggunaan aturan :
h1
{
Color : #0000FF;
}
Keterangan :
Selector = h1
Property = color
Value = #0000FF
2.9
ASP.NET
ASP.NET
merupakan
teknologi
Microsoft
yang
dikhususkan
untuk
pengembangkan aplikasi berbasis
Web dinamis berbasis platform .NET Framework
|
![]() 34
(Kurniawan, 2009, p1). ASP.NET didesain untuk memberikan kemudahan pada
pengembang
Web
untuk
membuat
aplikasi
berbasis Web
dengan
cepat,
mudah,
dan
efisien
karena
meminimalkan
penulisan kode
program dengan
bantuan
komponen-
komponen yang tersedia, sehingga dapat meningkatkan produktivitas.
2.10
C#
Bahasa C# dikembangkan oleh tim kecil di Microsoft di bawah pimpinan Anders
Hejlsberg dan Scott Wiltamuth. C# adalah pengembangan dari bahasa pemrograman
sebelumnya, yaitu C/C++, Java, dan Visual Basic. Menurut tim pembuatnya, C#
memiliki kehandalan yang dimiliki C/C++, mendukung pemrograman berbasis objek,
seperti Java, serta kemudahan Rapid Application Development, seperti Visual Basic.
Tujuan bahasa C# adalah untuk menyediakan tool untuk pengembangan program
yang sederhana, aman, berbasis objek, dan mempunyai performa yang handal. Sama
seperti Bahasa sebelumnya, C dan C++, C# bersifat case sensitive, yaitu membedakan
antara huruf kecil dan besar.
C# mempunyai tipe data dasar, seperti pada table berikut :
Tabel 2.1 Tipe Data C#
Tipe
Keterangan
bool
Merepresentasikan nilai true/ false
byte
8-bit unsigned integer
char
Character
decimal
Numeric types untuk financial calculations
|
![]() 35
double
Double-precision floating point
float
Single-precision floating point
int
Integer
long
Long integer
sbyte
8-bit signed integer
short
Short integer
uint
Unsigned integer
ulong
Unsigned long integer
unshort
Unsigned short integer
Program
yang cukup
besar
dapat dibagi
menjadi
beberapa
bagian
yang
lebih
kecil agar mengurangi kompleksitas program yang ditulis, masalah yang kompleks lebih
mudah
untuk
diselesaikan,
dan
program menjadi
lebih
spesifik
dan
terarah
dengan
menggunakan method.
Menggunakan
lebih
dari
satu method
dapat
memudahkan
programmer
untuk
mengurangi
kompleksitas
program.
Method adalah
kumpulan
statement yang mempunyai tujuan untuk menyelesaikan satu tugas yang diinginkan
secara spesifik. Penggunaan method tunggal akan menyebabkan program sulit untuk di-
maintain karena menjadi kompleks dan rumit.
Pada C#, secara umum dikenal dua macam method, yaitu method yang
mengembalikan nilai dan
method
yang tidak
mengembalikan
nilai. Method
yang tidak
mengembalikan nilai menggunakan keyword void :
|
36
public void fillMenu()
{
//code program
}
Cara memanggil :
fillMenu();
sedangkan, method yang mengembalikan nilai, menggunakan keyword return :
public bool isActive
{
If(
)
//condition
{
//code program
return true;
}
else
{
//code program
return false;
}
}
Cara memanggil :
Bool boolIsActive = isActive();
|
![]() 37
2.11
Interaksi Manusia Dan Komputer
Interaksi Manusia-Komputer,
yang
biasa
disebut
dengan
IMK,
adalah
sebuah
disiplin
ilmu yang mempelajari
bagaimana
merancang,
mengimplementasikan,
serta
melakukan evaluasi pada tampilan dari suatu sistem komputasi interaktif. IMK berfokus
pada perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka pemakai
adalah bagian sistem
komputer
yang memungkinkan
manusia berinteraksi dengan
komputer.
Gambar 2.3 Struktur IMK
Berdasarkan teori dari Shneiderman (2010, pp88-89), dalam bukunya Designing
the User Interface, dalam merancang suatu
aplikasi terdapat delapan aturan
emas.
Aturan ini merupakan kumpulan dari prinsip prinsip yang didapat dari pengalaman dan
berlaku
pada
hampir
semua
sistem
interaktif
setelah
diperbaiki, dikembangkan,
dan
diterjemahkan
dengan
baik.
Untuk
meningkatkan kegunaan
dari
suatu
aplikasi,
diperlukan rancangan antarmuka yang baik.
1.
Berusahalah untuk konsisten
Aksi aksi
yang konsisten diperlukan dalam
situasi
situasi
yang
hampir
sama. Terminologi yang sama harus dipakai dalam prompts, menu, dan help
screen. Konsistensi diperlukan agar pengguna dapat lebih mudah dan terbiasa
dalam menggunakan aplikasi.
|
38
2. Berprinsip pada kegunaan universal.
Pahami
kebutuhan dari berbagai user yang ada, buat design yang dapat
memfasilitasi
perubahan
dari
isi
halaman.
Perbedaan antara
pemula dengan
ahli, perbedaan
usia pemakai, user yang abnormal, dan perbedaan teknologi
dapat
mempengaruhi
kebutuhan
dalam melakukan
desain.
Menambahkan
fasilitas
untuk
pemula
seperti
penjelasan singkat,
dan
fasilitas
untuk ahli
seperti shortcut dapat meningkatkan kualitas sistem secara keseluruhan.
3. Berikan umpan balik / balasan yang informatif.
Untuk setiap aksi operator, seharusnya ada umpan balik / balasan dari sistem.
Untuk aksi minor dan sering, respon seharusnya sederhana, sedangkan untuk
aksi major dan tidak sering, respon seharusnya lebih terlihat.
4. Berikan dialog untuk menandakan penutupan.
Rangkaian aksi seharusnya diatur dalam kelompok permulaan, pertengahan,
dan akhir. umpan balik yang informatif saat suatu rangkaian aksi telah selesai
dilakukan akan
memberikan perasaan puas kepada pengguna, perasaan
lega,
dan
sebagai
indikasi
bahwa
rangkaian
aksi
telah
selesai
yang
menyiapkan
aksi selanjutnya.
5. Berikan penanganan kesalahan yang sederhana.
Selalu berusaha merancang sistem sedemikian rupa sehingga pengguna tidak
dapat membuat kesalahan besar. Jika terjadi kesalahan, sistem harus dapat
mendeteksi kesalahan dan menawarkan penanganan kesalahan yang
sederhana dan memiliki mekanisme yang komprehensif.
|
39
6. Memungkinkan pembalikan aksi yang mudah.
Fitur
ini
menghilangkan
kegelisahan,
karena
pengguna
mengetahui
bahwa
jika terjadi kesalahan dapat dilakukan pembalikan aksi dengan mudah,
sehingga mendorong pengguna untuk mengeksplorasi opsi opsi yang baru.
Bagian
dari
pembalikan
aksi
bisa
terdiri dari
aksi
tunggal,
pengisian
data,
atau rangkaian aksi yang lengkap.
7. Mendukung internal locus of control.
Pengguna mahir sangat menginginkan perasaan bahwa mereka mempunyai
kontrol
pada sistem dan sistem merespon
sesuai dengan
aksi
mereka.
Buat
sistem yang
membuat
pengguna
merasakan
mereka
sebagai
pihak
yang
memulai aksi, bukan sebagai perespon.
8. Kurangi beban ingatan jangka pendek.
Keterbatasan pada kemampuan mengolah informasi pada ingatan jangka
pendek membutuhkan rancangan layar yang sederhana,
halaman
yang
lebih
dari
satu
disederhanakan,
frekuensi
pergerakan window
dikurangi,
dan
pelatihan yang cukup diberikan untuk kode
kode, penghafalan, dan
rangkaian aksi.
2.12
Front End Dan Back End
Sistem Web
adalah sistem
informasi
yang
komponennya
dapat
diklasifikasikan
menjadi dua komponen,
yakni Front End dan Back End. Dimana secara umum, Front
End berkaitan dengan interaksi langsungnya dengan end user dan
tentunya
melibatkan
unsur UI (User Interfaces) yang baik dan menarik, sedangkan Back End lebih berkaitan
|
40
dengan proses pengolahan semua data dan
informasi yang akan ditampilkan di Front
End yang nantinya akan dilihat oleh User. Back End dapat dikatakan sebagai halaman
administrator yang memiliki fungsi pengolahan input data dan informasi, seperti
insert,
update, delete, upload, dan lain-lain. Berikut ini adalah penjelasan rinci mengenai Front
End dan Back End.
2.12.1 Front End
Front End adalah halaman Website yang dilihat dan dikunjungi oleh end user.
Apa yang dimuat di Website tersebut dan dapat dilihat dan diakses oleh end user adalah
Front End. Halaman home
dan segala halaman dengan konten-konten berupa tulisan,
gambar, video, dan lain-lain merupakan Front End.
Front End lebih mengutamakan unsur keindahan dan UI yang baik karena Front
End dinikmati oleh end user, apa yang disajikan
hendaknya bersifat user friendly dan
dapat dipercaya.
2.12.2 Back End
Istilah Back End memang tidak sepopuler Front End yang biasa dikunjungi oleh
user,
karena
semua
tampilan
Website
yang
dapat
diakses oleh
end
user adalah Front
End.
Istilah
Back
End
sebetulnya
digunakan
dalam
istilah
arsitektur perangkat
lunak
yang mengindikasikan hasil dari proses pengerjaan sebuah proyek dimana Front End
adalah bagian penting untuk menerima setiap masukkan yang nantinya akan dieksekusi
oleh Back End. Back End merupakan tempat awal mula proses sebuah produk/hasil itu
dibuat, dan kemudian bisa langsung dinikmati secara global di Front End. Begitu juga
|
41
halnya dalam
istilah Website, Back End bisa dikatakan sebagai dapur dari Front End,
atau Website yang selama ini dinikmati oleh para pengguna internet.
Jadi,
Back
End
dapat
dikatakan
sebagai
dapur
dalam mengolah
(edit,
link,
insert, update, dsb) untuk disajikan di Front End. Back End dibuat oleh developer untuk
meminimalisasi
sentuhan
langsung terhadap coding
Front
End,
karena
tidak
semua
staff terlibat berhak
untuk mengedit
langsung coding dan alur pemrograman
yang
ada
pada Front End, hal
itu tentunya
memudahkan alur penyampaian data dan keamanan.
Karena hanya orang yang memiliki hak akses yang dapat mengakses aplikasi Back End
tersebut.
2.13
Sistem Basis Data
2.13.1 Data
Menurut Whitten (2004, p23), data adalah fakta mentah mengenai orang,
tempat, kejadian, dan hal-hal yang penting dalam organisasi.
Menurut Elmasri (2000, p24), data itu dapat di-record dan
memiliki arti
yang
implisit.
Data dikombinasikan, disaring, diorganisasikan, dan dianalisa untuk
menghasilkan
informasi
yang
berguna,
untuk membantu
manajer
merencanakan
dan
mengoperasikan bisnis yang ada pada perusahaan.
|
42
2.13.2 Informasi
Menurut Kadir (2000, p7), informasi adalah hasil analisis dan sintetis terhadap
data.
Menurut Turban (2006, p52), informasi adalah data yang diatur sehingga
memiliki makna dan nilai bagi penerimanya.
Dengan kata lain, informasi dapat dikatakan sebagai data yang telah diorganisir
ke dalam bentuk
yang sesuai dengan kebutuhan seseorang, diseluruh tingkat organisasi
perusahaan. Informasi adalah hasil dari pengolahan data yang benar, apabila data diolah
dengan baik, maka akan menghasilkan informasi yang akurat dan berguna bagi user.
2.13.3 Basis Data (Database)
Menurut Mannino (2007, p4), Database adalah sebuah kumpulan dari data yang
persistent yang dapat dibagi dan saling berhubungan.
Menurut Connolly (2002, p15), Database adalah kumpulan data yang terhubung
secara logically yang terbagi, dan gambaran dari sebuah data, dibuat untuk menemukan
informasi yang dibutuhkan oleh sebuah perusahaan.
Menurut Elmasri (2000, p24), Database adalah sekumpulan data yang saling
berhubungan.
Jadi, dapat disimpulkan bahwa Database merupakan kumpulan data yang saling
berhubungan dengan alasan tertentu.
Database memiliki beberapa keuntungan khusus, di antaranya :
1. Data
yang
independen,
sehingga
memisahkan
antara
data
dengan
aplikasi
dalam penyimpanannya.
|
43
2. Akses data yang efisien, dengan berbagai
teknik
yang tersedia dalam
perankat
lunak
pengolah database,
maka data
yang
besar
dapat
diolah
dan
diakses dengan cepat.
3. Integritas dan keamanan data yang
lebih kuat, dengan
memanfaatkan akses
control dari database itu sendiri.
4. Pemulihan saat terjadi kerusakan saat
ini sudah dimiliki oleh
hampir semua
perangkat
lunak Database
Management
System, dengan adanya fasilitas
backup dan recovery.
5.
Yang terakhir, dengan adanya penggunaan
database (yang seakan sudah
menjadi kewajiban bagi para pengembang aplikasi sistem informasi saat ini),
waktu yang dibutuhkan untuk mengembangkan aplikasi sistem informasi
tentu saja menjadi lebih cepat.
2.13.4 Sistem Manajemen Basis Data (Database Management System)
Menurut Connolly, dkk (2002, p16), DBMS (Database
Management System)
adalah sebuah sistem software yang memungkinkan user membagi, membuat, mengatur,
dan akses kontrol ke database.
Menurut Mannino (2007, p6), Database Management System adalah kumpulan
dari komponen-komponen yang mendukung perolehan data, penyebarluasan,
pemeliharaan, pengambilan, dan format.
Menurut Rizky (2008, p28), Database Management System merupakan sebuah
perangkat lunak yang bertujuan untuk mengatur dan mengorganisasi sistem database.
|
44
Jadi Database Management System dapat diartikan sebagai suatu perangkat lunak
yang
berfungsi
untuk
membuat,
mengatur,
dan memberikan akses serta kontrol ke
database.
2.13.5 Entity Relationship
Menurut Silberschatz (2002, p8), Entity Relationship (ER) adalah gabungan
antara entity (entitas) dan relationship (hubungan) diantara objek-objek.
Menurut
Connolly
(2002,
p15),
entity adalah
objek
yang
mencolok
(manusia,
tempat, benda, konsep atau kegiatan) dari sebuah perusahaan yang menggambarkan
database. Attribute
adalah property yang
menggambarkan
beberapa
objek
yang
ingin
disimpan. Relationship adalah hubungan antara entity.
Jadi Entity Relationship adalah gambaran yang memperlihatkan gabungan antara
objek objek dari sebuah perusahaan yang menggambarkan database serta hubungan
hubungan antar objek objek tersebut dimana pada setiap objek terdapat atribut atribut
yang mendefinisikan data yang dapat disimpan oleh objek tersebut.
|
![]() 45
Gambar 2.4 Contoh Diagram Entity Relationship
2.14
SQL (Structured Query Language)
SQL diawali pada tahun 1970-an saat IBM mengembangkan sebuah bahasa
untuk
melaukan akses
terhadap DBMS
yang dinamakan SEQUEL (Structured English
Query Language). Bahasa awal ini kemudian berubah nama menjadi SQL. Pada
akhirnya, SQL sendiri dipersatukan dari berbagai vendor dan menjadi standard pertama
kali pada tahun 1986 di bawah organisasi ANSI (Americal National Standard Institute)
dengan nama sql-86. Standard ini kemudian mengalami beberapa kali perubahan, mulai
tahun 1989 menjadi SQL-89 dan pada tahun 1992
menjadi SQL-92.
Dengan
adanya
standard ini, berarti bahwa perintah-perintah standard dalam SQL tidak
hanya berlaku
untuk
satu vendor,
tetapi
berlaku
secara
global
untuk database
dari vendor lain.
Contohnya, perintah Select, secara
dasar
memiliki
sintaks
dan
parameter
yang
sama
|
![]() 46
dengan
perintah Select
yang
dijalankan di
beberapa vendor, baik
seperti
SQL Server,
Oracle, maupun My SQL. Namun, tetap ada vendor yang memiliki parameter tambahan
yang menjadi crri khas serta keunggulan di dalamnya.
Di dalam perintah SQL secara umum dibagi menjadi tiga kategori, yaitu :
1. Data Definition Language (DDL)
Merupakan
Query yang ditujukan untuk melakukan modifikasi terhadap
database maupun table. Yang termasuk di dalam kategori ini di antaranya,
perintah Create Database, Create Table, dan Alter Table.
2. Data Manipulation Language (DML)
Merupakan Query
yang
berfungsi
untuk
memanipulasikan
dan
memanggil
kembali data. Contoh :
?
SELECT ... FROM ... WHERE ...
?
INSERT INTO ... VALUES ...
?
UPDATE ... SET ... WHERE ...
?
DELETE FROM ... WHERE ...
3. Data Control Language (DCL)
Merupakan Query yang ditujukan untuk sekuritas dan control terhadap server
dan data. Sebagai contoh adalah perintah Grant dan Revoke.
2.15
Unified Modeling Language (UML)
2.15.1 Sejarah Unified Modeling Language
Teknik analisis berorientasi objek merupakan alat terbaik yang dapat digunakan
untuk sebuah proyek yang akan
mengimplementasikan sistem yang
menggunakan
|
47
teknologi
objek
untuk
membangun,
mengelola, dan
merakit
objek-objek
itu
menjadi
aplikasi komputer yang berguna. Pendekatan berorientasi objek dipusatkan pada sebuah
teknik yang sering disebut object modeling/ pemodelan objek (Whitten, dkk, 2004,
p408). Teknik pemodelan objek menyajikan penggunaan metodologi dan notasi diagram
yang sama sekali berbeda dengan teknik lainnya yang biasa digunakan utnuk pemodelan
data dan pemodelan proses.
Pada akhir 80-an dan awal tahun 90-an, digunakan beberapa metode berorientasi
objek yang berbeda-beda. Yang paling terkenal adalah Metode Booch dari Grady Booch,
Object Modeling Technique (OMT) dari James Rumbaugh (OMT), dan Object Oriented
Software
Engineering
(OOSE) dari
Ivar
Jacobson.
Banyaknya
metode
dan
teknik
pemodelan
yang sudah ada
menjadi masalah utama bagi industri pengembangan sistem
berorientasi objek. Banyaknya teknik yang digunakan membatasi kemampuan untuk
memakai
model-model
pada
proyek
lain (mengurangi
reuse)
dan
tim pengembangan.
Konsekuensinya, teknik ini
menghambat komunikasi antara anggota tim dan pengguna,
yang mengakibatkan banyak terjadi kesalahan di dalam proyek. Masalah ini dan lainnya
mendorong dilakukannya usdaha untuk mendesain bahasa pemodelan standar.
Pada tahun 1994, Grady Booch dan James Rumbaugh sepakat bergabung untuk
menggunakan metode pengembangan berorientasi objek dengan tujuan membuat standar
tunggal untuk mengembangkan sistem berorientasi objek. Ivar Jacobson bergabung pada
tahun 1995, dan mereka bertiga fokus membuat sebuah bahasa pemodelan objek standar
sebagai ganti dari pendekatan atau metode berorientasi objek standar. Berdasarkan kerja
mereka dan hasil kerja lainnya pada industri, Unified Modeling Language (UML) versi 1
dirilis pada tahun 1997.
|
48
UML
tidak
menentukan
metode
untuk
sistem-sistem pengembangan
hanya
catatan yang saat ini telah diterima luas sebagai standar untuk pemodelan objek. Object
Management Group (OMG), badan standar industri, mengadopsi UML pada bulan
November 1997 dan terus bekerja untuk meningkatkannya berdasarkan kebutuhan
industri.
2.15.2 Definisi Unified Modeling Language
Unified Modeling Language
(UML) adalah keluarga notasi grafis,
didukung oleh satu
model
meta (single meta-model)
yang membantu
dalam menggambarkan dan merancang sistem
perangkat
lunak,
khususnya sistem
perangkat
lunak
yang
dibangun dengan
menggunakan
object-oriented (OO)
(Fowler,
2004, p1).
Menurut Booch, dkk (2005, p13), UML adalah bahasa untuk menulis blueprints
perangkat lunak, memvisualisasi, menentukan,
membangun,
dan
mendokumentasikan
artifak dari sistem perangkat lunak intensif. UML cocok untuk pemodelan sistem mulai
dari sistem informasi
perusahaan
untuk aplikasi
berbasis
web bahkan
untuk
real
time
embedded software yang sulit sekalipun.
2.15.3 Diagram Unified Modeling Language
UML versi 2.2 memiliki 14 macam diagram, yang terbagi menjadi dua kategori,
yaitu diagram struktur (structure diagrams) dan diagram perilaku (behaviour diagrams)
[UML Superstructure Specification Version 2.2. OMG, 2009], seperti pada gambar
berikut :
|
![]() 49
Gambar 2.5 Pembagian Kategori Diagram UML
Dari
semua
jenis
diagram
UML,
yang
paling
sering
digunakan
adalah
Class
Diagram, Use case Diagram, Activity Diagram, dan Sequence Diagram.
2.15.3.1 Class Diagram
Class Diagram menunjukkan kelas dari suatu sistem,
hubungan antarkelas
tersebut, dan operasi dan atribut kelas.
Notasi-notasi yang terdapat pada class diagram adalah sebagai berikut :
1. Class
Class menggambarkan sekumpulan objek yang memiliki atribut dan operasi
yang dikerjakan oleh objek tersebut.
|
![]() 50
2. Aggregation
Aggregation menggambarkan hubungan antara dua atau
lebih objek, dimana
salah satu objek merupakan bagian dari objek lain.
3. Attribute
Attribute
merupakan property dari class
yang berisi tipe data
yang dimiliki
oleh instance dari suatu class.
4. Operation
Operation merupakan kegiatan-kegiatan yang dilakukan oleh suatu kelas
5. Association
Association
menggambarkan
relasi antar-object
/
instance
dari class. Pada
umumnya association digambarkan sebagai garis antar dua class dimana
pada salah satu ujung diletakkan tanda panah yang merupakan navigability.
Gambar 2.6 Gambar Contoh Class Diagram
|
51
2.15.3.2 Use case Diagram
Menurut
Booch, dkk, 2005, p239, Use case Diagram adalah pusat pemodelan
perilaku
sistem, subsistem,
atau
kelas.
Setiap use
case
diagram menunjukkan
satu
set
kasus penggunaan dan aktor, dan juga hubungan di antaranya,
Interaksi
antar
aktor
tidak
diperlihatkan
dalam use
case
diagram.
Use
case
diagram terdiri dari :
a. Use case
Sebuah use case
menjelaskan aksi
yang menyediakan suatu nilai
yang dapat
dinilai kepada aktor dan digambar dengan bentuk elips secara horizontal.
b. Aktor
Aktor
merupakan orang, organisasi, atau sistem luar yang memainkan peran
dalam satu atau lebih interaksi dengan sistem.
c. Persegi batas lingkup sistem (opsional)
Sebuah
persegi
digambar
mengelilingi use
case,
yang
dinamakan
system
boundary box, untuk mengindikasikan lingkup dari sistem. Semua yang
berada dalam persegi
menyatakan
fungsi
yang berada dalam lingkup
yang
sistem dan semua yang diluar persegi bukan merupakan bagian dari sistem.
|
![]() 52
Gambar 2.7 Contoh Use Case Diagram
2.15.3.3 Activity Diagram
Activity Diagram merupakan flowchart yang menunjukkan alur kontrol di
dalam sistem, baik
yang berurutan, bercabang,
atau bersamaan dari aktivitas ke
aktivitas (Booch, dkk, 2005, p267).
|
![]() 53
Activity
Diagram
memperlihatkan urutan
aktivitas
aktivitas
yang
dilakukan
oleh user pada setiap case yang ada pada use case diagram.
Activity Diagram dibangun
dari bentuk bentuk, yang dihubungan dengan
panah. Bentuk bentuk yang paling penting antara lain :
a. Rounded Rectangles menyatakan aktivitas.
b.
Diamonds menyatakan keputusan.
c. Bars
menyatakan
awal
(split)
atau
akhir
(join)
dari
aktivitas
yang
terjadi
secara bersamaan.
d.
Black circle menyatakan awal (state inisiasi) dari diagram.
e. Encircled black circle menyatakan akhir dari diagram (state final).
Panah berada dari awal hingga akhir dan menyatakan urutan dari aktivitas yang
terjadi.
Gambar 2.8 Contoh Activity Diagram
|
![]() 54
2.15.3.4 Sequence Diagram
Sequence
Diagram
adalah
sebuah
diagram interaksi
yang
menekankan
pada
urutan waktu pesan. Sequence diagram memperlihatkan interaksi antar objek/ kelas dan
juga pesan yang dikirim dan diterima antar objek/ kelas tersebut.
Sequence
diagram mengambarkan
proses
proses
atau
objek
objek
yang
berbeda yang aktif secara simultan, digambarkan garis paralel secara vertikal (lifelines),
dan pesan yang ditukar antara mereka, digambarkan sebagai panah horisontal, sesuai
dengan urutan terjadinya.
Gambar 2.9 Contoh Sequence Diagram
|
55
2.16
Services
Services, yang dalam bahasa
Indonesia artinya
jasa, adalah tindakan atau
kegiatan yang diberikan/ ditawarkan oleh suatu pihak kepada pihak
lain, dimana
yang
ditawarkan tersebut adalah sesuatu yang tidak berwujud dan juga tidak mengakibatkan
kepemilikan apapun.
Beberapa karakteristik utama dari jasa :
1. Intangibility (Tidak berwujud)
Jasa
mempunyai
sifat
tidak
berwujud
karena
tidak
bisa dindentifikasi
oleh ke
lima indera manusia, seperti: dilihat, dirasa, diraba, didengar, atau dicium. Jasa
tidak berupa barang yang mempunyai wujud.
2. Inseparability (Tidak dapat dipisahkan)
Jasa tidak dapat dipisahkan dari sumbernya, apakah sumber itu merupakan orang
maupun mesin, jadi jasa tidak ada jika sumbernya tidak ada. Berbeda dengan
barang yang masih ada terlepas dari sumbernya ada atau tidak.
3. Variability (Berubah-ubah)
Jasa mempunyai sifat berubah-ubah karena jasa tergantung pada siapa yang
menyajikan, kapan, dan dimana disajikan.
4. Perishability (Daya tahan)
Jasa merupakan sesuatu yang tidak dapat disimpan dan tidak memiliki daya tahan
yang lama karena sifatnya tergantung dari fluktuasi permintaan
Jadi, Services atau jasa adalah sesuatu yang tidak berwujud secara
fisik namun
dapat dirasakan oleh pihak yang menerima service tersebut. Service merupakan elemen
|
56
penting
bagi strategi
bisnis
manapun,
semua
customer
membutuhkan
service
dengan
kualitas tinggi (high quality service).
Service juga dapat
didapatkan
melalui
mekanisme elektronika,
seperti
aplikasi
penyedia service
maupun Website yang
menyediakan service. Dimana Website tersebut
menyediakan jasa bagi user, seperti penyedia layanan informasi dan layanan tanya
jawab. Begitu pula dengan Binusmaya, sebagai Web resmi bagi mahasiswa dan dosen
Binus
University,
juga
menyediakan service yang
bermanfaat
yang
menunjang
kepentingan
perkuliahan
dan
kehidupan
kampus
Binus
University. Dimana
service
tersebut
dapat
diakses
dengan
mudah
dan
cepat
karena
menggunakan
sistem berbasis
Web.
2.17
Binusian
Binusian adalah semua orang/pihak yang pernah atau
sedang terlibat di dalam
proses pengajaran, penelitian, dan pengabdian
masyarakat
termasuk
didalamnya
karyawan yang bekerja di lingkungan lembaga pendidikan Bina Nusantara.
|