bab 2 landasan teori - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2012-1-00697-if...
TRANSCRIPT
6
BAB 2
LANDASAN TEORI
2.1 Sistem
Sistem terdiri dari unsur-unsur seperti masukan (input), pengolahan (processing),
serta keluaran (output). Sistem adalah kelompok elemen-elemen yang terintergrasi
dengan maksud yang sama untuk mencapai suatu tujuan.
Dengan demikian, sistem dapat diartikan sebagai suatu kumpulan atau himpunan
dari unsur atau variabel-variabel yang saling terorgansisasi, saling bergantung satu sama
lain.
2.2 Analisis Sistem
Analisis sistem didefinisikan sebagai bagaimana memahami dan menspesifikasi
dengan detail apa yang harus dilakukan oleh sistem.
Tahapan Analisis Sistem :
1. Mengidentifikasi Masalah
Identifikasi masalah merupakan langkah awal dari analisis sistem. Dalam tahap
ini didefinisikan masalah yang harus dipecahkan dengan munculnya pertanyaan yang
ingin dipecahkan.
2. Memahami Kerja Sistem yang Ada
Langkah ini dilakukan dengan mempelajari secara rinci bagaimana sistem yang
sudah ada berjalan. Untuk mempelajari operasi dari sistem ini diperlukan data yang
dapat diperoleh dengan melakukan penelitian terhadap sistem.
7
3. Menganalisis Sistem
Berdasarkan data yang sudah diperoleh maka dilakukan analisa hasil penelitian
yang sudah dilakukan untuk mendapatkan pemecahan masalah yang akan dipecahkan
4. Membuat Laporan
Laporan perlu dibuat sebagai dokumentasi dari penelitian. Tujuan utamanya
adalah sebagai bukti secara tertulis tentang hasil analisa yang sudah dilakukan.
2.3 Internet
Menurut Aji Supriyanto (2005,p336), internet adalah sebuah jaringan komputer
global, yang terdiri dari jutaan komputer yang saling terhubung dengan menggunakan
protokol yang sama untuk berbagi informasi secara bersama.
Internet berawal di tahun 1969 dengan nama ARPANET ( ARPA singkatan dari
Advanced Research Project Agency dari Departemen Pertahanan AS ) yang berupa
sambungan empat komputer pada kontraktor pertahanan dan universitas yang berbeda.
Kemudian, jaringan meluas menjadi 62 komputer pada tahun 1974, 500 komputer di
tahun 1983, dan berjumlah 28.000 pada 1987. (Williams dan Sawyer,p50)
2.4 World Wide Web (WWW)
World Wide Web (WWW) merupakan sistem terkoneksi server internet yang
mendukung dokumen-dokumen berformat multimedia, teks, suara, foto, dan video.
(William dan Sawyer, 2007,p44)
World Wide Web (WWW) dapat mengakses informasi-informasi yang tidak
hanya berupa teks, namun berupa gambar, video, dan animasi.
8
Beberapa istilah yang berhubungan dengan World Wide Web (WWW) :
• Hyperlink, merupakan teks atau gambar yang berkaitan dengan file lain atau
bagian lain suatu file pada situs yang sama atau berbeda.
• HTML (HyperText Markup Languange) merupakan tagging yang digunakan
untuk membuat kode file halaman web agar dapat memiliki tampilan yang
beragam pada komputer.
• HTTP (HyperText Transfer Protocol) merupakan protokol komunikasi yang
digunakan untuk mengakses WWW (World Wide Web).
• Web Browser adalah perangkat lunak seperti Mozila Firefox yang digunakan
untuk mengakses halaman web.
2.5 Model Waterfall
Model waterfall mengusulkan sebuah pendekatan pengembangan perangkat
lunak yang sistematik dan sekuensial. Di mulai pada tingkat serta kemajuan seluruh
sistem analisis, desain, kode, pengujian, dan pemeliharaan. (Roger S. Presman, p37)
Model waterfall adalah paradigma rekayasa perangkat lunak yang paling luas
dipakai dan paling tua.
9
Gambar 2.1 Model Waterfall
Dapat dilihat pada gambar 2.1 tahapan-tahapan dari model waterfall sebagai
berikut :
a. System engineering, dimulai dengan membangun syarat dari semua elemen
sistem dan mengalokasikan beberapa subset dari kebutuhan keperangkat
lunak tersebut.
b. Analysis, proses pengumpulan kebutuhan diintensifkan dan difokuskan,
khususnya pada perangkat lunak.
c. Design, desain perangkat lunak sebenarnya adalah proses multi langkah
yang berfokus pada empat atribut sebuah program yang berbeda : struktur
data, arsitektur perangkat lunak, representasi interface, dan detail
(algoritma) prosedural.
d. Code, desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca.
e. Testing, proses pengujian berfokus pada logika internal perangkat lunak,
memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal
fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-
10
kesalahan dan memastikan bahwa input yang dibatasi akan memberikan
hasil aktual yang sesuai dengan hasil yang dibutuhkan.
f. Maintenance, perangkat lunak akan mengalami perubahan setelah
disampaikan kepada pelanggan. Perubahan akan terjadi karena harus
disesuaikan dengan perubahan di dalam lingkungan eksternalnya (contohnya
sistem operasi yang baru). Pemeliharaan perangkat lunak mengaplikasikan
lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
2.6 Unified Modeling Languange (UML)
OOA (Object Oriented Analysis) adalah pendekatan yang digunakan untuk
mempelajari objek yang sudah ada untuk mengetahui apakah mereka dapat digunakan
kembali atau diadaptasi untuk pemakaian baru.
Objek modeling adalah teknik untuk mengidentifikasi objek di dalam lingkungan
sistem dan mengidentifikasi hubungan antara objek-objek tersebut.
UML (Unified Modeling Languange) adalah satu kumpulan konvensi pemodelan
yang digunakan untuk menentukan atau menggambarkan sebuah sistem perangkat lunak
yang terkait dengan objek. (Bentley, Whitten, & Dittman, 2007)
Menurut Sun Microsystems Inc, UML (Unified Modeling Languange) adalah
bahasa nyata (grafis) untuk menggambarkan, menetapkan, membangun, dan
mendokumentasikan sesuatu (benda) pada sebuah sistem perangkat lunak secara
intensif. (Aji Supriyanto, 2005, P222)
UML(Unified Modeling Languange) menawarkan sebuah standar untuk
merancang model sebuah sistem. Dengan menggunakan model, diharapkan
pengembangan perangkat lunak dapat memenuhi semua kebutuhan pengguna dengan
11
lengkap dan tepat, termasuk faktor-faktor seperti lingkup (scalability), kemampuan
(robustness), keamanan (security), dan sebagainya.
Notasi UML (Unified Modeling Languange) merupakan sekumpulan bentuk
khusus untuk menggambarkan berbagai diagram perangkat lunak. Notasi UML (Unified
Modeling Languange) diturunkan dari 3 notasi yang ada sebelumnya, Object-Oriented
Design (OOD) dari Grady Booch, Object Modeling Technique (OMT) dari Jim
Rumbaugh, dan Ivar Jacobson, Object-Oriented Software Design (OOSE) dari Jacobson.
Pengembangan UML (Unified Modeling Languange) dimulai pada Oktober 1994
oleh Booch dan Rumbaugh, Jacobson bergabung pada musim gugur 1995. Sejak tahun
1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG).
UML (Unified Modelling Languange) kini telah menjadi standar bahasa permodelan
untuk aplikasi berorientasi objek.
2.6.1 Use Case Diagram
Use case diagram adalah diagram yang menggambarkan interaksi sistem
sebagai sebuah kumpulan use case, pelaku (pengguna), dan hubungan keduanya.
Dapat dilihat pada gambar 2.2 use case mengkomunikasikan lingkup kejadian
bisnis yang diproses oleh sistem. Use case narrative adalah deskripsi tekstual
tentang kejadian bisnis dan bagaimana pengguna berinteraksi dengan sistem
untuk menyelesaikan tugas.
Use case adalah urutan langkah-langkah yang secara tindakan saling
terkait (skenario), baik terotomatisasi maupun secara manual
12
Gambar 2.2 Use Case
1. Aktor
Use case diawali oleh pengguna eksternal yang dinamakan aktor. Aktor
adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran
informasi.
Ada empat macam tipe aktor :
a) Primary business actor – stakeholder yang terutama mendapatkan
keuntungan dari pelaksanaan use case dengan menerima nilai
yang terukur atau terobservasi.
b) Primary system actor – stakeholder yang secara langsung
berhadapan dengan sistem untuk menginisiasi atau memicu
kegiatan atau sistem.
13
c) External server actor – stakeholder yang melayani kebutuhan
pengguna use case.
d) External receiving actor – stakeholder yang bukan pelaku utama,
tapi menerima nilai yang terukur atau teramati dari use case.
2. Relationship
Pada diagram use case, hubungan digambarkan sebagai garis antara dua
simbol. Pemaknaan hubungan berbeda-beda tergantung bagaimana garis tersebut
digambar dan tipe simbol apa yang digunakan untuk menghubungkan garis
tersebut.
a) Association, yaitu hubungan antara aktor dengan use case dimana
terjadi interaksi di antara mereka.
b) Extension use case, yaitu use case yang terdiri dari langkah yang
diekstraksi dari use case yang lebih kompleks untuk
menyederhanakan masalah original dan karena itu memperluas
fungsinya.
c) Abstract use case, yaitu use case yang mengurangi redundansi
antara dua atau lebih use case lain dengan menggabungkan
langkah-langkah yang biasa ditemukan pada use case tersebut.
2.6.2 Activity Diagram
Activity diagram seperti pada gambar 2.3 secara grafis digunakan untuk
menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case.
Diagram ini juga dapat digunakan untuk memodelkan aksi yang akan dilakukan
saat sebuah operasi dieksekusi, dan memodelkan hasil dari aksi tersebut.
14
Gambar 2.3 Activity Diagram
2.6.4 Sequence Diagram
Sequence diagram seperti terlihat pada gambar 2.4 secara grafis
menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui
pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan
bagaimana pesan terkirim dan diterima diobjek dan dalam rangkaian apa.
15
Gambar 2.4 Sequence Diagram
2.6.4 Class Diagram
Class adalah satu set objek yang memiliki atribute dan behavior yang
sama. Class diagram menggambarkan struktur objek sistem. Diagram ini
menunjukkan kelas objek yang menyusun sistem dan juga hubungan antara kelas
objek dapat dilihat di gambar 2.5
Gambar 2.5 Class Diagram
16
Class memiliki tiga area pokok (gambar 2.6):
1. Nama (dan stereotype)
2. Attribute, yaitu data yang mewakili karakteristik interest tentang
sebuah objek
3. Behavior, yaitu kumpulan dari sesuatu yang dapat dilakukan oleh
objek dan terkait dengan fungsi-fungsi yang bertindak pada data
objek (atau atribut)
Gambar 2.6 Area Pokok Class Diagram
Atribute dan behaviour dapat memiliki salah satu sifat berikut :
a. Private, tidak dapat dipanggil dari luar class yang bersangkutan.
Ditunjukkan dengan simbol “ - ”.
b. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
anak-anak yang mewarisinya. Ditunjukkan dengan simbol “ # ”.
c. Public, dapat dipanggil oleh siapa saja. Ditunjukkan dengan simbol “
+ ”.
Hubungan antar class adalah asosiasi bisnis antara satu objek kelas atau
lebih. Beberapa hubungan antar kelas, antara lain:
a. Generalization dan Inheritance (gambar 2.7), diperlukan untuk
memperlihatkan hubungan pewarisan (Inheritance) antar unsur
17
dalam diagram kelas. Pewarisan memungkinkan suatu kelas
mewarisi semua atribut, operasi, relasi, dari kelas yang berada dalam
hirarki pewarisannya dapat dilihat di.
Gambar 2.7 Hubungan Generalisasi dan Pewarisan
b. Association (gambar 2.8), hubungan statis antar kelas. Umumnya
menggambarkan kelas yang memiliki atribut berupa kelas lain, atau
kelas yang harus mengetahui eksistensi kelas lain.
Gambar 2.8 Hubungan Asosiasi
c. Aggregation (gambar 2.9), yaitu sebuah hubungan dimana satu kelas
“whole” yang lebih besar berisi satu atau lebih kelas “part” yang
lebih kecil, atau kelas “part” yang lebih kecil adalah bagian dari
kelas “whole” yang lebih besar.
18
Gambar 2.9 Hubungan Agregasi
d. Composition (gambar 2.10), yaitu hubungan agregasi di mana
“whole” bertanggung jawab atas pembuatan dan perusakan “bagian-
bagian”. Jika “whole” rusak, maka “part” juga akan rusak.
Gambar 2.10 Hubungan Composition
2.7 Entity Relationship Diagram (ERD)
Entity Relationship Diagram digunakan untuk mengidentifikasi data yang
diambil, disimpan, dan dipanggil kembali (retrieve) untuk keperluan-keperluan tertentu
dalam mendukung kegiatan yang dilakukan oleh organisasi.
Terlihat pada gambar 2.11 ERD merupakan representasi data sebagai entitas,
atribut, dan relasi. Entitas menggambarkan kumpulan dari berbagai data. Entitas
biasanya dilambangkan dengan menggunakan kotak segi empat. Atribut merupakan unit
19
terkecil dari data yang dapat menjelaskan apa yang dimiliki oleh suatu entitas. Relasi
menjelaskan keterkaitan di antara dua entitas yang berbeda.
Sifat relasi antar entitas (tabel 2.1) dapat dibedakan menjadi tiga jenis, yaitu :
a. One to One Relationship
terjadi jika setiap entitas dalam suatu himpunan entitas hanya berhubungan
dengan satu entitas pada himpunan entitas lain, dan sebaliknya.
b. One to Many Relationship
terjadi jika setiap entitas dalam suatu himpunan entitas dapat berhubungan
dengan beberapa entitas pada himpunan entitas lain, tetapi tidak sebaliknya.
c. Many to Many Relationship
terjadi jika setiap entitas dalam suatu himpunan entitas dapat berhubungan
dengan beberapa entitas pada himpunan entitas lain, demikian juga sebaliknya.
Simbol Uraian
Hubungan satu ke satu
Hubungan satu atau
lebih
Hubungan many
Hubungan satu (optional)
Hubungan many
(optional)
Tabel 2.1 Relationship ERD
20
Masing-masing entitas memiliki primary / foreign key. Relasi menghubungkan
antara primary / foreign key yang ada pada entitas. Primary / foreign key harus dapat
membedakan semua row ( baris data ) dalam suatu entitas dan harus memiliki karakter
yang unik.
Gambar 2.11 Entity Relationship Diagram (ERD)
(Marimin, Tandjung, & Prabowo, 2006)
2.8 Interaksi Manusia dan komputer
Interaksi manusia dan komputer adalah sebuah disiplin ilmu yang mempelajari
rancangan, implementasi dan evaluasi sistem komputasi interaktif dan berbagai aspek
terkait. (Santoso, 2009)
2.8.1 The Eight Golden Rules
Menurut Ben Shneiderman delapan aturan emas dalam pembuatan desain
interaksi antarmuka penguna adalah sbb :
1. Konsistensi yang ketat dalam sequence, tampilan, terminologi dan
penggunaan command.
21
2. Membuat shortcut sehingga pengguna dapat sampai ke halaman yang
dituju tanpa melewati halaman lain.
3. Adanya umpan balik yang informatif.
4. Merancang dialog atau langkah langkah agar pengguna dapat
menyelesaikan suatu aksi.
5. Meminimalisir human error dengan memberikan pesan error.
6. Mempermudah untuk kembali ke tindakan sebelumnya.
7. Adanya tempat pengendalian internal (locus of control)
8. Mengurangi kesalahan ingatan jangka pendek dengan membuat
halaman sesederhana mungkin dan mudah dimengerti.
2.9 Rekayasa Perangkat Lunak
Perangkat lunak adalah perintah (program komputer) yang bila dieksekusi
memberikan fungsi dan unjuk kerja seperti yang diinginkan. Struktur data yang
memungkinkan program memanipulasi informasi secara proposional, dan dokumen yang
menggambarkan operasi dan kegunaan program.(Pressman,1997,p10)
Rekayasa perangkat lunak adalah aplikasi dari sebuah pendekatan kuantifiabel,
disiplin, dan sistematis kepada pengembangan, operasi, dan pemeliharaan perangkat
lunak : yaitu aplikasi dari Rekayasa Perangkat Lunak. (Pressman,1997,p28)
2.9.1 Karakteristik Rekayasa Perangkat Lunak
Karakteristik rekayasa perangkat lunak menurut Roger S Pressman
(1997,p10) adalah sebagai berikut ;
1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk
yang klasik
22
Dalam aktivitasnya, kualitas yang tinggi dicapai melalui perancangan
yang baik, tetapi di dalam fase pembuatan perangkat keras, ditemukan masalah
kualitas yang tidak mudah untuk di sesuaikan dengan perangkat lunak.
2. Perangkat lunak tidak pernah usang
Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang
merusak yang menyebabkan perangkat keras menjadi usang. Aspek lain dari
keusangan menggambarkan perbedaan antara perangkat keras dan perangkat
lunak. Bila komponen suatu perangkat keras telah usang komponen dapat diganti
dengan suku cadangnya. Namun tidak ada ada suku cadang bagi perangkat lunak,
biasanya hanya penurunan kualitas.
3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak
dapat dirakit dari komponen yang sudah ada
Perangkat lunak tidak dibuat dari komponen yang sudah ada, berbeda
dengan perangkat keras yang dapat dibuat dari komponen yang sudah ada.
2.10 Database
Database atau basis data adalah sekumpulan data yang memiliki hubungan secara
logika dan diatur dengan susunan tertentu serta disimpan dalam media penyimpanan
komputer. Data itu sendiri adalah representasi dari semua fakta yang ada pada dunia
nyata. Database sering digunakan untuk melakukan proses terhadap data tersebut untuk
menghasilkan informasi tertentu.
Dalam database ada istilah untuk satuan data yaitu :
• Karakter, ini adalah satuan data terkecil. Data terdiri atas susunan karakter
yang pada akhirnya mewakili data yang dimiliki arti dari sebuah fakta.
23
• Field, adalah kumpulan dari karakter yang mewakili fakta tertentu misalnya
seperti nama siswa, tanggal lahir, dan lain lain.
• Record, adalah kumpulan dari field.
• Tabel, adalah kumpulan dari records yang memiliki kesamaan entitiy dalam
dunia nyata. Kumpulan dari tabel adalah database, wujud fisik sebuah
database dalam komputer adalah sebuah file yang didalamnya terdapat
berbagai tingkatan data.
• File, adalah bentuk fisik dari penyimpanan data.
2.10.1 Sistem Database
Sebuah sistem database adalah sebuah kumpulan dari komponen-
komponen database yang meliputi :
• Database
• Database server
• Komponen client software
• Aplikasi database
Aplikasi database adalah sebuah perangkat lunak khusus yang didesain
dan digunakan oleh pengguna atau pihak lainnya seperti penyedia jasa
pemrograman atau konsultan.
24
2.11 E-Commerce
“Electronic commerce is an emerging concept that describes the process of
buying and selling or exchanging of products, services and information via
telecommunication and computer networks including internet” (Bhusry, 2008, p. 3)
Menurut Dian Wirdasari dalam jurnalnya yang berjudul Teknologi E-Commerce
Dalam Proses Bisnis. E-Commerce dapat didefinisikan sebagai segala bentuk transaksi
perdagangan/perniagaan barang atau jasa dengan menggunakan media elektronik. Pada
dasarnya e-commerce merupakan dampak dari berkembangnya teknologi informasi dan
telekomunikasi, sehingga secara signifikan mengubah cara manusia melakukan interaksi
dengan lingkungannya, yang dalam hal ini adalah terkait dengan mekanisme dagang. E-
Commerce bukanlah hanya mekanisme penjualan barang atau jasa melalui medium
internet, tetapi lebih pada sebuah tranformasi bisnis yang mengubah cara-cara
perusahaan dalam melakukan aktifitas usahanya sehari-hari.
Kalakota dan Whinston mendefinisikan e-commerce dari berbagai sudut pandang
• Dari sudut pandang komunikasi, e-commerce adalah penyampaian
informasi, produk/servis, pemesanan dan pembayaran melalui saluran
telepon, jaringan computer atau peralatan elektronik lainnya.
• Dari sudut pandang bisnis, e-commerce adalah pengunaan teknologi yang
mengotomatisasi transaksi bisnis dan workflow.
• Dari sudut pandang service e-commerce adalah “a tool that caters to the
need of firm, consumers and management to cut down the transaction costs
while improving the quality of goods/services and increasing the speed of
delivery”
25
• Dari sudut pandang online, e-commerce meningkatkan kemampuan
membeli dan menjual produk dan informasi di internet dan online servis
lainnya.
2.11.1 Keuntungan dan Kerugian E-Commerce
1. Keuntungan E-Commerce
Bagi Perusahaan :
- Memperpendek jarak
- Perluasan pasar
- Perluasan jaringan mitra bisnis dan efisiensi
- Mempercepat pelayanan ke pelanggan
- Mengurangi biaya administrasi sehingga dapat meningkatkan
pendapatan
Bagi Konsumen :
- Efektif
- Aman secara fisik
- Flexible
2. Kerugian E-Commerce
Meningkatkan individualism, pada perdagangan elektronik
seseorang dapat bertransaksi dan mendapatkan barang atau jasa yang
diperlukan tanpa bertemu dengan siapapun. Terkadang menimbulkan
kekecewaan, apa yang dilihat di layar monitor kadang berbeda dengan
apa yang dilihat secara kasat mata.
26
2.11.2 Jenis E-Commerce
1. Business to Business (B2B) E-Commerce
B2C bertujuan untuk menjual barang atau jasa ke pembisnis yang
akan menjual barangnya kembali kepada end user. Biasanya yang
menggunakan e-commerce jenis ini adalah e-commerce yang dimiliki
oleh produsen besar.
2. Business to Consumer (B2C) E-Commerce
B2C adalah consumer oriented e-commerce dimana tujuannya
adalah untuk menjual produk atau servis ke end user. Berbagai macam
jenis barang atau jasa yang dapat dijual di internet seperti travel, buku,
musik, pakaian, perangkat keras komputer, software dan lain-lain.
Berdasarkan dari nilai barang, proses dan pembayaran, e-commerce yang
digunakan mungkin pure atau partial.
B2C e-commerce, tergantung strategi marketing yang digunakan
dapat dikategorikan kedalam bisnis model berikut ini :
1. Direct dan indirect marketing
2. Full cyber marketing dan partial cyber marketing
3. Proactive dan reactive strategies
4. Electronic intermediaries
27
3. Consumer to Business (C2B) E-Commerce
Dalam jenis ini konsumen memberitahukan kebutuhan atas suatu
produk atau jasa tertentu, dan para pemasok bersaing untuk
menyediakan produk atau jasa tersebut ke konsumen. Contohnya di
priceline.com dimana pelanggan menyebutkan produk dan harga yang
diinginkan, dan priceline.com mencoba menemukan pemasok yang
memenuhi kebutuhan tersebut.
4. Consumer to Customer (C2C) E-Commerce
Dalam C2C seseorang menjual produk atau jasa ke orang lain.
Dapat juga disebut sebagai pelanggan ke pelanggan yaitu orang yang
menjual produk atau jasa ke satu sama lain.
Di beberapa negara, penjualan dan pembelian C2C dalam situs
lelang sangat banyak. Kebanyakan sering dilakukan oleh perantara
seperti eBay.com, greatshop.com dan yang lainnya.
2.12 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 AB membuat MySQL tersedia sebagai perangkat lunak gratis di
bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah
lisensi komersial untuk kasus – kasus yang bersifat khusus. (Huda, p. 181)
Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan
database server lainnya terutama dalam kecepatan. Berikut ini beberapa keistimewaan
MySQL, antara lain :
28
1. Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak
lagi.
2. Multi user
MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
3. Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnet mask,
nama host, dan izin akses user dengan sistem perizinan yang mendetail serta
password terenkripsi.
4. Scalability dan limits
MySQL mampu menangani database dalam skala besar, dengan jumlah
records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas
index yang dapat ditampung mencapai 32 indeks tiap tabelnya. (Huda, p. 182)
2.13 PHP
PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa
pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu
data dan mengirimkannya kembali ke web browser menjadi kode HTML. Kode PHP
mempunyai ciri-ciri khusus, yaitu :
a. Hanya dapat dijalankan menggunakan web server, misal : Apache.
b. Kode PHP diletakan dan dijalankan di web server.
29
c. Kode PHP dapat digunakan untuk mengakses database, seperti : MySQL,
PostgreSQL, Oracle, dan lain lain.
d. Merupakan software yang bersifat open source.
e. Gratis untuk di download dan digunakan.
f. Memiliki sifat multiplatform, artinya dapat dijalankan menggunakan sistem
operasi apapun. (Oktavian, 2010, p. 30)
Kelebihan PHP :
a. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaaanya.
b. Web server yang mendukung PHP dapat ditemukan dimana-mana dan dari
mulai Apache, IIs, Lighttpd, hingga Xitami dengan konfigurasi yang relatif
mudah.
c. Dalam sisi pemahaman. PHP adalah bahasa scripting yang paling mudah
karena memiliki referensi yang banyak.
d. Dalam sisi pengembangan lebih mudah, karena banyaknya milis dan
developer yang siap membantu dalam pengembangan.
PHP memiliki beberapa tipe data yaitu :
� Integer
� Double
� Bolean
� String
� Object
� Array
� Null
30
� Nill
� Resource
(PHP, 2012)
2.13.1 Sejarah PHP
Ketika pertamakali dibuat tahun 1995 oleh Rasmus Lerdroft, PHP adalah
bahasa pemrograman script sederhana yang digunakan untuk pemrosesan HTML
form di dalam web page. Strukturnya sangat sederhana sehingga PHP dapat
dengan mudah dipelajari programmer pemula. Bahkan oleh orang-orang dengan
latar belakang non-TI. Hal inilah yang menyebabkan PHP sangat cepat popular
di kalangan pengembang aplikasi web.
Seiring dengan perkembangan internet yang ditandai dengan maraknya
dotcom dan e-commerce, Aplikasi web juga berkembang menjadi semakin
kompleks, kemudian timbul inisiatif di komunitas pengguna PHP untuk
menyempurnakan struktur bahasa pemrograman PHP. Ini dimulai dengan PHP3
yang dirilis tahun 1998. Kemudian dilanjutkan dengan PHP4 pada tahun 2000,
PHP5 pada tahun 2004.
2.14 HTML
HTML pertama kali dibuat oleh Tim Berners Lee bersama dengan Robert
Cailllau saat bekerja di CERN tahun 1989. Pada saat ini organisasi bersama World Wide
Web Consortium (W3C) bertanggung jawab untuk mengawasi dan mengupdate dalam
spesifikasi HTML. (David & Christine, 2003)
31
HTML (Hyper Text Markup Languange) adalah sekumpulan simbol-simbol atau
tag-tag yang dituliskan dalam sebuah file yang digunakan untuk menampilkan halaman
pada web browser. Tag-tag HTML selalu diawali dengan <x> dan diakhiri dengan </x>
dimana x tag HTML seperti b,i,u,dll.
2.15 CSS
CSS (Cascading Style Sheet) adalah suatu bahasa stylesheet yang digunakan
untuk mengatur style suatu dokumen. Pada umumnya CSS dipakai untuk memformat
tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML.
CSS memungkinkan web developer untuk memisahkan HTML dari aturan–
aturan untuk membentuk tampilan sebuah website. Namun terkadang, banyak orang
yang baru belajar HTML menganggap remeh kekuatan dan fleksibilitas dari sebuah css.
CSS diperkenalkan untuk pengembangan website Pada tahun 1996. Nama CSS
didapat dari fakta bahwa setiap deklarasi style yang berbeda dapat diletakan secara
berurutan, yang kemudian akan membentuk hubungan parent-child pada setiap style.
Setelah CSS distandarisasikan, Internet Exploler dan Netscape melepas browser
terbaru mereka yang telah sesuai atau paling tidak hampir mendekati dengan standar
CSS.
CSS adalah sebuah dokumen yang berdiri sendiri dan dapat dimasukan dalam
kode HTML atau sekedar menjadi rujukan oleh HTML dalam pendefinisian style. CSS
menggunakan kode-kode yang tersusun untuk menetapkan style pada elemen HTML
atau dapat juga digunakan untuk membuat style baru yang biasa disebut class.
CSS dapat mengatur ukuran teks, warna background pada sebuah halaman juga
dapat mengubah warna border pada tabel dan lainnya.
32
Berikut ini beberapa alasan mengapa para web developer selalu memakai CSS
untuk memberikan style pada situs yang dibuatnya :
• CSS dapat memecahkan masalah keseragaman style pada dokumen HTML
• CSS meringankan pekerjaan dalam memformat seluruh dokumen.
• Multiple style akan tersimpan dalam satu dokumen.
(Sulistyawan, Rubianto, & Saleh, 2008, p. 33)
Tiga cara menggunakan multiple style sheets dalam dokumen HTML :
1. External style sheet
2. Internal style sheet
3. Inline style sheet
Fakta Penggunaan CSS
• Telah didukung oleh kebanyakan browser versi baru, tetapi tidak didukung
browser-browser versi lama.
• Lebih fleksible dalam penempatan posisi layout dalam layouting CSS.
• Menjaga HTML dalam penggunaan tag yang minimal, hal ini berpengaruh
terhadap ukuran file dan kecepatan download.
• Dapat menampilkan konten utama terlebih dahulu, sementara gambar dapat
ditayangkan sesudahnya.
• Penerjemahan CSS setiap browser berbeda, tata letak akan berubah jika
dilihat di berbagai browser.
• CSS adalah layouting “Masa Depan” dengan penggabungan bersama
XHTML.
(Purnama, 2004, p. 8)
33
2.16 jQuery
jQuery adalah library atau kumpulan kode JavaScript siap pakai. Keunggulan
menggunakan jQuery dibandingkan dengan JavaScript standar, yaitu menyederhanakan
kode JavaScript dengan cara memanggil fungsi-fungsi yang disediakan oleh jQuery.
JavaScript sendiri merupakan bahasa scripting yang bekerja di sisi client atau browser
sehingga website bisa lebih interaktif. (W, 2011)
jQuery pertama kali dirilis tahun 2006 oleh John Resig. jQuery menjadi sangat
popular hingga telah digunakan pada banyak website termasuk website kelas dunia
seperti Google dan Amazon.
Kelebihan jQuery :
• jQuery compatible dengan banyak browser.
• jQuery mendukung semua versi CSS.
• Ukuran jQuery sangat kecil, sekitar 20 kb.
• Dokumentasi jQuery lebih lengkap.
• Dukungan komunitas terhadap jQuery.
• Tersedianya plugin jQuery yang sangat beragam.
2.17 JavaScript
JavaScript adalah bahasa scripting yang popular di internet dan dapat bekerja di
sebagian besar browser popular seperti Internet Exploler, Mozilla Firefox, dan lain-lain,
kode JavaScript dapat disisipkan dalam halaman web menggunakan tag SCRIPT.
(Sunyoto, 2007)
34
Beberapa pengetahuan tentang JavaScript :
1. JavaScript didesain untuk menambah interaktif suatu web.
2. JavaScript merupakan sebuah bahasa scripting.
3. Bahasa scripting merupakan bahasa pemrograman yang ringan.
4. JavaScript berisi baris kode yang dijalankan di web browser.
5. JavaScript biasanya disisipkan dalam halaman HTML.
6. JavaScript adalah bahasa interpreter (yang berarti script dieksekusi tanpa
proses kompilasi).
7. Setiap orang dapat menggunakan JavaScript tanpa membayar lisensi.
2.18 Spark System Enterprise Architect
Enterprise architect adalah sebuah platform visualisasi untuk merancang dan
membangun sebuah sistem perangkat lunak, untuk pemodelan proses bisnis, dan untuk
lebih umumnya digunakan tujuan pemodelan. Enterprise architect adalah sebuah alat
yang sangat maju yang mencakup seluruh aspek dari mulai siklus pengembangan,
memberikan penelusuran secara mendetail atau penuh dari mulai awal tahap mendesain
sampai mengontrol perkembangan, pemeliharaan, pengujian dan perubahan kontrol.
Dimana tools enterprise architect dikembangkan oleh sparx systems sebuah perusahaan
Australia dengan inovasi dan pengembangan dalam pemodelan UML. Sparx system
adalah anggota dari Object Management Group (OMG). Unified Modeling Language
(UML) adalah sebuah bahasa grafis untuk memvisualisasikan, menentukan,
membangun, dan mendokumentasikan bentuk sebuah sistem perangkat lunak.
UML juga menawarkan cara standar untuk menulis di sistem, termasuk
konseptual hal-hal seperti proses bisnis dan fungsi sistem serta hal-hal konkret seperti
35
sebagai pernyataan sebuah bahasa pemrograman, skema database, dan perangkat lunak
dapat digunakan kembali komponen perangkat lunak.
Perbedaan enterprise architect tool dengan tool UML yang lainnya :
1. Komprehensif dengan pemodelan UML dan desain.
2. Membangun pengelolaan kebutuhan.
3. Mendukung manajemen proyek yang luas, termasuk juga sumber daya, dan
pengujian.
4. Mendukung pengujian berupa test cases.
5. Memiliki pilihan dokumentasi yang fleksibel berupa HTML dan Rich-Text
(RTF) laporan penulis.
6. Mendukung banyak bahasa didalam rekayasa kode-kode bahasa.
7. Usability : enterprise architect memudahkan untuk membangun dijalani cepat
dengan UML.
8. Speed : enterprise architect memiliki performa yang cepat
9. Scalability : enterprise architect dapat menangani suatu model yang besar dan
bersamaan dengan jumlah pengguna yang banyak dengan mudah
2.19 Evaluasi Perfomance
Evaluasi performance dilakukan untuk mengetahui performance aplikasi yang
anda buat. Evaluasi ini menjadi tolak ukur baik atau tidaknya sebuah aplikasi perangkat
lunak dan ada dalam tahapan software engineering.
36
2.19.1 Yslow
Yslow adalah tambahan firebug yang digunakan untuk mengevaluasi
performance web page dan memberi saran untuk peningkatan perfomance. Ada
22 aturan yang yang mempengaruhi perfomance web page dalam browser
Gambar 2.12 menunjukkan berbagai tools yang direkomendasi oleh
Yslow untuk meningkatkan performance.
Gambar 2.12 Yslow Tools
Yslow menganalisis performance dengan cara menganalisis semua
komponen dalam page, termasuk komponen dinamis yang dibuat menggunakan
JavaScript. Yslow adalah tool yang dibuat untuk mengukur sebuah performance
yang dinilai berdasarkan single grade (A adalah grade terbaik, F adalah grade
terburuk). (Steve, 2007)
37
22 aturan Yslow yang penting dan efektif, diantaranya adalah :
1. Meminimalkan HTTP requests
tag: konten
Mengurangi jumlah komponen dapat mengurangi jumlah HTTP
request yang diperlukan untuk membuat halaman. Sehingga membuat
halaman lebih cepat.
Biasanya mengurangi jumlah komponen dapat membuat design
menjadi standar atau biasa saja. Untuk mengatasi hal tersebut dapat
menggabungkan file, gunakan sprite CSS untuk mengurangi permintaan
gambar, atau membuat peta gambar untuk mengabungkan beberapa gambar.
2. Menggunakan content delivery network
Tag : server
Penggunaan CDN dapat mempercepat respon website, sehingga
developer tidak perlu menunggu terlalu lama untuk membuka webiste.
Penggunaan CDN memang menghabiskan biaya tetapi apabila developer
membutuhkan website yang memberikan respon tercepat diperlukan adanya
CDN.
3. Menambah expires atau cache control header
Tag : server
Menggunakan expires header untuk membuat komponen-komponen
website pengguna cacheable. Hal ini untuk menghindari HTTP request yang
tidak perlu pada tampilan halaman berikutnya.
38
4. Gzip komponen
Tag : server
Gzip adalah metode kompresi yang paling populer dan efektif saat ini.
Gzipping berbagai jenis file sebanyak mungkin adalah cara mudah untuk
mengurangi berat halaman dan mempercepat penjelajahan pengguna.
5. Meletakkan stylesheet di atas
Tag : css
Meletakan stylesheet diatas dapat mempercepat loading sebuah halaman
website. Hal ini dapat membuat tampilan lebih progresif. Hal ini berguna
untuk pengguna dengan koneksi lambat atau halaman dengan banyak konten.
6. Meletakkan script di bawah
Tag : JavaScript
Penangguhan script untuk memindahkan script ke bagian bawah dapat
dilakukan untuk mempercepat loading halaman web.
7. Membuat JavaScript dan CSS eksternal
Tag : JavaScript, css
Menggunakan file eksternal di dunia nyata umumnya menghasilkan
halaman dengan lebih cepat karena JavaScript dan file-file CSS dicache oleh
browser. JavaScript dan CSS yang inline dalam dokumen HTML bisa di
download setiap kali dokumen HTML diminta. Hal ini akan mengurangi
jumlah HTTP request yang diperlukan, tetapi akan meningkatkan ukuran
dokumen HTML. Di sisi lain, jika JavaScript dan CSS di file eksternal
dicache oleh browser, ukuran dokumen HTML berkurang tanpa
meningkatkan jumlah HTTP request.
39
8. Hindari CSS Expressions
Tag : css
Expressions CSS membuat halaman ada lebih sering mengevaluasi
tampilan sehingga dapat memperlambat kinerja website pengguna.
Expressions CSS sebaiknya hanya digunakan satu kali. Sehingga website
akan lebih konsisten.
9. Mengurangi DNS Lookups
Tag : content
Domain Name System (DNS) memetakan hostname ke IP addresses.
Seperti sebuah buku telepon yang memetakan nama orang berdasarkan
nomor telepon mereka. Menghindari lookup DNS memotong waktu respon
tetapi mengurangi paralel download dapat meningkatkan waktu respon.
Mengurangi DNS lookup dan memungkinkan dilakukannya download
paralel dapat membuat website bekerja lebih baik.
10. Memperkecil JavaScript and CSS
Tag : JavaScript and css
Minification adalah praktek penghapusan karakter yang tidak perlu dari
kode untuk mengurangi ukurannya sehingga dapat meningkatkan waktu
loading. Ketika kode dikecilkan maka semua komentar, serta spasi yang
tidak diperlukan (spasi, newline, dan tab) dihapus. Dalam kasus JavaScript,
ini meningkatkan kinerja respon waktu karena ukuran file yang di download
berkurang.
40
11. Hindari redirects
Tag : content
Hal utama yang perlu diingat adalah redirect memperlambat penelusuran
pengguna. Memasukkan redirect antara pengguna dan dokumen HTML
dapat menyebabkan penundaan di semua halaman karena tidak ada satupun
dalam halaman dapat dirender dan tidak ada komponen yang dapat di
download sampai dokumen HTML tiba.
12. Hapus duplicate scripts
Tag : javascript
Selain menghasilkan HTTP request yang boros, waktu akan terbuang
untuk mengevaluasi script beberapa kali. Ini membuat eksekusi JavaScript
yang berlebihan terjadi di kedua Firefox dan Internet Explorer, terlepas dari
apakah script cacheable. Salah satu cara untuk menghindari masuknya
naskah yang sama dua kali tanpa sengaja adalah dengan menerapkan modul
manajemen script di sistem template.
13. Configure ETags
Tag : server
Entitas tag (ETags) adalah mekanisme yang web server dan browser yang
digunakan untuk menentukan apakah komponen dalam cache browser sesuai
dengan yang berada pada server asal. Menghapus ETag mengurangi ukuran
header HTTP baik dalam respon dan permintaan berikutnya. Tambahkan
baris berikut ke file konfigurasi apache :
FileETag none
41
14. Membuat AJAX cacheable
Tag : content
Meskipun response AJAX anda dibuat secara dinamis, dan mungkin
hanya berlaku untuk satu pengguna, mereka masih dapat di cache.
Melakukan hal ini akan membuat aplikasi web lebih cepat.
15. Menggunakan get untuk AJAX requests
Tag : server
Ketika menggunakan XMLHttpRequest, POST diimplementasikan dalam
browser sebagai proses dua langkah: mengirim header, kemudian mengirim
data. Jadi yang terbaik adalah menggunakan GET, yang hanya membutuhkan
waktu satu paket TCP untuk mengirim.
16. Mengurangi number dari DOM element
Tag : content
CSS dapat membantu mengubah format default browser. Ini adalah
kesempatan untuk memulai sesuatu yang baru dan berpikir tentang markup.
Contohnya gunakan <div> hanya ketika diperbolehkan secara semantis, dan
bukan untuk membuat baris baru.
17. No 404S
Tag : server
Jangan sampai pengguna mendapatkan respon 404 (not found). Hal ini
biasa terjadi saat link external JavaScript salah. Sehingga apabila membuat
external JavaScript lebih memperhatikan penulisan link.
42
18. Mengurangi cookie size
Tag : cookie
Sangat penting untuk menjaga ukuran cookie serendah mungkin untuk
meminimalkan dampak pada waktu response web terhadap pengguna.
• Menghilangkan cookies yang tidak perlu.
• Berhati-hati dari pengaturan cookie pada tingkat domain yang sesuai
sehingga sub-domain tidak terpengaruh.
• Mengatur tanggal expires yang tepat. Sebuah tanggal expires yang terlalu
cepat atau tidak menghapus cookie secara cepat, dapat memperlambat
response web terhadap pengguna.
19. Menggunakan cookie bebas domain untuk komponen
Tag : cookie
Manfaat dari hosting komponen statis di domain bebas cookie adalah
karena adanya beberapa proxy yang mungkin menolak untuk cache
komponen yang diminta dengan cookie.
20. Hindari filters
Tag : css
Filter memblok rendering dan membekukan browser ketika gambar
sedang didownload. Hal ini juga meningkatkan penggunaan memori dan
diterapkan per elemen, bukan per gambar, sehingga masalah berlipat ganda.
Pendekatan yang terbaik adalah menghindari AlphaImageLoader sepenuhnya
dan sebaiknya menggunakan PNG8 degrading yang baik di IE.
43
21. Hindari scale image pada HTML
Tag : gambar
Usahakan menghindari scaling gambar didalam html. Jika developer
membutuhkan gambar 100 x 100 px sebaiknya tidak menggunakan gambar
500 x 500 px.
22. Membuat favicon.ico dan cacheable
Tag : gambar
Favicon.ico adalah gambar yang berada pada root di server. Untuk
mengurangi kelemahan memiliki favicon.ico pastikan :
• Favicon.ico berukuran kecil sebaiknya di bawah 1 kb.
• Set expires header yang tepat (karena expires header tidak dapat diubah).
(Chandra & Deepak, 2010)