BAB 2 LANDASAN TEORI 2.1 TEORI UMUM 2.1.1 Pengertian Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan data dan deskripsi data yang terhubung secara logika yang dirancang untuk memenuhi kebutuhan informasi organisasi. 2.1.2 Pengertian Sistem Basis Data Menurut Connolly dan Begg (2010, p54), sistem basis data sebagai kumpulan program aplikasi yang berinteraksi satu sama lain dengan basis data bersama dengan Database Management System (DBMS) dan basis data itu sendiri. 2.1.3 Teori DBMS (Database Management System) - Pengertian DBMS Menurut Connolly dan Begg (2010, p66), Database Management System (DBMS) memungkinkan merupakan pengguna sistem untuk perangkat mendefinisikan, lunak membuat, memelihara, dan mengontrol akses ke database. - Fasilitas DBMS Biasanya, DBMS menyediakan fasilitas sebagai berikut : 9 yang 10 a. Data Definition Language (DDL) Memungkinkan pengguna untuk membuat spesifikasi tipe data, struktur data, dan constraint pada data untuk dapat disimpan di dalam database. b. Data Manipulation Language (DML) Memungkinkan pengguna untuk memasukkan, mengubah, menghapus, dan mengambil data dari database. c. Akses Kontrol DBMS menyediakan akses kontrol ke dalam database, seperti : i. Sistem keamanan, untuk mencegah pengguna yang tidak sah untuk mengakses database tersebut. ii. Sistem integritas, untuk menjaga konsistensi data yang tersimpan. iii. Sistem kontrol konkurensi, untuk mengizinkan akses data untuk diakses oleh database. iv. Sistem kontrol pemulihan, untuk mengembalikan database ke keadaan yang konsisten dari sebelumnya setelah mengalami kegagalan perangkat keras atau perangkat lunak. v. Sebuah katalog yang dapat diakses pengguna, berisi deskripsi dari data di dalam database. 11 - Komponen DBMS Menurut Connolly dan Begg (2010, p68), ada lima komponen penting dalam DBMS yaitu hardware (perangkat keras), software (perangkat lunak), data, procedures (prosedur), dan people (pengguna). 1. Hardware (Perangkat Keras) Hardware digunakan untuk mejalankan DBMS untuk aplikasi. Hardware yang digunakan yaitu hardware yang sesuai dengan kebutuhan perusahaan dan DBMS yang digunakan. Beberapa DBMS hanya dapat dioperasikan pada hardware/operation system tertentu dimana yang lainnya dapat digunakan pada hardware/operation system yang lainnya. 2. Software (Perangkat Lunak) Komponen-komponen software terdiri dari software DBM dan program aplikasi, dimana jika digabungkan dengan sistem operasi, termasuk software jaringan, DBMS ini bisa digunakan melalui sebuah jaringan. 3. Data Data merupakan komponen terpenting dalam DBMS, yang mencakup sudut pandang end-user mengenai data. Data pada sebuah sistem basis data baik 12 single-user system maupun multi-user system harus terintegrasi dan dapat digunakan bersama. 4. Procedures (Prosedur) Prosedur merupakan instruksi-instruksi dan aturanaturan yang membuat rancangan dan menggunakan database. Penggunaan sistem dan pengaturan staf yang mengatur kebutuhan basis data didokumentasikan dalam prosedur yang dapat berupa petunjuk penggunaan. Instruksi tersebut misalnya digunakan untuk : a. Log on ke DBMS b. Menggunakan sebagian fasilitas DBMS atau program aplikasi c. Start dan stop DBMS d. Membuat salinan cadangan database e. Menangani kesalahan pada hardware dan software f. Mengubah struktur tabel dan meningkatkan tampilan 5. People (Pengguna) Komponen terakhir adalah pengguna yang terlibat langsung dengan system tersebut. Pengguna ini dibedakan menjadi empat : a. Data and Database Administrators, ada dua jenis yaitu Data Administrator (DA) yang bertanggung jawab untuk pengelolaan sumber daya termasuk 13 perencanaan database, pengembangan dan pemeliharaan standar, kebijakan dan prosedur, dan desain database konseptual atau logikal. Database Administrator (DBA) yang bertanggung jawab untuk realisasi fisik dari database, termasuk desain database fisik, implementasi, keamanan, kontrol integritas, pemeliharaan sistem operasional, dan memastikan kinerja yang memuaskan dari aplikasi bagi pengguna. b. Database Designers ada dua tipe perancang yaitu logical database designers dan physical database designers. Logical database designers. bersangkutan dengan mengidentifikasi data (entitas dan atribut), hubungan antara data dan kendala pada data yang akan disimpan dalam database. Physical database bagaimana desain designers database memutuskan logikal akan diwujudkan secara fisik. c. Application Developers bertanggung jawab dalam melaksanaan program aplikasi yang harus dilaksanakan untuk end-users. d. End-Users adalah clients untuk database, yang telah dirancang dan diimplementasi, serta dipelihara untuk menyajikan informasi yang 14 dibutuhkan. End-Users dapat diklasifikasikan sesuai dengan sistem yang dijalankan : i. Naive users adalah tipikal orang yang tidak berinteraksi langsung dengan DBMS. Mereka mengakses database melalui sebuah aplikasi yang ditujukan secara khusus untuk mencoba operasi sesederhana mungkin. ii. Sophisticated users adalah orang yang lebih mengerti struktur database dan fasilitasnya, dan memungkinkan untuk menggunakan bahasa pemrograman yang lebih tinggi. - Keuntungan DBMS Menurut Connolly dan Begg (2010, p77), keuntungan DBMS yaitu : a. Control of data redundancy, mengontrol database untuk mengeliminasi redundan dengan cara data terintegrasi cukup disimpan sekali. b. Data consistency, mengeliminasi atau mengontrol redundan, dapat mengurangi resiko inkonsistensi yang mungkin terjadi. c. Sharing of data, sistem basis data terdapat pada sebuah organisasi yang dapat digunakan oleh seluruh pengguna yang memiliki hak akses. 15 d. Improved data integrity, meningkatkan validitas dan konsistensi data.Integritas biasanya dijabarkan ke dalam constraints, yang mana aturan konsistensi database tidak mengizinkan untuk dilanggar. e. Improved security, meningkatkan database securitiy, melindungi basis data dari pengguna yang tidak dikenal. f. Increased productivity, dalam file-based-systems deskripsi data dan logika pengaksessan data telah dibuat ke dalam beberapa program aplikasi, yang membuat program bergantung pada data. g. Improved backup dan recovery services, meningkatkan backup data. Jika, kesalahan terjadi, data dapat dipulihkan kembali. - Kerugian DBMS Menurut Connolly dan Begg (2010, p80), kekurangan DBMS, yaitu : a. Complexity, dimana Database designers dan developers, data dan database administrators, serta end-users harus mengerti fungsinya untuk mengambil keuntungan penuh dari fungsi tersebut. Kesalahan dalam mengerti sistem dapat memberikan keputusan rancangan yang buruk, dan dapat mengakibatkan konsekuensi serius dari sebuah organisasi. 16 b. Size, kompleksitas dan luasnya fungsionalitas membuat DBMS menjadi software yang sangat besar dan memerlukan ruang disk serta memori substansial untuk menjalankannya secara efisien. c. Additional hardware costs, untuk mencapai performa yang dibutuhkan, sangat diperlukan membeli mesin besar, mesin yang digunakan untuk menjalankan DBMS. d. Higher impact of failure, sentralisasi sumber daya menambah kerentanan sistem. Setelah semua pengguna dan aplikasi bergantung pada ketersediaan dari DBMS, kesalahan pada komponen tertentu dapat mengakibatkan operasi berhenti. - Database Language Menurut Connolly dan Begg (2010, 91), sub-bahasa data terdiri dari 2 bagian, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). - Data Definition Language (DDL) Menurut Connolly dan Begg (2010, 92), pengertian DDL adalah bahasa yang memperbolehkan database administrator atau pengguna untuk menjelaskan dan memberi nama entitas, atribut, dan relasi yang dibutuhkan pada aplikasi, bersamaan dengan integritas asosiatif dan keamanan constraint - Data Manipulation Language (DML) Menurut Connolly dan Begg (2010, 92), pengertian DML adalah bahasa yang menyediakan kumpulan operasi untuk 17 mendukung operasi manipulasi data pada data yang berada di database. Operasi manipulasi data yang ada terdiri dari : Pemasukkan data baru pada database Pemodifikasian data yang disimpan di dalam database Penerimaan data yang terkandung di dalam database - Penghapusan data dari database Model Data Hal yang mendasari struktur basis data adalah model data. Menurut Connolly dan Begg (2010, 95), pengertian model data adalah suatu kumpulan konsep yang terintegrasi untuk menjelaskan dan memanipulasi data, relasi antar data, dan constraint pada data dalam sebuah organisasi. Sebuah model data memiliki 3 komponen : Bagian stuktural : terdiri dari kumpulan aturan yang terpaut pada database yang dibentuk. Bagian manipulasi : membuat tipe dari operasi yang diperbolehkan pada data yang mencakup operasioperasi yang digunakan untuk proses update atau penerimaan data dari database dan untuk mengubah struktur dari database. Kumpulan dari integrity constraints yang memastikan bahwa data yang diproses adalah akurat. 18 Sebuah model data dibagi menjadi 3 kategori yaitu : berbasis objek, berbasis record, dan data model fisikal. - Data model berbasis objek Pada model berbasis objek, menggunakan konsep entitas, atribut, dan relasi. Entitas adalah objek yang berbeda baik manusia, tempat, konsep, maupun kejadian yang di dalam organisasi menjadi sebuah representasi data di dalam database. Sebagai contoh, setiap manusia adalah sebuah entitas dan rekening bank juga dapat dipertimbangkan sebagai sebuah entitas. Atribut merupakan properti yang menjelaskan aspek pada objek yang ingin kita simpan. Relasi adalah hubungan antar entitas. - Data model berbasis record Pada data model berbasis record , database terdiri atas kumpulan format data yang mungkin memiliki perbedaan tipe data disertai dengan jumlah panjang karakter yang tetap untuk masing-masing tipe data. Terdapat 3 macam tipe dari model berbasis record yaitu : data model relasional, data model jaringan, dan data model hierarkial. o Data model relasional Data model relasional didasarkan pada konsep dari relasi matematik. Di dalamnya, data dan relasi terrepresentasi sebagai sebuah tabel dimana masingmasing elemen memiliki jumlah kolom dengan nama 19 yang berbeda-beda. Data model relasional membutuhkan database yang dirasakan oleh pengguna sebagai tabel. Akan tetapi, persepsi ini hanya berlaku untuk struktur logika dari database, bukan untuk stuktur fisik database. o Data model jaringan Dalam data model jaringan, data direpresentasikan sebagai kumpulan dari record dan relasi merupakan representasi dari sets yang menjadi sebuah penunjuk dalam implementasi. Record tersusun secara struktural dalam bentuk graf dengan menampilkan data-data yang disebut node atau segmen, sedangkan sets menjadi pembatas pada graf. o Data model hierarki Data model hierarki adalah tipe dari model jaringan yang bersifat terbatas, karena memungkinkan sebuah node untuk memiliki hanya 1 induk. Sebuah data model hierarki dapat direpresentasikan sebagai sebuah graf pohon dengan record yang disebut node dan sets sebagai pembatasnya. - Data model fisikal Data model fisikal menjelaskan bagaimana data dapat disimpan dalam komputer sebagai informasi seperti struktur record, pemesananan record, maupun akses jalur data. Contoh 20 umum dari data model fisikal adalah unifying model dan frame memory. - Relational Model Menurut Connolly dan Begg (2010, 141), pengunaan sistem basis data relasional telah dominan dipakai sebagai aplikasi pemrosesan data pada saat ini. Di dalam relational model , seluruh data tersusun secara terstruktur dalam bentuk kumpulan tabel. Setiap tabel (relation) memiliki sebuah nama dan terbentuk oleh kumpulan kolom (attributes) dimana setiap baris (tuple) memiliki satu buah nilai untuk masing-masing kolom. Pengertian dari tabel (relation) adalah tabel yang tersusun oleh baris dan kolom. Pengertian kolom (attributes) adalah nama kolom dari sebuah tabel. - Domain Pengertian domain adalah kumpulan nilai yang diperbolehkan dimasukkan dalam setiap kolom (attribute). Domain merupakan fitur yang penting didalam relational model. Domain bisa berbeda-beda untuk tiap kolom(attribute), namun bisa juga beberapa kolom(attribute) memiliki domain yang sama. Konsep domain menjadi begitu penting karena memungkinkan pengguna untuk mengerti penjelasan dan sumber dari nilai yang ada pada masingmasing kolom. 21 - Tuple Pengertian tuple adalah baris pada sebuah tabel. Setiap baris memiliki satu buah nilai pada masing-masing kolom. - Degree Degree adalah jumlah kolom yang dimiliki oleh sebuah tabel. Pada tabel yang memiliki satu buah degree, disebut tabel unary, sedangkan untuk tabel yang memiliki dua kolom disebut tabel binary, dan tiga kolom disebut tabel ternary, lebih dari itu disebuh n-ary. - Teori Database System Development Lifecycle Menurut Connolly dan Begg (2010, p313), siklus hidup aplikasi database secara inheren terkait dengan siklus hidup sistem informasi. Penting untuk mengenali bahwa tahapan siklus hidup dari aplikasi database tidak selalu berurutan, tetapi dapat melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui loop feedback. 22 Gambar 2.1 Database System Development Lifecycle (Sumber: Connolly dan Begg, 2010, p.284) 23 - Database Planning (Perancangan Basis Data) Menurut Connolly dan Begg (2010, p313), aktivitas manajemen memungkinkan tahapan dari siklus hidup sistem database yang akan direalisasikan secara efisiensi dan seefektif mungkin. - System Definition (Definisi Sistem) Menurut Connolly dan Begg (2010, p316), menentukan ruang lingkup dan batas dari sistem database, termasuk pandangan pengguna utama, penggunanya, dan area aplikasi. Pandangan pengguna mendefinisikan apa yang dibutuhkan dari sistem database dengan perspektif peran pekerjaan tertentu (seperti sebagai Manajer atau Supervisor) atau area aplikasi enterprise (seperti pemasaran, personalia, atau pengontrol stok). - Requirement Collection and Analysis (Pengumpulan dan Analisis Kebutuhan) Menurut Connolly dan Begg (2010, p316), proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang harus didukung oleh sistem database, dan menggunakannya untuk mengidentifikasi persyaratan untuk sistem baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan beberapa pengguna, yaitu : 24 i. The centralized approach (Pendekatan terpusat) ii. The view integration approach (Pendekatan integrasi tampilan) iii. A combination of both approach (Kombinasi dari pendekatan keduanya) Ada banyak teknik untuk mengumpulkan informasi ini, yang disebut fact finding techniques. Terdapat lima teknik fact finding yang biasa digunakan : a. Mempelajari dokumen b. Mewawancarai c. Mengamati kegiatan perusahaan d. Penelitian e. Kuisioner - Database Design (Desain Basis Data) Gambar 2.2 Data Modelling (Sumber: Connolly dan Begg, 2010, p.357) 25 Menurut Connolly dan Begg (2010, p320), proses menciptakan desain yang akan mendukung pernyataan misi perusahaan dan tujuan misi pada sistem database yang diperlukan. Terdapat dua pendekatan perancangan database, yaitu: i. Bottom-up Pendekatan ini dimulai pada tingkat dasar atribut (yaitu, sifat-sifat entitas dan relasi), yang melalui analisis hubungan antara atribut, dan dikelompokkan ke dalam relasi yang mewakili jenis entitas dan relasi antar entitas. ii. Top-down Pendekatan ini dimulai dengan pengembangan model data yang berisi tingkat tinggi beberapa entitas dan relasi dan kemudian berturut-turut menerapkan perbaikan top-down untuk mengidentifikasi tingkat rendah entitas, hubungan dan atribut yang terkait. Perancangan database terdiri dari tiga fase yaitu : 1. Conceptual database design Menurut Connolly dan Begg (2010, p322), proses membangun suatu model data yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik. Menurut Connolly dan Begg (2010, p470), langkah-langkah desain basis data konseptual : Langkah 1 : Membangun model data konseptual. 1.1 : Mengidentifikasi jenis entitas. 26 1.2 : Mengidentifikasi jenis relasi. 1.3 : Mengidentifikasi jenis dan menggabungkan atribut pada tiapentitas. 1.4 : Menentukan domain atribut. 1.5 : Menentukan candidate key, primary key, dan alternate key. 1.6 : Mempertimbangkan konsep pemodelan enhanched (optional). 1.7 : Memeriksa model untuk redundansi. 1.8 : Validasi model konseptual terhadap transaksi pengguna. 1.9 : Memeriksa model data konseptual terhadap transaksi pengguna. 2. Logical database design Menurut Connolly dan Begg (2010, p323), proses membangun model data yang digunakan dalam sebuah perusahaan berdasarkan model data tertentu, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. Menurut Connolly dan Begg (2010, p490), langkah-langkah desain basis data logikal : Langkah 2 : Membangun dan memvalidasi model data logikal. 2.1 : Menurunkan hubungan model data logikal. 2.2 : Memvalidasi relasi menggunakan normalisasi. 27 2.3 : Memvalidasi relasi terhadap transaksi pengguna. 2.4 : Memeriksa integrity constraints. 2.5 : Tinjauan model data logikal dengan pengguna. 2.6 : Menggabungkan model data logikal menjadi model global(optional). 2.7 : Memeriksa model terhadap future growth. 3. Physical database design Menurut Connolly dan Begg (2010, p523), proses pendeskripsian implementasi basis data pada penyimpanan sekunder; proses itu menggambarkan basis relasi, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan setiap kendala integritas terkait serta tahapan keamanan. Menurut Connolly dan Begg (2010, p523) langkah-langkah desain basis data fisikal : Langkah 3 : Menerjemahkan model data logis untuk target DBMS. 3.1 : Desain relasi dasar. 3.2 : Merancangan representasi derived data. 3.3 : Merancang general constraints. Langkah 4 : Desain organisasi file dan indeks. 4.1 : Menganalisis transaksi. 4.2 : Memilih organisasi file. 4.3 : Memilih indeks. 28 4.4 : Mengestimasi ruang disk yang diperlukan. Langkah 5 : Desain pandangan pengguna. Langkah 6 : Desain mekanisme keamanan. - DBMS Selection (Pemilihan DBMS) Menurut Connolly dan Begg (2010, p325), pemilihan DBMS yang tepat untuk mendukung sistem basis data. Jika tidak ada DBMS yang tepat maka bagian dari siklus hidup akan membuat seleksinya sendiri yaitu antara konseptual dengan desain logikal. Langkahlangkah dalam pemilihan DBMS : i. Menetapkan kerangka referensi belajar. ii. Daftar sederhana dari dua atau tiga produk. iii. Evaluasi produk. iv. Merekomendasikan seleksi dan menghasilkan laporan. - Application Design (Desain Aplikasi) Menurut Connolly dan Begg (2010, p329), desain user interface dan program aplikasi yang digunakan untuk memproses database. Rancangan aplikasi dibagi menjadi dua aspek, yaitu : 1. Transaction Design (Rancangan Transaksi) Menurut Connolly dan Begg (2010, p330), suatu tindakan, atau serangkaian tindakan yang dilakukan oleh seorang user atau program aplikasi, yang mengakses atau mengubah isi database. Ada tiga tipe transaksi ini : 29 i. Retrieval transactions. ii. Update transactions. iii. Mixed transactions 2. User Interface Design Guidelines i. Meaningful tittle. ii. Comprehensive instruction iii. Familiar field tables. iv. Consistent use coler. v. Error message for fields vi. Completion signal. - Prototyping Menurut Connolly dan Begg (2010, p333), prototyping adalah membangun sebuah model kerja dari sistem basis data. Sebuah prototipe adalah sebuah model kerja tidak secara normal yang mempunyai semua fitur-fitur yang dibutuhkan atau yang menyediakan semua fungsi dari sistem akhir. Prototipe harus mempunyai keuntungan utama menjadi murah secara relatif dan cepat untuk dibangun. Ada dua strategi prototipe yang akhir-akhir sering digunakan : i. Requirements prototyping, menggunakan sebuah prototipe untuk membacakan persyaratan dari sebuah usulan sistem basis data dan setelah semua persyaratan selesai maka prototipe dibuang. 30 ii. Evolutionary prototyping, menggunakan usulan yang sama, perbedaan yang penting adalah prototipe tidak dibuang akan tetapi dikembangkan lebih jauh menjadi pekerjaan sistem basis data. - Implementation (Implementasi) Menurut Connolly dan Begg (2010, p333), implementasi adalah sebuah realisasi fisikal dari basis data dan desain aplikasi. Implementasi basis data dicapai dengan menggunakan : i. Data Definition Language (DDL) yaitu sebuah bahasa yang mengizinkan DBA atau user untuk mendeskripsikan dan menamai entitas, atribut, dan relasi yang dihubungkan untuk sebuah aplikasi, bersama dengan integritas terkait dan kendala keamanan. ii. Program aplikasi yang diimplementasi menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL) yaitu bahasa pemrograman tingkat tinggi seperti yang digunakan dalam SQL dan QBE. iii. Bagian dari program aplikasi ini adalah transaksi basis data, yang diimplementasikan Manipulation Language menyediakan seperangkat (DML) operasi menggunakan Data yaitu yang untuk bahasa mendukung operasi dasar manipulasi data pada data yang ada pada database. Pada DBMS, terpancang dengan sebuah bahasa 31 pemrograman seperti Visual Basic (VB), VB.net, Phyton, Delphi, C, C++, C#, Java, COBOL, Fortran, Ada, atau Pascal. Keamanan dan integrity control dari sistem juga diimplementasikan. Beberapa dari kontrol ini diimplementasikan menggunakan DDL, tetapi yang lain mungkin butuh batasan luar dalam menggunakan DDL. - Data Conversion and Loading (Pengubahan dan Pemuatan Data) Menurut Connolly dan Begg (2010, p334), Data Conversion and Loading adalah mentransferkan beberapa data yang ada ke dalam database yang baru dan mengkonversikannya ke beberapa aplikasi yang ada untuk dijalankan pada database baru tersebut. - Testing (Uji Coba) Menurut Connolly dan Begg (2010, p334), Testing adalah proses menjalankan sistem basis data dengan maksud untuk menemukan kesalahan. Pengujian juga harus mencakup kegunaan dari sistem basis data. Idealnya, sebuah uji coba harus dilakukan terhadap spesifikasi kegunaannya. Contoh kriteria yang dapat digunakan untuk melakukan uji coba meliputi : 1. Learnability, berapa lama waktu yang dibutuhkan pengguna baru untuk menjadi produktif dengan sistem. 2. Performance, seberapa baik respon sistem sesuai praktek kerja pengguna. 32 3. Robustness, seberapa toleransinya sistem dari kesalahan pengguna. 4. Recoverability, seberapa baik sistem pulih dari kesalahan pengguna. 5. Adaptability, seberapa dekat sistem terkait dengan satu model pekerjaan Setelah pengujian selesai, sistem basis data siap untuk ‘ditandatangani’ dan diserahkan pada pengguna. - Operational Maintenance (Perawatan Operasional) Menurut Connolly dan Begg (2010, p335), Operational Maintenance adalah proses pemantauan dan pemeliharaan instalasi sistem basis data. Tahap pemeliharaan ini melibatkan dua kegiatan yaitu: i. Pemantauan kinerja sistem. Jika kinerja turun ke bawah tingkat yang dapat diterima, tuning atau reorganisasi basis data mungkin dibutuhkan. ii.Memelihara dan meningkatkan sistem basis data melalui tahaptahap sebelumnya dari siklus hidup. 33 - Teori Entity-Relational Modelling (ER Model) Menurut Connolly dan Begg (2010, p371), ER Model adalah pendekatan top-down untuk merancang sebuah basis data yang diawali dengan mengidentifikasi data penting yang disebut entitas dan relasi antar data yang harus diwakili dalam model tersebut. 1. Entity Types (Jenis Entitas) Menurut Connolly dan Begg (2010, p372), sekelompok objek dengan sifat yang sama, yang diidentifikasi oleh perusahaan memiliki eksistensi yang independen. Konsep dasar dari ER model adalah tipe entitas, yang mewakili sekelompok ‘benda’ di ‘dunia nyata’ dengan sifat yang sama. Entity occurance adalah sebuah objek diidentifikasi secara unik dalam suatu entitas. Tiap objek yang diidentifikasi secara unik dari sebuah tipe entitas merujuk pada kesederhanaan sebuah entity occurrence. 2. Relationship Types (Tipe Relasi) Menurut Connolly dan Begg (2010, p374), sebuah set asosiasi yang bermakna antar jenis entitas. Sebuah tipe relasi adalah set asosiasi antara satu atau lebih partisipasi dari tipe-tipe entitas. Seperti tipe-tipe entitas dan entitasentitas, perlu untuk membedakan antara istilah ‘relationship type’ dan ‘relationship occurrence’. Sebuah relationship occurrence menunjukkan hubungan entitas 34 tertentu yang terkait. Pertimbangkan jenis relasi yang disebut Has, yang merupakan hubungan antara entitas Branch dan Staff, yang memiliki Branch Has Staff. Kita dapat memeriksa contoh kejadian individual dari relasi Has dengan menggunakan sebuah semantic net. Semantic net adalah sebuah model tingkat-objek, yang menggunakan simbol • untuk merepresentasikan entitasentitas dan symbol untuk merepresentasikan relasi. Gambar 2.3 Semantic Set a. Degree of Relationship Type Menurut Connolly dan Begg (2010, p376), jumlah partisipasi tipe entitas dalam sebuah relasi. Entitas yang ada dalam suatu tipe relasi tertentu disebut dengan peserta relasi. Relasi dua derajat 35 diebut binary, relasi tiga derajat disebut ternary. Relasi empat derajat disebut quaternary. b. Recursive Relationship Menurut Connolly dan Begg (2010, p378), sebuah tipe relasi dimana tipe entitas yang sama berpartisipasi lebih dari sekali dan berbeda peran. Relasi bisa diberikan nama peran untuk menunjukkan tujuan bahwa setiap jenis entitas yang berpartisipasi bermain dalam sebuah relasi. 3. Atribut Menurut Connoly dan Begg (2010,p379), sebuah properti dari entitas atau tipe relasi. Atribut dapat diklasifikasi menjadi : i. Simple and Composite Attributes Menurut Connolly dan Begg (2010, p379), sebuah atribut yang terdiri dari komponen tunggal dengan keberadaan independen. Composite Attributes adalah sebuah atribut yang terdiri dari beberapa komponen, dengan keberadaan independen. ii. Single-Valued and Multi-Valued Attributes Menurut Connolly dan Begg (2010, p380), sebuah atribut yang memegang nilai tunggal pada setiap kemunculan suatu entitas. Multi-Valued Attributes 36 adalah sebuah atribut yang memegang beberapa nilai pada setiap kemunculan suatu entitas. iii. Derived Attributes Menurut Connolly dan Begg (2010, p380), sebuah atribut mewakili nilai yang diturunkan dari nilai atribut terkait atau sekumpulan atribut, belum tentu berada dalam tipe entitas yang sama. iv. Keys Menurut Connolly dan Begg (2010, p381), keys dibagi menjadi lima jenis : a. Candidate Keys Set atribut minimal yang secara unik mengidentifikasi setiap kemunculan dari suatu tipe entitas. b. Primary Keys Sebuah candidate key yang dipilih untuk mengidentifikasi secara unik, setiap kejadian pada sebuah tipe entitas. c. Composite Keys Sebuah candidate key yang terdiri dari dua atau lebih atribut. d. Alternate Keys Candidate key yang tidak terpilih menjadi primary key, atau biasa disebut secondary key. 37 e. Foreign Keys Himpunan atribut dalam suatu relasi yang cocok dengan candidate key dari beberapa relasi lainnya. 4. Strong and Weak Entity Types Menurut Connolly dan Begg (2010, p383), jeni entitas dapat dibedakan menjadi yang tipe kuat dan yang lemah. a. Strong Entity Type, adalah sebuah tipe entitas yang tidak tergantung dengan keberadaan-beberapa jenis entitas lainnya. b. Weak Entity Type, adalah sebuah tipe entitas yang bergantung dengan keberadaan-beberapa jenis entitas lain. 5. Structural Constraints Menurut Connolly dan Begg (2010, p385), hambatan yang harus mencerminkan pembatasan dalam hubungan seperti yang dirasakan di ‘dunia nyata’. Tipe utama dari constraint pada relasi disebut multiplicity. Multiplicity adalah jumlah dari kejadian yang mungkin dari suatu entitas yang berelasi dengan suatu kejadian tunggal suatu entitas dan terkait dengan suatu relasi tertentu. Derajat binary adalah yang paling sering digunakan dalam menentukan relasi. Relasi biner secara 38 umum merujuk pada one-to-one (1:1), one-to-many (1:*), atau many-tomany (*:*). 6. Multiplicity for Complex Relationships Jumlah (atau range) dari kejadian yang mungkin dari suatu entitas dalam suatu hubungan n ketika yang lain (n-1) nilainya tetap. a. Cardinality Menurut Connolly dan Begg (2010, p389), menjelaskan jumlah maksimum hubungan kejadian yang mungkin untuk suatu entitas yang berpartisipasi dalam jenis hubungan tertentu. b. Participation Menurut Connolly dan Begg (2010, p391), menentukan apakah semua atau hanya beberapa kejadian entitas berpartisipasi dalam suatu hubungan. Kendala partisipasi mewakili apakah semua kejadian entitas yang terlibat dalam suatu hubungan tertentu (merujuk sebagai partisipasi mandatory) atau hanya beberapa (merujuk sebagai partisipasi optional). Mandatory dibagi menjadi tiga jenis, yaitu : 1. Partisipasi Mandatory on both sides dari relasi 1:1. 2. Partisipasi Mandatory on one side dari relasi 1:1. 3. Partisipasi opsional on both sides dari relasi 1:1. 39 - Integrity Constraints Menurut Connolly dan Begg (2010, p577), integrity constraints berkontribusi mempertahankan sistem basis data yang aman dengan mencegah data tidak valid, dan hasil yang tidak benar. Menurut Connolly dan Begg (2010, p153), Integrity Constraints dibagi menjadi empat jenis yaitu : 1. Nulls, merepresentasi sebuah nilai untuk sebuah atribut yang tidak diketahui dengan jelas atau tidak berlaku untuk tuple ini. 2. Entity Integrity, hubungan dasar, tidak ada atribut dari primary key yang bias atau null. 3. Referential Integrity, jika foreign key ada dalam relasi, baik nilai foreign key harus sesuai dengan nilai candidate key dari beberapa tuple dalam home relation atau foreign key harus sepenuhnya null. 4. General Constraints, tambahan aturan yang telah ditetapkan oleh pengguna atau administrator basis data dari basis data yang mendefinisikan atau membatasi beberapa aspek dari perusahaan. - Database Security Menurut Connolly dan Begg (2010, p568), Database Security adalah mekanisme perlindungan basis data terhadap ancaman disengaja atau tidak disengaja. Keamanan basis data bertujuan untuk meminimalkan kerugian yang disebabkan oleh peristiwa diantisipasi 40 dengan metode yang hemat biaya tanpa terlalu membatasi pengguna. Menurut Connolly dan Begg (2010,p569), salah satu jenis keamanan untuk basis data yaitu menghindari threats. Threats yaitu setiap situasi atau kejadian, baik disengaja atau tidak disengaja, yang dapat merugikan sistem dan berakibat pada organisasi. - Backup and Recovery Menurut Connolly dan Begg (2010, p576), backup adalah proses periodik yang menyalin dari file basis data dan log (program) ke media penyimpanan offline. Dalam hal kegagalan yang membuat database tidak dapat digunakan, salinan cadangan dan rincian ditangkap dalam file log yang digunakan untuk mengembalikan database ke tahapan terbaru yang kemungkinan konsisten. Keuntungan dari journal adalah bahwa dalam hal kegagalan, database dapat dikembalikan ke keadaan terakhir yang konsisten dikenal dengan menggunakan salinan cadangan dari database dan informasi yang terdapat dalam file log. Jika journal tidak diaktifkan pada sistem gagal, satu-satunya alat pemulihan adalah untuk mengembalikan database menggunakan versi terbaru dari database. Namun, tanpa file log, setiap perubahan yang dilakukan setelah last backup ke database akan hilang. 41 2.1.4 Teori Normalisasi Menurut Connolly dan Begg (2005, p416), sebuah teknik untuk memproduksi satu set hubungan dengan sifat yang diinginkan, mengingat kebutuhan data dari suatu perusahaan. Karakteristik dari sebuah set yang cocok hubungannya termasuk : 1. Jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data perusahaan. 2. Atribut dengan relasi logikal tertutup (dijelaskan sebagai ketergantungan fungsional) ditemukan dalam relasi yang sama. 3. Redundansi minimal dengan atribut masing-masing diwakili hanya sekali dengan pengecualian penting dari atribut yang membentuk semua atau sebagian dari foreign keys, yang penting untuk bergabung dengan relasi terkait. - Proses Normalisasi Menurut Connolly dan Begg (2010, p428), tiga bentuk normalisasi pada awalnya yang diusulkan disebut First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF). Proses normalisasi : 1. Unnormalized form (UNF) Menurut Connolly dan Begg (2010, p430), tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group). Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang 42 memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut. 2. First Normal Form (1NF) Menurut Connolly dan Begg (2010, p430), sebuah relasi dimana titik temu antara baris dan kolom mengandung hanya satu nilai. Ada dua pendekatan umum untuk menghilangkan repeating group dari tabel yang tidak normal, yaitu : a. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang berulang. b. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang terpisah. Sebuah primary key diidentifikasi ke dalam relasi. 3. Second Normal Form (2NF) Menurut Connolly dan Begg (2010, p434), sebuah relasi yang berada pada 1NF dan setiap atribut yang bukan primary key berfungsi secara penuh bergantung pada primary key-nya. 4. Third Normal Form (3NF) Menurut Connolly dan Begg (2010, p436), sebuah relasi yang berada pada 1NF dan 2NF, dan tidak ada atribut yang bukan primary key yang secara langsung bergantung kepada primary key-nya. 5. Boyce-Codd Normal Form (BCNF) Menurut Connolly dan Begg (2010, p447), BCNF berdasarkan pada functional dependencies yang mempertimbangkan semua 43 candidate key dalam sebuah relasi. Sebuah relasi dalam BCNF jika dan hanya juka setiap determinant adalah sebuah candidate key. 6. Fourth Normal Form (4NF) Menurut Connolly dan Begg (2010, p457), sebuah relasi yang jika dan hanya jika setiap nontrivial multivalued dependency A ->> B, dimana A adalah candidate key dari relasi. 7. Fifth Normal Form (5NF) Menurut Connolly dan Begg (2010, p458), sebuah relasi jika dan hanya jika setiap join dependency (R1, R2, … Rn) di dalam relasi R, setiap proyeksi mencakup candidate key dari relasi asli. 2.1.5 Proses Modeling Menurut Whitten (2007,p317), process modeling ialah teknik untuk mengorganisasi dan mendokumentasikan struktur dan aliran data melalui proses-proses sistem dan/atau logika, peraturan, dan prosedur untuk diimplementasikan oleh proses-proses sistem. Salah satu bagian dari process modeling adalah data flow diagrams (DFD). Menurut Whitten (2007, p317), data flow diagram (DFD) adalah sebuah alat yang menggambarkan aliran data melalui sistem serta kinerja atau pemrosesan yang dilakukan oleh sistem tersebut. Persamaannya adalah bubble chart, transformation graph, dan process model.ada tiga simbol dan satu koneksi : 44 1. Persegi panjang bersudut tumpul mewakili proses atau pekerjaan yang harus dilakukan. Simbol ini digambarkan sebagai proses dari kerangka sistem informasi. 2. Kotak mewakili agen eksternal--batas sistem. Simbol ini digambarkan sebagai antarmuka dari kerangka sistem informasi. 3. Kotak open-ended mewakili data stores, atau kadang-kadang disebut file atau database. Simbol ini digambarkan sebagai DATA dari kerangka sistem informasi. 4. Panah merepresentasikan aliran data, atau input dan output ke dan dari proses tersebut. - Unified Modeling Language (UML) Menurut Whitten (2007,p371), UML adalah suatu kumpulan konvensi pemodelan untuk menentukan atau menjelaskan sebuah sistem perangkat lunak terkait dengan objek. UML tidak menentukan metode untuk sistem-sistem pengembangan, hanya sebuah catatan yang saat ini telah diterima luas sebagai standar untuk pemodelan objek. Konsep sistem untuk pemodelan Objek: 1. Objek, Atribut, Metode, dan Enkapsulasi 2. Kelas, Generalisasi, dan Spesialisasi 3. Hubungan Objek / Kelas 4. Pesan dan Pengiriman Pesan 5. Polymorphism 45 Menurut Whitten (2007,p382), UML memiliki tiga belas diagram untuk memodelkan suatu sistem. Diagram-diagram tersebut adalah: 1. Use Case Diagram Menggambarkan interaksi antar sistem dan user eksternal. Dengan kata lain, diagram ini menjelaskan secara grafis siapa yang akan menggunakan sistem dan dengan cara apa user berinteraksi dengan sistem. Narasi use-case juga digunakan untuk menjelaskan secara tekstual urutan tahap dari setiap interaksi. 2. Activity Diagram Menggambarkan aliran sekuensial aktivitas-aktivitas dari sebuah use-case atau proses bisnis. Diagram ini dapat digunakan untuk memodelkan logika dengan sistem. 3. Class Diagram Menggambarkan struktur objek sistem. Diagram ini menunjukkan kelas-kelas objek yang menyusun sistem dan juga hubungan antar kelas objek itu. 4. Object Diagram Seperti Class Diagram, Object Diagram adalah pengganti dari penggambaran kelas-kelas objek, diagram ini memodelkan instansi-instansi objek aktual dengan nilai-nilai atribut. Object Diagram memfasilitasi pengembang dengan sebuah potret dari objek sistem pada suatu waktu tertentu. 46 5. State Machine Diagram Memodelkan bagaimana peristiwa-peristiwa dapat mengubah keadaan dari sebuah objek mengakhiri masa hidupnya, menunjukkan keseluruhan dari macam-macam keadaan yang sebuah objek dapat memperkirakan transisi-transisi antara keadaan-keadaan itu. 6. Composite Structure Diagram Mengurai struktur internal dari sebuah kelas, komponen, atau use case. 7. Sequence Diagram Menggambarkan bagaimana objek-objek berinteraksi satu sama lain melalui pesan-pesan dalam eksekusi dari sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan-pesan dikirim dan diterima antar objek dan bagaimana urutannya. 8. Communication Diagram Disebut sebagai collaboration diagram dalam UML 1 .X, diagram menggambarkan interaksi dari objek-objek melalui kumpulan pesan. Jadi, diagram ini sama seperti sequence diagram. Tapi selama sequence diagram fokus kepada pemilihan waktu atau urutan, communication diagram fokus kepada organisasi struktural dari objek-objek dalam sebuah format jaringan. 47 9. Interaction Overview Diagram Menggabungkan fitur dari sequence dan activity diagrams untuk menunjukkan bagaimana objek-objek berinteraksi di dalam setiap aktivitas dari sebuah use case. 10. Timing Diagram Diagram interaksi yang fokus pada kendala pemilihan waktu dalam perubahan kondisi dari sebuah objek atau kelompok objek. Timing diagram berfungsi terutama saat merancang perangkat lunak terintegrasi untuk alat-alat elektronik. 11. Component Diagram Menjelaskan organisasi dari kode pemrograman dibagi menjadi beberapa komponen dan bagaimana komponen- komponen tersebut berinteraksi. 12. Deployment Diagram Menggambarkan konfigurasi komponen-komponen perangkat lunak di dalam arsitektur fisikal dari “nodes” perangkat keras sistem. 13. Package Diagram Menggambarkan bagaimana kelas-kelas atau konstruksi UML lain diorganisasikan ke dalam paket-paket (sesuai dengan paket-paket Java atau C++ dan .NET namespaces) dan ketergantungan antara paket-paket tersebut. 48 2.1.6 Interaksi Manusia dan Komputer(IMK) Menurut Shneiderman (2010,p88), delapan aturan emas perancangan antarmuka pengguna adalah: a. Berusaha untuk konsisten Aksi yang konsisten diperlukan dalam situasi dan kondisi yang mirip atau memiliki kesamaan. Konsistensi diperlukan agar pengguna dapat lebih mudah dan terbiasa dalam menggunakan aplikasi. b. Menyediakan kemudahan penggunaan yang universal Mengenali kebutuhan berbagai pengguna yang berbeda dan memfasilitasi perubahan dari isi. Perbedaan antara pemula dengan ahli, perbedaan usia pemakai, user yang abnormal, dan perbedaan teknologi dapat mempengaruhi kebutuhan dalam melakukan desain. c. Memberikan umpan balik yang informatif Untuk setiap aksi pengguna, harus ada umpan balik kepada pengguna. d. Berikan dialog untuk memberikan penutupan (keadaan akhir). Serangkaian aksi harus disusun menjadi kelompok, dengan awal, pertengahan dan akhir. Umpan balik yang informatif diberikan saat suatu rangkaian aksi telah selesai. e. Memberikan penanganan kesalahan yang sederhana. Sebisa mungkin, harus merancang sistem sehingga pengguna tidak dapat melakukan kesalahan yang serius. Jika pengguna melakukan kesalahan, antarmuka harus mendeteksi kesalahan, dan menawarkan penanganan kesalahan yang sederhana. 49 f. Memungkinkan pembalikan aksi yang mudah. Sebisa mungkin, aksi yang dilakukan harus dapat reversible untuk menghilangkan kegelisahan karena pengguna mengetahui bahwa jika terjadi kesalahan dapat dilakukan pembalikan aksi. g. Mendukung pusat kendali internal / internal locus of control Pengguna mahir/ahli menginginkan perasaan bahwa mereka mempunyai kontrol pada sistem dan sistemlah yang merespon sesuai dengan aksi mereka. Buatlah pengguna merasa mereka sebagai pihak yang memulai aksi bukan sebagai perespon. h. Mengurangi beban ingatan jangka pendek. Keterbatasan kapasitas manusia untuk memproses informasi dalam ingatan jangka pendek mengharuskan desainer menghindari antarmuka yang membuat pengguna harus mengingat informasi dari satu layar dan menggunakan informasi tersebut pada layar lainnya. 2.1.7 Jaringan Komputer dan Internet Menurut Shelly, Woods, Dorin (2008, p2), jaringan adalah dua atau lebih komputer yang terhubung untuk saling berbagi sumber daya dan informasi. Jaman sekarang, jalur data baik dari yang berkecepatan rendah, menengah, sampai tinggi, terhubung ke jaringan. Jalur data ini memungkinkan data untuk berpindah dari satu komputer ke komputer lainnya. Menurut Shelly, Woods, Dorin (2008, p2), Internet adalah kumpulan jaringan komputer di seluruh dunia yang menghubungkan 50 jutaan komputer yang digunakan untuk bisnis, pemerintahan, institusi pendidikan, organisasi, dan individual menggunakan modem, kabel telepon, kabel televisi, satelit, dan peralatan komunikasi lainnya. Gambar 2.4 Internet 2.1.8 World Wide Web Menurut Shelly, Woods, Dorin (2008, p3), World Wide Web adalah bagian dari internet yang mendukung multimedia dan terdiri dari sebuah koleksi dokumen yang terhubung, biasa disebut sebagai web saja. World Wide Web terdiri dari berbagai macam situs web yang memiliki fungsi-fungsi berbeda tergantung pada pembuat situs web tersebut. Situs web (website) adalah koleksi halaman web yang berhubungan, dibuat, dan dipelihara oleh individual, perusahaan, institusi pendidikan, atau organisasi lainnya. 51 Halaman web adalah dokumen-dokumen yang terhubung atau halaman-halaman yang berisi informasi yang ada di web. Karena web dapat mendukung teks, grafik, suara, dan video, halaman web dapat memiliki elemen multimedia. Web selalu berubah dan terdiri atas ratusan juta halaman web, hal ini disebabkan oleh kemudahan dalam membuat halaman web yang masih akan terus bertambah setiap saat. Setiap situs web memiliki home page, yang adalah dokumen pertama yang dilihat pengguna ketika mereka mengakses internet. Halaman-halaman web yang ada disimpan di web server adalah sebuah komputer yang menyimpan dan mengirim halaman-halaman yang diminta dan file lainnya. Setiap komputer yang memiliki software web server yang terinstall di dalamnya, yang juga terhubung ke internet, dapat menjadi web server. Setiap situs web yang ada, disimpan, dijalankan dari satu atau lebih web server. Sebuah situs web yang cukup besar bisa saja tersebar pada beberapa server di lokasi geografik yang berbeda. Menurut Shelly, Woods, Dorin (2008, p4), Publishing adalah proses menyalin halaman-halaman web dan file lainya ke web server. Ketika sebuah halaman yang sudah dipublish, semua orang yang memiliki akses ke internet dapat melihatnya, dimanapun web server dan pengguna itu berada. Saat halaman web di publish, halaman web tersebut dapat dibaca oleh hampir seluruh komputer, tidak masalah menggunakan Mac, Windows, ataupun Linux, pengguna dapat mengakses jutaan halaman web yang telah di publish. 52 Menurut Shelly, Woods, Dorin (2008, p6) , ada tiga jenis situs web, yaitu internet, intranet, dan ekstranet. 1. Internet Internet dikenal juga sebagai situs web, adalah sebuah situs yang secara umum tersedia untuk umum. Perorangan, grup, perusahaan, dan institusi pendidikan menggunakan situs internet atau situs web untuk berbagai macam kebutuhan, seperti untuk menjual produk dan layanan, menyediakan dukungan teknis dan produk untuk pelanggan, menyediakan informasi. 2. Intranet Intranet adalah jaringan pribadi yang menggunakan teknologi internet untuk membagikan informasi perusahaan diantara para karyawannya. Intranet terletak pada suatu jaringan organisasi atau perusahaan. Beberapa intranet juga menggunakan sistem password untuk memberikan keamanan dari akses yang tidak memiliki hak. 3. Ekstranet Ekstranet adalah jaringan pribadi yang menggunakan teknologi internet untuk memabgikan informasi bisnis dengan mitra perusahaan tertentu atau dengan pelanggan utama. Umumnya ekstranet dilindungi oleh password untuk membatasi akses kepada supplier, vendor, mitra, ataupun pelanggan. 53 Perusahaan dapat berbagi panduan manual produk, modul pelatihan, status inventori, dan informasi pesanan. Agar dapat melihat halaman web dalam situs web, sebuah komputer memerlukan web browser, atau biasa disebut browser .Web browser adalah sebuah program yang menterjemahkan dan menampilkan halaman web yang memungkinkan pergguna untuk melihat dan berinteraksi dengan halaman web. Contoh web browser yang terkenal sekarang adalah Chrome, Microsoft Internet Explorer, Mozilla Firefox, dan Apple Safari. Browser telah menyediakan berbagai macam fitur, termasuk kemampuan untuk menemukan halaman web, untuk maju dan mundur antara halaman web, untuk menandai halaman web, dan untuk konfigurasi keamanannya. Dalam menemukan sebuah halaman web menggunakan URL, kita harus mengetikan URL (Uniform Resource Locator) di bagian alamat atau lokasi pada browser. URL adalah alamat dari sebuah dokumen atau file lain yang dapat diakses melalui internet. Hyperlink (biasa disebut juga link) adalah elemen yang digunakan untuk menghubungkan suatu halaman web ke halaman web lain pada web server yang berlokasi sama ataupun berbeda di berbagai tempat di dunia.Hyperlinkjuga 54 dapat digunakan untuk berpindah ke bagian lain dari halaman web yang sama. Hyperlink ini adalah bagian penting dari world wide web. Dengan hyperlink ini, pengguna situs web tidak harus melihat informasi yang terdapat di halaman web secara linear, tetapi mereka dapat meng-klik hyperlink yang tersedia untuk melihat informasi dalam berbagai macam cara. Banyak elemen-elemen dari halaman web yang dapat dijadikan hyperlink, seperti teks, grafik, animasi. Gambar 2.5 URL dan Hyperlink 55 2.1.9 HTML Menurut Shelly, Woods, Dorin (2008, p8), halaman-halaman pada web dibuat menggunakan HTML yaitu bahasa penulisan yang digunakan untuk membuat dokumen dalam world wide web. HTML menggunakan seperangkat instruksi khusus yang dinamakan tags atau markup untuk mendefinisikan susunan dan struktur dari sebuah dokumen dan menentukan bagaimana halaman tersebut ditampilkan dalam browser. Sebuah halaman web merupakan sebuah file yang berisi teks dan tag HTML. Tag HTML digunakan untuk menandakan teks, menentukan bagaimana teks ditampilkan dalam suatu halaman pada web. HTML memiliki ratusan tag yang dapat digunakan untuk mengatur tampilan pada halaman web, juga untuk membuat hyperlink ke dokumen lain atau halaman web lain. Contoh beberapa tag: a. <strong> dan </strong> untuk menebalkan teks b. <p> dan </p> untuk menunjukkan paragraf baru c. <script> dan </script> untuk mendefinisikan script pada sisi klien d. <title> dan </title> untuk memberikan judul pada dokumen e. <form> dan </form> untuk membuat form untuk input pengguna f. Dan lain-lain HTML bersifat platform independent, dalam arti lain kita dapat membuat atau mengkode sebuah file HTML pada satu komputer dan menggunakan browser pada komputer jenis lain untuk menampilkan file 56 tersebut sebagai sebuah halaman web. Halaman web akan terlihat sama tanpa melihat tipe platform apa yang digunakan. - Elemen-elemen HTML: 1. Judul Ditandai dengan tag <title> …</title> Digunakan untuk memberikan sebuah judul pada bar judul pada halaman web. 2. Tubuh Ditandai dengan tag <body> …</body> Digunakan untuk menspesifikasikan apa saja yang akan ditampilkan dalam halaman web. Seluruh isi dari halaman web dimasukkan ke dalam tag awal <body> dan tag akhir </body>. 3. Paragraf Ditandai dengan tag <p> …</p> Digunakan untuk memberikan sedikit baris yang kosong sebelum teks dalam paragraf. 4. Line Break Ditandai dengan tag <br/> Digunakan untuk memberikan baris kosong pengganti baris (enter) HTML dapat digunakan bersamaan dengan teknologi web lain untuk menyediakan fungsi-fungsi tambahan pada sebuah halaman web. Sebagai contoh, DHTML (Dynamic HTML) mendeskripsikan sebuah 57 kombinasi dari tag-tag HTML, CSS (Cascading Style Sheet, dan bahasa scripting seperti JavaScript). DHTML memungkinkan membuat halaman web yang interaktif dan beranimasi. Cascading Style Sheet (CSS) adalah kode-kode yang memungkinkan untuk mengatur elemen dalam sebuah halaman web ataupun dalam keseluruhan situs web. Extensible Markup Language (XML) adalah bahasa mark-up yang menggunakan tag untuk mendeskripsikan struktur dan isi dari sebuah dokumen. Extensible Hypertext Markup Language (XHTML) adalah HTML yang sesuai dengan aturan-aturan XML, XHTML menkombinasikan fitur tampilan dari HTML dan standar pengkodean yang lebih ketat yang diperlukan XML. oleh karena itu, XHTML menjamin halaman web yang menggunakan XHTML dapat dibaca oleh berbagai tipe aplikasi. Menurut Shelly, Woods, Dorin (2008, p11), beberapa aturan pengkodean yang harus dipenuhi untuk memastikan halaman web mengikuti standar XHTML: a. File HTML harus mengikut-sertakan pernyataan DOCTYPE. Contoh: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <html></html> 58 b. Semua tag dan atribut harus dalam huruf kecil. Contoh:<table width=’100%’> c. Semua nilai atribut harus ditutup dengan tanda petik satu atau dua. Contoh: <table width=’100%’> d. Semua tag harus ditutup termasuk img, hr, dan br walaupun tidak memiliki tag penutup. Contoh: <br /> <hr /> <p>ini adalah paragraf</p> e. Semua elemen yang bertingkat harus ditutup dengan benar. Contoh: <p><strong> paragraf yang di-bold </strong></p> Menurut Shelly, Woods, Dorin (2008, p15), struktur dari situs webdapat dibagi menjadi 3 tipe, yaitu : a. Linear Struktur situs web linear menghubungkan halamanhalaman web dalam satu garis lurus, seperti terlihat pada gambar di bawah ini. Gambar 2.6 Struktur Linear 59 Struktur situs web linear tepat digunakan jika informasi pada halaman web dibaca dalam urutan tertentu. Contohnya jika informasi dari halaman web pertama diperlukan untuk memahami informasi pada halaman web kedua, maka struktur linear harus digunakan. Setiap halaman mempunyai link dari satu halaman web ke halaman selanjutnya, juga link ke halaman awal. b. Hierarki Struktur situs web hierarki menghubungkan halaman web seperti struktur pohon. Struktur hierarki efektif digunakan pada situs yang memiliki halaman index utama atau halaman daftar isi yang mempunyai link ke semua halaman web lainnya. Dengan struktur ini, halaman index utama berisi informasi yang umum, dan halaman lainnya akan berisi informasi yang detil. 60 Gambar 2.7 Struktur Hierarki c. Webbed Struktur ini tidak memiliki organisasi. Struktur ini baik digunakan pada situs web dengan informasi yang tidak perlu dibaca dalam urutan tertentu, dan memiliki banyak pilihan navigasi yang dapat dipilih oleh pengguna. World wide web menggunakan struktur webbed, sehingga pengguna dapat bergerak bebas diantara halaman web dalam urutan yang dipilih oleh pengguna sendiri. 61 Gambar 2.8 Struktur Webbed 2.2 TEORI KHUSUS 2.2.1 Oracle Oracle merupakan salah satu vendor terkemuka di dunia. Salah satu produk dari Oracle adalah DBMS. DBMS Oracle mernupakan produk Oracle yang dirancang untuk menampung data dan informasi dalam jumlah yang besar. Oleh karena itu untuk merancang suatu sistem yang besar kita dapat menggunakan DBMS Oracle. Menurut Bryla dan Loney(2008,p4-5), DBMS oracle terbagi menjadi 2 bagian, yaitu database dan instances. - Database Database adalah sebuah koleksi data pada disk di dalam satu atau lebih file pada server database, yang mengumpulkan dan 62 memelihara informasi terkait. database terdiri dari berbagai struktur fisik dan logis, tabel menjadi struktur yang paling penting di dalam database. Sebuah tabel terdiri dari baris dan kolom yang mengandung data terkait. - Instances Komponen utama dari sebuah enterprise server adalah satu atau lebih CPU, disk space dan memory. Sedangkan Database Oracle disimpan pada disk server, Oracle instance berada di dalam memori server. Oracle instance terdiri dari blok besar memori yang dialokasikan di daerah yang disebut The System Global Area(SGA), bersama dengan sejumlah background processes yang berinteraksi antara SGA dan file database pada disk. - Oracle Logical Database Structures Menurut Bryla dan Loney (2008,p8-p23), Oracle logical Database Structures adalah sebagai berikut : - Tables Tabel adalah unit dasar penyimpanan di dalam Oracle database. Tanpa tabel, database tidak memiliki nilai untuk perusahaan. Data dalam tabel disimpan di dalam baris dan kolom, serupa dengan bagaimana data disimpan di dalam spreadsheet. 63 - Relational Tables Relational table adalah tipe paling umum di dalam database. Relational table diorganisasikan secara bertumpuk; dengan kata lain, baris pada tabel disimpan di dalam perintah yang tidak tetap. - Constraints Oracle constraint adalah sebuah aturan dimana kamu bisa mendefinisikan satu atau lebih kolom pada tabel untuk membantu memaksakan peraturan bisnis. - Null Rule NOT NULL constraint mencegah NULL values untuk dapat diisikan ke dalam kolom Order_Date atau Customer_Number. - Unique Column Values UNIQUE integrity constraint memastikan bahwa sebuah kolom atau sekelompok kolom(di dalam composite constraint) yang bersifat unik pada seluruh tabel. - Primary Key Values Primary Key integrity constraint adalah tipe constraint yang paling umum yang ditemukan di dalam tabel database. Pada umumnya, hanya ada satu primary key yang ada pada tabel. Kolom yang terdiri dari primary key tidak dapat memiliki NULL values. 64 - Referential Integrity Values Referential Integrity atau FOREIGN KEY constraint lebih rumit dari pada yang lainnya yang sudah kita bahas sejauh ini, karena tergantung pada tabel lainnya untuk membatasi apa saja values yang dapat dimasukan ke dalam kolom dengan referential integrity constraint. - Views Views memungkinkan user untuk melihat presentasi yang dapat dibuat sendiri dalam sebuah tabel atau beberapa tabel yang digabung. - Users and Schemas akses ke dalam database diberikan ke database account disebut user. Jika user membuat dan memiliki object di dalam database, objek tersebut merupakan bagian dari schema yang memiliki kesamaan nama yang sama sebagai database user. Schema dapat memiliki segala tipe objek di dalam database : tables, indexesm sequences, views, dan lainnya. Pemilik schema atau DBA dapat memberikan akses ke objek ini ke database user yang lainnya. - Sequences Oracle sequence menempatkan penomoran yang sekuensial, menjamin agar unik kecuali sequnece tersebut dibuat ulang atau diatur ulang. 65 - PL/SQL Oracle PL/SQL adalah bahasa prosedural kepanjangan dari SQL. PL/SQL sangat berguna ketika DML standar dan perintah select tidak dapat memproduksi hasil yang diinginkan dalam sebuah gaya mudah karena kurangnya elemen prosedural ditemukan dalam sebuah bahasa tradisional generasi ketiga seperti C++ dan Ada. Seperti Oracle9i, SQL memproses mesin yang dipakai bersama antara SQL dan PL/SQL, yang berarti bahwa semua fitur baru ditambahkan ke SQL tersedia secara otomatis di PL/SQL. - Procedures/Functions PL/SQL procedures dan functions adalah contoh dari PL/SQL named blocks. Sebuah blok PL/SQL adalah sebuah sekuens dari perintah PL/SQL yang diperlakukan sebagai sebuah unit untuk pengeksekusian, yang terdiri dari tiga bagian: bagian variable declaration, bagian executable, dan bagian exception. Perbedaan antara sebuah procedure dan function adalah bahwa sebuah function akan mengembalikan sebuah nilai untuk memanggil program seperti perintah select pada SQL. Sebuah procedure, sebaliknya, tidak mengembalikan nilai, hanya sebuah kode status. Bagaimanapun, procedures dapat memiliki satu atau lebih variables yang dapat diatur dan dikembalikan sebagai bagian dari daftar argumen kepada procedure. 66 Procedures and functions memiliki banyak keuntungan dalam sebuah lingkungan database. Procedures dikompile dan disimpan sekali dalam data dictionary; ketika terdapat lebih dari satu user butuh untuk memanggil procedure, procedure tersebut sudah dikompile, dan hanya satu salinan dari stored procedure dalam shared pool. Sebagai tambahan, lalu lintas jaringan dikurangi, meskipun fitur prosedural dari PL/SQL tidak dipakai. Satu pemanggilan PL/SQL menggunakan lebih sedikit kapasitas jaringan daripada beberapa perintah SQL select dan insert dikirim secara terpisah melalui jaringan, karena tidak melakukan reparsing yang berulang-ulang setiap kali sebuah perintah dikirim melalui jaringan. - Packages PL/SQL packages dikelompokkan bersama dengan functions dan procedures yang berhubungan, bersama dengan variables umum dan cursors. Packages terdiri dari dua bagian : sebuah spesifikasi package dan sebuah tubuh package. Dalam sebuah spesifikasi package, methods dan attributes dari package ditampilkan; implementasi dari methods yang bersamaan dengan private methods dan attribute tertentu, disembunyikan dalam sebuah tubuh package. Menggunakan sebuah package dalam sebuah procedure atau function memungkinkan procedure tersebut dirubah tanpa memeriksa objek-objek lain yang mengacu kepada elemen-elemen dari spesifikasi package, untuk 67 menghindari re-kompilasi dari objek-objek yang mereferensikan package. - Triggers Triggers merupakan sebuah tipe khusus dari kode blok PL/SQL atau Java yang dieksekusi, atau dipancing, ketika sebuah event tertentu terjadi. Tipe-tipe dari events tersebut dapat berupa perintah DML pada sebuah tabel atau view, perintah DDL, dan bahkan database events seperti startup atau shutdown. Trigger tertentu dapat diatur agar tereksekusi pada event tertentu untuk user tertentu sebagai bagian dari strategi pemeriksaan. Triggers menjadi sangat berguna dalam sebuah lingkungan terdistribusi untuk menstimulasi hubungan foreign key antar tabel yang tidak berada dalam database yang sama. Mereka juga sangat berguna dalam penerapan peraturan integritas yang kompleks yang tidak dapat didefinisikan menggunakan tipe constraint dalam Oracle. 2.2.2 JavaScript Menurut Abdul Kadir (2003,p268), asal mula JavaScript adalah LiveScript yang dikembangkan pertama kali tahun 1995 oleh Netscape Communications. Pada akhir tahun 1995, Netscape Communications dan Sun Microsystems berkolaborasi dan mengubah nama dari LiveScript menjadi JavaScript. Browser Internet Explorer mulai mendukung 68 JavaScript mulai versi 3.0 ke atas dan Netscape Navigator mulai versi 2.0 ke atas. JavaScript adalah bahasa skrip yang ditempelkan pada kode HTML dan diproses pada sisi klien. Dengan adanya JavaScript maka dimungkinkan sebuah halaman web yang interaktif dan beranimasi. JavaScript bersifat case sensitive yang artinya program mengenali huruf besar dan kecil pada setiap nama variabel dan fungsinya. Contoh sebuah variabel Var dan var akan memiliki nilai dan alamatnya masing-masing dan dianggap sebagai 2 variabel yang berbeda satu sama lain. JavaScript dan Java adalah dua buah bahasa yang berbeda satu sama lain dimana perbedaan paling mendasarnya adalah kode JavaScript diinterpretasikan oleh komputer klien (kode asli program dapat dilihat langsung di sisi klien, bukan dalam bahasa mesin hasil kompilasinya) sedangkan Kode Java dikompilasi oleh pemrogram dan hasil kompilasinyalah yang dijalankan oleh komputer klien. Semua kode JavaScript harus dimasukan dalam sebuah tag khusus yang diawali dengan tag<script> dan diakhiri dengan tag </script>. Contoh cara memakai JavaScript: <script language = “JavaScript”> document.write(“Hello to JavaScript!”); </script> 69 2.2.3 ASP.net dan C# Menurut Liberty (2006,p1), microsoft pertama kali mengumumkan ASP.NET 1.0 dan .NET Framework pada July,2000. Pada umumnya, .NET adalah sebuah kerangka kerja (framework) pengembangan aplikasi yang menyediakan antar muka program aplikasi yang baru dan Application Programming Interface dari sistem operasi Windows klasik, terutama Windows 2000, juga menambahkan beberapa teknologi yang berbeda yang dimunculkan Microsoft pada akhir dekade 1990an. Pada saat ini .NET terdiri dari: a. Kompiler untuk 5 bahasa yang berbeda (C#, Visual Basic, Managed C++, J#, dan JScript) b. Sebuah pustaka class (class libraries) yang saling berhubungan, dikenal sebagai Framework Class Library (FCL), yang menyertakan dukungan untuk aplikasi windows dan web, akses data, dan lain-lain c. Common Language Runtime (CLR), sebuah mesin berorientasi object dari Framework ini yang menerjemahkan intermediate code yang dihasilkan kompiler bahasa ke dalam native code yang diperlukan untuk mengeksekusi aplikasi Menurut Dietel (2008,p9), C# adalah sebuah bahasa pemrograman yang berorientasi objek dan didesain secara spesifik untuk platform .NET sebagai bahasa yang memungkinkan programmer untuk mudah bermigrasi ke .NET. C# memiliki akar dari C, C++, dan java, mengadaptasikan fitur-fitur terbaik dan menambahkan fitur-fitur 70 tersendiri. C# memiliki akses ke class library yang kuat dari komponenkomponen yang sudah dibangun sebelumnya, memungkinakn programmer untuk mengembangkan aplikasi dengan cepat, C# dan Visual Basic menggunakan .NET Framework Class Library yang sama. Bahasa pemrograman C# yang asli distandarisasi oleh Ecma International pada Desember 2002. Sejak saat itu, Microsoft telah menawarkan beberapa ekstensi bahasa yang telah diadopsi sebagai bagian dari standar Ecma C# yang telag direvisi. 2.2.4 Evaluasi Proyek - Pengertian Proyek Menurut Sanusi & Bachrawi(2000,p5), yang dimaksud dengan proyek ialah suatu keseluruhan kegiatan yang menggunakan sumbersumber agar memperoleh manfaat(Benefit), atau suatu kegiatan dengan sejumlah pengeluaran biaya dengan harapan dapat memperoleh hasil pada waktu yang akan datang, dan yang dapat direncanakan, dibiayai dan dilaksanakan sebagai satu unit. Adapun kegiatan suatu proyek selalu bertujuan untuk mencapai suatu tujuan(objective) suatu tujuan(starting point) dan suatu titik akhir(ending point), baik biaya maupun hasilnya harus dapat diukur. Adapun kegiatan-kegiatan yang dimaksud dapat berbentuk investasi baru seperti untuk pembangunan pabrik, pembuatan jalan raya, rel(jalan) kereta api dan segala fasilitasnya, irigasi, bendungan, waduk ,perkebunan, pembukaan hutan, pembangunan gedung-gedung 71 untuk pendidikan, rumah sakit, survai atau penelitian dan lain-lain. Suatu produk dapat diselenggarakan oleh pemerintah/negara, badanbadan usaha swasta atau organisasi-organisasi sosial maupun perseorangan. - Evaluasi Proyek Menurut Santosa(2003,p125-126), tujuan utama dari evaluasi adalah untuk mengungkapkan dimana telah terjadi permasalahan dan untuk membuka bagi semua potensi masalah yang ada. Evaluasi juga akan menghasilkan pemahaman bagi semua pihak mengenai status proyek. Dengan demikian bisa dipahami sebelum diadakan evaluasi perlu adanya tindakan pelaporan, karena dari data, bahan-bahan dan informasi yang dilaporkan akan bisa dievaluasi. Evaluasi juga berguna untuk melakukan pengelolaan yang lebih baik terhadap proyek di masa yang akan datang. Ada dua macam evaluasi menurut dilaksanakannya evaluasi tersebut. - Evaluasi Formatif Evaluasi ini dilaksanakan di setiap tahap dalam siklus proyek. Tujuannya memberi tanda perlu tidaknya dilakukan tindakan koreksi. Banyaknya atau frekuensi evaluasi tentunya sangat bergantung pada kondisi yang dihadapi, tidak ada pedoman khusus. Yang pokok, dari kegiatan ini bisa diperoleh informasi perlu tidaknya melakukan tindakan perbaikan. 72 - Evaluasi Ringkas(Summary Evaluation) Evaluasi ini dilakukan setelah proyek selesai. Ini sangat penting khususnya sebagai masukan untuk pengelolaan proyek yang serupa di masa yang akan datang. Kalau pun proyeknya tidak mirip orang-orang yang terlibat bisa mendapatkan informasi mengenai bagian-bagian, kapan dari proyek yang sering harus mendapatkan perhatian khusus. Salah satu alat evaluasi adalah audit proyek. Audit proyek adalah pemeriksaan menyeluruh terhadap manajemen proyek : metodologi, prosedur, anggaran, pengeluaran dan tingkat penyelesaiannya. 2.2.5 Incremental Process Models Terdapat berbagai situasi di mana kebutuhan software awal telah didefinisikan dengan baik, tetapi proses pengembangan secara keseluruhan terhalangi oleh proses yang murni linear. Ditambah lagi, muncul kebutuhan akan ketersediaan fungsi tertentu dari software oleh para pengguna secara cepat, dan dilanjutkan dengan penyempurnaan dan perluasan fungsi-fungsi untuk peluncuran software nantinya. Dalam kasus tersebut, dipilihlah sebuah proses model yang didesain untuk menghasilkan software secara incremental. Menurut Pressman (2005, p.80), model incremental menggabungkan elemen-elemen dari model waterfall ke dalam gaya iterative. Mengacu pada Gambar .., model incremental menerapkan 73 urutan yang linear seiring dengan berjalannya waktu pengembangan. Setiap urutan linear menghasilkan tambahan pada software yang siap didistribusikan. Sebagai contoh, dalam proses pembangunan sistem prakualifikasi, pembangunan dilakukan per modul sampai melewati tahap pengujian dan implementasi, lalu dilanjutkan ke modul-modul berikutnya. Dengan paradigma ini, memungkinkan pengguna sudah dapat menggunakan modul-modul awal sebelum keseluruhan sistem selesai dikerjakan. Software Functionality and Features Communication Planning Modeling (analysis, design) Construction (code, test) Deployment (delivery, feedback) Increment # n Increment # 2 delivery of nth increment Increment # 1 delivery of 2nd increment delivery of 1st increment Project Calendar Time Gambar 2.9 Model Incremental (Sumber: Pressman,2005,p81)