6
BAB 2
LANDASAN TEORI
2.1
Teori Umum
Pada teori umum dijabarkan landasan teori yang nantinya akan digunakan
dalam proses pembuatan skripsi ini. Teori yang akan dibahas meliputi Interaksi
Manusia dan Komputer, Unified Modeling Language
(UML), Rekayasa
Perangkat Lunak, dan Sistem Basis Data.
2.1.1
Interaksi Manusia dan Komputer
Interaksi Manusia dan Komputer atau Human Computer
Interaction
(HCI) berkaitan dengan tampilan antarmuka atau interface
yang digunakan oleh user untuk berinteraksi dengan komputer.
Menurut Shneiderman dan Plaisant (2010: 88-89), terdapat Eight
Golden Rules
(8 Aturan Emas)
yang digunakan sebagai pedoman
perancangan interface aplikasi, yaitu:
1.
Konsistensi
Konsistensi tindakan harus terpenuhi dalam situasi yang sama,
contohnya pemakaian warna, layout, huruf yang digunakan pada
menu tampilan dan menu bantuan.
2.
Melayani kebutuhan universal
Mengetahui adanya perbedaan kebutuhan setiap user. Misalnya orang
awam membutuhkan fitur berupa penjelasan mengenai suatu aplikasi,
sedangkan untuk orang yang ahli dibutuhkan shortcut
yang dapat
mempermudah pekerjaannya.
  
7
3.
Memberikan umpan balik yang informatif
Adanya umpan balik untuk setiap tindakan yang dilakukan oleh user
supaya user tersebut mengetahui dampak dari tindakannya.
4.
Merancang dialog untuk bagian akhir
Urutan dari tindakan yang dilakukan user hendaknya dikelompokkan
ke dalam beberapa bagian seperti bagian awal, tengah, dan akhir.
Misalnya pada bagian akhir, umpan balik yang informatif akan
menunjukkan bahwa user telah melakukan tindakan dengan cara yang
benar.
5.
Mencegah kesalahan
Sistem dirancang agar user tidak membuat kesalahan yang fatal. Jika
nantinya user membuat kesalahan maka muncul pesan kesalahan serta
instruksi untuk memperbaiki kesalahan tersebut melalui interface.
6.
Mudah kembali ke tindakan sebelumnya
Adanya fitur untuk kembali ke kondisi sebelumnya sehingga
mengurangi kekhawatiran user.
7.
Mendukung pengendalian internal
User
menginginkan bahwa merekalah
yang berperan dalam
pengendalian
interface
dan interface akan merespon sesuai dengan
tindakan user.
8.
Mengurangi beban memori jangka pendek
Keterbatasan ingatan manusia untuk memproses informasi jangka
pendek mengakibatkan perancang harus menghindari interface yang
  
8
mengharuskan user
mengingat informasi dari satu bagian yang
kemudian digunakan untuk bagian yang lain.
2.1.2
Unified Modeling Language (UML)
Menurut Whitten dan Bentley (2007: 371),
Unified Modeling
Language
(UML) merupakan sekumpulan aturan
pemodelan yang
digunakan untuk menjelaskan sistem software yang berhubungan dengan
objek.
Terdapat banyak
diagram UML yang berfungsi sebagai acuan
standar dalam hal perancangan suatu software. Salah satunya adalah
UML 2.0 yang menggunakan diagram-diagram sebagai berikut:
1.
Use Case
2.
Activity
3.
Class
4.
Object
5.
State Machine
6.
Composite Structure
7.
Sequence
8.
Communication
9. Interaction Overview
10. Timing
11. Component
12. Deployment
13. Package
Namun demikian, tidak semua
diagram yang disebutkan di atas
harus digunakan dalam perancangan suatu software. Apabila sistem dapat
digambarkan dan dipahami dengan baik menggunakan beberapa diagram
saja,
maka dapat dikatakan
cukup karena telah memenuhi tujuan dari
UML.
  
9
2.1.2.1 Use Case Diagram
Menurut Whitten dan Bentley (2007: 246),
use case
diagram adalah diagram yang merepresentasikan interaksi antara
sistem, sistem eksternal, dan aktor. Dengan kata lain, use case
diagram merepresentasikan siapa yang akan menggunakan sistem
dan bagaimana user berinteraksi dengan sistem.
Sebuah use case
merepresentasikan sebuah tujuan dari
sistem dengan menggambarkan urutan aktivitas dan interaksi user
dalam mencapai tujuan.
Use case
digambarkan dengan sebuah
bentuk elips dengan nama dari use case yang muncul dari atas,
bawah, atau dalam elips.
Gambar 2.1 Contoh Use Case Diagram
1.
Aktor
Aktor adalah semua yang berinteraksi dengan use case
di
dalam sistem. Aktor direpresentasikan dengan sebuah stick
figure yang berlabel nama peran aktor.
  
10
Gambar 2.2 Aktor pada Use Case Diagram
Terdapat 4 (empat) tipe aktor, antara lain:
a.
Primary business actor
Primary business actor
adalah pihak yang mendapatkan
hasil dari eksekusi use case.
b.
Primary system actor
Primary system actor adalah pihak yang secara langsung
berinteraksi dengan sistem.
c.
External server actor
External server actor adalah pihak yang menanggapi
permintaan dari use case.
d.
External receiver actor
External receiver actor adalah pihak yang bukan
merupakan primary actor tetapi  mendapatkan hasil dari
use case.
2.
Relasi
Relasi direpresentasikan sebagai garis di antara 2 (dua) simbol
dalam use case diagram. Arti dari relasi tersebut berbeda
tergantung tipe relasinya. Tipe relasi yang terdapat dalam use
case diagram, antara lain:
  
