BAB 2 TINJAUAN PUSTAKA 2.1 Teori yang berkaitan dengan Database Pada subbab ini akan dijelaskan mengenai definisi data dan informasi, basis data, Database Management System (selanjutnya disingkat DBMS), ERD, Normalisasi, Web Database System. 2.1.1 Definisi Data dan Informasi Berdasarkan O’Brien dan Marakas (2010, p29), data adalah hasil observasi atau fakta mentah, biasanya mengenai kejadian atau transaksi bisnis. Sedangkan menurut Turban et. al. (2005, p38), data adalah deskripsi dasar dari suatu benda, kejadian, kegiatan, dan transaksi yang direkam, diklasifikasikan dan disimpan tetapi tidak diorganisasikan untuk menyampaikan arti yang spesifik Turban et. al. (2005, p38), juga mengungkapkan bahwa informasi adalah data yang telah diorganisasikan agar data itu mempunyai arti dan nilai bagi penerima. Menurut Laudon dan Laudon (2010, p46), informasi adalah data yang sudah diolah menjadi bentuk yang berarti dan berguna bagi manusia. Jadi, dapat disimpulkan bahwa data adalah sesuatu yang belum memiliki arti atau makna bagi penerimanya dan memerlukan suatu pengolahan melalui berbagai analisis sehingga dapat melahirkan berbagai informasi, sedangkan informasi adalah data yang telah diolah menjadi bentuk yang lebih berguna dan berarti bagi penerimanya. 2.1.2 Pengertian Basis Data Basis data adalah kumpulan relasi logikal dari data atau deskripsi data yang dapat digunakan bersama dan dibuat untuk memperoleh informasi yang 7 8 dibutuhkan oleh organisasi. Basis data terdiri atas entitas, atribut, dan relationship dari informasi organisasi. Entitas merupakan suatu obyek nyata (manusia, tempat, benda, konsep, atau kejadian) dalam suatu organisasi yang direpresentasikan dalam basis data. Atribut merupakan suatu properti yang menjelaskan beberapa aspek dari obyek yang ingin disimpan. Relationship adalah suatu hubungan antara entitas yang satu dengan yang lainnya dalam basis data. (Connolly, 2010, p65) Sedangkan menurut Kim (2005,p1), dalam jurnal ilmiahnya Salah satu cara untuk membuat data lebih berguna dan lebih tepat adalah data yang digunakan dikumpulkan lalu disimpan dalam database. Database dan teknologi yang terkait pencarian dan penyimpanan. Kemudian meneliti bagaimana database dan teknologi yang terkait dapat digunakan dan lebih efektif. 2.1.3 Pengertian Sistem Basis Data Sistem basis data adalah sistem penyimpanan record yang terkomputerisasi dimana tujuan sebenarnya adalah untuk menyimpan data dan memperbolehkan user untuk menelusuri kembali dan mengubah data tersebut sesuai kebutuhan. (Connolly dan Begg, 2010, p5). 2.1.4 Definisi DBMS Menurut Connolly dan Begg (2010,p66), DBMS adalah suatu sistem software yang memungkinkan pengguna untuk mengidentifikasi, menciptakan, memelihara dan mengontrol akses ke basis data. Keuntungan DBMS Menurut Connolly dan Begg (2010, p77), DBMS memiliki keuntungan dan kekurangan sebagai berikut : 1. Kontrol terhadap pengulangan data. 2. Data yang konsisten. 3. Semakin banyak informasi yang didapat dari data yang sama. 9 4. Data yang dapat digunakan bersama-sama. 5. Menambah integritas data. 6. Menambah keamanan data. 7. Penetapan standardisasi. 8. Pengurangan biaya. 9. Menyeimbangkan konflik kebutuhan. 10. Menambah pengaksesan data dan hasil. 11. Menambah produktivitas. 12. Menambah pemeliharaan data melalui independensi data. 13. Menambah konkurensi. 14. Menambah backup dan recovery. Kekurangan DBMS 1. Kompleksitas. 2. Ukuran yang besar. 3. Biaya dari DBMS. 4. Biaya penambahan perangkat keras. 5. Biaya konversi. 6. Kinerja. 7. Efek yang besar dari kegagalan 2.1.5 Entity Relationship Diagram (ERD) ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan obyek-obyek dasar data yang mempunyai hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu : Entitas Entitas merupakan obyek yang mewakili sesuatu yang nyata dan dapat dibedakan. Simbol dari entity ini biasanya digambarkan dengan persegi panjang. 10 Atribut Setiap entitas pasti memiliki elemen yang disebut atribut, yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips. Hubungan / Relasi Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut : Relasi yang terjadi di antara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu : a. Satu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. b. Satu ke banyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. c. Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B. Begitupun juga sebaliknya himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan A. 11 Gambar 2.1 Contoh Entity Relationship Diagram. 2.1.6 Normalisasi Menurut Connolly dan Begg (2010, p416), normalisasi merupakan teknik untuk menghasilkan sekumpulan tabel dengan karakteristik yang tepat dan sesuai dengan kebutuhan data suatu organisasi. Dengan kata lain, normalisasi merupakan proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud sering disebut juga dengan istilah anomali. Karakteristik sekumpulan relasi yang dimaksud adalah sebagai berikut: a. Jumlah minimal atribut yang memenuhi kebutuhan data perusahaan; b. Atribut-atribut yang memiliki hubungan logis yang dekat (disebut juga functional dependency) terdapat pada tabel yang sama; c. Tingkat redundansi yang minimal ditandai dengan setiap atribut hanya didefinisikan sekali selain atribut yang merupakan foreign key. Manfaat menggunakan basis data yang sudah dinormalisasi adalah 12 basis data tersebut akan lebih mudah diakses dan dipelihara datanya oleh pengguna serta tempat penyimpanan yang dibutuhkan jauh lebih sedikit. Normalisasi dilakukan dengan cara menganalisis tabel dari primary key dan functional dependency melalui serangkaian aturan sehingga basis data dapat dinormalisasikan menjadi beberapa tingkat. Ada beberapa tingkatan normalisasi, tetapi tidak semuanya dilakukan. Tiga tingkat dasar normalisasi yang disarankan adalah First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). Penjelasan lebih lanjut mengenai tiga tingkat dasar normalisasi adalah sebagai berikut: a. Unnormalized Form(UNF) Unnormalized Form (selanjutnya disingkat UNF) merupakan tabel yang memiliki satu atau lebih kelompok data yang berulang. Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi (Contoh : Form) kedalam format tabel dengan baris dan kolom. b. First Normal Form (1NF) Menurut Connolly (2010, p403), First Normal Form adalah relasi dimana pertemuan antar setiap baris dan kolom terdiri 1 (satu) dan hanya 1 (satu) nilai. Dalam normalisasi pertama ini, data yang berulang dihilangkan dan di 1NF juga ditentukan primary key, syarat primary key adalah unik. b. Second Normal Form (2NF) Menurut Connolly (2010, p407), Second Normal Form (2NF) adalah merupakan sebuah relasi dalam 1NF yang setiap atribut non-primary keybersifat Full Function Dependencypada primary key dari relasi tersebut. Dalam normalisasi kedua ini, atribut yang tergantung pada sebagian dari suatu composite key sebuah tabel dipindahkan ke sebuah tabel yang terpisah. Menurut Connolly (2010, p391) full functional dependency adalah mengindikasikan bahwa jika A dan B 13 adalah atribut dari sebuah relasi, B adalah fully functional dependent dari A. c. Third Normal Form (3NF) Menurut Connolly (2010, p408), Third Normal Form (3NF) adalah sebuah relasi yang memenuhi normal pertama dan normal kedua dimana tidak terdapat atribut non primary key yang bersifat transitively dependent dari primary key-nya. Menurut Connolly (2010, p396), transitive dependency adalah jika kondisi A, B, dan C merupakan atribut-atribut dari sebuah relasi seperti jika A->B dan B->C, maka C adalah transitively dependent dari A melalui atau via B (disediakan bahwa A bukan functionally dependent dari B dan C). Dalam normalisasi ketiga ini, atribut yang tidak memberikan kontribusi terhadap penjelasan karakteristik primary key, akan dipindahkan ke sebuah tabel yang terpisah. Keuntungan dari tabel relasional dalam 3NF adalah menghilangkan data yang berulang dengan tujuan menghemat tempat dan mengurangi keanehan manipulasi. 2.1.7 SQL Menurut Connolly dan Begg (2010, p113), SQL merupakan bahasa yang dirancang untuk menggunakan relasi untuk mengubah masukan menjadi keluaran yang diharapkan. Menurut O’Brien dan Marakas (2010, p148), SQL adalah bahasa query yang ditemukan di berbagai paket manajemen database. SQL dimaksudkan untuk memenuhi keputusan berikut : a. Membuat database dan struktur relasi; b. Melakukan tugas dasar manajemen data, seperti pemasukan, modifikasi dan penghapusan data dari relasi; c. Melakukan query sederhana dankompleks. Standar SQL memiliki dua 14 komponen : 1. Data Definition Language (DDL) untuk menetapkan struktur databasedan mengontrol akses ke data;. 2. Data Manipulation Language (DML) untuk mendapatkan kembali (retrieve) dan memperbaharui data. 2.1.8 Definisi Web Database System Menurut Eaglestone dan Ridley (2004, p34), sistem basis data dapat dihubungkan ke internet untuk digunakan melalui web. Berikut ini adalah tipetipe dari koneksi yang digunakan: *GANTI TAHUN a. Remote Connections: sebuah sistem basis data yang dapat diakses melalui web dimanapun pengguna berada. b. Client-Server Architecture: bentuk umum dari program aplikasi basis data yang menggunakan internet. c. Distributed Databases: beberapa DBMS mempunyai fasilitas untuk mengizinkan bagian tertentu dari basis data disimpan pada komputer yang berbeda-beda. Data ini didistribusikan dan diletakkan di berbagai tempat berbeda yang tidak disadari oleh pengguna. d. Multidatabase: teknologi ini membuat beberapa basis data tunggal untuk disatukan sehingga mendukung akses yang terintegrasi ke tempat penyimpanan. Jadi web database adalah web yang dihubungkan dengan sistem basis data yang menyebabkan transaksi pada web dapat tersimpan pada basis data dan data dapat diakses oleh pengguna dimanapun mereka berada melalui web. 2.1.9 Database System Development Lifecyle (DSDLC) Untuk merancang aplikasi basis data diperlukan tahapan-tahapan yang harus diikuti yaitu siklus hidup aplikasi basis data (Database Application Lifecycle). Hal penting untuk diketahui adalah bahwa tahapan dalam 15 database application lifecycle tidak harus berurutan, akan tetapi melibatkan beberapa jumlah pengulangan dari tahapan sebelumnya. Gambar berikut merupakan gambaran dan penjelasan tentang tahapantahapan Database Lifecyle Gambar 2.2 Database System Development Lifecycle (DSDLC) Berikut adalah ringkasan dari aktivitas utama dari setiap tahapan dari lifecycle aplikasi basis data. 1. Perencanaan Basis Data (Database Planning) Menurut Connolly dan Begg (2010, p313), Perancanaan basis data adalah kegiatan pengelolaan yang memungkinkan tahapan dari sistem 16 pengembangan basis data lifecycle untuk direalisasikan seefisien dan seefektif mungkin. Ada tiga masalah utama yang terlibat dalam merumuskan strategi Sistem Informasi , yaitu: - Identifikasi rencana dan tujuan perusahaan dengan penentuan selanjutnya dari sistem informasi yang dibutuhkan. - Evaluasi dari sistem informasi saat ini untuk menentukan kekuatan dan kelemahan yang ada. - Penilaian dari peluang IT yang mungkin menghasilkan keunggulan yang kompetitif. 2. Pendefinisian Sistem (System Definition) Menurut Connolly dan Begg (2010, p316), pendefinisian sistem menjelaskan tentang ruang lingkup dan batasan-batasan dari aplikasi basis data dan user view yang utama. Sebelum mencoba untuk merancang sebuah sistem basis data, penting bahwa pertama-tama mengidentifikasikan batasan-batasan dari sistem yang sedang diselidiki dan bagaimana interface dengan bagian lain dari sistem informasi organisasi. Disertakan dalam ruang lingkup dan batas dari sistem basis data adalah pandangan pengguna (User View) utama yang harus didukung oleh basis data. User View Menurut Connolly dan Begg (2010,p316), User View mendefinisikan apa yang dibutuhkan dari sistem basis data dari perspektif peran pekerjaan tertentu (seperti Manager atau Supervisor)atau di bidang aplikasi perusahaan (seperti pemasaran, personalia, atau kontrol stok). 3. Pengumpulan dan Analisis Kebutuhan (Requirements Collection and Analysis) 17 Menurut Connolly dan Begg (2010, p316-p318) , merupakan suatu proses untuk mengumpulkan dan menganalisis informasi mengenai bagian dari organisasi yang akan didukung oleh sistem basis data, dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan untuk sistem yang baru. Menurut Connolly dan Begg (2010, p318-p319), Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan beberapa user view, yaitu: • Pendekatan terpusat (centralized approach). • Pendekatan integrasi tampilan (view integration approach). • kombinasi dari kedua pendekatan tersebut(combination of both approaches). 4. Perancangan Basis Data(Database Design) Menurut Connolly dan Begg (2010, p320-p319) , perancangan basis data adalah proses menciptakan suatu rancangan yang akan mendukung pernyataan misi dan tujuan misi perusahaan untuk sistem basis data yang dibutuhkan. Terdapat dua pendekatan yang dapat digunakan untuk merancang basis data, yaitu : 1. Bottom Up Approach Pendekatan Bottom Up dimulai dari atribut awal (Entity dan Relationship) yang dianalisa berhubungan antar atribut, kemudian dibentuk relasi yang memiliki tipe dari entitas dan relationship antar entitas. Pendekatan ini sesuai untuk perancangan basis data yang sederhana dengan jumlah atribut sedikit. 2. Top Down Approach Pendekatan Top Down dimulai dengan pengembangan data model yang terdiri dari sedikit atau banyak entity dan relationship, melakukan perbaikan top kemudian down untuk mengidentifikasikan lower- level entity, relationship, dan hubungan antar atribut. Pendekatan ini 18 digambarkan dengan model entity relationship (ER) , yang dimulai dari identifikasi entitas dan relationship antar entitas. Pada bagian ini (database design) dibagi menjadi tiga tahap yaitu konseptual, logikal, dan fisikal. 5. Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2010, p325) , Pemilihan suatu DBMS sangat tepat untuk mendukung sistem basis data. Langkah-langkah utama untuk memilih DBMS adalah: 1. Menentukan kerangka acuan kerja untuk penelitian. 2. Membuat daftar singkat untuk dua atau tiga produk. 3. Mengevaluasi produk. 4. Merekomendasikan pilihan dan menghasilkan laporan. 6. Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2010, p329) , Perancangan aplikasi merupakan rancangan pada user interface dan program aplikasi yang digunakan dan proses basis data. Dua aspek desain aplikasi, yaitu: a. Perancangan transaksi Menurut Connolly dan Begg(2010, p330), perancangan transaksi merupakan suatu aksi, atau serangkaian aksi yang dilakukan oleh pengguna tunggal atau program aplikasi, yang mengakses atau mengubah isi dari basis data. Tiga jenis utama transaksi yaitu: • Transaksi pengambilan (Retrieval transactions). • Transaksi update (Update transactions). • Transaksi campuran (Mixed transactions). b. Pedoman perancangan user interface Menurut Connolly dan Begg (2010, p331), panduan yang berguna untuk diikuti ketika merancang form atau laporan yaitu: 19 a) Judul yang bermakna (Meaningful title). b) Instruksi yang dipahami (Comprehensible instructions). c) Pengelompokan logical dan pengurutan kolom(logical grouping and sequencing of fields). d) Tata letak visual yang menarik dari form/laporan (visually appealing layout of the form/report). e) Label kolom yang familiar (familiar field labels). f) Konsisten dengan istilah dan singkatan (consistent terminology and abbreviations). g) Terlihat ruang dan batas-batas untuk kolom data entry (visible space and boundaries for data-entry fields). h) Gerakan kursor yang nyaman (convenient cursor movement). i) Koreksi kesalahan untuk karakter individu dan seluruh kolom (error correction for individual characters and entire fields). j) Pesan kesalahan untuk nilai-nilai yang tidak dapat diterima (error messages for unacceptable values). k) Kolom opsional ditandai dengan jelas (optional fields marked clearly). l) Penjelasan pesan untuk kolom (explanatory messages for fields). m) Sinyal penyelesaian (completion signal). 7. Prototyping Menurut Connolly dan Begg (2010, p333), Prototyping Membangun sebuah model kerja dari suatu sistem basis data. Tujuan utama dari pengembangan suatu prototype sistem basis data adalah untuk memungkinkan pengguna untuk menggunakan prototype untuk mengidentifikasikan fitur-fitur pada sistem yang bekerja dengan baik, atau kurang memadai, dan jika mungkin untuk memberikan saran perbaikan atau bahkan fitur baru untuk sistem basis data. 8. Implementasi 20 Menurut Connolly dan Begg (2010, p333-p334), implementasi merupakan realisasi fisik dari rancangan basis data dan aplikasi. Implementasi basis data dicapai dengan menggunakan Data Definition Language(DDL) dari DBMS yang dipilih atau Graphical User Interface(GUI), yang menyediakan fungsi yang sama sementara menyembunyikan laporan DDL tingkat rendah. 9. Konversi dan Pemuatan Data (Data Conversion and Loading) Menurut Connolly dan Begg (2010, p333-p334), Konversi dan loading data adalah proses memindahkan setiap data yang ada kedalam database baru dan mengubahnya ke aplikasi yang ada untuk dijalankan pada basis data yang baru. Tahap ini diperlukan hanya ketika sistem basis data yang baru menggantikan sistem yang lama. 10. Pengujian (Testing) Menurut Connolly dan Begg (2010, p334-p335), Testing merupakan suatu proses menjalankan sistem basis data dengan maksud menemukan kesalahan beberapa contoh kriteria yang dapat digunakan untuk melakukan evaluasi: 1. Learnability : Berapa lama waktu yang dibutuhkan pengguna baru untuk menjadi produktif dengan sistem? 2. Kinerja : Seberapa baik respon sistem yang sesuai praktek kerja user? 3. Ketahanan : Bagaimana toleransi terhadap sistem kesalahan pengguna? 4. Recoverability: Seberapa baik sistem pada pemulihan dari kesalahan pengguna? 5. Adapatability: Seberapa dekatkah sistem terkait dengan satu model kerja? 21 11. Pemeliharaan operasional (Operational Maintenance) Menurut Connolly dan Begg (2010, p335-p336), pemeliharaan operasional merupakan suatu proses pemantauan dan pemeliharaan sistem basis data berikut instalasinya. Tahapan kegiatan pemeliharaan: - Mengawasi kinerja dari sistem. - Memelihara dan meningkatkan sistem basis data. 2.2 Teori yang Terkait Tema Penelitian (tematik) Pada subbab ini akan dijelaskan mengenai definisi sistem, internet, jsp, elearning. 2.2.1 Definisi Sistem Sistem merupakan sekelompok elemen atau komponen yang saling berkaitan dan berhubungan atau berupa subsistem-subsistem yang bersatu untuk mencapai tujuan yang sama. Sedangkan sistem adalah sekelompok komponen-komponen yang saling berhubungan dan saling bekerja sama untuk mencapai tujuan yang sama dengan menerima input dan output dalam proses perubahan sebuah organisasi. (O’Brien dan Marakas,2010,p29) Berdasarkan teori diatas, dapat disimpulkan bahwa sistem adalah komponen yang terdiri dari model requirement, function, dan interface yang saling berhubungan dan bekerja sama untuk mencapai tujuan. 2.2.2 Analisis Sistem Menurut Turban (2005, p492), analisis sistem adalah pengkajian terhadap permasalahan bisnis yang akan diselesaikan oleh suatu organisasi dengan menggunakan sistem informasi. Tahapan ini menentukan permasalahan bisnis, penyebab, solusi, dan mengidentifikasi informasi yang dibutuhkan untuk mencapai solusi yang tepat. 22 Menurut Laudon (2010, p400-413), analisa sistem adalah suatu proses identifikasi terhadap masalah yang akan diselesaikan oleh sebuah organisasi dengan menggunakan sistem informasi, yang terdiri dari pendefinisian masalah dan identifikasi kebutuhan yang harus dipenuhi dari sistem. 2.2.3 Perancangan Sistem Tahapan perancangan sistem merupakan perancangan teknis yang menspesifikasikan hal-hal berikut (Turban at al, 2005, p492) : 1) Output, input, dan antar muka pengguna sistem. 2) Hardware, software, basis data, telekomunikasi, personil, dan prosedur. 3) Bagaimana komponen-komponen ini terintegrasi. 2.2.4 Diagramming Tool 2.2.4.1 Flowchart Flowchart adalah penggambaran secara grafik dari langkahlangkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Elemen – Elemen Flowchart Flowchart terdiri dari 4 buah elemen dasar: sumber data dan tujuan data, aliran data, proses transformasi, dan penyimpanan data. Berikut adalah simbol – simbol yang digunakan dalam membuat Flowchart : 23 Tabel 2.1 Flowchart Simbol Nama Deskripsi Merepresentasikan Input / Output Input data atau Output data yang diproses atau informasi. Proses Mempresentasikan Operasi Keluar ke atau masuk Connector dari bagian lain flowchart khususnya halaman yang sama Arrow Merepresentasikan alur kerja Decision Keputusan dalam Program Preparation Pemberian harga awal Terminal Points Awal / akhir flowchart Input / outuput yang Punches Card menggunakan kartu berlubang 24 Document I/O dalam format yang Dicetak I/O yang Magnetic Tape menggunakan pita magnetic I/O yang Magnetic Disk menggunakan disk magnetic Magnetic Drum I/O yang menggunakan drum magnetic I/O yang On-line Storage menggunakan penyimpanan akses langsung I/O yang Punched Tape menggunakan pita kertas berlubang Input yang Manual Input dimasukkan secara manual dari keyboard Output yang Display ditampilkan pada terminal Operasi Manual Manual Operation 25 Penyimpanan yang Off-line Storage tidak dapat diakses oleh komputer secara langsung 2.2.4.2 DFD (Data Flow Diagram) Data Flow Diagram adalah suatu gambaran grafis dari suatu sistem yang menggunakan sejumlah bentuk. Bentuk simbol untuk menggambarkan bagaimana data mengalir melalui suatu proses yang saling berkaitan. Walau nama diagram ini menekankan pada data, situasi justru sebaliknya, penekanannya ada pada proses. Dalam pembuatan DFD, terdapat beberapa tingkat yang bertujuan untuk menghindari aliran data yang rumit. Dimulai dari tingkatan tertinggi dan kemudian diuraikan ke dalam bentuk yang lebih rinci. Tingkatan tersebut terdiri dari: a. Diagram konteks (Context Data Flow Diagram) Context data flow diagram merupakan sebuah model proses yang digunakan untuk mendokumentasikan ruang lingkup dari sebuah sistem. b. Diagram nol (Level-0 Diagram) Level-0 diagram merupakan diagram aliran data yang menggambarkan sebuah major processes, data flow, dan data stores dari sebuah sistem yang berada pada tingkatan tertinggi untuk detailnya. c. Diagram rinci Diagram ini menggambarkan rincian dari proses yang terdapat pada tingkatan sebelumnya. 26 Simbol –simbol pada DFD Terdapat simbol yang umumnya digunakan pada pembuatan DFD, simbol-simbol tersebut memiliki fungsi yang berbeda yaitu data flows, processes, data stores, dan source/sink (entitas eksternal). Tabel 2.2 DFD Simbol Nama Proses Data Flow Data Store Store fungsi dari simbol-simbol tersebut adalah: a. Proses Proses adalah sesuatu untuk mengubah input menjadi output. Tiap simbol proses diidentifikasikan dengan tabel. Teknik pembuatan tabel yang paling umum adalah dengan menggunakan kata kerja atau obyek, tetapi dapat juga menggunakan sistem atau program komputer. 27 b. Data Flow Arus data terdiri dari sekelompok elemen data yang dapat digambarkan sebagai garis lurus atau lengkung. c. Data Store Penyimpanan data ( data store ) adalah suatu tempat penampungan data. Proses dapat memasukkan atau mengambil data dari data store. d. Terminator Terminator ( external entities ) digunakan untuk menggambarkan elemen – elemen lingkungan yang berada di luar sistem, yang menandai titik - titik berakhirnya sistem. Dapat berupa sistem lain, orang atau organisasi. 2.2.4.3 STD (State Transition Diagram) Menurut Whitten (2007, p635) State Transition Diagram (STD) merupakan suatu modelling tool yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. Pada mulanya STD hanya digunakan untuk menggambarkan suatu sistem yang memiliki sifat real-time, seperti process control,telephone switching system, highspeed data acquisition system, millitary command and control system, dan lainnya. Notasi yang paling penting dari STD adalah : 28 Tabel 2.3 STD Simbol Nama Keterangan Merupakan kumpulan keadaan atau atribut State atribut yang mencirikan benda atau orang pada waktu, keadaan dan kondisi tertentu. Perubahan state Transition ditandakan dengan tanda State panah. Hal-hal yang perlu diperhatikan dalam menyusun suatu STD, yaitu: 1. State awal (initial state) hanya boleh ada satu. 2. State akhir (final state) boleh ada lebih dari satu. Untuk melengkapi STD diperlukan dua hal lagi, yaitu: 1. Kondisi (condition) adalah suatu event pada lingkungan eksternal yang dapat dideteksi oleh sistem. Misalnya, sebuah interupsi, sinyal, atau data. Hal ini menyebabkan perubahan terhadap state dari state atau memindahkan aktivitas X ke aktivitas Y. 2. Aksi (action) adalah yang dilakukan oleh sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan output, pesan menghasilkan kalkulasi, dan lain-lain. tampilan pada layar, 29 2.2.5 PHP (PHP Hypertext Preprocessor) Rasmus Lerdorf merupakan seorang programmer yang menciptakan PHP pada tahun 1994. PHP terus mengalami perkembangan dan perubahan hingga saat ini dalam berbagai versi. Menurut W. Jason Gilmore (2010, p1), PHP adalah salah satu server side yang dirancang khusus untuk aplikasi web. Sifat Server side berarti pengerjaan skrip di lakukan di server, baru kemudian hasilnya di kirimkan ke browser. Cara penulisan skrip PHP ada dua macam, yaitu Embedded Scrip dan Non embedded Script. PHP sendiri merupakan singkatan dari PHP Hypertext Preprocessor. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. PHP disisipkan diantara bahasa HTML dan karena bahasa server side, maka bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke browser adalah hasil jadi dalam bentuk HTML, dan kode PHP tidak akan terlihat. PHP termasuk Open Source Product. Jadi, dapat diubah source code dan mendistribusikanya secara bebas. Gambar 2.3 PHP Page 30 Kode PHP diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Ada dua cara untuk menuliskan script PHP yaitu : 1) Cara 1 <? script PHP. ?> 2) Cara 2 <SCRIPT LANGUAGE”php”> Script php </script> Pemisah antar instruksi adalah tanda titik koma (;). Untuk membuat atau menambahkan komentar, standar penulisan adalah /*komentar*/, //komentar dan #komentar. Untuk menuliskan script PHP, ada dua cara yang sering digunakan yaitu Embedded Script dan Non- Embedded Script. a) Embedded Script Embedded Script yaitu script PHP yang disisipkan diantara tag-tag HTML. Contoh dari Embedded Script : <html> <head> <title>Embedded Script</title> </head> <body> <?php Echo “Hallo, selamat menggunakan PHP”; 31 ?> </body> </html> b) Non-Embedded Script Non-Embedded Script adalah script program PHP murni. Termasuk tag HTML yang disisipkan dalam script PHP. Contoh dari Non-Embedded Script : <?php echo “<html>”; echo “<head>”; echo “<title>Mengenal PHP</title>”; echo “</head>”; echo “<body>”; echo “<p>PHP cukup jitu</p>’; echo “</body>”; echo “</html>”; ?> Kelebihan dan Kekurangan PHP Adapun kelebihan dan kekurangan bahasa Php tercantum dalam tabel 2.4 berikut: Tabel 2.4 Kelebihan dan Kekurangan PHP No. Kelebihan 1. PHP Kekurangan menjadi kesederhanaannya popular dan karena Tidak detail untuk kemampuannya pengembangan skala dalam menghasilkan berbagai aplikasi web besar. seperti counter, sistem artikel/ CMS, ecommerce, bulletin board, dll. 32 2 PHP adalah salah satu bahasa server-side Tidak detail untuk yang didesain khusus untuk aplikasi web. pengembangan skala besar. 3 PHP termasuk dalam Open Source Product Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya. 4 Aplikasi PHP cukup cepat dibandingkan Tidak bisa dengan aplikasi CGI dengan Perl atau memisahkan Phyton bahkan lebih cepat dibanding dengan tampilan antara dengan ASP maupun Java dalam berbagai aplikasi logic dengan baik. web. 5 Tersedia baik di Windows maupun Linux, PHP memiliki walau saat ini paling efektif di web server kelemahan security Apache dan OS Linux. apabila tertentu programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan konfigurasi PHP. 6 Sintaks mirip C dan mudah dipelajari. 7 Komunitas yang ramai membantu, seperti di dan saling diskusiweb.com, phpbuilder.com, phpindo.com, dll. 8 Berbagai script atau aplikasi yang gratis telah tersedia. isu 33 2.2.6 Pengertian Internet Menurut Turban, Rainner dan Potter (2005, p76), internet adalah jaringan besar yang menghubungkan jaringan komputer dari bisnis, oraganisasi, lembaga pemerintah dan sekolah di seluruh dunia, dengan cepat, langsung dan hemat. Contoh dari jaringan komputer ini mencakup sistem komputer universitas, sistem komputer perusahaan, atau sistem komputer rumah sakit. Sistem komputer yang berpartisipasi, yang disebut node, mencakup PC, LAN (Local Area Network), basis data, dan mainframe. Di internet, node dapat mencakup beberapa jaringan dari suatu organisasi, yang mungkin dihubungkan oleh WAN (Wide Area Network). Sebagai satu atau beberapa jaringan. Internet memungkinkan orang untuk mengakses data di organisasi lainnya dan untuk berkomunikasi, bekerja sama dan bertukar informasi hampir di seluruh dunia. Jadi, internet telah menjadi keharusan dalam melaksanakan bisnis modern. 2.2.6.1 HTML HyperText Markup Language (HTML) adalah sebuah markup language yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web internet dan formating hypertext sederhana yang ditulis kedalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan kedalam format ASCII normal sehingga menjadi home page dengan perintah-perintah HTML. 2.2.6.2 World Wide Web Menurut Turban, Rainner dan Potter (2005, p680), World Wide Web (Web, WWW atau W3) adalah sistem standar yang diterima secara universal untuk menyimpan, menelusuri, memformat dan menampilkan informasi digital, termasuk teks, hypermedia, grafis dan 34 suara. Web menggunakan antarmuka pengguna grafis, sehingga sangat mudah digunakan. Teknologi World Wide Web diciptakan oleh Timothy Berners-Lee, yang pada tahun 1989 mengusulkan jaringan global dari dokumen hiperteks yang akan memungkinkan para peneliti fisika bekerja sama. Web didasari oleh bahasa hiperteks standar yang disebut HyperText Markup Language (HTML), yang memformat dokumen dan memadukan link hyperteksdinamis ke dokumandokumen lainnya yang disimpan di dalam komputer. Untuk mengakses situs Web, pengguna harus menentukan Uniform Resource Locator (URL), yang mengarahkan ke alamat dari sumber tertentu di Web, misalnya URL untuk Google adalah http://www.google.com. HTTP adalah singkatan dari HyperText Transport Protocol, yang merupakan standar komunikasi yang digunakan untuk mentransfer halaman di bagian WWW di internet. HTTP mendefinisikan bagaimana pesan diformat dan dikirim. 2.2.7 Programing Tools 2.2.7.1 Adobe Dreamweaver CS6 Sepanjang sejarahnya, Dreamweaver telah berhasil mengimbangi dengan perubahan- pengembangan web lansekap, dan Dreamweaver CS6 tidak terkecuali, mampu melakukan lebih dari versi sebelumnya. Ketika ingin menggunakan Cascading Style Sheets ( CSS ) untuk desain mutakhir, tambahkan JavaScript agar halaman menjadi lebih dinamis, mengeksplorasi HTML5 dan CSS3, membangun website untuk perangkat mobile, penggunaan sistem manajemen konten seperti WordPress atau Drupal, atau hanya mengambil langsung dari HTML, Dreamweaver memiliki hampir semua yang programmer butuhkan. Setiap desainer dapat membuat halaman web, Cascading Style Sheets, dan bahkan Program JavaScript dengan editor teks sederhana . Sebagai editor web yang handal, Adobe Dreamweaver tentunya dilengkapi dengan kemampuan manajemen situs, yang memudahkan 35 pengguna mengelola keseluruhan elemen yang ada dalam sebuah situs. Pengguna juga dapat melakukan evaluasi situs dengan melakukan pengecekan broken link, kompatibilitas browser, termasuk validasi tagtag HTML dan CSS yang tidak sesuai dengan pedoman secara otomatis serta perkiraan waktu download pada sebuah halaman web. Adobe Dreamweaver memiliki banyak tools yang memudahkan seorang web design untuk mengedit dan membuat kode-kode dalam halaman web. Fasilitas yang terdapat didalamnya antara lain: Referensi HTML, CSS dan Javascript, Javascript debugger, dan editor kode ( tampilan kode dan Code inspector) yang mengizinkan pengguna mengedit kode Javascript, XML, HTML, CSS, TEMPLATING dan dokumen teks lain secara langsung. Teknologi Roundtrip HTML yang dimilikinya mampu mengimpor dokumen HTML tanpa perlu memformat ulang kode tersebut dan dapat menggunakan Dreamweaver pula untuk membersihkan dan memformat ulang HTML tanpa susah payah. Dengan fitur yang lengkap, kemudahan penggunaan, dukungan extention dan Plug-In yang banyak, Adobe Dreamweaver dapat membantu seorang web design bekerja lebih cepat dan efisien tanpa kesulitan yang berarti, bahkan untuk seorang pemula sekalipun yang belum banyak mengenal seputar coding HTML dan CSS. 2.2.7.2 MySQL Menurut W. Jason Gilmore (2010, p477), merupakan software yang tergolong sebagai DBMS (database Management System) yang bersifat open source. Open source menyatakan bahwa software ini dilengkapi dengan source code (code yang dipakai untuk membuat MySQL). Selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi. Dan bisa diperoleh secara gratis dengan mendownload di internet. MySQL 36 awalnya dibuat oleh perusahaan konsultan bernama TeX yang berlokasi di Swedia. Saat ini pengembangan MySQL berada dibawah naungan MySQL AB. Sebagai software DBMS, MySQL memiliki sejumlah fitur seperti yang akan dijelaskan dibawah ini. a. Mutliplatform MySQL tersedia pada beberapa platform (windows, linux, unix, dan lain-lain) b. Cepat dan Mudah digunakan. MySQL tergolong sebagai database server (server yang melayani permintaan terhadap database) yang andal, dapat menangani database database yang besar dengan kecepatan tinggi. Mendukung banyak sekali fungsi untuk mengakses database dan sekaligus mudah untuk digunakan. c. Jaminan Keamanan Akses MySQL mendukung pengamanan database dengan berbagai criteria pengaksesan. Sebagai gambaran, dimungkinkan untuk mengatur user tertentu agar bisa mengakses data yang bersifat rahasia (missal gaji pegawai), sedangkan user lain tidak boleh sesuai dengan hak aksesnya d. Dukungan SQL Seperti tersirat namanya, SQL mendukung perintah SQL (Structured Query Language). Sebagaimana diketahui SQL merupakan bahasa standar dalam pengaksesan database rasional. Pengetahuan akan SQL akan memudahkan siapapun untuk menggunakan MySQL. 37 Sebagai sebuah program penghasil database, MySQL tidak mungkin berjalan sendiri tanpa adanya sebuah aplikasi pengguna (interface) yang mungkin berguna sebagai program aplikasi pengakses database yang dihasilkan. MySQL dapat didukung oleh hampir semua program aplikasi baik yang open windows seperti Visual Basic, Delphi dan lainya. 2.2.7.3 XAMPP Menurut Dalibor D. Dvorski (2007, p2), (XAMPP merupakan paket PHP yang berbasis open source yang dikembangkan oleh sebuah komunitas Open Source. Dengan menggunakan XAMPP tidak dibingungkan dengan penginstalan program-program lain, karena semua kebutuhan telah tersedia oleh XAMPP. Yang terdapat pada XAMPP di antaranya : Apache, MySQL, PHP, FileZilla FTP Server, PHPmyAdmin dll. Fungsi XAMPP adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, XAMPP merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis 2.2.8 Pengertian Interaksi Manusia dan Komputer Menurut Shneiderman (2010, p4-8), Interaksi manusia dan komputer adalahdisiplin ilmu yang berhubungan dengan perancangan, evaluasi, serta implementasi sistem komputer yang interaktif untuk digunakan oleh manusia. Interaksi manusia dan komputer berkaitan dengan user interface (antarmuka pengguna) yang digunakan oleh pengguna untuk berkomunikasi dengan komputer. Hal-hal yang perlu diperhatikan dalam 38 merancang suatu antarmuka yang user friendly, yaitu: 1. Waktu untuk belajar Berapa lama waktu yang diperlukan bagi pengguna pada umumnya untuk mempelajari perintah yang berhubungan dengan suatu task. 2. Kecepatan Kinerja Berapa waktu yang diperlukan untuk menjalankan suatu task. 3. Tingkat kesalahan pengguna Berapa banyak dan apa saja kesalahan yang dilakukan pengguna dalam melaksanakan suatu task. 4. Retensi pengguna setelah jangka waktu tertentu Berapa lama pengguna dapat mempertahankan pengetahuan mereka setelah jangka waktu tertentu. Retensi dapat dihubungkan dengan waktu belajar, dan frekuensi penggunaan memegang peranan penting dalam hal ini. 5. Kepuasan subyektif pengguna Mencari tahu apakah pengguna sering menggunakan berbagai aspek dari sistem. Jawabannya dapat diperoleh dari wawancara atau survey tertulis yang memuat skala kepuasan dan tempat bagi jawaban bebas. 2.2.9 Delapan Aturan Emas Perancangan Antar Muka Menurut Shneiderman dan Plaisant (2010, p88 - 89), terdapat delapan aturan emas (8 golden rules) yang dapat digunakan sebagai pedoman dalam perancangan antarmuka pemakai, yaitu: 39 1. Berusaha untuk konsisten Urutan tindakan yang konsisten dibutuhkan dalam situasi yang mirip. Konsistensi dilakukan pada urutan tindakan, perintah, penempatan, warna, layout dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Contoh: Peletakan button login yang tidak berubah tempat. 2. Usability universal Adanya kebutuhan dari pengguna yang sudah berpengalaman untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. Contoh: Pada yahoo mail, pengguna cukup menekan tombol “N” di keyboard untuk menulis email, sehingga pengguna tidak perlu mencari-cari tombol new/compose/write di webpage. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, maka dapat diberikan umpan balik yang sederhana, tetapi ketika tindakan tersebut merupakan hal yang penting, maka umpan balik sebaiknya lebih banyak dan lebih rinci. Contoh: Jika pengguna memasukkan username atau password yang salah di yahoo, maka akan tampil feedback yang memberikan alasan mengapa pengguna tidak bisa login. 4. Merancang dialog untuk menghasilkan suatu penutupan (keadaan akhir) Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Contoh: Sistem memberikan feedback yang menjelaskan bahwa langkah yang dilakukan sudah benar, dan pengguna dapat melanjutkan ke tahap selanjutnya. 40 5. Adanya pencegahan kesalahan dan penanganan kesalahan Sedapat mungkin, sistem dirancang untuk mencegah pengguna melakukan kesalahan fatal. Jika kesalahan terjadi, maka sistem harus dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. Contoh: Saat pengguna baru akan sign up di yahoo, jika nama email yang dimasukkan pengguna telah dipakai oleh pengguna lainnya, maka sistem akan memberitahukan hal tersebut kepada pengguna yang baru dan menawarkan nama yang lain. 6. Memungkinkan pembalikan aksi yang mudah 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. Contoh: Terdapat menu “undo” atau “back” pada browser. 7. Mendukung pusat kendali internal (internal locus of control) Pengguna ingin menjadi pengontrol sistem dan sistem akan merespons tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna dapat mengontrol program-program yang terdapat pada sistem. Contoh: Pengguna Binusmaya bebas memilih menu-menu yang telah disediakan. 8. Mengurangi beban ingatan jangka pendek Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan. 41 42 43