BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori...

51
7 BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori Pembangkit Soal Ujian A. Pengertian Pembangkit Soal Ujian Menurut http://www.testshop.com , ”Pembangkit soal ujian adalah program komputer atau software yang memberikan kemudahan bagi trainer dan pengajar dengan menyederhanakan keseluruhan proses penciptaan, penyebaran, dan administrasi untuk dalam penyusunan set soal ujian, bersumber pada database soal yang besar.”. Menurut http://www.conformiq.com/ctg.php , pembangkit soal ujian akan meningkatkan efisiensi kerja dengan menggantikan cara manual dengan cara design baru yang lebih tinggi levelnya. Menurut http://www.softempire.com/random-test-generator-pro.html , pembangkit soal ujian dirancang bagi kalangan pengajar pada tingkat manapun untuk mengembangkan sebuah bank soal yang berisi pertanyaan-pertanyaan dengan standar tertentu yang nantinya akan diekstrak dan dibuat menjadi sebuah set soal ujian. B. Fitur-Fitur Pada Pembangkit Soal Ujian Fitur yang biasa terdapat pada pembangkit soal menurut http://www.easytestmaker.com dan http://www.economicsnetwork.ac.uk/teaching /gaptool.htm

Transcript of BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori...

Page 1: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

7

BAB 2

LANDASAN TEORI

2.1 Teori Umum

2.1.1 Teori Pembangkit Soal Ujian

A. Pengertian Pembangkit Soal Ujian

Menurut http://www.testshop.com, ”Pembangkit soal ujian adalah

program komputer atau software yang memberikan kemudahan bagi trainer dan

pengajar dengan menyederhanakan keseluruhan proses penciptaan, penyebaran,

dan administrasi untuk dalam penyusunan set soal ujian, bersumber pada

database soal yang besar.”.

Menurut http://www.conformiq.com/ctg.php, pembangkit soal ujian akan

meningkatkan efisiensi kerja dengan menggantikan cara manual dengan cara

design baru yang lebih tinggi levelnya.

Menurut http://www.softempire.com/random-test-generator-pro.html,

pembangkit soal ujian dirancang bagi kalangan pengajar pada tingkat manapun

untuk mengembangkan sebuah bank soal yang berisi pertanyaan-pertanyaan

dengan standar tertentu yang nantinya akan diekstrak dan dibuat menjadi sebuah

set soal ujian.

B. Fitur-Fitur Pada Pembangkit Soal Ujian

Fitur yang biasa terdapat pada pembangkit soal menurut

http://www.easytestmaker.com dan http://www.economicsnetwork.ac.uk/teaching

/gaptool.htm

Page 2: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

8

1. Menciptakan dua atau lebih versi yang berbeda dari set soal yang asli,

dalam hal ini berarti menciptakan kombinasi set soal.

2. Memberikan kemudahan untuk meng-copy pertanyaan dari set soal yang

satu ke set soal yang lain.

3. Memberikan kemudahan untuk membuat salinan lengkap dari set-set soal

dan menyimpannya dengan nama yang berbeda.

4. Memberikan kemudahan untuk membuat lembar jawaban secara

otomatis.

5. Memberikan kemudahan untuk mengubah set soal ke format tertentu

seperti .doc maupun .pdf.

6. Memberikan kemudahan untuk mengecek ejaan dan tata bahasa sebelum

proses pencetakan soal.

7. Memberikan kemudahan dalam memasukkan gambar atau bagan pada

setiap soal.

8. Memberikan jaminan keamanan dengan login dan password dan

melarang tindakan print screen dan copy paste terhadap set soal yang

ada.

2.1.2 Tipe Soal

Terdapat lima tipe soal menurut http://www.herts.ac.uk/ltdu/pdp/resources/

tutorials/assessment/generator.pdf, yaitu :

1. True or False (Benar atau Salah)

Tipe soal dimana pembuat soal menyediakan sebuah pertanyaan beserta dua

pilihan jawaban, yaitu benar atau salah.

Page 3: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

9

2. Pilihan Ganda

Tipe soal dimana pembuat soal dapat menginput pertanyaan dan memberikan

sejumlah pilihan jawaban, dengan satu pilihan adalah jawaban yang benar, dan

pilihan jawaban yang lain adalah jawaban pengecoh.

3. Mengisi bagian yang kosong

Tipe soal dimana pembuat soal dapat menginput pertanyaan dalam bentuk

kalimat atau paragraf dan mengosongkan bagian tertentu untuk diisi oleh

peserta ujian.

4. Menjodohkan

Tipe soal dimana pembuat soal harus memberikan instruksi atau soal-soal

awal, dan juga memberikan sejumlah pilihan jawaban dari soal-soal tersebut

secara acak.

5. Uraian

Tipe soal dimana pembuat soal memberikan pertanyaan, baik berupa

pertanyaan yang membutuhkan jawaban singkat, jawaban uraian, maupun

pertanyaan yang berupa kasus dan membutuhkan jawaban dengan tingkat

analisa yang lebih dalam.

2.2 Teori Khusus

2.2.1 Teori Basis Data

A. Pengertian Data

Menurut James O’Brien (2004, p7), “Data are raw facts or observations,

typically about physical phenomena or business transactions. More specifically

data are objective measurements of the attributes of entities”. Jadi data dapat

Page 4: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

10

diartikan sebagai fakta mentah atau hasil pengamatan mengenai kejadian fisik

atau transaksi bisnis. Secara lebih spesifik data adalah ukuran tujuan atribut dari

suatu entitas.

B. Pengertian Basis Data (Database)

Menurut Date (1990, p10) “A database is a collection of persistent data

that is used by the application systems of some given enterprise.”, yang artinya

basis data adalah sekumpulan dari data tetap yang digunakan oleh sistem aplikasi

dari perusahaan.

Menurut Connolly (2005, p14) “Database, a shared collection of

logically related data, and a description of this data, designed to meet the

information needs of an organization.” yang artinya basis data merupakan

kumpulan data yang saling berhubungan secara logikal, yang didesain untuk

menampilkan informasi yang dibutuhkan oleh suatu organisasi.

Menurut Kroenke (2006, p11) “A Database is a self-describing collection

of integrated tables”, yang artinya basis data adalah kumpulan dari tabel-tabel

terintegrasi yang mendeskripsikan dirinya sendiri.

Pengguna dari sistem dapat melakukan beberapa operasi pada file – file

seperti dibawah ini:

Menambah file baru ke sistem basis data.

Memasukkan data kedalam file yang tersedia.

Mengambil, mengubah, atau menghapus data dari file.

Menghapus file yang ada dalam basis data.

Page 5: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

11

C. Database Management System (DBMS)

Menurut Gehrke (2003, p4) “DBMS is a software that designed to assist

in maintaining and utilizing large collection of data.”, yang artinya DBMS

merupakan perangkat lunak yang dirancang untuk membantu dalam memelihara

dan penggunaan koleksi data yang besar.

Menurut Connolly (2005, p16) “DBMS is a software that enables users

to define, create, maintain and control access to the database.”, yang artinya

sistem manajemen basis data merupakan sistem perangkat lunak yang

memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan

mengkontrol akses ke basis data.

Tiga jenis arsitektur Multi-User DBMS :

Teleprocessing

Arsitektur teleprocessing termasuk arsitektur yang bersifat tradisional,

dan hanya memiliki satu mainframe dengan sejumlah terminal yang

berhubungan.

File-Server

File-Server dihubungkan ke beberapa workstations melalui jaringan.

Database terletak dalam file-server, sedangkan DBMS dan aplikasi berjalan

pada tiap workstations. Kelemahannya terletak pada arus lalu lintas jaringan

yang signifikan, tiruan DBMS pada tiap workstations, dan tingkat

konkurensi, perbaikan, dan integritas yang lebih kompleks.

Page 6: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

12

Client-Server

Dalam arsitektur model Client-Server ini, database dan DBMS terletak

pada server, dan pihak client memiliki kewenangan terhadap pengaturan user

interface dan dalam menjalankan aplikasi.

Keuntungan menggunakan arsitektur Client-Server :

o Akses yang lebih luas ke database yang telah ada,

o Performa yang lebih meningkat,