11
a.
Asosiasi
Asosiasi adalah relasi antara aktor dengan use case.
Direpresentasikan dengan sebuah garis dengan atau tanpa
anak panah. Asosiasi dengan anak panah menjelaskan
bahwa use case dilakukan oleh aktor, sedangkan asosiasi
tanpa anak panah menjelaskan interaksi antara
use case
dengan external server atau receiver actor.
Gambar 2.3 Asosiasi pada Use Case Diagram
b.
Extends
Sebuah use case mungkin saja memiliki lebih dari 1 (satu)
tahap, sehingga kompleksitas use case tersebut meningkat.
Langkah kompleks yang terdapat dalam use case tersebut
bisa diekstrak menjadi use case
baru yang dinamakan
extension use case.
Relasi antara use case dengan extension use case disebut
extends. Relasi ini direpresentasikan dengan garis dengan
anak panah berlabel “<<extends>>”.
  
12
Gambar 2.4 Extends pada Use Case Diagram
c.
Uses (atau Includes)
Digunakan pada saat terdapat 2 (dua) atau lebih use case
melakukan tahapan fungsionalitas yang sama. Tahapan
yang sama ini dapat diekstrak menjadi use case baru yang
dinamakan abstract use case
dengan tujuan mengurangi
berlebihnya use case.
Relasi antara use case
dengan abstract use case
disebut
uses
atau includes. Relasi ini direpresentasikan dengan
garis dengan anak panah berlabel “<<uses>>”.
Gambar 2.5 Uses pada Use Case Diagram
d.
Depends On
Relasi use case ini menentukan use case mana yang harus
dilakukan terlebih dahulu sebelum melakukan use case
lain yang bersangkutan. Relasi ini digambarkan dengan
garis dengan anak panah berlabel “<<depends on>>”.
  
13
Gambar 2.6 Depends On pada Use Case Diagram
e.
Inheritance
Relasi ini digunakan pada
saat 2 (dua) atau lebih aktor
melakukan use case
yang sama. Relasi ini digambarkan
dengan garis dengan anak panah kosong.
Gambar 2.7 Inheritance pada Use Case Diagram
2.1.2.2 Sequence Diagram
Menurut Whitten dan Bentley (2007: 659),
sequence
diagram
adalah diagram yang menggambarkan model logika
sebuah use case
dengan menggambarkan interaksi dari pesan
antar objek dalam urutan waktu tertentu.
  
14
Gambar 2.8 Contoh Sequence Diagram
Elemen-elemen yang digunakan dalam sequence diagram,
antara lain:
Tabel 2.1 Tabel Elemen Sequence Diagram
Simbol
Nama
Deskripsi
Aktor
Orang atau entitas yang
berinteraksi dengan sistem.
Objek
Instansi dari sebuah class.
  
15
Aktivasi
Representasi dari lamanya
waktu pada saat objek
digunakan.
Pesan
Menyampaikan method dari
setiap objek.
Self-call
Digunakan
pada saat objek
tersebut mengirimkan pesan
ke objek itu sendiri.
Pesan
kembali
(return)
Merupakan hasil dari pesan
yang disampaikan suatu
objek.
Frame
Digunakan sebagai penanda
area pada diagram yang
mengalami perulangan
(looping), seleksi
(alternative), atau memiliki
aturan tertentu (optional).
2.1.2.3 Activity Diagram
Menurut Whitten dan Bentley (2007: 390),
activity
diagram adalah diagram yang menggambarkan alur proses bisnis,
langkah-langkah dalam sebuah use case, atau logika dari perilaku
objek.
  
16
Gambar 2.9 Contoh Activity Diagram
Elemen-elemen yang digunakan dalam activity diagram,
antara lain:
Tabel 2.2 Tabel Elemen Activity Diagram
Simbol
Nama
Deskripsi
Initial
Node
Merepresentasikan mulainya
suatu proses.
Action
Merepresentasikan langkah suatu
aktivitas, yang ditampilkan
secara berurutan.
Flow
Merepresentasikan arah proses
dari tiap aktivitas.
  
17
Decision/
Merge
1.
Decision
Merepresentasikan kondisi
untuk memilih satu di antara
2 (dua) atau lebih aktivitas.
2.
Merge
Merepresentasikan kondisi
yang menggabungkan alur
aktivitas yang sebelumnya
dipisahkan oleh decision.
Fork/Join
1.
Fork
Merepresentasikan keadaan
paralel, di mana 2 (dua) atau
lebih actions
berlangsung
secara bersamaan.
2.
Join
Merepresentasikan
berakhirnya proses paralel
yang berasal dari suatu fork.
Activity
Final
Merepresentasikan berakhirnya
suatu proses.
  
