BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1 Basis data Basis data adalah sekumpulan data yang saling berhubungan secara logikal dan juga merupakan deskripsi data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (Connoly dan Begg, 2010, p65). Basis data merupakan sekumpulan data yang terorganisir dari data dan berhubungan secara logis (Hoffer, 2005, p5). Melalui definisi diatas, dapat disimpulkan bahwa basis data adalah sekumpulan data yang terorganisir dan berhubungan secara logikal dan merupakan deskripsi dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. 2.1.2 Database Management System (DBMS) Database Management System (DBMS) adalah suatu sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengendalikan akses terhadap basis data (Connolly dan Begg, 2010, p66). Fasilitas yang disediakan DBMS antara lain: 1.
Data Definition Language (DDL) 8
9
Memungkinkan user untuk membuat spesifikasi tipe data, mendefinisikan basis data, struktur data dan constraint untuk disimpan dalam basis data. Constraint merupakan peraturan konsistensi nilai pada basis data yang tidak dapat dilanggar. 2.
Data Manipulation Language (DML) Memungkinkan user untuk melakukan insert, update, delete, dan mengirim atau mengambil data dari basis data.
3.
Menyediakan kontrol akses ke basis data antara lain: a. Sistem keamanan (security system), mencegah user yang tidak mempunyai hak akses agar tidak dapat mengakses basis data. b. Sistem integritas (integrity system), memelihara konsistensi data yang disimpan. c. Sistem kontrol pada saat yang bersamaan (concurrency
control
system),
memperbolehkan shared akses terhadap basis data. d. Sistem kontrol perbaikan (recovery control system), mengembalikan basis data kepada
10
keadaan sebelumnya yang konsisten saat terjadi kegagalan pada software atau hardware. e. Katalog yang dapat diakses oleh user (a useraccessible catalog), yang memuat deskripsi data dari suatu basis data. 2.1.2.1 Komponen Database Management System Menurut Connolly dan Begg (2010, p68), terdapat 5 komponen penting DBMS, yaitu: 1.
Hardware DBMS
membutuhkan
menjalankan
hardware
aplikasi-aplikasinya.
untuk
Hardware
dapat meliputi suatu PC, suatu mainframe, dan suatu jaringan komputer. 2.
Software Komponen perangkat lunak meliputi software DBMS itu sendiri, program aplikasi, sistem operasi (OS), dan sistem jaringan.
3.
Data Data
merupakan
komponen
yang
paling
penting dalam DBMS, berasal dari sudut pandang dari end-user. Data berperan sebagai penghubung antara mesin dengan pengguna.
11
4.
Prosedur Prosedur merupakan instruksi dan aturan yang mengatur perancangan dan penggunaan database.
5.
Sumber Daya Manusia Komponen terakhir adalah manusia yang berhubungan langsung dengan sistem. Komponen ini meliputi Database Administrator, Database Designers, Application Developers, dan EndUsers.
2.1.2.2 Keuntungan dan Kerugian DBMS Keuntungan DBMS (Connolly dan Begg, 2010, p77): 1.
Control of data redundancy Pendekatan basis data mencoba menghapus redundansi
dengan
menggabungkan
file-file
sehingga salinan data yang sama tidak tersimpan. 2.
Data consistency Basis data membantu menghilangkan atau mengatur redundansi. Hal ini akan mengurangi terjadinya data yang tidak konsisten.
3.
More information from the same amount of data
12
Dengan integrasi data operasional, hal ini memungkinkan perusahaan untuk mendapatkan tambahan informasi dari data yang sama. 4.
Sharing of data Basis data dimiliki oleh seluruh organisasi dan dapat dibagi kepada semua user yang memiliki hak akses. Dengan demikian, banyak user dapat membagi banyak data.
5.
Improved data integrity Database integrity menunjuk pada keabsahan dan konsistensi dari data yang disimpan.
6.
Improved security Database security adalah pelindung basis data dari user yang tidak memiliki hak akses. Tanpa keamanan yang tepat, integrasi hanya akan membuat data menjadi lebih mudah diserang.
7.
Enforcement of standards Integrasi
memperbolehkan
DBA
untuk
menentukan dan menyelenggarakan standar yang diperlukan. 8.
Economy of scale
13
Dengan
menggabungkan
data
operasional
suatu perusahaan ke dalam satu basis data, dan membuat sebuah kumpulan aplikasi yang bekerja pada satu sumber data, akan dapat menghemat pengeluaran suatu perusahaan. 9.
Balance of conflicting requirements Setiap
user
atau
departemen
memiliki
kebutuhan akan data yang berbeda. Karena basis data berada dibawah kontrol DBA, maka DBA dapat membuat keputusan tentang perancangan dan operasional dari suatu basis data. 10. Improved data accessibility and responsiveness Sebagai hasil dari integrasi, data yang melewati batas departemen dapat diakses oleh end-user. Hal ini akan menghasilkan sebuah sistem dengan fungsionalitas yang tinggi. 11. Increase Productivity DBMS
menyediakan
sebuah
lingkungan
fourth-generation environment yang terdiri dari tools
yang
menyederhanakan
pengembangan
aplikasi basis data. Hal inilah yang dapat
14
meningkatkan produktivitas programmer dan juga mengurangi waktu pengembangan. 12. Improved
maintenance
through
data
independence DBMS memisahkan deskripsi mengenai data dengan aplikasi. Hal ini akan membuat aplikasi bebas untuk berubah dalam data description. Hal inilah yang disebut dengan data independence. 13. Increase concurrency DBMS akan mengatur akses basis data secara bersamaan dan memastikan agar tidak terjadi kehilangan informasi atau integritas. 14. Improved backup and recovery service DBMS menyediakan fasilitas yang dapat mengurangi
proses
yang
akan
mengalami
kegagalan. Kerugian DBMS (Connolly dan Begg, 2010, p80): 1.
Complexity Keinginan untuk membuat DBMS yang baik akan membuat DBMS menjadi perangkat lunak (software) yang sangat kompleks. Perancang dan pengembang basis data, Administrator data dan
15
basis data, serta end-users harus mengerti fungsionalitas DBMS agar dapat memperoleh keuntungan
dari
DBMS.
Kesalahan
dalam
mengerti sistem akan menghasilkan rancangan yang buruk dan akhirnya akan berdampak buruk bagi organisasi. 2.
Size Kompleksitas fungsionalitas membuat DBMS menjadi
perangkat
lunak
(software)
yang
memiliki ukuran sangat besar dan memerlukan tempat yang besar di memori untuk dapat bekerja secara efisien. 3.
Cost of DBMS Biaya DBMS bervariasi secara signifikan sesuai dengan lingkungan dan fungsionalitas yang disediakan. Selain itu terdapat biaya untuk perawatan per tahun.
4.
Additional Hardware Costs Tempat penyimpanan yang dibutuhkan untuk DBMS dan basis data mengakibatkan biaya tambahan untuk membeli tempat penyimpanan tambahan. Lebih jauh lagi, untuk menghasilkan
16
kinerja yang dibutuhkan, mungkin dibutuhkan pembelian mesin yang lebih besar, bahkan mungkin
sebuah
mesin
tersendiri
untuk
menjalankan DBMS. 5.
Cost of Conversion Dalam beberapa situasi, biaya DBMS dan tambahan perangkat keras (hardware) dapat tidak sebanding dengan biaya untuk mengkonversi aplikasi yang sudah ada pada DBMS yang baru dan perangkat kerasnya. Biaya ini juga termasuk biaya pelatihan karyawan untuk menggunakan sistem yang baru, dan kemungkinan biaya untuk mempekerjakan
karyawan
spesialis
yang
membantu dalam mengkonversi dan menjalankan sistem. 6.
Performance Biasanya, DBMS ditulis menjadi lebih umum untuk mendukung banyak aplikasi. Akibatnya beberapa aplikasi tidak dapat berjalan dengan kecepatan yang seharusnya.
7.
Higher Impact of a failure
17
Sumber data yang tersentralisasi meningkatkan kerentanan terhadap sistem. Sejak semua user dan aplikasi bergantung pada ketersediaan dalam DBMS, kegagalan dari beberapa komponen dapat mengakibatkan operasi terhenti.
2.1.2.3 Fungsi DBMS Berikut merupakan fungsi dari DBMS (Connolly dan Begg, 2010, p99): 1.
Data storage, retrieval, and update DBMS harus mempunyai kemampuan untuk menyimpan
(store),
memperoleh
kembali
(retrieve), dan memperbaharui (update) data dalam basis data. 2.
A user-accessible catalog DBMS harus menyediakan sebuah katalog dimana deskripsi data dapat disimpan dan diakses oleh user.
3.
Transaction support DBMS harus menyediakan suatu mekanisme yang akan menjamin bahwa semua update yang
18
berhubungan dengan suatu transaksi dibuat atau tidak ada satu pun update yang akan dibuat. 4.
Concurrency control services DBMS harus menyediakan mekanisme yang menjamin bahwa basis data di update secara benar, ketika banyak user sedang melakukan update pada basis data secara bersamaan.
5.
Recovery services DBMS harus menyediakan mekanisme yang dapat memperbaiki basis data ketika masalah timbul.
6.
Authorization services DBMS harus menyediakan mekanisme yang menjamin bahwa hanya user yang mempunyai ijin yang dapat melakukan akses terhadap basis data.
7.
Support for data communication DBMS harus mampu beradaptasi dengan software komunikasi.
8.
Integrity services DBMS harus dapat menjamin bahwa data yang tersedia maupun perubahan terhadap data, tetap mengikuti peraturan yang ada.
19
9.
Services to promote data independence DBMS
harus
mempunyai
fasilitas
yang
mendukung independensi suatu program dari struktur basis data aktual. 10. Utility services DBMS harus menyediakan satu set fasilitas pelayanan, seperti fasilitas untuk ekspor impor, pengecekan kegunaan basis data dan operasinya, dan sebagainya. 2.1.3 Standard Query Language (SQL) Menurut Connolly dan Begg (2010, p184), SQL adalah salah satu contoh dari bahasa yang dirancang menggunakan relasi untuk mentransformasikan data masukan (input) menjadi data keluaran (output) yang dibutuhkan. Ada dua operasi dasar yang terdapat dalam SQL yaitu: 1.
Data Definition Language (DDL) Menurut Connolly dan Begg (2010, p92), Data Definition Language (DDL) adalah suatu bahasa yang mengizinkan pengguna untuk menjelaskan dan memberi nama entitas, atribut, dan relasi yang dibutuhkan oleh aplikasi, bersamaan dengan kesatuan integritas dan batasan keamanan.
20
Beberapa pernyataan dasar dari DDL (Connolly dan Begg, 2010, p237): • Create Table Berguna untuk membuat tabel dengan mengidentifikasi tipe data untuk tiap kolom. • Alter Table Berguna untuk menambah atau membuang kolom dan constraint. • Drop Table Berguna untuk membuang atau menghapus tabel beserta semua data yang terkait di dalamnya. • Create Index Berguna untuk membuat index pada suatu tabel. • Drop Index Berguna untuk membuang atau menghapus indeks yang telah dibuat sebelumnya. 2.
Data Manipulation Language (DML) Menurut Connolly dan Begg (2010, p92), DML adalah suatu bahasa yang menyediakan kumpulan
21
operasi dasar yang mendukung operasi manipulasi data yang ada dalam basis data. DML biasanya meliputi, yaitu: • Menambahkan data baru ke dalam database. • Memodifikasi
data
yang
terdapat
dalam
tersimpan
dalam
database. • Mengambil
data
yang
database. • Menghapus data dari database. Menurut Connolly dan Begg (2010, p93), DML dibagi menjadi dua jenis, yaitu: a. Procedural DML adalah suatu bahasa yang memungkinkan
pengguna
untuk
mendeskripsikan ke sistem tentang data apa yang
dibutuhkan
dan
bagaimana
cara
mendapatkan data tersebut secara tepat. b. Non-Procedural DML adalah suatu bahasa yang memungkinkan pengguna untuk menentukan data
apa
yang
diperlukan
tanpa
memperhatikan bagaimana data diperoleh.
22
2.1.4 Aplikasi Basis Data Menurut Connolly dan Begg (2010, p54), aplikasi basis data merupakan sebuah program sederhana yang berinterkasi dengan database pada saat dieksekusi. 2.1.5 Arsitektur Basis Data Menurut Connolly dan Begg (2010, p86), arsitektur basis data terbagi menjadi three-level-architecture, yaitu: a. External level Merupakan sebuah pandangan user terhadap database. Tingkat ini menjelaskan bagian database yang relevan bagi tiap pengguna. b. Conceptual level Tingkat ini menjelaskan data apa saja yang disimpan dalam database dan hubungan antar data. c. Internal level Merupakan representasi fisik dari database pada komputer. Tingkat ini menjelaskan bagaimana data disimpan dalam database.
23
2.1.6 Database System Development Lifecycle
Gambar 2.1 Database System Development Lifecycle
24
Aktivitas utama yang ada di setiap langkah dari Database System Development Lifecycle (Connolly dan Begg, 2010, p313-p335), yaitu: 1.
Perencanaan Basis Data (Database Planning) Perencanaan basis data merupakan aktivitas manajemen yang memungkinkan tahapan siklus aplikasi database untuk dapat direalisasikan secara efisien dan efektif (Connolly dan Begg, 2010, p313). Terdapat tiga hal pokok yang berkaitan dengan strategi sistem informasi, yaitu: • Mengidentifikasi dengan
rencana
menentukan
dan sistem
tujuan
perusahaan
informasi
yang
diperlukan. • Mengevaluasi sistem yang ada untuk menentukan kelebihan dan kelemahan. • Memperkirakan peluang IT
yang mungkin dapat
memberikan keuntungan yang kompetitif. 2.
Pendefinisian Sistem (System Definition) Menurut Connolly dan Begg (2010, p316), definisi sistem adalah penggambaran ruang lingkup dan batasan dari aplikasi database dan sudut pandang utama dari user (user views). User view
menjelaskan apa saja kebutuhan dari sistem
25
database dari perspektif aturan kerja khusus (manajer dan supervisor) atau area aplikasi perusahaan (bagian pemasaran, personalia, pengawasan persediaan). 3.
Analisis
dan
Pengumpulan
Kebutuhan
(Requirements
Collection and Analysis) Proses mengumpulkan dan menganalisis informasi mengenai bagian dari organisasi yang didukung oleh aplikasi database
dan
menggunakan
informasi
tersebut
untuk
menentukan kebutuhan pengguna akan sistem yang baru (Connolly dan Begg, 2010, p316). Teknik atau cara untuk memperoleh informasi ini disebut teknik fact finding (Connolly dan Begg, 2010, p317), yaitu: • Mempelajari dokumen • Wawancara • Observasi • Riset • Kuisioner 4.
Perancangan Basis Data (Database Design) Perancangan database merupakan proses membuat suatu design yang akan mendukung tujuan dan pekerjaan suatu perusahaan (Connolly dan Begg, 2010, p320).
26
Terdapat beberapa pendekatan yang digunakan dalam perancangan database, yaitu: 1. Bottom-Up Pendekatan Bottom-Up dimulai dari atribut dasar dengan analisis dari penggabungan antar atribut, yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relationship antar entitas. 2. Top-Down Pendekatan Top-Down diawali dengan pembentukan model data yang berisi beberapa entitas high level dan
relationship,
pendekatan
yang
Top-Down
kemudian secara
menerapkan
berturut
untuk
mengidentifikasi entitas tingkat rendah, hubungan relasional, dan atribut yang terkait. 3. Inside-Out Pendekatan inside-out berhubungan dengan bottomup tetapi sedikit berbeda di identifikasi awal entitas utama
dan
kemudian
menyebar
ke
entitas,
relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi. 4. Mixed
27
Pendekatan mixed menggunakan pendekatan bottomup dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan menjadi satu. Terdapat tiga fase dalam perancangan database, yaitu: 1. Perancangan database konseptual Suatu proses pembentukan model data dari informasi yang digunakan dalam perusahaan, tidak tergantung dari aspek fisik apapun. 2. Perancangan database logikal Proses membangun model data yang digunakan dalam suatu perusahaan didasarkan pada model data tertentu, tetapi tidak tergantung terhadap DBMS tertentu dan aspek fisik lainnya. Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan ke dalam model data logikal. 3. Perancangan database fisikal Suatu proses yang menghasilkan deskripsi mengenai implementasi basis data pada penyimpanan sekunder; menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data.
28
5.
Penyeleksian DBMS (DBMS Selection) Pemilihan DBMS yang tepat untuk mendukung aplikasi basis data. Dapat dilakukan kapanpun sebelum menuju desain logikal asalkan terdapat cukup informasi mengenai kebutuhan sistem.
6.
Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2010, p329), pengertian perancangan aplikasi adalah merancang antarmuka dan program aplikasi yang akan menggunakan dan memproses database.
7.
Pembuatan Prototype (Prototyping) Prototyping adalah membangun sebuah model kerja dari aplikasi
database
yang
mengizinkan
user
untuk
memvisualisasikan dan mengevaluasi gambaran sistem secara menyeluruh (Connolly dan Begg, 2010, p333). Tujuan
utama
prototyping
adalah
memungkinkan
pengguna menggunakan prototype untuk mengidentifikasi fitur sistem, apakah sudah bekerja dengan baik atau belum. Terdapat 2 strategi dalam merancang prototyping, yaitu: • Requirements Prototyping
29
Requirements
Prototyping
menggunakan
prototype untuk menentukan kebutuhan dari aplikasi basis data yang diinginkan dan ketika kebutuhan itu terpenuhi maka prototype akan dibuang. • Evolutionary Prototyping Evolutionary
Prototyping
digunakan
untuk
tujuan yang sama dengan requirement prototyping, tetapi
prototype
tidak
dibuang
melainkan
dikembangkan menjadi aplikasi basis data yang akan digunakan kelak. 8.
Implementasi (Implementation) Menurut Connolly dan Begg (2010, p333), implementasi adalah realisasi fisik database dan rancangan aplikasi. Implementasi dapat dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI).
9.
Pemuatan dan Konversi Data (Loading and Data Conversion) Pemindahan data yang ada ke dalam basis data baru dan mengkonversikan aplikasi yang ada agar dapat digunakan pada basis data yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama.
30
DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada ke dalam basis data baru. 10. Pengujian (Testing) Pengujian adalah proses menjalankan aplikasi dengan tujuan untuk menemukan kesalahan yang terdapat dalam program aplikasi dan memvalidasi sesuai keinginan user (Connolly dan Begg, 2010, p334). 11. Perawatan Operasional (Operational Maintenance) Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, meliputi pengawasan performa sistem, pemeliharaan dan pembaharuan aplikasi basis data jika diperlukan, dan penggabungan kebutuhan baru ke dalam aplikasi basis data. 2.1.7 Entity Relationship Modelling (ER Modelling) ER Modelling adalah sebuah pendekatan top-down untuk merancang basis data yang dimulai dengan mengidentifikasi data yang penting yang disebut entitas dan relationship antar data harus dipresentasikan dalam model (Connolly dan Begg, 2010, p371).
31
Simbol-simbol ERD: No
Nama
1.
Entitas
Keterangan
Gambar
Entitas adalah suatu objek yang dapat diidentifikasi dalam lingkaran pemakai.
2.
Relasi
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berbeda.
3.
Garis
Garis sebagai penghubung antara relasi dengan entitas, serta relasi dan entitas dengan atribut.
4.
Atribut
Atribut berfungsi mendeskripsikan karakter entitas (atribut yang berfungsi sebagai key diberi garis bawah). Tabel 2.1 Tabel Simbol - simbol ERD 1. Entity Types Entity types adalah sekumpulan objek yang telah ditentukan oleh perusahaan dengan memiliki properti yang sama dan keberadaannya yang independence (Connolly dan Begg, 2010, p372). Terdapat dua jenis tipe entitas (Connolly dan Begg, 2010, p383), yaitu:
32
• Strong entity types, entitas yang keberadaannya tidak bergantung pada entitas lainnya. Karakteristik dari weak entity yaitu
setiap
entitas
diidentifikasikan
secara
unik
menggunakan atribut primary key dari entitas tersebut. • Weak entity types, entitas yang keberadaannya bergantung pada entitas lainnya. Karakteristik dari weak entity yaitu setiap entitas tidak bisa diidentifikasikan secara unik menggunakan atribut yang terkait dengan entitas tersebut. 2. Relationship Types Relationship types merupakan hubungan antara satu entitas dengan entitas lain dan mempunyai arti (Connolly dan Begg, 2010, p374). Relationship occurrence adalah suatu gabungan yang dapat diidentifikasikan secara unik, termasuk suatu kejadian dari setiap entitas yang berpartisipasi (Connolly dan Begg, 2010, p375). Derajat dari tipe relasi adalah jumlah jenis entitas yang berpartisipasi dalam suatu hubungan. Entitas yang terlibat dalam jenis hubungan tertentu disebut sebagai participant, sedangkan jumlah peserta dalam suatu jenis relasi disebut derajat relasi. Oleh karena itu, derajat relasi menunjukkan jumlah jenis entitas yang terlibat dalam suatu relasi. Derajat dari tipe relasi terbagi atas:
33
• Binary Relasi berderajat dua
Gambar 2.2 Relasi Berderajat Dua • Ternary Relasi berderajat tiga
Gambar 2.3 Relasi Berderajat Tiga • Quaternary Relasi berderajat empat
34
Gambar 2.4 Relasi Berderajat Empat
3. Attributes Attribute adalah sifat atau properti dari sebuah tipe entitas atau tipe relasi (Connolly dan Begg, 2010, p379). Attribute domain adalah sekumpulan nilai yang mempunyai satu lebih atribut. Setiap atribut yang dihubungkan dengan nilai-nilai tertentu disebut domain. Terdapat berbagai macam atribut, yaitu: • Simple and Composite Attribute Simple Attribute adalah atribut yang disusun dari komponen tunggal. Simple attribute tidak bisa dibagi menjadi komponen yang lebih kecil lagi, dikenal juga sebagai atomic attributes (Connolly dan Begg, 2010, p379). Composite Attribute adalah atribut yang disusun dari beberapa komponen. Atribut ini dapat dibagi lagi menjadi komponen yang lebih kecil (Connolly dan Begg, 2010, p380). • Single-value and Multi-value Attribute Single-value attribute adalah atribut yang memiliki nilai tunggal pada suatu tipe entitas. Multi-valued attribute adalah atribut yang dapat memiliki beberapa nilai pada suatu tipe entitas (Connolly dan Begg, 2010, p380).
35
• Derived Attribute Derived Attribute adalah atribut yang memiliki nilai yang diturunkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari entitas yang sama (Connolly dan Begg, 2010, p380). 4. Keys •
Candidate key Merupakan sejumlah kecil atribut yang mengidentifikasikan setiap kejadian pada entitas secara unik. Sebuah candidate key tidak boleh bernilai NULL dan sebuah entitas boleh memiliki lebih dari satu candidate key (Connolly dan Begg, 2010, p381).
•
Primary key Merupakan
candidate
key
yang
terpilih
untuk
mengidentifikasikan setiap kejadian pada entitas secara unik (Connolly dan Begg, 2010, p381). Pada setiap entity biasanya terdapat lebih dari satu candidate key yang kemudian akan dipilih salah satu untuk dijadikan primary key. Pemilihan primary key berdasarkan panjang atribut, jumlah minimal atribut, dan keunikannya. •
Alternate key
36
Merupakan candidate key yang tidak terpilih menjadi primary key (Connolly dan Begg, 2010, p381). •
Composite key Merupakan candidate key yang terdiri dari dua atau lebih atribut (Connolly dan Begg, 2010, p382).
•
Foreign key
Gambar 2.5 Representasi Diagram Entity Pegawai dan Cabang Beserta Atributnya 5. Structural Contraints Batasan yang menggambarkan pembatasan pada relationship seperti yang ada pada dunia nyata dan harus diterapkan pada entity yang ikut serta pada sebuah relationship dinamakan multiplicity (Connolly dan Begg, 2010, p385).
37
Multiplicity merupakan sejumlah kemunculan (occurrence) yang mungkin dari sebuah entity yang berhubungan dengan kemunculan tunggal dari sebuah tipe entity yang berhubungan melalui relasi tertentu (Connolly dan Begg, 2010, p385). Derajat yang umum pada suatu relationship adalah binary relationship, yang terdiri dari atas: • One-to-one (1:1) Relationship • One-to-many (1:*) Relationship • Many-to-many (*:*) Relationship 6. Cardinality and Participation Constraints Cardinality menggambarkan jumlah maksimum relasi yang mungkin terjadi dari sebuah entity yang berpartisipasi dalam tipe relasi. 2.1.8 Normalisasi Normalisasi adalah suatu teknik untuk menghasilkan kumpulan relasi dengan properti yang diperlukan dan berguna untuk menyediakan kebutuhan data dari perusahaan (Connolly dan Begg, 2010, p416). Langkah-langkah normalisasi dapat dijelaskan sebagai berikut (Connolly dan Begg, 2010, p430-p436): 1. Unnormalized Form (UNF)
38
UNF merupakan suatu tabel yang berisikan satu atau lebih grup data yang berulang-ulang. UNF dilakukan dengan memindahkan data dari sumber informasi ke dalam format tabel dengan baris dan kolom. 2. First Normal Form (1NF) 1NF merupakan sebuah relasi dimana setiap irisan antar baris dan kolom berisikan satu dan hanya satu nilai saja. Cara mengubah dari bentuk UNF ke 1NF adalah sebagai berikut: • Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized • Identifikasi
grup
yang
berulang
dalam
tabel
unnormalized yang berulang untuk kunci atribut • Hapus grup yang berulang dengan cara memasukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang atau dengan cara menggantikan data yang ada dengan salinan dari kunci atribut yang sesungguhnya. 3. Second Normal Form (2NF) 2NF berdasarkan pada konsep ketergantungan fungsional penuh (full functional dependency) yang mengindikasikan bahwa, jika A dan B merupakan atribut dari sebuah relasi, B
39
dikatakan tergantung penuh terhadap A jika B tergantung secara fungsional kepada A tetapi tidak pada proper dari subset dari A. 2NF merupakan sebuah relasi dalam 1NF dan setiap atribut non primary key bersifat fully functionally dependent pada primary key. Cara merubah 1NF menjadi 2NF adalah sebagai berikut: • Mengidentifikasi primary key untuk relasi 1NF • Mengidentifikasi functional dependency dalam relasi • Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi baru bersama dengan salinan determinannya. 4. Third Normal Form (3NF) 3NF adalah suatu relasi yang ada dalam 1NF dan 2NF dimana tidak terdapat atribut non primary key yang bersifat transitively dependent pada candidate key. Atribut yang tidak memberikan kontribusi terhadap penjelasan karakteristik primary key, akan dipindahkan ke sebuah tabel yang terpisah. 2.1.9 Tahap Perancangan Database 2.1.9.1 Perancangan Database Konseptual Perancangan database konseptual adalah suatu proses pembentukan model data dari informasi yang digunakan dalam
40
perusahaan, tidak tergantung dari aspek fisik apapun. Pada tahap ini desain dimulai dari mengidentifikasi entitas, relasi, dan atribut, secara keseluruhan tidak bergantung pada DBMS, program aplikasi, bahasa pemrograman, hardware platform, masalah performa, atau pertimbangan fisik lainnya. Tahap-tahap perancangan database konseptual, yaitu: a. Mengidentifikasi tipe entitas. b. Mengidentifikasi tipe relasi c. Mengidentifikasi dan menghubungkan atribut dengan entitas atau tipe relasi. d. Menentukan domain dari atribut. e. Menentukan
atribut-atribut
yang
dijadikan
candidate, primary dan alternate key. f. Mempertimbangkan
penggunaan
enhanced
modelling concepts (langkah opsional). g. Memeriksa redundansi pada model. h. Memvalidasi model konseptual terhadap transaksi user. i. Memeriksa
kembali
dengan user. 2.1.9.2 Perancangan Database Logikal
model
data
konseptual
41
Proses membangun model data yang digunakan dalam suatu perusahaan didasarkan pada model data tertentu, tetapi tidak tergantung terhadap DBMS tertentu dan aspek fisik lainnya. Tahap-tahap perancangan database logikal, yaitu: a. Menurunkan relasi untuk model data logikal. b. Memvalidasi
relasi
dengan
menggunakan
normalisasi. c. Memvalidasi relasi terhadap tansaksi user. d. Memeriksa batasan integritas. e. Memeriksa ulang model data logikal dengan user. f. Menyatukan model data logikal ke dalam model global (langkah opsional). g. Memeriksa untuk pengembangan kedepannya. 2.1.9.3 Perancangan Database Fisikal Proses implementasi
ini basis
menghasilkan data
pada
deskripsi penyimpanan
mengenai sekunder;
menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Tahap-tahap perancangan database fisikal, yaitu: a. Menerjemahkan model data logikal ke target DBMS.
42
Menerjemahkan relasi model data logikal memiliki beberapa tahapan yaitu: • Perancangan relasi dasar. • Perancangan
relasi
dari
data
yang
diterima. • Perancangan batasan umum (constraint). b. Merancang file organization dan indeks. Aktivitas tahap ini dibagi menjadi: • Menganalisis transaksi • Memilih file organizations. • Memilih indeks. • Mengestimasi kebutuhan disk space. c. Merancang user views. d. Merancang mekanisme keamanan (security). e. Mempertimbangkan kembali dengan redundansi yang telah terkontrol. f. Memonitori
dan
menyesuaikan
sistem
operasional. 2.1.10 Waterfall Model Waterfall model merupakan salah satu dari banyak software process model yang merupakan gabungan antara strategi pengembangan
43
yang melingkupi lapisan proses, metode, dan tools serta fase-fase generik yang meliputi fase definisi, fase pengembangan, dan fase pemeliharaan (Pressman, 2010, p31).
Gambar 2.6 Waterfall Model (Pressman, 2010, p39) Tahapan-tahapan waterfall model yaitu: a. Communication Tahap ini merupakan tahap pengenalan terhadap proyek dan
mengumpulkan
data
dan
keperluan
untuk
pembangunan aplikasi. b. Planning Tahap ini berisi perkiraan, jadwal, dan pelacakan terhadap sistem yang akan dirancang. c. Modeling Tahap melakukan analisis dan mendesain kerangka dari sistem yang akan dibangun. d. Construction
44
Tahap melakukan pemrograman (coding) sesuai dengan desain yang telah dirancang, kemudian dilakukan testing terhadap aplikasi yang telah dibangun. e. Deployment Melakukan
pendistribusian
aplikasi
terhadap
user,
memberikan bantuan penggunaan aplikasi, dan menerima feedback atas aplikasi yang telah dibuat dari user. 2.1.11 Data Flow Diagram (DFD) Data flow diagram adalah alat yang menggambarkan aliran data melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut. Sinonimnya antara lain bagan bubble, grafik transformasi, dan model proses (Whitten, 2007, p316). Terdapat empat simbol yang dihubungkan oleh satu koneksi pada DFD, yaitu: a. Kotak persegi dalam ujungnya yang bulat menggambarkan proses atau sebuah pekerjaan yang telah diselesaikan. b. Kotak, menggambarkan entitas luar atau external agents. Simbol ini dapat digambarkan sebagai terminator yang menjelaskan batasan dari sebuah sistem. c. Kotak tanpa garis penutup di ujungnya (the open-ended boxes) menggambarkan penyimpanan data, dapat berupa database atau file.
45
d. Garis anak panah menggambarkan data flow atau aliran atau input dan output. Garis anak panah ini terhubung dari atau menuju proses. 2.1.11.1 Proses Proses adalah sebuah kegiatan yang dilakukan oleh sebuah sistem dalam menanggapi aliran data atau sebuah kondisi yang datang ke dalam sistem tersebut. Nama lain dari proses adalah tranformasi. Pemberian nama proses dilakukan dengan menggunakan kata kerja transitif (kata kerja yang membutuhkan obyek), seperti Menghitung Gaji, Mencetak KRS, Menghitung Jumlah SKS (Whitten ,2007, p321). Ada beberapa hal yang perlu diperhatikan dalam menggambarkan proses: • Proses harus memiliki input dan output. • Proses harus dapat dihubungkan dengan komponen terminator, data store atau proses melalui data. • Sistem/bagian/divisi/departemen yang sedang dianalisis oleh
profesional
sistem
digambarkan
dengan
komponen proses. Berikut adalah simbol-simbol yang digunakan dalam menggambarkan sebuah proses:
46
Process name
Process name
Process name
Gambar 2.7 Simbol-simbol dari Proses (Whitten, 2007, p321) 2.1.11.2 Data Flow Aliran data atau data flow adalah sebuah aliran data yang mewakili sebuah input data ke dalam proses atau ouput data dari sebuah proses. Aliran data ini juga digunakan untuk mewakili kreasi, pembacaan, penghapusan, atau pembaharuan data di dalam sebuah file atau basis data (Whitten, 2007, p325).
Data flow name
Gambar 2.8 Simbol dari Data Flow (Whitten ,2007, p325) 2.1.11.3 External Agent External agent adalah suatu unit pada organisasi, sistem, atau organisasi dimana mereka berhubungan dengan sistem. Entitas luar ini perlu diberi nama sesuai dengan dunia luar yang berkomunikasi dengan sistem yang sedang dibuat modelnya, dan
47
biasanya menggunakan kata benda misalnya Bagian Penjualan, Dosen, Mahasiswa (Whitten, 2007, p319). Ada tiga hal penting yang perlu diperhatikan perihal entitas luar, yaitu: • Entitas luar merupakan bagian/lingkungan luar sistem. • Alur data yang menghubungkan entitas luar dengan berbagai proses sistem, menunjukkan hubungan sistem dengan dunia luar. • Profesional sistem tidak berhak mengubah isi atau cara kerja organisasi atau prosedur yang berkaitan dengan entitas luar. External Agent
External Agent
Gambar 2.9 Simbol dari External Agent (Whitten, 2007, p319)
48
2.1.11.4 Data Store Menurut Whitten (2007, p319), data store adalah penyimpanan data-data. Data store menyimpan data yang akan digunakan untuk masa mendatang.
Gambar 2.10 Simbol dari Data Store (Whitten, 2007, p319)
2.1.12 Perancangan Sistem 2.1.12.1 Diagram Konteks Diagram konteks adalah suatu model yang digunakan untuk mendokumentasikan ruang lingkup dari sebuah sistem. Disebut juga model environmental. Sistem DFD konteks dibuat untuk membangun inisialisasi ruang lingkup proyek (Whitten, 2007, p338). Diagram konteks berisi gambaran umum sistem yang akan dibuat. Secara kalimat, dapat dikatakan bahwa diagram konteks ini berisi siapa saja yang memberi data (dan data apa saja) ke sistem, serta kepada siapa saja informasi (dan informasi apa saja) yang harus dihasilkan sistem.
49
Gambar 2.11 Diagram Konteks (Whitten, 2007, p334)
2.1.12.2 State Transition Diagram (STD) State Transition Diagram adalah suatu alat yang digunakan untuk memodelkan penggambaran urutan dan variasi layar yang terjadi dalam sesi pengguna (Jeffrey L. Whitten, 2004, p673). STD merupakan suatu model diagram yang dibuat berdasarkan ketergantungan waktu dari sistem (time-dependent). Jika suatu sistem berhadapan dengan banyak data masukan dari banyak terminal yang berbeda secara cepat, maka akan terjadi
50
masalah ketergantungan waktu yang biasa dimiliki oleh aplikasi real-time. Notasi STD terdiri dari: • Keadaan (state) menggambarkan keadaan objek. Keadaan disimbolkan dengan kotak.
• Tanda
panah
(arrow)
yang
menggambarkan
kejadian yang mengakibatkan perubahan state di dalam sistem, disimbolkan dengan tanda panah.
Perubahaan keadaan di dalam STD direpresentasikan dengan menghubungkan pasangan keadaan (state) yang sesuai dengan tanda panah. 2.1.13 Internet Internet, yang merupakan jaringan komputer terbesar di dunia, adalah sebuah jaringan yang terdiri dari jaringan-jaringan (Turban et al, 2003, p200). Internet adalah kumpulan dari 200.000 atau lebih komputer pribadi yang dimiliki oleh pemerintah, universitas, organisasi nirlaba, dan perusahaan. Jaringan-jaringan interkoneksi ini saling bertukar informasi dengan menggunakan standar dan protokol yang terbuka dan umum.
51
Jaringan-jaringan ini terkoneksi menggunakan jaringan komunikasi elektronik
yang
sangat
besar
diantara
bisnis-bisnis,
konsumen,
departemen pemerintah, sekolah, dan organisasi lain di seluruh dunia. 2.1.14 Interaksi Manusia dengan Komputer (IMK) Menurut Shneiderman (2010, p88-89), disebutkan juga bahwa ada delapan utama aturan emas yang digunakan dalam merancang antarmuka, yaitu: 1.
Mencoba untuk konsisten Konsistensi merupakan aturan yang sering dilanggar karena memiliki banyak bagian konsistensi, antara lain urutan aksi, istilah yang digunakan, warna, layout kapitalisasi, huruf dan lain-lainnya. Dengan tampilan yang konsisten sehingga akan membantu user untuk merasa tetap berada dalam aplikasi yang sama walaupun telah berpindah halaman.
2.
Memenuhi kebutuhan universal Memenuhi kebutuhan universal maksudnya adalah untuk memahami kebutuhan user yang berbeda-beda dan membuat desain yang fleksibel yang mendukung perubahan dalam konten. Perbedaan Novice-Expert, jarak umur, kecacatan fisik, serta keberagaman penguasaan teknologi merupakan syarat yang harus menjadi pertimbangan dalam desain.
52
3.
Memberikan umpan balik yang informatif Umpan balik dari sistem harus ada pada setiap aksi user. Untuk umpan balik dengan aksi kecil haruslah dibuat sederhana apabila sering dilakukan. Sedangkan untuk aksi besar dan jarang dilakukan, respon hendaknya dibuat lebih tegas dan jelas agar user dapat mengerti dengan jelas.
4.
Dialog untuk keadaan akhir Untuk aksi hendaknya disusun menjadi kategori awal, tengah, dan akhir. Untuk memberikan kepuasan pencapaian, jeda waktu, dan sebagai tanda untuk mempersiapkan diri memasuki kategori aksi selanjutnya,
dibuatlah
umpan
balik
yang
informatif
pada
penyelesaian salah satu kategori aksi. Untuk user yang sudah melakukan aksi dengan benar, sehingga user dapat melanjutkan ke tahap selanjutnya. 5.
Pencegahan kesalahan Sedapat mungkin sistem didesain agar user tidak dapat membuat kesalahan yang lebih serius. Contohnya tidak memperbolehkan karakter alfabet pada kotak entry nomor. Jika user membuat kesalahan Interface harus mendeteksi kesalahan dan memberikan instruksi yang mudah dimengerti dan jelas untuk memperbaikinya.
53
6.
Pembalikan aksi yang sederhana Dalam suatu aplikasi, pada setiap aksi harus terdapat pembalikan aksi. Fitur ini dapat memperkecil kesalahan, kerena user tahu bahwa aksi bisa dibatalkan. pembalikan bisa saja atas satu aksi seperti saat memasukkan data, atau serangkaian aksi seperti memasukkan nama dan alamat di kotak pengisian.
7.
Mendukung pusat kendali internal User yang sudah terbiasa dengan suatu aplikasi, biasanya ingin memiliki kendali atas antarmuka dan tanggapan pada aksinya. Aksi antarmuka yang tidak seperti biasanya, rangkaian pemasukan data yang membosankan, tidak bisa atau sulit mendapatkan informasi yang diperlukan, dan tidak bisa menghasilkan aksi yang diinginkan dapat menimbulkan keresahan dan ketidakpuasan pada user.
8.
Mengurangi beban ingatan jangka pendek Dikarenakan keterbatasan manusia dalam memproses informasi dalam
jangka
pendek,
dibutuhkan
tampilan
yang
ringan,
penggabungan halaman-halaman, pengurangan frekuensi windowmotion, pemberian waktu latihan yang cukup untuk kode-kode, hafalan, dan rangkaian aksi. Oleh karena itu, dalam setiap perancangan aplikasi dibutuhkan alur aplikasi yang mudah diingat oleh user.
54
2.2
Teori Khusus 2.2.1 ASP.NET dan C# ASP.Net adalah teknologi terbaru dalam pemrograman berbasis web yang merupakan kelanjutan dari ASP klasik 3.0 dengan menggunakan framework .Net. Sedangkan framework .Net itu sendiri merupakan komponen sistem operasi Windows yang terintegrasi yang dibuat dengan tujuan untuk mendukung pengembangan berbagai jenis aplikasi serta untuk dapat menjalankan berbagai macam aplikasi generasi mendatang termasuk pengembangan aplikasi Web Service XML. Beberapa bahasa pemrograman yang dapat digunakan dan dapat berjalan di atas framework .Net diantaranya C#, Visual Basic, J#, C++, dan lainlain. Ada 2 elemen utama dari framework .Net ini yaitu : a.
Common Language Runtime (CLR) yaitu sebuah mesin beriorientasi object yang menerjemahkan intermediate code yang dihasilkan kompiler bahasa ke dalam native code
yang
diperlukan untuk mengeksekusi aplikasi. b.
Base Class Library (BCL) yaitu sebuah pustaka class (class libraries) yang saling berhubungan yang menyertakan dukungan untuk aplikasi windows dan web, akses data, dan lain-lain. Menurut Deitel (2008), C# adalah sebuah bahasa pemrograman
yang berorientasi obyek dan didesain secara spesifik untuk platform .Net sebagai bahasa
yang memungkinkan programmer untuk mudah
55
bermigrasi ke .Net. C# memiliki akar dari C, C++, dan Java, mengadaptasikan
fitur-fitur
terbaik
dan
menambahkan
fitur-fitur
tersendiri. C# memiliki akses ke class library yang kuat dari komponenkomponen
yang
sudah
dibangun
sebelumnya,
memungkinkan
programmer untuk mengembangkan aplikasi dengan cepat.Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services. C# sangat tepat digunakan untuk pemrograman berbasis Framework .NET karena berbagai kelebihan dan yang paling penting adalah menggunakan paradigma berorientasi obyek. Microsoft merilis bahasa pemrograman C# pada tahun 2000, yang secara umum didesain oleh Anders Hejlsberg. Kemudian bahasa pemrograman tersebut distandarisasi oleh Ecma International pada Desember 2002.
2.2.2 Structure Query Language (SQL) Structure Query Language atau yang biasa disingkat dengan SQL merupakan bahasa yang digunakan untuk mengakses dan memanipulasi data dalam basis data relasional. Keunggulan dari SQL adalah hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
56
Secara umum, SQL terbagi dalam dua bagian besar yaitu: a. DDL
(Data
Definition
Language),
digunakan
untuk
mendefinisikan, mengubah, serta menghapus struktur basis data dan objek-objek yang diperlukan dalam basis data, seperti tabel, view, dan lain-lain. Beberapa perintah yang termasuk dalam DDL antara lain : 1.
CREATE Digunakan untuk membuat basis data maupun objekobjek basis data. Perintah SQL untuk CREATE ini adalah: CREATE DATABASE nama_basis_data
untuk
membuat basis data CREATE TABLE nama_tabel {
untuk
membuat tabel nama_field1 tipe_data [NOT NULL], nama_field2 tipe_data, .... CONSTRAINT nama_constraint [UNIQUE | PRIMARY KEY | FOREIGN KEY] (nama_field1, nama_field2, ...) } 2.
ALTER
57
Digunakan untuk mengubah struktur objek seperti tabel dan lain-lain. Aturan perintah SQL nya : ALTER TABLE nama_tabel alter_options Dimana alter_options merupakan pilihan perubahan tabel, diantaranya : • ADD definisi_field_baru => untuk menambahkan field baru pada tabel • ADD PRIMARY KEY (nama_field) => untuk menambahkan primary key pada field tertentu dalam tabel • MODIFY
definisi_field => untuk mengubah
definisi field, biasanya yang diubah di sini adalah tipe data nya • DROP nama_field => untuk menghapus field dari tabel
3.
DROP Digunakan untuk menghapus basis data maupun objek-objek basis data. Aturan perintah SQL nya : DROP DATABASE nama_database untuk menghapus basis data DROP TABLE nama_tabel untuk menghapus tabel
58
b. DML (Data Manipulation Language), digunakan untuk memanipulasi data yang ada dalam suatu tabel. Berikut adalah beberapa perintah yang termasuk dalam DML yaitu : 1. SELECT Digunakan untuk menampilkan data dalam tabel basis data. Aturan perintah standard SQL nya : SELECT [DISTINCT | ALL] nama_field1, nama_field2, . .. FROM nama_tabel1, nama_tabel2, . . . WHERE kondisi GROUP BY list_kolom ORDER BY list_kolom 2. INSERT Digunakan untuk menambahkan data baru ke dalam record tabel basis data. Perintah SQL nya : INSERT INTO nama_tabel (field1, field2, . . .) VALUES (isi_field1, isi_field2, . . .) 3. UPDATE Digunakan untuk mengubah data dalam tabel basis data. Perintah SQL nya : UPDATE nama_tabel SET field1_yang_akan_diupdate = nilai_baru,
59
field2_yang_akan_diupdate = nilai_baru, ... WHERE kondisi
4. DELETE Digunakan untuk menghapus
data (satu
atau
beberapa record) dalam tabel basis data. Perintah SQL nya : DELETE FROM nama_tabel WHERE kondisi Microsoft SQL Server 2005 merupakan salah satu produk RDBMS (Relational Database Management System) yang menyediakan fitur yang dibutuhkan untuk melakukan pengaturan, integrasi, analisis, dan laporan data. Fungsi utama Microsoft SQL Server 2005 ini sebagai server basis data yang dapat mengatur semua proses penyimpanan data dan transaksi suatu aplikasi, dengan menggunakan perintah-perintah SQL yang ada. 2.2.3 Bank Soal Menurut Ward (2004), “An item bank is a collection of test items that may be easily accessed for use in preparing examinations”. Bank soal adalah koleksi butir soal yang mudah dipergunakan untuk menyiapkan sebuah penilaian. Definisi yang lebih lengkap seperti berikut
60
ini, ”Item banks are files of various suitable test items that are coded by subject area, instructional level, instructional objective measured, and various pertinent item characteristics (e.g., item difficulty and discriminating power).” Bank soal adalah sekumpulan soal yang layak yang dikodekan berdasarkan subjek materi, tingkat pembelajaran, tujuan pembelajaran yang diukur, dan bermacam karakteristik lain butir soal yang berguna. (Gronlund, dalam Rudner, 1998). Maka dapat disimpulkan bahwa bank soal adalah sekumpulan butir soal terkalibrasi (teruji) baik secara teoritis maupun empiris dan memuat informasi penting sehingga dapat dengan mudah dipergunakan dalam penyusunan sebuah instrumen penilaian (tes).
2.2.4 Ujian Menurut Suharsimi Arikunto (2007), “UJIAN adalah kegiatan untuk mengetahui seberapa tinggi tingkat keberhasilan siswa.” Dalam konteks akademis atau profesional, ujian (atau ujian untuk pendek) adalah tes yang bertujuan untuk menentukan kemampuan seorang mahasiswa atau calon dokter. Biasanya ujian tes tertulis, walaupun beberapa mungkin praktis atau komponen praktis, dan sangat bervariasi dalam struktur, isi dan kesulitan tergantung pada subjek, kelompok usia orang yang diuji dan profesi. Seseorang yang melewati ujian menerima ijazah, sebuah surat izin mengemudi atau profesional,
61
tergantung pada tujuan pemeriksaan. Pemeriksaan kompetitif adalah ujian di mana pelamar bersaing untuk sejumlah posisi, sebagai lawan hanya harus mencapai tingkat tertentu untuk lulus.
2.2.5 Mata Pelajaran Media,
Teknologi,
dan
Pembelajaran
yang
menyediakan
lingkungan pembelajaran yang kaya. Memiliki tema yang menarik yang mampu menarik perhatian siswa, menyediakan pemecahan masalah yang berpengalaman, mendukung aktivitas interdisiplin, dan menyertakan variasi media, dan teknologi. Belajar adalah proses yang melibatkan proses seleksi, pengaturan, dan penyampaian pesan yang pantas kepada lingkungan dan bagaimana cara pelajar berinteraksi dengan informasi tersebut (Mungin Eddy Wibowo, 2010).
2.2.6 Silabus Silabus adalah rencana pembelajaran pada suatu dan/atau kelompok mata pelajaran/tema tertentu
yang mencakup standar
kompetensi dan kompetensi dasar, materi pokok/pembelajaran, kegiatan pembelajaran, indikator pencapaian kompetensi, penilaian, alokasi waktu, dan sumber belajar (Mungin Eddy Wibowo, 2010).
62
2.2.7 Audit Menurut Alvin A.Arens dan James K.Loebbecke, “Auditing is the accumulation and evaluation of evidence about information to determine and report on the degree of correspondence between the information and established criteria. Auditing should be done by a competent independent person.” Menurut Mulyadi, “Suatu proses sistematik untuk memperoleh dan mengevaluasi bukti secara obyektif mengenai pernyataan-pernyataan tentang kegiatan dan kejadian ekonomi, dengan tujuan untuk menetapkan tingkat kesesuaian antara pernyataan-pernyataan tersebut dengan kriteria yang telah ditetapkan, serta penyampaian haisl-hasilnya kepada pemakai yang berkepentingan.” Secara umum pengertian di atas dapat diartikan bahwa audit adalah proses sistematis yang dilakukan oleh orang yang kompeten dan independen dengan mengumpulkan dan mengevaluasi bahan bukti dan bertujuan memberikan pendapat mengenai kewajaran laporan tersebut.