BAB 2 LANDASAN TEORI 2.1 Teori-Teori Umum Pada subbab ini akan dijelaskan mengenai berbagai teori umum tentang pengertian Database, Database Lifecycle, Entity Relationship Modeling, Normalisasi, Metodologi Database Desain, serta penjelasan mengenai Tools dalam Database yang akan dijelaskan di bawah ini. 2.1.1 Pengertian Database Database adalah suatu koleksi data logical yang saling berhubungan dan mendeskripsikan data tersebut, serta di desain untuk berelasi pada suatu informasi yang dibutuhkan dalam suatu organisasi (Connolly, 2010: 65). 2.1.2 Pengertian Database Lifecycle Database Lifecycle (Connoly, 2010: 314) merupakan tahapan dalam merancang suatu sistem basis data. Siklus hidup basis data digambarkan seperti berikut ini : 9 Gambar 2.1 Database Lifecycle 1. Database Planing Suatu kegiatan pengelolaan yang dilakukan agar tiap tahap dalam daur pembuatan dapat dijalankan secara efisien dan efektif. 2. System Definition Menjelaskan tentang cakupan dan batasan dari aplikasi database, dan menggambarkan kebutuhan user akan aplikasi database secara umum. 10 3. Ruquirements Collection and Analysis Proses mengumpulkan dan menganalisa informasi tentang bagian dari organisasi yang nantinya akan didukung oleh aplikasi database, dan kemudian menggunakan informasi ini untuk mengetahui kebutuhan user terhadap sistem yang baru. 4. Database Design Perancangan dibagi menjadi tiga tahap yaitu konseptual, logikal, dan fisikal. 5. DBMS Selection Memilih DBMS yang tepat untuk mendukung aplikasi database. 6. Application Design Proses mendesain user interface dan membuat program aplikasi yang digunakan untuk mengakses database. 7. Prototyping Membuat suatu model dari aplikasi database, yang digunakan agar perancang dan pemakai bisa mengevaluasi bagaimana sistem nantinya akan berjalan dan juga melihat tampilannya. 8. Implementation Merupakan wujud nyata dari database dan desain aplikasi. Implementasi database dapat dilakukan dengan menggunakan Data Definition Language dari DBMS yang sudah dipilih. Program aplikasi dapat diimplementasikan dengan menggunakan bahasa pemograman generasi ketiga atau keempat. 11 9. Data Conversion and Loading Mentransfer semua data yang ada ke dalam database yang baru dan konversi semua aplikasi agar dapat berjalan pada database yang baru. 10. Testing Proses menjalankan program aplikasi dengan tujuan agar menemukan kesalahan dalam program. 11. Operational Maintenance Proses merawat dan mengamati sistem setelah sepenuhnya dijalankan. Ketika diperlukan permintaan baru akan dimasukan ke dalam database melalui berbagai tahap dalam daur pembuatan atau lifecycle. 2.1.3 Entity Relationship Modeling Entity Relationship mengidentifikasikan hubungan Modeling antara adalah entitas. suatu Tujuannya teknik adalah untuk untuk menghilangkan redudansi data (Connolly, 2010: 371). 2.1.4 Normalisasi Normalisasi adalah suatu teknik dalam mendesain suatu database yang dimulai dengan memeriksa hubungan (disebut functional dependency) antar atribut (Connolly, 2010: 415). Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan yang cocok hubungan yang mendukung persyaratan data perusahaan karakteristik sekumpulan yang cocok hubungan meliputi berikut ini.: 12 • Jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data perusahaan. • Atribut dengan hubungan logis dekat (digambarkan sebagai ketergantungan fungsional) ditemukan dalam hubungan yang sama. • Redundansi minimal, dengan atribut masing-masing diwakili hanya sekali, dengan expection penting dari atribut bahwa dari seluruh atau sebagian dari foreign key, yang penting untuk bergabung hubungan yang terkait. Jenis-jenis normalisasi: 1. First Normal Form(1NF) UNF (bentuk unnormalized) tabel yang berisi satu atau lebih kelompok berulang (Connolly, 2010: 430). First normal form(1NF) suatu hubungan di mana persimpangan setiap baris dan kolom berisi satu dan hanya satu nilai (Connolly, 2010: 430). 2. Second Normal Form (2NF) Hubungan yang dalam bentuk normal pertama dan setiap atribut nonprimary-key sepenuhnya fungsional tergantung pada primary key (Connolly, 2010: 434). 13 3. Third Normal Form (3NF) Bentuk normal ketiga relasi adalah dalam bentuk normal pertama dan kedua dan di mana tidak ada atribut kunci non primer transitif tergantung pada primary key(Connolly, 2010: 436). 2.1.5 Metodologi Database Desain Metodologi Database Desain terdiri dari Conceptual, Logical dan Physical (Connolly, 2010: 465). Conceptual Database Design adalah proses dari membangun sebuah model data yang digunakan di perusahaan dan bebas dari detail implementasi seperti Database Managemenr System (DBMS), program aplikasi, bahasa pemrograman, platform hardware, masalah performa, dan pertimbangan fisikal lainnya (Connolly, 2010: 467). Tahap-tahap yang dilakukan dalam conceptual database design yaitu: 1. Mengidentifikasi tipe entitas. 2. Mengidentifikasi tipe relationship. 3. Mengidentifikasi dan mengasosiasikan atribut sesuai dengan tipe entitas dan relationship. 4. Menentukan domain atribut. 5. Menentukan atribut candidate key dan primary key. 6. Mempertimbangkan penggunaan konsep enhance modeling (opsional). 7. Memeriksa model terhadap redudansi. 8. Memvalidasi model konseptual local dengan user transaction. 14 9. Me-review model data konseptual local terhadap kebutuhan user. Logical Database Design adalah proses dari membangun sebuah model data yang digunakan di perusahaan berdasarkan specific data model yang tidak bergantung kepada DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, masalah performa, dan pertimbangan fisikal lainnya (Connolly, 2004: p467). Tahap-tahap yang dilakukan dalam logical database design yaitu: 1. Hilangkan fitur-fitur yang tidak Kompatibel 2. Bentuk Table atau Relasi untuk Model Data Logikal 3. Memvalidasi Relasi Menggunakan Normalisasi 4. Memvalidasi Relasi dengan transaksi user 5. Tentukan Integrity Constraints 6. Pembentukan dan Memvalidasi Model Data Logikal Global Physical Database Design adalah proses menghasilkan deskripsi implementasi database pada penyimpanan sekunder (Connolly, 2010: 467). Tahap ini menggambarkan relasi dasar organisasi file dan indeks-indeks untuk mencapai akses yang efisien ke data dan beberapa kendala integritas serta keamanan data. Tahap-tahap yang dilakukan dalam physical database design yaitu: 1. Perancangan Base Relation 2. Merancang Constraint 3. Analisis Transaksi 4. Pembuatan index untuk setiap entitas 15 5. Estimasi Disk Space 6. Merancang User View 7. Merancang Mekanisme Keamanan 2.1.6 Tools dalam Database Tools yang di gunakan dalam sebuah database adalah menggunakan beberapa alat (tools) seperti DFD (Data Flow Diagram) dan ERD (Entity Relationship Diagram). 2.1.6.1 DFD (Data Flow Diagrams) Data flow diagrams adalah alat diagram serbaguna. Dengan hanya empat simbol, diagram aliran data dapat mewakili physical dan logical sistem informasi. Empat simbol yang digunakan dalam DFD ini merupakan data flow, data store, process dan source/sink (atau entitas eksternal) (Valacich, 2001: 147). 2.1.6.1.1 Komponen Data Flow Diagram a. Process Process adalah pekerjaan atau tindakan dilakukan pada data sehingga mereka berubah, disimpan, atau di distribusikan (Valacich, 2001: 148). 16 b. Data flow Data flow adalah data yang bergerak dan berpindah sebagai satu unit dari satu tempat di dalam sebuah sistem yang lain (Valacich, 2001: 147). c. Data Store Data store adalah data pada saat istirahat. Data store dapat mewakili salah satu dari banyak lokasi physical yang berbeda untuk data termasuk folder file, satu atau lebih file berbasis komputer (Valacich, 2001: 147). d. Source / sink Source / sink adalah asal dan atau tujuan dari data (Valacich, 2001: 147). 17 2.1.6.2 ERD (Entity Relationship Diagram) Entity Relationship Diagram (ERD) adalah representasi rinci, logical, dan grafis dari data untuk suatu organisasi atau area bisnis. Entity Relationship Diagram (ERD) adalah model entitas dalam lingkungan bisnis, hubungan atau asosiasi antar entitas, dan atribut atau sifat-sifat dari kedua entitas dan hubungan mereka (Valacich, 2001: 191). 2.2 Teori-Teori Khusus Dalam subbab ini akan menerangkan berbagai teori-teori khusus yang berhubungan dengan topik yang di bahas mengenai pengertian Leadership, pengertian PHP, pengertian MySQL, pengertian Code Igniter Framework, dan pengertian jQuery yang akan dijelaskan dibawah ini. 2.2.1 Pengertian Leadership Leadership atau kepemimpinan dari berbagai pemahaman para ahli kepemimpinan, secara umum adalah kemampuan mempengaruhi orang lain untuk melakukan sesuatu dan mencapai tujuan. Fungsi utama seorang pemimpin adalah menciptakan sebanyak mungkin pemimpin, bukan pengikut (Afriansyah, 2012: 5). Pendapat di era modern mengatakan bahwa kepemimpinan adalah suatu pengetahuan dan keahlian (knowledge and skill), yang dalam implikasinya setiap 18 orang dapat mempelajari ilmu kepemimpinan, asal mereka mau belajar dan berlatih sehingga menjadi ahli dalam memimpin (Afriansyah, 2012: 8). 2.2.2 Pengertian PHP PHP adalah bahasa script di sisi server yang didesain secara khusus untuk jaringan. Dalam halaman HTML, dapat ditambahkan kode PHP yang akan di eksekusi tiap kali halaman di kunjungi. Kode PHP akan diterjemahkan di jaringan server dan men-generate HTML atau output yang dilihat oleh pengunjung (Welling, 2001: 2). PHP adalah produk open source. Setiap orang dapat menggunakannya, mengubahnya, dan mendistribusikan ulang semua tanpa perubahan. Awalnya PHP merupakan kependekan dari Personal Home Page. PHP dibuat pertama kali oleh Rasmus Lerdorf pada 1994, yang pada awalnya dibuat untuk menghitung jumlah pengunjung pada homepage nya (Septian, 2011: 4). 2.2.3 Pengertian MySQL Pengertian MySQL menurut Welling (2001: 3), MySQL adalah relational database management sistem yang cepat dan kuat. Sebuah basis data dapat membuat pengguna untuk menyimpan, mencari, mengurutkan dan mendapatkan data dengan mudah. Server MySQL mengendalikan akses ke dalam data untuk memastikan bahwa para pengguna dapat bekerja dalam waktu yang bersamaan, untuk mendukung akses secara cepat dan memastikan hanya pengguna yang telah terisolasilah yang mendapatkan hak akses. 19 MySQL menggunakan bahasa SQL(Structured Query Language), yaitu bahasa query basis data yang baku bagi seluruh dunia. MySQL kembali di duplikasikan sejak tahun 1996, tetapi sejarah pengembangannya telah dilakukan dari tahun 1979. MySQL tersedia dengan lisensi open source, tetapi lisensi komersial pun tersedia apabila diperlukan (Welling, 2001: 3). Kelebihan MySQL menurut Welling (2001: 5), terdapat beberapa kelebihan dari MySQL, yaitu : a. Performance MySQL begitu cepat dalam pemrosesan data. b. Low Cost MySQL tersedia dan dapat digunakan tanpa dikenakan biaya, dibawah lisensi open source. Namun, tersedia dengan biaya yang sangat murah, dibawah lisensi komersial, jika dibutuhkan untuk aplikasi pengguna-nya. c. Ease of Use Kebanyakan dari berbagai sistem basis data modern menggunakan SQL. Jika pengguna memilik RDBMS yang lain, pengguna tidak akan menghadapi masalah yang berarti ketika beradaptasi dengan SQL. Bahkan MySQL lebih mudah dalam persiapan dibandingkan dengan produk lain yang sekelas. 20 d. Probability MySQL dapat digunakan dan diimplementasikan pada berbagai sistem UNIX dan pada Microsoft Windows. e. Source Code Sama seperti pemograman PHP, user dapat mengubah dan menambahkan source code bagi MySQL. 2.2.4 Pengertian Code Igniter Framework 2.2.4.1 Framework Framework sebagaimana arti dalam bahasa indonesianya yaitu kerangka kerja dapat diartikan sebagai kumpulan dari library (class) yang dapat diturunkan, atau dapat langsung dipakai fungsinya oleh modulmodul atau fungsi yang akan kita kembangkan (Septian, 2011: 7). 2.2.4.2 Framework PHP PHP Framework adalah sebuah lingkungan pengembangan aplikasi berbasis php yang berisi sejumlah class yang telah dibuat agar digunakan kembali untuk membuat aplikasi. Berbagai jenis class ini tergantung tujuan dari PHP framework tersebut, dan php framework yang satu dengan framework yang lain kemungkinan berbeda. Sebagian besar php framework yang tersedia saat ini berbasis MVC (model view controller). Ini adalah model php framework yang modern (Septian, 2011: 8). 21 2.2.4.3 Code Igniter Code Igniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis. Dengan menggunakan PHP Code Igniter akan memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuat dari awal (Septian, 2011: 9). 2.2.4.4 MVC (Model View Controller) MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika dari presentasi. Ini meminimalkan script dari halaman-halaman web sejak script presentasi (HTML, CSS, JavaScript, dsb) dipisahkan dari PHP scripting, istilah umum yang familiar adalah menghindari terjadinya spaghetti code (Septian, 2011: 9). a. Model Model merepresentasikan struktur data yang dibangun. Umumnya kelas model berisi fungsi-fungsi yang membantu developer untuk mengelola, memasukkan, dan mengupdate informasi dalam database (Septian, 2011: 9). b. View View adalah informasi yang disajikan untuk user, berupa tampilan atau user interface. View umumnya adalah tampilan sebuah halaman web itu sendiri, tetapi dalam Code Igniter, view dapat juga menjadi bagian-bagian atau penggalanpenggalan halaman seperti header atau footer. View dapat juga 22 sebagai halaman RSS, atau tipe-tipe halaman lainnya (Septian, 2011: 9). c. Controller Controller bertugas sebagai penghubung antara Model, View, dan beberapa resource lainnya yang dibutuhkan untuk memproses HTTP request untuk meng-generate sebuah halaman web (Septian, 2011: 9). 2.2.5 Pengertian jQuery jQuery merupakan library Java Script yang banyak digunakan saat ini. jQuery di buat oleh John Resig pada tahun 2006. Banyak website yang memanfaatkan library ini untuk menyederhanakan fungsi-fungsi yang ada pada JavaScript atau Ajax. Sesuai dengan slogannya jQuery sendiri “Write less, do more”, menulis sedikit namun dapat mengerjakan banyak hal, sehingga anda dapat menghemat coding program anda (Utomo, 2012: 62). 2.2.6 Pengertian HTML ( Hypertext markup Language) Menurut Connolly, Dan Begg (2010: 1031) HTML adalah Format Dokumen bahasa yang digunakan untuk merancang halaman web. HTML adalah sistem untuk membuat naik atau menandai, sebuah dokumen sehingga dapat dipublikasikan di web. HTML mendefinisikan apa yang umumnya ditularkan antara node dalam network. HTML telah dikembangkan dengan maksud agar berbagai macam jenis perangkat harus dapat memanfaatkan informasi di web: PC dengan tampilan grafis dari kedalaman resolusi dan warna yang bervariasi, 23 telepon seluler, perangkat genggam, perangkat untuk pidato untuk input dan output, dan sebagainya. 24