18
Swimlanes
Swimlanes digambarkan dengan
membagi activity diagram
ke
dalam bagian-bagian yang
menampilkan aktivitas-aktivitas
dari class atau actor tertentu.
Suatu activity diagram
dapat dibagi ke dalam beberapa
partitions
yang disebut swimlanes
untuk melihat aktivitas apa
yang dilakukan oleh actor
tertentu, dan dapat terdiri dari two-
dimensional grid.
2.1.2.4 Class Diagram
Menurut Whitten dan Bentley (2007: 400), class diagram
merupakan gambaran mengenai struktur kelas-kelas beserta
hubungan antar kelas yang menyusun suatu sistem. Setiap kelas
digambarkan dengan sebuah kotak yang terbagi atas 3 (tiga)
bagian, yaitu:
1.
Nama kelas
Nama kelas merupakan identitas dari setiap kelas.
2.
Atribut kelas
Atribut kelas menunjukkan informasi yang dimiliki oleh suatu
kelas.
  
19
3.
Operasi kelas
Operasi kelas menunjukkan apa yang bisa dilakukan oleh
suatu kelas.
Gambar 2.10 Struktur kelas
Terdapat beberapa istilah yang digunakan dalam class
diagram, yaitu:
1.
Visibility
Visibility berfungsi untuk menjelaskan sifat dari setiap atribut
atau operasi yang berada dalam suatu kelas.
Tabel 2.3 Tabel Penjelasan Visibility
Visibility
Simbol
Deskripsi
Private
-
Hanya dapat diakses oleh kelas
yang mendefinisikan saja.
Protected
#
Dapat diakses oleh kelas yang
mendefinisikan dan turunannya.
Public
+
Dapat diakses oleh semua kelas
yang berhubungan.
  
20
2.
Multiplicity
Multiplicity berfungsi untuk menentukan nilai minimum dan
maksimum hubungan antara kelas.
Tabel 2.4 Tabel Penjelasan Multiplicity
Multiplicity
Deskripsi
0..1
Nol atau satu
1
Tepat satu
0..*
Nol atau lebih
1..*
Satu atau lebih
m..n
Rentang yang spesifik
3.
Asosiasi
Asosiasi menggambarkan hubungan antar kelas. Hubungan
antar kelas ini sekaligus menampilkan multiplicity
yang
dimiliki antar kelas.
Asosiasi dibedakan menjadi 2 (dua) jenis, yaitu:
a.
Uni-directional
Merupakan hubungan dimana pada kedua kelas yang
terhubung, hanya salah satu kelas dari hubungan tersebut
yang memiliki peran. Kelas yang berperan menunjuk ke
kelas lain dengan menggunakan anak panah yang disebut
navigability.
  
21
Gambar 2.11 Contoh Uni-directional
b.
Bi-directional
Merupakan hubungan dimana kedua kelas yang terhubung
saling memiliki peran dalam hubungan tersebut.
Gambar 2.12 Contoh Bi-directional
4.
Generalisasi/Spesialisasi
Generalisasi/spesialisasi adalah sebuah teknik dimana atribut
dan method yang dimiliki beberapa kelas memiliki kesamaan
dengan kelas lainnya. Kesamaan tersebut dapat dikumpulkan
dan membentuk kelas baru yang disebut supertype
(generalisasi). Sedangkan kelas-kelas yang memiliki
kesamaan tersebut disebut dengan subtype (spesialisasi).
  
22
Gambar 2.13 Contoh Generalisasi/Spesialisasi
5.
Agregasi
Agregasi menunjukkan adanya relasi antara kelas yang lebih
kecil merupakan bagian dari kelas yang lebih besar. Sifat dari
agregasi ini adalah asimetris, dimana apabila kelas A adalah
bagian dari kelas B, tidak berarti bahwa kelas B adalah bagian
dari kelas A.
Gambar 2.14 Contoh Agregasi
Bentuk lain dari agregasi adalah komposisi. Komposisi adalah
relasi agregasi dimana suatu kelas yang lebih besar berperan
secara penuh terhadap eksistensi dari kelas lain. Kelas lain
tidak akan ada apabila kelas yang lebih besar tersebut tidak
dibuat.
  
23
Gambar 2.15 Contoh Komposisi
Selain itu menurut Whitten dan Bentley (2007: 648-649),
dalam class diagram terdapat sedikitnya 3 (tiga) tipe kelas objek
yang menyusun suatu sistem berorientasi objek, antara lain:
1.
Entity class, yaitu kelas objek yang berisi informasi terkait
bisnis dan impementasi dari kelas analisis.
2.
Interface class, yaitu kelas objek yang mendukung
komunikasi antara aktor dan sistem.
3.
Controller class, yaitu kelas objek yang mengandung logika
aplikasi, serta menjadi kelas penghubung pesan-pesan yang
terdapat pada kelas interface dan kelas entity.
2.1.2.5 Designing Relational Database
Menurut Satzinger, Jackson, dan Burd (2005: 409),
designing relational database
merupakan
perancangan database
relational
dari sebuah class diagram. Berikut tahapan-tahapan
dalam mengubah sebuah class diagram
menjadi database
relational, antara lain:
  
