BAB II LANDASAN TEORI 2.1 Perpustakaan Istilah perpustakaan berasal dari kata dasar pustaka. Yang berarti buku, atau kitab. Kemudian mendapat awalan per dan akhiran an menjadi perpustakaan. Selanjutnya dalam istilah perpustakaan terkandung pengertian kumpulan buku dan informasi yang disusun diruang tertentu dilengkapi dengan perlengkapan (sarana prasarana), menurut aturan tertentu, diatur dan dilayankan oleh petugas (pustakawan) dan dipergunakan oleh para pembaca/pemakai. Dalam istilah bahasa Inggris perpustakaan adalah library yang berasal dari bahasa, latin liber, yang berarti buku. Sehingga orang-orang yang bekerja disebuah library 2007, Perpustakaan disebut librarian Sekolah: Pendekatan atau Aspek pustakawan. Manajemen (Darmono, dan Tata Kerja.Jakarta: Grasindo). Perpustakaan adalah institusi/lembaga yang menyediakan koleksi bahan perpustakaan tertulis, tercetak dan terekam sebagai pusat sumber informasi yang diatur menurut sistem dan aturan yang baku dan didayagunakan untuk keperluan pendidikan, penelitian dan rekreasi intelektual bagi masyarakat. Perpustakaan secara umum bertujuan untukmelakukan layanan informasi literal kepada masyarakat. Tujuan khusus dibedakan oleh jenis perpustakaannya. Karena tujuannya memberi layanan informasi literal kepada masyarakat maka tugas pokok adalah: Menghimpun bahan pustaka yang meliputi buku dan nonbuku sebagai sumber informasi. Mengolah dan merawat pustaka. Memberikan layanan bahan pustaka. Pemanfaatan teknologi informasi berbasis komputer yang mampu membantu proses yang terjadi dalam lingkungan perpustakaan, dalam hal ini merupakan sebuah sistem informasi, peningkatan layanan kepada anggota 1 http://digilib.mercubuana.ac.id/ 2 perpustakaan dan masyarakat luas secara umum. Peningkatan efektifitas dan efisiensi kinerja serta produktifitas petugas. 2.1.1 Peranan, Tugas dan Fungsi Perpustakaan Perananan Perpustakaan Setiap perpustakaan dapat mempertahankan eksistensinya apabila dapat menjalankan perananya. Tugas Perpustakaan Setiap perpustakaan memilki kewajiban yang sudah ditentukan dan direncanakan untuk dilakasanakan. Tugas setiap jenis perpustakaan berbeda-beda sesuai dengan kewajiban yang ditentukan. Fungsi Perpustakaan Perpustakaan memiliki fungsi yaitu : 1. Fungsi penyimpanan, bertugas menyimpan koleksi (informasi) karena tidak mungkin semua koleksi dapat dijangkau oleh perpustakaan. 2. Fungsi informasi, perpustakaan berfungsi menyediakan berbagai informasi untuk masyarakat. 3. Fungsi pendidikan, perpustakaan menjadi tempat dan menyediakan sarana untuk belajar baik dilingkungan formal maupun non formal. 4. Fungsi rekreasi, masyarakat dapat rekreasi kultural dengan membaca dan mengakses berbagai sumber informasi hiburan seperti : Novel, cerita rakyat, puisi dan sebagainya. 5. Fungsi kultural, perpustakaan berfungsi untuk mendidik dan mengembangkan apresiasi budaya masyarakat melalui berbagai aktifitas, seperti : pameran, pertunjukkan, bedah buku, mendongeng, seminar, dan sebagainya. http://digilib.mercubuana.ac.id/ 3 2.2 Rekayasa Perangkat Lunak Rekayasa perangkat lunak (RPL) adalah disiplin ilmu yang mencakup segala hal yang berhubungan dengan proses pengembangan perangkat lunak sejak dari tahap perancangan hingga tahapan implementasi sehingga siklus hidup perangkat lunak dapat berlangsung secara efisien dan terukur (Rizky, 2011. Konsep Dasar Rekayasa Pernagkat Lunak, Jakarta: Prestasi Pustaka Raya). Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efesien menggunakan mesin (Rosa dan Salahudin, 2011., Modul Pembelajaran Rekayasa Perangkat Lunak, Bandung: Modula). Rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Ada 2 istilah kunci yang terdapat di dalam pembahasan rekayasa perangkat lunak, yaitu : 1. Disiplin rekayasa/perekayasa membuat suatu alat bekerja. Menerapkan teori, metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan selalu mencoba mencari solusi terhadap permasalahan. 2. Semua aspek produksi perangkat lunak/rekayasa perangkat lunak tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti Manajemen proyek perangkat lunak dan pengembangan alat bantu, metode, dan teori untuk mendukung produksi perangkat lunak. Secara umum, rekayasa perangkat lunak memakai pendekatan sistematis dan terorganisasi terhadap pekerjaan mereka karena cara ini seringkali paling efektif untuk menghasilkan perangkat lunak berkualitas tinggi. Namun demikian, rekayasa ini sebenarnya mencakup masalah pemilihan metode yang paling sesuai untuk satu set keadaan dan pendekatan yang lebih kreatif, informal terhadap pengembangan yang mungkin efektif pada beberapa keadaan. http://digilib.mercubuana.ac.id/ 4 2.2.1.1 Proses Rekayasa Perangkat Lunak Proses perangkat lunak adalah sekumpulan aktivitas maupun metode yang digunakan pengembang perangkat lunak dalam melakukan penyelesaian perangkat lunak. Secara umum proses perangkat lunak terdiri dari: 1. Pengumpulan spesifikasi (specification) 2. Pengembangan (development) 3. Validasi (validation) 4. Evolusi (evolution) 2.2.1.2 Metodologi Rekayasa Perangkat Lunak Pada prinsipnya rekayasa perangkat lunak menekankan pada tahapan pengembangan suatu perangkat lunak yaitu: perencanaan, analisis, desain, implementasi, pengetesan dan perawatan. Pada tahap yang lebih besar rekayasa perangkat lunak mengacu pada manajemenp perangkat lunak dengan tetap memperhatikan tahapan-tahapan pengembangan sebelumnya. 2.2.1.3 Metodologi Waterfall Metode Waterfall biasa disebut juga dengan siklus hidup perangkat lunak merupakan salah satu model pengembangan perangkat lunak dari sekian banyak model pengembangan perangkat lunak. Waterfall adalah model yang umumnya paling banyak digunakan. Pada model ini, desain perangkat lunak atau sistem dibagi menjadi sejumlah langkah linier, sistematis, dan sekuensial yaitu evolusi perangkat lunak atau sistem terlihat seperti air yang mengalir semakin turun melalui serangkaian tahapan. http://digilib.mercubuana.ac.id/ 5 Gambar 2.1 Metedologi Waterfall Model pengembangan ini tidak mengizinkan tahapan tertentu langsung menggantikan tahapan berikutnya sampai operasi tahapan yang terdahulu telah terpenuhi. Pada umumnya tahapan-tahapan yang ada di dalam model ini adalah : 1. Analisis dan Definisi Persyaratan Pada tahapan ini biasanya dilakukan pengumpulan data-data atau informasi-informasi yang berkaitan dengan perangkat lunak atau sistem yang akan dikembangkan 2. Perancangan Sistem dan Perangkat Lunak Pada tahapan ini, arsitektur perangkat lunak mulai dibuat berdasarkan data-data yang diperoleh sebelumnya pada tahapan analisa. Penulisan kode juga dilakukan pada tahapan ini, selanjutnya komponen antarmuka untuk perangkat lunak juga dirancang dengan mengacu pada kebutuhankebutuhan yang sebelumnya telah dilakukan pada tahapan analisa. http://digilib.mercubuana.ac.id/ 6 3. Implementasi dan Pengujian Unit Pada tahapan ini, dilakukan pengujian terhadap tiap unit-unit program yang telah dibuat. Tujuan dilakukannya tahapan ini adalah untuk memverifikasi bahwa setiap unit program telah berjalan sesuai dengan fungsi yang telah ditetapkan sebelumnya. 4. Integrasi dan Pengujian Sistem Pada tahapan ini, seluruh unit program mulai diintegrasikan satu sama lain kemudian diuji sebagai perangkat lunak atau sistem secara lengkap dan utuh. Tujuan dari tahapan ini adalah untuk menjamin bahwa segala persyaratan yang sebelumnya dicatat pada tahapan analisa telah terpenuhi dan tidak ada yang meleset dari perkiraan atau prediksi. 5. Operasi dan Pemeliharan Pada tahapan ini biasanya dilakukan perbaikan, penambahan atau pengembangan perangkat lunak berdasarkan permintaan dari user atau pemilik. Manfaat yang bisa didapatkan dengan menggunakan model waterfall adalah penjadwalan proyek atau pengembangan perangkat lunak terjadwal dengan baik karena jadwal tersusun secara sistematis, terurut dan sesuai dengan target awal yang direncanakan. Namun model ini tidak dapat digunakan jika segala kebutuhan berikut data-data dan informasi-informasi yang berkaitan dengan pengembangan perangkat lunak / sistem itu sendiri belum terkumpul lengkap. Kekurangan dari model ini adalah, waktu yang dibutuhkan relatif lama, karena pengembangan perangkat lunak dilakukan secara terstruktur dan harus mengikuti prosedur-prosedur yrang telah ditetapkan sebelumnya. Selain itu, perancang juga tidak bisa meloncati tahapan berikutnya bila tahapan yang sebelumnya belum selesai. (Sommerville Ian. Software Engineering Lunak).Edisi 6. Jakarta: Erlangga, 2003.) http://digilib.mercubuana.ac.id/ (Rekayasa Perangkat 7 2.2.1 Pengertian Sistem Informasi Sistem Informasi adalah kombinasi dari manusia, fasilitas atau alat teknologi, media, prosedur dan pengendalian yang bermaksud menata jaringan komunikasi yang penting, proses atas transaksi-transaksi tertentu dan rutin, membantu manajemen dan pemakai intern dan ekstern dan menyediakan dasar pengambilan keputusan yang tepat (John F. Nash, 1995. Sistem informasi adalah kombinasi. Jakarta: Andi). Sistem Informasi adalah suatu kegiatan dari prosedur-prosedur yang diorganisasikan, bilamana dieksekusi akan menyediakan informasi untuk mendukung pengambilan keputusan dan pengendalian di dalam organisasi (Henry Lucas, 2000. Informasi Teknologi: Management. Jakarta: Departemen Pendidikan dan Kebudayaan). Dan adapun tujuan dari sistem Informasi adalah : 1. Menyediakan informasi untuk membantu mengambil sebuah keputusan. 2. Membantu pengguna di dalam melaksanakan operasi dari hari ke hari. 3. Menyediakan informasi yang layak untuk user. 2.2.2 Karakteristik Sistem Suatu kesatuan dan sekumpulan yang terdiri dari unsur-unsur atau elemenelemen yang saling berinteraksi atau terkait satu sama lain untuk mencapai suatu tujuan tertentu. Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu yaitu : 1. Komponen-komponen ( components ) Merupakan suatu sistem yang terdiri dari sejumlah komponen-komponen yang saling berinteraksi yang artinya saling bekerja sama untuk membentuk suatu kesatuan komponen atau elemen sistem yang dapat berupasatu sub sistem atau bagian dari sistem. http://digilib.mercubuana.ac.id/ 8 2. Batasan Sistem ( boundry ) Merupakan batasan daerah yang membatasi antara sub sistem yang lain atau dengan lingkaran lainnya. 3. Lingkaran Luar Sistem ( environment ) Bahwa linkaran luar dari suatu sistem adalah hal apapun diluar batasan dari sistem yang mempunyai operasi. 4. Penghubung Sistem ( interface ) Merupakan suatu media penghubung antara satu sub sistem dengan satu sub sistem yang lain. Dengan melalui penghubung ini memungkinkan sumber daya mengalir dari sub sistem. 5. Masukkan Sistem ( input ) Adalah suatu energi yang dibutuhkan kedalam sistem. Masukkan dapat berupa masukkan perawatan ( maintenance input ) dan masukkan sinyal ( signal input ). 6. Keluaran Sistem ( output ) Merupakan suatu hasil yang terdapat dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. 7. Penolahan Sistem ( process ) Suatu sistem yang dapat mempunyai bagian pengolahan yang akan merubah masukkan menjadi sistem. 8. Sasaran Sistem ( objectives ) Suatu sistem yang mempunyai tujuan dari sasaran. Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak ada gunanya. 2.2.3 Pemodelan Sistem Pembuatan satu sistem yang baik harus diperlukan suatu metode atau perangkat pemodelan sistem. Perangkat pemodelan berfungsi sebagai media yang memberikan penjelasan tentang sebuah sistem yang dibuat. Perangkat pemodelan dapat berupa diagram ataupun gambar. Ada tiga alasan melakukan pemodelan sistem menurut Husni Iskandar Pohan: http://digilib.mercubuana.ac.id/ 9 1. Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan resiko dan biaya minimal. 2. Dapat memfokuskan perhatian pada hal-hal penting dalam sistem tanpa mesti terlibat jauh. 3. Menguji pengertian penganalisis sistem terhadap kebutuhan pemakai dan membantu pendesain sistem dan pemprogram membangun sistem. Pemodelan sistem dapat dipresentasikan dengan berbagai cara antara lain, diagram konteks (data flow diagram context level), diagram alir (flowchart), dan banyak model lainnya. 2.3 HyperText Markup Language (HTML) HyperText Markup Language (HTML) adalah sebuah bahasa markah yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan pemformatan hiperteks sederhana yang ditulis dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga menjadi halaman web dengan perintah-perintah HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee Robert ketika mereka bekerja di CERN pada tahun 1989 (CERN adalah lembaga penelitian fisika energi tinggi di Jenewa). http://digilib.mercubuana.ac.id/ 10 2.3.1 Sejarah HTML Tahun 1980, IBM memikirkan pembuatan suatu dokumen yang akan mengenali setiap elemen dari dokumen dengan suatu tanda tertentu. IBM kemudian mengembangkan suatu jenis bahasa yang menggabungkan teks dengan perintah-perintah pemformatan dokumen. Bahasa ini dinamakan Markup Language, sebuah bahasa yang menggunakan tanda-tanda sebagai basisnya. IBM menamakan sistemnya ini sebagai Generalized Markup Language atau GML. Tahun 1986, ISO menyatakan bahwa IBM memiliki suatu konsep tentang dokumen yang sangat baik, dan kemudian mengeluarkan suatu publikasi (ISO 8879) yang menyatakan markup language sebagai standar untuk pembuatan dokumen-dokumen. ISO membuat bahasa ini dari GML milik IBM, tetapi memberinya nama lain, yaitu SGML (Standard Generalized Markup Language). ISO dalam publikasinya meyakini bahwa SGML akan sangat berguna untuk pemrosesan informasi teks dan sistem-sistem perkantoran. Tetapi diluar perkiraan ISO, SGML dan terutama subset dari SGML, yaitu HTML juga berguna untuk menjelajahi internet. Khususnya bagi mereka yang menggunakan World Wide Web. Versi terakhir dari HTML saat ini adalah HTML5. 2.3.2 Kegunaan HTML Mengintegerasikan gambar dengan tulisan. Membuat pranala. Mengintegerasikan berkas suara dan rekaman hidup. Membuat form interaktif. HTML dokumen tersebut mirip dengan dokumen tulisan biasa, hanya dalam dokumen ini sebuah tulisan bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Sebagai contoh jika ingin membuat tulisan ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya http://digilib.mercubuana.ac.id/ 11 dilakukan dengan cara: < b> TAMPIL TEBAL</b>. Tanda < b> digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh tulisan yang ingin ditebalkan, dan diakhiri dengan tanda </b> untuk menonaktifkan cetak tebal tersebut. HTML lebih menekankan pada penggambaran komponen-komponen struktur dan format di dalam halaman web daripada menentukan penampilannya. Sedangkan penjelajah web digunakan untuk menginterpretasikan susunan halaman ke gaya built-in penjelajah web dengan menggunakan jenis tulisan, tab, warna, garis, dan perataan text yang dikehendaki ke komputer yang menampilkan halaman web. Salah satu hal Penting tentang eksistensi HTML adalah tersedianya Lingua franca (bahasa Komunikasi) antar komputer dengan kemampuan berbeda. Contoh HTML sederhana : <!DOCTYPE html> <html> <head bgcolor=black text=white> <title>'''Selamat Datang''' HTML</title> </head> <body> <p>Halo dunia!</p> </body> </html> 2.3.3 CSS CSS merupakan kepanjangan dari Cascading Style Sheet. Secara sederhana adalah sebuah metode yang digunakan unutuk mempersingkat penulisan tag HTML seperti font. color, text, dan tabel menjadi lebih ringkas sehingga tidak terjadi pengulangan penulisan. CSS adalah style sheet yang digunakan untuk mengatur tampilan dokumen. dengan adanya CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. CSS sendiri merupakan sebuah teknologi http://digilib.mercubuana.ac.id/ 12 internet yang direkomdasikan oleh World Wide Web Consortium atau W3C pada tahun 1996. Untuk saat ini terdapat tiga versi CSS, yaitu CSS1, CSS2, dan CSS3. CSS1 dikembangkan berpusat pada pemformatan dokumen HTML, CSS2 dikembangkan untuk memenuhi kebutuhan terhadap format dokumen agar bisa ditampilkan di printer, sedangkan CSS3 adalah versi terbaru dari CSS yang mampu melakukan banyak hal dalam desain website. CSS2 mendukung penentuan posisi konten, downloadable, huruf font, tampilan pada tabel /table layout dan media tipe untuk printer. CSS3 juga dapat melakukan animasi pada halaman website, diantaranya animasi warna hingga animasi 3D. Dengan CSS3 desainer lebih dimudahkan dalam hal kompatibilitas websitenya pada smartphone dengan dukungan fitur baru yakni media query. Selain itu, banyak fitur baru pada CSS3 seperti: multiple background, border-radius, drop-shadow, border-image, CSS Math, dan CSS Object Model. (Dominikus Juju, 2008. Join Multiply. Jakarta: PT Elex Media Komputindo). 2.3.4 Javascript JavaScript adalah bahasa skrip yang populer di internet dan dapat bekerja di sebagian besar penjelajah web populer seperti Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman web menggunakan tag SCRIPT. (Andi Sunyoto, M. Kom, 2001. Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML) JavaScript pertama kali dikembangkan oleh Brendan Eich dari Netscape dibawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan akhirnya menjadi JavaScript. (Krill, Paul (2008-06-23). "JavaScript creator ponders past, future". InfoWorld.) http://digilib.mercubuana.ac.id/ 13 2.4 PHP (Hypertext Preprocessor) PHP atau kependekan dari hypertext preprocessor merupakan bahasa pemrograman untuk membuat situs web yang bersifat server-side scripting. PHP memungkinkan kita untuk membuat halaman web yang bersifat dinamis. Bahasa PHP dapat dikatakan menggambarkan beberapa bahasa pemrograman seperti C, Java dan Perl serta muda untuk dipelajari. PHP diciptakan untuk mempermudah pengembang web dalam menulis halaman web dinamis dengan cepat, bahkan lebih dari itu kita dapat mengekplorasi hal-hal yang luar biasa dengan PHP. Sehingga dengan demikian PHP sangat cocok untuk/bagi para pemula, menengah maupun expert sekalipun (Hirin dan Virgi, 2011. Cepat Mahir Pemrograman Web Dengan PHP MYSQL). Beberapa kelebihan PHP dari bahasa pemrograman lain adalah: 1. Bahasa pemrograman PHP merupakan bahasa tulisan yang tidak melakukan sebuah kompilasi dalam penggunaannya. 2. Tempat penyimpanan yang mendukung PHP dapat ditemukan dengan mudah mulai IIS (internet information service) sampai Apache dengan konfigurasi yang relatif mudah. 3. PHP merupakan aplikasi terbuka atau aplikasi yang memiliki lisensi GPL (general public licensi) yang berarti aplikasi tersebut dapat digunakan, dipublikasikan atau dikembangkan oleh masyarakat secara luas tanpa biaya. 4. PHP termasuk pemrograman disisi server (server side programming), sehingga kode asli PHP tidak dapat dilihat di peramban pengguna, yang terlihat hanya kode dalam format HTML. 5. Dalam sisi pengembangan lebih mudah, karena banyaknya terdapat milismilis dan developer yang siap membantu dalam pengembangan. 6. PHP merupakan bahasa terbuka yang dapat digunakan di berbagai mesin (Linux, Unix, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system. http://digilib.mercubuana.ac.id/ 14 2.4.1 Cara kerja PHP PHP merupakan sebuah bahasa pemograman sisi server, artinya tulisan PHP akan dieksekusi di server dan hasilnya dikirimkan ke klien atau situs web. Secara sederhana cara kerja PHP dapat melihat Gambar 2.4: Gambar 2.2 Cara Kerja PHP 1. Klient atau situs web me-request halaman PHP. Kemudian web server mencari dan mempersiapkan halaman yang diminta. 2. Dokumen PHP dikirim ke mesin PHP yang akan memproses tulisan PHP yang ada di antara tag PHP. 3. Hasil proses digabungkan dengan format lain (PHP, HTML, dan format lain yang diminta oleh browser ). 4. Hasil penggabungan pada proses 4 dikirimkan ke web server. 5. Kemudian web server mengirim hasil akhir ke klien. http://digilib.mercubuana.ac.id/ 15 2.5 MySQL MySQL adalah salah satu basis data server yang sangat terkenal. MySQL merupakan satu perangkat lunak sistem manajemen basis data atau sering disebut RDBMS (Relational Database Management System). Berbeda dengan basis data konvensional seperti .dat, .dbf, .mdb, MySQL mempunyai kelebihan yaitu bersifat multithread dan multi-user serta mendukung sistem jaringan. (Hirin dan Virgi, 2011, Cepat Mahir Pemrograman Web Dengan PHP MYSQL). Beberapa keunggulan MySQL: 1. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris dan masih banyak lagi. 2. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host dan izin akan user dengan sistem perizinan yang mendetail serta santi terenkripsi. 3. Dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX) atau Named Pipes (NT). 4. Memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned, integer, fload, double, char, text, date dan lain-lain. 5. MySQL memiliki antar muka (Interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 6. Dapat digunakan oleh beberapa pengguna dalam waktu bersamaan tanpa mengalami masalah atau konflik. 2.6 XAMPP XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Fungsinya adalah sebagai server yang berdiri sendiri atau localhost. Bagian-bagian yang biasa digunakan pada XAMPP adalah: http://digilib.mercubuana.ac.id/ 16 1. Htdoc adalah folder tempat meletakan berkas-berkas yang akan dijalankan seperti berkas php, html dan skrip lainnya. 2. PhpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada dalam komputer. 3. Control Panel yang berfungsi mengelola layanan XAMPP, seperti menghentikan atau memulai layanan. 2.7 Adobe Dreamweaver Adobe Dreamweaver merupakan program penyunting halaman web keluaran Adobe Systems yang dulu dikenal sebagai Macromedia Dreamweaver keluaran Macromedia. Program ini banyak digunakan oleh pengembang web karena fitur-fiturnya yang menarik dan kemudahan penggunaannya. Versi terakhir Macromedia Dreamweaver sebelum Macromedia dibeli oleh Adobe Systems yaitu versi 8. Versi terakhir Dreamweaver keluaran Adobe Systems adalah versi 12 yang ada dalam Adobe Creative Suite 6 (sering disingkat Adobe CS6). 2.7.1 Fitur Adobe Dreamweaver Adobe Dreamweaver adalah aplikasi desain dan pengembangan web yang menyediakan editor WYSIWYG visual (bahasa sehari-hari yang disebut sebagai Design view) dan kode editor dengan fitur standar seperti syntax highlighting, code completion, dan code collapsing serta fitur lebih canggih seperti real-time syntax checking dan code introspection untuk menghasilkan petunjuk kode untuk membantu pengguna dalam menulis kode. Tata letak tampilan Design memfasilitasi desain cepat dan pembuatan kode seperti memungkinkan pengguna dengan cepat membuat tata letak dan manipulasi elemen HTML. Dreamweaver memiliki fitur browser yang terintegrasi untuk melihat halaman web yang dikembangkan di jendela pratinjau program sendiri agar konten memungkinkan untuk terbuka di web browser yang telah terinstall. Aplikasi ini menyediakan http://digilib.mercubuana.ac.id/ 17 transfer dan fitursinkronisasi, kemampuan untuk mencari dan mengganti baris teks atau kode untuk mencari kata atau kalimat biasa di seluruh situs, dan templating feature yang memungkinkan untuk berbagi satu sumber kode atau memperbarui tata letak di seluruh situs tanpa server side includes atau scripting. Behavior Panel juga memungkinkan penggunaan JavaScript dasar tanpa pengetahuan coding, dan integrasi dengan Adobe Spry Ajax framework menawarkan akses mudah ke konten yang dibuat secara dinamis dan interface. Dreamweaver dapat menggunakan ekstensi dari pihak ketiga untuk memperpanjang fungsionalitas inti dari aplikasi, yang setiap pengembang web bisa menulis (sebagian besar dalam HTML dan JavaScript). Dreamweaver didukung oleh komunitas besar pengembang ekstensi yang membuat ekstensi yang tersedia (baik komersial maupun yang gratis) untuk pengembangan web dari efek rollover sederhana sampai full-featured shopping cart. Dreamweaver, seperti editor HTML lainnya, edit file secara lokal kemudian diupload ke web server remote menggunakan FTP, SFTP, atau WebDAV. Dreamweaver CS4 sekarang mendukung sistem kontrol versi Subversion (SVN). 2.7.2 Macromedia Macromedia adalah sebuah perusahaan perangkat lunak yang bergerak di bidang grafis dan pengembangan web. Perusahaan ini didirikan pada tahun 1992 dan telah berkembang pesat pada tahun 1990-an dan 2000-an. Pada Desember 2005 Macromedia diakuisisi salah satu perusahaan saingannya, Adobe Systems, tetapi Adobe sementara ini masih tetap menggunakan nama Macromedia pada sejumlah programnya. Macromedia didirikan pada tahun 1992 melalui merger antara Authorware Inc. (perusahaan pembuat Authorware) dan MacroMind-Paracomp (perusahaan pembuat Macromind Director). Hingga pertengahan 1990-an, Macromedia Director yang digunakan untuk memproduksi CD-ROM dan kios-kios informasi http://digilib.mercubuana.ac.id/ 18 masih merupakan produk unggulan Macromedia, namun seiring meningkatnya popularitas World Wide Web Macromedia menciptakan Shockwave, sebuah plugin Director bagi penjelajah web serta pada tahun 1996mengakuisisi dua perusahaan berorientasi web, FutureWave Software (yang membuat Future Splash Animator - yang kemudian berkembang menjadi Flash) dan iBand Software (pembuat perangkat lunak authoring HTML - yang digunakan sebagai dasar untuk mengembangkan Dreamweaver). Tahun 2001 Macromedia mengakuisisi Allaire, yang mengembangkan ColdFusion sebelum pada akhirnya pada tahun 2005 Macromedia sendiri dibeli oleh Adobe. 2.8 Diagram Konteks (data flow diagram context level) Data flow diagram (DFD) context level atau diagram konteks adalah sebuah diagram sederhana yang mengambarkan hubungan dengan entitas luar, masukan dan keluaran dari sistem. Diagram konteks direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. Diagram konteks mempunyai karakteristik penting dari sebuah sistem, yaitu: 1. Data masuk yaitu data yang diterima sistem dari lingkungan dan harus diproses dengan cara tertentu. 2. Data keluar yaitu data yang dihasilkan sistem dan diberikan ke pihak luar. 3. Penyimpanan data yang digunakan secara bersama-sama antara sistem dan terminator. 4. Batasan antara sistem dan lingkungan. 2.8.1 Unified Modelling Language (UML) Unified Modelling Language atau UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, http://digilib.mercubuana.ac.id/ membangun, dan 19 mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. (Rama and Jones. Sistem Informasi Akuntansi 2. Jakarta: Salemba, 2008). UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu: 1. Use Case Diagram untuk memodelkan proses bisnis. diagram yang menggabarkan sekelompok use cases dan actor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan / requirement yang diinginkan / dikehendaki user / pengguna, serta sengat berguna dalam menentukan stuktur organisasi dan model dari sebuah system. 2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi. 3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects. 4. Collaboration Diagram untuk memodelkan interaksi antar objects. diagram yang menapilkan kolaborasi dinamik antar objek tanpa memperlihatkan aspek waktu. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem. diagram yang memperlihatkan kolaborasi dinamik antara objek-objek dengan suatu urutan pesan (a sequence of message) antar objek tersebut. 6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system. diagram yang memperlihatkan aliran urutan aktifitas. 7. Class Diagram untuk memodelkan struktur kelas. http://digilib.mercubuana.ac.id/ 20 diagram yang menampilkan stirktur statis dari kelas actual didalam system. 8. Object Diagram untuk memodelkan struktur object. diagram merupakan varian dari kelas diagram yang memeperlihatkan obyek yang mengintansiasi (instances) kelas. 9. Component Diagram untuk memodelkan komponen object. diaram yang memperlihatkan struktur fisik dari source code dalam terminology code components. kompenen berisi informasi tentang logical class dapat berupa komponen source code, komponen biner atau komponen yang dapat dieksekusi. 10. Deployment Diagram untuk memodelkan distribusi aplikasi. diagram yang memperlihatkan arsitektur fisik dari hardware dan software pada system. Berikut akan dijelaskan macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram. (Ir. M. FARID AZIS, M. Kom 2006, Object Oriented Programming Php 5, halaman 118. Elex Media Komputindo). 2.9 Basis Data Basis data (database) merupakan komponen utama dalam membangun sebuah sistem yang menyangkut pendokumentasian data kedalam sebuah database. Bentuk basis data adalah sebuah aturan yang mengatasi masalah tersebut. Saat ini basis data memiliki peranan yang sangat penting dalam mengelola data yang ada didalamnya. Validasi juga tercakup didalamnya karena aturan-aturan dalam sebuah data yang terdokumentasikan juga memiliki sebuah aturan yang dikenal dengan basis data. http://digilib.mercubuana.ac.id/ 21 2.10 ERD (Entity Relationship Diagram) ERD adalah merupakan salah satu model yang digunakan untuk mendesain database dengan tujuan menggambarkan data yang berelasi pada sebuah database. Umumnya setelah perancangan ERD selesai berikutnya adalah mendesain database secara fisik yaitu pembuatan tabel, index dengan tetap mempertimbangkan performance. Kemudian setelah database selesai dilanjutkan dengan merancang aplikasi yang melibatkan database. 2.11 Blackbox Testing Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya : 1. Fungsi-fungsi yang salah atau hilang : Jika user salah memasukan password maka yang seharusnya terjadi adalah adanya pesan error dalam memasukan password lalu sistem akan mengembalikan ke halaman login, bukan menampilkan pesan sukses login atau tidak terjadi apa-apa. 2. Kesalahan interface : Jika ada tombol yang kurang rapih atau kata-kata yang kurang. 3. Kesalahan dalam struktur data atau akses database eksternal : Misalnya penempatan dalam relasi primary key antar primary key yang lainnya sesuai dengan kebutuhan. http://digilib.mercubuana.ac.id/ 22 4. Kesalahan performa : Panjang type variabel yang dapat menampung banyak karakter. Contohnya bila panjang variabelnya 10 sementara banyaknya panjang karakter lebih dari 10 maka data tidak akan masuk 5. Kesalahan inisialisasi dan terminasi : Memproses karakter id (tidak ada karakter spesial) dan menutup aplikasi bila terjadi kesalahan dalam sistem. http://digilib.mercubuana.ac.id/