BAB 2 LANDASAN TEORI 2.1. Definisi Database Menurut Connoly dan Begg (2005, p15), database merupakan kumpulan data dari logical yang berhubungan dan deskripsi dari data tersebut yang dirancang untuk kebutuhan informasi suatu perusahaan. Database di-manage oleh suatu sistem yang disebut Database Management System (DBMS). Connoly dan Begg (2005, p16) mendefinisikan DBMS sebagai suatu sistem software, yang membuat penggunanya dapat mendefinisikan, membuat, me-maintain, dan mengontrol akses ke dalam database. 2.2. Data Definition Language (DDL) Menurut Bambang Sutejo, S.Si, OCP, DBA (2010, p17), Data Definition Language (DDL) yaitu perintah untuk mendefinisikan struktur objek database seperti membuat tabel dan mengubah struktur tabel. Objek-objek database yang dimaksud ialah database, table, view, index, procedure (Stored Procedure), function, dan trigger. Sedangkan operasi-operasi yang disediakan oleh Data definition language (DDL) antara lain: create table, alter table, drop table, create index, dan drop index. 2.3. Data Manipulation Language (DML) Menurut Bambang Sutejo, S.Si, OCP, DBA (2010, p16), Data Manipulation Language (DML) yaitu perintah untuk melakukan manipulasi data seperti menambah, 8 9 menghapus dan merubah data. Manipulasi data pada database dapat berupa penyisipan atau penambahan, penghapusan, pengubahan, dan penelusuran data pada file atau table dalam suatu basis data. DML merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 (dua) jenis DML sebagai berikut: a Prosedural, yang mewajibkan pemakai menentukan data apa yang diinginkan serta bagaimana cara mendapatkannya. b Non-prosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. 2.4. Database Management Systems (DBMS) Menurut Connoly dan Begg (2005, p16), DBMS merupakan sebuah software yang memungkinkan user untuk menggambarkan, membuat, menjaga, dan mengendalikan akses database. Keuntungan-keuntungan menggunakan DBMS,yaitu : a. Mengurangi duplikasi data (pencatatan berulang) atau disebut juga redudansi data, karena data dikelola secara terpadu dalam suatu sistem berkas. b. Menjamin konsistensi data, karena perubahan data satu akan berdampak pada perubahan data lainnya yang saling berhubungan. c. Menjamin integritas data, karena data selalu dalam keadaan valid, sehingga antar file satu dengan yang lainnya dapat direlasikan sesuai dengan kebutuhan. d. Menjamin independensi data, artinya dimungkinkan terjadinya perubahan struktur file yang tidak mempengaruhi program atau sebaliknya. 10 e. Menjamin tindakan berbagi data (data sharing) yang memungkinkan data digunakan secara multiuser atau data dapat diakses oleh sejumlah pengguna / user. f. Menjamin keamanan data, karena data dapat disebar di sejumlah berkas yang saling terhubung. g. Menjamin kemudahan dalam pengelolaan data. Menurut Williams dan Sawyer (2007, p420), sistem manajemen basis data (DBMS) adalah sebuah perangkat lunak yang ditulis khususnya untuk mengontrol struktur sebuah basis data dan mengakses data. Dalam DBMS, pergantian alamat hanya boleh dimasukkan sekali, dan informasi yang di-update akan tersedia dalam sembarang file yang sesuai. Terdapat 4 keuntungan DBMS, yaitu: a. Pengulangan data berkurang Pengulangan data atau repetisi, berarti bahwa data yang sama muncul berkali-kali dalam file yang berbeda dan terkadang dalam format berbeda. Dalam sistem manajemen basis data field data yang sama hanya muncul sekali, oleh karena itu kapasitas penyimpanan masih banyak tersisa. b. Integritas data meningkat Integritas data berarti data itu akurat, konsisten dan terbaru. Dalam DBMS, perubahan data dilakukan di satu tempat sehingga integritas data meningkat. c. Keamanan meningkat Meskipun berbagai departemen dapat menggunakan data secara bersamasama, namun akses ke informasi bisa dibatasi hanya untuk pengguna tertentu. Dengan menggunakan password maka informasi financial, medis, dan nilai 11 mahasiswa dalam database sebuah universitas tersedia hanya bagi mereka yang memiliki hak untuk mengetahuinya. d. Kemudahan memelihara data Sistem manajemen basis data menawarkan prosedur standar untuk menambahkan, mengubah dan menghapus data, serta untuk memvalidasi pemeriksaan untuk memastikan bahwa data yang tepat sudah dimasukkan dengan benar dan lengkap kedalam masing-masing jenis field. 2.5. Unified Modeling Language (UML) Unified Modeling Language (UML) adalah suatu notasi yang secara luas dikenal sebagai sebuah standar untuk menggambarkan objek dalam bentuk model (Whitten et.al., 2004, p430). UML dapat diaplikasikan ke dalam berbagai diagram yang ada, seperti: a. Use Case Diagram Diagram use case adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem secara fungsional yang terlihat user, biasanya dibuat pada awal pengembangan. Notasi gambar yang dipakai use case yaitu: 1) Aktor, seorang / sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Simbol dari aktor ialah: Gambar 2.1 Contoh gambar aktor 12 2) Case menggambarkan deskripsi aktifitas yang melibatkan aktor. Simbol dari case ialah: Gambar 2.2 Contoh Gambar Case 3) Extend adalah relasi yang digunakan jika use case yang satu mirip dengan use case yang lain. 4) Include adalah relasi jika terdapat perilaku yang mirip dengan beberapa use case. b. Class Diagram Menurut Booch, Rumbaugh, dan Jacobson (2005, p25), class diagram menunjukkan set kelas, interface, kolaborasi dan hubungan mereka. Diagram ini adalah diagram yang paling umum ditemukan dalam sistem pemodelan berorientasi objek. Class diagram menangani tampilan desain statis dari suatu sistem. Class diagram biasanya terdiri dari : Gambar 2.3 Gambar Notasi Class Diagram 13 1) Nama kelas; setiap kelas harus memiliki nama yang akan membedakannya dengan kelas lainnya. Nama kelas berupa teks yang dapat berisi bilangan dan huruf. Pada prakteknya, nama kelas merupakan kata benda atau kata frasa yang menggambarkan atributnya. 2) Atribut; nama atribut berupa teks. Atribut merupakan nama benda atau frasa yang menggambarkan kelasnya. Satu kelas dapat memiliki banyak atribut atau tidak sama sekali. 3) Operasi; nama operasi berupa teks. Operasi merupakan sesuatu yang dapat dilakukan oleh objek class. Gambar 2.4 Contoh Gambar Class Diagram 14 c. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. d. State Tansition Diagram (STD) State Tansition Diagram (STD) menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian external. Menurut Pressman (2005, p302), State Tansition Diagram (STD) dapat mengindikasikan bagaimana perilaku (behavior) suatu sistem terhadap suatu tindakan (event). STD menunjukkan berbagai model tingkah laku (state) sistem dan cara dimana transisi dibuat dari state satu ke state lainnya. STD ini sendiri merupakan suatu modelling tool yang menggambarkan suatu sifat ketergantungan akan waktu yang terdapat di sistem. Pada STD ini terdapat 2 macam cara kerja, yaitu: 1) Pasif 15 Disini sifatnya lebih kepada menerima data saja dalam melakukan kontrol terhadap lingkungan. Contoh: sistem yang bertugas menerima sinyal yang dikirim satelit. 2) Aktif Untuk sistem ini kontrol dilakukan secara aktif sehingga selain menerima data, sistem ini juga memberikan suatu resopn terhadap ligkungannya. Contohnya: sistem yang digunakan untuk proses kontrol. Penyajian STD merupakan dasar untuk pembentukan perilaku, STD disajikan dengan menggunakan notasi-notasi berikut: 1) State, merupakan suatu kumpulan model dari tingkah laku yang dapat diobservasi. 2) Transisi, merupakan simbol yang menyatakan perubahan dari satu keadaan ke keadaan yang lain. 3) Aksi, adalah hal yang dilakukan sistem bila terjadi perubahan state. Aksi menghasilkan keluaran seperti tampilan pesan, cetakan pada pritner atau alat output lainnya. 4) Kondisi, adalah kejadian pada lingkungan eksternal yang dideteksi oleh sistem. Hal tersebut menyebabkan terjadinya perubahan dari suatu state ke state lainnya. 16 2.6. Istilah Internet Ada beberapa istilah yang sering dipakai dalam internet, yaitu: a. World Wide Web (WWW) Menurut buku Web Services in the Enterprise: Concepts, Standards, Solutions, and Management (2005, Sahai dan Graupner, p3), World Wide Web (WWW) adalah fasilitas yang menyediakan interface yang saling terkait dan berinteraksi antara jaringan yang sederhana ke sumber daya internet yang sangat besar. World Wide Web (WWW) bukan sekedar jaringan tetapi di dalamnya terdapat suatu sel aplikasi komunikasi dan sistem perangkat lunak yang memiliki karakteristik tertentu diantaranya yaitu : 1) Umumnya terletak pada internet host dan client. 2) Umumnya menggunakan protocol TCP/IP. 3) Mengerti HTML. 4) Mengikuti model client / server untuk komunikasi data dua arah. 5) Memungkinkan client untuk mengakses server dengan protocol seperti HTTP, FTP, Telnet, dan Gopher. 6) Memungkinkan client untuk mengakses informasi dalam berbagai media seperti teks, audio dan video. 7) Menggunakan model alamat Uniform Resource Locators (URL). b. Uniform Resouce Locator (URL) Uniform Resouce Locator (URL) adalah kumpulan karakter yang menunjuk pada potongan informasi khusus di bagian mana saja pada web. URL adalah alamat situs web yang unik (Williams dan Sawyer, 2007, p66). c. Hyper Text Markup Language (HTML) 17 Hyper Text Markup Language (HTML) adalah sekumpulan perintah khusus (disebut tag atau markup) yang dipakai untuk menentukan struktur, bentuk dan link pada dokumen ke dokumen multimedia lain di web (Williams dan Sawyer, 2007, p67). 2.7. Web Menurut buku Web Services in the Enterprise: Concepts, Standards, Solutions, and Management (2005, Sahai dan Graupner, p3), web adalah aplikasi yang menyangkut banyak komputer. Web menyediakan fasilitas seperti menyimpan informasi, menemukan dan mengambil informasi, menyimpan dan mengeksekusi program komputer, meng-input dan memanipulasi informasi, dan yang paling utama adalah siapa saja yang dapat menggunakan fitur-fitur tersebut. Web menyediakan fasilitas tersebut dengan menggunakan jaringan komputer dunia luas yang disebut internet. 2.8. Web Server Menurut buku Media and Market Architectures: Knowledge Media for Editing (2003, Yuzuru Tanaka, p58), web server adalah software yang menyediakan layanan web. Web server mempunyai dua arti yaitu: a. Program komputer yang bertanggung jawab untuk menerima HTTP request dari client yang dikenal sebagai web browser dan memberikan respon dari HTTP client bersama dengan data-data yang bersifat optional yang biasanya berupa halaman-halaman web seperti dokumen-dokumen HTML dan objek-objek yang terhubung seperti gambar, dan lain-lain. 18 b. Sebuah komputer yang menjalankan program komputer yang menghasilkan fungsi-fungsi yang telah dideskripsikan pada poin pertama. Web server biasanya digunakan untuk menyimpan informasi dan melayani yang diakses oleh web client. 2.9. System Development Life Cycle System Development Life Cycle (SDLC) adalah tahap pendekatan dalam menganalisa dan merancang sebuah sistem yang akan dikembangkan. (Kendall dan Kendall, 2005, p10). Tahapan pengembangan SDLC meliputi langkah berikut: a. Mengidentifikasi masalah, peluang dan tujuan Menganalisa masalah, peluang dan tujuan adalah tahapan awal dalam SDLC. Tahapan ini merupakan tahapan yang paling menentukan dalam keberhasilan sebuah project software, karena tidak ada seorang pun yang mau menghabiskan waktunya mencari solusi untuk sebuah masalah yang seharusnya bukan suatu masalah. Langkah awal dalam tahapan ini adalah sistem analis menganalisa masalah-masalah apa saja yang timbul pada sistem yang sedang berjalan. Setelah itu sistem analis melihat apakah ada peluang untuk mencari atau menciptakan solusi untuk menyelesaikan masalah yang timbul dengan menggunakan sistem yang terkomputerisasi. Selanjutnya sistem analis harus mencari tahu kegiatan-kegiatan atau aktivitas dari sistem yang sedang berjalan. Ketika sistem analis sudah memahami mengenai aktivitas dari sistem yang sedang berjalan, ia baru bisa menciptakan 19 solusi untuk mendukung proses sistem yang sedang berjalan dengan melampirkan sejumlah dokumentasi masalah serta peluang atau keuntungan yang akan didapat jika menggunakan sistem baru yang akan dikembangkan atau diimplementasikan. Orang-orang yang terlibat dalam tahap awal SDLC adalah pengguna sistem, sistem analis dan pimpinan proyek sistem. Kegiatan-kegiatan pada tahap awal SDLC adalah mewawancarai pengguna sistem, membuat ringkasan mengenai informasi yang didapat, membuat batasa-batasan sistem dan mendokumentasikan hasil analisa / identifikasi. b. Menentukan kebutuhan informasi Pada tahapan ini sistem analis mencari informasi yang akan digunakan dalam pengembangan sistem. Untuk mendapatkan informasi tersebut dilakukan interview, sampling dan kuesioner untuk mendapatkan informasi yang dibutuhkan agar sistem yang dikembangkan sesuai dengan kebutuhan pengguna. Pada tahap ini sistem analis harus memahami informasi apa saja yang dibutuhkan oleh pengguna dalam beraktivitas dan detil-detil dari sistem yang sedang berjalan, siapa yang terlibat dalam sistem, aktivitas yang sedang berjalan, tempat sistem yang sedang berjalan, waktu serta bagaimana prosedur dari proses aktivitas yang sedang berjalan. c. Menganalisa kebutuhan sistem Tahapan selanjutnya adalah sistem analis menganalisis apa saja yang dibutuhkan dalam sistem yang akan dikembangkan. Sejumlah perangkat dan teknik digunakan sistem analis dalam menentukan kebutuhan-kebutuhan dari sistem yang akan dikembangkan. Salah satu perangkat yang digunakan adalah 20 membuat data flow diagram untuk menggambarkan proses pemasukan data dan hasil dari proses aktivitas sistem yang berjalan. Pada tahap ini sistem analis juga menganalisa sistem pengambilan keputusan yang akan dibuat. Selanjutnya sistem analis menyiapkan proposal sistem dengan membuat ringkasan dari masalah yang ditemukan dari sistem yang sedang berjalan, biaya serta analisa keuntungan dari sistem alternatif yang akan dikembangkan, serta membuat beberapa rekomendasi yang harus disediakan (jika ada). d. Mendesain sistem yang direkomendasikan Pada tahap desain sistem, sistem analis menggunakan informasi-informasi yang telah dikumpulkan pada tahap awal SDLC untuk merancang desain logical dari sistem yang direkomendasikan untuk menggantikan sistem sebelumnya. Sistem analis mendesain prosedur memasukan data yang akurat, sehingga data yang masuk pada sistem informasi adalah data yang benar. Sebagai tambahan, sistem analis menggunakan teknik 8 golden rules dalam merancang interaksi manusia dan komputer ketika menyediakan inputan yang efektif pada sistem informasi. Bagian dari desain logical sistem informasi adalah merancang user interface dan rancangan file atau database yang akan menampung data-data yang dibutuhkan oleh pembuat keputusan. e. Mengembangkan dan merekomendasikan software Pada tahapan kelima dalam SDLC, sistem analis bekerjasama dengan programmer untuk mengembangkan software. Beberapa teknik terstruktur dalam mendesain dan mendokumentasikan software adalah dengan menggambarkan Nassi-Shneiderman charts dan pseudocode. Sistem analis menggunakan salah 21 satu teknik tersebut untuk berkomunikasi dengan programmer tentang apa saja kebutuhan-kebutuhan yang akan dibentuk ke dalam bahasa pemrograman atau coding. Selama proses ini berjalan, sistem analis juga bekerjasama dengan pengguna untuk membuat dokumentasi software yang dikembangkan, seperti lembar panduan penggunaan, bantuan online (help) dan FAQ (Frequently Asked Question) pada file Read Me yang dipaketkan bersama software. Dokumentasi menjelaskan kepada pengguna tentang cara penggunaan software dan panduan bagaimana menangani masalah pada software. Programmer memiliki peran penting pada tahap ini karena mereka mendesain, mengkode dan memperbaiki masalah atau error yang terdapat pada software. f. Uji coba dan perawatan Sebelum sistem informasi dalat digunakan, sistem informasi / software harus diuji coba karena lebih mudah dan murah untuk menemukan masalah sebelum digunakan oleh user. Uji coba dapat dilakukan oleh programmer itu sendiri maupun oleh sistem analis dan programmer. Salah satu uji coba dapat dilakukan dengan data sample atau data yang sesungguhnya. Perawatan sistem dan dokumentasi dimulai pada tahap ini dan akan selalu berjalan selama sistem informasi digunakan, misalnya update atau pembaruan content. g. Mengimplementasikan dan mengevaluasi sistem Tahap ini merupakan tahapan akhir dari SDLC dimana sistem analis membantu mengimplementasikan sistem informasi. Tahapan ini meliputi pelatihan untuk pengguna sistem informasi. Selanjutnya sistem analis membuat 22 rencana untuk mengubah / mengonversi sistem yang lama ke sistem yang baru. Proses ini meliputi mengonversikan database dalam bentuk format yang lama ke bentuk format yang baru atau membuat database yang baru dan menginstall software. Evaluasi termasuk dalam tahapan ini untuk kepentingan diskusi mengenai masukan atau kritikan terhadap software yang telah diimplementasikan. 2.10. Teori Interaksi Manusia dan Komputer Interaksi Manusia dan Komputer (IMK) adalah sebuah disiplin ilmu yang mempelajari perancangan, implementasi, sistem komputasi interaktif, dan berbagai aspek terkait. IMK merupakan bidang antar disiplin ilmu, dan masing-masing disiplin ilmu memberi penekanan pada aspek yang berbeda. Menurut buku Human Computer Interaction (Serengul Smith dan Atakan, 2005, p36) terdapat delapan aturan emas dalam perancangan user interface (Eight Golden Rules of Interface Design), yaitu: a. Konsistensi, dilakukan pada urutan tindakan, perintah dan istilah yang digunakan pada prompt, menu serta layar bantuan. b. Memungkinkan pengguna untuk menggunakan shortcut. Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. c. Memberikan umpan balik yang informatif. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang 23 sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. d. Merancang dialog untuk menghasilkan suatu penutupan. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah dan akhir. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. e. Memberikan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. f. Mudah kembali ke tindakan sebelumnya. Hal ini dapat mengurangi kekhawatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. g. Mendukung tempat pengendali internal (internal locus of control). Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. h. Mengurangi beban ingatan jangka pendek. Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang 24 sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan. 2.11. Oracle Database Oracle menyediakan sistem hardware dan software bisnis paling lengkap, terbuka, dan terintegrasi di dunia dengan lebih dari 380.000 pelanggan, termasuk 100 dari Fortune 100 yang mewakili berbagai ukuran dan industri di lebih dari 145 negara di seluruh dunia. Strategi produk Oracle menyediakan fleksibilitas dan pilihan kepada pelanggan di seluruh infrastruktur TI. Oracle adalah vendor satu-satunya yang mampu menawarkan teknologi yang lengkap dimana setiap lapisan terintegrasi untuk bekerja bersama sebagai suatu sistem dengan server sun, storage, sistem informasi, dan teknologi virtualisasi. Selain itu, arsitektur terbuka Oracle dan beberapa sistem operasi pilihan pelanggan memberikan manfaat yang tak tertandingi dari produkproduk industri terkemuka, termasuk ketersediaan sistem yang sangat baik, skalabilitas, efisiensi energi, kinerja yang kuat, dan biaya total kepemilikan yang rendah. (http://www.oracle.com/us/corporate/index.html) Oracle adalah sebuah sistem manajemen database relasional yang handal yang menawarkan serangkaian fitur besar. Oracle database merupakan database yang pertama kali dirancang untuk proses komputasi grid. Cara yang paling fleksibel dan efektif secara biaya untuk mengelola informasi dan aplikasi. Dengan komputasi grid ini, menciptakan sebuah kumpulan data yang besar untuk sebuah standar industri, media penyimpanan, dan server. Dengan arsitektur ini, setiap sistem baru dapat dengan cepat ditetapkan dari kumpulan komponen. (http://download.oracle.com/docs/cd/B13789_01/server.101/b10743/intro.htm) 25 Adapun keuntungan dari pemakaian database Oracle yakni: a. Konsistensi dalam penyajian datanya. Semua transaksi ilegal dan terkait dengan constraint – constraint jika tidak terpenuhi maka tidak diperbolehkan untuk disimpan dan kembali ke state awal. b. Dalam hal transaksi data antara kumpulan data yang 1 dengan lainnya, transaksinya tidak diperlihatkan. Sehingga menjamin keamanan data. c. Ketika data disimpan, semua data dan transaksi akan disimpan permanen. Tidak akan rusak kecuali pada kerusakan hardware. (http://www.learn.geekinterview.com/database/oracle/advantages-of-usingoracle.html) Oracle Database 10g Express Edition (Oracle Database XE) merupakan database entry-level berdasarkan Oracle Database 10g Release 2 yang bebas untuk digunakan dan didistribusikan, mudah didapatkan dan mudah dikelola. Oracle Database umumnya digunakan sebagai database awal bagi: a. Developer yang bekerja dengan aplikasi PHP, Java, .NET, XML, dan Open Source. b. DBA yang membutuhkan basis data gratis untuk digunakan. c. Independent Software Vendors (ISVs) dan hardware vendor yang menginginkan basis data gratis untuk membuat basis data baru. d. Institusi pendidikan dan siswa yang membutuhkan basis data gratis untuk pembelajaran. Oracle Database XE dapat di-install pada mesin host dengan ukuran apapun dengan sejumlah CPU (satu database per mesin), tetapi hanya mampu menyimpan 26 data user sebanyak maksimal 4 GB, menggunakan memori maksimal 1 GB dan menggunakan satu CPU pada mesin host. (http://www.oracle.com/technetwork/jp/database/express-edition/index-194504ja.html) 2.12. PHP Menurut buku PHP: A Beginner's Guide (2009, Vaswani, p4), bahasa pemograman PHP adalah bahasa pemograman yang bekerja dalam sebuah webserver. Script-script PHP dibuat harus tersimpan dalam sebuah server dan dieksekusi atau diproses dalam server tersebut. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis. Beberapa keunggulan dari PHP, yaitu : 1. Kecepatan akses yang tinggi. 2. Dapat bekerja dalam webserver yang berbeda dari sistem operasi yang berbeda. 3. PHP adalah freeware dan open source. 4. Merupakan bahasa pemograman yang embedded. 5. Dapat berjalan pada berbagai platform: Apache, IIS, Microsoft Personal Web Server. 2.13. Javascript Menurut buku Information Technology in Theory (2008, Aksoy dan DeNardis, p105), javascript adalah bahasa script (bahasa yang kodenya ditulis menggunakan 27 teks biasa) yang ditempelkan pada dokumen HTML dan diproses pada sisi klien. Dengan adanya bahasa ini, kemampuan dokumen HTML menjadi semakin luas. Javascript adalah bahasa yang digunakan untuk membuat program yang digunakan agar dokumen HTML yang ditampilkan dalam browser menjadi lebih interaktif, tidak sekadar indah saja. Javascript memberikan beberapa fungsionalitas ke dalam halaman web, sehingga dapat menjadi sebuah program yang disajikan dengan menggunakan antar muka web. Javascript merupakan bahasa script, bahasa yang tidak memerlukan compiler untuk menjalankannya, cukup dengan interpreter. Tidak perlu ada proses kompilasi terlebih dahulu agar program dapat dijalankan. (Sidik, 2011, p1) Ada beberapa kelebihan yang dimiliki oleh javascript diantaranya adalah : a. Membuat halaman web lebih dinamis, karena kita bisa menyisipkan juga elemen web ke dalam javascript, agar kelak ditampilkan di browser. b. Memvalidasi data yang akan dikirimkan kepada server di dalam browser. c. Membuat cookies, suatu kode yang digunakan menyimpan dan mengambil data atau informasi dari browser pengunjung. 2.14. Project Management Project Management adalah aplikasi dari prinsip-prinsip dari management untuk merincikan pegawai, organisasi, pengawasan, dan mengarahkan project. Project Management TI merupakan kegiatan sumber daya yang tersedia dari sebuah proyek pengembangan solusi TI sehingga dapat dihasilkan suatu sistem solusi yang memenuhi obyektif yang telah ditetapkan. 28 Sumber daya proyek TI mencakup SDM, peralatan dan fasilitas kerja (baik hardware maupun software), dana dan logistik. Manajemen proyek TI mengendalikan tiga aspek dari proyek TI yakni produk yang dihasilkan, waktu dan biaya. (http://www.majalaheindonesiaku.com/februari2006_1.htm) Menurut buku Information Technology Project Management (Kathy Schwalbe, 2010, p46), hal-hal yang mendukung sistem manajement project ialah waktu, biaya, kualitas, resiko, dan cakupan dari project itu sendiri. Waktu adalah jumlah waktu yang diperlukan untuk menyelesaikan proyek tersebut. Biaya didasarkan pada waktu untuk menyelesaikan project dikalikan dengan biaya sumber daya manusia yang diperlukan untuk menyelesaikan project tersebut. Kualitas adalah indikator seberapa jauh hasil akhir dari sebuah project memenuhi sasaran yang diberikan oleh pihak manajemen. Resiko mengacu pada masalah potensial yang dapat mengancam keberhasilan project. Cakupan (scope) mendefinisikan pekerjaan mana yang termasuk atau yang tidak termasuk suatu project.