24
1.
Membuat tabel untuk setiap class.
Merupakan tahapan
pertama dalam membuat database
relational dengan membuat tabel untuk setiap class pada class
diagram. Nama atribut dari tabel akan disamakan dengan yang
sudah didefinisikan dalam class diagram
dan
kamus data
untuk mencegah kebingungan.
2.
Memilih primary key untuk setiap tabel.
Setelah membuat tabel untuk setiap class, tahapan selanjutnya
adalah menentukan primary key untuk setiap tabel. Bila dalam
sebuat tabel sudah ada sebuat atribut yang unik, maka atribut
tersebut dapat dipilih sebagai primary key.
3.
Menambahkan foreign key untuk menunjukkan hubungan one-
to-one.
Setiap foreign key
menunjukkan hubungan antar tabel yang
memiliki foreign key
dengan tabel yang menggunakan key
yang sama sebagai primary key. Saat menunjukkan hubungan
one-to-one, foreign key tidak menjadi bagian dari primary key
dari tabel tersebut.
4.
Membuat tabel baru untuk menunjukkan hubungan many-to-
many.
Bila terdapat suatu hubungan many-to-many antar tabel, maka
tabel tersebut harus dipisahkan menjadi beberapa tabel dan
memiliki lebih dari satu primary key.
  
25
5.
Merepresentasikan hirarki dari class.
Hirarki dari class ditunjukkan dengan hubungan parent class
dengan child class, dimana parent class menurunkan beberapa
atau seluruh atribut dan method
ke child class. Ada 2 (dua)
cara untuk merepresentasikannya, yaitu:
a.
Mengkombinasikan seluruh tabel ke dalam sebuah tabel
yang memiliki seluruh atribut dari semua child class.
b.
Menggunakan beberapa tabel untuk merepresentasikan
child class dengan menggunakan primary key dari parent
class sebagai primary key dari child class.
6.
Mendefinisikan batasan referensi integritas.
Pada tahapan ini dijelaskan sebuah hubungan konsisten antara
nilai foreign key dengan primary key, yaitu setiap foreign key
mereferensikan sebuah primary key
dari tabel lain. Namun
pada kondisi tertentu
dapat terjadi sebuah
foreign key yang
muncul di suatu tabel dan berperan sebagai primary key pada
tabel yang bersangkutan, yang biasa disebut dengan
referencial integrity constraint.
7.
Mengevaluasi kualitas skema dan membuat perbaikan bila
diperlukan.
Setelah pembuatan sekumpulan tabel, desainer database harus
meninjau kualitas skema yang telah dibuat. Sebuah model data
yang memiliki kualitas yang bagus harus mempunyai
beberapa fitur seperti:
  
26
a.
Keunikan suatu set baris pada tabel dan primary key.
b.
Data tidak redundan.
c.
Kemudahan dalam modifikasi data model di masa yang
akan datang.
8.
Memilih tipe data yang sesuai dan batasan nilai untuk setiap
kolom bila diperlukan.
Pada tahapan terakhir, setiap atribut yang termasuk ke dalam
database relational diberi tipe data yang sesuai dan batasan-
batasan yang diperlukan untuk setiap atribut.
2.1.3
Rekayasa Perangkat Lunak
Menurut Pressman (2010: 13),
rekayasa perangkat lunak atau
software engineering adalah proses pembentukan dan penerapan prinsip-
prinsip perancangan yang ada untuk menghasilkan software
yang
ekonomis yang dapat diandalkan serta dapat bekerja secara efisien.
Salah satu model pengembangan sistem yang terkenal adalah
model Waterfall,
yaitu model yang menekankan perencanaan yang
matang di tahap awal dan memastikan kekurangan yang mungkin terjadi
pada rancangan sebelum rancangan tersebut akan dikembangkan lebih
lanjut lagi. Adapun tahapannya adalah sebagai berikut:
1.
Communication
Pada tahap ini dilakukan
tahap awal
proyek yaitu berkomunikasi
dengan konsumen (dan beberapa pihak yang berkepentingan), dengan
tujuan
agar perancang dapat
memahami keseluruhan isi proyek.
  
27
Selain itu dilakukan juga pengumpulan kebutuhan
yang nantinya
membantu menentukan fungsi dan fitur software.
2.
Planning
Pada tahap ini dibuat sebuah rencana proyek untuk membantu
menentukan arah proyek ke depannya. Rencana
proyek tersebut
menjelaskan tugas-tugas yang harus dilakukan, resiko yang mungkin
terjadi, sumber daya yang akan diperlukan, produk yang harus
dihasilkan, serta jadwal pengerjaan software.
3.
Modeling
Pada tahap ini dilakukan perancangan model dimana perancang
menerjemahkan
kebutuhan sistem ke dalam bentuk representasi
model. Tujuannya agar perancang lebih memahami masalah dan cara
mengatasinya.
4.
Construction
Pada tahap ini rancangan akan diterjemahkan ke dalam bahasa mesin.
Dilakukan proses coding dan uji aplikasi untuk mengecek apakah ada
kesalahan yang terjadi.
5.
Deployment
Setelah proses construction selesai, hasilnya akan diberikan kepada
konsumen agar dievaluasi. Hasil evaluasi tersebut akan menjadi
umpan balik dari konsumen.
  
28
Gambar 2.16 Model Waterfall
(Sumber: Roger S. Pressman, Software Engineering: A Practitioner’s
Approach, 2010: 39)
2.1.4
Sistem Basis Data
Menurut Connolly dan Begg (2010: 65),
database
adalah
sekumpulan data yang terhubung secara logis beserta deskripsi dari data
tersebut, yang dirancang untuk memenuhi kebutuhan
informasi suatu
organisasi.
Database
merupakan
sebuah kesatuan yang dapat menampung
data yang besar sehingga dapat digunakan bersama oleh banyak
departemen dan user. Database
tidak hanya berisi data operasional
organisasi tetapi juga mendeskripsikan data tersebut. Oleh karena itu
database disebut juga sebagai system catalog atau data dictionary atau
metadata (data menjelaskan data).
  
