BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Sistem Basis Data Sistem adalah suatu cara untuk mengumpulkan, mengatur, mengendalikan dan menyebarkan informasi ke seluruh organisasi (Connolly dan Begg (2005, p283)). Sedangkan menurut O'brien (2003,p8), system adalah elemen yang saling terhubung atau berinteraksi membentuk suatu kesatuan atau sekumpulan komponen yang saling berhubung dan bekerja sama untuk mencapai sasaran dengan menerima input danmenghasilkan output dalam sebuah proses transformasi yang terorganisir. Data adalah fakta-fakta atau observasi yang mentah,biasanya mengenai kejadian atau transaksi bisnis (O'Brien (2003,p13)). Sedangkan menurut Elmasri (2000,p4), data adalah fakta-fakta yang dapat disimpan dan memiliki pengertian yang implisit. Sistem basis data adalah suatu system yang pada dasarnya menyimpan record – record di dalam suatu system yang dilakukan secara komputerisasi yang tujuannya secara kesuluruhan adalah untuk memelihara informasi dan untuk membuat informasi tersebut tersedia berdasarkan permintaan (C.J Date (2000, p5)). Menurut Connolly dan Begg (2005 , p 15 ), sistem basis data adalah kumpulan dari data yang saling berelasi secara logikal dan sebuah deskripsi dari data tersebut,yang didesain untuk menemukan informasi yang dibutuhkan organisasi. Dimana deskripsi dari data dikenal sebagai system catalog (data dictionary atau metadata – 'data tentang data'). Metadata menggambarkan dirinya sendiri dalam sebuah database yang menyediakan program-data independence. 6 2.1.2 DBMS (Database Management System) DBMS adalah software yang mengatur semua akses menuju basis data (C.J Date (2000, p42)). Menurut Connoly dan Begg (2005 , p 16 ), DBMS adalah suatu sistem software yang memberikan kebebasan pada user untuk mendefinisikan (define), membuat (create), memelihara database dan mengontrol akses database. Fungsi – fungsi yang diberikan DBMS antara lain ; 1. Data Definition Language (DDL) DBMS harus mendukung semua definisi data (skema eksternal,skema konseptual, skema internal) dan melakukan perubahan terhadap skema-skema tersebut kedalam bentuk objek yang sesuai. 2. Data Manipulation Language (DML) DBMS harus dapat mengatur permintaan dari pengguna untuk mengambil atau mengubah atau memasukan data kedalam basis data. DML menyediakan penggunaan sebuah fasilitas untuk melakukan pencarian data yang disebut Query language . Query Language yang umum digunakan Structured Query Languge (SQL). 3. DBMS juga menyediakan kontrol akses ke database, yaitu : a Security System , DBMS mencegah adanya pengaksesan sistem database oleh user yang tidak memiliki hak akses. b Integrity System, DBMS menjaga dan mengawasi konsistensi data yang tersimpan didalam database, yang dapat mengganggu pemeriksaan integritas yang telah ditentukan oleh database administrators . c Concurency Control System, DBMS memungkinkan adanya pengaksesan kedalam database secara bersamaan. d Recorvery Control System, memperbaiki database ke keadaan yang sebelumnya,jika terjadi error pada hardware ataupun software. e User Accessible-Catalog, terdapat deskripsi dari data yang ada didalam database. 7 8 4. Dalam lingkungan DBMS terdapat beberapa komponen utama. Komponen tersebut antara lain : a Perangkat Keras DBMS dan aplikasi membutuhkan perangkat keras agar dapat berjalan. Perangkat keras yang digunakan bergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS hanya berfungsi pada beberapa perangkat keras yang digunakan atau sistem operasi tertentu,ketika yang lain berjalan pada sebuah keberagaman perangkat keras dan sistem operasi yang luas. b Perangkat Lunak Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program-program aplikasi, bersama dengan sistem operasi, mencakup perangkat lunak jaringan jika digunakan pada sebuah jaringan. Target DBMS adalah memiliki peralatan generasi keempatnya sendiri yang memberikan kebebasan untuk pengembangan aplikasi yang cepat,melalui ketentuan non-procedural query language, reports generators, forms generators, graphic generators, application generators. c Data Komponen utama yang paling penting dari DBMS adalah data. Data berperan sebagai jembatan penghubung antara komponen mesin dan komponen manusia. d Prosedur Prosedur lebih cenderung pada instruksi dan peraturan yang mengatur desain dan penggunaan database . Pengguna dari sistem dan staff yang mengelola database membutuhkan dokumentasi procedures untuk mengetahui cara menggunakan dan menjalankan system. e People (Manusia) Kompenen terakhir 9 dalam lingkungan DBMS adalah manusia (people). Ada empat tipe manusia yang berpartisipasi dalam lingkuan DBMS, yaitu : 1. Data dan Database Administrators Data Administrator (DA) bertanggung jawab untuk mengatur sumber data yang mencakup perencanaan basis data, pengembangan dan pemeliharaan, kebijakan dan prosedur, serta perancangan konseptual dan logical dari basis data. Sedangkan Database Administrator bertanggung jawab terhadap realisi fisikal dari basis data yang mencakup perancangan fisikal dan implementasi, keamanan dan pengaturan integritas, pemeliharan sistem operasional dan memastikan kepuasan pengguna terhadap performa dari aplikasi. 2. Database Designers Kita dapat membedakan dua tipe dari designer yaitu logical database designers dan physical database designers. Logical database designer berkosentrasi pada identifikasi data, hubungan antar data, dan batasan dari data yang disimpan dalam basis data. Sedangkan physical database designers memutuskan bagaimana perancangan logikal dari basis data yang diubah menjadi realisasi fiskal. 3. Applications Developers Ketika basis data diimplementasikan, program aplikasi yang menyediakan fungsi – fungsi yang dibutuhkan oleh pengguna akhir (end – user) juga harus diimplementasikan.Hal tersebut merupakan tanggung jawab dari application developers. 4. End - Users End – users merupakan client dari basis data, yang telah dirancang, dimplementasikan, dan dipelihara untuk menyediakan kebutuhan informasi. 10 2.1.3 Data Definition Language (DDL) Menurut Connolly dan Begg (2005,p39), DDL adalah sebuah bahasa yang mengizinkan DBA atau pengguna untuk menggambarkan dan memberi nama entity – entity, atribut – atribut dan hubungan – hubungan yang diperlukan untuk sebuah aplikasi, bersama – sama dengan batasan – batasan integritas dan keamanan yang dibutuhkan. Database schema dispesifikasikan oleh sekumpulan definisi – definisi yang diekspresikan dengan tujuan untuk bahasa tertentu yang disebut data definition language. Hasil pengkompilasian pernyataan DDL adalah sekumpulan tabel yang disimpan dalam file – file khusus secara bersama – sama yang disebut system catalog. Sistem katalog mengintegrasikan metadata yaitu data yang menggambarkan objek – objek dalam basis data dan mebuat objek – objek tersebut lebih mudah diakses atau dimanipulasi. 2.1.4 Data Manipulation Language (DML) Menurut Connolly dan Begg (2005,p40),DML adalah sebuah bahasa yang menyediakan sekumpulan operasi yang mendukung operasi manipulasi data dasar terhadap data yang disimpan dalam basis data. Operasi manipulasi data biasanya mencakup hal – hal berikut : a. Memasukkan data baru ke dalam basis data. b. Modifikasi data yang disimpan di dalam basi data c. Memperoleh data yang ada di dalam basis data d. Menghapus data dari basis data Bagian dari DML yang melibatkan pperolehan data disebut Query Language. Query language dapat didefinisikan sebagai bahasa level tinggi bertujuan khusus yang digunakan untuk memenuhi permintaan yang beraneka ragam untuk data – data yang di simpan di dalam database. 2.1.5 11 Database Application Lifecycle Menurut Connolly dan Begg (2005,p284), suatu aplikasi basis data dianalisis dan dirancang dalam tahapan – tahapan berikut ini : Gambar 2.1 Database Lifecycle 12 13 Menurut Connolly dan Begg (2005,p283), ada beberapa aktivasi sistem yang berhubungan dengan Database Application Lifecycle, aktivitas – aktivitas tersebut antara lain : a. Database Planning Database Planning adalah merencanakan bagaimana tahapan– tahapan dari lifecycle dapat direalisasikan dengan cara yang efisien dan efektif. Perencanaan basis data harus terintegrasi dengan sistem informasi (2005,p285286). 1. Identifikasi rencana dan tujuan organisasi dengan menentukan sistem informasi yang diperlukan. 2. Evaluasi sistem informasi yang sekarang digunakan untuk menentukan kelemahan dan kekuatannya. 3. Penilaian tentang peluang IT yang mungkin menghasilkan keuntungan yang kompetitif. Metodelogi untuk mengatasi tiga hal diatas,yaitu : 1. Database Planning-Mission Statement Mission Statement untuk database project mendefinisikan tujuan utama dari aplikasi database. Mengarahkan database project, biasanya mendefinisikan perintah tugas (mission statement). Mission statement membantu menjelaskan kegunaan dari database project dan menyediakan alur yang lebih jelas untuk mencapai efektifitas dan efisiensi penciptaan dari suatu aplikasi database yang diinginkan. 2. Database Planning-Mission Objectives Ketika mission statement telah didefinisikan,maka mission objective didefinisikan. Setiap objective (tujuan) harus mengidentifikasikan tugas khusus yang harus didukung oleh database. Dapat juga disertai dengan beberapa informasi tambahan yang memspesifikasikan pekerjaan yang harus diselesaikan. Sumber daya yang digunakan dan biaya untuk membayar ke semuanya itu. Perencanaan database 14 juga harus meliputi pengembangan standar pengumpulan data, bagaimana penetapan format, dokumentasi yang diperlukan,bagaimana mendesain da implementasi proses. b. System Definition System Definition menspesifikasikan jangkauan dan batasan dari aplikasi basis data,penggunanya serta lingkungan aplikasinya. User view mendefinisikan apa yang diwajibkan dari suatu aplikasi database dari perspektif aturan kerja khusus (seperti : manajer atau supervisor) atau area aplikasi perusahaan (seperti : marketing, personel atau stock control). Aplikasi database memiliki satu atau lebih user view. Identifikasi user view membantu memastikan bahwa tidak ada pengguna utama dari suatu basis data yang terlupa ketika pembuatan aplikasi baru yang dibutuhkan. User view juga membantu dalam pengembangan aplikasi basis data yang rumit dan kompleks serta memungkinkan permintaan-permintaan dipecah ke dalam bagian-bagian yang lebih sederhana. c. Requirements Collections and Analysis Requirements Collections and Analysis adalah Proses pengumpulan dan analisis informasi mengenai bagian dari organisasi yang akan mendukung aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna pada sistem baru. Pada bagian ini dilakukan pengumpulan dan analisis informasi mengenai bagian-bagian dari enterprise yang akan menggunakan atau terkait dengan basis data yang dibuat. Untuk itu digunakan tehnik yang disebut Fact Finding Techique. Terdapat lima Fact Finding Technique yang umum digunakan (Connolly dan Begg (2005,p305): 1. Mengevaluasi dokumen 2. Wawancara 15 3. Mengobservasi jalannya kegiatan kerja pada organisasi 4. Penelitian 5. Kuisioner d. Database Design Database design adalah proses membuat sebuah desain untuk membuat sebuah sistem basis data yang mendukung kegiatan operasional suatu organisasi (Connolly dan Begg, 2002,p279). Pada bagian ini database design dibagi menjadi tiga tahap yaitu konseptual,logikal dan fisikal. 1. Perancangan konseptual basis data Perancangan konseptual merupakan proses konstuksi suatu informasi yang digunakan dalam sebuah organisasi. Fase perancangan konseptual bermula dari pembuatan data model konseptual dari organisasi, yang sepenuhnya bebas mengimplementasikan rincian-rincian seperti mengenal sasaran dari manajemen sistem basis data (DBMS).program-program aplikasi,bahasa pemograman,platform perangkat keras,persoalan kinerja serta pertimbangan fisik lainnya. 2. Perancangan logikal basis data Perancangan basis data logikal adalah proses konstruksi suatu informasi yang digunakan dalam sebuah organisasi yang berdasarkan pada sebuah model data yang spesifik,tetapi bebas dari fakta-fakta DBMS dan pertimbangan fisik lainnya. Fase perancangan basis data secara logikal memetakan model perancangan konseptual pada sebuah model logikal,yang mana dipengaruhi oleh model data untuk targer basis data (contoh : mode relational). Model data logikal adalah sumber informasi bagi fase perancangan fisik dengan wahana untuk pembuatan penjualan yang sangat penting untuk perancangan sebuah basis data yang efisien. 3. Perancangan fisikal basis data 16 Perancangan basis data secara fisik merupakan proses pembuatan deskripsi dari implementasi basis data pada media penyimpanan sekunder. Fase ini mendeskripsikan dasar relasi berkas organisasi,indeks untuk mencapai pengaksesan data yang efisien, beberapa batasan hubungan yang utuh serta tingkatan keamanan. Fase perancangan basis data secara fisik memperbolehkan perancang membuat keputusan-keputusan diimplementasikan,agar perancangan berdasarkan fisikal basis data yang ditoleransi untuk sebuah manajemen sistem basis data yang spesifik.Ada timbal balik antar perancangan logikal dan fisikal,karena keputusan-keputusan yang diambil selama perancangan fisikal mengembangkan kinerja yang bisa mempengaruhi model data logikal. Tujuan utama dari perancangan basis data,yaitu : 1. Merepresentasikan data dan relationship antara data yang dibutuhkan oleh seluruh area aplikasi utama dan user group 2. Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data. 3. Menspesifikasikan perancangan minimal yang secara tepat disusun untuk memenuhi kebutuhan kinerja yang ditetapkan pada sistem e. DBMS Selection DBMS Selection yaitu pemilihan DBMS (Database Management System) yang sesuai untuk aplikasi-aplikasi basis data. Berikut ini adalah langkah-langkah untuk seleksi pemilihan DBMS (Connolly dan Begg, 2002,p284). 1. Menggambarkan cakupan tugas berdasarkan kebutuhan organisasi 2. Membuat perbandingan mengenai dua atau tiga produk DBMS 3. Mengevaluasi produk-produk DBMS tersebut 4. Merekomendasikan pemilihan DBMS dan membuat kesimpulan hasil dari evaluasi produk DBMS tersebut. f. 17 Application Design Menurut Connolly dan Begg (2002,p287),perancangan aplikasi adalah perancangan antar muka dan program aplikasi yang menggunakan dan memproses basis data. Perancangan basis data dan aplikasi merupakan aktivitas paralel yang meliputi dua aktivitas penting yaitu: 1. Transaction Design Transaksi adalah suatu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi yang mengakses atau merubah isi dari basis data. Kegunaan dari desain transaksi adalah untuk menetapkan dan memberi keterangan karakteristik high-level dari suatu trasaksi yang dibutuhkan pada basis data,diantaranya: a. Data yang digunakan oleh transaksi b. Karakteristik fungsional transaksi c. Output dari transaksi d. Penting bagi pengguna e. Diharapkan tingkat penggunaan 2. User Interface Design Guidelines Sebelum menerapkan suatu bentuk atau laporan, adalah penting bahwa pertama-tama kita desain tata letak (layouts). Tujuan utama dari setiap wizard harus memungkinkan pengguna untuk melakukan tugas tertentu dengan sesedikit mungkin kesulitan. Desain antarmuka pengguna untuk setiap halaman wizard harus mendukung tujuan tersebut dengan menyajikan satu langkah per halaman, dengan instruksi untuk melakukan langkah yang jelas dan ringkas mungkin. g. 18 Prototyping Prototyping adalah membangun suatu model kerja dari aplikasi database (Connolly,2002,p291). Tujuan utama mengembangkan suatu prototipe aplikasi database adalah mengijinkan user untuk menggunakan prototipe untuk mengidentifikasikan corak sistem apakah sistem bekerja dengan baik. Dan jika mungkin meningkatkan corak baru kepada aplikasi database. h. Implementation Implementasi merupakan realisasi secara fisik dari basis data dan desain aplikasi (Connolly,2002, p292). Pengendalian keamanan integritas untuk aplikasi juga telah diterapkan. Sebagian dari kendali ini telah diterapkan dengan menggunakan DDL, tetapi yang lain mungkin perlu untuk digambarkan di luar dari DDL, sebagai contoh penggunaan yang disediakan DBMS atau kendali sistem operasi. i. Data Conversion and Loading Menurut Connolly dan Begg (2002,p293), Data Conversion and Loading adalah Pemindahan data yang ada dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru . Langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan suatu sistem basis data yang lama. j. Testing Testing adalah suatu proses melaksanakan progaram aplikasi dengan tujuan menemukan kesalahan (Connoly, 2002, p293). Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu. k. 19 Operational Maintenance Suatu proses untuk memonitor dan merawat sistem aplikasi setelah instalasi. Dalam langkah-langkah yang sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji. Sistem sekarang pindah kesuatu langkah pemeliharaan yang melibatkan atifitas yang berikut (Connolly,2002,p293): 1. Monitoring performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima penyetelan atau reorganisasi basis data mungkin diperlukan. 2. Maintaining dan meningkatkan mutu aplikasi basis data (ketika diperlukan). 2.1.6 Structured Query Language (SQL) Secara ideal, bahasa basis data harus mengizikan pengguna untuk membuat basis data dan struktur hubungan,menampilkan tugas manajemen basis data (insert, modifikasi,penghapusan data) dan menyediakan modifikasi, penghapusan data dan menyediakan query yang sederhana maupun kompleks. SQL merupakan bahasa basis data yang memenuhi persyaratan diatas. SQL merupakan contoh dari transform-oriented language atau bahasa yang dirancang untuk menggunakan relasi dalam mengubah input menjadi output yang diinginkan. 2.1.7 Entity Relationship Modeling (ER) Menurut Connolly dan Begg (2005) model ER adalah suatu pendekatan topdown ke desain database yang dimulai dengan mengidentifikasi data yang penting disebut entity dan relasi antara data yang harus merepresentasikan model. Kemudian menambahkan lebih detil seperti informasi yang ingin menjaga tentang entity dan relasi disebut atribut. 2.1.7.1 Entitas Entitas terdiri dari 2 tipe, yaitu : 20 a. Strong Entity Merupakan entitas yang keberadaannya tidak bergantung pada entitas lain. Strong Entity terkadang disebut dengan parent, owner dominant. b. Weak Entity Suatu entitas yang keberadaannya bergantung pada entitas lain. Weak Entity kadang disebut child, dependent atau subordinate. Siswa MatPel KdSiswa(PK) KdMatPelPK) NamaSiswa Strong Entity Weak Entity Gambar 2.2 Strong and Weak Entity 2.1.7.2 Atribut Macam-macam atribut, yaitu : a. Simple Attribute Atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. b. Composite Attribute Merupakan atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen. 21 c. Single-Valued Attribute Yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Siswa memiliki satu nilai untuk atribut KdSiswa pada setiap kejadian. d. Multi-Valued Attribute Merupakan atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misalkan setiap entitas Siswa memiliki beberapa nilai untuk atribut NoTelp. e. Derived Attribute Merupakan atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. 2.1.7.3 Hubungan Derajat Hubungan yang merupakan jumlah entitas yang berpartisipasi dalam suatu hubungan, terdiri dari : a. Binary Relationship Keterhubungan antar dua tipe entitas. Contoh binary relationship antara entitas Siswa dengan entitas Orang Tua. Siswa Orang Tua Gambar 2.3 Binary Relationship b. Ternary Relationship Merupakan keterhubungan antar tiga tipe entitas. Contoh ternary relationship yang dinamakan Akademis. Relasi ini melibatkan tiga tipe entitas yaitu Siswa, Guru dan SAS . Siswa 22 Guru Akademis SAS Gambar 2.4 Ternary Relationship c. Quarternary Relationship Merupakan keterhubungan antar empat tipe entitas. d. Unary Relationship Merupakan keterhubungan antar satu entitas, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. 2.1.8 Normalisasi Menurut Connly dan Begg (2005,p388), normalisasi adalah sebuah tehnik untuk menghasilkan sekumpulan relasi dengan properti – propeti yang sesuai dengan persyaratan data yang diberikan oleh sebuah perusahaan. Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang mendukung persyaratan data sebuah perusahaan. Karakteristik sekumpulan relasi meliputi berikut ini : a. Jumlah minimal atribut yang diperlukan untuk mendukung persyaratan perusahaan. b. Atribut – atribut dengan relasi logikal yang dekat(digambarkan ketergantungan fungsional) ditemukan dalam relasi yang sama. c. Redudansi minimal dengan setiap atribut direpresentasikan hanya sekali dengan pengecualian penting, atribut yang menbentuk sebagian atau seluruh foreign keys, yang esensial yang menggabungkan relasi – relasi yang 23 berhubungan. Manfaat menggunakan basis data yang mempunyai sekumpulan relasi yang sesuai adalah bahwa basis data tersebut akan lebih mudah diakses dan dipelihara datanya oleh pengguna, dan membutuhkan ruang penyimpanan minimal pada komputer. 2.1.9 Proses Normalisasi Proses Normalisasi adalah sebuah proses atau tehnik untuk menganalisis relasi berdasarkan primary key relasi-relasi tersebut (candidate key) dan ketergantungan fungsional. Tehnik itu melibatkan rangkaian aturan yang bisa digunakan untuk menguji relasi individual sehingga basisdata bisa dinormalisasikan ke tingkat apapun. Ketika persyaratan tidak ditemukan, relasi yang tidak sesuai persyaratan harus didekomposisi menjadi relasi-relasi yang secara individual memenuhi persyaratan normalisasi. Tiga bentuk normal yang disyaratkan disebut First Normal Form, Second Normal Form, dan Third Normal Form. Normalisasi sering dieksekusi sebagai rangkaian langkah. Setiah langkah berkorespondensi ke sebuah normal form tertentu yang memiliki properti yang diketahui. Untuk model datarelasional,perlu diketahui bahwa hanya First Normal Form (UNF) yang penting dalam membuat relasi. Semua normal form selanjutnya adalah langkah operasional. Tetapi unuk menghindari update anomaly, direkomendasikan bahwa kita melanjutkannya setidaknya sampai Third Normal Form (3NF). Sebuah tabel yang belum dinormalisasi disebut dengan Unnormalized Form (UNF). UNF adalah sebuah tabel yang memiliki satu atau lebih repeating groups. 2.1.9.1 First Normal Form (1NF) First Normal Form (1NF) adalah sebuah relasi,dimana setiap potong baris dan kolom mengandung hanya satu nilai. Untuk membentuk normalisasi pertama 24 (1NF) repeating groups harus dihilangkan. Untuk memindahkan Unnormalized Form ke First Normal Form, kita harus mencari dan memindahkan data-data yang berulang. Suatu hubungan dikatakan First Normal Form jika : 1. Setiap baris dan kolom berisi atribut-atribut yang bernilai tunggal. 2. Kunci Primer (Primary Key) telah ditentukan. 3. Atribut nilai banyak (multi value) telah dihilangkan. 2.1.9.2 Second Normal Form (2NF) Second Normal Form (2NF) dibuat berdasarkan konsep full functional dependency. 2NF adalah sebuah relasi yang berada dalam 1NF dan setiap atribut yang non-primary key secara penuh bergantung secara fungsional pada primary key. Suatu hubungan dikatakan Second Normal Form jika : 1. Berada pada normal pertama (1NF). 2. Atribut bukan kunci primer (non-primary key) telah dihilangkan atau semua atribut non-primary key bergantung sepenuhnya kepada primary key. 2.1.9.3 Third Normal Form (3NF) Third Normal Form adalah sebuah relasi yang berada dalam bentuk 1NF dan 2NF dimana tidak ada atribut non-primary key yang bergantung secara transitif terhadap primary key. 3NF dilakukan dengan cara melihat apakah terdapat atribut non-primary key yang bergantung fungsional terhadap atribut non-primary key lainnya (Transitive Dependence). Dengan cara yang sama,maka setiap ketergantungan transitif dipisahkan. Suatu hubungan dikatakan Third Normal Form jika : 25 1. Berada pada normal pertama (1NF) dan normal kedua (2NF) 2. Setiap atribut non-primary key tidak memiliki transitive dependency terhadap primary key. 2.10 Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem. Notasi pada Data Flow Diagram : Notasi Notasi Gane & Yourdon/DeMarco Sarson Keterangan Simbol Entitas Eksternal/ Terminator menggambarkan asl atau tujuan data di luar sistem Simbol Lingkaran menggambarkan ebtitas atau proses dimana aliran data masuk ditransformasikan ke aliran data keluar Simbol aliran menggambarkan aliran data data 26 Simbol File menggambarkan tempat data di simpan Tabel 2.1 Data Flow Diagram Adapun jenis-jenis dari DFD, yaitu : 1. Diagram Konteks Merupakan DFD tingkat atas (DFD Top Level), yaitu yang paling tidak detail dari sebuah sistem diagram informasi yang menggambarkan aliran-aliran data ke dalam dan ke luar sistem serta ke dalam dan ke luar entitas-entitas eksternal. 2. Diagram Level 0 Menunjukkan semua proses utama yang menyusun keseluruhan sistem. Level ini juga menunjukkan komponen internal dari proses 0 dan menunjukkan bagaimana proses-proses utama direlasikan menggunakan data flow. Pada level ini juga ditunjukkan bagaimana proses-proses utama terhubung dengan entitas ekternal. Selain itu, juga dilakukan penambahan data store. 3. Diagram Level 1 Umumnya diagram level 1 diciptakan dari setiap proses utama dari level 0. Level ini menunjukkan proses-proses internal yang menyusun setiap proses-proses utama dalam level 0, sekaligus menunjukkan bagaimana informasi berpindah dari satu proses ke proses yang lainnya. Jika misalkan proses induk dipecah, katakanlah menjadi 3 proses anak, maka 3 proses anak ini secara utuh menyusun proses induk. 27 2.11 State Transition Diagram (STD) Merupakan suatu diagram yang menunjukan/menggambarkan kejadian pembentukan atau pemberian sebuah class, serta menggambarkan suatu kejadian transisi dan perubahan keadaaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat stimulasi yang diterimanya. State Transition Diagram diciptakan untuk objek-objek yang secara signifikan mempunyai sifat/behavior dinamis. Satu class dapat memiliki lebih dari satu diagram. Notasi-notasi yang digunakan pada State Transition Diagram : Notasi State menggambarkan kondisi sebuah State entitas, dan digambarkan dengan segiempat yang pinggirnya tumpul dengan nama state didalamnya. Sebuah Transition menggambarkan sebuah perubahan kondisi objek yang disebabkan oleh sebuah event. Transition digambarkan Transition dengan sebuah anak panah dengan nama event yang ditulis diatasnya, dibawahnya atau sepanjang anak panah tersebut. 28 Initial State adalah sebuah kondisi awal sebuah object sebelum ada perubahan keadaan. Initial State digambarkan dengan sebuah lingkaran solid. Hanya satu Initial State yang diizinkan dalam sebuah diagram. Final State menggambarkan ketika objek berhenti memberi respon terhadap sebuah event. Final State digambarkan dengan lingkaran solid didalam sebuah lingkaran kosong. Tabel 2.2 State Transition Diagram (STD) 2.2 Teori Khusus 2.2.1 SQL server SQL Server adalah sistem manajemen database relasional (RDBMS) yang dirancang untuk aplikasi dengan arsitektur client/server. Istilah client, server, dan client/server dapat digunakan untuk merujuk kepada konsep yang sangat umum atau hal yang spesifik dari perangkat keras atau perangkat lunak. Pada level yang sangat umum, sebuah client adalah setiap komponen dari sebuah sistem yang meminta layanan atau sumber daya (resource) dari komponen sistem lainnya. Sedangkan sebuah server adalah setiap komponen sistem yang menyediakan layanan atau sumber daya ke komponen sistem lainnya. 29 Gambar 2.5 SQL Server Sistem client/server adalah dirancang untuk memisah layanan basis data dari client, dengan penghubungnya menggunakan jalur komunikasi data. Layanan basisdata diimplementasikan pada sebuah komputer yang berdaya guna, yang memungkinkan manajeman tersentralisasi, keamanan, dan berbagai sumber daya. Oleh karena itu, server dalam client/server adalah basisdata dan layanannya. Aplikasi-aplikasi client diimplementasikan pada berbagai flatform, menggunakan berbagai kakas pemrograman. SQL Server adalah server basisdata yang secara fungsional adalah proses atau aplikasi yang menyediakan layanan basisdata. Client berinteraksi dengan layanan basisdata melalui antar muka komunikasi tertentu yang bertujuan untuk pengendalian dan keamanan. Client tidak mempunya akses langsung kedata, tetapi selalu berkomunikasi dengan server basisdata. (Marcus Teddy.2004). SQL Server menggunakan tipe dari database yang disebut database relasional. Database relasional adalah database yang digunakan sebuah data untuk mengatur atau mengorganisasikan kedalam tabel. Tabel-tabel adalah alat bantu untuk mengatur atau mengelompokan data mengenai subyek yang sama dan mengandung informasi dan kolom dan baris. Tabel-tabel saling berhubungan dengan mesin database ketika dibutuhkan. SQL Server mendukung beberapa tipe 30 data yang berbeda, termasuk untuk karakter, tanggal (datetime) dan uang (money), SQL Server digunakan untuk menggambarkan model dan implementasi pada database. 2.2.2 Microsoft Visual Basic (VB) Microsoft Visual Basic (VB) merupakan sebuah bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa BASIC dan menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO), serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Programprogram yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi eksternal tambahan. 2.2.3 Penjadwalan Penjadwalan adalah suatu kegiatan administrasi utama pada sebagian intitusi. Kegiatan operasional instiusi ini,akan berlangsung sepenuhnya pada jadwal yang telah dibuat. Definisi penjadwalan menurut Wren adalah pengalokasian sumber daya pada objek-objek yang ada pada ruang dan waktu,dengan sedemikian rupa sehingga memenuhi kondisi-kondisi tertentu. Dalam hal ini penjadwalan berarti waktu yang telah ditetapkan sekolah 31 untuk waktu mengajar guru. Guru mengikuti jadwal mengajar yang telah ada dan mengajar sesuai hari dan jam yang ditentukan. Siswa pun mengikuti jadwal belajar yang ada sesuai dengan waktu yang telah ditetapkan sekolah. 2.2.4 Absensi Dalam pendidikan, daftar hadir memiliki arti yang tak kalah pentingnya,baik untuk pembinaan suatu pendidikan secara profesional maupun dalam memlihara tata tertib dan disiplin secara terus-menerus. Siswa yang memiliki tingkat absensi yang tinggi adalah siswa yang tidak mampu melaksanakan peraturan-peraturan yang dibuat. Absensi merupakan kegagalan pelajar,untuk melaporkan pembelajaran ketika mereka dijadwalkan belajar (Julius (1991,p490)). Sedangkan Fillipo (1998,p133) mengemukakan bahwa absensi merupakan ketidakhadiran pelajar disekolahnya pada saat ia harus belajar. 2.2.5 Penilaian Penilaian dapat diartikan sebagai proses menetukan nilai dari suatu objek. Untuk dapat menetukan suatu nilai dari objek,dibutuhkan ukuran atau kriteria. Penilaian hasil belajar adalah proses pemberian nilai terhadap hasil-hasil belajar yang dicapai siswa dengan materi-materi tertentu. Hal ini mengisyaratkan bahwa objek yang dinilai adalah hasil belajar siswa. Dalam penilaian hasil belajar, peranan tujuan instruksional yang berisi rumusan kemampuan dan tingkah laku yang diingkan dikuasai siswa menjadi unsur penting sebagai dasar dan acuan penilaian. Penilaian proses belajar adalah upaya memberi nilai terhadap proses belajar mengajar yang dilakukan oleh siswa dalam mencapai tujuan-tujuan pengajaran. Dalam penilaian ini dapat dilihat sejauh mana keefektifan dan efisiensi dalam prosen belajar mengajar. 32 Penilaian siswa diambil dalam tiga jenis Tugas Mandiri (TM) , Ujian Tengah Semester ( UTS ) dan Ujian Akhir Semester (UAS),yang ketiganya akan diakumulasikan dan dicantumkan pada rapor siswa di akhir semester. 2.2.6 Pelanggaran Secara umum, pelanggaran adalah tindakan yang tidak sesuai atau tidak sejalan dengan norma-norma atau peraturan-peraturan yang ditetapkan dalam suatu lingkungan tertentu,baik tertulis maupun tidak tertulis,disengaja ataupun tidak disengaja. Di sekolah,pelangaran dapat diartikan sebagai suatu tindakan yang melanggar aturan atau tata tertib sekolah yang telah ditetapkan. Setiap pelanggaran memiliki sanksi yang harus dikenakan terhadap si pelanggar . Berat – ringan nya sanksi yang diberikan bergantung kepada pelanggaran yang dilakukan. Sanksi yang diberikan bisa berupa pemberhentian atau penundaan mengikuti kegiatan belajar dan mengajar pada siswa untuk sementara waktu sebagai sanksi atas pelanggaran yang dilakukan siswa yang bersangkutan (skorsing) atau siswa dikembalikan ke orang tua masing-masing selamanya,dikeluarkan dari sekolah (Dropped Out). 2.2.7 Pembayaran Pembayaran adalah berpindahnya hak pemilikan atas sejumlah alat tukar atas uang dari pembayar kepada penerima,baik langsung maupun melalui media jasa perbankan. Pembayar adalah seseorang atau suatu organisasi yang bersedia melepaskan hak pemilikannya atas sejumlah uang atau dana kepada penerima. Penerimaan adalah seseorang atau suatu organisasi yang menerima kepemilikan atas sejumlah uang atau dana dari pembayar. Salah satu pembayaran yang terjadi dalam kegiatan sekolah dan merupakan dana dari sumber sekolah sendiri dinamakan Sumbangan Pembinaan Pendidikan (SPP). SPP yang dibayarkan siswa tiap bulan itu sendiri bermanfaat untuk membiayai fasilitas – fasilitas yang diberikan oleh sekolah. 33