BAB 2 LANDASAN TEORI 2.1 TEORI UMUM 2.1.1

advertisement
8
BAB 2
LANDASAN TEORI
2.1 TEORI UMUM
2.1.1
Internet
Menurut Brookshear (2012,p149) Internet adalah kumpulan dari jaringanjaringan yang terhubung. Jaringan-jaringan ini dibangun dan dirawat oleh
organisasi yang disebut ISP (Internet Service Provider). ISP menyediakan
internet bagi end systems merupakan pengguna-pengguna individu yang
terhubung ke akses ISP. End systems dapat berupa komputer, telepon
genggam, dan alat-alat lainnya.
2.1.2
World Wide Web
World wide web adalah dokumen-dokumen yang mencakup keseluruhan
dunia melalui jaringan Internet. World wide web terdiri dari web site-web site
di seluruh dunia. Sebuah web site terdiri dari halaman-halaman web yang
saling berhubungan erat. Sebuah halaman web merupakan dokumen
hypertext. Hypertext merupakan dokumen berupa teks yang mengandung
link, yang disebut hyperlink. Hyperlink merupakan penghubung dokumen
yang satu ke dokumen yang lainnya.
9
Kategori pengakses dokumen hypertext atau web site dapat dibagi
menjadi dua, yaitu sebagai pengguna atau sebagai server. Sebagai pengguna,
web site dapat diakses melalui browser. Pengguna akan berhadapan dengan
layar tatap muka untuk berselancar dalam web site tersebut. Dalam
berselancar, pengguna melalui browser-nya akan melakukan permintaan
halaman web dan server akan mengirimkan halaman web yang diminta
tersebut. Pertukaran halaman web antara browser dan server ini
menggunakan protocol yang disebut HTTP (Hypertext Transfer Protocol).
Untuk memanggil web site pada world wide web, setiap web site
memiliki alamat unik yang disebut URL (Uniform Resource Locator). Setiap
URL mengandung informasi yang diperlukan browser untuk memanggil
server dan meminta dokumen yang dimaksud. Oleh karena itu, pengguna
harus mengetahui alamat URL untuk mengunjungi web site yang diinginkan.
2.1.3
Basisdata (Database)
Menurut Connoly (2010,p65), Basisdata atau Database adalah kumpulan
data yang berhubungan secara logikal, dan memiliki deskripsi data, yang
dirancang untuk memenuhi kebutuhan informasi sebuah organisasi atau
perusahaan. Entitas (entities), atribut (attributes), dan relasi (relationships)
ditentukan ketika menganalisa kebutuhan informasi suatu organisasi.
Database merupakan sebuah tempat penyimpanan besar yang dapat
digunakan secara bersama-sama oleh banyak departemen dan pengguna.
10
Database tidak lagi merupakan kepunyaan satu departemen, tetapi
merupakan sumber informasi bersama suatu organisasi.
Terdapat 3 tahapan dalam perancangan database :
-
Perancangan basisdata konseptual (Conceptual database design)
Perancangan basisdata konseptual merupakan
suatu proses
pembentukan model data dari informasi yang digunakan
dalam
organisasi. Perancangan basisdata konseptual terdiri dari beberapa
langkah yaitu :
1.
Identifikasi tipe entitas
2.
Identifikasi tipe hubungan
3.
Identifikasi atribut tiap entitas
4.
Menentukan domain tiap atribut
5.
Menentukan atribut candidate, primary ,dan alternate keys
6.
Mempertimbangkan penggunaan enhanced
modeling
concepts (optional)
7.
Memeriksa redudansi pada model
8.
Validasi model data konseptual dengan transaksi user
9.
Melakukan review model data konseptual dengan user
Pada tahap perancangan ini, informasi-informasi kebutuhan user
yang telah dikumpulkan akan diuji kebenaran dan kesesuaiannya.
Hasil dari informasi-informasi yang sudah sesuai tersebut akan
menjadi sumber informasi bagi tahap selanjutnya, yaitu perancangan
logikal database.
11
-
Perancangan basisdata logikal (Logical database design)
Tahap selanjutnya setelah perancangan basisdata konseptual
adalah perancangan basisdata logikal. Tujuan dari tahap ini adalah
untuk mengubah model data konseptual menjadi model data logikal.
Pada tahap ini juga dilakukan pemeriksaan kebenaran dan
kelengkapan struktur model untuk mendukung transaksi – transaksi
yang diperlukan. Perancangan basisdata logikal terdiri dari :
1.
Penurunan relasi untuk model data logikal
2.
Validasi relasi menggunakan normalisasi
3.
Validasi relasi terhadap transaksi user
4.
Memeriksa integrity constraints
5.
Melakukan review model data logikal dengan user
6.
Menggabungkan model data logikal lokal ke modal data
global (optional)
7.
Mempertimbangkan perkembangan di masa depan
8.
Pemilihan database management system.Hasil dari tahap
perancangan
ini
merupakan
sumber
informasi
untuk
tahap
perancangan berikutnya, yaitu perancangan database fisik. Desainer
database fisik akan membuat database fisik berdasarkan hasil
perancangan logikal ini.
-
Perancangan basisdata fisik (Physical database design)
Tujuan perancangan basisdata fisikal adalah untuk menghasilkan
gambaran dari implementasi basisdata pada tempat penyimpanan
12
yang menjelaskan basis relasi, organisasi file, dan indeks yang ada
untuk efesiensi data, dan menghubungkan beberapa integrity
constraint
serta tingkat keamanan. Perancangan basisdata fisikal
terdiri dari beberapa langkah, yaitu :
1.
Menerjemahkan model data logikal untuk DBMS yang
digunakan
2.
a.
Merancang relasi dasar
b.
Merancang representasi derived data
c.
Merancang general constraints
Merancang organisasi file dan indeks
a.
Menganalisa transaksi
b.
Memilih organisasi file
c.
Memilih indeks
d.
Memperkirakan kebutuhan disk space
3.
Merancang user view
4.
Merancang mekanisme keamanan
Perancangan basisdata fisik merupakan tahap ketiga dan terakhir
dari proses desain database.
Desainer database fisik akan
memutuskan bagaimana database akan diimplementasikan. Setelah
tahap ini selesai, perancang akan mendapatkan database yang dituju.
13
2.1.4
DBMS (Database Management System)
Menurut Connoly (2010,p66), DBMS adalah sebuah system software
yang
memungkinkan
penggunanya
untuk
menciptakan,
membuat,
memelihara, dan mengontrol akses ke database. DBMS menyediakan fasilitas
untuk penggunanya melakukan modifikasi data pada database melalui
sebuah DML (Data Manipulation Language). DBMS juga menyediakan
fasilitas DDL (Data Definition Language) untuk pengguna menciptakan
database.
Berikut ini beberapa statement pada Data Definition Language :
-
Create table : membuat tabel dan mendefinisikan tiap kolom.
-
Alter table : menghapus atau menambahkan kolom pada tabel.
-
Drop table : menghapus tabel dan semua data yang ada di dalamnya.
-
Create index : menambahkan index pada sebuah tabel.
-
Drop index : menghapus index pada sebuah tabel.
Berikut ini beberapa operasi pada Data Manipulation Language :
-
Insert : memasukkan data ke dalam database.
-
Update : mengubah data pada database.
-
Select : memanggil data pada database.
-
Delete : menghapus data pada database.
14
2.1.5
ERD (Entity Relationship Diagram)
Menurut Connoly (2010,p371) ERD adalah pendekatan dalam database
yang dimulai dengan mengindentifikasi data penting yang dinamakan entitas
dan relasi antar data yang ditampilkan dalam model, detil informasi pada
entitas dan relasi adalah attributes. Terdapat 5 komponen ERD, yaitu :
a. Entity
Entitas (entity) adalah model individu dalam basis data yang mewakili
sesuatu yang nyata. Misalnya, pelanggan, pengguna, pekerja, dan lainlain. Himpunan pelanggan merupakan himpunan entitas. Terdapat 2
klasifikasi entitas :
-
Entitas Kuat (Strong Entity)
Entitas kuat adalah himpunan entitas yang keberadaannya
independen atau tidak bergantung pada himpunan entitas lainnya.
-
Entitas Lemah (Weak Entity)
Entitas lemah adalah himpunan entitas yang keberadaannya
bergantung pada himpunan entitas lainnya.
15
b. Attribute
Atribut
(attribute)
adalah
karakteristik
atau
properti
yang
mendeskripsikan sebuah entitas. Misalnya, pelanggan mempunya atribut :
id_pelanggan, nama_pelanggan, alamat_pelanggan. Terdapat beberapa
klasifikasi atribut :
-
Simple and Composite Attribute
o Simple Attribute
Simple attribute adalah sebuah atribut yang hanya
dapat diisi dengan satu komponen tunggal. Komponen
tersebut adalah independen, tidak tergantung pada apapun.
Contoh atribut simple ini adalah posisi, salary, gender.
o Composite Attribute
Composite attribute adalah sebuah atribut yang isinya
terdiri dari beberapa komponen. Beberapa komponen
tersebut adalah independen satu sama lain. Contoh atribut
composite adalah alamat. Alamat dapat terdiri dari
beberapa komponen seperti : nama jalan, nama kota, kode
pos.
-
Single-Value dan Multi-Value Attributes
o Single-Value Attribute
Single-value attribute adalah sebuah atribut yang
hanya dapat diisi oleh satu nilai saja. Kebanyakan atribut
16
merupakan atribut single-value. Contoh atribut singlevalue adalah userID.
o Multi-Value Attribute
Multi-value attribute adalah sebuah atribut yang dapat
diisi oleh lebih dari satu nilai. Misalnya, atribut Hobi dapat
diisi dengan memasak, menyanyi, otomotif.
c. Relationship
Relasi menunjukkan hubungan antara himpunan entitas yang satu
dengan himpunan entitas yang lain.
d. Key
Key merupakan sebuah atribut yang unik, tidak ada 2 entitas yang
memiliki key yang sama dalam sebuah himpunan entitas. Terdapat 4
macam key :
-
Candidate Key
Candidate key adalah atribut-atribut unik yang dapat
membedakan suatu entitas dari entitas lainnya.
-
Composite Key
Composite key adalah sebuah candidate key yang terbentuk
dari dua atribut atau lebih.
-
Primary Key
Primary key adalah sebuah candidate key yang terpilih untuk
membedakan suatu entitas dari entitas lainnya.
17
e. Multiplicity
Multiplicity adalah jumlah entitas yang mungkin terdapat pada
hubungan relasi entitas tersebut dengan entitas lainnya. Terdapat 3
macam multiplicity :
-
One to one (1:1)
Menunjukkan hubungan relasi entitas yang hanya dapat
berpartisipasi dengan satu entitas lainnya.
-
One to many (1:*)
Menunjukkan hubungan relasi satu entitas yang dapat
berpartisipasi dengan banyak entitas lainnya.
-
Many to many (*:*)
Menunjukkan hubungan relasi banyak entitas yang dapat
berpartisipasi dengan banyak entitas lainnya.
18
2.1.6
Multimedia
Menurut Vaughan (2008, p1), Multimedia adalah perpaduan dari teks,
suara, gambar, animasi, dan video yang disampaikan melalui komputer, atau
media elektronik lainnya. Proyek multimedia yang memungkinkan pengguna
untuk mengendalikan elemen-elemen multimedianya, apa dan kapan suatu
informasi
dimunculkan,
disebut
multimedia
interaktif
(interactive
multimedia).
Berikut adalah lima elemen multimedia :
1. Teks
Dari semua element yang ada, teks mempunyai dampak yang besar pada
kualitas multimedia interaktif. Umumnya, teks menyediakan informasi
yang penting.
2. Suara
Suara digunakan untuk menegaskan aksi pengguna seperti pindah
halaman. Apabila digunakan secara tepat, suara dapat merangsang
imajinasi pengguna.
3. Video
Video merupakan penyajian informasi dengan menggunakan kemampuan
visualisasi. Penyampaian informasi dengan menggunakan video sangat
mudah dipahami.
19
4. Gambar
Gambar memberikan sisi kreatif untuk menarik perhatian pengguna
dengan menggunakan foto atau image.
2.1.7
Interaksi Manusia dan Komputer
Menurut Shneiderman (2010,p88), interaksi manusia dan komputer
adalah ilmu yang mempelajari tentang hubungan manusia dan komputer
berupa disain perancangan tatap muka pengguna. Berdasarkan pengalaman
para ahli, berikut ini adalah delapan aturan emas (eight golden rules) disain
yang harus diterapkan pada sistem yang interaktif :
1. Berusaha untuk konsisten (strive for consistency).
Hal – hal yang harus konsisten adalah urutan dalam melakukan aksi –
aksi, penggunaan berbagai istilah, menu, layar bantuan, warna, layout dan
font.
2. Menyediakan usability universal (provide usability universal).
User baru biasanya menginginkan adanya petunjuk penggunaan
software. Dengan adanya petunjuk penggunaan, siapa saja dapat belajar
bagaimana cara menggunakan suatu software. Sedangkan user lama
biasanya sudah mengerti cara penggunaan software dengan jelas. User
lama biasanya menginginkan adanya shortcut untuk mempercepat user
untuk melakukan aksi-aksinya.
3. Adanya umpan balik yang informatif(offer informative feedback).
20
Sistem harus memberikan umpan balik untuk setiap aksi yang
dilakukan oleh user. Untuk aksi yang kecil, umpan baliknya harus
sederhana. Untuk aksi yang besar, umpan baliknya harus lengkap.
4. Adanya dialog penutupan(design dialogs to yield closure).
Memberikan pemberitahuan apabila suatu aksi selesai dilakukan agar
user tidak bingung dan agar user tahu bahwa aplikasi telah siap untuk
melakukan aksi lainnya.
5. Adanya pencegahan error dan penanganan error yang sederhana(offer
error prevention and simple error handling).
Membangun aplikasi sedemikian rupa sehingga user tidak dapat
melakukan kesalahan yang fatal. Jika user melakukan sebuah kesalahan,
sistem harus mampu mengetahuinya dan memberikan instruksi yang
mudah dan sederhana agar user dapat memperbaiki kesalahannya.
6. Memungkinkan
user
untuk
membatalkan
aksi
yang
telah
dilakukan(permit easy reversal of action).
Sebisa mungkin aksi apapun dapat dibatalkan oleh user. Hal ini akan
mengurangi kecemasan user apabila ia hendak melakukan sebuah aksi
yang baru baginya.
21
7. Mendukung tempat kendali internal(support internal locus of control).
Pengguna seharusnya mengontrol sistem, bukan sistem yang
mengontrol pengguna. Kebutuhan informasi pengguna dan aksi – aksi
yang mungkin diinginkan pengguna harus disediakan oleh sistem.
8. Mengurangi beban ingatan jangka pendek pengguna(reduce short-term
memory load).
Tampilan pada aplikasi harus tampil sederhana agar user tidak
kesulitan setiap kali menggunakan aplikasi ini. Misalnya tingkat
kedalaman menu yang tidak terlalu dalam.
2.1.8
Storyboard
Menurut Mathis (2011,p97), pada awalnya storyboard adalah suatu
teknik untuk membuat animasi pada film. Storyboard membagi sebuah
animasi menjadi kerangka-kerangkanya yang penting. Storyboard mengubah
gambar bergerak menjadi gambar-gambar komik. Dalam merancang layar
tatap muka pengguna, storyboard digunakan untuk fungsi yang serupa,
menggambarkan kerangka langkah-langkah pengguna.
Storyboard
memfokuskan
pada
interaksi
pengguna
dengan
menggambarkan apa yang akan dilihat pengguna di setiap layar. Dimana dan
bagaimana kejadian interaksi terjadi dijelaskan dengan menggunakan
penjelasan singkat.
22
2.1.9
Model SDLC (Software Development Life Cycle) Waterfall
Menurut Sommerville (2011,p7), Software Engineering merupakan
sebuah disiplin ilmu yang bertujuan untuk menghasilkan software yang bebas
dari error atau kesalahan. Software engineering mengupayakan bagaimana
proses pembuatan software agar tidak melebihi budget, tidak melewati
deadline, tidak terdapat error, dan memenuhi semua kebutuhan pelanggan.
Model
Waterfall
merupakan
model
software
engineering
yang
menggunakan pendekatan sistematis, tahapannya berurut dari analisis sistem,
desain, pengkodean sistem, pengujian sistem, dan perawatan sistem.
Langkah-langkah model waterfall didasari oleh perencanaan yang telah
ditentukan dari awal.
Berikut ini tahapan-tahapan yang dilalui dalam model waterfall :
a. Menganalisa dan menentukan kebutuhan
Semua fungsi dan tujuan sistem ditentukan lewat konsultasi
dengan pengguna. Informasi tersebut kemudian dirumuskan menjadi
spesifikasi sistem.
b. Disain sistem
Mendefinisikan keseluruhan arsitektur sistem dan membuat
abstraksi sistem beserta relasi-relasinya.
c. Menguji implementasi dan unit
Pada tahapan ini, sistem telah berwujud program atau unit-unit
program. Tahap ini memastikan semua unit program berfungsi
dengan baik.
23
d. Menguji integrasi dan sistem
Pada tahapan ini, setiap unit program telah disatukan dan
keseluruhan sistem diuji. Setelah pengujian selesai, sistem siap
dikirim kepada pengguna.
e. Mengoperasi dan merawat sistem
Menjalankan sistem dan membetulkan error yang tidak terdeteksi
pada tahap-tahap sebelumnya.
2.1.10 Unified Modeling Language (UML)
Menurut Britton (2005,p13), UML adalah sebuah himpunan teknik
diagram, yang secara khusus disesuaikan untuk pengembangan berorientasi
objek, dan telah menjadi standar untuk memodelkan sistem berorientasi
objek. Pemodelan sistem merupakan cara untuk mendeskripsikan sistem yang
sedang dikembangkan. Setiap model menggambarkan bagian atau aspek
daripada sistem, seperti struktur penyimpanan data, atau bagaimana suatu
operasi berjalan.
Berikut ini adalah 4 diagram yang termasuk dalam komponen UML :
a. Class Diagram
Class diagram adalah pusat daripada analisis dan disain berorientasi
objek. Class diagram mendefinisikan arsitektur software dan struktur
setiap
objek
dalam
software.
Class
diagram
digunakan
untuk
memodelkan class-class dan relasi-relasinya. Relasi yang sering
digambarkan dalam class diagram adalah asosiasi dan multiplicity.
24
Relasi asosiasi dan multiplicity menunjukkan bahwa terdapat
interaksi diantara dua buah class. Relasi asosiasi digambarkan dengan
menyambungkan sebuah garis pada dua buah class. Multiplicity
menggambarkan banyaknya objek pada class yang dapat terlibat dengan
satu objek pada class lainnya.
Pada setiap asosiasi, multiplicity menampilkan derajat asosiasi pada
dua class. Oleh karena itu, multiplicity harus didefinisikan pada kedua
class. Terdapat beberapa jenis multiplicity :
-
Tepat satu : Hubungan yang menunjukkan bahwa sebuah class hanya
dapat berhubungan dengan satu objek pada suatu class lainnya.
Misalnya, satu karyawan hanya dapat bekerja untuk satu departemen.
-
Nol atau satu : Hubungan yang menunjukkan bahwa sebuah class
dapat berhubungan dengan nol atau satu objek pada suatu class
lainnya. Misalnya, satu karyawan dapat memiliki nol atau satu
suami/isteri.
-
Nol atau banyak : Hubungan yang menunjukkan bahwa sebuah class
dapat berhubungan dengan nol atau banyak objek pada suatu class
lainnya. Misalnya, satu pelanggan dapat memiliki nol atau banyak
pesanan.
25
-
Satu atau banyak : Hubungan yang menunjukkan bahwa sebuah class
dapat berhubungan dengan satu atau banyak objek pada suatu class
lainnya. Misalnya, sebuah hotel dapat memiliki satu atau banyak
kamar.
-
Jarak tertentu : Hubungan yang menunjukkan bahwa sebuah class
dapat berhubungan dengan sejumlah tertentu objek pada suatu class
lainnya. Misalnya, sebuah grup dapat beranggotakan tiga sampai lima
orang.
Agregasi adalah relasi yang menggambarkan tipe ketergantungan
suatu class pada class lainnya. Terdapat dua jenis relasi agregasi, yaitu
relasi komposisi, dan relasi biasa.
-
Relasi agregasi komposisi merupakan hubungan relasi yang sangat
kuat, dimana keseluruhan objek merupakan bagian dari objek
lainnya. Misalnya sebuah buku memiliki beberapa bab, maka
keseluruhan bab tersebut adalah bagian dari buku tersebut. Relasi
komposisi digambarkan dengan sebuah wajik yang berisi warna
hitam penuh.
-
Relasi agregasi biasa merupakan hubungan relasi yang lemah,
dimana kedua class tidak banyak terikat satu sama lain. Pada relasi
ini, apabila class yang satu dihancurkan, class lainnya masih
memiliki arti. Relasi ini digambarkan dengan sebuah wajik yang
berisi warna putih.
26
b. Use Case Diagram
Use case memodelkan fungsionalitas sistem dari pandangan user. Use
case digunakan dalam tahap spesifikasi kebutuhan user dalam proses
pengembangan software. Use case diagram memodelkan himpunan
masalah pada software secara grafis menggunakan 4 konsep, yaitu use
case, actor, relasi usecase, dan batasan. Berikut adalah Tabel 2.1
mengenai penjelasan keempat konsep tersebut :
Tabel 2.1 Tabel Empat Konsep Usecase
Use Case : sebuah bentuk elips yang dilabelkan nama
dari sebuah use case. Biasanya nama use case diawali
dengan kata kerja untuk menegaskan bahwa use case
tersebut merepresentasikan sebuah proses.
Actor : sebuah figur batang yang dilabelkan nama dari
suatu actor/pelaku. Nama dari actor tersebut haruslah
mudah untuk diidentifikasi, misalnya Resepsionis,
Administrator.
merepresentasikan
Figur
pelaku
batang
yang
juga
bukan
dapat
manusia,
misalnya sebuah organisasi, sistem komputer.
Relasi Use Case : sebuah garis yang menghubungkan
actor ke use case. Garis ini menunjukkan aktor-aktor
yang berasosiasi dengan use case-use case. Relasi ini
dikenal juga sebagai asosiasi komunikasi.
27
Batasan : sebuah garis yang digambarkan di sekitar
use case-use case untuk memisahkan mereka dari
actor-actor.
c. Activity Diagram
Activity diagram digunakan untuk memodelkan detail-detail daripada
sebuah proses yang kompleks. Activity diagram merupakan cara yang
efektif dalam merepresentasikan tahapan-tahapan pada sebuah proses.
Activity diagram terdiri dari state dan transisi-transisinya. Semua state
pada activity diagram merupakan aktivitas-aktivitas dan transisi-transisi
diantara mereka dipicu oleh telah selesainya sebuah aktivitas. Berikut ini
adalah Tabel 2.2 yang menjelaskan komponen-komponen activity
diagram.
Tabel 2.2 Komponen-Komponen Activity Diagram
Start State : Merupakan awal sebuah proses. Hanya
terdapat 1 pada setiap activity diagram.
Activity : Merupakan aktivitas pada sebuah proses.
Transition : Merupakan transisi dari satu aktivitas
ke aktivitas lainnya.
Diamond
:
Merupakan
percabangan
yang
bergantung pada kondisi tertentu yang terpenuhi.
28
Stop State : Merupakan akhir dari proses. Boleh
terdapat lebih dari 1 pada diagram yang sama.
d. Sequence Diagram
Sequence diagram menampilkan aliran kontrol diantara objek-objek
pada saat eksekusi sebuah skenario dengan jelas dan sederhana. Sequence
diagram menunjukkan pertukaran pesan diantara objek-objek dalam
langkah-langkah eksekusi sebuah kejadian use case. Berikut ini adalah
Tabel 2.3 yang menjelaskan komponen-komponen sequence diagram.
Tabel 2.3 Komponen-Komponen Sequence Diagram
Actor : Merupakan actor yang terlibat dalam use case
yang bersangkutan.
Object Lifeline : Menunjukkan durasi kehidupan objek
pada skenario.
Send Arrow : Anak panah dari object lifeline pengirim
ke object lifeline penerima berlabelkan pesan yang
dikirim.
Return Arrow : Anak panah berlabelkan pesan balasan
yang dikirim balik ke pengirim pesan.
29
2.2
TEORI KHUSUS
2.2.1
PHP
PHP adalah bahasa server-side scripting yang didesain secara khusus
untuk web. Di dalam sebuah halaman HTML, anda dapat menyisipkan kode
PHP yang akan dieksekusi setiap kali halaman tersebut diakses. Kode PHP
akan diterjemahkan di dalam web server menjadi kode HTML yang
kemudian akan disajikan pada user.
Bahasa scripting PHP memungkinkan penggunanya untuk membangun
web menggunakan arsitektur MVC (Model-View-Controller). Berikut ini
adalah penjelasan mengenai arsitektur MVC :
a. Model
Dalam arsitektur MVC, model berperan dalam operasi data pada
sistem. Setiap kali ada proses yang berhubungan dengan data, model
akan menjadi perantara antara sistem dan database.
b. View
View berperan sebagai penyedia layar tatap muka pengguna. Isi
dari view hanya berupa disain halaman web.
30
c. Controller
Controller bertugas untuk menjalankan setiap proses atau function
yang terdapat pada sistem. Controller menentukan jalannya setiap
proses logika pada sistem.
2.2.2
Framework
Framework (kerangka kerja) merupakan kumpulan program atau fungsi
yang sudah diatur sedemikan rupa, sehingga seorang web programmer dapat
menggunakan fungsi – fungsi tersebut untuk membangun aplikasi yang
diinginkan tanpa harus memulai coding dari awal.
Framework digunakan untuk memudahkan dan meringankan dalam
membangun sebuah website. Pengguna tinggal memanggil berbagai fungsi
yang ada dalam class – class library, helpers, plugins, yang telah disediakan
oleh framework tersebut tanpa membuat sendiri fungsi – fungsi tersebut dari
awal.
Penggunaan framework akan memudahkan developer karena lebih
memfokuskan pada pokok persoalan. Aspek penunjang seperti koneksi
database, form validation, dan security umumnya telah disediakan oleh
framework.
Penggunaan
framework
juga
akan
bermanfaat,
terutama
ketika
membangun aplikasi yang besar, terutama melibatkan banyak developer.
31
Dengan framework ini akan mempunyai aturan yang jelas dan kerjasama
akan semakin mudah.
Membangun aplikasi kecil pun tidak masalah dengan menggunakan
framework karena lama kelamaan aplikasi keci tersebut akan berkembang
menjadi besar seiring dengan kebutuhan pengguna.
Alasan seorang programmer menggunakan framework adalah :
1. Efektivitas pemrograman.
Dengan menggunakan framework, beban kerja programmer akan
lebih ringan, karena akan lebih memfokuskan pada alur proses
aplikasi yang akan dibuat. Dengan demika proses pekerjaan aplikasi
tersebut akan cepat dan tepat waktu.
2. Lebih terstruktur.
Akan berguna pada pengembangan aplikasi yang berskala besar,
semakin banyak kode program yang dibuat,maka akan semakin sulit
melakukan debugging jika terjadi error atau ketika program tidak
jalan. Dengan penggunaan framework, program akan terstruktur
sehingga dapat memudahkan dalam menelusuri dan mencari bagian
kode program yang perlu diperbaiki.
3. Memudahkan dalam pemeliharaan program.
Hal ini bermanfaat ketika melibatkan banyak anggota tim
programmer, terutama pada proyek besar. Dengan framework,
standarisasi kode program akan lebih mudah sehingga solusi yang
32
diberikan oleh seorang anggota programmer, akan dapat dimengerti
oleh anggota yang lain.
2.2.3
MySQL
MySQL adalah sebuah RDBMS (relational database management
system) yang menghubungkan PHP dan servernya untuk bekerja sama
mengakses dan menampilkan data dalam format yang mudah dibaca oleh
pengguna. MySQL dirancang untuk menanggung jumlah data yang besar dan
mengerjakan operasi query yang kompleks. Sebagai sebuah RDBMS,
MySQL dapat menggabungkan beberapa tabel.
Karena dapat menanggung jumlah data yang besar, MySQL adalah
pilihan yang paling tepat untuk menyajikan data melalui internet. Jika
digunakan dengan tepat MySQL dapat menjadi sangat handal, penarikan data
dari banyak tabel dapat dilakukan hanya dalam satu query. Selain itu MySQL
juga lebih mudah diatur daripada basis data open source lainnya.
2.2.4
TOEFL (Test of English as a Foreign Language)
TOEFL merupakan suatu cara dalam upaya mengukur tingkat kefasihan
berbahasa Inggris seseorang yang bukan merupakan pengguna asli (native
speaker) bahasa Inggris. Nilai uijan TOEFL berskala dari 310 hingga 677
poin. Nilai tersebut merupakan gabungan dari semua aspek yang diukur,
yaitu Listening, Strucutre, Reading, dan Writing. Berikut ini adalah
penjelasannya :
33
a. Listening
Bagian
Listening
menilai
kemampuan
memahami
dialog
percakapan bahasa Inggris. Pada bagian ini, disediakan waktu 35
menit untuk 50 soal pertanyaan. Rentang nilai pada bagian ini adalah
31 sampai 68.
b. Structure
Bagian Structure menilai kemampuan grammar bahasa Inggris
yang tepat. Pada bagian ini, disediakan waktu 25 menit untuk 40 soal
pertanyaan. Rentang nilai pada bagian ini adalah 31 sampai 68.
c. Reading
Bagian Reading menilai kemampuan memahami bahasa Inggris
yang tertulis. Pada bagian ini, disediakan waktu 55 menit untuk 50
soal pertanyaan. Rentang nilai pada bagian ini adalah 31 sampai 67.
d. Writing
Bagian Writing menilai kemampuan dalam menghasilkan tulisan
berbahasa Inggris yang bermakna, dapat dipahami dan tepat. Pada
bagian ini, disediakan waktu 30 menit untuk satu soal essay. Rentang
nilai pada bagian ini adalah satu sampai enam.
34
2.2.5
Perangkat Ajar
Menurut Kearsley (2003), perangkat ajar adalah penyampaian materi
dalam bentuk instruksi, tutorial, dan latihan yang dibantu oleh komputer.
Tujuan penggunaan perangkat ajar adalah meningkatkan semangat belajar
siswa dan menghemat waktu belajar. Berikut ini adalah jenis jenis perangkat
ajar :
a. Instruksi
Bagian instruksi memberikan petunjuk penggunaan aplikasi
kepada pengguna. Apa yang selanjutnya harus pengguna lakukan
dijelaskan pada bagian ini.
b. Tutorial
Merupakan sebuah penyajian informasi yang memberikan konsep
baru melalui media monitor dan pengguna diberikan kesempatan
untuk berinteraksi dengan informasi atau konsep baru tersebut.
Aplikasi itu sendiri berperan sebagai guru.
c. Latihan
Bagian
yang
menampilkan
masalah
untuk
mengevaluasi
pemahaman pengguna. Setelah pengguna menyelesaikan masalah,
perangkat ajar akan memberikan umpan balik.
35
2.2.6
CodeIgniter
CodeIgniter (selanjutnya disebut CI) adalah sebuah framework yang
digunakan untuk membuat sebuah aplikasi berbasis web yang disusun dengan
menggunakan bahasa PHP. Di dalam CI ini terdapat beberapa macam kelas
yang berbentuk library dan helper yang berfungsi untuk membantu
pemrogram dalam mengembangkan aplikasinya.
Kelebihan framework CodeIgniter adalah :
1. Berukuran kecil
Hanya dengan sekitar 4MB, seorang pengembang pemula sudah
bias menggunakan CI yang di dalamnya terdapat berbagai fitur andal.
Beberapa fitur yang ada dalam CI adalah database access, session
control, manage cookies, security dengan xss filtering, bantuan untuk
mengunggah file, dan berbagai fitur lain
2. Sangat cepat
Kecepatan CI dalam hal eksekusi file sebagai framework untuk
membangun aplikasi berskala enterprise.
3. Sederhana (simple)
Sederhana dari sisi sintaks yang digunakan dan dari sisi alur
penyusunan program.
36
4. Bisa langsung digunakan
Penggunaannya hanya tinggal mengunduh, mengekstrak file, dan
meletakkan pada folder kerja web server.
5. Bisa dikombinasikan dengan beberapa aplikasi.
6. Kode program rapi
Kode program akan menjadi sangat rapi dikarenakan penggunaan
system MVC mengelompokkan kode sesuai dengan fungsinya masing
– masing. Kode yang memudahkan dalam pencarian error ketika
muncul bug.
Cara kerja framework CI :
Gambar 2.1 Cara kerja framework CodeIgniter
Gambar 2.1 merupakan diagram cara kerja framework CI dengan
penjelasan seperti berikut :
1. File index.php
sebagai file yang bertindak sebagai control halaman
depan. File ini menginisialisasi semua resource yang diperlukan untuk
menjalankan CI atau halaman situs.
37
2. Routing memeriksa setiap request HTTP dan melakukan apa yang perlu
dilakukan terhadap request tersebut, tergantung rule yang ada.
3. Apabila terdapat Cache maka system akan mengirimkan cache tersebut
secara langsung ke browser tanpa harus melewati birokrasi sistem secara
normal.
4. Sebelum membuka Application Controller, setiap request HTTP dan
data yang dikirimkan oleh pengguna maka akan disaring terlebih dahulu
melalui sebuah sistem pengamanan.
5. Controller kemudian membuat seluruh resource, baik itu Model, library,
maupun Helper yang digunakan untuk memproses request atau data yang
dikirimkan.
6. Tahapan terakhir adalah View, berfungsi memproses hasil olahan
Controller dan mengirimkannya ke web browser. Apabila sistem cache
diaktifkan maka View akan di-cache terlebih dahulu sebelum muncul ke
browser.
2.2.7
JavaScript
JavaScript adalah sebuah bahasa scripting yang diimplementasikan pada
web browser dalam rangka membuat halaman layar pengguna yang
38
interaktif, dan membuat website yang dinamis. JavaScript bersifat opensource sehingga terdapat banyak modul yang tersedia untuk digunakan dan
dimodifikasi sesuai kebutuhan.
2.2.8
jQuery
jQuery merupakan sebuah library Javascript. Hal itu berrarti, jQuery
merupakan kumpulan koleksi kode yang dapat digunakan berulang-ulang
untuk menyelesaikan permasalahan yang serupa, jQuery adalah sebuah
proyek open source, banyak terdapat kode-kode fungsi yang tersebar dan
dapat digunakan oleh siapa saja. Karena para web developer seringkali
menghadapi permasalahan yang serupa, jQuery memiliki script library yang
sangat banyak dan dapat digunakan secara cuma-cuma. Misalnya, script
untuk membuat tooltip, slideshow, menu drop-down, dan lain-lain.
2.2.9
jQuery UI
jQuery UI adalah sebuah himpunan plug-in yang menambahkan banyak
fungsi-fungsi ke dalam library inti jQuery. jQuery UI merupakan kontrol
visual pada jQuery. Beberapa komponen yang tersedia dalam jQuery UI
adalah accordion menu, tab, kalender, bar progres, icon, dan lain-lain.
39
2.2.10 Ajax
Ajax adalah singkatan dari Asynchronous Javascript and XML. Ajax
memungkinkan Javascript melakukan request ke server web secara asinkron,
atau tanpa harus melakukan refresh halaman web. Penggunaan Ajax
memungkinkan aplikasi website untuk mengirim informasi ke server, server
memproses informasi, dan mengubah aspek pada halaman website secara
dinamis tanpa pengguna berpindah halaman.
Download