29
2.1.4.1 Database Management System
Menurut Connolly dan Begg (2010: 66),
Database
Management System (DBMS) adalah sebuah sistem software yang
memungkinkan user
untuk mendefinisikan, membuat,
memelihara, dan mengontrol akses ke dalam database.
DBMS merupakan software
yang berinteraksi dengan
program aplikasi user
dan database.
Fasilitas-fasilitas yang
disediakan oleh DBMS adalah sebagai berikut:
1.
Memungkinkan
user
untuk mendefinisikan database
melalui
Data Definition Language
(DDL)
sehingga
user
dapat
menentukan tipe data, struktur dan batasan-batasan dari data
yang bisa disimpan dalam database.
2.
Memungkinkan
user
untuk melakukan insert
(menambah),
update
(memperbarui), delete (menghapus), dan retrieve
(mengambil) data dari database, biasanya melalui Data
Manipulation Languange (DML).
3.
Menyediakan kontrol akses ke dalam database, contohnya:
a.
Security system, sistem dimana
masing-masing user
memiliki hak akses yang berbeda terhadap database.
b.
Integrity system, sistem yang memelihara konsistensi dari
data yang disimpan.
c.
Concurrency control system, sistem yang memungkinkan
satu atau lebih user
untuk mengakses
database
secara
bersamaan.
  
30
d.
Recovery control system, sistem yang mengembalikan
database
ke kondisi sebelumnya jika terjadi kegagalan
kerja dari hardware atau software.
e.
User-accessible catalog, yang bersisi deskripsi dari data di
dalam database.
Gambar 2.17 DBMS environment
(Sumber: Thomas Connolly dan Carolyn Begg, Database
Systems: A Practical Approach to Design, Implementation, and
Management, 2010: 68)
Menurut Connolly dan Begg (2010: 68-71),
DBMS
mempunyai 5 (lima) komponen utama, antara lain:
1.
Perangkat keras (Hardware)
DBMS dan aplikasi memerlukan perangkat keras agar proses
dapat berjalan. Perangkat keras dapat berupa komputer,
sebuah mainframe, atau sekumpulan komputer yang
terhubung dalam jaringan.
Perangkat keras yang digunakan
bergantung pada kebutuhan organisasi dan DBMS yang
digunakan. Beberapa DBMS hanya bisa digunakan pada
hardware atau sistem operasi tertentu saja.
  
31
2.
Perangkat lunak (Software)
Komponen perangkat lunak (software)
terdiri dari software
DBMS itu sendiri
dan program aplikasi bersama
dengan
sistem operasi, termasuk software
jaringan apabila DBMS
tersebut menggunakan jaringan.
3.
Data
Data merupakan komponen yang paling penting dalam
DBMS, khususnya dari sudut pandang end-user
karena data
merupakan jembatan antara komponen mesin dengan
komponen manusia. Database
berisi data operasional dan
metadata. Struktur dari database disebut dengan schema.
4.
Prosedur (Procedures)
Prosedur mengacu pada instruksi dan aturan yang menentukan
rancangan
dan penggunaan
dari database. User
dari sistem
dan staf yang mengatur database membutuhkan prosedur yang
terdokumentasi yang berisi cara menjalankan sistem.
5.
Orang (People)
Orang merupakan komponen terakhir yang terlibat di dalam
sistem, contohnya: data administrator
dan database,
perancang database, pengembang aplikasi, dan end-user.
2.1.4.2 Bahasa Database
Menurut Connolly dan Begg (2010: 91-92),
bahasa
database dibagi menjadi 2 (dua) bagian, yaitu:
  
32
1.
Data Definition Language
Data Definition Language
(DDL) merupakan bahasa yang
memungkinkan Database Administrator (DBA) atau user
untuk mendeskripsikan dan menamai entitas, atribut, dan
relasi yang diperlukan untuk aplikasi, bersama dengan semua
integritas yang terkait dan kendala keamanannya.
DDL
digunakan untuk membuat skema atau mengubah skema yang
sebelumnya, tetapi tidak dapat melakukan manipulasi
data.
DDL menghasilkan kumpulan tabel yang disimpan dalam file
khusus yang disebut system catalog.
2.
Data Manipulation Languange
Data Manipulation Languange
(DML) adalah bahasa yang
menyediakan kumpulan operasi untuk mendukung proses
manipulasi data yang berada dalam database. Manipulasi data
yang ada dalam database
biasanya termasuk operasi untuk
menambah data baru, modifikasi data, mengambil data, dan
menghapus data.
2.1.4.3 Entity-Relationship Modeling
Menurut Connolly dan Begg
(2010: 371), Entity-
Relationship Modeling
atau ER Model
adalah pendekatan top-
down untuk merancang database yang dimulai dengan identifikasi
data penting (yang disebut entitas)
dan relasi antar data yang
harus terwakili dalam model tersebut.
  