o Kemungkinan terjadinya pengurangan terhadap biaya hardware,

o Pengurangan biaya komunikasi,

o Konsistensi yang meningkat.

D. Komponen Database Management System

Menurut Connolly (2005, p18), DBMS punya 4 komponen utama dalam

sebuah sistem, yaitu:

Perangkat Keras (Hardware)

Berupa komputer pribadi, mainframe tunggal, sampai komputer jaringan.

Perangkat Lunak (Software)

Terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi,

bersama-sama dengan sistem operasi, termasuk perangkat lunak jaringan.

Data

Data berperan sebagai jembatan antara komponen mesin dan manusia. Basis

data terdiri dari data operasional dan meta-data, data tentang data itu sendiri.

Page 7: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

13

Prosedur

Prosedur mengacu pada instruksi dan aturan-aturan yang menentukan desain

dan penggunaan basis data.

Pengguna

Komponen terakhir dari DBMS adalah orang yang terkait dengan sistem.

E. Model Data dan Entity Relationship Modeling (ERM)

Menurut Silberschatz, Korth, Sudarshan (2002, p7), ”data model : a

collection of conceptual tools for describing data, data relationship, data

semantics, and consistency constraints.” yang artinya model data adalah koleksi

dari alat konseptual untuk menggambarkan data, hubungan data, semantic data,

dan batasan konsistensi.

Terdapat empat jenis model data :

Object-based Data Models

Permodelan data yang mengutamakan entity relationship, semantic,

functional, dan object-oriented.

Record-based Data Models

Permodelan data yang mengutamakan Relational Data Model, Network Data

Model, dan Hierarchical Data Model.

Physical Data Models

Berisi penjelasan bagaimana data disimpan dalam komputer, menampilkan

informasi dalam struktur record, mengurutkan record, dan jalur akses.

Page 8: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

14

Conceptual Modeling

Merupakan proses konstruksi arsitektur database secara detail terlepas dari

rincian implementasinya. Desain konseptual ini sangat penting bagi

kesuksesan menyeluruh suatu sistem.

Menurut Connolly (2005, p342) “ERM is a top-down approach to

database design that begins by identifying the important data called entities and

relationships between the data that must be represented in the model.”, yang

artinya ERM merupakan pendekatan atas-bawah pada perancangan basis data

yang dimulai dengan mengidentifikasikan data penting yang disebut entitas dan

relasi antara data yang harus direpresentasikan dalam model.

a. Tipe Entitas (Entity Type)

Menurut Connolly (2005, p343) “Entity type is a group of objects with

the same properties, which are identified by the enterprise as having an

independent existence.”, yang artinya tipe entitas adalah sekelompok obyek yang

memiliki properti yang sama, dimana diidentifikasikan oleh suatu perusahaan

seperti memiliki keberadaan yang independen.

Menurut Connolly (2005, p344) tipe entitas dapat digolongkan menjadi 2

yaitu entitas kuat dan entitas lemah. Tipe entitas kuat adalah tipe entitas yang

keberadaannya tidak bergantung pada beberapa entitas lain. Sedangkan tipe

entitas lemah adalah tipe entitas yang keberadaannya bergantung pada beberapa

entitas lainnya.

Page 9: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

15

b. Tipe Relasi (Relationship Type)

Menurut Connolly (2005, p346) “Relationship type is a set of meaningful

associations among entity types.”, yang artinya tipe relasi adalah sekelompok

relasi yang berarti antar tipe-tipe entitas.

c. Atribut (Attribute)

Menurut Connolly (2005, p350) “Attribute is a property of an entity or

a relationship type.”, yang artinya atribut adalah properti dari suatu entitas atau

tipe relasi. Setiap atribut dihubungkan dengan sekelompok nilai yang disebut

domain (attribute domain).

d. Kunci (Key)

Menurut Connolly (2005, p352), ada 3 jenis kunci:

1. Kunci kandidat (Candidate key) : sekelompok atribut minimal yang

secara unik mengidentifikasikan keberadaan suatu tipe entitas.

2. Kunci utama (Primary key) : kunci kandidat yang dipilih untuk

mengidentifikasikan setiap keberadaaan tipe entitas secara unik.

3. Kunci gabungan (Composite key) : kunci kandidat yang terdiri dari dua

atribut atau lebih.

e. Structural Constraint

Menurut Connolly (2005, p356) aturan-aturan struktural harus

merefleksikan pembatasan dari hubungan seperti halnya di dunia nyata.

Tipe aturan utama dalam relasi disebut keserbaragaman (multiplicity).

Keserbaragaman adalah bilangan keberadaan yang mungkin dari tipe entitas

yang mungkin menghubungkan keberadaan tunggal dari tipe entitas yang

berhubungan melalui relasi tertentu.

Page 10: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

16

F. Data Definition Language (DDL)

Menurut Connolly (2005, p40) “DDL is a language that allows the DBA

or user to describe and name the entities, attributes, and relationships required

for the application, together with any associated integrity and security

constraint.”, yang artinya DDL adalah bahasa yang mengijinkan pengurus basis

data atau pengguna untuk menggambarkan dan memberi nama entitas, atribut

dan relasi yang dibutuhkan aplikasi, bersamaan dengan integritas yang

berhubungan dan aturan keamanan.

G. Data Manipulation Language (DML)

Menurut Connolly (2005, p41) “DML is a language that provides a set of

operations to support the basic data manipulation operations on the data held in

the database.”, yang artinya DML adalah bahasa yang menyediakan seperangkat

operasi untuk mendukung operasi manipulasi data dasar pada data yang

tersimpan dalam basis data.

H. Normalisasi

Menurut Connolly (2005, p387) “Normalization is a technique for

producing a set of relations with desirable properties, given the data

requirements of an enterprise.”. yang artinya normalisasi adalah teknik untuk

menghasilkan sekelompok relasi dengan properti yang diinginkan, memberikan

data kebutuhan dari suatu perusahaan.

Page 11: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

17

Ada 6 tahap normalisasi menurut Connolly (2005, p401) yaitu:

a. Bentuk Normal Pertama (First Normal Form / 1NF)

Definisi Bentuk Normal Pertama menurut Connolly (2005, p403) adalah

sebuah relasi dimana setiap baris dan kolom mempunyai hanya satu nilai.

Dengan mentransfer data dari sumber ke dalam format tersebut dan tabel dalam

bentuk tidak normal (unnormalized form) akan diubah ke bentuk normal pertama

dengan menghilangkan kelompok yang berulang seperti atribut atau sekelompok

atribut.

b. Bentuk Normal Kedua (Second Normal Form / 2NF)

Definisi bentuk Normal Kedua menurut Connolly (2005, p407) adalah

sebuah relasi yang ada pada bentuk normal pertama, dan setiap atribut yang

bukan primary key keterngantungan fungsional penuh pada primary key. Yang

didasarkan pada konsep ketergantungan fungsional secara penuh.

Perubahan dari 1NF ke 2NF ditentukan dengan menghilangkan

ketergantungan parsial. Jika terdapat ketergantungan parsial dilakukan

penghilangan atribut yang tergantung fungsional dengan memindahkan ke dalam

relasi baru dengan duplikasi dari determinannya.

c. Bentuk Normal Ketiga (Third Normal Form / 3NF)

Definisi Bentuk Normal Ketiga menurut Connolly (2005, p408) adalah

sebuah relasi dimana memenuhi 1NF dan 2NF dan dimana atribut tidak primary

key mengalami ketergantungan transitif pada primary key. Dan meskipun relasi

2NF lebih sedikit mengalami pengulangan data daripada 1NF, tidak dipungkiri

masih bisa mengalami update anomalies (relasi yang memiliki data yang

berulang).

Page 12: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

18

Normalisasi 2NF ke 3NF dilakukan dengan menghilangkan

ketergantungan transitif. Jika terdapat ketergantungan transitif, maka dihilangkan

dari relasi dengan menempatkan atribut pada suatu relasi yang baru dengan

duplikasi determinannya.

d. Bentuk Normal Boyce-Codd (BCNF)

Menurut Connolly (2005, p419) BCNF adalah suatu relasi jika dan hanya

jika setiap determinan adalah kunci kandidat.

