BAB 2 - Library Binus

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1.
Internet
Menurut William dan Sawyer (2010, pp. 18) Internet merupakan ibu dari
semua jaringan. Internet merupakan jantung dari Era Informasi. Disebut "ibu dari
semua jaringan," internet (net) adalah jaringan komputer di seluruh dunia yang
menghubungkan ratusan dari ribuan jaringan yang lebih kecil. Jaringan ini
menghubungkan pendidikan, komersial, nirlaba, dan militer entitas, serta
individu.
Internet adalah jaringan besar yang menghubungkan jutaan komputer
melalui protokol, hardware, dan saluran komunikasi. Ini merupakan sebuah
infrastruktur yang mendukung tidak hanya web tetapi juga sistem komunikasi
lainnya seperti email, instant messaging, dan newsgroup. Bagian dari internet
disebut web adalah teknologi berbasis multimedia yang memungkinkan untuk
mengakses lebih dari sekedar teks.
2.1.1. WWW
World Wide Web (WWW), sering disebut hanya web. Sebuah
sistem interkoneksi komputer internet (disebut server) yang mendukung
dokumen khusus diformat dalam bentuk multimedia, kata multimedia, dari
"multiple media," mengacu pada teknologi yang menyajikan informasi
pada lebih dari satu media, seperti teks, gambar diam, gambar bergerak,
dan suara. Dengan kata lain, web menyediakan informasi di lebih dari satu
cara. (William dan Sawyer, 2010, pp. 18).
2.1.2. Web Browser
Web browser berhubungan dengan web server melalui protokol
HTTP
dalam pengambilan halaman web. Halaman web juga kadang
disertai dengan files eksternal seperti gambar (JPEG, PNG, GIF), animasi
1
(flash, java, shockwave) maupun program seperti Java Applet. Adanya
fasilitas media streaming juga memungkinkan web browser digunakan
untuk memutar video atau file suara. (Ari Prabawanti, 2010, pp. 220).
2.1.3. Website
Menurut William dan Sawyer (2010, pp. 65). Sebuah website, atau
sekedar site, adalah lokasi pada komputer tertentu di web yang memiliki
alamat yang unik atau yang disebut URL. Sebuah website terdiri dari
halaman web atau koleksi halaman web terkait. Sebuah halaman web
adalah dokumen yang terdapat di World Wide Web(WWW) yang dapat
mencakup teks, gambar, suara, dan video.
2.1.4. HTTP
HyperText
Transfer
Protocol
(HTTP)
merupakan
aturan
komunikasi yang memungkinkan browser untuk terhubung dengan web
server. HTTP juga merupakan sebuah protokol untuk melakukan akses
internet antara client dan server. Client dan server masing-masing dapat
saling menerima dan menjawab request keduanya. Menurut William dan
Sawyer (2010, pp. 66). HTTP merupakan sebuah protokol atau sebuah
aturan agar terjadinya komunikasi untuk pertukaran infromasi dan
memungkinkan browser untuk terhubung dengan server web.
2.1.5. Web Server
Web Server merupakan sebuah perangkat lunak dalam server yang
berfungsi menerima permintaan (request) berupa halaman web melalui
HTTP atau HTTPS dari klien yang dikenal dengan web browser dan
mengirimkan kembali (response) hasilnya dalam bentuk halaman-halaman
web yang umumnya berbentuk dokument HTML. (Solichin, A., 2011, pp.
7).
2
Gambar 2.1 Standard Web Architecture
Sumber : (Solichin, A., 2011, pp. 7)
Gambar 2.2
Dynamic Web
Architecture
Sumber : (Solichin, A., 2011, pp. 7)
2.1.6. URL
Uniform Resource Locator (URL) merupakan string karakter yang
menunjuk ke bagian tertentu informasi di mana saja pada sebuah halaman web.
Dengan kata lain, URL adalah website yang memiliki alamat unik.
Menurut William dan Sawyer (2010, pp. 65-66). Sebuah URL terdiri dari
(1) protokol web, (2) nama domain atau nama web server, (3) direktori (atau
folder) pada server itu, dan (4) file dalam yang direktori (mungkin dengan
3
ekstensi seperti html atau htm). Berikut merupakan contoh dari URL untuk situs
web dari The National Park Service for Yosemite National Park:
Gambar 2.3 Contoh Struktur URL untuk sebuah situs Web
Sumber: (William dan Sawyer, 2010, pp. 66)
1. Protocol: http:// merupakan sebuah aturan untuk berkomunikasi
dan dalam pertukaran informasi, dan memungkinkan browser
untuk melakukan koneksi kepada server web. Kebanyakan
browser mengasumsikan bahwa semua alamat web yang
dimulai dari http://, sehingga tidak perlu lagi untuk menuliskan
bagian ini. Dengan kata lain, dapat langsung mengetikan www.
2. Domain name (web server name): Domain merupakan sebuah
lokasi
yang
terdapat
dalam
internet,
domain
dapat
memberitahukan lokasi dan tipe dari address. Komponen dari
domain name dipisahkan oleh dots. Bagian terakhir dari domain
disebut top-level domain yang merupakan tiga huruf ekstensi
yang menggambarkan tipe dari domain, misalnya: .gov, .com,
.net, .edu, .org.
3. Directory name: Merupakan nama dari server untuk sebuah
directory atau folder dimana dibutuhkan browser untuk
mengambil file dan informasi.
4. File name dan extension: File merupakan sebuah particular
page
atau
dokumen.
Misalnya
home.htm
yang
akan
menunjukkan sebuah home page, atau welcome page.htm
merupakan sebuah ekstensi untuk sebuah file name, dan
ekstensi dapat memberitahukan kepada browser bahwa tipe dari
file tersebut merupakan HTML file.
4
2.2.
IMK (Interaksi Manusia dan Komputer)
Menurut Shneiderman dan Plaisant (2010, pp. 4). Interaksi Manusia dan
Komputer merupakan ilmu yang melibatkan perancangan dengan pengumpulan
data dan kerangka secara intelektual yang dikembangkan dari ilmu komputer.
Shneiderman dan Plaisant (2010, pp. 32) menyatakan bahwa perancangan sebuah
sistem dapat dikatakan user-friendly, efisien, dan dapat memenuhi kebutuhan
harus memperhatikan lima faktor berikut:
1. Waktu untuk belajar
Waktu yang dibutuhkan seorang pengguna untuk mempelajari fungsi-fungsi
di dalam sebuah aplikasi untuk menyelesaikan tugasnya.
2. Kecepatan kinerja
Waktu yang diperlukan untuk penyelesaian suatu tugas di dalam aplikasi.
3. Tingkat kesalahan yang dilakukan pengguna
Jumlah dan jenis kesalahan yang dilakukan oleh pengguna dalam melakukan
serangkaian tugas dengan menggunakan aplikasi.
4. Daya Ingat
Seberapa baik pengguna mempertahankan ingatan dan pengetahuannya dalam
jangka waktu tertentu saat menggunakan aplikasi.
5. Kepuasan subjektif
Tingkat ketertarikan pengguna atas berbagai aspek dari suatu sistem.
2.2.1.
Eight Golden Rules
Untuk meningkatkan kegunaan dari aplikasi, penting untuk
memiliki interface yang dirancang dengan baik. Dengan menggunakan
"Eight Golden Rules of Interface Design" Menurut Shneiderman dan
Plaisant (2010, pp. 88-89) ini merupakan panduan untuk mendesain
interface yang baik:
1.
Strive for consistency
5
Konsistensi sangat diperlukan dalam perancangan user interface
seperti warna yang konsisten, tata letak, kapitalisasi, font, dan
sebagainya yang harus diterapkan secara keseluruhan.
2.
Cater to universal usability
Mengenali kebutuhan pengguna yang beragam dan desain untuk
memudahkan dalam melakukan perubahan konten. Perbedaan antara
yang pemula dan yang ahli, rentang usia, keterbatasan kemampuan
fisik, dan keanekaragaman teknologi yang merupakan panduan dalam
merancang interface. Menambahkan fitur untuk pemula, seperti
penjelasan, dan memberikan fitur sepertu shortcut untuk yang sudah
ahli agar dapat memperkaya desain interface dan meningkatkan kualitas
sistem.
3.
Offer informative feedback
Untuk setiap tindakan dari pengguna, harus ada umpan balik dari
sistem. Umpan balik tersebut harus memberikan visualisasi hasil dari
aksi yang telah dilakukan oleh pengguna.
4.
Design dialogs to yield closure
Urutan tindakan harus diatur ke dalam kelompok dengan urutan
awal, tengah, dan akhir. Umpan balik yang informatif pada
penyelesaian sekelompok aksi memberikan kepuasan, rasa lega, tanda
untuk menghentikan rencana kontingensi dari pikiran mereka, dan
indikator untuk mempersiapkan ke kelompok aksi yang selanjutnya.
Sebagai contoh, situs web e-commerce memindahkan pengguna dari
memilih produk ke kasir, yang berakhir dengan halaman konfirmasi
yang jelas yang melengkapi transaksi.
5.
Prevent error
6
Sebisa mungkin, merancang sistem sehingga pengguna tidak
dapat membuat kesalahan; misalnya, menu yang pewarnaannya tidak
tepat dan tidak mengizinkan karakter abjad di entri pada bidang
numerik. Jika pengguna membuat kesalahan, antarmuka harus
mendeteksi kesalahan dan menawarkan instruksi sederhana, konstruktif,
dan instruksi khusus untuk recovery.
6.
Permit easy reversal of actions
Sebisa mungkin, tindakan harus reversibel. Fitur ini mengurangi
kecemasan, karena pengguna tahu bahwa kesalahan dapat diperbaiki.
Sehingga pengguna dapat terus melakukan penjelajahan dan tidak
bingung jika mendapatkan pesan kesalahan.
7.
Support internal locus of control
Pengguna yang sudah berpengalaman sangat menginginkan
bahwa mereka bertanggung jawab atas keseluruhan sistem dan interface
yang dapat merespon setiap tindakan mereka karena pengguna yang
memegang dan mengontrol keseluruhan sistem.
8.
Reduce short-term memory load
Keterbatasan manusia dalam mengolah informasi dalam memori
jangka pendek. Mensyaratkan bahwa desainer harus menghindari
interface di mana pengguna harus mengingat informasi dari satu layar
dan kemudian menggunakan informasi tersebut pada layar lain.
2.3.
E-Business
Menurut Abdurrahim, M. (2011, pp. 4-5) Banyak orang mengasumsikan
bahwa e-commerce dan e-business adalah sama. Istilah e-commerce dan ebusiness mungkin kedengarannya sama tapi secara teknis sebenarnya keduanya
berbeda. Keduanya memang memiliki huruf “e” yang mengindikasikan
penggunaan elektronik termasuk internet dan EDI (Electronic Data Interchange)
7
untuk mengembangkan proses bisnis. Secara definisi e-commerce merupakan
bagian dari e-business, namun tidak semua e-business berarti e-commerce. Ecommerce lebih sempit jika dibandingkan e-business, di mana e-commerce adalah
sub perangkat dari e-business. Di mana e-business sangat luas, menunjuk kepada
penggunaan teknologi untuk menjalankan bisnis yang memberikan hasil,
memberikan dampak yang besar kepada bisnis secara keseluruhan. Sementara ecommerce mengacu kepada penggunaan internet untuk belanja online, seperti
untuk belanja produk dan jasa. Contohnya terjadi ketika konsumen melakukan
order tiket, buku atau hadiah, produk berwujud maupun tidak berwujud melalui
internet. Sampel lainnya ketika sebuah organisasi atau individu membayarkan
sejumlah uang via internet.
2.3.1. E-Commerce
Perdagangan elektronik, yang disebut juga e-commerce, adalah
pengunaan jaringan komunikasi dan komputer untuk melaksanakan proses
bisnis. Pandangan populer dari e-commerce adalah pengunaan internet dan
komputer dengan web browser untuk menjual dan membeli produk.
(Raymond McLeod, Jr., 2008, pp. 59).
Devendra et. al., (2012) mendefinisikan bahwa electronic
commerce, pada umumnya dikenal sebagai ecommerce yang merupakan
aktivitas jual dan beli dari produk atau jasa melalui sistem elektronik
seperti internet dan jaringan komputer. Tujuan dari teknologi untuk ecommerce adalah untuk menawarkan kemudahan dalam mengaksesnya
dengan biaya minimum dan dengan transaksi bisnis sehari-hari.
Khan dan Mahapatra (2009) mengatakan bahwa teknologi
memainkan peran penting dalam meningkatkan kualitas layanan yang
diberikan oleh unit bisnis. Salah satu teknologi yang benar-benar
membawa revolusi informasi di masyarakat adalah Teknologi Internet dan
benar dianggap sebagai gelombang ketiga revolusi setelah revolusi
8
pertanian dan industri. Ujung tombak untuk bisnis saat ini adalah ecommerce.
Empat kategori umum e-commerce antara lain (Laudon, Kenneth
C. 2008):
1. B2C (Business to Consumer)
Dalam ruang lingkup e-commerce, business to consumer merupakan
perusahaan yang menjual produknya secara online kepada konsumen
dimana konsumen merupakan “end users” dari produk-produk dan
services. Biasanya B2C pada e-commerce web shops memiliki hak
akses terbuka bagi para pengunjung.
2. B2B (Business to Business)
Dalam ruang lingkup e-commerce, business to business merupakan
perusahaan yang menjual produknya hanya kepada perusahaan lain
tanpa memiliki hubungan dengan konsumen. Biasanya B2B pada ecommerce web shop memiliki harga khusus, dan diskon khusus bagi
customer.
3. C2B (Consumer to Business)
Dalam ruang lingkup e-commerce, consumer-to-business merupakan
konsumen yang biasanya memasukkan produk atau layanan online di
mana perusahaan dapat memposting tawaran mereka. Sebagai
konsumen meninjau tawaran dan memilih perusahaan yang memenuhi
harapan harganya.
4. C2C (Consumer to Consumer)
Dalam
ruang
lingkup
e-commerce,
consumer-to-consumer
merupakan konsumen yang menjual barang online mereka kepada
konsumen lainnya.
2.3.1.1. Manfaat E-Commerce
Menurut Irmawati (2011, pp. 109-110) terdapat beberapa
manfaat dari e-commerce bagi Organisasi, Konsumen, dan
Masyarakat luas:
9
1. Bagi Organisasi:
· Memperluas pasar hingga mencakup pasar nasional dan pasar
global, sehingga perusahaan bisa menjangkau lebih banyak
pelanggan, memilih pemasok terbaik, dan menjalin relasi
dengan mitra bisnis yang dinilai paling cocok.
· Menekan biaya menyusun, memproses, mendistribusikan,
menyimpan, dan mengakses informasi berbasis kertas.
· Memungkinkan perusahaan mewujudkan bisnis yang sangat
terspesialisasi.
· Menekan biaya persediaan dan overhead dengan cara
memfasilitasi manajemen rantai nilai bertipe “pull” yang
prosesnya berawal dari pesanan pelanggan dan menggunakan
pemanufakturan
just-in-time.
·
Menekan
waktu
antara
pembayaran dan penerimaan produk/jasa. Meningkatkan
produktivitas karyawan melalui rekayasa ulang proses bisnis
· Menekan biaya telekomunikasi.
2. Bagi Konsumen:
· Memungkinkan konsumen berbelanja atau melakukan
transaksi lainnya setiap saat (7 hari 24 jam).
· Memberikan pilihan produk dan pemasok yang lebih banyak
kepada pelanggan.
· Memungkinkan konsumen dalam mendapatkan produk dan
jasa yang lebih murah, karena konsumen bisa berbelanja di
banyak tempat dan melakukan perbandingan secara cepat.
· Produk yang terdigitalisasi, e-business memungkinkan
pengiriman produk secara cepat dan real-time.
· Memungkinkan pelanggan berinteraksi dengan pelanggan
lainnya dalam electronik communities dan saling bertukar
gagasan dan pengalaman.
· Memungkinkan pelanggan berpartisipasi dalam lelang virtual.
10
3. Bagi Masyarakat luas:
· Memungkinkan lebih banyak orang bekerja di rumah.
· Memungkinkan beberapa jenis barang dijual dengan harga
murah.
2.4.
Management Permintaan
Manajemen permintaan didefinisikan sebagai suatu fungsi pengelolaan
dari semua permintaan produk untuk menjamin bahwa penyusunan jadwal induk
(master scheduler) mengetahui dan menyadari akan semua permintaan produk itu
(Gaspersz, V., 2008, pp. 71). Terdapat dua jenis permintaan yaitu independent
demand dan dependent demand yang dimana keduanya adalah konsep terpenting
dalam master planning.
Gambar 2.4 Aktivitas Utama dalam Manajemen Permintaan
Sumber: (Gaspersz, V., 2008, pp. 72)
Dependent demand didefinisikan sebagai permintaan terhadap material,
parts, atau produk yang terkait langsung terhadap atau diturunkan dari struktur bill
of material (BOM) untuk produk akhir atau untuk item tertentu. Sedangkan
independent demand didefinisikan sebagai permintaan terhadap material, parts,
atau produk, yang bebas atau tidak terkait langsung dengan struktur bill of
material untuk produk akhir atau item tertentu (Gaspersz, 2012, pp. 133).
11
Pada dasarnya suatu permintaan merupakan perangkat analisis untuk
melihat besaran jumlah barang atau jasa yang diminta serta perubahan permintaan
akan suatu barang atau jasA. Perubahan permintaan akan suatu barang atau jasa
tersebut akan dapat dilihat dari perubahan pada kurva permintaan. Maka analisis
permintaan akan suatu barang atau jasa erat kaitanya dengan perilaku konsumen.
Gambar 2.5 Roda Deming dalam Sistem Industri Modern
Sumber: (Gaspersz, V., 2008, pp. 2)
Dari roda deming dalam Gambar 2.5 tampak bahwa berdasarkan informasi
tentang keinginan konsumen (pasar) yang diperoleh dari riset pasar yang
komprehensif, selanjutnya didesain produk sesuai dengan keinginan pasar itu.
Desain produk telah menetapkan model dan spesifikasi yang harus diikuti oleh
bagian produksi. Bagian produksi harus meningkatkan efisiensi dari proses dan
kualitas produk, agar diperoleh produk-produk berkualitas sesuai dengan desain
yang telah ditetapkan berdasarkan keinginan pasar itu, dengan biaya yang
serendah mungkin. (Gaspersz, V., 2008, pp. 2).
12
2.5.
Rekayasa Perangkat Lunak
Menurut Pressman, R. S.(2010, pp. 13) rekayasa perangkat lunak
merupakan
penerapan
sistematis,
disiplin, pendekatan
kuantitatif
untuk
pengembangan, pengoperasi, dan pemeliharaan perangkat lunak.
Proses merupakan sebuah model dan dasar yang menyatukan lapisan
teknologi dan memungkinkan pengembangan rasional dan pengaturan jadwal
yang tepat untuk rekayasa perangkat lunak dan proses mendefinisikan kerangka
kerja yang harus dibentuk untuk penyerahan perangkat lunak secara efektif.
Setiap proses model mengatur sebuah aliran proses yang biasa disebut
work flow, yaitu cara di mana elemen-elemen dari proses saling terkait satu sama
lain. Masing-masing proses model perangkat lunak menerapkan penekanan yang
berbeda untuk kegiatan ini dan mendifinisikan process flow yang memanggil
setiap kegiatan kerangka (serta perangkat lunak baik langkah maupun tugas)
dengan cara yang berbeda. (Pressman, R. S., 2010, pp. 39)
2.5.1 Prototyping model
Prototyping
model
merupakan
model
proses
yang
mengidentifikasikan satu set tujuan umum untuk perangkat lunak, akan
tetapi tidak mengidentifikasikan persyaratan rinci untuk fungsi dan fitur.
Prototyping berupaya untuk mengurangi resiko proyek yang melekat
dengan memecahkan proyek ke dalam segmen yang lebih kecil dan
menyediakan kemudahan perubahan selama proses pembangunan. Dalam
sistem yang dikembangkan terdapat proses yang berulang-ulang dalam
beberapa langkah sampai modifikasi prototype memenuhi kebutuhan
pengguna. Pada kasus lain, developer mungkin tidak yakin mengenai
efisiensi dari sebuah algoritma, kemampuan beradaptasi dari suatu sistem
operasi, atau bentuk interaksi manusia dan mesin apa yang harus diambil.
Dalam hal ini dan banyak situasi lainnya, paradigma prototyping
menawarkan pendekatan yang terbaik. (Pressman, R. S., 2010, pp. 43)
Berikut merupakan gambar dari Prototyping model
13
Gambar 2.6 Prototyping model
Sumber: (Pressman, R. S., 2010, pp. 43)
Menurut Pressman, R. S. (2010, pp. 43-44) pada prototyping model
dimulai dari communication. Bertemu dengan stakeholders untuk
mendefinisikan kebutuhan untuk mengetahui apa saja yang dibutuhkan dan
apa saja yang harus dikembangkan kedepannya, mengidentifikasi seluruh
requirements dan membuat garis besar di mana definisi lebih lanjut
merupakan hal
yang wajib.
Prototyping
memiliki iterasi untuk
merencanakan dengan cepat dan pemodelan dalam bentuk quick design.
Quick design berfokus pada representasi dari aspek-aspek perangkat lunak
yang dapat dilihat oleh seluruh pengguna misalnya, human interface
layout. Desain yang cepat mengarah ke pembangunan prototipe. Prototipe
disebarkan dan dievaluasi oleh stakeholders, yang akan memberikan
feedback yang digunakan futher refine requirement, sementara pada saat
yang sama memungkinkan bagi developer untuk lebih memahami apa
yang perlu dilakukan.
Meskipun masalah dapat terjadi, prototyping dapat menjadi
paradigma yang efektif untuk teknik perangkat lunak. Kuncinya adalah
dalam menentukan aturan main pada tahap awal, requirements haruslah
14
jelas dan stakeholders harus setuju bahwa prototype dibangun untuk
melayani sebagai mekanisme untuk mendefinisikan requirements.
2.5.2. Black-box Testing
Menurut Pressman, R. S. (2010, pp. 495) Pengujian black-box,
juga disebut behavioral testing, berfokus pada persyaratan fungsional dari
perangkat lunak. Artinya, teknik pengujian black-box memungkinkan
untuk memperoleh set kondisi input yang sepenuhnya yang akan
melaksanakan semua persyaratan fungsional untuk suatu program.
Pengujian black-box berusaha menemukan kesalahan dalam
kategori berikut: (1) tidak benar atau fungsi yang hilang, (2) kesalahan
antarmuka, (3) kesalahan dalam struktur data atau eksternal akses
database, (4) perilaku atau kinerja kesalahan, dan (5) kesalahan inisialisasi
dan termination.
2.5.3. Structured Programming
Menurut Godse, A.P., & Godse, D.A. (2010, pp. 19) Hampir
seluruh bahasa dapat menggunakan teknik structured programming untuk
menghindari kesalahan yang umum dari bahasa yang tidak terstruktur.
Pada structural programming, program dibagi menjadi independent tasks
yang kecil. Tugas-tugas yang kecil cukup untuk dipahami dengan mudah
tanpa harus mengetahui atau mengerti program secara keseluruhan. Setiap
task dirancang untuk melakukan fungsionalitas tertentu dengan sendirinya.
Ketika tugas-tugas dilakukan, maka hasilnya akan digabungkan bersamasama mengatasi masalah tersebut.
2.5.3.1. Procedural Programming
Menurut Godse, A.P., & Godse, D.A. (2010, pp. 19)
Pemrograman prosedural adalah paradigma pemrograman berbasis
pada konsep panggilan prosedur. Prosedur, juga dikenal sebagai
rutinitas, subrutin, metode, atau fungsi hanya berisi serangkaian
langkah komputasi yang akan dilakukan. Setiap prosedur yang
15
diberikan bisa dipanggil pada setiap saat selama pelaksanaan
program. Termasuk dengan prosedur lain atau sendiri. Setelah
serangkaian langkah komputasi diproses dalam prosedur, aliran
eksekusi program terus dari mana panggilan itu dibuat.
Pemrograman prosedural sering merupakan pilihan yang lebih baik
daripada pemrograman yang tidak terstruktur.
Berikut merupakan manfaat dari procedural programming
menurut Godse, A.P., & Godse, D.A. (2010, pp. 20):
1.
Kemampuan untuk re-use code pada tempat yang
berbeda di dalam program tanpa perlu menyalin code tersebut,
karena setiap prosedur dapat dipanggil dimana saja.
2.
Merupakan cara yang mudah untuk melakukan
track dan pemahaman pada program dengan mengikuti logic dari
program tersebut karena merupakan flow secara top-down
structure.
3.
Kemampuan yang sangat terstruktur, sehingga
mendukung mantainability of code.
Menurut sebuah artikel dengan procedural languages, code
merupakan
instruksi
khusus
untuk
komputer
untuk
menjalankannya dengan gaya “do-this, then-this, then this” style of
programming. Procedural programming merupakan satu dari
paradigma pemrograman yang bersifat umum untuk digunakan.
Point utama yang harus diketahui adalah procdural programming
merupakan imperative language. Imperative berarti memberikan
perintah atau instruksi sehingga dapat disimpulkan bahwa
procedural programming menceritakan kepada komputer apa yang
harus dikerjakan, bagaimana langkah demi langkah. Sehingga
memiliki instruksi yang bersifat sequential.
Source code written in a procedural language:
16
y = 1224;
for (x = 0; x < 100; x++) {
z = y + x;
}
Dalam klip ini, y merupakan variabel yang sedang diatur,
maka code memasuki loop. Jadi bahasa prosedural justru
mendefinisikan apa yang komputer harus lakukan langkah demi
langkah.
2.6.
Database
Menurut Kroenke, D., & Auer, D. (2012, pp. 12) Database merupakan
sebuah koleksi “self-describing” dari tabel yang terintegrasi. Tabel yang
terintegrasi merupakan tabel yang menyimpan data dan hubungan antar data.
Database merupakan self-describing karena mengandung sebuah deskripsi dari
data itu sendiri. Dengan demikian database tidak hanya mengandung tabel dari
data user melainkan juga mengandung tabel dari data yang mendeskripsikan data
user. Seperti data deskriptif disebut "metadata" karena itu adalah data tentang
data. Pada gambar 2.7 akan menunjukkan generic metadata tabel yang akan
mendeskripsikan tabel dan kolom dari sebuah database.
Gambar 2.7 Typical Metadata Tables
17
Sumber: (Kroenke, D., & Auer, D. 2012, pp. 12)
Dalam konsep database, urutan atau hierarki database sangatlah
penting. Urutan atau hierarki database digambarkan dalam gambar sbb:
Gambar 2.8 Hierariki Database
Sumber: (Solichin, A. 2011, pp. 84)
2.6.1. Entity Relationship Diagram (ERD)
ERD merupakan sebuah diagram dalam perancangan database
yang dimulai dari identikasi data dari sebuah entity, attributes, dan
relationship antara data yang digambarkan pada sebuah model.
1. Entity
Menurut Kroenke, D., & Auer, D. (2012, pp. 156). Sebuah entity
merupakan sesuatu yang diinginkan oleh pengguna untuk melacak. Ini
merupakan sesuatu yang mudah untuk dilacak oleh pengguna. Entities
dari jenis tertentu dikelompokkan menjadi sebuah entity class. Dengan
demikian Employee entity class merupakan sebuah koleksi dari seluruh
Employee entities. Contoh dari entity data customer dapat dilihat pada
gambar 2.9.
18
Gambar 2.9 Contoh Entity Data Customer
Sumber: (Kroenke, D., & Auer, D. 2012, pp. 157)
2. Attributes
Menurut Kroenke, D., & Auer, D. (2012, pp. 157). Entities memiliki
beberapa attributes yang mendeskripsikan karakteristik masing-masing.
Contohnya EmployeeName, Phone, dan Email. Attributes ditulis dengan
huruf uppercase dan lowercase. Model E-R mengasumsikan bahwa
seluruh contoh dari entity class memiliki attributes yang sama.
Gambar 2.10 Attributes dalam bentuk eclipse dan rectangle
Sumber: (Kroenke, D., & Auer, D. 2012, pp. 157)
19
3. Relationship
Menurut Kroenke, D., & Auer, D. (2012, pp. 158) Entity dapat
dikaitkan dengan satu sama lain dalam relationships. Model E-R
mengandung kedua relationship classes dan relationship instances.
Relationship classes merupakan hubungan antara entity classes dan
relationship class merupakan hubungan antara entity intances.
Berikut merupakan contoh variasi pada level dari Entity Attribute:
Gambar 2.11 Contoh Variasi dari level Entity Attribute
Sumber: (Kroenke, D., & Auer, D. 2012, pp. 158)
2.6.1.1. Crow’s Foot Notation
Simbol multiplicity-nya intuitif dan mudah dimengerti
oleh pembaca non-teknis. Notasi crow’s foot sebaiknya digunakan
dalam seluruh diagram model data konseptual yang akan ditinjau
oleh pengguna bisnis. Notasi ini juga cocok untuk digunakan
dalam model desain basis data fisikal (Stewart, 2008). Pada
pengerjaan penulisan ini akan digunakan model data Crow’s Foot
pada Entity Relationship Diagram yang akan dibuat.
Simbol
Crow’s
Foot
Notation
digunakan
untuk
menunjukkan berbagai hubungan dari banyak. Crow’s Foot
Model menggunakan notasi yang ditunjukkan pada Gambar 2.12
untuk menunjukkan hubungan cardinality.
20
Gambar 2.12 Crow’s Foot Notation
Sumber: (Kroenke, D., & Auer, D. 2012, pp. 163)
2.6.2. E-Commerce Database Application
Menurut Kroenke, D., & Auer, D. (2012, pp. 7). E-commerce
merupakan aplikasi database yang penting. Database merupakan sebuah
kunci komponen dari sebuah e-commerce order entry, billing, shipping,
customer support. Namun yang mengejutkan, database terbesar di situs ecommerce bukan data dari order-processing database. Melainkan
database terbesar merupakan data yang melakukan proses tracking
terhadap customer behavior.
2.7.
Unified Modelling Language (UML)
Unified Modelling Language (UML) merupakan bahasa yang digunakan
untuk menuliskan sebuah rancangan terhadap perangkat lunak yang sudah
menjadi standar bahasa dalam industri. UML sangat berguna terutama dalam
membangun sebuah sistem.
21
UML menyediakan berbagai macam pilihan diagram untuk menjelaskan
sebuah sistem, yaitu:
1. Use Case Diagram
Use Case Diagram adalah sebuah diagram yang menggambarkan interaksi
antara sistem dan sistem eksternal dan users. Dengan kata lain, Use case diagram
menjelaskan dengan gambar, siapa yang akan menggunakan sistem dan dengan
cara apa user berinteraksi dengan sistem tersebut. (Whitten and Bentley, 2007, pp.
246).
Gambar 2.13 Aktor
Sumber: (Whitten and Bentley, 2007, pp. 247)
Aktor merupakan segala sesuatu yang akan berhubungan dan berinteraksi
terhadap use case.
Gambar 2.14 Use Case
Sumber: (Whitten and Bentley, 2007, pp. 246)
Use Case merupakan deskripsi dari suatu tindakan atau aksi yang akan
dilakukan oleh aktor.
22
Gambar 2.15 Contoh Use Case Model Diagram
Sumber : (Whitten and Bentley, 2007, pp. 246)
Menurut Whitten and Bentley (2007, pp. 246-247) Use case memiliki
tujuan untuk menginisialisasi pada tahap requirements dan menyempurnakan life
cycle. Pada tahap requirement, use case dapat menjadi sebuah alat untuk
memberikan gambaran dasar tentang jalannya bisnis dan model pada suatu sistem.
Inheritance digunakan ketika terdapat dua atau lebih actor yang
melakukan inisiasi terhadap use case yang sama. Dengan inheritance, diciptakan
sebuah abstract actor yang dapat melakukan use case tersebut (bentuk
generalisasi dari actor-actor yang ada).
23
Gambar 2.16 Contoh penggunaan Inheritance pada Use Case
Sumber : (Whitten and Bentley, 2007, pp. 250)
Associations merupakan sebuah hubungan antara actor dengan sebuah use
case, dimana use case dapat dideskripsikan sebagai sebuah interaksi antara
mereka. Pada gambar 2.17 akan menunjukkan hubungan atau asosiasi yang
menggambarkan sebuah panah yang mengarah kepada use case.
Gambar 2.17 Contoh hubungan asosiasi
Sumber : (Whitten and Bentley, 2007, pp. 248)
Menurut Whitten and Bentley (2007, pp. 248) Use case mengandung
fungsionalitas yang kompleks yang terdiri dari beberapa langkah yang dapat
mempersulit dalam pemahaman. Untuk membuatnya lebih mudah untuk
dimengerti maka use case dapat di extract dengan sebuah hubungan yang disebut
extension.
24
Gambar 2.18 Contoh dari sebuah hubungan extends
Sumber : (Whitten and Bentley, 2007, pp. 248)
Menurut Whitten and Bentley (2007, pp. 249) Sebuah abstract use case
merepresentasikan sebuah form dari "reuse" dan merupakan alat yang baik untuk
mengurangi redundancy pada use case. Beberapa use case modeling
menggunakan kata includes. Biasanya abstract use case tidak didefinisikan pada
tahap requirements melainkan pada tahap analisis.
Gambar 2.19 Contoh dari hubungan uses atau includes
Sumber : (Whitten and Bentley, 2007, pp. 249)
25
2. Use Case Narrative
Menurut Whitten dan Bentley (2007, pp. 246), Use Case Narrative
merupakan deskripsi dalam bentuk teks dari
dan bagaimana user akan
berinteraksi dengan sistem dalam menyelesaikan sebuah tugas. Ketika sedang
mempersiapkan untuk membuat use case agar lebih mudah dalam memahami
events dari sistem.
Gambar 2.20 Contoh Use Case Narrative
Sumber : (Whitten and Bentley, 2007, pp. 249)
26
1.
Precondition adalah batasan dari kondisi/status sistem sebelum use
case dapat dieksekusi.
2.
Trigger adalah event yang menyebabkan eksekusi sebuah use case.
3.
Typical course of events adalah urutan biasa dari aktivitas yang
dilakukan aktor dan sistem untuk mencapai tujuan dari use case.
4.
Alternate courses adalah apabila terdapat pengecualian atau variasi dari
typical course yang terjadi.
5.
Conclusion adalah spesifikasi saat use case berhasil dieksekusi, saat
primary actor menerima suatu nilai yang terukur.
6.
Postcondition adalah batasan dari kondisi/status sebuah sistem setelah
use case berhasil dieksekusi.
7.
Business rules menspesifikasikan aturan dan prosedur bisnis di dalam
sistem yang baru.
8.
Implementation constraints and specifications menspesifikasikan
kebutuhan yang bersifat nonfungsional yang dapat mempengaruhi
realisasi use case, dapat berguna dalam perencanaan arsitektur dan
pencakupan.
9.
Assumptions adalah semua asumsi yang dibuat oleh creator saat
mendokumentasikan use case.
10.
Open issues adalah pertanyaan atau masalah yang harus diselesaikan
atau diteliti sebelum use case disetujui.
2. Activity Diagram
Activity Diagram adalah sebuah diagram yang dapat digunakan untuk
menggambarkan aliran proses bisnis, langkah-langkah use case. (Whitten and
Bentley, 2007, pp. 390). Contoh dari Activity Diagram dapat dilihat pada Gambar
2.21.
27
Gambar 2.21 Activity Diagram dari Enter New Member Order Use Case
Sumber : (Whitten and Bentley, 2007, pp. 392)
28
Tabel 2.1 Elemen dari Activity Diagram
(Sumber: Whitten and Bentley, 2007, pp. 391)
Simbol
Nama
Deskripsi
Initial
Lingakaran hitam merepresentasikan sebuah start dari
Node
sebuah proses
Activity
Flow
Simbol
yang
merepresentasikan
aktivitas
yang
dikerjakan individu pada activity diagram
Simbol yang menunjukkan arus atau aliran dari suatu
proses ke proses lain
Simbol yang sama digunakan untuk dua hal yang
Decision
and
Merge
berbeda, dimana Decision merupakan tanda adanya
percabangan mengenai aktivitas yang berbeda. Merge
mengindikasikan adanya penggabungan aktivitas
untuk kembali pada jalur yang sama setelah
sebelumnya dipisahkan oleh decision
Fork menggambarkan dua aktivitas yang akan
Fork and
berjalan
secara
paralel.
Join
menggambarkan
Join
bagaimana berakhirnya proses yang berjalan secara
paralel (dua arah)
2.8.
Activity
Simbol ini menunjukkan akhir dari proses pada
Final
sebuah activity diagram
Hypertext Preprocessor (PHP)
PHP singkatan dari Hypertext preprocessor yaitu bahasa pemograman web
server-side yang bersifat open source. PHP merupakan script yang terintegrasi
dengan HTML dan berada pada server (server side HTML embedded scripting).
29
PHP adalah script yang digunakan untuk membuat halaman website dinamis.
Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta
oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu
yang terbaru atau up to date. Semua script PHP dieksekusi pada server dimana
script tersebut dijalankan. (Anhar. 2010, pp. 3).
2.9.
MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
atau yang dikenal dengan DBMS (Database Management System), database ini
multithread, multi-user. MySQL merupakan turunan salah satu konsep utama
dalam database, yaitu SQL (Strcutured Query Language). SQL adalah sebuah
konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan
pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan
mudah secara otomatis. MySQL merupakan DBMS yang bersifat gratis dibawah
lisensi GNU General Public Licence (GPL). Pemrograman PHP juga sangat
mendukung dengan database MySQL. (Anhar. 2010, pp. 21).
Beberapa kelebihan MySQL menurut Solichin, A. (2011, pp. 85) antara
lain:
1. Free (bebas diunduh)
2. Stabil dan tangguh
3. Fleksibel dengan berbagai pemrograman
4. Security yang baik
5. Dukungan dari banyak komunitas
6. Kemudahan management database
7. Mendukung transaksi
8. Perkembangan software yang cukup cepat
2.10.
XAMPP
XAMPP merupakan sebuah alat untuk membangun sebuah distribusi
instalasi yang mudah bagi developer untuk masuk ke dunia Apache. Untuk
membuatnya developer nyaman, XAMPP dikonfigurasi dengan semua fitur yang
30
aktif. XAMPP juga bersifat open source yaitu gratis dan dapat diakses oleh
siapapun. Sampai saat ini sudah distribusikan untuk Windows, Linux, dan OS X.
(Apache Friends, 2015)
XAMPP merupakan perangkat lunak bebas (open source), yang
mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program.
Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas
program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang
ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan
singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl.
2.11.
JavaScript
Javascript adalah bahasa yang berbentuk kumpulan skrip yang pada
fungsinya berjalan pada suatu dokumen HTML, sepanjang sejarah internet bahasa
ini adalah bahasa skrip pertama untuk web. Bahasa ini adalah bahasa
pemrograman untuk memberikan kemampuan tambahan terhadap bahasa HTML
dengan mengijinkan pengeksekusian perintah perintah di sisi user, yang artinya di
sisi browser bukan di sisi server web. (Ahsan, A. 2011, pp. 2).
Berikut menunjukkan bahwa skrip tersebut adalah skrip dari JavaScript:
<script type="text/javascript">
</script>
Javascript bergantung kepada browser atau navigator yang memanggil
halaman web yang berisi skrip-skrip dari Javascript dan tentu saja terselip di
dalam dokumen HTML. Javascript juga tidak memerlukan kompilator atau
penterjemah khusus untuk menjalankannya (pada kenyataannya kompilator
Javascript sendiri sudah termasuk di dalam browser tersebut). (Ahsan, A. 2011,
pp. 2)
31
2.11.1. jQuery
jQuery adalah library atau kumpulan kode javascript. Dengan
menyederhanakan kode javascript dengan cara memanggil fungsi-fungsi
yang disediakan oleh jQuery. Manfaat dari jQuery antara lain (Sigit, A.
2010, pp. 1):
1. jQuery kompatible dengan banyak browser
2. jQuery mendukung semua versi CSS
3. Ukuran jQuery sangat kecil
4. Dokumentasi jQuery yang lengkap
5. Dukungan komunitas terhadap jQuery.
Berikut merupakan contoh penulisan skrip jQuery:
<script type="text/javascript">
$(document).ready(function(){
$('#submitSearch').click(function(){
$.post("action/doAddSearch.php",$("#mysearchform").serializ
e(), function(response){ });
return true;
});
});
</script>
2.12.
Bootstrap
Bootstrap merupakan sebuah framework CSS, yang menyediakan
kumpulan komponen-komponen antarmuka dasar dalam membangun website.
Selain komponen antarmuka, Bootstrap juga menyediakan sarana untuk
membangun layout halaman dengan menarik dan responsive. Bootstrap
merupakan CSS-Driven yang dapat memasukkan sejumlah plugin JavaScript dan
icons yang berjalan seiringan dengan forms dan buttons. Dengan demikian
membangun sebuah website dapat sesuai kebutuhan dengan memilih CSS dan
JavaScript yang tepat. Semua ini dapat membantu frontend-web development
untuk terus maju dan berkembang dalam membangun landasan yang stabil
mengenai pandangan kedepan tentang desain dan development. (Spurlock, J.
2013, pp. 1).
32
Berikut merupakan struktur file dari Bootstrap:
Gambar 2.22 Struktur file Bootstrap
Sumber: (Spurlock, J. 2013, pp. 2)
2.12.1. Responsive Web Design
Responsive Web Design (RWD) “Write Once, Run Everywhere”
merupakan gaya desain website yang menyediakan pengalaman dalam
mengakses pada salah satu situs web disemua perangkat, terlepas dari
apakah audiens mengunjungi situs web menggunakan mobile, tablet,
komputer, ataupun perangkat lainnya. Desain responsive adalah metode
untuk mengambil semua konten yang ada di halaman dan mengoptimalkan
untuk perangkat yang melihatnya. Misalnya, desktop tidak hanya
mendapatkan versi normal dari situs web, tetapi juga mungkin
mendapatkan tata letak layar lebar (wide screen). Untuk target yang
memiliki perbedaan width, bootstrap memakai CSS media queries untuk
mengukur lebar dari browser viewport dan dengan menggunakan beberapa
kondisi
yang
dapat
mengubah
bagian
dari
stylesheet.
Dengan
menggunakan lebar dari browser viewport, Bootstrap dapat melakukan
optimisasi dengan konten menggunakan kombinasi ratio dan widths, tetapi
sebagian besar bergantung pada min-width dan max-width properties
(Spurlock, J. 2013, pp. 7).
33
2.13.
Version Control System (VCS)
Version control adalah sebuah sistem yang mencatat setiap perubahan
terhadap sebuah berkas atau kumpulan berkas sehingga pada suatu saat dapat
kembali kepada salah satu versi dari berkas tersebut. Version control system
(VCS) memberikan fitur untuk melakukan proses pengembalian pada file dengan
state sebelumnya, membandingkan setiap perubahan yang terjadi, melihat siapa
yang terakhir melakukan modifikasi pada suatu file yang menjadikan error, siapa
yang menemukan issue dan kapan. Menggunakan VCS pada umumnya
mengartikan bahwa setiap data yang mengalami perubahan dan kehilangan, dapat
dengan mudah untuk diatasi dan dikembalikan. (Chacon, S., 2014, pp. 27).
Secara umum VCS terbagi menjadi 3 jenis yaitu:
a.
Local Version Control Systems
Developer melakukan backup file-file kerjanya secara
manual ke suatu tempat yang telah disediakan. Developer
menentukan sendiri dimana tempat untuk penyimpanan file-file
tersebut. Hal ini merupakan penggunaan VCS yang paling primitif
dan secara tidak sadar, digunakan oleh developer yang belum
mengenal atau menggunakan modern VCS. Ilustrasi mengenai
skema local VCS dapat dilihat pada gambar 2.23.
Gambar 2.23 Local Version Control Systems
34
Sumber: Chacon, S. (2014, pp. 28)
b.
Centralized Version Control System
Jenis ini lebih modern dari local VCS karena telah
berhubungan dengan sistem, tidak ditangani oleh developer.
Tugas-tugas seperti aktivitas backup file, melacak versi, dan
menentukan skema penyimpanan dilakukan oleh sistem. Jadi
developer tidak perlu dipusingkan dengan pekerjaan-pekerjaan
yang seharusnya bukan menjadi tugasnya. Sesuai dengan namanya
centralized VCS yaitu dengan sitem terpusat. Sistem ini
menggunakan tempat penyimpanan utama yang bisa disebut
dengan repository, repo ataupun database. Jenis ini juga biasanya
disebut dengan client server model. Ilustrasi mengenai skema
centralized VCS dapat dilihat pada gambar 2.24.
Gambar 2.24 Centralized Version Control Systems
Sumber: Chacon, S. (2014, pp. 29)
c.
Distributed Version Control Systems
Jenis ini merupakan modern VCS sama dengan centralized
VCS,
cara
menggunakan
komunikasi
model
yang
berbeda.
terdistribusi
dimana
Distributed
VCS
repository
yang
digunakan ada pada setiap mesin yang terlibat dalam VCS.
35
Ilustrasi mengenai skema
distributed VCS dapat dilihat pada
gambar 2.25.
Gambar 2.25 Distributed Version Control Systems
Sumber: Chacon, S. (2014, pp. 29)
Dari ilustrasi mengenai distributed VCS dan centralized VCS,
perbedaan utama yang tampak adalah jumlah repository yang digunakan.
Perbedaan ini dapat berpengaruh pada cara pengelolaan proyek yang
sedang dibangun. Cara pengelolaan meliputi alur kerja (workflow) dan
juga model pencabangan (branching model).
2.13.1. Bitbucket Server
Bitbucket merupakan sebuah layanan Git yang memungkinkan
untuk menggunakan distributed version control system yang memudahkan
untuk melakukan kolaborasi dengan tim. Melakukan code review untuk
efisiensi dengan fitur pull request. Berdiskusi mengenai source code
dengan inline comments yang dapat dilihat pada gambar 2.26. Bitbucket
juga menawarkan repository private dan public secara gratis dengan
jumlah maksimal adalah 5 repository. (Bitbucket.org, 2015).
36
Gambar 2.26 Fitur dari Bitbucket
Sumber: Atlassian Bitbucket, Bitbucket.org, 2015
2.13.2. SourceTree Git & Mercurial client
SourceTree merupakan Git dan Mercurial client/ SourceTree
memiliki fitur full-powered (distributed version control system) DVCS
sehingga akan mempermudah dengan adanya aplikasi desktop yang dapat
mengatur seluruh repository, hosted maupun local dengan interface dari
SourceTree. SourceTree memungkinkan untuk melakukan create, clone,
commit, push, pull, merge, dan masih banyak lagi. (SourceTree, 2015).
Berikut merupakan contoh interface dari aplikasi SourceTree yang dapat
dilihat pada gambar 2.27.
37
Gambar 2.27 Interface dari SourceTree
2.14.
Content Management System (CMS)
Sebuah
CMS adalah perangkat lunak yang memungkinkan Anda untuk membuat,
mengedit, dan mempublikasikan konten. Pada awalnya software CMS digunakan
untuk mengelola dokumen dan file komputer lokal, sebagian besar sistem CMS
sekarang dirancang khusus untuk mengelola konten di Web. Tujuan dari CMS
adalah untuk menyediakan user interface yang intuitif untuk membangun dan
memodifikasi konten halaman web. Setiap CMS juga menyediakan web
publishing yang memungkinkan satu atau lebih pengguna untuk melakukan
pengaturan pada konten. (TechTerms, 2013).
38
Download