33
1.
Entity Types
Konsep dasar dari ER Model adalah entity types, yaitu
kumpulan objek dengan sifat (property) yang sama, yang
diidentifikasi oleh perusahaan karena memiliki eksistensi yang
independen. Artinya, keberadaannya dapat berupa fisik
maupun abstrak.
2.
Relationship Types
Relationship type merupakan sekumpulan hubungan antara
satu atau lebih tipe entitas. Setiap tipe relasi diberikan sebuah
nama yang menjelaskan fungsinya.
3.
Attributes
Atribut adalah sifat (property) dari sebuah entitas
atau
relationship types. Contohnya, tipe entitas
Staff
dapat
dideskripsikan dengan atribut staffNo, name, position,
dan
salary.
4.
Keys
a.
Candidate key, adalah atribut-atribut yang nilainya dapat
mengidentifikasikan setiap data dalam sebuah entitas.
b.
Primary key, adalah candidate key
yang dipilih untuk
secara unik mengindentifikasikan setiap data
dalam
sebuah entitas.
c.
Alternate key, adalah candidate key
yang bukan
merupakan primary key.
  
34
d.
Composite key, adalah candidate key yang terdiri dari dua
atau lebih atribut.
e.
Foreign key, adalah atribut atau serangkaian atribut dalam
sebuah relasi yang mencocokkan candidate key
dari
beberapa (mungkin semua relasi).
5.
Multiplicity
Multiplicity adalah jumlah (atau rentang) data dalam entitas
yang mungkin dapat berelasi dengan sebuah data dalam
entitas lain melalui relasi tertentu.
-
One-to-One Relationships (1:1)
Hubungan yang terjadi apabila setiap data dalam entitas A
tepat berhubungan dengan satu data dalam entitas B.
-
One-to-Many Relationships (1:*)
Hubungan yang terjadi apabila setiap data dalam entitas A
berhubungan dengan lebih dari satu data dalam entitas B.
-
Many-to-Many Relationships (*:*)
Hubungan yang terjadi apabila lebih dari satu data dalam
entitas A berhubungan dengan lebih dari satu data dalam
entitas B.
2.2
Teori Khusus
Pada teori khusus berisi teori-teori yang berkaitan dengan aplikasi yang
dibuat, meliputi kurikulum, Microsoft SQL Server, PHP, CodeIgniter,
HTML,
AJAX, JavaScript, JSON, dan jQuery.
  
35
2.2.1
Kurikulum
Kurikulum adalah sebuah program yang disusun dan dilaksanakan
untuk mencapai suatu tujuan pendidikan. Dengan kata lain kurikulum
dapat
diartikan sebuah program yang berupa dokumen program dan
pelaksanaan program. Sebagai sebuah dokumen, kurikulum (curriculum
plan) digambarkan dalam bentuk rincian mata kuliah, silabus, rancangan
pembelajaran, sistem evaluasi keberhasilan. Sedangkan kurikulum
sebagai sebuah pelaksanan program adalah bentuk pembelajaran yang
nyata dilakukan (actual curriculum) (Anonim2, 2012).
Penjabaran kurikulum tidak hanya berfokus pada proses
pembelajaran di kelas/laboratorium/studio saja tetapi dapat
dikembangkan dalam bentuk kegiatan informal lainnya yang menunjang
tercapainya kompetensi lulusan. Dalam melakukan proses penyusunan
kurikulum dapat disebabkan oleh adanya pembentukan program
studi/program/peminatan baru, masukan dari stakeholder
untuk
menjawab kebutuhan industri atau adanya perkembangan ilmu
pengetahuan.
Namun seringkali perubahan sebuah kurikulum seringkali hanya
terfokus pada pengubahan dokumen saja, tetapi pelaksanaan
pembelajaran, penciptaan suasana belajar, cara evaluasi atau perkiraan
pembelajaran, sering tidak berubah. Sehingga dapat dikatakan perubahan
kurikulum hanya pada tataran konsep atau mengubah dokumen saja. Ini
bisa dilihat dalam sistem pendidikan yang lama dimana kurikulum
diletakkan sebagai aspek input saja. 
  
36
Tetapi dengan cara pandang yang
lebih luas kurikulum dapat
berperan sebagai berikut (Anonim2, 2012):
1.
Kebijakan manajemen pendidikan tinggi untuk menentukan arah
pendidikannya.
2.
Filosofi yang akan mewarnai terbentuknya masyarakat dan iklim
akademik.
3.
Patron atau pola pembelajaran.
4.
Atmosfer
atau iklim yang terbentuk dari hasil interaksi manajerial
pendidikan tinggi dalam mencapai tujuan pembelajarannya.
5.
Rujukan kualitas dari proses penjaminan mutu.
6.
Ukuran keberhasilan pendidikan tinggi dalam menghasilkan lulusan
yang bermanfaat bagi masyarakat.
Dengan uraian diatas, nampak bahwa kurikulum tidak hanya
berarti sebagai suatu dokumen saja, namun mempunyai peran yang
kompleks dalam proses pendidikan.
2.2.2
Microsoft SQL Server
Microsoft SQL Server adalah sebuah server database
yang
lengkap dan menyediakan sekumpulan teknologi yang siap digunakan
dalam perusahaan, serta fitur-fitur yang dapat membantu orang untuk
mengolah informasi. Dengan ini, database dapat digunakan secara client
server
dalam lingkungan intranet
bahkan internet. SQL Server
mendukung integrasi internet, manajemen transaksi, serta fitur data
warehouse. Untuk dapat mengakses data dari database
user
harus
  