BCNF berdasarkan pada prinsip ketergantungan fungsional. Perbedaan

BCNF dan 3NF adalah jika 3NF memungkinkan sebuah relasi memiliki B

sebagai primary key dan A ketergantungan fungsional terhadap B, A boleh tidak

merupakan kunci kandidat, sedangkan dalam BCNF, A harus merupakan kunci

kandidat.

e. Bentuk Normal Keempat (Fourth Normal Form / 4NF)

Meskipun BCNF menghilangkan anomali dari ketergantungan

fungsional, penelitian lebih lanjut mengidentifikasikan tipe ketergantungan

lainnya yang disebut multi-valued dependency (MVD) yang juga menyebabkan

pengulangan data.

MVD menggambarkan ketergantungan antara atribut dalam suatu relasi,

dimana setiap nilai dari A adalah sekelompok nilai untuk B dan sekelompok nilai

untuk C. Dimana nilai-nilai B dan C tidak tergantung satu sama lain.

Menurut Connolly (2005, p430) Bentuk normal keempat adalah suatu

relasi yang memenuhi BCNF dan tidak mengandung nontrivial multi-valued

dependencies (yang dilakukan dengan pemisahan atribut yang multi- valued

dependency ke relasi yang baru).

Page 13: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

19

f. Bentuk Normal Kelima (Fifth Normal Form / 5NF)

Menurut Connolly (2005, p431) Bentuk Normal Kelima adalah suatu

relasi yang tidak memiliki ketergantungan gabungan (join dependency). 5NF ini

sering disebut project-join normal form (PJNF).

Join dependency menggambarkan sebuah tipe ketergantungan.

Contohnya, sebuah relasi R dengan subset dari atribut R menunjuk A, B… Z,

sebuah relasi R memenuhi join dependency jika dan hanya jika setiap nilai resmi

dari R sama dengan penggabungan proyeksi A, B… Z.

I. Denormalisasi

Menurut Connolly (2005, p520) Denormalisasi merupakan perbaikan

pada skema relasional seperti pada tahapan normalisasi, yaitu dengan

memperbaiki relasi yang telah ada dengan cara mengkombinasikan dua buah

relasi ke dalam sebuah relasi yang baru.

Jika performance tidak memuaskan dan sebuah relasi memiliki tingkat

update yang rendah serta frekuensi penggunaan query sangat tinggi maka

denormalisasi akan menjadi pilihan yang baik.

Denormalisasi membuat implementasi yang lebih kompleks dan

mengurangi fleksibilitas. Denormalisasi ini berguna untuk mempercepat proses

retrieval namun memperlambat proses update.

J. Web dan Database

Web memperluas sistem database. Internet dan web dapat memperluas

kapabilitas dari sistem database dalam hal berikut ini:

Page 14: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

20

Akses yang lebih luas

Dengan menghubungkan sistem ke internet, pengguna yang potensial dapat

dikembangkan di seluruh dunia.

Pelayanan yang lebih banyak

Internet dapat dihubungkan bersama sistem database yang lain untuk

mendapatkan pelayanan baru.

K. Siklus Hidup Aplikasi Web Database

Metode desain sistem web database terdiri dari seri model yang

menyediakan data disimpan di dalam halaman web, sebagai tambahan untuk data

dalam database. Yang menjadi input adalah analisa abstrak dari informasi untuk

disimpan di dalam database. Output-nya adalah deskripsi fisikal dari bagaimana

database akan diimplementasikan. Tujuannya adalah untuk mendesain database

menggunakan struktur data model yang mendukung DBMS. Seperti database,

struktur web database dapat digambarkan pada tingkat yang berbeda dari

abstraksi, korespon pada konseptual, logikal, dan fisikal model dari sistem

database konvensional.

Page 15: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

21

Siklus Hidup Aplikasi Web Database digambarkan seperti di bawah ini :

Gambar 2.1 The Web Database Application Lifecycle

(Sumber: Barry Eaglestone dan Mick Ridley, 2001, p264)

The Organization

Requirements Analysis

Logical WebDatabase Design

Description of The Organization and System Requirements

Data Analysis

Conceptual Data Model

Logical Database Design

Logical Data Model

Web Data Analysis

Logical Web Data Design

Conceptual Web Data Model

Logical Web Data Model

Physical WebDatabase Design

Physical Database Design Physical Web Database Design

Physical Web Data Model

Page 16: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

22

Adapun tahapan-tahapan pada siklus hidup aplikasi web basis data adalah

sebagai berikut:

a. The Organization

Menggambarkab keseluruhan ruang lingkup perusahaan atau sistem yang

membutuhkan aplikasi web database.

b. Requirement Collection and Analysis

Proses mengumpulkan dan menganalisa informasi tentang bagian dari

organisasi yang mendukung dari aplikasi basis data, dan penggunaan informasi

untuk mengidentifikasikan kebutuhan pengguna akan sistem yang baru.

c. Description of The Organization and System Requirements

Menggambarkan ruang lingkup dan batasan dari aplikasi basis data dan

bidang pandangan pengguna.

d. Logical Web Database Design

Dalam tahap ini, terdapat tahap-tahap kecil yang membantu proses

perancangan aplikasi web database, yaitu :

1. Data Analysis

Proses yang menyesuaikan dengan struktur organisasinya, tidak

bergantung pada pertimbangan fisiknya. Hasilnya adalah Conceptual Data

Model untuk setiap kebutuhan.

Berikut ini adalah tahapan membangun desain konseptual menurut

Connolly (2005, p1326 – 1328) :

Tahap 1. Membangun data model konseptual lokal untuk setiap kebutuhan,

dengan:

Page 17: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

23

o Mendefinisikan tipe entitas.

Mendefinisikan tipe entitas utama yang dibutuhkan berdasarkan

pandangan pengguna terhadap perusahaan.

o Mendefinisikan tipe relasi.

Mengidentifikasikan relasi penting yang ada antara tipe-tipe entitas yang

telah diidentifikasikan sebelumnya. Pada tahap ini juga ditentukan

kardinalitas tiap relasi.

o Mendefinisikan dan menghubungkan atribut dengan entitas atau relasi.

o Menentukan domain atribut.

o Menentukan kunci kandidat dan atribut primary key

o Menentukan kunci kandidat, apabila ada lebih dari satu kunci kandidat,

untuk menentukan satu key untuk menjadi primary key.

o Membandingkan penggunaan enhanced modeling concept(optional).

Pada tahap ini dilakukan pengembangan ER model dengan konsep

pemodelan lanjut seperti spesialisasi atau generalisasi, agregasi dan

komposisi.

o Memeriksa redudancy dalam model.

Memeriksa kembali apakah model tersebut masih mengalami

pengulangan

o Memvalidasi model konseptual local melawan transaksi pengguna.

Dalam tahap ini dilakukan peyakinan bahwa model konseptual lokal ini

dapat memenuhi kebutuhan transaksi pengguna.

Page 18: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

24

o Melihat kembali model konseptual data local dengan pengguna.

Dalam tahap ini model konseptual dan data lokal dilihat oleh pengguna

untuk meyakinkan bahwa model tersebut adalah gambaran yang benar

dari kebutuhan yang ada.

2. Web Data Analysis

Proses yang di-input secara online, tidak bergantung pada pertimbangan

fisiknya. Hasilnya adalah Conceptual Web Data Model yang memperlihatkan

susunan dari informasi yang ditampilkan oleh web pages.

3. Logical Database Design

Proses yang digunakan berdasarkan data model tertentu (misal :

relational) dengan merancang bagaimana data disimpan dalam database (struktur

data, organisasi file). Hasilnya adalah Logical Data Model yang dibangun dan

divalidasi dengan data model logikal lokal dan global untuk setiap kebutuhan.

Berikut ini adalah tahapan membangun desain logikal menurut Connolly

(2005, p1326 – 1328):

Tahap 2. Membangun dan memvalidasi data model logikal lokal untuk setiap

kebutuhan, dengan:

o Menghilangkan fitur yang tidak sesuai dengan model relasional

(optional).

Memperbaiki model data konseptual lokal untuk menghilangkan fitur

yang tidak sesuai dengan model relasional, tujuan tahap ini adalah untuk:

