BAB 2 LANDASAN TEORI 2.1.
Teori Umum 2.1.1. Data Dalam
kegiatan
operasional
sebuah
perusahaan
pasti
akan
menghasilkan data. Menurut Connolly dan Begg (2010, p.70), Data merupakan komponen yang paling penting dalam Database Management System(DBMS), berasal dari sudut pandang dari end-user. Data berperan sebagai penghubung antara mesin dengan pengguna. Hai ini di perjelas oleh Adi Nugroho (2011, p.5) yang menyatakan bahwa data adalah fakta fakta tentang segala sesuatu di dunia nyata yang dapat direkam dan disimpan dalam media komputer. Sebagai contoh, pada basis data mahasiswa, data adalah NIM, nama mahasiswa yang bersangkutan, tanggal lahir, alamat, serta nomor teleponnya. Dari kedua teori tersebut dapat disimpulkan bahwa data merupakan kumpulan fakta dari aktivitas dan transaksi yang dicatat, diklasifikasikan dan disimpan sebagai penghubung antara mesin dengan pengguna. 2.1.2. Pengertian Basis Data Basis data adalah suatu koleksi data yang secara logika berhubungan satu sama lain, dan uraian dari data tersebut dirancang untuk memenuhi kebutuhan infomasi dari sebuah organisasi(Connoly dan Begg, 2010, p.65). Sedangkan menurut Adi Nugroho (2011, p.5), basis data sebagai kumpulan terorganisasi dari data-data yang berhubungan sedemikian rupa sehingga mudah disimpan, dimanipulasi, serta dipanggil oleh pengguna. 2.1.3. Sistem Basis Data Menurut Connolly dan Begg ( 2010, p.6) ada 2 sistem basisdata yaitu: 2.1.3.1. File-based Systems File-based systems merupakan kumpulan dari aplikasi program yang menjalankan service untuk user seperti laporan penjualan atau 7
8
pembelian. Masing-masing program menjalankan dan mengatur data mereka masing-masing. Kerugian file-based systems adalah: •
Pembagian dan isolasi data
•
Penduplikasian data
•
Ketergantungan data
•
Ketidak-sesuaian data
•
Query yang statis dari program aplikasi
2.1.3.2. Database Management System(DBMS) DBMS merupakan sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke basisdata. Menurut Connolly dan Begg (2010, p.16), fitur yang disediakan oleh DBMS antara lain: a. Data Definition Language (DDL) DDL
memungkinkan
pengguna
untuk
membuat
spesifikasi tipe data, mendefinisikan basisdata, struktur data dan constraint data untuk disimpan dalam basisdata. Constraint adalah peraturan konsistensi nilai pada basisdata yang tidak dapat dilanggar.
Contoh operasi yang menggunakan DDL adalah: 1.
Create Table
Perintah create table digunakan untuk membuat tabel dengan mengidentifikasikan tipe data untuk setiap kolom. 2.
Alter Table
Perintah alter table digunakan untuk menambah atau membuang kolom dan constraint. 3.
Drop Table
Perintah drop table digunakan untuk membuang atau menghapus tabel beserta semua data yang terdapat di dalamnya.
9
b. Data Manipulation Language (DML) DML memungkinkan pengguna untuk memasukkan (insert), mengubah (update), menghapus (delete), dan mengambil data dari basisdata. DML dibagi menjadi 2 tipe yaitu: 1. Procedural DML Bahasa basisdata yang memungkinkan pengguna untuk mengakses data yang dibutuhkan dan bagaimana cara mengambil data tersebut. 2.
Non-Procedural DML
Bahasa basisdata yang memungkinkan pengguna untuk mengetahui data apa yang dibutuhkan dibandingkan bagaimana
cara
data
tersebut
diambil.
Beberapa contoh operasi DML antara lain: 1) Select Perintah
select
digunakan
untuk
menampilkan
sebagian atau seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel 2) Update Perintah update digunakan unutk memodifikasi data yang disimpan dalam basisdata 3) Delete Perintah delete digunakan untuk menghapus sebagian atau seluruh data dalam basisdata 4) Insert Perintah insert digunakan untuk memasukkan data baru ke dalam basisdata.
10
Menyediakan kontrol akses ke basisdata: 1)
Sistem
keamanan
(security
systems) yang
mencegah pengguna yang tidak memiliki hak akses mengaksesbasis data 2)
Sistem
integritas
(integrity
system),
yang
memelihara konsistensi dari data yang disimpan. 3) Sistem kontrol pada saat yang bersamaan (concurrency control memungkinkan
system)
yang
untuk memperbolehkan shared
akses terhadap basisdata 4)
Sistem pemulihan (recovery control system)
yang mengembalikan basisdata ke dalam keadaan semula jika terjadi kesalahan pada piranti keras (hardware) atau piranti lunak (software). 5)
Katalog yang dapat diakses user (user-
accessible catalog), yang berisi penjelasan dari data dalam basisdata
2.1.3.2.1 Komponen DBMS Menurut Conolly dan Begg (2010, p.68-p.71), komponen DBMS dapat dibedakan menjadi 5, yaitu : 1. Hardware atau perangkat keras Perangkat keras dapat terdiri dari sebuah personal komputer, ke mainframe tunggal, dan ke jaringan komputer. Bagian khusus perangkat keras bergantung pada kebutuhan organisasi dan juga penggunaan DBMS.
2. Software atau perangkat lunak Komponen perangkat luntak terdiri dari software DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi,
11
termasuk perangkat lunak jaringan dan apabila DBMS tersebut digunakan melalui jaringan.
3. Data Komponen penting dalam linkungan DBMS berasal dari gambaran end-user, yaitu data. Data berperan sebagai jembatan antara komponen mesin dan komponen manusia.
4. Prosedur Prosedur
menunjukkan
instruksi
dan
peraturan
yang
memperngaruhi desain dan penggunaan basis data. Pengguna sistem
dan
membutuhkan
karyawan
yang
prosedur
mengatur
sistem
dokumentasi
tentang
basis
data
bagaimana
menggunakan atau menjalankan sistem
5. Manusia Komponen terakhir yang berhubungan langsung dengan sistem. Manusia yang berhubungan langsung dengan sistem dapat dikelompokkan menjadi 4 macam:
Database Administrator,
Database Designers, Application Developers, and end-users. a. Database Administrator, adalah orang atau sekelompok orang yang bertanggung jawab kepada manajemen dan pengendalian
database. Data
Administrator atau
biasa
dikenal sebagai DA bertanggung jawab untuk manajemen sumber
daya
yang
mencakup
perencanaan database,
pengembangan, standar pemeliharaan, kebijakan, prosedur, dan
desain database secara
konseptual.
Sedangkan Database Administrator atau DBA bertanggung jawab untuk realisasi fisik database yang mencakup desain fisik database,
implementasi,
keamanan,
pengendalian, backup, restore, pemeliharaan
integritas sistem
operasional dan memastikan bahwa sistem tersebut dapat dipakai dengan baik.
12
b. Database
Designer adalah dibagi
menjadi
2
tipe
yaitu logical database designer dan physical database designer. Logical
database
designer
bertugas
untuk
mengidentifikasi entitas dan atribut data, hubungan antar data, dan kendala pada saat data dimasukkan ke dalam database. Database Designer juga dituntut untuk mengerti proses bisnisnya.Physical database designer bertugas merealisasikan desain database logikal menjadi fisikal c. Application
Developers atau
dikenal
juga
sebagai Programmer merupakan ahli komputer yang befungsi untuk mengembangkan program-program aplikasi yang diperlukan dalam manajemen database. d. End
User
atau client
dari databsae. End-user
bisa
diklasifikasikan berdasarkan cara mereka menggunakan sistem:
Naïve
User: secara
umum
tidak
peduli
terhadap DBMS. Sophisticated User : pengguna sudah mengenal struktur dari database dan fasilitas yang diberikan oleh DBMS
2.1.3.2.2. Fungsi DBMS Menurut Connoly and Begg (2010, p.99) fungsi dari DBMS adalah: 1. Penyimpanan, pengambilan dan perubahan data DBMS harus menyediakan kemampuan kepada pengguna untuk menyimpan, menerima, dan meng-update data di dalam database. 2. Katalog yang dapat diakses oleh pengguna DBMS harus menyediakan katalog yang berisikan deskripsi data item dan dapat diakses oleh user. 3. Dukungan transaksi DBMS harus menyediakan sebuah mekanisme yang menjamin seluruh perubahan yang berhubungan dengan sebuah transaksi dapat dilakukan ataupun tidak dapat dilakukan
13
4. Layanan
kontrol concurrency
DBMS
harus
memiliki
sebuah
mekanisma menjamin database dapat diupdate ketika banyak user meng-update database secara bersamaan. 5. Layanan recovery DBMS harus menyediakan sebuah mekanisma untuk memperbaiki basis data yang apabila terjadi kesalahan. 6. Layananan
kepemilikan
(Authorization
Service)
DBMS
harus
menyediakan sebuah mekanisma yang menjamin bahwa hanya pengguna yang memiliki otorisasi yang dapat mengakses database. 7. Dukungan
komunikasi
data
DBMS
harus
bisa
berintegrasi
dengan software komunikasi. 8. Layanan integrasi DBMS harus menyediakan sebuah sarana yang menjamin data di dalam database dan perubahan data di dalam database mengikuti aturan – aturan tertentu. 9. Layanan untuk peningkatan independensi data DMBS harus memiliki fasilitas untuk mendukung ketidaktergantungan program terhadap struktur aktual dari database. 10. Layanan utilitas DBMS harus menyediakan serangkian layanan seperti program analisis statistik, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain 2.1.4. Database Life Cycle Menurut Connolly dan Begg (2010, p.313), sistem basis data adalah komponen pokok dari sebuah sistem informasi yang bersifat fundamental dari organisasi besar, dan pengembangan lifecycle sistem basis data tidak terpisahkan dari lifecycle sistem informasi. Untuk membuat sistem basis data ada beberapa tahap yang harus dilakukan dan dapat dilihat pada gambar di bawah ini (Connolly dan Begg 2010, p.314), sebagai berikut
14
Gambar 2.1 Gambar Database Lifecycle
Menurut Connolly dan Begg (2010, p.315), tahapan aktivitas sistem yang berhubungan dengan database application lifecycle, antara lain : 1. Perencanaan Basis Data ( Database Planning ) Perencanaan basis data atau database planning adalah kegiatan manajemen yang mengijinkan bagaimana tahapan – tahapan dari siklus hidup pengembangan basis data dapat direalisasikan secara efisien dan efektif. (Connolly dan Begg 2010, p.315). 2. Definisi Sistem (System Definition) Definisi sistem atau system definition bertujuan untuk menggambarkan ruang lingkup dan batasan – batasan dari sistem basis data dan tampilan utama pengguna. (Connolly dan Begg 2010, p.316) Suatu aplikasi basis data mungkin punya satu atau lebih user views dan mengidentifikasi user views adalah suatu hal yang penting dalam mengembangkan suatu aplikasi basis data, sebab dapat membantu untuk
15
memastikan bahwa tidak ada pengguna utama dalam basis data yang tersebut terlupakan ketika mengembangkan kebutuhan untuk aplikasi basis data yang relative cukup kompleks karena user views dapat membuat basis data tersebut dipecah ke dalam bagian-bagian yang dapat dikendalikan. User views menggambarkan apa yang perlu disimpan dan transaksi untuk dilakukan atas data tersebut. Kebutuhan user views mungkin beda dengan view yang bersangkutan atau tumpang tindi dengan view yang lain.
3. Pengumpulan Kebutuhan dan Analisis (Requirements Collection and Analysis) Pengumpulan Kebutuhan dan Analisis atau Requirements Collection and Analysis yaitu proses mengumpulkan dan menganalisis informasi tentang bagian dari suatu organisasi yang akan didukung oleh sistem basis data, dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan – kebutuhan untuk sistem yang baru. (Connolly dan Begg 2010, p.316).
4. Perancangan Basis Data(Database Design ) Desain basis data adalah proses membuat sebuah desain yang akan mendukung laporan dan tujuan perusahaan yang dibutuhkan sistem basis data. (Connolly dan Begg 2010, p.320). Tahapan dari perancangan basis data dibagi menjadi tiga fase utama, yaitu: a. Conceptual Database Design(Perancangan Basis Data Konseptual) Proses membangun sebuah model dari data yang digunakan pada suatu perusahaan, bersifat independen dari semua pertimbangan fisik. Data model dibangun menggunakan informasi yang didokumentasi dari user requirement. Perancangan basis data konseptual secara keseluruhan terbebas dari detil penerapannya, seperti DBMS software, aplikasi program, bahasa pemogramman, hardware platform atau pertimbangan fisik lainnya. b. Logical Database Design(Perancangan Basis Data Logikal) Proses membangun sebuah model dari data yang digunakan pada suatu perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya.
16
Konseptual data model yang dibuat pada tahap sebelumnya disempurnakan dan dipetakan menjadi sebuah logikal data model. c. Physical Database Design(Perancangan Basis Data Fisikal) Proses menghasilkan sebuah gambaran implementasi dari basis data pada penyimpanan sekunder, menjelaskan relasi dasar, file organisasi, dan indeks yang digunakan untuk memperoleh akses data yang efisien, dan integrity constraints apapun yang terkait dan langkah – langkah keamanan.
Terdapat beberapa pendekatan dalam perancangan basis data antara lain: 23 • Pendekatan bottom-up Menurut Connolly dan Begg (2010) pendekatan bottomup dimulai dari level paling dasar yaitu atribut (properti dari entitas dan relasi), kemudian dilakukanlah analisis terhadap hubungan antaratribut, setelah itu dilakukan pengelompokkan berdasarkan relasi yang merepresentasikan entitas dan relasi antarentitas. Contoh pendekatan ini ialah dalam melakukan normalisasi.
• Pendekatan top-down Menurut Connolly dan Begg (2010) pendekatan topdown dimulai dengan pengembangan model data tingkat tinggi, yang dimulai dengan mengidentifikasi entitas, relasi, dan atribut yang terkait. Pendekatan ini diilustrasikan dalam konsep Entity-Relationship (ER) model.
• Pendekatan inside-out Mengacu pada pendapat Connolly dan Begg (2010) inside out adalah pendekatan
yang
berhubungan
dengan
bottom-up,
namun
perbedaannya adalah pada inside-out tahap pertama dimulai dengan pengidentifikasian
sekumpulan
entitas
utama
(major
entities),
kemudian diturunkan menjadi entitas, relasi, dan atribut yang berhubungan dengan entitas utama. 24
17
• Pendekatan mixed strategy Berdasarkan pada pendapat Connolly dan Begg (2010) mixed strategy adalah pendekatan gabungan antara bottom-up dan top-down sebelum akhirnya menggabungkan semua bagian.
5. Pemilihan DBMS ( DBMS Selection ) DBMS Selection adalah pemilihan sebuah DBMS yang tepat untuk mendukung sistem basis data.Dimana pemilihan DBMS dapat dilakukan diantara conceptual design maupun logical design.Bertujuan untuk kebutuhan sekarang dan kebutuhan masa mendatang pada perusahaan. Dimana harga dan kebutuhan menjadi pertimbangan dalam pemilihan DBMS. (Connolly dan Begg 2010, p.325)
6. Perancangan Aplikasi ( Desain Aplikasi ) Desain aplikasi merupakan perancangan tampilan pengguna dan perancangan program aplikasi yang menggunakan dan
melakukan proses
basis data. (Connolly dan Begg 2010, p.329). Sebagai tambahan terhadap perancangan bagaimana kemampuan yang diperlukan atau diharapkan untuk dapa tercapai, maka kita harus mendesain seorang user yang sesuai untuk menghubungkan ke aplikasi basis data tersebut. Alat penghubung ini menyajikan informasi yang diperlukan sehingga mudah
dioperasikan.
Bagaimanapun,
haruslah
dikenali
bahwa
alat
penghubung mungkin adalah salah satu komponen yang paling utama dari sistem itu. Pada sisi lain jika alat penghubung tidak mempunyai satupun karakteristik maka sistem akan menyebabkan permasalahan.
7. Prototipe ( Prototyping ) Prototyping adalah proses membangun model kerja dari sistem basis data yang memperbolehkan perancang atau user untuk mengevaluasi hasil akhir dari sistem. Tujuan utamamengembangkan sebuah prototypesistem basis data adalah untuk mengijinkanpengguna untuk mengidentifikasikan fitur – fitur sistem tersebut berjalan dengan baik atau tidak memadai dan jika memungkinkan untuk memberikan saran untuk perbaikan atau fitur baru pada
18
sistem basis data.Tahapan ini bersifat optional. (Connolly dan Begg 2010, p.333) Ada dua strategi prototype, yaitu requirements prototyping dan evolutionary prototyping. Requirements prototyping adalah prototype yang menentukan kebutuhan-kebutuhan yang menentukan kebutuhan-kebutuhan yang diusulkan aplikasi basis data dan jika kebutuhan-kebutuhan yang diusulkan aplikasi basis data dan kebutuhan-kebutuhan sudah dilengkapi maka prototype tidak dipakai atau dibuang. Sedangkan evolutionary prototyping adalah prototype yang sama dengan requirements prototyping, tetapi perbedaannya bisa digunakan untuk perkembangan lebih lanjut menjadi aplikasi kerja basis data.
8. Implementasi ( Implementation ) Implementation merupakan realisasi secara fisik dari basis data dan desain aplikasi yang dirancang sebelumnya. Implementasi basis data dicapai dengan menggunakan DDL dari pemilihan DBMS atau GUI. (Connolly dan Begg 2010, p.333). Program aplikasi diterapkan dengan menggunakan bahasa generasi keempat atau ketiga yang lebih disukai. Bagian dari program aplikasi ini adalah transaksi basis data, yang diterapkan dengan menggunakan Data Manipulation Language (DML). Transaksi basis data juga dapat dibuat dalam bahasa pemograman seperti Visual Basic, Delphi, C, C++, Java, COBOL, Fortran atau Pascal. Kita juga menerapkan komponen lain dari desain aplikasi seperti layar menu, format masukkan data dan laporan.
9. Perubahan dan Pengambilan Data ( Data conversion and loading ) Data conversion and loading merupakan proses pemindahan data yang ada kedalam basis data yang baru dan mengkonversikan aplikasi yang ada untuk dapat menjalankan basis data yang baru.Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan yang lama (Connolly dan Begg 2010, p.334).
10. Pengetesan ( Testing ) Testing adalah suatu proses mengeksekusi program aplikasi dengan tujuan untuk menemukan
kesalahan. Hal ini diperoleh dengan menggunakan
19
scenario tes yang sudah direncanakan dengan seksama dan data sesungguhnya, sehingga seluruh proses pengujian dilakukan dengan sistematis dan ketat. (Connolly dan Begg 2010, p.334). Seperti saat merancang suatu basis data, maka dalam melakukan testing para pemakai sistem yang baru harus dilibatkan untuk menguji proses aplikasi dan basis data tersebut. Situasi yang paling ideal untuk pengujian system adalah mempunyai suatu test basis data pada suatu system perangkat keras, tetapi ini sering tidak tersedia. Kika data real diharapkan untuk digunakan, maka penting untuk mempunyai backup. Setelah pengujian diselesaikan, maka system aplikasi basis data ini telah siap untuk digunakan.
11. Perawatan Operasional ( Operational Maintenance ) Operational Maintanance merupakan proses mengawasi dan merawat sistem setelah instalasi. (Connolly dan Begg 2010, p.335) 2.1.5
Merancang User View Tahap
ini
adalah
untuk
merancang
user
view
yang
diidentifikasikan selama pengumpulan kebutuhan dan analisa perkembangan lifecycle sistem basis data. Views adalah kumpulan dari query-query yang bertujuan untuk menampilkan sejumlah hasil yang diinginkan oleh pengguna. Menurut Indrajani (2011, p.160), terdapat beberapa kelebihan dari penggunaan views, meliputi: a. Views
dapat
menghasilkan
tampilan
informasi
yang
dibutuhkan pengguna tanpa mengakses langsung pada database sehingga konsistensi database lebih terjaga b. Views merupakan kumpulan dari query-query yang dibuat terlebih
dahulu
sehingga
memungkinkan
penggunaan
berulang kali untuk melakukan pemanggilan query yang sama c. Views merupakan query-query yang kebenarannya sudah dipastikan terlebih dahulu sebelum dibuat sehingga hasil yang ditampilkan selalu tepat
20
d. Views memberikan kemudahan bagi seseorang untuk memahami query-query yang ada. 2.1.6
MySQL MySQL merupakan database yang paling digemari dikalangan programmer, dengan alasan bahwa program ini merupakan database yang sangat kuat dan cukup stabil untuk digunakan sebagai media penyimpanan data. Sebagai sebuah database server yang mampu untuk memanajemen database dengan baik, MySQL terhitung merupakan database yang paling digemari dan paling banyak digunakan dibandingkan dengan database lainnya (Nugroho, 2011, p.29).
2.1.7 Personal Home Page (PHP) Menurut Connoly and Begg (2010, p.1014), PHP adalah bahasa pemograman open source yang menempel pada HTML yang didukung oleh banyak web server termasuk apache HTTP server dan microsoft’s internet information server, dan pilihan bahasa pemograman Linux web. Beberapa kelebihan PHP, yaitu: 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. 2. Web Server yang mendukung PHP dapat ditemukan di mana-mana dari mulai Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah. 3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. PHP adalah bahasa open source yang dapat digunakan diberbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. 2.1.8
Entity Relationship-Modelling Menurut Michael Blaha (2011, p.203) entity adalah objek dengan keberadaan fisik (manusia, mobil, benda, konsep atau karyawan) dari sebuah
21
perusahaan yang menggambarkan basis data. Setiap entitas itu memiliki atribut-atribut yang menggambarkan hal itu. 2.1.8.1 Tipe Entitas Menurut Connolly and Begg (2010, p.372), entity type adalah sekumpulan objek yang memiliki property yang sama, yang diidentifikasikan di dalam organisasi karena keberadaannya yang bebas. Karakteristikkarakteristik yang mendeskripsikan atau mengkualifikasikan entitas adalah atribut. Dalam Entity Relational Diagram, entitas direpresentasikan dengan rounded square dengan nama unik dalam huruf besar. 2.1.8.2 Relationship ( relasi ) Relasi didefinisikan sebagai hubungan yang terjadi antar entiti. Setiap hubungan diberi nama sesuai dengan fungsinya. Representasi diagram dari relasi adalah berupa garis lurus yang menghubungkan 2 ( dua ) buah entiti.
Gambar 2.2 Contoh Relasi ( Connolly and Begg, 2010, p.335) Jenis-jenis basis data relasional atau hubungan yang bisa terjadi antara satu entiti dengan entiti lain dalam sebuah basis data, meliputi : 1. One-to-One ( 1 : 1 ) Contohnya hubungan yang terjadi antara entiti “Karyawan” dengan “IdKaryawan” : Karyawan
1
1
IdKaryawan
Gambar 2.3 Relasi One to One Seorang karyawan memiliki satu IdKaryawan, dan satu IdKayawan hanya bisa dimiliki oleh satu orang karyawan. 2. One-to-Many ( 1 : * ) Contohnya hubungan yang terjadi antara entiti “Manusia dengan“Rumah” : Manusia
1
*
Gambar 2.4 Relasi One to Many
Rumah
22
Seorang Manusia bisa membeli lebih dari satu rumah, tetapi satu rumah tidak dapat diatasnamakan lebih dari satu manusia.
3. Many-to-Many ( * : * ) Contohnya hubungan yang terjadi antara entiti “Mahasiswa” dengan “MataKuliah”: Mahasiswa
*
*
MataKuliah
Gambar 2.5 Relasi Many to Many Seorang mahasiswa bisa mengikuti lebih dari satu mata kuliah, dan satu matakuliah bisa diikuti lebih dari satu mahasiswa. 2.1.8.3 Keys Menurut Connolly dan Begg (2010, p.353), macam-macam keys adalah sebagai berikut : 1. Super Key : Atribut unik yang mengidentifikasikan row. 2. candidate Key : Atribut unik yang mengidentifikasikan table. Jumlah minimal atribut-atribut yang dapat mengidentifikasikan setiap kejadian/record secara unik. 3. Primary Key : Atribut unik yang mengidentifikasikan setiap row dalam table. Candidate Key yang dipilih untuk mengidetifikasikan setiap kejadian/record dari suatu entitas secara unik. 4. Alternate Key : Candidate Key yang tidak terpilih menjadi Primary Key. 5. Composite Key : Candidate Key yang terdiri dari dua atau lebih atribut. 6. Foreign Key : Atribut sebuah tabel yang menggabungkan diri ke tabel lain. 2.1.8.4 Normalisasi Menurut Connolly and Begg (2010, p.416) normalisasi adalah sebuah teknik untuk menghasilkan sejumlah relasi dengan sifat-sifat yang diinginkan dan memenuhi kebutuhan data pada perusahaan. Pengembangan logikal data model pada basis data memiliki tujuan untuk menciptakan sebuah representasi
23
yang akurat dari suatu data, relasi antar data, dan batasan-batasannya dapat dicapai dengan menggunakan normalisasi. Menurut Indrajani (2011, p.57) tujuan dari normalisasi adalah mengidentifikasi kesesuaian hubungan yang mendukung data unutk memenuhi kebutuhan perusahaan. Adapun karakteristik hubugan tersebut mencakup : a) Minimal jumlah atribut yang diperlukan untuk mendukung kebutuhan perusahaan. b) Atribut dengan hubungan logika yang menjelaskan mengenai functional depedencies. c) Minimal duplikasi untuk tiap atribut. Normalisasi memiliki beberapa bentuk yang biasa digunakan, antara lain: a. Unnormalized Form (UNF) Sebuah tabel yang menampung satu atau lebih perulangan dalam grup. Tahap ini merupakan proses memasukkan data dari sumber, yang dimasukkan dalam baris dan kolom (Conolly and Begg 2010, p.430). b. First Normalized Form (1NF) Sebuah hubungan dimana setiap pembagian dari setiap dan kolom hanya berisi satu dan hanya satu nilai (Conolly and Begg 2010, p.430). c. Second Normalized Form (2NF) Sebuah hubungan dari tahap 1NF dan setiap non-primary-key tidak memiliki ketergantungan parsial (Conolly and Begg 2010, p.434). d. Third Normalized Form (3NF) Sebuah hubungan yang terdapat dalam 1NF dan 2NF dan dimana yang tidak memiliki primary key adalah bergantung secara transitif dalam primary key(Conolly and Begg 2010, p.435). e. Boyce-Codd Normalized Form (BCNF) Sebuah hubungan dengan BCNF, jika dan hanya jika setiap keputusan adalah candidate key(Conolly and Begg 2010, p.447). f. Fourth Normalized Form (4NF) Sebuah hubungan yang ada dalam BNCF dan tidak menampung notrivial multi-valued depedency (Conolly and Begg 2010, p.455). g. Fifth Normalized Form (5NF) Sebuah hubungan yang sama sekali tidak memiliki join dependency (Conolly and Begg 2010, p.457).
24
2.1.9
jQuery JQuery adalah add-on library javascript. Pikirkan jQuery adalah kode javascript yang sudah dituliskan untuk anda. Secara umum yang harus anda lakukan adalah memasukan satu atau dua baris kode pada halaman yang memanggil kode jQuery anda. jQuery melakukan kerja keras koding javascript untuk anda. (Beighley, 2010, p.8)
2.1.10 Delapan Aturan Emas Menurut Shneiderman dan Plaisant (2010, p.88–p.89), terdapat Delapan Aturan Emas (Eight Golden Rules) yang dijadikan pedoman dalam perancangan antarmuka pengguna yang baik, yaitu: 1. Konsisten Bentuk
konsistensi
dalam
perancangan
antarmuka
pengguna meliputi penggunaan warna, layout, pemilihan jenis huruf, kapitalisasi, bahasa yang digunakan, dan hal lainnya yang harus konsisten diterapkan secara keseluruhan. 2. Memenuhi untuk kegunaan universal. Kegunaan universal yang dimana menyadari memenuhi kebutuhan tampilan desain, serta memfasilitasikan perubahan bentuk. Seperti perbedaan dari pemula hingga pakar,dan keragaman teknologi yang masing-masing memperkaya persyaratan desain. Menambahkan fitur untuk pemula, seperti penjelasan, dan fitur untuk pakar, seperti shortcut. 3. Memberikan umpan balik (feedback) yang informatif. Untuk setiap aksi yang dilakukan oleh pengguna, harus disediakan umpan balik. Umpan balik tersebut harus dapat memvisualisasikan hasil dari aksi yang telah dilakukan oleh pengguna. 4. Merancang dialog yang memberikan keadaan akhir. Urutan dari setiap aksi haruslah terorganisasi ke dalam suatu kelompok dengan urutan awal, tengah, dan akhir sehingga mudah dimengerti oleh pengguna. memberikan berikutnya.
pilihan
Adanya
umpan
balik
dapat
untuk menyiapkan ke kelompok aksi yang
25
5. Memberikan penangan kesalahan yang sederhana. Sebanyak-banyaknya, desain sistem yang dimana pengguna tidak membuat kesalahan yang fatal. Contohnya yaitu apabila tampil menu yang berwarna abu-abu yang tidak tepat dan tidak mengizinkan karakter berupa huruf di bagian entri numerik. Dan apabila pengguna melakukan kesalahan, akan ditampilkan terdeteksinya suatu kesalahan dan akan memberikan bantuan instruksi
yang
mudah,
konstruktif,
dan
spesifik
untuk
melakukan pembetulan. 6. Memungkinkan pembalikan aksi (undo) yang mudah. Sistem harus dapat memungkinkan untuk melakukan pembalikan aksi. Hal ini dapat mengurangi kegelisahan pengguna, karena pengguna mengetahui bahwa
kesalahan dapat diperbaiki dan
hal ini mendorong pengguna untuk melakukan penjelajahan pilihan yang tidak biasa dipakainya. 7. Mendukung pusat kendali internal (internal locus of control). Pengguna yang sudah berpengalaman menginginkan bahwa mereka bertanggungjawab dan menguasai sebuah sistem, maka sistem tersebut harus dapat memberikan respon terhadap setiap aksi yang dilakukan oleh pengguna, karena manusia yang memegang kontrol sistem. 8. Mengurangi beban ingatan jangka pendek. Batasan jangka pendek pemrosesan informasi pada manusia memerlukan tampilan yang sederhana, mengurangi pergerakan window yang dimana penggune perlu mengingat informasi dari satu halaman dan digunakan pada halaman yang lainnya. 2.1.11 5 Faktor Manusia Terukur Demi tercapainya tujuan dari IMK, maka perancangan interface sebaiknya tidak lupa untuk mengikutsertakan evaluasi terhadap lima (5) factor terukur dari manusia sebagai berikut (Shnederman & Plaisant, 2010, p.32p.33): 1. Waktu untuk belajar
26
Ukuran berapa lama seorang user untuk mempelajari fungsi-fungsi di dalam sebuah aplikasi hingga pada akhirnya dapat menggunakan dengan baik. 2. Kecepatan performa Ukuran berapa lama suatu fungsi atau serangkaian tugas di dalam aplikasi tersebut dilakukan. 3. Tingkat error yang dilakukan pengguna Ukuran berapa banyak dan jenis error yang dilakukan oleh user di dalam melakukan serangkaian tugas. 4. Daya ingat pengguna Ukuran berapa lama user mempertahankan ingatan dan pengetahuannya setelah beberapa jam, hari, atau bahkan minggu 5. Kepuasan subjektif Ukuran seberapa puas user atas berbagai aspek dari suatu sistem.
2.1.12 Penjadwalan Belajar Mengajar Menurut Pinedo (2012, p.1) penjadwalan adalah proses pembuatan keputusan yang banyak digunakan pada industri manufaktur dan services. Yang mengatur alokasi sumber daya pada jangka waktu tertentu agar tujuan dapat tercapai dengan optimal. Sumber daya yang ada di atur di banyak tampilan untuk memudahkan pengguna untuk menentukan sumber dayanya sendiri. Penjawalan mempunyai peran penting pada suatu sistem dan mengolah informasi untuk disajikan kepada pengguna jadwal.
2.1.13 Pengertian Penyewaan Menurut Kamus Besar Bahasa Indonesia ( 2008, p.1439 ), Sewa adalah : 1. Pemakaian sesuatu dengan memakai uang sewa. 2. Uang yang dibayarkan karena memakai atau meminjam sesuatu. 3. Yang boleh dipakai dengan membayar uang. 4. Ongkos; biaya pengangkutan ( transport ). Sedangkan penyewaan adalah proses, cara, perbuatan menyewa atau menyewakan.
27
2.1.14 Flowchart Diagram Menurut Indrajani (2011,p.22), Flowchart merupakan penggambaran secara grafik dari langkah-langkah dan urutan prosedur suatu program. Biasanya mempermudah penyelesaian masalah yang khususnya perlu dipelajari dan dievaluasi lebih lanjut. Simbol dalam flowchart terbagi menjadi empat kategori sebagai berikut: 1. Simbol input atau output Simbol input atau output merepresentasikan alat atau media yang menyediakan input ke atau mencatat output dari operasi pemrosesan. Tabel 2.1 Simbol Input atau Output Simbol
Nama
Document
Keterangan Sebuah
dokumen
atau
laporan.
Dokumen
dapat
disiapkan secara manual atau dicetak oleh komputer.
Multiple copies of one document
Digambarkan dokumen
dengan yang
saling
tumpang tindih. Fungsi input atau output pada
Input/Output;
sebuah program flowchart dan
Journal/ledger
representasi
jurnal
akutansi dan buku kas dalam sebuah document flowchart. Informasi yang ditampilkan
Display
oleh alat output online seperti sebuah
terminal,
monitor,
atau layar. Entri data menggunakan alat Online Keying
online seperti terminal atau komputer personal.
28
Simbol display dan online Terminal or
keying digunakan bersama
Personal
untuk
Computer
terminal
merepresentasikan dan
komputer
personal. Kontrol total yang disiapkan secara manual. Simbol ini Transmittal Tape
digunakan
untuk
tujuan
kontrol yang membandingkan dengan total yang dikerjakan komputer.
2. Simbol processing Simbol processing menunjukkan tipe dari alat yang digunakan untuk memproses data atau mengindikasikan pemrosesan yang dilakukan secara manual. Tabel 2.2 Simbol Processing Simbol
Nama
Keterangan Sebuah fungsi pemrosesan
Computer Processing
yang
dilakukan
oleh
komputer. Biasanya hasilnya mengubah
data
atau
informasi. Manual Operation
Auxiliary Operation
Operasi
pemrosesan
yang
dilakukan secara manual. Sebuah fungsi pemrosesan yang
dioperasikan
oleh
sebuah alat selain komputer.
29
Simbol
yang
Off-line
merepresentasikan
sebuah
Keying
operasi yang menggunakan
Operation
alat entri data secara offline, seperti cash register.
3. Simbol storage Simbol storage merepresentasikan alat yang digunakan untuk menyimpan data yang sedang tidak digunakan oleh sistem. Tabel 2.3 Simbol Storage Simbol
Nama
Keterangan Data disimpan pada sebuah disk
Magnetic Disk
magnetik
secara
permanen. Disk magnetik ini digunakan sebagai master file dan database.
Magnetic Tape
Diskette
Data disimpan pada sebuah magnetic tape.
Data disimpan dalam sebuah disket.
Data disimpan dalam sebuah Online
file
online
temporer
Storage
menggunakan medium akses langsung seperti disk.
30
File atau dokumen disimpan dan diambil secara manual. Huruf N
File
N
yang
tertulis
mengindikasikan
urutan
berkas. N = numerically, A= alphabetically, dan D = by date.
4. Simbol flow dan miscellaneous Simbol flow and miscellaneous mengindikasikan aliran data dan barang. Simbol flow and miscellaneous juga merepresentasikan operasi saat flowchart mulai atau berakhir, keputusan dibuat, dan penambahan penjelasan dalam flowchart. Tabel 2.4 Simbol Flow dan Miscellaneous Simbol
Nama
Document or Processing Flow
Keterangan Arah dari aliran proses atau dokumen.
Aliran
yang
normal adalah ke bawah dan ke kanan. Arah dari aliran data atau
Data or
informasi. Sering digunakan
Information
untuk menunjukan data yang
Flow
di-copy
dari
sebuah
dokumen ke dokumen lain. Transmisi data dari sebuah Communication lokasi Link
ke
menggunakan komunikasi.
lokasi
lain jalur
31
Menghubungkan
aliran
proses pada halaman yang On-page Connector
sama. On-page connector digunakan
untuk
menghindari garis tumpang tindih pada sebuah halaman. Off-page Connector
Entri dari, keluar dari, atau ke halaman lain. Permulaan, akhir, atau poin interupsi
Terminal
dalam
sebuah
proses atau program, juga digunakan
untuk
mengindikasikan
sebuah
pihak eksternal Simbol
Nama
Keterangan Langkah
pembuatan
keputusan.
Simbol
digunakan Decision
ini untuk
menggambarkan percabangan alternatif
ke
jalan
dalam
program
dari
komentar
flowchart. Tambahan Annotation
deskriptif atau penjelesan sebagai klarifikasi.
32
2.1.15 CSS (Cascanding Style Sheets) Shelly (2010, p.11) Cascading Style Sheets (CSS) Memungkinkan untuk menentukan style berbagai elemen halaman web. Style adalah aturan yang menentukan tampilan dari elemen halaman web. Style sheet adalah suatu seri aturan yang menetukan style untuk halaman web atau website secara keseluruhan. Dengan style sheet dapat mengubah tampilan dari halaman web dengan mengubah karakteristik-karakteristik seperti font family, font size, margin, spesifikasi link,dan juga elemen-elemen visual seperti warna dan border. CSS tidak digunakan untuk menambahkan konten ke dalam website. CSS hanya membuat konten menjadi lebih menarik. 2.1.16 State Transition Diagram (STD) State Transition Diagram (STD) adalah suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam 15 waktu bersamaan. State Transition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian – kejadian tersebut dari satu state ke state lain. State Tansition Diagram (STD) menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian external. Menurut Pressman (2010, p.302), State Tansition Diagram (STD) dapat mengidentifikasikan bagaimana perilaku (behavior) suatu sistem terhadap suatu tindakan (event).
STD menunjukkan berbagai model tingkah laku (state) sistem dan cara dimana transisi dibuat dari state satu ke state lainnya. STD ini sendiri merupakan suatu modeling tool yang menggambarkan suatu sifat ketergantungan akan waktu yang terdapat di sistem. Pada STD ini terdapat 2 macam cara kerja, yaitu:
1. Pasif Disini sifatnya lebih kepada menerima data saja dalam melakukan kontrol terhadap lingkungan. 2. Aktif Untuk sistem ini kontrol dilakukan secara aktif sehingga selain menerima data, sistem ini juga memberikan suatu resopon terhadap lingkungannya.
33
2.1.17 Data Flow Diagram Menurut Whitten dan Bentley (2007, p.317), data flow diagram (DFD) adalah suatu model yang menggambarkan aliran data dalam suatu sistem dan proses yang berjalan pada sistem tersebut. DFD juga disebut sebagai bubble chart, transformation graph, dan process model.
Gambar 2.6 Contoh Data Flow Diagram
DFD terdiri dari tiga simbol dan satu penghubung sebagai berikut: 1. External Agents External agent adalah orang, sistem, atau organisasi lain di luar lingkup sistem tetapi berinteraksi dengan sistem. External agent disebut juga external entity. External agent menyediakan input untuk sistem dan menerima output dari sistem. External agent mendefinisikan batasan atau lingkup dari pemodelan sistem. Jika lingkupnya berubah, maka external agent dapat menjadi proses dan sebaliknya. External agent dapat berupa kantor, departemen, divisi, organisasi eksternal, bisnis lain, atau salah satu end-user sistem. External agent diberi nama dengan kata benda deksiprif
34
dan tunggal. External agent dilambangkan dengan bentuk kotak pada DFD.
Gambar 2.7 Simbol External Agent
2. Data Stores Data store adalah data yang disimpan agar dapat digunakan di lain waktu. Data store juga disebut file dan database. Data flow merupakan data in motion, sedangkan data store merupakan data at rest. Data store dapat berupa orang (kelompok atau individu), tempat, objek, kejadian, atau konsep. Data store menggambarkan DFD yang menyimpan semua instance dari entitas data. Data store diberi nama dengan kata benda jamak. Data store dilambangkan dengan open-end box pada DFD.
Gambar 2.8 Simbol Data Store
35
3. Process Process adalah suatu pekerjaan yang dilakukan oleh sistem sebagai respon untuk aliran data atau kondisi yang masuk. Process disebut juga sebagai transform. Process memberikan respon terhadap kondisi bisnis dan mengubah data menjadi informasi yang berguna. Pemodelan process sangat membantu dalam memahami interaksi yang terjadi dengan lingkungan sistem, sistem lain, dan proses lain. Process diberi nama dengan kata kerja aksi yang diikuti dengan klausa objek untuk mendeskripsikan pekerjaan yang dilakukan. Process dilambangkan dengan rounded box pada DFD.
Gambar 2.9 Simbol Process 4. Data Flow Data flow adalah data yang dimasukkan atau dikeluarkan dari suatu proses. Data flow digunakan untuk menggambarkan pembuatan, pembacaan, penghapusan, atau pengubahan data dalam file atau database. Composite data flow adalah data flow yang terdiri dari data flow lain untuk menggabungkan data flow yang sama pada diagram data flow tingkat tinggi. Data flow dilambangkan dengan panah penghubung pada DFD.
Gambar 2.9 Simbol Data Flow
Berikut ini perbedaan antara DFD dan flowchart. 1. Proses dalam DFD dapat dijalankan secara paralel pada waktu yang sama, sedangkan proses dalam flowchart hanya dapat dijalankan satu kali pada satu waktu. 2. DFD menggambarkan aliran data yang melalui sistem, sedangkan flowchart menggambarkan aliran kontrol.
36
3. Proses dalam DFD dapat memiliki waktu yang sangat berbeda, sedangkan proses dalam flowchart memiliki waktu yang konsisten. Dalam membangun suatu model proses, hal penting yang dibutuhkan adalah membuat dokumentasi ruang lingkup suatu sistem. Dokumentasi ini dapat dilakukan dengan menggunakan context data flow diagram. Menurut Whitten dan Bentley (2007:339), context data flow diagram adalah model proses yang digunakan sebagai dokumentasi terhadap ruang lingkup sistem. Langkah-langkah untuk membuat dokumentasi terhadap ruang lingkup sistem: 1. Memikirkan sistem sebagai black box, 2. Menanyakan pengguna tentang transaksi bisnis yang harus direspon oleh sistem sebagai input. Sumbernya adalah external agent, 3. Menanyakan pengguna tentang respon yang harus diberikan oleh sistem sebagi output. Tujuannya adalah external agent, 4. Mengidentifikasi data store eksternal, dan 5. Membuat context diagram.
Gambar 2.10 Contoh Context Data Flow Diagram