BAB 2 LANDASAN TEORI 2.1 Teori Umum Dalam subbab ini akan dijabarkan mengenai teori umum yang digunakan dalam penulisan skripsi ini. 2.1.1 Definisi Data Menurut Kamus Besar Bahasa Indonesia(2001, p239), data adalah keterangan atau bahan nyata yang dapat dijadikan dasar kajian untuk analisis atau kesimpulan. 2.1.2 Definisi Informasi Informasi merupakan data yang sudah diolah, dibentuk, atau dimanipulasi sesuai dengan keperluan tertentu (Amsyah, 2005, p2). 2.1.3 Sistem Dalam subbab ini akan dijelaskan mengenai definisi sistem, definisi analisis sistem, dan definisi perancangan sistem. 2.1.3.1 Definisi Sistem Menurut Pressman (2010, p151) sistem adalah suatu kumpulan elemenelemen yang terorganisir untuk mencapai tujuan tertentu dengan cara memproses informasi yang tersedia. 8 9 Sedangkan menurut O’Brien dan Marakas (2009, p26), sistem adalah seperangkat komponen yang saling terkait, dengan batas yang jelas, yang saling bekerja sama untuk mencapai seperangkat tujuan dengan menerima input dan menghasilkan output secara terorganisir. 2.1.3.2 Definisi Analisis Sistem Menurut Octaviani(2010, p27) Analisis sistem adalah sebuah proses penelaahan sebuah sistem informasi dan membaginya ke dalam komponenkomponen penyusunnya untuk kemudian dilakukan penelitian sehingga diketahui permasalahan-permasalahan serta kebutuhan-kebutuhan yang akan timbul, sehingga dapat dilaporkan secara lengkap serta diusulkan perbaikan-perbaikan pada sistem tersebut. Pada proses analisis sistem dikenal beberapa tahap yaitu: a. Identifikasi masalah yang ada pada sistem. b. Memahami cara kerja sistem. c. Melakukan analisa. d. Melaporkan hasil analisa sistem. 2.1.3.3 Definisi Perancangan Sistem Menurut Whitten dan Bentley(2010, p33), perancangan sistem merupakan proses penspesifikasian atau konstruksi teknis dan rancangan solusi untuk kebutuhan bisnis yang telah diidentifikasi pada tahap analisis sistem. Pada tahap ini, komponen yang telah dipisahkan pada tahap analisis sistem disatukan kembali menjadi sebuah sistem yang lengkap dengan adanya beberapa modifikasi seperti 10 penambahan, pengurangan, dan perubahan komponen yang memiliki korelasi dengan sistem. 2.1.4 Basis Data Dalam subbab ini akan dijelaskan mengenai gambaran umum mengenai basis data, siklus hidup dari sebuah basis data, arsitektur basis data, tahapan dalam merancang basis data, dan keuntungan basis data. 2.1.4.1 Definisi Basis Data Menurut Connolly dan Begg(2010, p65), basis data adalah kumpulan data yang saling terhubung dan terdeskripsi yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Sedangkan menurut Octaviani(2008, p24), Basis Data adalah sekumpulan data yang memiliki hubungan secara logika dan diatur dengan susunan tertentu serta disimpan dalam media penyimpanan komputer. 2.1.4.2 Siklus Hidup Basis Data Siklus Basis Data adalah sebuah proses yang sangat terkait dengan siklus pengembangan sistem informasi. Menurut Connolly dan Begg(2010, p313), tahapan dari siklus pengembangan sistem basis data adalah sebagai berikut: 11 Gambar 2.1 Diagram Siklus Hidup Basis Data a. Database Planning Database Planning adalah kegiatan manajemen yang memungkinkan siklus pengembangan sistem basis data untuk direalisasikan seefisien dan seefektif mungkin. b. Definisi Sistem Definisi sistem menjelaskan ruang lingkup dan batasan dari sistem basis data yang akan dibuat serta pandangan pengguna terhadap sistem sistem basis data. c. Analisis dan Pengumpulan Kebutuhan Analisis dan pengumpulan kebutuhan adalah proses pengumpulan dan analisis informasi tentang bagian dari organisasi yang akan didukung 12 oleh sistem basis data, dan menggunakan informasi itu untuk mengidentifikasi kebutuhan terhadap sistem yang baru. Terdapat banyak teknik untuk mengumpulkan informasi ini yang disebut fact-finding technique diantaranya: 1) Mempelajari Dokumentasi Mempelajari dokumentasi berguna untuk memperoleh wawasan mengenai kebutuhan organisasi terhadap basis data, mengidentifikasi bagian dari organisasi yang terkait dengan masalah, dan memahami sistem yang sedang berjalan. 2) Wawancara Wawancara adalah teknik fact-finding yang paling populer dan umum digunakan. Teknik ini memungkinkan pengumpulan informasi secara tatap muka. 3) Observasi Observasi adalah teknik yang mudah digunakan untuk mengumpulkan data terhadap pertanyaan dan sesuai dengan kebutuhan sistem berdasarkan keterangan pengguna. 4) Riset Riset adalah teknik yang digunakan untuk mengkaji masalah. Riset dapat menggunakan informasi terkini seperti internet, buku, dan buku referensi. 5) Kuesioner Kuesioner adalah teknik pengumpulan data dan informasi yang bisa didapatkan secara cepat dari banyak responden yang dikelola dengan 13 beberapa kontrol melalui pemberian pertanyaan. Ada dua tipe pertanyaan yaitu format bebas dan format terikat. d. Database Design Database Design adalah proses perancangan yang akan mendukung misi perusahaan dan tujuan misi untuk sistem basis data yang diperlukan. Pada tahap ini akan dirancang basis data secara konseptual, logikal, dan fisikal. e. DBMS Selection DBMS Selection adalah pemilihan suatu perangkat lunak DBMS yang tepat untuk mendukung sistem basis data. f. Application Design Application Design adalah tahap untuk merancang tampilan untuk pengguna dan program aplikasi yang digunakan untuk mengakses basis data. g. Prototyping Prototyping adalah tahap untuk membangun model kerja sementara pada sistem basis data. h. Implementasi Implementasi adalah tahapan penerapan atau implementasi rancangan basis data fisikal beserta rancangan aplikasinya. i. Data Conversion and Loading Conversion and Loading adalah proses mentrasfer data yang ada ke dalam basis data baru dan mengkonversi setiap aplikasi yang ada untuk dijalankan pada sistem baru. 14 j. Testing Testing adalah proses menjalankan sistem basis data dengan tujuan menemukan kesalahan. k. Operational Maintenance Operational Maintenance adalah proses pemantauan dan pemeliharaan sistem basis data berikut instalasi perangkat lunak terbaru guna menjaga performa sistem. 2.1.4.3 Arsitektur Basis Data Menurut Connolly dan Begg (2010, p86), terdapat tiga tingkatan arsitektur basis data atau yang dikenal dengan Three-Level ANSI-SPARC Architecture. Ketiga tingkatan arsitektur tersebut antara lain: a. Level eksternal Tingkat ini merupakan cara pandang pengguna terhadap basis data. Tingkat ini menggambarkan bagian dari basis data yang relevan bagi pengguna tertentu. b. Tingkat Konseptual Tingkat ini menggambarkan data apa yang disimpan dalam basis data dan hubungan antar data. c. Tingkat Internal Tingkat ini merupakan representasi fisik dari basis data yang menggambarkan bagaimana data disimpan dalam basis data. 15 Gambar 2.2 Tiga Level ANSI SPARC 2.1.4.4 Tahapan Perancangan Basis Data Menurut Connolly dan Begg (2010, p467), metodologi perancangan basis data terdiri dari tiga tahapan utama, yaitu : a. Perancangan Basis Data Konseptual Perancangan Basis Data Konseptual adalah proses membangun model data yang digunakan dalam suatu perusahaan, serta terbebas dari semua pertimbangan fisik. Tahap ini dimulai dengan pembuatan model data konseptual organisasi yang secara keseluruhan terbebas dari implementasi DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, tingkat kerja, dan masalah fisikal lainnya. Tahapan yang dapat dilakukan adalah sebagai berikut : Langkah 1 : Merancangan model data konseptual 1) Mengidentifikasi tipe entitas. 2) Mengidentifikasi tipe relasi. 16 3) Mengidentifikasi dan menghubungkan atribut dengan entitas atau relasi. 4) Menentukan domain atribut. 5) Menentukan atribut yang termasuk candidate key dan primary key. 6) Pertimbangkan penggunaan konsep enhanced modeling (optional). 7) Memeriksa model dari redudansi. 8) Memvalidasikan model konseptual lokal terhadap transaksi pengguna. 9) Meninjau model data konseptual lokal dengan pengguna. b. Perancangan Basis Data Logikal Perancangan Basis Data Logikal adalah proses merancang model data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi terbebas dari DBMS tertentu dan pertimbangan fisik lainnya. Langkah 2 : Membuat sebuah model data Logikal 1) Membuat relasi untuk model data logikal. 2) Memvalidasikan relasi dengan menggunakan normalisasi. 3) Memvalidasikan relasi terhadap transaksi pengguna. 4) Memeriksa batasan integritas. 5) Meninjau model data logikal dengan pengguna. 6) Menggabungkan model data logikal ke model data global . 7) Memeriksa perkembangan untuk masa yang akan datang. 17 c. Perancangan Basis Data Fisikal Perancangan Basis Data Fisikal adalah proses menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder, menggambarkan hubungan dasar, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap kendala integritas terkait dan langkah-langkah keamanan. Langkah 3 : Menerjemahkan model data logikal untuk target DBMS. 1) Merancang relasi-relasi dasar. 2) Merancang representasi dari derivered data. 3) Merancang kendala umum. Langkah 4 : Merancang representasi fisik. 1) Menganalisis transaksi. 2) Memilih organisasi file. 3) Memilih indeks. 4) Estimasi kebutuhan disk space. Langkah 5 : Merancang user views. Langkah 6 : Merancang mekanisme keamanan. Langkah 7 : Mempertimbangkan pengenalan dari kontrol redudansi. Langkah 8 : Mengawasi dan menyesuaikan sistem Operasional. 2.1.4.5 Keuntungan Basis Data Menurut Date(2000, p15) keuntungan dari sistem basis data adalah sebagai berikut : 18 a. Compactness Media penyimpanan pada sistem basis data bersifat elektronik atau digital sehingga penggunaan kertas sebagai media penyimpanan dapat diminimalisir. b. Kecepatan Dengan menggunakan komputer, data dapat diambil dan diperbaharui jauh lebih cepat daripada yang dilakukan oleh manusia. c. Meningkatkan produktivitas Dengan menggunakan sistem basis data, produktivitas dalam sebuah organisasi dapat meningkat karena pemrosesan dilakukan dengan menggunakan mesin yang memiliki kinerja yang jauh lebih baik dibandingkan dengan manusia. d. Akurasi data Dengan menggunakan sistem basis data, data yang ditampilkan jauh lebih akurat dan bersifat up to date. 2.1.5 Web Database Menurut Kurniawan(2001, p3), Web database merupakan sistem penyimpanan data yang dapat diakses oleh bahasa pemrograman tertentu. Namun tidak seperti sistem basis data konvensional yang hanya ditujukan untuk platform tertentu, web database dapat diakses oleh aplikasi-aplikasi web yang dikembangkan dengan tag HTML atau script yang bersifat server-side seperti PHP. Kemampuan untuk mengintegrasikan basis data ke dalam aplikasi yang dapat diakses menggunakan web browser inilah yang menjadikan suatu basis data bisa menjadi web database. 19 2.1.6 Normalisasi Menurut Connolly dan Begg (2010, p415), Normalisasi adalah teknik merancang basis data untuk memproduksi satu set hubungan dengan sifat yang diinginkan dengan mengingat kebutuhan data dari suatu perusahaan. Tujuan normalisasi adalah untuk mengidentifikasi satu set hubungan yang cocok untuk mendukung data perusahaan. Karakteristik dari satu set hubungan tersebut adalah : a. Jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data perusahaan. b. Atribut-atribut yang memiliki hubungan logis atau yang disebut functional dependency dalam satu tabel yang sama. c. Tingkat redudansi minimal yang ditandai dengan setiap atribut hanya didefenisikan sekali selain atribut yang merupakan foreign key. Normalisasi dilakukan dengan cara menganalisis tabel dari primary key dan functional dependency melalui serangkaian aturan sehingga basis data dapat dinormalisasikan menjadi beberapa tingkat. Tiga tingkatan dasar normalisasi yang disarankan adalah First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). Tingkat yang lebih tinggi seperti Boyce Codd Normal Form (BCNF), Fourth Normal Form (4NF), dan Fifth Normal Form (5NF) tidak perlu dilakukan. Penjelasan lebih lanjut dari tiga tingkat dasar normalisasi adalah sebagai berikut : a. First Normal Form (1NF) Unnormalized Form (disingkat UNF) adalah tabel yang memiliki satu atau lebih kelompok data yang berulang. Sedangkan First Normal Form (1NF) adalah UNF yang sudah dinormalisasikan sehingga tidak ada kelompok data berulang. Cara menghilangkan kelompok data berulang adalah sebagai 20 berikut: 1) Memasukkan data yang tepat ke kolom kosong pada baris-baris yang mengandung data berulang. 2) Mengganti setiap data berulang dengan atribut kunci dan diletakkan pada tabel terpisah. b. Second Normal Form (2NF) Second Normal Form (2NF) adalah tabel yang sudah dalam bentuk 1NF dan setiap atribut yang bukan primary key bergantung penuh pada primary key. c. Third Normal Form (3NF) Third Normal form adalah tabel yang sudah dalam bentuk 2NF dan setiap atribut yang bukan primary key tidak bergantung secara transitif pada primary key. 2.1.7 DBMS Dalam subbab ini akan dijelaskan mengenai definisi dari DBMS, komponen penyusun dari DBMS, dan keuntungan dari DBMS. 2.1.7.1 Definisi DBMS Menurut Connolly dan Begg (2010, p66), DBMS(Database Management System) adalah sebuah perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke basis data. Selain itu, DBMS juga dapat meningkatkan sistem keamanan, integritas data pada basis data, recovery data, dan memberikan deskripsi data yang terdapat pada database. 21 Menurut Manino(2004,p7), Database Management System adalah kumpulan dari perangkat lunak yang mendukung pembuatan, penggunaan, penyimpanan, pengambilan, dan perbaikan pada basis data. Berdasarkan beberapa pendapat diatas dapat disimpulkan bahwa database Management System adalah sebuah sistem yang terdiri dari beberapa perangkat lunak yang membantu user dalam mendefinisikan, membuat, memelihara, mengatur, menyimpan, dan menghapus data dari basis data. 2.1.7.2 Komponen DBMS Menurut Connolly dan Begg (2010, p69), DBMS memiliki lima komponen penting yaitu: a. Hardware (perangkat keras) Dalam menjalankan aplikasinya, DBMS memerlukan perangkat keras seperti sebuah komputer pribadi, sebuah mainframe, dan jaringan komputer. Spesifikasi perangkat keras yang di gunakan untuk DBMS tergantung dari apa yang dibutuhkan dari suatu organisasi. Walaupun sebuah DBMS memiliki standari minimal perangkat keras untuk dapat dijalankan, tetapi dukungan perangkat keras yang lebih baik akan mempengaruhi kinerja dari DBMS itu sendiri. b. Software (perangkat lunak) Perangkat lunak yang merupakan komponen DBMS terdiri dari perangkat lunak DBMS itu sendiri dan beberapa aplikasi pendukung yang ada di dalamnya seperti sistem operasi dan aplikasi yang digunakan untuk jaringan jika DBMS tersebut terhubung dengan jaringan. Pada dasarnya, aplikasi pendukung pada DBMS ditulis dengan menggunakan bahasa 22 pemprograman generasi ketiga seperti C++, C, Java, atau bahasa pemprograman generasi keempat seperti SQL. c. Data Data merupakan komponen terpenting dalam DBMS. Data berfungsi sebagai penghubung antara komponen mesin dengan manusia sebagai pengguna. d. Prosedur Prosedur mengacu kepada instruksi dan aturan untuk merancang dan mengoperasikan basis data. Prosedur yang ada dalam bais data diantaranya : 1) Login ke DBMS. 2) Menggunakan fasilitas DBMS tertentu atau aplikasi pendukung lainnya. 3) Mulai dan memberhentikan DBMS. 4) Membuat salinan dari basis data yang ada. 5) Memberikan umpan balik saat terjadi error pada software maupun hardware. 6) Mengubah stuktur tabel, mengatur basis data yang berada di beberapa media penyimpanan, meningkatkan performa, dan membuat arsip di media penyimpanan sekunder. e. Manusia Manusia adalah orang-orang atau pelaku yang terlibat dalam sebuah sistem basis data. Terdapat beberapa kategori pengguna dalam sebuah sistem basis data yaitu: 23 1) Data Administrator (DA) Data administrator adalah orang yang bertanggung jawab untuk mengelola sumber data termasuk perencanaan, pengembangan, dan pemeliharaan basis data. Seorang Data administor juga ikut ambil bagian dari perancangan basis data konseptual dan logikal. 2) Database Administrator (DBA) Database Administrator adalah orang yang bertanggung jawab dalam realisasi fisik dari basis data, termasuk perancangan dan implementasi fisik basis data, keamanan dan kontrol integritas, pemeliharaan dari sistem operasional, dan memastikan kinerja aplikasi berjalan dengan baik dan memenuhi kebutuhan pengguna. 3) Database Designer Database designer terbagi menjadi dua jenis yaitu logical database designer dan physical database designer. Logical database designer bertugas mengidentifikasi entitas, atribut, relasi antar entigas, dan batasan-batasan pada data yang disimpan dalam basis data. Physical database designer bertugas mengimplementasikan rancangan basis data logikal dibuat secara fisik atau secara nyata. 4) Application Developer Saat basis data telah diimplementasikan ke dalam DBMS, seorang application developer bertugas membuat program aplikasi untuk mengakses basis data untuk kemudian melayani fungsi-fungsi yang diperlukan untuk end user. 24 5) End User End user merupakan pengguna akhir dari basis data dan memperoleh informasi dengan cara mengakses basis data. 2.1.7.3 Keuntungan DBMS Menurut Connolly dan Begg(2010, p99), Database Management System menjanjikan beberapa keuntungan dalam penggunaannya diantaranya: a. Mengatur redudansi data Salah satu keuntungan menggunaan basis data adalah mengurangi redudansi data atau tingkat duplikasi data. Dengan menggunakan DBMS, tingkat redudansi data dapat diminimalisir sehingga dapat menghemat memori pada media penyimpanan fisikal. b. Konsistensi data Dengan mengurangi tingkat redudansi maka bepengaruh pada tingkat konsistensi data. Semakin sedikit tingkat redudansi data maka semakin akurat juga tingkat konsistensi dari data yang terdapat dalam basis data. c. Penggunaan data bersama Basis data yang terintegrasi memungkinkan organisasi untuk mengakses data secara bersamaan sehingga mempercepat dalam penyampaian informasi karena mengakses sumber data yang sama. Biasanya data hanya dimiliki oleh bagian atau departemen tertentu saja dalam suatu organisasi, tetapi dengan DBMS hanya dengan memiliki hak akses saja seseorang dapat mengetahui data yang diperlukan tanpa harus meminta datanya kepada bagian atau departemen tertentu. 25 d. Integritas data Dengan adanya constraint atau batasan dari data yang ada dalam basis data, maka tingkat integritas dari data yang berada di dalam basis data lebih terjamin integritasnya. e. Meningkatkan keamanan Dalam DBMS, terdapat fasilitas yang mengatur akses misalnya otorisasi untuk mengakses, menambah, mengubah, dan menghapus. Dengan demikian setiap pengguna DBMS tidak dapat melakkukan sesuatu yang bukan menjadi haknya. f. Meningkatkan Standarisasi Agar memudahkan pengguna dalam mengoperasikan DBMS, maka perlu dibuat sebuah standar dan dokumentasi yang jelas. Standarisasi yang dibuat sepert bentuk format data untuk pertukaran data, ketentuan penamaan, standar dokumentasi, prosedur pembaharuan, dan pengaturan akses. g. Skala ekonomi Menggabungkan semua data operasional ke dalam sebuah basis data dan membuat beberapa aplikasi yang mengakses satu sumber data dapat mengurangi jumlah pengeluaran organisasi yang akhirnya dapat meningkatkan skala ekonomi. h. Keseimbangan konflik kebutuhan Pengguna atau suatu bagian dalam organisasi mungkin memiliki kebutuhan yang tidak sama dengan kebutuhan pengguna lainnya. Dengan adanya DBMS memungkinkan dibuatnya keputusan mengenai desain dan penggunaan operasional basis data secara keseluruhan. 26 i. Meningkatkan akses data dan tanggapan Untuk mendapatkan informasi tertentu dari basis data tidak perlu staf ahli untuk membuat perangkat lunak yang bertujuan membaca informasi yang dinginkan. Pengguna dapat mengakses langsung ke basis data hanya dengan menuliskan perintah menggunakan bahasa SQL(Structured Query Language). j. Meningkatkan produktifitas DBMS menyediakan banyak fungsi-fungsi standar yang memungkinkan seorang programmer dapat menuliskan fungs tersebut dalam suatu instruksi pada program aplikasi. Pada tingkatan utama, DBMS menyediakan rutinitas untuk mengendalikan fungsi-fungsi yang membuat seorang pembuat program untuk berkonsentrasi pada fungsi yang lebih spesifik yang dibutuhkan oleh pengguna tanpa harus mengkhawatirkan implementasi pada tingkatan yang lebih rendah. Banyak DBMS yang memberikan lingkungan generasi ke empat yang berisi alat-alat untuk menyederhanakan pengembangan dari aplikasi basis data. Hal ini meningkatkan produktifitas programmer dan mengurangi waktu pengembangan serta penghematan biaya. k. Meningkatkan pemeliharaan DBMS memisahkan deskripsi data dari aplikasi sehingga perubahan yang terjadi pada deskripsi data tidak akan mengubah aplikasi yang telah dibuat. Hal ini dikenal dengan istilah independensi data. l. Meningkatkan konkurensi data Penggunaan DBMS memungkinkan banyak pengguna untuk mengakses basis data secara bersamaan. DBMS mengatur akses data yang dilakukan 27 secara bersamaan dari banyak pengguna yang berbeda agar data yang ditampilkan tetap konsisten dan memiliki integritas ke setiap pengguna yang sedang melakukan akses ke basis data. m. Meningkatkan fungsi backup dan recovery data DBMS meyediakan fasilitas untuk mengurangi kegagalan sistem atau aplikasi program, yaitu fasilitas backup dan restore. Fasilitas ini sangat bermanfaat untuk menjaga isi dari basis data jikalau terjadi kesalahan sistem, kerusakan perangkat keras, dan kerusakan perangkat lunak yang menyebabkan DBMS berhenti beroperasi. 2.1.8 Structured Query Language Menurut Connolly dan Begg(2010, p184), Structured Query Language atau biasa disebut SQL adalah bahasa yang dirancang untuk menggunakan hubungan antar data dengan mengubah input menjadi output yang dibutuhkan. Secara umum, SQL terbagi atas dua sub bahasa, yaitu DML(Data Manipulation Language) dan DDL (Data Definition Language). 2.1.8.1 Data Definition Language (DDL) Menurut Connolly dan Begg(2010, p92), Data Definition Language atau yang biasa disebut DDL adalah bahasa yang mengizinkan DBA(Database Administrator) atau pengguna untuk mendeskripsikan dan memberikan nama kepada sebuah entitas, atribut, dan relasi atau hubungan data yang dibutuhkan oleh aplikasi, dan juga menentukan data apa saja yang terkait dengan entitas atau atribut yang dibuat untuk menjaga integritas, dan batasan-batasan untuk meningkatkan keamanan pada basis data. 28 Setiap database memiliki database schema yang didefinisikan dengan menggunaan DDL. DDL digunakan untuk membuat schema baru atau memanipulasi schema yang ada. Setelah DDL yang digunakan untuk mendifinisikan atau mengubah schema yang ada, keluaran yang dihasilkan dari DDL tersebut akan disimpan di dalam sebuah tabel spesial yang dinamakan System Catalog. System Catalog terintegrasi dengan meta-data, meta-data sendiri adalah data yang mendsekripsikan objek dari database dan membuat lebih mudah untuk mengakses atau memanipulasi objek tersebut. Meta-data berisi definisi dari record, data item, dan objek lain yang dibutuhkan oeh DBMS. Biasanya DBMS akan melihat ke system catalog sebelum mengakses data dari database. 2.1.8.2 Data Manipulation Language (DML) Menurut Connolly dan Begg(2010, p92), Data Manipulation Language atau yang biasa disebut DML adalah bahasa yang berisi sekumpulan fungsi atau sintaks yang mendukung dalam proses manipulasi data yang berada di dalam basis data. Berikut beberapa contoh operasi manipulasi data yaitu: a. Memasukkan data ke dalam database. b. Memodifikasi data yang ada di dalam database. c. Mengambil data yang berada di dalam database. d. Menghapus data yang terdapat di dalam database. Manipulasi data berdampak eksternal, konseptual, dan internal dari database. Bagian dari DML yang mengambil data dari database biasa disebut dengan query language. Query language dapat didefinisikan sebagai bahasa tingkat tinggi yang digunakan untuk mengambil data sesuai dengan keinginan pengguna. Berdasarkan bentuk pengambilan datanya, DML dibagi menjadi dua: 29 a. Prosedural DML Prosedural DML adalah bahasa yang mengizinkan pengguna untuk memberikan permintaan kepada sistem tentang data apa saja yang dibutuhkan dan bagaimana cara untuk mendapatkan data tersebut. Prosedural DML secara umum sudah ada dalam bahasa pemrograman tingkat tinggi sepert SQL. b. Nonprosedural DML Nonprosedural DML adalah bahasa yang diperuntukan bagi pengguna yang lebih mementingkan data apa saja yang diperlukan dibanding dengan bagaimana cara data itu didapatkan. Nonprosedural DML jauh lebih mudah dipelajari dan digunakan jika dibandingkan dengan prosedural DML. 2.1.9 Entity Relationship Modeling Menurut Connoly dan Begg (2010, p371), Entity Relationship Modeling merupakan salah satu tahap penting dalam proses perancangan sebuah basis data. Entity Relation Modeling digunakan untuk menggambarkan struktur logikal dari basis data yang direpresentasikan ke dalam bentuk diagram yang disebut Entity Relationship Diagram, serta menyediakan cara yang sederhana dan mudah untuk memahami bagian dari beberapa komponen dalam perancangan basis data. Dalam implementasinya, Entity Relationship Modelig memiliki beberapa komponen penyusun diantaranya: a. Tipe entitas Tipe entitas adalah sekumpulan objek dengan sifat atau properti yang sama yang didentifikasi oleh perusahaan dan bersifat independen. Dalam sebuah 30 sistem basis data terdiri dari banyak tipe entitas yang dapat diidentifikasi dari nama dan daftar propertinya. Dalam prakteknya, tidak ada standar baku yang digunakan untuk menentukan tipe entitas sehingga setiap perancang memiliki cara pandang masing-masing untuk menentukan tipe entitas yang ada dalam sebuah sistem. Gambar 2.3 Tipe Entitas b. Tipe relasi Tipe relasi adalah sebuah set hubungan antara satu tipe entitas atau lebih dengan tipe entitas lain, dimana setiap relasi atau hubungan antar tipe entitas mendeskripsikan fungsi atau proses. Tipe relasi disimbolkan dengan sebuah garis yang menghubungkan antar tipe entitas dan diberi nama sesuai dengan relasinya. Gambar 2.4 Tipe Relasi 31 Banyaknya entitas yang terhubung atau berpartisipasi dalam satu relasi disebut Degree of relationship.Degree of Relationship terdiri dari 4 macam yaitu : 1) Binary relationship, yaitu hubungan antar dua tipe entitas. 2) Ternary relationship, yaitu hubungan antar tiga tipe entitas. 3) Quarternary relationship, yaitu hubungan antar empat tipe entitas. 4) Unary relationship, hubungan antar satu tipe entitas di mana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang disebut juga recursive relationship. Untuk menghilangkan ambiguitas, dapat diberikan sebuah role names untuk mengidentifikasikan keterkaitan tipe entitas dalam sebuah relasi. c. Atribut Attribut merupakan sifat-sifat dari sebuah tipe entitas atau sebuah tipe relasi. Setiap atribut mempunyai batasan nilai yang disebut dengan domain atribut. Atribut dapat diklasifikasikan ke dalam beberapa jenis: 1) Simple Attribute Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Simple Attribute dikenal juga dengan nama Atomic Attribute. 2) Composite Attribute Composite Attribute adalah atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen. 32 3) Single-valued Attribute Single-valued Attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian. 4) Multi-valued Attribute Multi-valued Attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian. 5) Derived Attribute Derived Attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. 6) Key Key adalah atribut yang bersifat unik yang berfungsi untuk mengidentifikasi suatu tipe entitas. Pada pemodelan entitas dikenal beberapa istilah key, antara lain: (Indrajani, 2011, p41) Super Key : Atribut atau himpunan atribut yang mengidentifikasi secara unik tuple-tuple yang ada dalam relasi. Candidate Key : Atribut dari super key yang memiliki kriteria untuk dapat mengidentifikasikan sebuah relasi secara unik. Composite Key : Candidate key yang terdiri dari dua atau lebih atribut. Primary Key : Candidate key yang dipilih untuk mengidentifikasikan setiap kejadian atau record dari suatu entitas secara unik. Alternate Key : Candidate key yang tidak terpilih menjadi primary key. 33 Foreign Key : Atribut dari sebuah tabel yang menggabungkan diri ke tabel lain. d. Strong and Weak Entity Type Strong entity type adalah tipe entitas yang keberadaannya tidak bergantung pada tipe entitas lain. Sedangkan Weak entity type adalah tipe entitas yang keberadaannya bergantung pada tipe entitas yang lain. Gambar 2.5 Strong and Weak Entity e. Structural Constraints Constraint merupakan batasan-batasan yang berlaku dalam sebuah relationship. Tipe utama dari batasan di dalam relasi disebut dengan multiplicity. Multiplicity adalah jumlah atau kisaran kejadian yang mungkin dari suatu tipe entitas yang berhubungan dengan kejadian tunggal dari jenis entitas terkait melalui hubungan tertentu. Jenis-jenis multiplicity adalah sebagai berikut : (Connolly dan Begg, 2010, p386) 34 1) One-to-One (1:1) Relationship Gambar 2.6 One-to-One Relationship Pada Gambar 2.6 dapat dilihat bahwa A hanya terhubung one-to-one (1:1) dengan C, sedangkan B juga hanya terhubung one-to-one (1:1) dengan D. Sehingga dari gambar di atas notasi multiplicity nya dapat digambarkan seperti berikut: Gambar 2.7 One-to-One Relationship Notation 2) One-to-Many (1:*) Relationship Gambar 2.8 One-to-Many Relationship Pada Gambar 2.8 dapat dilihat bahwa B terhubung one-to-many dengan D dan E. Sehingga dari gambar di atas notasi multiplicity nya dapat digambarkan sebagai berikut: 35 Gambar 2.9 One-to-Many Relationship Notation 3) Many-to-Many (*:*) Relationship Gambar 2.10 Many-to-Many Relationship Pada Gambar 2.10 dapat dilihat bahwa A terhubung one-to-many dengan D dan E, sedangkan E terhubung one-to-many dengan A dan B sehingga dari entitas Group 1 dan entitas Group 2 terhubung many-to-many. Notasi multiplicity nya adalah sebagai berikut : Gambar 2.11 Many-to-Many Relationship Notation 2.1.10 Data Flow Diagram Menurut Whitten (2010, p317), data flow diagram merupakan sebuah metode untuk menggambarkan aliran data dalam sebuah sistem dan proses kerja yang berjalan 36 dalam sistem tersebut. Terdapat empat komponen penyusun dalam sebuah DFD diantaranya: a. Entitas eksternal Enttias eksternal menggambarkan orang, unit organisasi, sistem luar, dan organisasi luar yang berinteraksi dengan sistem. Entitas eksternal memberikan input ke dalam sistem dan menerima output dari sistem. Entitas eksternal dilambangakan dengan segi empat. Gambar 2.12: Simbol Entitas Eksternal b. Proses Proses menggambarkan operasi logikal mengenai transformasi input menjadi output yang terjadi dalam sistem. Gambar 2.13 Simbol Proses c. Data Store Data store menggambarkan tempat penyimpanan data. Pada dasarnya, data sotre merupakan sesuatu tentang bagaimana sebuah organisasi menyimpan data operasional. Data store dapat berupa file, database, file dalam kabinet, arsip, dll. Gambar 2.14 Simbol Data Store 37 d. Aliran data Aliran data menggambarkan input ke dalam proses atau output dari proses. Aliran data juga merepresentasikan perubahan yang terjadi dalam data store. Gambar 2.15 Simbol Aliran Data Dalam penggunaan data flow diagram dalam pemodelan proses, terdapat dua tingkatan pemodelan sistem diantaranya : i. Diagram konteks Diagram konteks digunakan untuk menggambarkan proses penting yang terjadi dalam sistem termasuk input dan output yang dihasilkan dari suatu proses. Diagram konteks merupakan gambaran umum mengenai proses kerja yang ada dalam sistem. ii. Diagram nol Diagram nol merupakan rincian dari diagram konteks. Pada diagram nol berisi rincian input, proses, dan output yang dihasilkan dari sistem. Pada diagram nol akan direpresentasikan secara detail mengenai proses yang ada dalam sistem serta entitas eksternal yang terlibat dalam proses tersebut. 38 2.1.11 Diagram Aliran Dokumen Diagram aliran dokumen merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Simbol-simbol standar yang digunakan pada diagram aliran dokumen menurut Mulyadi (2001:60), dapat dilihat pada Tabel 2.1 berikut: Tabel 2.1 Notasi Pada DAD (Diagram Aliran Dokumen) Nama Simbol Deskripsi Awal atau akhir DAD. Titik Terminal Simbol ini menunjukkan tempat-tempat dalam Proses sistem informasi yang mengolah atau mengubah input menjadi output. Simbol ini menggambarkan Keputusan keputusan yang harus dibuat dalam proses pengolahan data. Simbol ini menggambarkan arah atau Garis Alir aliran dari proses yang ada dalam sebuah sistem informasi. 39 2.1.12 State Transition Diagram Menurut Pressman(2010, p502), STD mengindikasikan bagaimana sistem memberlakukan kebiasaan sebagai sebuah konsekuensi kejadian di luar. Untuk menyelesaikannya, STD merepresentasikan banyak mode perilaku pada sistem dan jenis transisi yang dibuat dari suatu state ke state lain. STD menyediakan dasar untuk pemodelan perilaku. Notasi-notasi yang digunakan pada STD antara lain: Tabel 2.2 Notasi Pada STD (State Transition Diagram) Nama Simbol Deskripsi Simbol ini menunjukkan keadaan atau hal yang State akan dilakukan. Simbol ini menunjukkan Perubahan state yang kepada state selanjutnya. 2.2 TEORI KHUSUS 2.2.1 Internet Menurut Sebesta (2010, p27), internet merupakan kumpulan komputer dan perangkat lain yang terhubung lewat protokol yang memungkinkan untuk berkomunikasi satu sama lain. Menurut Wang dan Katila(2003, p3), internet merupakan jaringan global dengan jumlah perangkat yang sangat besar yang menghubungkan segala jenis jaringan dari beragam organisasi di dunia seperti universitas, kantor pemerintahan, korporasi, perpustakaan, laboratorium penelitian, dan rumah pribadi. 40 Sedangkan menurut Kurose dan Ross(2009, p2), internet merupakan jaringan komputer yang mengkoneksikan ribuan dari jutaan perangkat komputer di seluruh dunia dimana masing-masing perangkat menjalankan protokol untuk pengiriman dan penerimaan informasi Terdapat dua protokol penting dalam internet yaitu TCP(Transmission Control Protokol) dan IP(Internet Protokol). Dapat disimpulkan bahwa internet atau interconnection network ialah jaringan global yang menghubungkan jaringan komputer di seluruh dunia yang menggunakan protokol resmi (TCP/IP) untuk melakukan proses pengiriman dan peneriman informasi. 2.2.2 World Wide Web Menurut Sebesta(2010, p26), world wide web atau yang sering disebut web merupakan sekumpulan dokumen yang saling terhubung yang disimpan di dalam web server dan diakses melalui web browser. Web merupakan layanan internet yang paling banyak digunakan dibanding dengan layanan lain seperti FTP, gopher, news, dan email. Menurut Eaglestone dan Ridley(2001, p3), web adalah aplikasi yang terdapat pada internet yang berfungsi untuk memberikan kemudahan dalam mengakses informasi dan menjalankan program yag tersimpan di dalam komputer melalui atau menggunakan koneksi internet. Menurut Kurniawan(2001, p2), web merupakah suatu set aplikasi komunikasi dan sistem perangkat lunak yang memiliki beberapa karakteristik diantaranya : a. Terletak pada Internet host dan client. b. Menggunakan protokol TCP/IP c. Mengikuti model client server untuk komunikasi data dua arah. 41 d. Memungkinkan client untuk dapat mengakses server dengan berbagai protokol seperti HTTP, FTP, Telnet, dan Gopher. e. Memungkinkan client untuk dapat mengakses informasi dalam berbagai media seperti teks, audio, dan video. 2.2.3 Uniform Resource Locator(URL) Menurut Sebesta (2010, p31), Uniform Resource Locator atau URL merupakan rangkaian karakter menurut suatu format tertentu yang digunakan pada web browser, email client, dan perangkat lunak lainnnya untuk mengidentifikasi alamat suatu dokumen dalam internet. URL pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991. Tujuan URL dibuat ialah untuk memudahkan dalam proses pengalamatan suatu dokumen ke dalam web dan mempermudah pengaksesan dokumen melalui internet. Terdapat tiga komponen penting dalam URL yaitu : (Mitchell, 2013) a. Protokol URL Protokol URL mendefinisikan protokol jaringan yang digunakan dalam proses pengaksesan dokumen yang diinginkan. Protokol bertugas mengatur komunikasi komputer client dengan web server. b. Alamat server Alamat server menunjukan alamat DNS atau IP address tempat dokumen disimpan. c. Lokasi Lokasi URL menunjukkan alamat spesifik tempat dokumen berada dalam alamat server. 42 2.2.4 HTML Menurut Eaglestone dan Ridley(2001, p5), HTML adalah sebuah bahasa mark up yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser. Menurut Kurniawan(2001, p7), HTML merupakan singkatan dari HyperText Markup Languange. HTML digunakan untuk membangun suatu halaman web. Sekalipun banyak orang menyebutnya sebagai suatu bahasa pemrograman, HTML sebenarnya sama sekali bukan bahasa pemrograman, karena seperti tercermin dalam namanya, HTML adalah suatu bahasa mark up. HTML digunakan untuk melakukan mark up atau penandaan terhadap sebuah dokumen teks. Tanda tersebut digunakan untuk menentukan format atau style dari teks yang ditandai. 2.2.5 PHP Menurut Sebesta(2010, p45), PHP merupakan pemrograman server-side yang secara spesifik diperuntukkan untuk pengembangan aplikasi web. PHP memungkinkan akses yang mudah ke dokumen HTML karena kode program diinterpretasikan pada sisi web server sebelum dokumen HTML ditampilkan di client. PHP memiliki koleksi fungsi yang berlimpah yang membuatnya menjadi bahasa pemrograman yang cocok digunakan dalam pengembangan aplikasi perangkat lunak berbasis server. Secara prinsip, server akan bekerja apabila ada permintaan dari client, yaitu kode PHP. Permintaan tersebut akan dikirimkan kepada server, kemudian server akan mengembalikan pada halaman sesuai instruksi yang diminta oleh client (Saputra, 2011, p5). 43 Welling dan Thompson(2005, p4) menambahkan bahwa, “PHP memiliki kelebihan dibandingkan bahasa pemrograman server side lainnya”. Kelebihan PHP diantaranya: a. Performa tinggi PHP mempunyai kinerja yang baik dalam melayanai transaksi dalam jumlah besar. b. Interface ke banyak DBMS PHP memiliki driver untuk berintegrasi dengan banyak DBMS seprti PostgreSQL, mSQL, Oracle dbm, FilePro, Hyperwave, InterBase, SyBase databases, dll. c. Memiliki library fungsi untuk berbagai tugas Karena PHP dirancang untuk pengembangan web, PHP memiliki library fungsi yang berlimpah untuk melakukan banyak tugas. d. Open source PHP merupakan basa pemrograman tak berbayar. Pengguna bisa mendownload kapan saja tanpa harus mengeluarkan biaya. e. Mudah dipelajari PHP memiliki karakteristik yang sama dengan bahasa pemrograman dasar. f. Mendukung object oriented Pada PHP 5 sudah mendukung penuh fitur yang ada pada object oriented seperti inheritance, method, constructor, dan destructor. g. portable PHP dapat dijalankan pada sistem operasi yang berbeda sepert UNIX, LINUX, dan Windows. 44 h. Akses penuh ke sumber kode Pengguna mempunyai kemudahan untuk mengakses dan memodifikasi kode PHP yang dibuatnya. 2.2.6 Model View Controller Model View Controller atau yang sering disingkat MVC merupakan salah satu konsep paling populer dalam pemrograman web pada beberapa tahun terakhir. MVC bukan merupakan pola perancangan melainkan sebuah arsitektur yang secara konseptual memisahkan antara tampilan user dengan informasi. Tujuan model MVC ialah untuk memisahkan semua fungsi dari aplikasi menjadi tiga bagian yaitu: (Adi, 2008) a. Model Model bertugas menyimpan seluruh informasi mengenai data dari aplikasi. Model juga bertanggung jawab untuk mengatur representasi data pada memori permanen, yang dapat secara langsung disimpan dan dipanggil sesuai dengan kebutuhan. Kapan saja data dimodifikasi, model menginformasikan kepada view dan controller mengenai perubahan yang terjadi. b. View View bertugas menampilkan data ke pengguna. Ketika model dimodifikasi, view yang memiliki kaitan dengan model diinformasikan mengenai adanya perubahan untuk kemudian menampilkan data yang telah dimodifikasi. c. Controller Controller bertugas untuk mengontrol aplikasi. Pada implementasinya, controller menerima permintaan yang diterima oleh aplikasi kemudian mengubahnya ke dalam bentuk yang bisa diintepretasikan oleh model. 45 Gambar 2.16 Model View Controller 2.2.7 Framework Code Igniter Codeigniter merupakan sebuah framework untuk pengembangan aplikasi berbasis web untuk bahasa pemrograman PHP yang menggunakan arsitektur MVC(Model View Controller). Codeigniter juga mengimplementasikan arsitektur Active Record yang mempermudah dalam menjalankan SQL query dengan kompleksitas tinggi dan membuat aplikasi dapat lebih mudah dipahami. (Griffiths, 2010, p10) Menurut Wardana(2010, p5), CodeIgniter memiliki keunggulan dibandingkan dengan framework PHP lainnya seperti zend framework dan Cakephp. Keunggulankeunggulan tersebut antara lain : a. Mudah dikuasai untuk seorang pemula karena petunjuk penggunannya mudah dimengerti mulai dari proses instalasi hingga fungsi-fungsi yang tersedia. b. Bersifat open source sehingga tidak membutuhkan biaya dalam pengimplementasiannya. c. Komuditas penggunanya cukup besar sehingga informasi dan petunjuk penggunaan dapat diakses dengan mudah. 46 d. Memiliki kinerja yang cepat karena hanya membutuhkan sumber daya yang sedikit dalam pengoperasiannya. e. Dilengkapi dengan berbagai pustaka dan library fungsi siap pakai untuk pengembangan aplikasi. 2.2.8 MySQL Menurut Sebesta (2010, p589), MysQL merupakan aplikasi basis data yang gratis, efisien, dan paling banyak digunakan. MySQL didistribusikan secara gratis dibawah lisensi GPL(General Public License). Menurut Welling dan Thompson(2005, p5), MySQL memiliki banyak keunggulan diantaranya: a. Performa tinggi MySQL memiliki kecepatan proses yang lebih tinggi dibandingkan dengan produk perangkat lunak DBMS lainnya. b. Biaya rendah MySQL bersifat open source dan dapat diperoleh secara gratis. Namun MySQL menyediakan seri produk berlisensi dengan berbagai keunggulan yang bisa diperoleh dengan biaya yang rendah. c. Mudah dipelajari dan dikonfigurasi MySQL menggunakan bahasa pemrograman basis data SQL yang digunakan di semua produk perangkat lunak DBMS lainnya. d. Fleksibelitas tinggi MySQL dapat dioperasikan pada sistem operasi yang berbeda seperti UNIX, LINUX, dan Windows. 47 e. Partisipasi dari penyedia layanan tinggi Perusahaan pengembang MySQL menyediakan dukungan penuh untuk pelatihan, konsultasi, dan sertifikasi yang jarang ditemui pada pengembang perangkat lunak DBMS lain. 2.2.9 Interaksi Manusia dan Komputer Dalam subbab ini akan dibahas definisi interaksi manusia dan komputer, delapan aturan emas perancangan antarmuka, dan sepuluh kesalahan utama dalam website. 2.2.9.1 Definisi Interaksi Manusia dan Komputer Interaksi manusia dan komputer atau HCI(Human Computer Interaction) adalah ilmu yang mempelajari interaksi antara manusia dengan seperangkat komputer dan pengaruh komputer dalam pengembangannya untuk berinteraksi dengan manusia. (Shneiderman, 2011, p88) 2.2.9.2 Delapan Aturan Emas Perancangan Antarmuka Menurut Shneideman dan Plaisant (2011, p88), dalam merancang suatu situs web yang baik harus memperhatikan suatu aturan, yang disebut dengan istilah Eight Golden Rules of Interface Design atau delapan aturan emas perancangan antar muka. Delapan aturan emas tersebut adalah: a. Berusaha konsisten dalam penggunaan huruf dan yang warna. b. Memungkinkan pengguna menggunakan shortcut atau jalan pintas. c. Memberikan respon umpan balik yang informatif. d. Merancang dialog yang memberikan penutupan atau keadaan akhir. 48 e. Memberikan pencegahan dan penanganan kesalahan yang sederhana. f. Memudahkan pengguna untuk kembali ke tindakan sebelumnya. g. Pengguna mempunyai kendali penuh atas sistem. h. Mengurangi beban ingatan jangka pendek. 2.2.10 Akademis Menurut Kamus Besar Bahasa Indonesia(2001, p18), akademis adalah segala sesuatu yang berhubungan dengan akademis atau lembaga pendidikan. 2.2.11 Kesiswaan Menurut Kamus Besar Bahasa Indonesia(2001, p1077), siswa adalah orang atau anak yang sedang berguru atau bersekolah. Kesiswaan adalah bagian dari sekolah yang bertugas untuk mengembangkan potensi siswa secara sistematis dan berkelanjutan sesuai dengan fungsi dan tujuan pendidikan nasional, yaitu siswa yang beriman dan bertaqwa kepada Tuhan Yang Maha Esa, berakhlak mulia, sehat, berilmu, cakap kreatif, mandiri, dan menjadi warganegara yang demokratis serta bertanggung jawab. (Jwalita, 2010)