Menghilangkan tipe relasi biner “Many to Many” (*:*).

Page 19: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

25

Menghilangkan tipe relasi rekursif “Many to Many” (*:*).

Menghilangkan tipe relasi yang komplek.

Menghilangkan atribut yang memiliki nilai lebih dari satu.

o Mengambil relasi untuk model logis data lokal.

Pada tahap ini dibuat relasi untuk model logis data lokal yang digunakan

untuk menggambarkan entitas, relasi dan atribut yang telah

diidentifikasikan. Menentukan relasi untuk model logis data lokal:

Menentukan Strong Entity.

Menentukan Weak Entity.

Membangun relasi biner “One to Many” (1:*).

Membangun relasi biner “One to One” (1:1).

o Memvalidasi relasi dengan normalisasi.

Dalam tahap ini dilakukan normalisasi untuk mengembangkan model

sehingga memenuhi aturan yang berlaku yang menghindari perulangan

data yang tidak perlu.

o Memvalidasi relasi terhadap transaksi pengguna.

Dalam tahap ini relasi dilihat apakah mendukung kebutuhan transaksi

pengguna.

o Mendefinisikan integrity constraint.

5 Tipe integrity constraints:

Required data, beberapa atribut harus selalu mengandung nilai yang

valid.

Page 20: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

26

Attribute domain constraints, setiap atribut memiliki domain, yang

terdiri dari nilai-nilai yang dibolehkan.

Entity integrity, setiap primary key tidak boleh kosong (null).

Referential integrity, setiap foreign key dari relasi anak terhubung

pada relasi induk mengandung nilai yang sesuai dengan nilai kunci

kandidat.

Enterprise integrity, memperhatikan aturan-aturan yang diketahui

sebagai aturan perusahaan atau sering disebut aturan bisnis.

o Melihat kembali model logis data lokal dengan pengguna.

Tahap 3. Membangun dan memvalidasi model data logikal global, dengan:

o Menggabungkan model logis data lokal kedalam model global.

o Memvalidasi model logis data global.

o Mengecek perkembangan di masa mendatang.

Mengecek apakah model logis data global tersebut dapat memenuhi

kebutuhan di masa depan, memenuhi perubahan yang mungkin terjadi.

o Melihat kembali model logis data global dengan pengguna.

Mengecek kembali apakah model tersebut merupakan gambaran yang

benar dari kebutuhan.

4. Logical Web Data Design

Proses mapping antara data yang ditampilkan dalam web pages dan data

terkandung atau disimpan dalam database. Hasilnya adalah Logical Web Data

Page 21: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

27

Model yang memperlihatkan bagaimana struktur konseptual benar benar

ditampilkan dalam web pages.

e. Physical Web Database Design

Dalam tahap ini, terdapat tahap-tahap kecil yang membantu proses

perancangan aplikasi web database, yaitu :

1. Physical Database Design

Proses menghasilkan penerapan basis data pada penyimpanan sekunder,

menggambarkan relasi dasar, organisasi file, dan indeks yang digunakan untuk

memperoleh akses yang efisien ke data, dan apapun integrity constraint dan

ukuran keamanan. Hasilnya adalah Physical Web Data Model.

Perancangan fisik basis data menurut Connolly (2005, p1326 – 1328)

meliputi:

Tahap 4. Menterjemahkan data model logikal global ke DBMS yang telah

ditentukan.

Pada tahap ini dihasilkan skema basis data relasional dari model data

logikal global yang dapat diterapkan pada DBMS.

o Mendesain relasi dasar.

Memutuskan bagaimana menggambarkan relasi dasar yang

teridentifikasikan pada model logis data global ke dalam DBMS.

Untuk setiap relasi didefinisikan: Nama relasi, Daftar atribut sederhana

dalam kurung, Primary key, foreign key, alternate key, Daftar atribut

yang dibutuhkan dan bagaimana mereka dapat dihitung, serta

Page 22: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

28

Menentukan integrity constraints untuk setiap foreign keys yang

teridentifikasikan.

Untuk kamus data didefinisikan Domain, terdiri dari tipe data, panjang,

dan aturan dari domain, Nilai pilihan pertama yang diberikan untu setiap

atribut, serta Apakah atribut tersebut boleh mengandung null atau tidak.

o Mendesain gambaran data yang diperoleh.

Memutuskan bagaimana menggambarkan data sekarang yang ada di data

model logikal global ke dalam DBMS.

o Mendesain enterprise constraints.

Merancang batasan-batasan yang diberikan oleh perusahaan ke dalam

DBMS.

Tahap 5. Mendesain gambaran fisik

Pada tahap ini ditentukan organisasi file yang optimal untuk

menyimpan relasi dasar dan indeks yang dibutuhkan untuk memperoleh

performa yang diterima.

Salah satu tujuan perancangan fisik basis data adalah untuk menyimpan data

dalam cara yang efisien, adapun kendalanya adalah:

o Transaction throughput: jumlah transaksi dalam 1 interval waktu.

o Response time: waktu yang dibutuhkan untuk menyelesaikan satu

transaksi lengkap.

o Disk storage: jumlah kapasitas disk yang dibtukan untuk menyimpan

berkas basis data.

Hal – hal yang dilakukan pada tahap 5 ini adalah:

o Menganalisa transaksi.

Page 23: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

29

Untuk mendesain basis data fisik secara efisien, harus dipahami

pengetahuan tentang transaksi atau queries yang akan terjadi dalam basis

data.

o Memilih organisasi file yang digunakan.

Menentukan organisasi file yang efisien untuk setiap relasi dasar. Tipe

organisasi file yang sering digunakan: Heap, Hash, Indexed sequential

access method (ISAM), B* -tree, dan Clusters

o Memilih indeks yang digunakan.

Untuk memperkirakan apakah penambahan indeks dapat meningkatkan

performa dari sistem.

o Memperkirakan besar kapasitas harddisk yang dibutuhkan.

Menghitung perkiraan kapasitas harddisk yang dibutuhkan oleh basis

data yang sesuai dengan DBMS dan perangkat keras yang dibutuhkan.

Tahap 6. Mendesain tampilan pengguna.

Pada tahap ini dilakukan perancangan tampilan pengguna yang telah

diidentifikasikan selama proses mengumpulan dan analisis tahap siklus

aplikasi hidup basis data relasional.

Tahap 7. Mendesain mekanisme keamanan.

Pada tahap ini didesain keamanan yang dibutuhkan basis data

sesuai keinginan pengguna.

Secara umum ada 2 tipe keamanan basis data, yaitu Keamanan sistem, serta

Keamanan data.

Page 24: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

30

Tahap 8. Memperhitungkan pengulangan data terkontrol di awal.

Pada tahap ini ditentukan apakah terjadi pengulangan data dengan

menyederhanakan aturan normalisasi yang akan meningkatkan performa

sistem.

Tahap 9. Mengawasi dan merawat sistem operasi.

Pada tahap ini dilakukan pengawasan terhadap sistem operasi dan

meningkatkan performa dari sistem untuk memperbaiki desain keputusan yang

tidak sesuai atau merefleksikan perubahan kebutuhan.

2. Physical Web Data Design

Proses implementasi mekanisme dimana data mengalir diantara web

pages dan database. Umumnya, kinerja berjalan cepat dan bebas kesalahan.

Hasilnya adalah Physical Web Data Model yang memperlihatkan bagaimana

model logikal dari web pages diimplementasikan.

2.2.2 Teori AJAX

A. Pengertian JavaScript

JavaScript menurut http://en.wikipedia.org/wiki/Javascript adalah bahasa

pemrograman dinamis, weakly-typed, dan prototype-based dengan fungsi yang

sempurna.

B. Pengertian XML

Extensible Markup Language (XML) adalah bahasa markup serbaguna

yang direkomenadasikan W3C (World Wide Web Consortium) untuk

Page 25: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

31

mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti

halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web

