1 BAB II LANDASAN TEORI 2.1 Web Pengertian Web Merupakan salah satu layanan yang dapat didapat oleh pemakai komputer yang terhubung ke internet dan ya...
Pengertian Web Merupakan salah satu layanan yang dapat didapat oleh pemakai komputer yang
terhubung ke internet dan yang disimpan dan dieksekusi di lingkungan web server. Setiap permintaan yang dilakukan oleh user melalui aplikasi klien (web browser) akan direspon oleh aplikasi web dan hasilnya akan dikembalikan lagi kehadapan user. Dengan aplikasi web, halaman yang tampil di layar web browser dapat bersifat dinamis, tergantung dari nilai data atau parameter yang dimasukan oleh user. Dan aplikasi web juga dapat mengakses file-file yang bersifat statis (misal: dokumen HTML, file gambar maupun file teks). Web memudahkan pengguna komputer untuk berinteraksi dengan pengguna internet lainnya dan menelusuri (informasi) di internet.
2.2 Sistem Informasi Perpustakaan 2.2.1 Sistem Pengertian Sistem dalam pengertian yang paling umum adalah sekumpulan benda yang memiliki hubungan di antara mereka. Kata sistem sendiri berasal dari bahasa Latin (systema) dan bahasa Yunani (sustema) adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi.
9
10
Sedangkan menurut para ahli, pengertian sistem diartikan sebagai berikut : 1. L. James Havery Menurutnya sistem adalah prosedur logis dan rasional untuk merancang suatu rangkaian yang berhubungan satu dengan yang lainnya dengan maksud untuk berfungsi sebagai suatu kesatuan dalam usaha mencapai suatu tujuan yang telah ditentukan. 2. John Mc Manama Menurutnya sistem adalah sebuah struktur konseptual yang tersusun dari fungsi-fungsi yang saling berhubungan yang bekerja sebagai suatu kesatuan organik untuk mencapai suatu hasil yang diinginkan secara efektif dan efisien. 3. C.W. Churchman Menurutnya sistem adalah seperangkat bagian-bagian yang dikoordinasikan untuk melaksanakan seperangkat tujuan. Mengacu pada beberapa definisi sistem di atas, dapat juga diartikan, sistem adalah sekumpulan unsur / elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan. Sebagai contoh, dalam sistem komputer terdapat software (perangkat lunak), hardware (perangkat keras), dan brainware (sumber daya manusia).
2.2.2 Sistem Informasi Informasi adalah data yang telah diberi makna melalui konteks. Sebagai contoh, dokumen berbentuk spreadsheet (semisal dari Microsoft Excel) seringkali digunakan untuk membuat informasi dari data yang ada di dalamnya.
11
Sistem Informasi adalah kombinasi dari teknologi informasi dan aktivitas orang yang menggunakan teknologi itu untuk mendukung operasi dan manajemen. Dalam arti yang sangat luas, istilah sistem informasi yang sering digunakan merujuk kepada interaksi antara orang, proses algoritmik, data, dan teknologi. Dalam pengertian ini, istilah ini digunakan untuk merujuk tidak hanya pada penggunaan organisasi teknologi informasi dan komunikasi (TIK), tetapi juga untuk cara di mana orang berinteraksi dengan teknologi ini dalam mendukung proses bisnis. Ada yang membuat perbedaan yang jelas antara sistem informasi, dikomputer sistem TIK, dan proses bisnis. Sistem informasi yang berbeda dari teknologi informasi dalam sistem informasi biasanya terlihat seperti memiliki komponen TIK. Hal ini terutama berkaitan dengan tujuan pemanfaatan teknologi informasi. Sistem informasi juga berbeda dari proses bisnis. Sistem informasi membantu untuk mengontrol kinerja proses bisnis.
2.2.3 Perpustakaan Menurut UU Perpustakaan pada Bab I pasal 1 menyatakan perpustakaan adalah institusi yang mengumpulkan pengetahuan tercetak dan terekam, mengelolanya dengan cara khusus guna memenuhi kebutuhan intelektualitas para penggunanya melalui beragam cara interaksi pengetahuan. Dalam arti tradisional, perpustakaan adalah sebuah koleksi buku dan majalah. Walaupun dapat diartikan sebagai koleksi pribadi perseorangan, namun perpustakaan lebih umum dikenal sebagai sebuah koleksi besar yang dibiayai dan dioperasikan oleh sebuah kota atau institusi, dan dimanfaatkan oleh masyarakat yang rata-rata tidak mampu membeli sekian banyak buku atas biaya sendiri.
12
Tetapi, dengan koleksi dan penemuan media baru selain buku untuk menyimpan informasi, banyak perpustakaan kini juga merupakan tempat penimpanan dan/atau akses ke map, cetak atau hasil seni lainnya, mikrofilm, mikrofiche, tape audio, CD, LP, tape video dan DVD, dan menyediakan fasilitas umum untuk mengakses gudang data CD-ROM dan internet. Perpustakaan dapat juga diartikan sebagai kumpulan informasi yang bersifat ilmu pengetahuan, hiburan, rekreasi, dan ibadah yang merupakan kebutuhan hakiki manusia. Oleh karena itu perpustakaan modern telah didefinisikan kembali sebagai tempat untuk mengakses informasi dalam format apapun, apakah informasi itu disimpan dalam gedung perpustakaan tersebut atau tidak. Dalam perpustakaan modern ini selain kumpulan buku tercetak, sebagian buku dan koleksinya ada dalam perpustakaan digital (dalam bentuk data yang bisa diakses lewat jaringan komputer). Tujuan Perpustakaan antara lain : Tujuan perpustakaan adalah untuk membantu masyarakat dalam segala umur dengan memberikan kesempatan dengan dorongan melelui jasa pelayanan perpustakaan agar mereka : a. Dapat mendidik dirinya sendiri secara berkesimbungan. b. Dapat tanggap dalam kemajuan pada berbagai lapangan ilmu pengetahuan, kehidupan sosial dan politik. c. Dapat memelihara kemerdekaan berfikir yang konstruktif untuk menjadi anggota keluarga dan masyarakat yang lebih baik.
13
d. Dapat mengembangkan kemampuan berfikir kreatif, membina rohani dan dapat menggunakan kemampuannya untuk dapat menghargai hasil seni dan budaya manusia. e. Dapat meningkatkan taraf kehidupan sehari-hari dan lapangan pekerjaannya. f. Dapat menjadi warga negara yang baik dan dapat berpatisipasi secara aktif dalam pembangunan nasional dan dalam membina saling pengertian antar bangsa. g. Dapat menggunakan waktu senggang dengan baik yang bermanfaat bagi kehidupan pribadi dan sosial.
2.3 Metode Terstuktur Dalam mengerjakan suatu proyek rekayasa perangkat lunak, tentunya diperlukan model-model untuk menggambarkan sistem yang dibangun. Model-model tersebut dipilih sesuai sifat aplikasi dan proyeknya, metode dan alat bantu yang akan dipakai, dan control serta penyampaian yang dibutuhkan. Banyak model yang ada pada rekayasa perangkat lunak, namun yang dipakai pada pembangunan system pelaporan berbasis web ini menggunakan metode waterfall yang mana model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya
14
yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :
Gambar 2.1 Pemodelan Waterfall
Gambar di atas adalah tahapan umum dari model proses ini. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini:
1. System / Information Engineering and Modeling. Pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition;
2. Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas
15
tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan;
3. Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint”software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software;
4. Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer;
5. Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya;
6. Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada error-error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada
16
software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
2.4
Bahasa Pemrograman 2.4.1
Hypertext Markup Language (HTML)
Hypertext Markup Language (HTML) adalah suatu sistem penulisan perintah dan formatting hypertext sederhana yang ditulis ke dalam dokumen teks ASCII agar dapat menghasilkan tampilan visual yang terintegrasi. Dengan kata lain, dokumen yang dibuat dalam aplikasi pengolah kata dan disimpan ke dalam format ASCII normal sehingga menjadi home page dengan tambahan perintah-perintah HTML. Dengan menggunakan perintah-perintah HTML memungkinkan user untuk melakukan fungsi-fungsi berikut ini: 1. Menentukan ukuran dan alur teks. 2. Mengintegrasikan gambar dan teks (in-line). 3. Membuat links. 4. Mengintegrasikan file audio dan video. 5. Membuat forn interaktif. HTML lebih menekankan pada penggambaran komponen-komponen, struktur dan formatting di dalam halaman web daripada menentukan penampilannya. Sedangkan web browser digunakan untuk menginterpretasikan perintah-perintah HTML yang disispkan ke dalam teks dan menampilkan susunan halaman ke style builtin browser dengan menggunakan font, tab, warna, garis, dan perataan teks yang dikehendaki ke komputer yang menampilkan halaman web.
17
Versi terakhir dari HTML adalah HTML 5 meskipun saat ini telah berkembang XHTML yang merupakan pengembangan dari HTML. HTML tersebut berupa kodekode tag yang mengintruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file html dapat dibuka dengan menggunakan browser web seperti Mozila Firefox, Microsoft Internet Explorer, Chrome dan browser lainnya. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser. 2.4.2
Cascading Style Sheet (CSS) CSS (Cascading Style Sheet ) kegunaannya adalah untuk mengatur tampilan
dokumen HTML. CSS dikembangkan oleh W3, organisasi yang mengembangkan teknologi internet. Tujunnya adalah untuk mempermudah proses penataan halaman pada web. Kode CSS bersifat lintas platform, yang berarti script ini dapat dibaca oleh berbagai macam sistem operasi dan browser.
CSS dapat digunakan untuk mendefinisikan look and feel tampilan spesifik dari situs web. Menggunakan style sheet, dapat mendefinisikan bagaimana tiap-tiap tipe elemen halaman akan terlihat, dan juga dapat membuat definisi untuk style spesifik yang dapat dipilih untuk diterapkan ke elemen spesifik halaman.
Ada tiga dasar penyusun file CSS yaitu elemen, class, dan id. Elemen mereferensikan semua elemen HTML khusus dalam situs web.
Perintah CSS terdiri dari dua bagian utama yaitu:
18
1. Selector adalah nilai yang menetapkan bagaimana browser memilih definisi pemformatan khusus yang diatur dalam halaman web; 2. Declaration adalah satu atau beberapa properti dan nilai dari CSS yang menunjukkan type bentuk yang diaplikasikan pada selector. Declaration ditandai dengan kurung kurawal, dan properti dan nilai CSS yang berbeda dipisahkan satu dengan yang lain menggunakan titik-koma (;). Declaration terdiri dari dua bagian, yaitu: a. Property adalah elemen pemformatan yang didefinisikan, seperti tampilan font, warna, dan ukuran dari selector khusus; b. Value adalah informasi pemformatan aktual.
Dengan class, Anda dapat mengatur sebuah "class" dari elemen pemformatan yang berbeda dengan class lainnya dari elemen yang sama atau defaultclass. Anda dapat membuat class custom dengan menambahkan titik sebelum nama class.
Penyusun file CSS yang ketiga adalah id. Id mirip dengan class dalam hal mereferensikan pengaturan khusus elemen. Perbedaaan utama di antara keduanya adalah id hanya dapat digunakan sekali saja dalam kode HTML, sedangkan class dapat digunakan berulang kali. Id digunakan terutama untuk sesuatu seperti header dan footer dimana hanya satu id yang diperlukan. Untuk menerapkan id, tanda titik sebelum nama class diganti dengan sharp (#). Ada dua cara untuk menerapkan pemformatan CSS dalam halaman web, yaitu: 1. Stylesheet internal. Cara ini kana mengatur definisi style dalam blok <style>di daerah di dokumen web;
19
2. Stylesheet eksternal. Cara ini akan mengatur definisi style dalam dokumen stylesheet terpisah dan di-link/dikaitkan ke halaman (atau banyak halaman) melalui tag dalam daerah di dokumen web.
2.4.3
Javascript
Javascript adalah bahasa scripting yang popular di internet dan dapat bekerja di sebagian besar browser popular seperti Internet Explorer (IE), Mozilla FireFox, Netscape dan Opera. Kode Javascript dapat disisipkan ke dalam halaman web menggunakan tag<script>. Beberapa hal tentang Javascript: 1. Javascript didesain untuk menambah interaktif suatu web; 2. Javascript merupakan sebuah bahasa scripting; 3. Bahasa scripting merupakan bahasa pemrograman yang ringan; 4. Javascript berisi baris kode yang dijalankan di komputer (web browser); 5. Javascript biasanya disisipkan (embedded) dalam halaman HTML; 6. Javascript adalah bahasa interpreter (yang berarti skrip dieksekusi tanpa proses kompilasi); 7. Setiap orang dapat menggunakan Javascript tanpa membayar lisensi.
Ada beberapa cara untuk menuliskan Javascript, yaitu di bagian . atau external. Javascript dalam sebuah halaman web akan dieksekusi saat halaman di-load oleh browser. Namun, hal ini kadang tidak sesuai dengan keinginan
20
karena suatu saat akan mengeksekusi skrip saat halaman di-load, tetapi kadang javascript dijalankan melalui trigger sebuah event.
2.4.4
PHP PHP singkatan dari PHP Hypertext Preprocessor adalah salah satu bahasa
pemograman script yang dirancang untuk membangun aplikasi web. Ketika dipanggil dari web browser, program yang ditulis dengan PHP akan di-parsing didalam web server oleh interpreter PHP dan diterjemahkan kedalam dokumen HTML, yang selanjutnya akan ditampilkan kembali ke web server, PHP dikatakan sebagai bahasa sisi server (server-side). Oleh sebab itu, kode PHP tidak akan terlihat pada saat user memilih perintah “View Sourcecode ” pada web browser yang mereka gunakan. 2.4.4.1 Sejarah PHP Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP.
21
Pada November 1997, dirilis PHP/FI 2.0.Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0.PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21.Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0.Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar.Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
2.4.4.2 Kelebihan PHP dibandingkan bahasa pemrograman lain Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
22
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya; 2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah; 3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan; 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak; 5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.
2.5 Pemodelan Data Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan datadata, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada peringkat logika. 1.
Model ERD atau Conceptual Data Model (CDM) : model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu;
2.
Model Relasional atau Physical Data Model (PDM) : model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data
23
tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik.
Tabel 2.1 Simbol – simbol ERD ( Entity Relationship Diagram ) Simbol
Nama Entitas,
adalah
suatu
objek
yang
dapat
diidentifikasi dalam lingkungan pemakai.
Relasi, menunjukkan adanya hubungan di antara sejumlah entitas yang berbeda.
Atribut, berfungsi mendeskripsikan karakter entitas (atribut yg berfungsi sebagai key diberi garis bawah)
Garis, sebagai penghubung antara relasi dengan entitas, relasi dan entitas dengan atribut.
24
Istilah yang digunakan adalah sebagai berikut : 1) Entitas Segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi. a) Strong entity (entitas kuat) Entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain).
b) Weak entity (entitas lemah) Entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung. Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).
25
2) Atribut Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
3) Relasi atau Hubungan Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Derajat relasi atau kardinalitas menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-macam kardinalitas adalah: 1. Satu ke satu (one to one), Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya. 2. Satu ke banyak (one to many), Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya. 3. Banyak ke banyak (many to many), Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya. a. Agregasi Suatu keadaan di mana suatu relasi hanya dapat direalisasikan setelah relasi yang lain ada terlebih dahulu. Relasi yang bertipe agregasi tidak dimungkinkan ada jika relasi yang menjadi prasyaratnya tidak terealisasi. Sesungguhnya agregasi
dapat
dipandang sebagaimana relasi
pada umumnya
(yang
menghubungkan 2 entitas). Karena relasi ini dibentuk dari relasi lain (relasi prasyarat)
yang
secara
kronologis
lebih
dulu
terbentuk,
maka
26
pengimplementasiannya juga harus dilakukan setelah relasi prasyarat tersebut terimplementasikan. Selanjutnya kita tinggal meninjau derajat relasi dari relasi agregasinya.
b. Normalisasi Proses penyusunan data untuk mengurangi terjadinya duplikasi dan inkonsistensi. 1) First Normal Form (1NF) : tidak boleh ada kelompok yang berulang pada tabel, penguraian atribut multivalued dan composit. 2) Second Normal Form (2NF) : atribut bukan kunci tidak boleh bergantung pada sebagian primary key, artinya atribut bukan kunci harus bergantung pada semua atribut yang termasuk primary key – >functional dependency pada primary key. 3) Third Normal Form (3NF) : tidak boleh ada atribut bukan kunci yang bergantung pada atribut selain primary key. 4) Boyce-Codd Normal Form (BCNF) : atribut yang ditentukan bukan bagian dari key attribute. Perbedaan antara tahap 1NF dengan tahap BCNF : 1) 1NF : tahap normalisasi dasar, yang mana masih belum sampai pada tingkat efektifitas maksimal, masih banyak kemungkinan terjadinya redundancy data atau duplikasi data. 2) BCNF : tahap normalisasi setelah 3NF , yang mana efektifitas telah mencapai maksimal, kemungkinan terjadinya redundancy data dan duplikasi data lebih kecil daripada 1NF.
27
Fungsi dari pembuatan model data diantaranya sebagai berikut : 1. Untuk menghindari Redudancy. 2. Menghemat penyimpanan (storage) data. 3. Menambah efektifitas dan kecepatan akses. 4. Untuk menghindari terjadinya asinkronisasi data pada saat diupdate.
2.5.1
Diagram Aliran Data (DFD) Diagram Aliran Data/Data Flow Diagram (DFD) adalah sebuah teknik grafis
yang menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output. DFD dapat digunakan untuk menyajikan sebuah sistem atau perangkat lunak pada setiap tingkat abstraksi.DFD dapat dipartisi ke dalam tingkat-tingkat yang merepresentasikan aliran informasi yang bertambah dan fungsi ideal. DFD memberikan suatu mekanisme bagi pemodelan fungsional dan pemodelan aliran informasi. Tabel 2.2 Simbol – simbol DFD ( Data Flow Diagram ) Simbol
Nama
Penjelasan mengirim data ke dan menerima data dari sistem digambarkan dengan
External Entity
kotak
28
Simbol
Nama
Penjelasan Flow
Arus data yang masuk dan keluar dalam sebuah sistem
Resource Flow
Arus data yang masuk dan keluar dalam sebuah data store
Process
Proses yang mengubah input menjadi output
Data Store
Penyimpanan data
Istilah yang digunakan adalah sebagai berikut : 1. Sumber dan tujuan data Sumber dan Tujuan data mengirim data ke dan menerima data dari sistem digambarkan dengan kotak. 2. Alur Data/Data Flow Alur data yang menghubungkan data store dengan suatu proses mempunyai pengertian sebagai berikut:
29
a. Alur data yang berasal dari data store, berarti proses membutuhkan data yang berada pada data store tersebut b.
Alur data yang menuju ke data store, berarti suatu proses akan menghasilkan output atau keluaran yang disimpan pada data store tersebut.
c. Alur data yang berasal dan yang menuju ke data store berarti suatu proses akan mengupdate data, menghapus atau mengubah data. d. Suatu alur data digambarkan dengan anak panah, yang menunjukan arah menuju ke dalam dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau paket data / informasi dari satu bagian sistem ke bagian lainnya. 3. Proses Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Proses menggambarkan bagian dari system yang mentransformalkan input menjadi output. Proses diberi nama untuk menjelaskan proses atau kegiatan apa yang sedang atau akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja yang membutuhkan objek.
4. Data Store/Penyimpanan Data Data store digunakan untuk membuat model sekumpulan paket data. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file hardisk, fita magnetik. Data store juga berkaitan dengan penyimpanan
30
secara manual seperti buku alamat, file folder dan agenda, yang digambarkan dengan dua garis sejajar.
Levelisasi DFD adalah : 1. Diagram Konteks Merupakan diagram tingkat atas yang terdiri dari proses dan menggambarkan hubungan terminator dengan sistem yang mewakili suatu proses. Hubungan antar Terminator dan Data Store tidak digambarkan. 2. Diagram Zero Diagram ini merupakan diagram tingkat menengah yang menggambarkan proses utama dari dalam sistem, yang terdiri dari hubungan entitas (entity), proses data flow dan penyimpanan data (data store). 3. Diagram Detail atau Diagram Primitif Diagram Primitif merupakan diagram paling bawah yang tidak dapat diuraikan lagi, sedangkan Diagram Detail masih dapat diuraikan. 2.6 Database 2.6.1 Pengertian Database Database adalah suatu aplikasi terpisah yang menyimpan suatu koleksi data. Masing-masing databse memiliki satu API atau lebih yang berbeda untuk menciptakan, mengakses, mengelola, mencari, dan mereplikasi data. Sebuah database adalah tempat penyimpanan file data. Sebagai file data, suatu database tidak menyajikan informasi secara langsung kepada pengguna. Pengguna
31
harus menjalankan aplikasi untuk mengakses data dari database dan menyajikannya dalam bentuk yang bisa dimengerti. Ketika bekerja dengan file-file data, suatu aplikasi harus dikodekan agar bekerja dengan struktur masing-masing file data. Biasanya, suatu database berisi suatu katalog yang menggunakan aplikasi untuk menentukan cara data diorganisir. Aplikasi database umum bisa menggunakan katalog tersebut untuk menampilkan data dengan pengguna dari database yang berbeda secara dinamis, tanpa terikat pada format tertentu.
2.6.2
Database Management System (DBMS) Perangkat lunak sistem manajemen basis data (DBMS) menggunakan aplikasi
untuk mengakses data. DBMS bertanggung jawab menguatkan struktur basis data, termasuk: 1.
Memelihara hubungan antar data di dalam database;
2.
Memastikan bahwa data tersimpan secara tepat, dan menetapkan aturan hubungan data agar tidak dilanggar;
3.
2.6.3
Pemulihan (recovery) semua data dari kegagalan sistem.
MySQL
MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language). MySQL memiliki dua bentuk lisensi, yaitu FreeSoftwere dan Sharewere.
32
MySQL merupakan satu perangkat lunak database yang berbentuk database rasional atau dalam bahasa basis data sering disebut dengan Relation Database Management System (RDBMS). MySQL merupakan sistem manajemen database yang bersifat relasional. Artinya data-data yang dikelola dalam database akan diletakkan pada beberapa tabel yang terpisah sehingga manipulasi data akan menjadi lebih cepat.
2.6.3.1 Kelebihan MySQL a. MySQL merupakan sebuah database server dan client. b. MySQL mampu menerima query yang bertumpuk dalam satu permintaan atau yang disebut Multi_Threading. c. MySQL merupakan sebuah database yang mampu menyimpan data berkapasitas sangat besar hingga berukuran Gigabyte sekalipun. d. MySQL didukung oleh driver ODBC, artinya database MySQL dapat diakses oleh beragam aplikasi. e. MySQL adalah database menggunakan enskripsi password. f. MySQL merupakan server database yang multy user, artinya database ini hanya tidak hanya digunakan oleh sepihak orang akan tetapi merupakan database yang dapat digunkan oleh banyak orang. g. MySQL dapat menciptakan lebih dari 16 kunci pertabel, dan dalam satu kunci memungkinkan berisi belasan field (kolom). h. MySQL mendukung field yang dijadikan sebagai kunci primer dan kunci uniqe (atau Unique).
33
i. MySQL didukung oleh sebuah komponen C dan perl API, sehingga database MySQL
dapat diakses melalui sebuah program aplikasi yang
berada dibawah protocol internet berupa web. j. MySQL memiliki kecepatan dalam pembuatan tabel maupun peng-updatean tabel. k. MySQL mengunakan suatu bahasa permintaan standar yang bernama SQL (Struktur Query Language) yaitu sebuah bahasa permintaan yang distandarkan pada beberapa database server seperti Oracale, PostGreSQL dll.
2.6.3.2 Cara Kerja MySQL MySQL termasuk database yang memiliki berbagai distro yang mampu dijalankan pada beberapa platform. Dan sebagai data base server tentunya MySQL mamapu menangani beberapa aplikasi lain yang akan mengakses data yang disimpannya. Ia dapat berjalan secara online didalam jaringan, sehingga para pengguna dan administrator dapat mengelola database dan servernya sendiri melalui jaringan. Berikut beberapa kelebihan MySQL dalam teknik pengaksesan data maupun pengelolaan servernya: 1. Local Client MySQL sebagai sebuah server Database, berfungsi sebagai client yang dijalankan pada computer local dimana MySQL berjalan.
34
2. Remote Client Sebagai sebuah database server MySQL dapat diakses melalui computer jaringan dengan cara remote. Pada proses remote ini dapat menggunakan program Client yang berjalan pada aplikasi. 3. Remote Login MySQL dapat diakses dengan menggunakan program MySQL yang berada pada computer lain, sehingga computer tersebut berfungsi sebagai Client MySQL. a. Web Browser Dengan menggunakan fungsi API yang dimiliki MySL, maka database dapat diakses menggunakan program yang dibuat dengan sebuah program yang berbasis Server Site yang berjalan dibawah web browser. b. Scripting Language MySQL juga dapat diakses melaui Program Aplikasi Client yang diciptakan sendiri oleh user, dengan menggunkan Visual – maupun non visual
yang
berjalan didalam jaringan. Untuk program – program yang berbasis GUI, user dapat menggunakna MySQL Manager.