7
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Teori Assessment
Assessment adalah suatu proses pengukuran atau penaksiran atas suatu nilai
berdasar fakta yang ada.
Menurut Joint Information System Comitee (JISC) assessment adalah instrumen
yang digunakan untuk membuktikan dan mengevaluasi sejauh mana seorang kandidat
telah mencapai atau membuat kemajuan terhadap kriteria penilaian.
Dalam bukunya (Black dan Wiliam,2004) “Working Inside the Black Box:
Assessment for Learning in the Classroom” Paul Black dan Dylan Wiliam
mengartikan assessment untuk pembelajaran adalah proses mencari dan menafsirkan
bukti dari kinerja peserta didik untuk digunakan oleh peserta didik dan guru mereka
untuk mengidentifikasi sejauh mana peserta didik menyerap proses pembelajaran, apa
yang menjadi tujuan mereka selanjutnya, dan apa yang harus dilakukan selanjutnya
untuk mencapainya.
2.1.2 Teori e-Assessment
2.1.2.1 Pengertian e-Assessment
Menurut Joint Information System Comitee (JISC) dalam
jurnalnya yang berjudul “Effective Practice with e-Assessment”, e-
assessment adalah proses penilaian elektronik dimana teknologi informasi
8
dan komunikasi dipakai untuk mepresentasikan aktivitas penilaian dan
untuk menyimpan jawaban atau tanggapan. Ini mencakup proses penilaian
dari sudut pandang peserta didik, pendidik, lembaga pendidikan, badan
penghargaan dan pengatur, dan masyarakat umum.
2.1.2.2 Tipe Assessment
Berdasar tujuannya ada 3 tipe assessment yaitu:
a) Diagnostic Assessment
Diagnostic assessment bertujuan untuk mengukur sejauh mana tingkat
keterampilan seseorang dalam suatu bidang yang nantinya hasil tes
tersebut akan digunakan untuk menentukan apa yang perlu dipelajari
selanjutnya. Contoh: tes untuk mengukur kemampuan individu sebelum
mengikuti kelas bahasa inggris.
b) Formative Assessment
Formative assessment digunakan untuk membantu mencapai tujuan
yang diinginkan selama proses pembelajaran dengan memberikan umpan
balik agar proses pembelajaran lebih efektif.
c) Summative Assessment
Adalah penilaian yang dilakukan untuk mengukur tingkat kesuksesan
atau pencapaian suatu pembelajaran saat akhir proses pembelajaran itu
sendiri.
9
2.1.2.3 Kelebihan e-Assessment
Kelebihan e-assessment, yaitu:
• Lebih Interakfif
• Mengatasi masalah jarak
• Waktu pengerjaan lebih fleksibel.
• Waktu pemeriksaan berkurang dan ketepatan pemeriksaan meningkat.
• Para peserta langsung mendapatkan umpan balik mengenai kuis yang
mereka kerjakan.
• Data tersimpan lebih baik
• Efisiensi (paperless).
• Soal yang dikeluarkan lebih bervariasi karena soal – soal tersebut
sudah diacak terlebih dahulu.
2.1.2.4 E-assessment yang baik
Dalam jurnalnya Al-Smadi dan Gütl (2008), Weippl (2007) E-
assessment yang baik memiliki kriteria – kriteria berikut ini:
• Mempunyai bank soal yang mendukung soal – soal yang bervariatif.
• Dapat memberikan umpan balik yang mengidentifikasi kemampuan
mahasiswa.
• Tipe kuis harus objektif.
• Tampilan antar muka yang mudah dimengerti oleh pengguna.
• Data yang sudah ada harus bisa disimpan dan diorganisir dengan baik.
10
2.1.2.5 Umpan Balik yang Baik
Menurut Gomez et al.(2009) kriteria umpan balik yang baik:
• Umpan balik yang dihasilkan ditujukan untuk memberi masukan
kepada mahasiswa bukan untuk menilainya.
• Umpan balik yang dihasilkan harus dapat dimengerti oleh mahasiswa.
• Umpan balik yang dihasilkan harus cukup dan detail.
2.1.2.6 Tujuan E-assessment
Menurut Kellough dan Kellough dalam jurnal “Best Practice in e-
assessment” yang dibuat oleh Nicole A. Buzzetto-More dan Ayodele
Julius Alade (2006) ada tujuh tujuan e-assessment:
• Meningkatkan belajar siswa
• Mengidentifikasi kekuatan dan kelemahan siswa
• Meninjau, menguji, dan memperbaiki keefektifan berbagai strategi
mengajar yang berbeda
• Meninjau, menguji, dan memperbaiki keefektifan program kurikulum
• Meningkatkan keefektifan mengajar.
• Menyediakan data administratif yang berguna yang akan mempercepat
proses pengambilan keputusan.
• Untuk berkomunikasi dengan para pihak yang bersangkutan.
Menurut McKenna dan Bull (1999) dalam jurnal yang berjudul
“Designing Effective Test Questions: an Introductory Workshop”, tipe
11
soal Pilhan Ganda (Multiple Choice), Menjodohkan (Matching), dan
Mengurutkan (Sequencing) adalah tipe soal yang bersifat objektif. Ketiga
tipe soal tersebut digunakan untuk menjaga tingkat keobjektifan kuis
dan umpan balik yang diberikan.
2.1.2 Taksonomi Bloom
2.1.2.1 Pengertian Taksonomi
Menurut kamus besar Bahasa Indonesia
(http://pusatbahasa.diknas.go.id/kbbi/) taksonomi adalah klasifikasi bidang
ilmu; kaidah dan prinsip yg meliputi pengklasifikasian objek.
Sedangkan dalam bahasa inggris (http://www.merriam-
webster.com/dictionary/taxonomy), taxonomy diartikan sebagai studi tentang
prinsip-prinsip umum klasifikasi ilmiah.
2.1.2.2 Taksonomi Bloom
Pada tahun 1956 sebuah tim yang dikepalai oleh Benjamin S. Bloom
menerbitkan sebuah taksonomi tujuan pendidikan yang saat ini dikenal
dengan nama Taksonomi Bloom. Taksonomi bloom adalah sebuah taksonomi
yang digunakan untuk mengkategorikan tujuan pendidikan dengan 3 kawasan
(domain), yaitu kognitif, afektif dan psikomotorik. Ranah kognitif meliputi
aspek – aspek intelektual atau penalaran seperti fungsi memproses informasi,
pengetahuan,. Ranah afektif meliputi fungsi yang berkaitan dengan aspek
emosional seperti sikap dan perasaan. Sedangkan ranah psikomotorik
12
berkaitan dengan aspek-aspek keterampilan yang melibatkan fungsi sistem
syaraf dan otot yaitu kemampuan fisik. Tapi yang digunakan dalam
penelitian dan perancangan selanjutnya hanyalah domain kognitif.
Kognitif sendiri diartikan sebagai sesuatu yang berhubungan
dengan atau melibatkan kognisi; sesuatu yang berdasar kepada pengetahuan
faktual yang empiris. Kognisi adalah kegiatan atau proses memperoleh
pengetahuan (termasuk kesadaran, perasaan, dsb) atau usaha mengenali
sesuatu melalui pengalaman sendiri; hasil pemerolehan pengetahuan.
Pada awalnya taksonomi bloom domain kognitif dibagi ke dalam
enam kategori. Keenam kategori ini mencakup kompetensi keterampilan
intelektual dari yang sederhana (tingkat pengetahuan) sampai dengan yang
paling kompleks atau rumit (tingkat evaluasi). Keenam kategori tersebut
adalah:
1. Pengetahuan (Knowledge)
Tujuan pengetahuan pada level ini menuntut mahasiswa untuk
mampu mengingat (recall) informasi yang telah diterima sebelumnya,
seperti misalnya: fakta, terminologi, definisi, rumus, strategi
pemecahan masalah, dan sebagainya.
Kata kerja yang digunakan misalnya: mengidentifikasi, memilih,
sebutkan.
Contoh: Mahasiswa dapat menyebutkan tipe – tipe kabel yang
digunakan dalam membangun suatu jaringan.
13
2. Pemahaman (Comprehension)
Tujuan pengetahuan pada kategori ini berhubungan dengan
kemampuan untuk menjelaskan pengetahuan/informasi yang telah
diketahui dengan kata – kata sendiri.
Kata kerja yang digunakan misalnya: membedakan, menjelaskan,
menyimpulkan.
Contoh: Mahasiswa dapat menjelaskan protokol pada network layer.
3. Penerapan (Application)
Penerapan atas pengetahuan yang telah didapat untuk
mengidentifikasi atau memecahkan suatu masalah.
Kata kerja yang digunakan misalnya: menghitung, menggunakan.
Contoh: Mahasiswa dapat menggunakan DNS.
4. Analisis (Analysis)
Analisis merupakan kemampuan untuk mengidentifikasi,
memisahkan dan membedakan komponen – komponen atau elemen
suatu fakta, konsep, pendapat, asumsi, hipotesa atau kesimpulan, dan
memeriksa setiap komponen tersebut untuk melihat ada tidaknya
kontradiksi. Mahasiswa diharapkan dapat menunjukkan hubungan
dari berbagai masalah, gagasan dengan cara membandingkan masalah
atau gagasan tersebut dengan standar, prinsip atau prosedur yang
telah dipelajari.
Kata kerja yang digunakan misalnya: membandingkan, memisahkan.
Contoh: Mahasiswa dapat membagi IP addressing.
14
5. Sintesis (Synthesis)
Tujuan instruksional level ini menuntut mahasiswa untuk mampu
mengkombinasikan bagian atau elemen ke dalam satu kesatuan atau
struktur yang lebih besar. Dalam hal ini mahasiswa harus
menggabungkan atau merangkai berbagai informasi menjadi satu
kesimpulan.
Kata kerja yang digunakan misalnya: menciptakan, mendesain.
Contoh: Mahasiswa dapat mendesain suatu jaringan sederhana.
6. Evaluasi (Evaluation)
Tujuan ini mengharapkan mahasiswa mampu membuat penilaian dan
keputusan tentang nilai suatu gagasan, metode, produk atau benda
dengan menggunakan kriteria tertentu.
Kata kerja yang digunakan misalnya: membandingkan, mengevaluasi.
Contoh: Dengan menggunakan kriteria yang sudah ditetapkan,
mahasiswa dapat membuat penilaian tentang suatu jaringan.
Pada tahun 2001 Anderson dan Krathworthl merevisi taksonomi
bloom menjadi 6 kategori yaitu: mengingat (remembering), mengerti
(understanding), menggunakan (applying), menganalisa (analizing),
mengevaluasi (evaluating), dan membuat (creating). Lorin Anderson sendiri
adalah murid dari Benjamin Bloom. Anderson mengubah kata benda (noun)
yang digunakan oleh Bloom menjadi kata kerja (verb). Lalu urutan 2 kategori
terakhir yakni sintesis dan evaluasi ditukar.
15 2.2. Teori Khusus
2.2.1 System Development Life Cycle
System Development Life Cycle adalah model konseptual yang digunakan
untuk membuat manajemen proyek yang menggambarkan tahap-tahap yang
terlibat dalam suatu proyek pengambangan sistem informasi dari studi kelayakan
sampai pemeliharaan aplikasi. Berbagai metodologi SDLC telah dikembangkan
untuk memandu proses-proses yang terlibat termasuk model air terjun (Waterfall),
Rapid Application Development (RAD), Joint Application Development (JAD),
Fountain model, dan Spiral model. Sebagian besar, beberapa model
dikombinasikan menjadi metode campuran. Dokumentasi sangatlah penting
terlepas dari tipe model yang dipilih atau diciptakan untuk aplikasi apapun dan
biasanya dikerjakan sejalan dengan proses pengembangan. Beberapa metode
berfungsi lebih baik berdasarkan proyek yang dikembangkan. Tapi pada analisis
akhir, faktor yang paling penting dalam keberhasilan suatu projek adalah seberapa
mirip antara proyek yang dikembangkan dengan rencana yang telah dibuat.
Gambar 2.1 Waterfall Model
16
Feasibility
Studi kelayakan digunakan untuk menentukan apakah proyek harus
dilanjutkan atau tidak. Jika proyek ini dapat dilanjutkan, studi kelayakan akan
menghasilkan perencana proyek dan perkiraan anggaran untuk tahap
pembangunan.
Analysis and Design
Pada tahap analisis, pekerjaan yang dilakukan adalah mengumpulkan
kebutuhan sistem. Tahap ini meliputi detail pembelajaran mengenai kebutuhan
organisasi. Pada tahap perancangan, pekerjaan yang harus dilakukan adalah focus
pada perancangan tinggat tinggi seperti program apa yang diperlukan dan
bagaimana interaksi antar program tersebut, perancangan tingkat rendah
(bagaimana program-program yang berdiri sendiri akan bekerja), perancangan
antar muka (tampilan apa saja yang akan terlihat dan perancangan data (data apa
saja yang diperlukan). Selama tahap ini, struktur keseluruhan perangkat lunak telah
ditetapkan. Analisis dan perancangan sangatlah penting dalam keseluruhan siklus
pengambangan perangkat lunak. Setiap kesalahan dalam tahap perancangan bias
sangat sulit dipecahkan dalam tahap pengambangan perangkat lunak. Tahap ini
adalah tahap yang harus diberikan banyak perhatian.
Implementation
Dalam tahap ini, apa yang telah dirancang pada tahap sebelum diterjemahkan
ke dalam kode program. Program komputer yang ditulis menggunakan bahasa
pemograman yang konvensional atau aplikasi generator.
17
Testing
Dalam taham ini, sistem yang telah dibuat akan diujikan. Program biasanya
ditulis sebagai rangkaian modul tersendiri. Sistem ini kemudian diuji secara
keseluruhan. Modul yang terpisah, digabungan menjadi satu dan diuji sebagai
sistem yang lengkap. Sistem ini diuji untuk memastikan bahwa tampilan antar
muka antara modul-modul bekerja dengan baik (integration testing), sistem
bekerja pada platform yang diharapkan dan sistem bekerja sesuai yang diperlukan
pengguna (acceptance / beta testing)
Maintenance
Setiap sistem yang sudah jadi memerlukan akan pemeliharaan. Sebuah
perangkat lunak akan mengalami perubahan setelah disampaikan kepada klien.
Perubahan bisa terjadi karena beberapa nilai yang dimasukan oleh klien tidak dapat
ditangani oleh sistem. Selain itu, perubahan pada sistem dapat secara langsung
mempengaruhi operasi perangkat lunak. Perangkat lunak harus dikembangkan
untuk mengakomodasi perubahan-perubahan yang dapat terjadi selama tahap
pelaksanaan.
2.2.2 Object-Oriented Programming
Object-Oriented Programming adalah jenis pemrograman dimana
programmer tidak hanya mendefinisikan tipe data dari struktur data, tetapi juga
jenis-jenis operasi (fungsi) yang dapat diterapkan pada struktur data. Dengan cara
18
ini, struktur data menjadi objek yang meliputi data dan fungsi. Selain itu,
pemrogram dapat membuat hubungan antara satu objek dan yang lain. Sebagai
contoh, objek dapat mewarisi karakteristik dari objek lain.
Salah satu keunggulan utama dari pemrograman berorientasi objek
dibandingkan dengan pemrograman prosedural adalah memungkinkan
programmer untuk membuat modul yang tidak perlu diubah ketika jenis objek
yang baru ditambahkan. Seorang programmer dapat dengan mudah membuat
objek baru yang mewarisi banyak fitur-fiturnya dari objek yang sudah ada. Hal ini
membuat program-program berorientasi objek lebih mudah untuk dimodifikasi.
Berikut adalah pengertian dari istilah-istilah yang bersangkutan :
• Object Oriented Concept
Kita mengorganisasi perangkat lunak sebagai kumpulan-
kumpulan dari obyek tertentu yang memiliki struktur data dan
perilakunya (atribut dan operasi) (Thimoty C, 2002)
• Kelas
Kelas merupakan sekumpulan obyek yang memiliki atribut-atribut
dan method. (Thimoty C, 2002)
• Super class
Super class adalah class induk yang nantinya mempunyai class-
class yang terdiri dari class dan subclass. (Thimoty C, 2002)
19
• Objek
Obyek adalah sebuah benda atau unit atau sifat kerja yang
memiliki atribut-atribut. (Thimoty C, 2002)
• Operasi
Operasi adalah prosedural abstraction yang menspesifikasi tipe
dari perilaku dan terdiri dari fungsi-fungsi. (Thimoty C, 2002)
• Abstraksi
Kemampuan program untuk melewati aspek informasi yang
diproses olehnya. Setiap obyek dalam sistem melayani sebagai
model dari pelaku abstrak yang dapat melakukan kerja, laporan
dan perubahan keadaannya, dan berkomunikasi dengan obyek
lainnya dalam sistem, tanpa mengungkapkan bagaimana
kelebihan ini diterapkan.
• Enkapsulasi/ pengkapsulan
Encapsulation atau pengkapsulan merupakan pembatasan ruang
lingkup program terhadap data yang diproses supaya data
terlindungi oleh prosedur atau obyek lain, kecuali prosedur yang
berada di obyek itu sendiri. (Thimoty C, 2002)
• Polimorfisme
20
Polymorphism adalah konsep yang menyatakan bahwa sesuatu
yang sama dapat mempunyai bentuk dan perilaku yang berbeda,
bahwa operasi yang sama mungkin memiliki perbedaan dalam
class yang berbeda. (Thimoty C, 2002)
• Inheritas/ Pewarisan
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa
anak dari obyek akan mewarisi data atau atribut dan method dari
induknya langsung. Atribut dan method dari obyek induk
diturunkan kepada anak obyek, demikian seterusnya. (Thimoty C,
2002)
2.2.3 Unified Modeling Language (UML)
Menurut Booch, Rumbaugh dan Jacobson (2001,p13) UML adalah bahasa
standar untuk penulisan rencana atau desain perangkat lunak. UML juga bisa
digunakan untuk memvisualisasi, menspesifikasi, membangun, dan
mendokumentasikan artifak – artifak sebuah sistem perangkat lunak.
2.2.3.1 Model Konseptual UML
UML terdiri atau mencakup 3 bagian:
1. Benda/Sesuatu (Things)
2. Hubungan (Relationships)
3. Diagram (Diagrams)
21
Benda adalah abstraksi yang berperan sebagai warga kelas satu dalam
model; hubungan mengikat benda; diagram mengelompokkan koleksi
dari benda.
A. Benda (Things)
Ada 4 macam benda dalam UML:
• Benda yang berkaitan dengan struktur (Structural Things)
• Benda yang berkaitan dengan perilaku (Behavioural Things)
• Benda yang berkaitan dengan pengelompokkan (Grouping
Things)
• Benda yang memberi keterangan (Annotational Things)
1.Structural Things
Structural Things adalah kata benda dari model UML. Ini adalah
bagian yang hampir statis dari model, mewakili unsur – unsur baik
yang konseptual maupun secara fisik. Ada 7 macam structural
things:
• Class
Class adalah deskripsi dari suatu set objek yang saling
berbagi atribut (attributes), operasi (operations), hubungan
(relationships), dan semantik (semantics).
22
• Interface
Interface adalah kumpulan operasi – operasi yang
menjelaskan jasa sebuah class atau komponen
(component). Oleh karena itu interface menerangkan
perilaku eksternal dari elemen tersebut.
• Collaboration
Collaboration menjelaskan interaksi dan perkumpulan dari
suatu peran dan elemen – elemen lain yang bekerja
bersama untuk memenuhi beberapa perilaku kerjasama
<<nama>>
<<atribut>>
<<operasi>>
<<nama>>
Gambar 2.2 Class
Gambar 2.3 Interface
23
yang lebih besar dari jumlah semua elemen – elemen
tersebut.
• Use case
Use case adalah adalah gambaran tentang serangkaian
urutan tindakan yang dilakukan sistem yang menghasilkan
hasil dari suatu nilai yang dapat diamati aktor tertentu.
• Active class
Active class adalah sebuah class dimana sebuah objek
memiliki satu atau lebih proses atau urutan dan oleh karena
itu bisa memulai kontrol aktivitas.
<<nama>>
<<nama>>
Gambar 2.4 Collaboration
Gambar 2.5 Use Case
24
• Components
Components adalah bagian fisik dan dapat digantikan dari
sistem yang sesuai dan memenuhi realisasi dari set
antarmuka.
• Nodes
Nodes adalah elemen fisik yang muncul saat aplikasi
berjalan, dan mewakili sumber komputasi, pada umumnya
mempunyai paling sedikit beberapa memori, dan seringkali
mempunyai kemampuan memproses.
<<nama>> <<atribut>>
<<operasi>>
<<nama>>
Gambar 2.6 Active Class
Gambar 2.7 Components
25
2.Behavioral Things
Behavioral things adalah bagian dinamis dari model UML. Ini
adalah kata kerja dari model, mewakili perilaku dari waktu ke
waktu dan ruang.
Ada 2 macam behavioral things:
• Interaction
Interaction adalah sebuah perilaku yang terdiri dari
serangkaian pesan yang dipertukarkan antara satu set objek
dalam konteks tertentu untuk mencapai tujuan tertentu.
• State machine
adalah sebuah perilaku yang menentukan urutan keadaan –
keadaan suatu objek atau suatu interaksi yang terjadi
selama tanggapan (response) terhadap suatu keadaan,
bersamaan dengan tanggapan (response) tersebut.
<<pesan>>
<<nama>>
Gambar 2.8 Nodes
Gambar 2.9 Interaction
26
3.Grouping Things
Grouping things adalah bagian dari UML yang berhubungan
dengan organisasi. Ini adalah kotak yang mana model bisa dipilah.
Hanya ada satu macam grouping things yakni package.
Package adalah mekanisme umum untuk mengorganisir unsur –
unsur ke dalam grup.
Packages adalah bagian dasar dari grouping things yang mana bisa
mengorganisir model UML. Sebenarnya ada beberapa variasi,
seperti frameworks, models, dan subsystems. Ini semua adalah
bagian atau macam – macam packages.
4.Annotational Things
Annotational things adalah bagian penjelasan dari model UML. Ini
adalah bagian yang memuat tentang komentar, keterangan, dan
<<nama>>
<<nama>>
Gambar 2.10 State Machine
Gambar 2.11 Packages
27
ulasan. Hanya ada satu macam dari annotational things yaitu
catatan (note).
B. Hubungan (Relationship)
Ada 4 macam jenis hubungan:
1. Ketergantungan (Dependency)
Dependency adalah hubungan semantic antara dua benda
dimana perubahan pada suatu benda (benda yang bebas) bisa
saja mempengaruhi semantik benda yang lain (benda yang
bebas)
2. Asosiasi (Association)
Association adalah hubungan structural yang menggambarkan
sebuah set dari hubungan, sebuah hubungan yang menjadi
penghubung di antara objek.
<<nama>>
Gambar 2.12 Note
Gambar 2.13 Depedency
28
3. Generalisasi (Generalization)
Generalization adalah sebuah spesialisasi/generalisasi hubungan
dimana objek yang berasal dari elemen yang dikhususkan
(specialized elements) atau sang anak (the child) bisa digantikan
untuk objek yang berasal dari elemen yang disamaratakan
(generalized elements) atau sang tetua (the parents). Dalam hal
ini sang anak (the child) memberikan struktur dan perilaku dari
sang tetua (the parents).
4. Realisasi (Realization)
Realization adalah hubungan semantik antara classifiers, di
mana satu penggolong menetapkan kontrak yang menjamin
classifier lain untuk melaksanakannya.
0..1
employer employee
*
Gambar 2.14 Association
Gambar 2.15 Generalization
Gambar 2.16 Realization
29
C. Diagram (Diagrams)
Diagram adalah presentasi grafis dari sebuah set elemen, seringkali
diperankan sebagai garis (things) dan lengkungan (relationships).
Diagram digambar untuk memvisualisasikan sistem dari perspektif
berbeda, jadi diagram adalah proyeksi dari sistem.
1. Use Case Diagram
Use case diagram menunjukkan sebuah set dari use case dan
aktor – aktor (actors) dan hubungan mereka. Use case diagram
mengidentifikasi tampilan desain statis dari sistem. Use case
diagram sangat penting dalam mengatur dan memodelkan
perilaku dari sebuah sistem.
2. Class Diagram
Class diagram memperlihatkan sebuah set dari beberapa class,
interface, dan collaborations dan hubungan – hubungan mereka.
Class diagram mengidentifikasi tampilan desain statis dari
sistem.
3. Sequence Diagram
Sequence diagram termasuk ke dalam jenis diagram interaksi.
Diagram interaksi menampilkan interaksi, termasuk set objek
dan hubungan antar objek, juga termasuk di dalamnya pesan
antar objek. Sequence diagram adalah sebuah diagram interaksi
yang menitikberatkan urutan waktu dari pesan.
4. Activity Diagram
30
Activity diagram adalah jenis khusus dari statechart diagram
yang menunjukkan aliran dari aktivitas – aktivitas yang ada
pada sistem. Activity diagram mengidentifikasi tampilan
dinamis dari sistem. Diagram ini sangat penting dalam
memodelkan fungsi dari sistem dan menitikberatkan pada aliran
kendali di antara objek.
2.2.4 Pengertian Basis Data (Database)
Menurut Connolly (2005, p15), basis data adalah kumpulan data yang
saling berhubungan satu sama lain secara logika, yang dapat digunakan oleh
banyak pengguna, yang didesain untuk menampilkan informasi yang dibutuhkan
oleh suatu organisasi.
Menurut Turban (2003, p16), basis data adalah kumpulan file atau record
yang terorganisir menyimpan data beserta hubungan diantara data tersebut.
2.2.5 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) adalah suatu rancangan atau bentuk
hubungan suatu kegiatan dalam sistem yang berkaitan langsung dan mempunyai
fungsi di dalam proses tersebut.
Menurut Connolly (2005, p342), pemodelan ER merupakan pendekatan
top-down terhadap rancangan basis data yang dimulai dengan mengidentifikasi
data-data penting yang disebut entitas dan relasi antara data-data yang
direpresentasikan ke dalam model. Kemudian menambahkan detail seperti
31
informasi yang diinginkan tentang entities dan relationship yang disebut atribut
dan constraints yang ada pada entities, relationship dan atribut-atribut.
a. Entity
Menurut Connolly (2005, p343) tipe entitas merupakan sekumpulan
objek dengan ciri-ciri yang sama yang diasumsikan oleh perusahaan memiliki
keberadaan yang berdiri sendiri atau independen. Dalam ERD, entiti
digambarkan sebagai sebuah persegi yang diberi label dengan nama entiti.
Ada dua klasifikasi dari tipe entiti (Connolly, 2005, p354) :
1. Strong entity type
Strong entity type atau tipe entitas kuat adalah sebuah tipe entitas
yang tidak bergantung pada keberadaan tipe entitas yang lain.
2. Weak entity type
Weak entity type atau tipe entitas lemah adalah sebuah tipe entitas
yang bergantung pada keberadaan tipe entitas yang lain.
b. Relasi (Relationship)
Menurut Connolly (2005, p346) relationship adalah sekumpulan asosiasi
dari satu atau lebih entiti.
c. Atribut (Attributte)
Menurut Connolly ( 2005, p350) atribut adalah properti dari sebuah entiti
atau tipe relasi. Setiap atribut dihubungkan dengan sekelompok nilai yang
disebut domain.
Macam-macam atribut:
32
1. Simple attribute adalah atribut yang terdiri dari komponen tunggal
dengan keberadaan yang independen dan tidak dapat dibagi lagi ke
komponen yang lebih kecil.
2. Composite attribute adalah atribut yang terdiri dari banyak komponen
dimana masing-masing memiliki keberadaan yang independen.
3. Single value attribute adalah suatu atribut yang memiliki nilai tunggal
untuk setiap kejadian.
4. Multi-value attribute adalah suatu atribut yang memiliki beberapa nilai
untuk setiap kejadian pada sebuah entiti.
5. Derived attribute adalah suatu atribut yang menggambarkan suatu nilai
yang didapat dari atribut-atribut yang berhubungan, tidak selalu dari
entiti yang sama.
d. Kunci (Key)
Menurut Connolly (2005, p352) ada 3 jenis kunci:
1. Candidate Key
Candidate key adalah sekumpulan atribut minimal yang secara unik
mengidentifikasi keberadaan dari setiap entitas.
2. Primary key
Primary key adalah candidate key yang secara unik mengidentifikasi
keberadaan dari setiap entiti dan mempunyai karakter yang paling
sedikit. Foreign key adalah sembarang atribut pada primary key pada
tabel berikutnya yang berfungsi menghubungkan antar tabel apabila
sebuah primary key terhubung dengan tabel berikutnya.
33
2. Composite key adalah candidate key yang terdiri dari dua atau lebih
atribut.
e. Multiplicity
Sejumlah kemungkinan kejadian-kejadian dari sebuah tipe entiti dalam
sebuah hubungan n-ary ketika nilai-nilai yang lain (n-1) ditentukan (Connolly,
2005, 356).
Multiplicity terdiri dari dua batasan terpisah, yaitu:
1. Cardinality
Cardinality adalah untuk mendeskripsikan jumlah maksimum dari
kemungkinan kejadian-kejadian yang saling berhubungan untuk
sebuah partisipasi entiti dalam proses penentuan tipe relationship.
2. Participation
Participation adalah untuk menentukan apakah semua kejadian-
kejadian entiti akan ikut berpartisipasi dalam sebuah relationship atau
hanya beberapa yang ikut berpartisipasi.
Jenis-jenis multiplicity menurut Connolly (2002, p345) adalah :
a. One (1:1) Relationship
b. One to Many (1:*) Relationship
c. Many to Many (*:*) Relationship
2.2.6 Teori Java
A. Pengertian Java
Java adalah sebuah bahasa pemrograman komputer berbasiskan
kepada Object Oriented Programming. Dikembangkan oleh Sun
34
Microsystems dan diterbitkan tahun 1995. Java diciptakan setelah C++
dan didesain sedemikian sehingga ukurannya kecil, sederhana, dan
portable (dapat dipindah-pindahkan di antara berbagai macam platform
dan sistem operasi). Salah satu keunggulan Java adalah sifatnya yang
platform independence, artinya baik source program maupun hasil
kompilasinya, Java sama sekali tidak bergantung kepada sistem operasi
dan platform yang digunakan sama seperti slogan java, "write once, run
anywhere".
Source code sebuah aplikasi dengan bahasa Java yang ditulis di
atas sistem Windows NT misalnya, dengan mudah dapat dipindahkan ke
sistem operasi UNIX tanpa harus mengedit satu baris kode-pun. Ini
tentunya merupakan satu nilai tambah tersendiri. Bandingkan dengan
bahasa C/C++ misalnya, jika kita bekerja pada UNIX FreeBSD dan ingin
memindahkannya pada HP UNIX, terkadang harus mengedit source
code-nya sehingga sesuai dengan HP UNIX, walaupun keduanya masih
berada dalam keluarga UNIX.
Bukan hanya source code-nya saja yang bisa dipindah-pindahkan
antar sistem komputer, bahkan hasil kompilasinya pun dapat dijalankan
di berbagai sistem komputer. Hal ini dimungkinkan dengan adanya
bytecode. Setiap program yang ditulis dengan bahasa Java, hasil
kompilasinya berupa bytecode, yaitu sekumpulan instruksi yang
kelihatannya seperti kode mesin (machine code) tapi tidak spesifik untuk
satu jenis prosesor tertentu.
35
Umumnya jika kita menulis program, misalnya dalam bahasa C++
pada satu sistem komputer semisal PC, compiler akan menterjemahkan
source code kedalam bahasa mesin yang spesifik untuk prosesor yang ada
di PC. Jika hendak dijalankan di sistem lain, Macintosh misalnya, maka
source code harus dikompilasi lagi pada mesin Macintosh yang
bersangkutan, dan terkadang harus melakukan pengeditan source code
terlebih dahulu. Menjalankan hasil kompilasi dari platform Windows
pada platform UNIX tidak akan pernah berhasil. Berikut ini ilustrasinya:
Gambar 2.17 Cara Kerja Program Java di Beberapa Sistem Operasi
36
Karakteristik Java antara lain :
o Sederhana (Simple)
o Berorientasi Objek (Object Oriented)
o Terdistribusi (Distributed)
o Interpreted
o Robust
o Aman (Secure)
o Architecture Neutral
o Portable
o Performance
o Multithreaded
o Dinamis
Java memiliki beberapa jenis edisi untuk lingkungan aplikasi yang
berbeda. Beberapa jenis edisinya adalah:
1. Java SE (Java Platform, Standard Edition)
Edisi Java yang digunakan untuk applikasi desktop atau
workstation.
2. Java EE (Java Platform, Enterprise Edition)
Edisi Java yang digunakan untuk applikasi Enterprise atau
applikasi internet.
3. Java ME (Java Platform, Micro Edition)
Edisi java yang ditargetkan untuk membuat applikasi dengan
sumber daya yang terbatas misalnya pada telepon genggam.
37
B. Pengertian Servlet
Servlet adalah program kecil yang ditulis dengan bahasa Java
yang dibuat untuk berjalan diatas web server. Kata Servlet memiliki
kemiripan dengan Applet. Perbedaannya adalah applet berjalan disisi
klien (client-side) sedangakan Servlet berjalan di sisi server (server-side).
Teknologi Java memperkenalkkan Servlet sebagai alternatif lain
dari program CGI (Common Gateway Interface). CGI merupakan
program yang dikembangkan untuk membuat halaman web menjadi lebih
dinamis. CGI memungkinkan adanya interaksi antara user dengan web
server, misalkan pengguna memasukkan data pribadi melalui form
HTML, kemudian data di proses di web server. Program CGI banyak
ditulis dalam bahasa Perl atau C++.
Proses Akses Servlet:
Program servlet berjalan di dalam web server, dan berperilaku
sebagai lapisan penghubung antara request yang dikirim browser lewat
protokol HTTP dengan basisdata, atau lapisan tengah antara browser
dengan aplikasi pada web server.
Berikut alur proses yang terjadi ketika klien mengakses Servlet
pada web server :
1. Membaca data secara ekplist data yang dikirim oleh klien
lewat browser. Pengguna memasukkant data pada form
HTML pada halaman web, data juga bisa berasal dari sebuah
applet atau lewat program klien HTTP.
38
2. Membaca data secara implisit data HTTP request yang
dikirim melalui browser. Dalam proses ini akan dibaca dua
jenis data, yang pertama adalah data yang diinput klien dan
yang kedua adalah data yang dikirim oleh browser (seperti :
cookies, media type) , proses ini berada di server dimana
Servlet dieksekusi,
3. Generate hasil permintaan (request). Proses ini mungkin
memerlukan komunikasi dengan basisdata, eksekusi sebuah
RMI atau memanggil web service, invoke sebuah aplikasi,
atau menjawab (response) secara langsung permintaan
(request). Disini basisdata tidak langsung "berbicara" dengan
HTTP atau tidak langsung mengembalikan basisdata dalam
bentuk HTML, hal ini berlaku untuk semua aplikasi. Disini
dibutuhkan suatu lapisan untuk meng-ekstrak data kedalam
bentuk stream HTTP.
4. Kirim data (dokumen) secara eksplisit ke klien. Dokumen
yang dikirim dapat dalam berbagai format , tulisan (HTML),
binari (image file), atau bahkan file hasil kompres (gzip file)
5. Kirim data response HTTP secara implisit. Servlet atau JSP
akan mengirim data ke klien, ada dua jenis data yang dikirim,
data yang berisi informasi yang diinginkan / diproses dan
informasi HTTP ( cookies, catch parameter dan sebagainya).
39
C. Pengertian JSP
Java Server Pages (JSP) adalah bahasa scripting untuk web
programming yang bersifat server side seperti halnya PHP dan ASP. JSP
dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu
sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh pengguna
menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh
pengguna tapi server yang akan melakukan tugas tersebut. Makanya pada
saat pengguna membuat pertama kali atau melakukan modifikasi halaman
dan mengeksekusinya pada web browser akan memakan sedikit waktu
sebelum ditampilkan.
Sebagai gambaran bagaimana JSP melalui masa hidupnya bisa
dilihat pada gambar berikut :
Perangkat *.JSP ----> Penterjemah ---->*.JAVA---->*.CLASS----> Proses perintah | JSP | | | v v
diterjemahkan kompilasi
Gambar 2.18 Masa Hidup JSP
40
D. Model View Controller
Arsitektur Model View Controller adalah sebuah pola yang
terbukti membangun proyek secara lebih efektif. Hal itu dilakukan
dengan memilah komponen antara Model, View dan Controller pada
bagian – bagian dalam proyek
1. Model
Pola MVC memiliki layer yang disebut dengan Model
yang merepresentasikan data yang digunakan oleh aplikasi
sebagaimana proses bisnis yang diasosiasikan terhadapnya.
Dengan memilahnya sebagai bagian terpisah, seperti
penampungan data, persistence, serta proses manipulasi,
terpisah dari bagian lain aplikasi.
Terdapat beberapa kelebihan dalam pendekatan ini.
Pertama, membuat detail dari data dan operasinya dapat
ditempatkan pada area yang ditentukan (Model) dibanding
tersebar dalam keseluruhan lingkup aplikasi. Hal ini
memberikan keuntungan dalam proses pemeliharaan aplikasi.
Kedua, dengan pemisahan total antara data dengan
implementasi interface, komponen model dapat digunakan
kembali oleh aplikasi lain yang memiliki kegunaan yang
hampir sama.
2. View
41
Layer ini mengandung keseluruhan detail dari
implementasi user interface. Disini, komponen grafis
menyediakan representasi proses internal aplikasi dan
menuntun alur interaksi pengguna terhadap aplikasi. Tidak
ada layer lain yang berinteraksi dengan pengguna, hanya
View.
Penggunaan layer View memiliki beberapa kelebihan :
Pertama, memudahkan pengabungan divisi desain dalam tim
pengembangan. Divisi desain dapat berkonsentrasi pada style,
look dan feel, dan sebagainya, dalam aplikasi tanpa harus
memperhatikan lebih pada detail yang lain.
Dan juga, memiliki layer View yang terpisah
memungkinkan ketersediaan multiple interface dalam aplikasi.
Jika inti dari aplikasi terletak pada bagian lain (dalam Model),
multiple interfaces dapat dibuat (Swing, Web, Console), secara
keseluruhan memiliki tampilan yang berbeda namun
mengeksekusi komponen Model sesuai fungsionalitas yang
diharapkan.
3. Controller
Terakhir, arsitektur MVC memiliki layer Controller.
Layer ini menyediakan detail alur program dan transisi layer,
dan juga bertanggungjawab akan penampungan events yang
dibuat oleh pengguna dari View dan melakukan update
42
terhadap komponen Model menggunakan data yang
dimasukkan oleh pengguna. Kelebihan dalam penggunaan
layer Controller secara terpisah: Pertama, dengan
menggunakan komponen terpisah untuk menampung detail
dari transisi layer, komponen view dapat didesain tanpa harus
memperhatikan bagian lain secara berlebih. Hal ini
memudahkan tim pengembang multiple interface bekerja
secara terpisah dari yang lain secara simultan. Interaksi antar
komponen View terabstraksi dalam Controller.
Kedua, dengan menggunakan layer terpisah yang
melakukan update terhadap komponen Model, detail tersebut
dihapus dari layer presentasi. Layer presentasi kembali pada
fungsi utamanya untuk menampilkan data kepada pengguna.
Detail tentang bagaimana data dari pengguna mengubah
ketetapan aplikasi disembunyikan oleh Controller. Hal ini
memisahkan dengan jelas antara logika presentasi dengan
logika bisnis.
Tidak dapat disimpulkan bahwa pola MVC hadir dengan
kelebihan – kelebihan tanpa ada efek samping. Pembagian
aplikasi dalam 3 bagian terpisah meningkatkan
kompleksivitas. Pada aplikasi kecil yang tidak membutuhkan
loose coupling pada Model, hal ini dapat menjadi blok
penghalang dalam penggunaan pola ini.
43
Bagaimanapun, yang terbaik adalah untuk meyakini
bahwa sebuah aplikasi umumnya dimulai dari aplikasi
sederhana, dan berkembang menjadi sistem yang kompleks.,
sehingga faktor loose coupling harus selalu diutamakan dan
diperhatikan.
Top Related