37
melewati 2 (dua) tahap otentikasi, yaitu tahap pertama yang dilakukan
oleh SQL Server dan tahap lainnya oleh Database Management System
(Sivakumar, 2011: 60).
2.2.3
PHP
PHP (PHP
Hypertext Preprocessor)
merupakan bahasa
pemrograman yang banyak digunakan
dan sesuai
untuk pengembangan
web serta dapat tertanam ke dalam HTML (Anonim3, 2012).
Menurut Sunyoto (2007: 121), PHP memiliki beberapa kelebihan,
antara lain:
1.
Mudah dibuat dan dijalankan.
2.
PHP mampu berjalan pada sistem operasi UNIX, Windows dan
Macintosh.
3.
PHP bisa didapatkan secara gratis.
4.
PHP mampu berjalan pada web server, seperti Microsoft Personal
Web Server, Apache, IIS, dan lain-lain.
5.
PHP dapat diletakkan dalam tag HTML.
PHP disisipkan dalam HTML dengan tag <?php .... ?>. Gambar
berikut memberikan ilustrasi bagaimana script PHP dieksekusi:
  
38
Gambar 2.18 Cara Kerja PHP
(Sumber: Andy Sunyoto, AJAX Membangun Web dengan Teknologi
Asynchronouse JavaScript dan XML, 2007: 122)
Berikut adalah contoh penggalan script PHP:
<?php
echo "Contoh Script PHP <br>";
echo "Hello World, Hello World <br>";
echo "Selesai. <br>"
?>
Hasilnya adalah:
2.2.4
CodeIgniter
CodeIgniter adalah framework PHP yang mengandung kumpulan
tool
sederhana dan mudah digunakan untuk membangun fitur aplikasi
web
yang lengkap. CodeIgniter bersifat open source dan cocok bagi
  
39
pengembang yang ingin mengembangkan aplikasinya dalam waktu yang
lebih singkat (Griffiths, 2010).
CodeIgniter menyediakan struktur sederhana dan logis untuk
mengakses libraries
yang berisi banyak functions
dan methods
untuk
membantu membangun sebuah aplikasi web yang kompleks dan dinamis.
Beberapa kelebihan CodeIgniter dibandingkan dengan framework
PHP
lainnya, antara lain (Anonim4, 2012):
1.
Performa cepat
Salah satu alasan tidak menggunakan framework
adalah karena
eksekusinya yang lebih lambat daripada PHP yang biasa, tapi
performa CodeIgniter lebih cepat diantara framework yang lain.
2.
Konfigurasi yang sangat minim
Tentu saja untuk menyesuaikan dengan database
dan keleluasaan
routing
tetap diizinkan melakukan konfigurasi dengan mengubah
beberapa file
konfigurasi seperti database.php atau autoload.php,
namun untuk menggunakan CodeIgniter dengan pengaturan yang
standar hanya perlu mengubah sedikit file pada folder config.
3.
Dokumentasi yang lengkap dan mudah digunakan
Setiap paket instalasi CodeIgniter sudah disertai user guide
yang
lengkap dan mudah dipahami untuk dijadikan sebagai panduan.
4.
Banyak komunitas
Semakin banyaknya komunitas CodeIgniter memudahkan user untuk
berinteraksi dengan user yang lain.
  
40
Menurut Griffiths
(2010), CodeIgniter berdasar pada pola
pengembangan Model View Controller (MVC). Model View Controller
adalah sebuah pendekatan perangkat lunak yang memisahkan logika
aplikasi dari tampilan layar. MVC memungkinkan halaman web memiliki
sedikit script karena tampilan terpisah dari script PHP. Terdapat 3 (tiga)
jenis komponen yang membangun MVC, antara lain:
1.
Model, untuk menggambarkan struktur data. Biasanya kelas model
yang ada akan berisi fungsi-fungsi yang membantu proses retrieve,
insert, dan update informasi dari database.
2.
View, adalah informasi yang ditampilkan kepada user. Normalnya
View adalah halaman web itu sendiri, tetapi dalam CodeIgniter, View
dapat berupa bagian-bagian dari web seperti header atau footer. Dapat
juga bertipe halaman RSS, atau halaman yang lain.
3.
Controller, berfungsi sebagai perantara antara bagian Model
dan
View, serta komponen lain yang dibutuhkan dalam proses HTTP
request dan generate halaman web.
Dengan menggunakan prinsip MVC, suatu aplikasi dapat
dikembangkan sesuai dengan kemampuan pengembangnya, yaitu
programmer
yang menangani bagian Model
dan Controller, sedangkan
designer yang menangani bagian View.
  
41
2.2.5
HTML
Menurut Patel dan Patel (2012: 406), HyperText Markup
Language (HTML) adalah bahasa penulisan utama untuk halaman web.
Elemen-elemen HTML merupakan blok pembangun dasar dalam
membangun sebuah halaman web. HTML menggunakan beberapa
instruksi khusus yaitu tag
atau markup
untuk menentukan struktur dan
tata letak dari halaman
web
serta menentukan bagaimana seharusnya
halaman ditampilkan dalam web browser.
HTML disusun dari berbagai elemen seperti heading, paragraph,
hyperlink, list, image, dan lainnya. Kebanyakan dari elemen tersebut
terdiri dari 3 bagian yaitu: start tag, content, dan end tag. HTML
mencakup ratusan tag yang digunakan untuk memformat halaman web
dan membuat hyperlink menuju ke dokumen atau halaman web lainnya.
Berikut adalah contoh penggalan script HTML:
<html>
<head>
<title>Title Example</title>
</head>
<body>
    <hgroup>
    