saja (http://www.w3.org/XML).

C. Pengertian AJAX

Asynchronous JavaScript And XML, atau disingkat AJAX, adalah suatu

teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif.

Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer

web surfer, dengan melakukan pertukaran sejumlah data dengan server di

belakang layar, sehingga halaman web tidak harus dibaca ulang secara

keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan

meningkatkan interaktivitas, kecepatan, fungsionalitas, dan usability pada

halaman di web.

Menurut Nicholas, Jeremy McPeak, dan Joe Fawcett (2006, p8), Konsep

AJAX diperkenalkan oleh Jesse James Garret dari tim Adaptive Path dengan

mengeluarkan artikel berjudul ”AJAX: A New Approach to Web Applications”.

AJAX dipopulerkan pada tahun 2005 oleh Google (http://maps.google.com/)

yang dapat di-zoom (diperbesar) tanpa harus melakukan refresh dan di-render

secara seketika dan berikutnya oleh Meebo (http://www.meebo.com) melalui

aplikasi chatting yang kaya akan fitur AJAX.

D. Prinsip Pada AJAX

Sebagai sebuah model aplikasi web baru, AJAX masih berada dalam

tahap pertumbuhan. Michael Mahemoff (http://mahemoff.com/), seorang

Page 26: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

32

pengembang software dan ahli peralatan, mengidentifikasi beberapa prinsip

kunci dari aplikasi AJAX yang baik, yaitu :

a. Lalu lintas yang minim

AJAX dapat meminimasi tingkat kepadatan lalu lintas antara client dan

server, dan tidak menerima maupun mengirimkan informasi tambahan yang

kurang penting.

b. Tidak ada kejutan

Pada aplikasi AJAX tidak menjadi masalah model interaksi pengguna apa

yang dipilih, asal konsisten saja sehingga tidak membingungkan pengguna.

c. Ketentuan yang tetap

Pengembang web tidak perlu membuang waktu untuk menemukan model

interaksi pengguna yang baru dimana pengguna mungkin bisa merasa tidak

familiar dengan model tersebut.

d. Tidak ada distraksi

Menghindari elemen yang tidak penting dan mengganggu seperti animasi

yang berulang-ulang, maupun halaman yang dapat berkedip-kedip. Hal-hal

seperti itu dapat mengecoh dan menghilangkan konsentrasi pengguna.

e. Mudah diakses

Pengembang aplikasi harus memperkirakan siapa pengguna primer maupun

sekunder dan bagaimana mereka mengakses aplikasi AJAX tersebut.

Pengembang aplikasi juga diharapkan dapat memperkirakan apakah

pengguna akan menggunakan browser lama maupun software khusus.

Page 27: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

33

f. Menghindari download terhadap keseluruhan halaman

Pengembang aplikasi sebaiknya tidak mengacaukan aktivitas pengguna

dengan men-download sebagian kecil data pada satu tempat, namun

melakukan proses loading ulang untuk keseluruhan halaman di tempat lain.

g. User first

Pengembang aplikasi sebaiknya merancang aplikasi AJAX dengan

memikirkan penggunanya terlebih dahulu. Pengembang aplikasi sebaiknya

berusaha untuk membuat use case umum yang mudah untuk dilaksanakan.

E. Perbandingan Aplikasi Web Klasik dengan AJAX

Aplikasi web klasik kebanyakkan membuat pengguna menunggu setelah

aplikasi dijalankan, semua aplikasi akan mengambil semua data yang diperlukan

untuk nantinya ditampilkan ketika ada permintaan dari pengguna.

Secara perbandingan visual dapat dilihat dalam gambar dibawah ini :

Page 28: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

34

Gambar 2.2 Model web klasik (kiri) dibandingkan dengan model web AJAX (kanan)

(Sumber : http://www.adaptivepath.com)

F. Teknologi Yang Berhubungan Dengan AJAX

Artikel Jesse James Garret menjelaskan beberapa teknologi yang

dilihatnya sebagai bagian dari solusi AJAX:

HTML/XHTML: bahasa representasi isi utama

CSS: menyediakan format beragam untuk XHTML

DOM: perubahan dinamis dari halaman yang di-load

XML: format pertukaran data

XSLT: mengubah XML menjadi XHTML (dibahasakan oleh CSS)

XMLHttp: perantara komunikasi yang utama

AJAX engine

user interface

browser client

user interface

server-side systems

datastore, backend processing, legacy

systems

web and/or XML server

server-side systems

datastore, backend processing, legacy

systems

web and/or XML server

classicweb application model

AJAXweb application model

http(s) transport

HTTP request HTML+CSS data

http(s) transport

HTTP request HTML+CSS data

browser client

JavaScript callHTML+CSS data

Page 29: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

35

JavaScript: bahasa scripting yang digunakan untuk program mesin AJAX.

Pada kenyataannya, semua teknologi di atas bisa digunakan dalam solusi

AJAX, tapi hanya 3 yang harus ada, yaitu : HTML/XHTML, DOM, and

JavaScript. XHTML diperlukan untuk menampilkan informasi, sedangkan DOM

diperlukan untuk mengubah sebagian halaman XHTML tanpa perlu load lagi.

Bagian akhir yaitu Javascript, diperlukan untuk menginisialisasi komunikasi

client-server dan memanipulasi DOM untuk meng-update halaman web.

G. Cara Kerja AJAX

Aplikasi AJAX mengeliminasi sifat alamiah start-stop-start-stop pada

interaksi website dengan menggunakan AJAX engine antara pengguna dan

server. Berikut ini adalah gambaran umum cara kerja AJAX menurut Jesse

James Garrett di http://www.adaptivepath.com/ideas/essays/archives/000385.php

(2005):

1. Penambahan layer ke aplikasi sepertinya akan membuatnya kurang

responsif, namun ternyata kebalikannya.

2. Pada awal sesi, browser me-load sebuah AJAX engine yang ditulis dalam

JavaScript dan biasanya dimasukkan pada frame yang tersembunyi.

3. Engine ini bertanggungjawab pada pembuatan interface yang dilihat

pengguna dan mengkomunikasikannya dengan server.

4. AJAX engine memperbolehkan interaksi pengguna dengan aplikasi secara

asynchronous, komunikasi mandiri dengan server. Oleh karena itu,

pengguna tidak akan melihat browser window yang kosong dan icon

hourglass yang menunggu server.

Page 30: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

36

AJAX web application model (asynchronus)

Gambar 2.3 Pola interaksi asynchronous pada aplikasi AJAX.

(Sumber : http://www.adaptivepath.com)

Inti dari pemrograman yang menggunakan AJAX adalah untuk mengatasi

kebutuhan loading halaman website yang berbasiskan media HTML atau HTTP.

AJAX semakin menegaskan pentingnya kondisi awal bagi proses evolusi dari

user interface yang bersifat kompleks, intuitif, dinamis, dan data sentris dalam

halaman di website.

H. Kelebihan dan Kekurangan AJAX

Sebagai teknologi web yang tergolong baru, banyak web developer

tertarik untuk mengembangkan AJAX. Berikut adalah keuntungan web dengan

AJAX menurut http://en.wikipedia.org/wiki/AJAX_programming:

client

time

Server side processing

server

Browser UI

AJAXEngine

User activity

Client side processing

input

display

data transmission

Page 31: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

37

Penggunaan Bandwidth

Dengan mengeneralisasikan HTML secara lokal pada browser, serta

hanya memakai fungsi pada JavaScript dan data aktual, halaman website

yang menggunakan AJAX terlihat dapat melakukan proses loading relatif

lebih cepat karena hasil loading yang akan muncul lebih kecil ukurannya.

Pemisahan data, format, style, dan fungsi.

Programmer biasanya digerakkan oleh perkembangan yang nantinya

akan memotivasi mereka untuk mengadopsi pemisahan data atau content

mentah yang harus dikirimkan, format atau struktur halaman website, gaya

element yang ada pada halaman website, dan fungsionalitas dari halaman

website.

Di samping kelebihan yang ditawarkan, http://en.wikipedia.org/wiki/

AJAX_programming juga menjelaskan kekurangan dari penggunaan AJAX :

Integrasi Browser

Halaman website yang dirancang secara dinamis tidak terdaftar pada

mesin history browser, maka fungsi ”Back” pada browser yang berada di

pihak pengguna tidak akan memberikan hasil yang diinginkan. Kasus lainnya

adalah perubahan yang dilakukan pada halaman website dinamis

membuatnya sulit bagi pengguna untuk melakukan bookmark pada area

tertentu dari aplikasi.

Response Time

Ketika keseluruhan halaman dibuat, maka ada sejumlah kejadian

singkat yang menuntut penyesuaian pada indra penglihatan pengguna ketika

Page 32: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

38

content berubah. Tingkat penyesuaian yang rendah pada perubahan layar

akan membuat network latency (interval yang berada diantara request oleh

pengguna dan respon dari server) semakin terlihat.

Optimisasi pada search engine

AJAX, di sisi pengguna, merupakan alternatif untuk kenyamanan

bagi pengguna, dimana browser tidak akan mengambil seluruh halaman, tapi

hanya loading bagian yang perlu diganti saja dari halaman tersebut.

Sayangnya kenyamanan ini harus dibayar cukup mahal, karena search engine

tidak akan mengenali seluruh isi dari website tersebut.

Ketergantungan pada JavaScript

AJAX bergantung pada JavaScript, dimana hal ini sering

diimplementasikan secara berbeda oleh browser yang berbeda atau versi

browser tertentu. Karena hal ini, website yang menggunakan JavaScript

mungkin butuh untuk dites pada browser yang berbeda untuk dicek

kompatibilitasnya. Masalah juga timbul jika pengguna menonaktifkan

penggunaan JavaScript pada browser, hal ini akan mematikan fungsionalitas

yang dibangun dalam halaman website.

Analitis Web

Harus diberikan perhatian dalam mengatur sebuah halaman atau

bagian tertentu pada halaman sehingga dapat dilakukan pelacakan secara

akurat. Sistem analitis akan memungkinkan pelacakan kejadian tertentu

daripada harus melihat keseluruhan halaman yang sederhana, seperti

sebagaimana click pada tombol atau link tertentu, adalah sesuatu yang dapat

diakomodasikan oleh website yang menggunakan AJAX.

Page 33: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

39

2.2.3 Teori Unified Modeling Language (UML)

Menurut Bahrami (1999, p92) “ The unified modeling language is language

for specifying, constructing, visualizing, and documenting the software system and

its components. The UML is a graphical language with sets of rules and semantics.”,

yang artinya Unified Model Language adalah bahasa untuk memspesifikasikan,

membangun, memperlihatkan, dan mendokumentasikan suatu sistem perangkat

lunak beserta komponen-komponennya. UML adalah suatu bahasa grafikal dengan

seperangkat aturan dan semantic.

Tujuan utama dalam mendesain UML adalah:

1. Mempersiapkan gambaran bahasa pemodelan bagi pengguna agar dapat

mengembangkan dan menukar dengan model yang lebih berguna.

2. Menyediakan ekstensibilitas dan mekanisme khusus untuk memperluas konsep

inti.

3. Membuat suatu keterangan bahasa pemograman dapat berdiri sendiri dan

mengembangkan proses.

4. Mempersiapkan suatu basis formal agar dapat memahami bahasa pemodelan.

5. Mendorong pertumbuhan pemasaran alat Object Oriented.

6. Mendukung konsep pengembangan ke tingkat yang lebih tinggi.

7. Menggabungkan latihan dan metode terbaik.

Setiap model dapat diekspresikan pada level ketentuan yang berbeda. Model

yang terbaik akan dihubungkan pada realitas. UML mendefinisikan sembilan

diagram grafikal ,yaitu :

1. Class diagram

Page 34: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

40

UML class diagram dapat disebut juga sebagai object modeling, yang

merupakan diagram analisa utama yang statis. Class diagram merupakan gabungan

dari elemen model statik, seperti class dan hubungannya, dihubungkan dalam

sebuah grafik satu sama lain beserta isinya.

Menurut Fowler(2000, p49) dan Larman(2005, p249-p256), ada tiga perspektif

yang dapat dipakai untuk membangun class diagram, yaitu :

a. Konseptual atau essential

Diagram merepresentasikan konsep dari domain pembelajaran. Konsep ini

secara alamiah menghubungkan ke class-class yang mengimplementasikan konsep

real-world. Model konseptual seharusnya dibuat dengan sedikit atau bahkan tidak

berkaitan dengan software yang mungkin mengimplementasikannya, sehingga dapat

dikategorikan sebagai language-independent.

b. Specification

Diagram specification lebih memperlihatkan kepada interface software, bukan

pada implementasinya. Perlu diingat bahwa kunci efektivitas pemrograman object-

oriented adalah untuk memprogram interface class, bukan implementasinya.

c. Implementasi

Dalam sudut pandang ini, pengembang memiliki class-class, dan

mendasarkannya pada implementasi sederhana. Perspektif ini paling sering

digunakan, namun dalam berbagai hal perspektif specification adalah perspektif

yang lebih baik untuk diikuti.

Panduan dalam membangun class diagram, menurut Fowler(2000, p49) dan

Larman(2005, p249-p256), adalah sebagai berikut :

a. Menentukan konsep

Page 35: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

41

Konsep adalah sebuah ide, sebuah benda, atau sebuah obyek. Konsep juga

dapat dikategorikan sebagai: symbol (kata kata atau image yang merepresentasikan

konsep), intension (definisi konsep), dan extension (sekumpulan contoh dimana

konsep diletakkan).

b. Menentukan object diagram ( class )

Object diagram (class) adalah snapshot dari objek sistem pada suatu waktu.

Objek merupakan bentuk nyata dari suatu class, dengan kata lain objek adalah

instance dari class. Class adalah sebuah spesifikasi yang jika diinstansiasi akan

menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain

berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem,

sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut

(metode/fungsi). Penulisan nama objek diawali dengan huruf kecil. Class, atribut,

dan metode atau operations dapat dinotasikan seperti di bawah ini :

<<Nama Class >>

<<Atribut >>

<<Metode / Operations>>Gambar 2.4 Notasi Class, atribut, dan metode atau operations

Page 36: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

42

c. Menentukan asosiasi

Sebuah link mewakili hubungan antar dua objek. Asosiasi merepresentasikan

hubungan antara class, dan mewakili kelompok links. Setiap asosiasi memiliki dua

asosiasi ends, setiap end berkaitan dengan salah satu class dalam asosiasi. Asosiasi

biasanya juga memiliki multiplicity yang mengindikasikan batasan atas dan bawah

bagi obyek yang berpartisipasi. Sejumlah anak panah pada garis asosiasi

mengindikasikan adanya kemampuan untuk menavigasi. Hubungan asosiasi

ditunjukkan dengan notasi :

Gambar 2.5 Notasi Asosiasi dan Multiplicity

Terdapat empat macam jenis multiplicity pada asosiasi, yaitu :

0 : nol.

1 : satu.

1...* : 1 atau banyak.

1..2, 10..* : satu, dua, sepuluh, dan seluruh kemungkinan di atas sepuluh, namun

tidak termasuk urutan angka tiga sampai dengan sembilan.

d. Menentukan multiple dan dynamic classification

Classification merepresentasikan relationship antara obyek dan tipenya. Single

classification mengindikasikan sebuah obyek yang termasuk dalam tipe single,

dimana dapat mewarisi super-tipenya. Dalam multiple classification, sebuah obyek

dapat dideksripsikan oleh beberapa tipe yang tidak dihubungkan oleh inheritance.

Dynamic classification didefinisikan sebagai rangkaian pesan yang di-passing dari

a..b c..d

Page 37: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

43

satu class kepada class lainnya. Hubungan ini lebih lanjut dapat digambarkan

dengan menggunakan sequence diagram.

e. Menentukan agregasi dan komposisi

Komposisi adalah penamaan relationship, dimana bagian dari obyek mungkin

menjadi bagian obyek lain. Sedangkan agregasi adalah penamaan relationship,

dimana suatu obyek memberikan kontribusi bagi keberadaan obyek yang lainnya.

Hubungan agregasi ditunjukkan dengan notasi :

Gambar 2.6 Notasi Link Agregasi dan Komposisi

f. Menentukan atribut

Atribut adalah nilai data logis dari sebuah obyek. Atribut hampir sama dengan

asosiasi. Bergantung pada detil pada diagram, notasi untuk atribut dapat

menunjukkan nama atribut, tipe atribut, dan nilai default-nya.

g. Menentukan operations

Operations adalah proses-proses yang dilakukan oleh class. Operations, secara

jelas, berkorespondensi dengan metode pada class. Pada tingkat specification,

operations berkorespondensi pada metode public dari sebuah tipe. Pada model

implementation, operations dapat bersifat private dan protected.

h. Menentukan generalization

Dalam model specification, generalization berarti bahwa interface dari subtype

harus mengandung semua elemen dari interface-nya. Interface dari subtype

dikatakan untuk dicocokkan dengan interface supertype. Generalization pada

a..b c..da..b c..d

Page 38: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

44

perpektif implementation dihubungkan dengan inheritance pada bahasa

pemrograman. Hubungan generalisasi dinotasikan seperti di bawah ini :

Gambar 2.7 Notasi Link Generalization

i. Menentukan constraint rules

Bentuk dasar dari associations, atribut, dan generalization adalah untuk

menspesifikasikan constraints penting, namun tidak dapat mengindikasikan setiap

constraints. Constraints tersebut perlu untuk ditangkap melalui class diagram.

2. Use case diagram

Use case mendefinisikan apa yang terjadi di dalam sistem ketika use case

dilakukan. Model use case menampilkan ”aktor” dan sistem yang sedang

berlangsung. Use case menampilkan kegiatan yang sedang berjalan di dalam sistem.

Tahapan pembuatan Use case, menurut Fowler(2000, p39), Schneider(2001,

p11), dan Larman(2005, p61-p64), adalah sebagai berikut:

a. Mengidentifikasi aktor atau external entity

Aktor adalah semua yang berhubungan dengan sistem aplikasi, contohnya adalah

manusia, software, hardware, media, penyimpan data, maupun network. Setiap aktor

memiliki peranan tertentu. Namun mereka bersifat eksternal, karena tidak berada di

dalam sistem. Notasi untuk aktor digambarkan seperti di bawah ini :

Page 39: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

45

atau Aktor

Gambar 2.8 Notasi Aktor

b. Mengidentifikasi use case

Use case adalah perilaku sistem yang memproduksi atau menghasilkan hasil

atau nilai tertentu bagi aktor. Use case mendeskripsikan hal-hal yang diinginkan

aktor untuk dilakukan sistem. Sebuah use case diagram dapat terdiri dari banyak use

case. Notasi untuk use case digambarkan seperti di bawah ini :

Gambar 2.9 Notasi Use Case

c. Mengidentifikasi system boundaries

Pada dasarnya system boundaries adalah sistem yang di dalamnya terkandung

kumpulan use case, dan di luar sistem adalah kumpulan external entity. Notasi untuk

system boundaries digambarkan seperti di bawah ini :

Gambar 2.10 Notasi System Boundaries

d. Mengidentifikasi use case relationship

Use case relationship adalah ringkasan mengenai hubungan antara aktor dan

use case-nya. Notasi untuk relationship digambarkan seperti di bawah ini :

<< Aktor >>Aktor

Use case

Use Case Group

Page 40: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

46

Gambar 2.11 Notasi Link Use case Relationship

Terdapat tiga jenis use case relationship :

a. Include relationship

Terjadi ketika pengguna memiliki sebuah tingkah laku yang mirip terhadap

lebih dari satu use case, dan pengembang aplikasi ingin menghindari

pengulangan. Notasi untuk include relationship digambarkan seperti di

bawah ini :

Gambar 2.12 Notasi Include relationship

b. Generalization relationship

Ketika pengembang aplikasi memiliki sebuah use case yang mirip dengan

use case lain, dan memungkinkan untuk terjadinya alternative scenario

yang lain dengan tujuan akhirnya tetap sama. Notasi untuk generalization

relationship digambarkan seperti di bawah ini :

Gambar 2.13 Notasi Generalization relationship

c. Extend relationship

Use case tambahan dapat menambahkan sifat atau perilaku tertentu ke

dalam use case induk, namun dengan catatan, pada use case induk harus

Page 41: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

47

ditambahkan atau dideklarasikan “point tambahan”. Notasi untuk extend

relationship digambarkan seperti di bawah ini :

Gambar 2.14 Notasi Extend relationship

e. Menentukan apakah use case tersebut merupakan use case bisnis atau use case

system

Sistem use case menyangkut interaksi use case dengan software. Sedangkan

use case bisnis membahas mengenai bagaimana bisnis merespons seorang customer

maupun sebuah event.

f. Membuat use case secara expanded

Expanded use case adalah use case dengan tingkat detil tinggi, dimana hal ini

membantu pemahaman terhadap proses dan kebutuhan sistem. Format atau struktur

berikut ditempatkan di bagian awal deskripsi use case:

Use Case : diisi dengan nama use case.

Actor : diisi dengan nama actor atau external entity yang bersesuaian.

Purpose : diisi dengan tujuan utama use case.

Overview : diisi dengan ulasan atau ringkasan singkat use case.

Type : diisi dengan tipe use case yang digunakan.

Cross References : diisi dengan use case yang bersesuaian dan fungsi sistem.

Page 42: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

48

3. Behaviour diagram

a. Interaction diagram

Interaction diagram menampilkan beberapa contoh obyek dan

menyampaikan pesan antara obyek-obyek dan use case. Ada 2 jenis

interaction model :

Sequence Diagram

Sequence diagram menampilkan interaksi yang tersusun menurut

waktu kejadian. Sequence diagram menampilkan partisipasi obyek dalam

interaksi dengan garis penghubung dan pesan, tersusun sesuai waktu

kejadian.

Tahapan dalam menyusun sequence diagram, menurut

Fowler(2000, p68) dan Larman(2005, p173-p177) :

a. Menentukan obyek

Obyek ditunjukkan sebagai sebuah kotak di atas garis vertikal.

Notasi untuk obyek digambarkan seperti di bawah ini :

Gambar 2.15 Notasi Obyek

b. Membuat lifeline obyek

Lifeline object merepresentasikan garis hidup obyek selama

interaksi sistem. Bagian dari lifeline object biasanya digambarkan dengan

garis putus-putus untuk mengindikasikan bagian dari kehidupan obyek

sedang tidak terlibat dalam situasi yang digambarkan di diagram. Notasi

untuk lifeline object digambarkan seperti di bawah ini :

Object:Class

Page 43: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

49

Gambar 2.16 Notasi Lifeline Object dan Focus Of Control

c. Mendefinisikan message, system events, system operation, dan

system boundaries

Message direpresentasikan dengan sebuah anak panah di antara

dua lifeline obyek. System events adalah input eksternal yang

diciptakan oleh aktor kepada sebuah sistem. Sebuah event

menginisiasikan operasi yang merespon sistem. System operation adalah

sebuah operasi sistem yang mengeksekusi hasil respon kepada sebuah

sistem event. System boundaries secara umum dijabarkan sebagai

software, atau kemungkinan hardware bagi sistem tersebut, yang

membatasi interaksi aktor dengan sistem. Notasi untuk message

digambarkan seperti di bawah ini :

Gambar 2.17 Notasi Message

Notasi untuk procedure call digambarkan seperti di bawah ini :

Gambar 2.18 Notasi Procedure Call

procedure call ( )

event

Object:Class

Lifeline Object

Focus Of Control

Page 44: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

50

Untuk memaparkan tipe dan jenis message dengan lebih jelas, dapat

dilihat pada tabel di bawah ini :

Tabel 2.1 Tabel Tipe dan jenis Message

Message Tipe flow kind : flat;

Message(call) Tipe flow kind : procedure call

Message Message yang ditujukan untuk object

itu sendiri

Return Message yang mengembalikan suatu

nilai

Message yang mengembalikan suatu

nilai untuk dirinya sendiri

d. Membuat activation box

Hal ini dilakukan untuk menunjukkan kapankah sebuah obyek akan aktif,

atau prosedurnya sedang berada dalam stack. Ada dua informasi

pengontrol yang biasa digunakan, yaitu :

Condition, yang mengindikasikan ketika message dikirim, hanya

jika kondisinya terpenuhi.

Iteration maker, dimana hal ini menunjukkan message dikirim

beberapa kali ke banyak obyek penerima.

Page 45: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

51

e. Mendefinisikan adanya return

Return mengindikasikan proses kembalinya dari sebuah message,

namun tidak menghasilkan message baru. Notasi untuk return

digambarkan seperti di bawah ini.

Gambar 2.19 Notasi Return

Notasi untuk recursive call digambarkan seperti di bawah ini.

Gambar 2.20 Notasi Recursive Call

Collaboration Diagram

Collaboration diagram menampilkan sebuah kolaborasi yang merupakan

gabungan dari obyek-obyek yang terhubung dalam konteks partikular dan

interaksi yang merupakan gabungan dari pesan-pesan di antara obyek dalam

kolaborasi untuk mencapai tujuan akhir.

Tahapan membuat collaboration diagram, menurut Fowler(2000, p72)

dan Larman(2005, p249-p256) :

Object:Class

Recursive Call

Page 46: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

52

a. Buatlah diagram terpisah untuk setiap operasi sistem.

Untuk setiap message sistem operasi, buatlah sebuah diagram dengan

menempatkannya sebagai starting message. Jika diagram menjadi kompleks,

pecahlah menjadi diagram-diagram yang lebih kecil.

b. Mendefinisikan class dan instances.

Pada collaboration diagram, obyek pada sequence diagram dapat

disebut sebagai icon. Tetap menggunakan class box untuk merepresentasikan

instance dari class, namun namanya harus menggunakan garis bawah, dan

untuk nama class harus didahului oleh sebuah titik dua. Notasi untuk class

digambarkan seperti di bawah ini :

Gambar 2.21 Notasi Class dan Instances

c. Mendefinisikan message

Message pada collaboration diagram mengindikasikan hubungan

antara dua instance, bentuk navigasi dan bentuk visibility antara instance.

Seperti pada sequence diagram, anak panah mengindikasikan message yang

dikirimkan, namun pada collaboration diagram, sequence-nya diindikasikan

dengan memberikan penomoran pada message. Notasi untuk message

digambarkan seperti di bawah ini :

Gambar 2.22 Notasi Message

Object 1 Object 21: Message 1

Object:Class

Page 47: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

53

b. Statechart Diagram

Statechart diagram atau biasa disebut juga state diagram menampilkan

rangkaian dari bagian dimana obyek selalu berjalan dalam merespon untuk

stimulasi luar dan pesan-pesan.State diagram merepresentasikan bagian dari

metode eksekusi, dan aktifitas diagram yang menggambarkan aktifitas obyek

dan menampilkan metodenya.

Tahapan membuat statechart diagram, menurut Fowler(2000, p119)

dan Larman(2005, p485-p492) :

a. Menentukan event

Event adalah kejadian yang signifikan dan perlu diperhatikan.

b. Menentukan state atau activity

State adalah kondisi dari obyek pada saat tertentu, atau waktu antara

events. State ditunjukkan dengan bentuk oval. Notasi untuk state

digambarkan seperti di bawah ini.

Gambar 2.23 Notasi State

c. Menentukan transition atau action

Transition adalah relationship antara dua state yang mengindikasikan

bahwa ketika sebuah event terjadi, maka obyek akan bergerak dari state

terdahulu ke state berikutnya. Transition ditunjukkan dalam bentuk anak

Initial State

Final StateState State 3

State 2

State 1

Nested state

Page 48: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

54

panah, diberi label sesuai event-nya. Notasi untuk transition digambarkan

seperti di bawah ini :

Gambar 2.24 Notasi Link Transition atau Action

d. Mendefinisikan guard

Guard adalah kondisi logis yang akan mengembalikan nilai “ true” atau

“false”.

e. Menentukan initial pseudo-state.

Initial pseudo-state adalah awal transisi chart, yang nantinya akan bergerak

atau bertransisi ke state lain ketika instance dibentuk.

c. Activity Diagram

Activity diagram merupakan variasi atau kasus spesial dari penerapan

mesin, yang dalam penerapannya aktifitas menampilkan operasi dan transisi

yang berjalan cepat dengan penyelesaian dari operasi tersebut. Tujuan utama

dari activity diagram adalah untuk membentuk suatu perjalanan dan proses

apa saja yang terjadi dalam use case atau diantara beberapa class.

Tahapan membuat activity diagram menurut Fowler(2000, p129) yaitu :

a. Menentukan activity state

Activity state adalah state yang mengindikasikan kejadian tertentu, baik

proses pada real-world, atau eksekusi dari tugas rutin sebuah software.

Notasi activity state digambarkan seperti di bawah ini :

Event ( atribut ) [ kondisi ]

Page 49: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

55

Gambar 2.25 Notasi Activity

b. Menentukan perilaku conditional. Perilaku conditional ditandai dengan:

Branch yang memiliki sebuah transisi masukan dan beberapa

transisi keluaran yang tervalidasi. Notasi branch digambarkan seperti di

bawah ini :

Gambar 2.26 Notasi Branch

Merge memiliki transisi masukan yang banyak, dan sebuah

output. Notasi Merge digambarkan seperti di bawah ini :

Gambar 2..27 Notasi Merge

c. Menentukan perilaku parallel (synchronization bar)

Fork memiliki sebuah transisi masukan dan beberapa transisi

keluaran. Ketika transisi masukan diterima, semua transisi keluaran

dilakukan secara parallel. Notasi fork digambarkan seperti di bawah ini:

Gambar 2.28 Notasi Fork

Joins, yang mensinkronisasi perilaku paralel akibat diterapkannya

fork. Dengan joins, transisi keluaran hanya dilakukan ketika semua

Start Activity

Final Activity / EndActivity

Page 50: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

56

state pada transisi masukan telah selesai melakukan aktivitas mereka.

Apabila diterapakan dengan fork, maka harus menerapkan join yang

melengkapi fork. Notasi joins digambarkan seperti di bawah ini :

Gambar 2.29 Notasi Joins

d. Menentukan dynamic concurrency

Dynamic concurrency memperbolehkan pengembang untuk

menunjukkan iterasi tanpa harus membangun sebuah loop.

e. Menentukan swimlanes

Dengan adanya swimlanes, maka dapat disertakan aktor yang

melakukan setiap aktivitasnya. Hal ini bermanfaat untuk menghindari

kompleksitas apabila mengkombinasikan beberapa logika dari activity

diagram dengan tanggung jawab dari interaction diagram.

d. Implementation diagram

Implementation diagram menampilkan fase dari pengembangan sistem,

seperti struktur dari source code dan struktur pelaksanaan waktu berjalan.

Ada dua tipe dari diagram pelaksanaan :

Component Diagram

Diagram komponen merupakan komponen fisik (seperti source code,

menjalankan program, dan tampilan pengguna) dalam desain. Komponen

diagram merupakan grafik dari komponen desain yang dihubungkan

dengan hubungan saling ketergantungan.

Page 51: BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Teori …library.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00047-IF-Bab 2.pdf · Menjodohkan Tipe soal dimana pembuat soal harus memberikan

57

Deployment Diagram

Menampilkan konfigurasi dari proses elemen terhadapa waktu yang

sedang berjalan dan komponen software, proses dan obyek-obyek apa

saja yang terlibat di dalamnya.

Penyebaran diagram adalah sebuah grafik dari node-node yang terhubung

oleh kumpulan komunikasi. Nodes dapat berisi komponen kejadian, yang

menjelaskan kehidupan dari komponen atau perjalanan node tersebut.

Komponen dapat berisi obyek , dan dihubungkan dengan komponen lain

oleh panah penghubung ketergantungan. Setiap node atau proses elemen

dalam sistem ditampilkan dengan menggunakan kotak tiga dimensi.

Hubungan antara nodes dihubungkan dengan menggunakan garis

penghubung.

2.2.4 Teori Web Server

Menurut Hiquet(2002, p5-p20), sebuah web server adalah aplikasi yang

menerima, memproses, dan memberikan respon terhadap permintaan atau

request HTTP. Permintaan ini dikirimkan melalui web browser yang digunakan

oleh client untuk berkomunikasi, mengirimkan dan menerima informasi dari

internet. Hubungan antara web server dan web-client sering juga disebut dengan

hubungan client/server.

Menurut Whitten (2004, p531), web server adalah sebuah server tempat

meletakkan ( host ) internet ataupun intranet.