<h1><i>Main Header</i></h1>
        <h3><font style="color:#00F">Sub Header</font></h3>
    </hgroup>
</body>
</html>
Hasilnya adalah:
  
42
2.2.6
AJAX
Menurut Zaki dan Community (2008: 1-2), Asynchronous
JavaScript and XML
atau disingkat AJAX merupakan teknik baru di
dunia pengembangan halaman web, yang lebih "kaya" dibandingkan
dengan aplikasi web
biasa. Hal tersebut terjadi karena AJAX
memungkinkan sebuah halaman web memperbarui data dari server untuk
ditampilkan tanpa harus melakukan refresh, sehingga halaman terlihat
lebih responsif. Dengan demikian, sebuah aplikasi web akan terasa seperti
aplikasi desktop dari segi kecepatan, interaktivitas, dan fungsionalitasnya.
AJAX bersifat asynchronous
(asinkron) karena permintaan data
tambahan dari server
dan proses loading
dilakukan di background
sehingga tidak mempengaruhi tampilan dan sifat halaman web
pada
waktu halaman tersebut diakses. Ketika AJAX bekerja untuk mengambil
data dari server, user
yang sedang membuka halaman web
masih tetap
dapat berinteraksi dengan halaman web tersebut.
Menurut Phaneendra (2012: 12), dengan asynchronous mode di
atas memungkinkan user
untuk mendapatkan sejumlah data atau
informasi pada sistem klien tanpa membiarkan klien tersebut berada
dalam keadaan menunggu untuk waktu yang lama.
  
43
Gambar 2.19 Classic Web Application Model (Asynchronous)
(Sumber: S. Vikram Phaneendra, Minimizing Client-Server Traffic Based
on AJAX, 2012: 12)
Gambar 2.20 AJAX Web Application Model (Synchronous)
(Sumber: S. Vikram Phaneendra, Minimizing Client-Server Traffic Based
on AJAX, 2012: 12)
2.2.7
JavaScript
Menurut Patel dan Patel (2012: 407), JavaScript merupakan
bahasa pemrograman yang dirancang untuk web. JavaScript dapat
melakukan berbagai fungsi yang digunakan untuk memanipulasi halaman
  
44
web. Dengan kata lain JavaScript akan bereaksi terhadap tindakan user
dalam sebagian besar kasus. Contohnya, jika user menggerakkan mouse
ke arah suatu teks atau gambar, maka JavaScript akan melakukan rollover
dan melakukan perubahan lain terhadap teks atau gambar tersebut.
JavaScript menyediakan beberapa fungsi-fungsi, seperti password
protection, deteksi browser, atau menampilkan informasi, seperti waktu
dan tanggal yang tepat pada sebuah halaman web. Selain itu JavaScript
digunakan untuk memberikan kontrol lebih kepada perancang website
serta bagaimana halaman web terebut dimunculkan oleh browser (Patel
dan Patel, 2012: 407).
2.2.8
JSON
JavaScript Object Notation
(JSON) adalah sebuah format
pertukaran data yang ringan serta mudah dibaca dan dibuat oleh
komputer. JSON termasuk format bahasa independen tetapi
menggunakan cara konvensional yang familiar bagi perancang bahasa C,
termasuk C, C++, C#, JavaScript, Perl, Python, dan sebagainya
(Anonim6, 2012).
Menurut Soebroto dan Arwani (2012: 21), penggunaan JSON
secara umum terdiri dari fungsi encode dan decode. Fungsi encode akan
mengubah nilai dari variabel array
menjadi suatu format yang dapat
dibaca sebagai JSON array. Sedangkan fungsi decode
adalah proses
memperoleh nilai dari suatu variabel dengan format JSON array. Dalam
proses decode, nilai dari variabel JSON array
akan diekstrak menjadi
  
45
suatu nilai output
tertentu.
Beberapa kelebihan yang membuat JSON
layak untuk digunakan, antara lain:
1.
JSON bersifat text biasa, sehingga lebih ringan digunakan.
2.
JSON bersifat “self-describing” sehingga dapat dibaca oleh manusia.
3.
JSON bersifat hirarkis.
4.
JSON dapat diuraikan oleh JavaScript.
5.
Data JSON dapat dikirimkan menggunakan AJAX.
2.2.9
jQuery
jQuery adalah salah satu library
JavaScript yang ringkas dan
sederhana
yang berfungsi
untuk memanipulasi komponen di dokumen
HTML, menangani event, animasi, dan mendukung
interaksi
AJAX.
Sesuai slogannya yaitu “write less, do more”, jQuery dirancang agar
penggunaan JavaScript menjadi lebih mudah (Anonim5, 2012).
Selain itu, jQuery juga mendukung pengembang untuk membuat
plug-in dalam library JavaScript. Nantinya library pada JavaScript akan
disimpan dalam file
JavaScript tunggal yang berisi semua fungsi pada
jQuery. Dengan adanya fasilitas tersebut diharapkan pengembang dapat
membuat halaman web yang powerful dan dinamis (Kaur, Pati, Lotlikar,
Rodrigues, Talekar, Dhere, 2011: 230).