BAB 2 LANDASAN TEORI
2.1
Pendekatan Database
2.1.1
Pengertian Sistem Menurut Connolly dan Begg (2005, p283), sistem adalah suatu cara untuk mengumpulkan, mengatur, mengendalikan, dan menyebarkan informasi ke seluruh organisasi. Menurut James A. O’Brien (2003, p8), sistem adalah kumpulan elemen yang saling terhubung atau berinteraksi membentuk suatu kesatuan atau sekumpulan komponen yang saling terhubung dan bekerja sama untuk mencapai sasaran dengan menerima input dan menghasilkan output dalam sebuah proses transformasi yang terorganisir. Jadi, sistem adalah kumpulan dari semua elemen yang saling berinteraksi dan bekerja sama untuk mencapai suatu tujuan tertentu.
2.1.2
Pengertian Data Menurut James A. O’Brien (2003, p13), data adalah fakta – fakta atau observasi yang mentah, biasanya mengenai kejadian atau transaksi bisnis. Menurut Elmasri (2000, p4), data adalah fakta – fakta yang dapat disimpan dan memiliki pengertian yang implisit. Jadi, data adalah sesuatu yang masih bersifat mentah mengenai suatu kejadian dan memiliki pengertian yang implisit
13
14 2.1.3
Pengertian Database Menurut Connolly dan Begg (2005, p15), database adalah sekumpulan data yang mempunyai keterkaitan secara logika serta deskripsi dari data – data tersebut, yang dirancang untuk memenuhi kebutuhan – kebutuhan informasi dari sebuah organisasi. Menurut C.J.Date (1994,p9), database terdiri dari sekumpulan data yang digunakan oleh aplikasi sistem dari sebuah perusahaan. Jadi, database adalah sebuah tempat penyimpanan data tunggal yang memiliki kapasitas besar yang dapat digunakan secara simultan oleh banyak departemen dan pengguna.
2.1.4
Database Management System (DBMS) Menurut Connolly dan Begg (2005,p16), Database Management System (DBMS) adalah sebuah sistem perangkat lunak (software system) yang memungkinkan users untuk mendefinisikan (define), menciptakan (create), memelihara (maintain), dan mengatur (control) akses ke database. Fasilitas – fasilitas yang disediakan oleh Database Management System (DBMS) adalah : 1. Memungkinkan users mendefinisikan database dengan menggunakan sebuah Data Definition Language (DDL). 2. Memungkinkan users untuk melakukan operasi insert, update, delete, dan retrieve
data
dari
database
dengan
menggunakan
sebuah
Manipulation Language (DML). 3. Menyediakan akses yang terkontrol ke database. Contohnya :
Data
15 a. Menyediakan sebuah sistem keamanan (security system) untuk mencegah users yang tidak memiliki hak akses melakukan akses ke database. b. Menyediakan sebuah sistem yang terintegritas (integrity system) untuk memelihara konsistensi dari data – data yang tersimpan. c. Menyediakan sebuah concurrency control system, yang memungkinkan pengaksesan menyebar dari database. Menurut Connoly dan Begg (2005,p18), komponen – komponen dari lingkungan DBMS adalah : a. Hardware DBMS dan aplikasi membutuhkan perangkat keras (hardware) untuk dapat beroperasi. Perangkat keras dapat berupa sebuah personal computer, mainframe, sampai dengan jaringan komputer. Terdapat juga perangkat keras khusus yang bergantung pada kebutuhan organisasi dan DBMS yang digunakan. b. Software Komponen perangkat lunak merupakan perangkat lunak DBMS itu sendiri dan program aplikasi, tergabung dengan sistem operasi, termasuk perangkat lunak jaringan apabila DBMS digunakan dalam jaringan. c. Data Data berperan sebagai jembatan antara komponen – komponen mesin (machine components) dan komponen – komponen manusia (human components).
16 d. Procedures Procedures di sini menunjuk pada instruksi – instruksi dan peraturan - peraturan yang mengatur rancangan dan penggunaan dari database. Pengguna sistem dan staff
yang mengatur database membutuhkan
prosedur - prosedur yang menjelaskan bagaimana cara menggunakan atau menjalankan sistem. Prosedur – prosedur tersebut dapat berisi instruksi – instruksi tentang bagaimana cara : -
Log on ke DBMS;
-
Menggunakan fasilitas DBMS dan program aplikasi yang khusus;
-
Memulai dan menghentikan DBMS;
-
Membuat salinan cadangan (backup) database;
-
Menangani kegagalan – kegagalan hardware atau software;
-
Mengganti struktur dari sebuah tabel, mengorganisasikan kembali database across multiple disks, meningkatkan tampilan (performance), atau menyimpan data ke dalam penyimpanan kedua (secondary storage).
e. People Komponen akhir dari DBMS adalah orang (people) yang terlibat dengan sistem tersebut. Komponen ini terdiri dari lima peran, yaitu :
Data and Database Administrators Data Administrator (DA) bertanggung jawab terhadap pengaturan sumber data, termasuk di dalamnya perencanaan database (database planning),
pengembangan
(development)
dan
pemeliharaan
17 (maintenance) standardisasi, kebijakan dan prosedur, serta konseptual atau logikal perancangan database (database design). Database Administrator (DBA) bertanggung jawab atas realisasi fisik (physical realization) dari database, termasuk di dalamnya perancangan dan implementasi fisik database, kontrol keamanan dan integritas, pemeliharaan operasional sistem, dan jaminan kepuasan performa dari aplikasi - aplikasi untuk users.
Database Designers Database Designers terdiri dari logical database designers dan physical database designers. Logical database designer concerned pada pengidentifikasian, hubungan (relationship), dan batasan – batasan dari data yang akan disimpan di dalam database. Physical database designer bertugas untuk menentukan cara yang harus dilakukan agar perancangan logikal database (logical database design) dapat direalisasikan secara fisik, meliputi : -
Pemetaan logical database design ke dalam sekumpulan tabel – tabel dan batasan integritas (integrity constraints).
-
Perancangan
ukuran
keamanan
(security
measures)
yang
dibutuhkan oleh data.
Application Developers Ketika basis data diimplementasikan, program aplikasi yang menyediakan fungsi-fungsi yang dibutuhkan oleh pengguna akhir (endusers) juga harus diimplementasikan. Hal tersebut merupakan tanggung jawab dari application developers.
18
End-users Yang termasuk end-users adalah mereka yang clients untuk database, yang sudah dirancang dan diimplementasikan, serta dipelihara untuk melayani kebutuhan informasi mereka.
2.1.5
Structured Query Language (SQL)
2.1.5.1
Data Definition Language (DDL) Definisi dari DDL menurut Connolly dan Begg (2005, p40) adalah suatu bahasa yang memungkinkan Database Administrator (DBA) atau user untuk mendefinisikan entiti, atribut, dan relationship yang dibutuhkan oleh suatu aplikasi serta menambahkan fungsi-fungsi khusus tertentu untuk mempermudah atau meningkatkan keamanan datanya.
2.1.5.2
Data Manipulation Language (DML) Definisi dari (DML) menurut Connolly dan Begg (2005,p40) adalah suatu bahasa yang menyediakan sekumpulan operasi untuk mendukung (support) operasi pemanipulasian dasar pada data yang terdapat di dalam database. Proses - proses manipulasi data tersebut meliputi : 1. Penyisipan data baru ke dalam database 2. Pemodifikasian data yang disimpan di dalam database 3. Pemanggilan kembali data yang terkandung di dalam database 4. Penghapusan data dari database. DML terdiri dari Procedural DML dan Non-Procedural DML. Procedural DML adalah suatu bahasa yang mengijinkan user untuk
19 memberikan informasi kepada sistem mengenai data apa yang dibutuhkan dan cara yang benar untuk melakukan pemanggilan kembali (retrieve) data. Sementara peran dari non-procedural DML adalah sebuah bahasa yang mengijinkan user untuk menentukan
2.1.6
Database Application Life Cycle (DBLC)
Gambar 2.1 Tahapan dari Database Application Life Cycle
20 2.1.6.1
Perencanaan Database (Database Planning) Menurut Connolly dan Begg (2005,p285), perencanaan database (database planning) adalah aktivitas manajemen yang tahapan
–
tahapan
dari
database
system
memungkinkan
development
lifecycle
direalisasikan seefisien dan seefektif mungkin. Perencanaan database harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi. Terdapat 3 hal pokok yang berkaitan dengan strategi sistem informasi, yaitu :
Identifikasi rencana (plans) dan sasaran (goals) perusahaan melalui penentuan akan sistem informasi yang dibutuhkan.
Evaluasi terhadap sistem informasi yang sedang berjalan
untuk
menentukan kelebihan dan kekurangan yang dimiliki.
Penaksiran kesempatan teknologi informasi yang mungkin dapat menghasilkan keuntungan yang kompetitif. Langkah penting dalam perencanaan database adalah untuk
mendefinisikan secara jelas pernyataan misi (mission statement) dari sebuah sistem database. Pernyataan misi mendefinisikan tujuan utama dari sistem database. Pernyataan misi membantu mengklarifikasikan tujuan dari sistem database dan menyediakan sebuah jalur yang lebih jelas untuk mencapai pembuatan proyek database yang efektif dan efisien. Setelah pernyataan misi ditentukan, langkah selanjutnya adalah mengidentifikasi tujuan misi (mission objective). Setiap tujuan misi harus mengidentifikasi sebuah tugas khusus yang harus didukung oleh sistem database.
21 Perencanaan database juga harus meliputi standar pengembangan yang menentukan bagaimana data dikumpulkan, bagaimana format data dispesifikasikan, dokumentasi apa yang dibutuhkan, dan bagaimana proses perancangan dan implementasi dilakukan.
2.1.6.2
Definisi Sistem (System Definition) Menurut Connolly dan Begg (2005,p286), definisi sistem (System Definition) menggambarkan cakupan dan batasan – batasan dari aplikasi database dan sudut pandang user (user view) yang utama. Sebelum mencoba merancang sebuah sistem database, hal yang perlu kita lakukan terlebih dahulu adalah mengidentifikasi batasan – batasan dari sistem dan bagaimana sistem tersebut berhubungan dengan bagian – bagian lain dari sistem informasi perusahaan.
2.1.6.3
Pengumpulan dan Analisa Kebutuhan (Requirements Collection and Analysis) Menurut Connolly dan Begg (2005,p288), pengumpulan dan analisa kebutuhan (Requirements Collection and Analysis) adalah proses pengumpulan dan penganalisaan informasi mengenai bagian dari organisasi yang didukung oleh sistem database, dan penggunaan informasi tersebut untuk mengidentifikasi kebutuhan user akan sistem yang baru. Tahapan ini meliputi pengumpulan dan penganalisaan informasi mengenai bagian dari perusahaan yang menggunakan database. Teknik untuk mengumpulkan informasi ini disebut teknik penemuan fakta (fact-
22 finding techniques). Informasi yang dikumpulkan untuk setiap sudut pandang user utama (major user view) meliputi :
Deskripsi dari data yang digunakan atau dihasilkan (generated);
Rincian (details) mengenai bagaimana data digunakan atau dihasilkan;
Beberapa kebutuhan tambahan untuk sistem database yang baru. Informasi ini kemudian dianalisa untuk mengidentifikasi kebutuhan
(requirements) atau fitur (feature) yang akan disertakan dalam sistem database yang baru. Ada bermacam-macam cara yang dapat digunakan untuk membuat perincian kebutuhan (requirement specification) menjadi lebih terstruktur:
Structur Analysis and Design (SAD)
Data Flow Diagram (DFD)
Hierarchical Input Process Output (HIPO) Charts. Aktivitas penting lainnya dalam tahapan ini adalah menentukan
bagaimana caranya menangani lebih dari satu sudut pandang user (user view) dalam sistem database. Terdapat 3 pendekatan utama dalam mengatur kebutuhan dari aplikasi database dengan sudut pandang user yang banyak (multiple user view), yaitu: 1. Pendekatan Terpusat (Centralized Approach) Kebutuhan dari tiap sudut pandang user (user view) digabungkan menjadi sekumpulan kebutuhan untuk sistem database yang baru. Sebuah data model yang merepresentasikan seluruh sudut pandang user (user views) dibuat pada tahap perancangan database (database design).
23 2. Pendekatan Integrasi Sudut Pandang (View Integration Approach) Kebutuhan untuk setiap sudut pandang user (user view) digunakan
untuk
membangun
model
data
terpisah
untuk
merepresentasikan user view tersebut. Hasil dari model data tersebut nantinya digabungkan dalam tahap percancangan database (design database). 3. Kombinasi dari kedua pendekatan di atas.
2.1.6.4
Perancangan Database (Database Design) Menurut Connolly dan Begg (2005,p291), perancangan database (Database Design) adalah proses pembuatan sebuah rancangan (design) yang akan mendukung tujuan dan operasi sebuah perusahaan. Pendekatan dalam perancangan database (design database) :
Bottom-Up Pendekatan bottom-up dimulai dari atribut dasar (yaitu properties dari entitas dan relationship), yang melalui analisa dari penggabungan antar atribut dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan hubungan (relationship) antar entitas. Pendekatan ini digunakan untuk merancang database yang sederhana dengan jumlah atribut yang relatif sedikit.
Top-Down Pendekatan
top-down
diawali
dengan
pengembangan
(development) model data (data models) yang mengandung beberapa entitas
dan
hubungan
tingkat
tinggi
(high-level
entities
and
24 relationships) dan kemudian menggunakan pendekatan top-down secara berturut – turut untuk mengidentifikasi entitas, hubungan, dan atribut – atribut yang terkait di dalamnya dengan tingkatan yang lebih rendah (lower-level).
Inside-Out Pendekatan inside-out berhubungan dengan pendekatan bottomup tetapi sedikit berbeda pada bagian pengidentifikasian awal dengan entitas utama dan kemudian menyebar ke entitas, hubungan (relationship), dan atribut - atribut terkait lainnya yang telah lebih dahulu diidentifikasi.
Mixed Strategy Pendekatan mixed strategy menggunakan pendekatan bottom-up dan top-down untuk bagian – bagian yang berbeda sebelum pada akhirnya menggabungkan seluruh bagian – bagian tersebut.
2.1.6.5
Data Modeling Dua kegunaan utama dari data modeling adalah untuk membantu dalam memahami arti (semantik) dari data dan untuk memfasilitasi komunikasi mengenai kebutuhan informasi. Kriteria untuk menghasilkan model data yang optimal :
Validitas Struktural (Structural Validity) Konsistensi dengan cara dari perusahaan dalam mendefinisikan dan mengorganisir informasi.
25
Kesederhanaan (Simplicity) Mudah dimengerti baik oleh professional sistem informasi maupun pengguna non-teknik.
Ketepatan (Expressibility) Kemampuan untuk membedakan antara data yang berlainan, relationship antar data, dan batasan – batasan (constraint).
Tidak rangkap (Nonredundancy) Pengeluaran informasi yang tidak berhubungan, dengan kata lain, representasi dari setiap bagian informasi hanya satu kali.
Digunakan bersama (Shareability) Tidak khusus untuk aplikasi atau teknologi tertentu dan dengan demikian dapat digunakan oleh banyak pengguna.
Perluasan Penggunaan (Extensibility) Kemampuan untuk
menyusun dan mendukung kebutuhan
(requirements) baru dengan pengaruh (effect) yang minimal terhadap user yang sudah ada.
Integritas (Integrity) Konsistensi dengan cara yang digunakan perusahaan dalam menggunakan dan mengatur informasi.
Representasi Diagram (Diagrammatic Representation) Kemampuan untuk merepresentasikan sebuah model dengan menggunakan sebuah notasi diagrammatic yang mudah dimengerti.
26 2.1.6.6
Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2005,p295), DBMS selection adalah proses pemilihan DBMS yang sesuai untuk mendukung sistem database. Langkah – langkah utama dalam memilih DBMS adalah sebagai berikut :
Menentukan terminologi dari studi referensi (Define Terms of Reference of study).
Mendaftarkan dua atau tiga produk (Shortlist two or three products).
Mengevaluasi produk (Evaluate products).
Merekomendasikan pilihan dan membuat laporan (Recommend selection and produce report).
2.1.6.7
Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2005,p299), perancangan aplikasi (application design) adalah perancangan antar muka pemakai (user interface) dan program - program aplikasi yang menggunakan dan memproses database. Perancangan database dan aplikasi merupakan serangkaian aktifitas paralel dalam database application lifecycle. Ada dua aspek dalam perancangan aplikasi, yaitu transaction design dan user interface design.
27 1. Transaction Design Transaksi adalah suatu atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi tunggal, yang mengakses atau mengubah isi dari database. Kegunaan dari transaction design adalah untuk mendefinisikan dan mendokumentasikan karakteristik tingkat tinggi dari transaksi – transaksi yang dibutuhkan pada database, meliputi: o Data yang akan digunakan oleh transaksi; o Karakteristik fungsional dari suatu transaksi; o Output transaksi; o Kepentingan users; o Tingkat kegunaan yang diharapkan; Terdapat tiga tipe transaksi, yaitu : •
Retrieval Transactions digunakan untuk pemanggilan kembali (retrieve) data untuk ditampilkan di layar atau untuk menghasilkan suatu laporan.
•
Update Transactions digunakan untuk menyisipkan records baru, menghapus records lama, atau memodifikasi records yang sudah ada di dalam database.
•
Mixed Transactions meliputi retrieval transactions dan update transactions.
2. User Interface Design Guidelines Beberapa aturan pokok dalam pembuatan user interface :
28 o Meaningful title Informasi yang disampaikan melalui judul haruslah jelas dan mengidentifikasi tujuan dari form atau report tanpa mengandung makna yang ambigu. o Comprehensible instructions Terminologi
yang
familiar
harus
digunakan
dalam
menyampaikan instruksi – instruksi. Instruksi tersebut harus bersifat singkat atau ringkas, dan ketika dibutuhkan informasi tambahan, maka harus disediakan help screen. Instruksi harus ditulis dengan gaya tata bahasa yang konsisten dengan menggunakan pola (format) yang standar. o Logical grouping and sequencing of fields Field yang saling berhubungan ditempatkan pada form atau report yang sama. Urutan field harus logis dan konsisten. o Visually appealing layout of the form atau report Form atau report harus menampilkan interface yang menarik kepada user. Jika form yang ada di layar memiliki hardcopy, maka tampilan dari form dan hardcopy haruslah sama. o Familiar field labels Label field yang digunakan, haruslah familiar. Contohnya jika “Sex” diganti dengan “Gender”, mungkin akan menyebabkan beberapa users menjadi bingung.
29 o Consistent terminology and abbreviations Terminologi atau singkatan – singkatan yang digunakan, haruslah bersifat konsisten. o Consistent use of colors Warna harus digunakan secara konsisten. o Visible space and boundaries for data-entry fields Seorang user haruslah mengetahui jumlah dari tempat yang tersedia untuk setiap field yang ada. Hal ini nantinya akan membantu user mempertimbangkan format untuk data, sebelum memasukkan nilai (values) ke dalam sebuah field. o Convenient cursor movement Seorang user harus dapat dengan mudah mengidentifikasi operasi yang dibutuhkan dengan menggerakkan sebuah kursor di sepanjang form atau report. Mekanisme – mekanisme yang sederhana seperti penggunaan tab key, arrows, atau mouse pointer haruslah digunakan. o Error correction for individual characters and entire fields Seorang user harus dapat dengan mudah mengidentifikasi operasi yang dibutuhkan untuk membuat perubahan pada bahagian (fields) nilai (values). Mekanisme – mekanisme yang sederhana seperti penggunaan Backspace key atau overtyping haruslah tersedia.
30 o Error messages for unacceptable values Jika seorang user mencoba memasukkan data yang tidak benar ke dalam sebuah field, sebuah pesan kesalahan (error message) haruslah ditampilkan. o Optional fields marked clearly Optional fields haruslah diidentifikasikan dengan jelas kepada user dengan menggunakan sebuah label field yang sesuai, atau menampilkan field dengan menggunakan sebuah warna yang mengindikasikan tipe dari field tersebut. Optional fields harus ditempatkan setelah required fields. o Explanatory messages for fields Ketika user meletakkan kursor pada suatu field, maka keterangan mengenai field tersebut haruslah muncul di layar, seperti sebuah window status bar. o Completion signal Merupakan indikator yang menjelaskan bahwa proses pengisian fields pada suatu form telah selesai dilaksanakan.
2.1.6.8
Prototyping Menurut Connolly dan Begg (2005,p304), prototyping adalah proses pembuatan sebuah model kerja dari suatu sistem database. Tujuan utama dari pembuatan prototyping sistem database adalah untuk mengidentifikasi fitur (feature) dari sistem yang berjalan dengan baik.
31 Terdapat dua macam strategi prototyping yang umum digunakan pada saat ini, yaitu : •
Requirements prototyping menggunakan prototype untuk menentukan kebutuhan dari sistem database yang diinginkan, dan ketika kebutuhan itu terpenuhi, maka prototype akan dibuang.
•
Evolutionary prototyping digunakan untuk tujuan yang sama. Perbedaannya, prototype tidak dibuang, namun dengan pengembangan lebih lanjut, menjadi sistem database yang bekerja.
2.1.6.9
Implementation Menurut Connolly dan Begg (2005,p304), implementation adalah realisasi fisik dari perancangan database dan aplikasi. Implementasi database diperoleh dengan menggunakan Data Definition Language (DDL) dari DBMS terpilih (selected DBMS) atau Graphical User Interface (GUI), yang menyediakan fungsionalitas yang sama ketika menyembunyikan kalimat – kalimat DDL tingkat rendah (low level). Kalimat – kalimat DDL digunakan untuk menciptakan struktur database dan file database yang kosong (empty database files). Pada tahapan ini, diimplementasikan juga sudut pandang (user views) yang spesifik atau khusus.
32 2.1.6.10 Data Conversion and Loading Menurut Connolly dan Begg (2005,p305), data conversion and loading adalah proses pemindahan data yang sudah ada ke dalam database baru, dan pengubahan aplikasi – aplikasi yang sudah ada untuk dijalankan di database baru. Tahapan ini dibutuhkan hanya pada saat sebuah sistem database baru menggantikan sistem database yang lama.
2.1.6.11 Testing Menurut Connolly dan Begg (2005,p305), testing adalah proses menjalankan sistem database yang bertujuan untuk menemukan kesalahan – kesalahan (errors) yang ada. Proses ini menggunakan strategi perencanaan tes dengan teliti dan data yang realistis.
2.1.6.12 Operational Maintenance Menurut Connolly dan Begg (2005,p306), operational maintenance adalah proses pengawasan dan pemeliharaan sistem setelah dilakukan instalasi. Pada
tahap
–
tahap
sebelumnya,
sistem
database
sudah
diimplementasi dan diuji secara penuh. Pada saat ini sistem bergerak ke sebuah tahap pemeliharaan, yang melibatkan aktivitas – aktivitas berikut ini:
Pengawasan performa sistem. Jika performa turun melampaui batas yang dapat diterima, maka perlu dilakukan perubahan atau pengaturan ulang database.
33
2.1.7
Pemeliharaan dan pembaharuan sistem database (jika dibutuhkan).
Tahap – Tahap Perancangan Database
2.1.7.1
Perancangan Konseptual Tahapan ini merupakan proses pembuatan model informasi yang digunakan dalam sebuah perusahaan yang tidak tergantung pada semua masalah fisik. Awal tahap ini dimulai dengan pembuatan conceptual data model perusahaan yang secara keseluruhan bebas dari detail implementasi seperti DBMS yang digunakan, program aplikasi, bahasa pemrograman, platform untuk hardware, tingkat kinerja, maupun bentuk masalah fisik lainnya. Beberapa data lokal conceptual model meliputi: 1. Tipe entitas 2. Tipe relationship 3. Attribute dan domain attribute 4. Primary key dan alternate keys 5. Batasan integritas Perancangan konseptual data model terdiri dari 6 tahap sebagai berikut :
Penentuan entity (entitas) pada basis data
Pendefinisian relationship (hubungan) antar entitas
Mengidentifikasi attribute dengan entitas atau tipe relationship
Menentukan domain attribute
Menentukan attribute kandidat dan primary key
34
2.1.7.2
Melakukan validasi local conceptual model terhadap user transactions
Perancangan Logikal Perancangan basis data secara logikal merupakan proses pembuatan model informasi yang digunakan perusahaan berdasarkan pada model data khusus, tetapi bebas dari DBMS tertentu dan masalah fisik lainnya. Sepanjang proses mengembangkan logical data model, model diuji dan divalidasi terhadap kebutuhan user. Teknik dari normalisasi digunakan untuk menguji ketepatan dari logikal data model. Normalisasi memastikan bahwa hubungan(relations) yang diperoleh dari data model tidak menampilkan redundancy model, yang dapat mengakibatkan update keganjilan(update anomalies) ketika diimplementasikan. Logikal data model perlu juga diuji untuk memastikan bahwa logikal data model mendukung transaksi yang ditetapkan oleh user. Model data logikal merupakan sumber informasi untuk tahap perancangan physical, menyediakan suatu kendaraan bagi perancang physical database untuk melakukan pertukaran yang sangat perancangan basis data yang efisien. Perancangan logical data model terdiri dari 5 tahap, yaitu : a. Memindahkan fitur – fitur yang tidak kompatible dengan relational model (optional step) b. Memperoleh hubungan dari lokal logikal data model c. Menvalidasi hubungan dengan menggunakan normalisasi d. Menvalidasi hubungan terhadap user transactions
35 e. Mendefinisikan batasan integritas
2.1.7.3
Perancangan Fisikal Perancangan basis data secara fisik merupakan proses pembuatan deskripsi dari implementasi database pada secondary storage yang menjelaskan basis relasi, organisasi file, dan indeksnya yang digunakan untuk memperoleh akses pada data yang efisien, dan masalah integritas lainnya yang berkaitan, dan menentukan mekanisme security. Tahap ini memungkinkan perancang untuk menentukan bagaimana basis data diimplementasikan. Oleh karena itu, rancangan fisikal dirancang untuk DBMS yang khusus. Antara rancangan logikal dan fisikal terdapat keterkaitan, hal ini disebabkan karena keputusan yang diambil selama perancangan fisikal untuk meningkatkan kinerja bisa mempengaruhi logical data model. Secara umum, tujuan yang utama dari fisikal database design adalah menguraikan bagaimana kita bermaksud untuk secara fisik melaksanakan logical database design. Untuk model relational, ini meliputi: 1. Membentuk suatu set dari tabel - tabel relational dan batasan – batasan pada tabel – tabel tersebut dari informasi yang diperkenalkan pada logical data model. 2. Mengidentifikasikan secara spesifik struktur penyimpanan dan metode akses untuk data untuk mencapai performa yang optimal untuk sistem database.
36 3. Merancang perlindungan keamanan untuk sistem. Secara ideal, conceptual dan logical database design untuk sistem yang besar harus dipisahkan dari fisikal design untuk 3 alasan: a. Berhadapan dengan suatu pokok yang berbeda – the what, not the how b. Dilakukan pada waktu yang berbeda – the what harus dimengerti sebelum the how dapat ditentukan c. Memerlukan kemampuan yang berbeda, yang sering ditemukan pada orang yang berbeda. Perancangan fisikal database design meliputi 3 tahap, yaitu: 1. Menterjemahkan global logical data model untuk target DBMS 2. Merancang penyajian fisikal 3. Merancang mekanisme keamanan
2.1.8
Normalisasi Menurut Connoly dan Begg ( 2005, p388 ), normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan properti – properti yang berdasar pada kebutuhan – kebutuhan data dari sebuah perusahaan.
2.1.8.1
Tujuan Normalisasi Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang mendukung kebutuhan – kebutuhan data sebuah perusahaan. Karakteristik dari sekumpulan relasi yang sesuai, meliputi hal – hal berikut ini:
37 9 Jumlah minimal dari atribut – atribut dibutuhkan untuk mendukung kebutuhan – kebutuhan data dari perusahaan; 9 Atribut – atribut yang memiliki relasi logikal yang dekat (digambarkan sebagai ketergantungan fungsional (functional dependency)) ditemukan pada relasi yang sama; 9 Minimal redundansi dengan setiap atributnya direpresentasikan hanya sekali dengan atribut yang membentuk sebagian atau seluruh foreign keys,
yang
penting
untuk
menggabungkan
relasi-relasi
yang
berhubungan.
2.1.8.2
Proses Normalisasi Normalisasi adalah suatu teknik formal untuk menganalisa relasi, berdasarkan primary key dari relasi-relasi tersebut (atau candidate key) dan berdasarkan ketergantungan fungsional. Teknik ini meliputi serangkaian aturan yang dapat digunakan untuk menguji relasi invidividual, sehingga sebuah database dapat dinormalisasikan ke dalam tingkatan apapun. Ketika persyaratan tidak terpenuhi, relasi yang tidak sesuai dengan persyaratan harus didekomposisi menjadi relasi-relasi yang secara individual memenuhi persyaratan normalisasi. Tiga
bentuk
normal
(normal
forms)
yang pada awalnya
dikemukakan adalah First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). Perlu diketahui, untuk membuat relasi pada model data relasional hanya membutuhkan First Normal Form (1NF). Semua normal form selanjutnya adalah langkah opsional. Tetapi
38 untuk menghindari update anomaly (masalah yang dapat timbul pada relasi – relasi yang memiliki data – data yang berulang), disarankan untuk melanjutkan proses normalisasi setidaknya sampai Third Normal Form (3NF).
2.1.8.2.1
Boyce-Codd Normal Form (BCNF) Menurut Connolly dan Begg (2005,p419), sebuah relasi tergolong BCNF, jika dan hanya jika, seluruh key merupakan candidate key.
2.1.8.2.2
First Normal Form (1NF) Menurut Connolly dan Begg (2005,p403), unnormalized form (UNF) adalah sebuah tabel yang mengandung satu atau lebih groups yang berulang. First Normal Form adalah sebuah relasi di mana interseksi dari setiap baris dan kolom berisi satu dan hanya satu nilai.
2.1.8.2.3
Second Normal Form (2NF) Menurut Connolly dan Begg (2005,p407), sebuah relasi yang terdapat pada 1 NF dan pada tiap atribut yang bersifat non-primary-key, memiliki ketergantungan fungsional yang penuh terhadap primary key.
39 2.1.8.2.4
Third Normal Form (3NF) Menurut Connolly dan Begg (2005,p409), sebuah relasi yang terdapat pada 1NF dan 2NF, dimana tidak ada atribut non-primary-key yang memiliki ketergantungan transitif terhadap primary key.
2.1.9
Entity – Relationship Modeling Menurut Connolly dan Begg dan Begg (2005,p342), ER Model adalah model konseptual yang menjabarkan hubungan antara penyimpan data dan hubungan data. ER modeling merupakan sebuah pendekatan top – down pada desain basis data yang dimulai dengan mengidentifikasi data penting yang disebut entitas(entity) dan hubungan (relationship) antara data yang harus direpresentasikan dalam model. Kemudian ditambahkan detil lebih sebagai informasi yang kita ingin simpan tentang entitas dan hubungannya yang disebut atribut (attributes) dan segala constraints pada entities, relationship, dan attributes.
2.1.9.1
Tipe Entitas (Entity Type) Menurut Connolly dan Begg (2005,p343), entity type adalah sekumpulan objek – objek dengan sifat (property)
yang sama, yang
didentifikasikan dengan keberadaan yang independent di perusahaan.
40 2.1.9.2
Tipe Relasi (Relationship Type) Menurut Connolly dan Begg (2005,p346), relationship type adalah sekumpulan keterhubungan (meaningful associations) yang memiliki arti antara tipe entitas (entity type).
2.1.9.3
Atribut (Attributes) Menurut Connolly dan Begg (2005,p350), attribute adalah bagian dari sebuah entitas atau tipe relationship. Domain atribut (attribute domain) adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam – macam atribut :
Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas (independent) dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute.
Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, di mana masing – masing komponen memiliki keberadaan yang bebas (independent). Contohnya atribut Address dapat terdiri dari Street, City, PostCode.
Single-Valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Contohnya entitas Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadian.
Multi-Valued Attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Contohnya entitas Branch memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian.
41
Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas.
2.1.9.4
Kunci (Keys) Jenis- jenis kunci (keys) dalam database Menurut Connolly dan Begg (2005,p354): 1. Candidate Key, yaitu jumlah minimal atribut – atribut yang dapat mengidentifikasikan setiap records secara unik 2. Primary
Key,
yaitu
Candidate
Key
yang
dipilih
untuk
mengidentifikasikan setiap records dari suatu entitas secara unik. 3. Composite Key, yaitu Candidate Key yang terdiri dari dua atau lebih atribut.
2.1.9.5
Structural Constraints Batasan utama pada relationship disebut multiplicity, yaitu jumlah (range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Relationship yang paling umum adalah binary relationship. Macam – macam binary relationship, yaitu :
One-to-One (1 : 1).
One-to-Many (1 : *).
Many-to-Many (* : *).
42
Multiplicity for Complex Relationship.
2.1.10 Data Flow Diagram (DFD) Data flow diagram atau diagram aliran data adalah alat yang menggambarkan aliran data melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut. Dalam diagram aliran data terdiri beberapa tingkatan yaitu: •
Diagram Konteks (Context Diagram) Diagram konteks merupakan level tertinggi dari DFD dimana sistem terdiri satu proses. Pada tahap ini terlihat semua eksternal entiti yang berinteraksi dengan sistem dan data flow, antara eksternal entiti dengan sistem. Diagram konteks memberikan gambaran keseluruhan sistem.
•
Diagram Nol Diagram nol menggambarkan proses – proses penting yang terdapat pada suatu sistem. Diagram nol sudah menunjukkan data store yang digunakan. Setiap proses yang digambarkan diberi nomor yang terdiri dari satu digit. Untuk proses yang tidak dirinci lagi pada level selanjutnya (functional primitive), ditambahkan * pada akhir nomor proses.
•
Diagram Rinci Diagram rinci merupakan rincian dari diagram nol atau diagram level di atasnya. Pada diagram rinci, nomor proses menunjukkan tingkat rinciannya.
43 DFD (menurut Whitten, Bentley, Dittman) terdapat tiga simbol dan satu koneksi: •
Persegi empat tumpul, lingkaran atau lonjong menyatakan proses atau bagaimana tugas dikerjakan. (PROSES)
PROSES
•
PROSES
PROSES
Persegi empat menyatakan agen eksternal – batasan sistem tersebut. (INTERFACE)
EKSTERNAL
•
Kotak dengan ujung terbuka menyatakan data store, atau disebut file atau database. (DATA)
•
Panah menyatakan aliran data, atau input dan output, ke dan dari proses tersebut. DATA FLOW
2.1.11 Flowchart Menurut Mulyadi (1993, p60), flowchart atau bagan alir adalah simbol – simbol standart yang digunakan oleh bagian analisis sistem untuk membuat suatu bagan alir yang menggambarkan sistem tertentu. Flowchart melukiskan
44 suatu aliran kegiatan dari awal hingga akhir mengenai suatu langkah – langkah dalam penyelesaian suatu masalah.
2.1.11.1 Cross Functional Flowchart Ketika suatu flowchart menguraikan suatu proses di mana sejumlah orang yang berbeda, departemen, atau area fungsional dilibatkan, kadang – kadang sulit untuk menjejaki pihak yang bertanggung jawab untuk masing – masing langkah. Suatu manfaat teknik tambahan untuk pekerjaan yang mengikuti jalan ini, dan untuk meneliti seringnya suatu proses ‘yang diserahkan’ ke orang yang berbeda, akan membagi flowchart ke dalam kolom – kolom. Kepalai masing – masing kolom dengan nama dari fungsi atau orang yang dilibatkan dalam proses, dan setiap kali orang tersebut menyelesaikan suatu pertunjukan tindakan dalam kolom mereka. Ini digambarkan dalam flowchart di bawah cover suatu proses sederhana. Penggunaan Cross Functional Flowcharts untuk menunjukkan hubungan antara suatu proses bisnis dan unit fungsional(seperti departemen) yang bertanggang jawab untuk proses tersebut. Terdapat dua (2) jenis Cross-Functional Flowchart: •
Cross-Functional Horizontal Pada tampilan horisontal, kumpulan yang mewakili unit fungsional digambarkan secara horisontal (dari kiri sampai kanan).
45 •
Cross-Functional Vertical Pada tampilan vertikal, kumpulan yang mewakili unit fungsional digambarkan secara vertikal (dari atas sampai bawah). Simbol yang digunakan dalam Cross Functional Flowchart:
1. Simbol Proses (Process)
PROSES
2. Simbol Keputusan (Desicion)
DESICION
3. Simbol Penunjuk (On-Page Reference) PAGE
4. Simbol Konektor (Dynamic Connector)
5. Simbol Kumpulan Fungsi (Functional Band)
•
merupakan nama proses yang akan diuraikan.
•
merupakan suatu unit fungsi yang akan bertanggung jawab atas suatu proses
46 6. Simbol Tahap (Phase)
2.1.12 State Transition Diagram (STD) Menurut Jeffrey A. Et al (1996,p364), State Transition Diagram adalah suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. State Transition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian – kejadian tersebut dari satu state ke state lain. Ada dua macam simbol yang menggambarkan proses dalam STD, yaitu: •
Gambar persegi panjang menunjukkan state dari sistem
•
Gambar panah menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukkan kejadian yang menyebabkan transisi yang terjadi. Label yang di bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi.
47 2.2
Teori – Teori Khusus
2.2.1
Web Database
2.2.1.1
Internet Menurut Barry Eaglestone dan Mick Ridley(2001,p22), internet adalah suatu mekanisme untuk menghubungkan jaringan komputer bersama-sama, suatu integrasi dari jaringan-jaringan komputer dengan menerapkan standard protocol komunikasi dimana jaringan jaringan komputer
dapat
berkomunikasi.
Protokol
komunikasi
merupakan
sekumpulan aturan yang berkomunikasi antara komputer yang ada. Jaringan komputer yang berbeda sering menggunakan protocol yang berbeda. Internet menerapkan sekumpulan standard protocol, yang disebut TCP-IP
(Transmission
Control
Protocol-Internet
Protocol)
yang
mengijinkan jaringan komputer yang berbeda untuk berkomunikasi dengan yang lain. Masing-masing komputer pada internet memiliki alamat yang unik, yang disebut IP(Internet Protocol) address yang berupa angka-angka. Internet mendukung beberapa tipe server, seperti: a. FTP (File Transfer Protocol) servers, yang mendukung pemindahan (transfer) file di antara direktori-direktori file pada user dan server komputer. b. Gopher Servers, yang mengijinkan user untuk sedikit mencari penyimpanan data. c. Mail servers, yang mengijinkan e-mail (electronic mail) dikirim di antara user melalui internet.
48 d. News servers, yang dapat diakses untuk memposting ke grup - grup diskusi berita. e. Web servers, yang digunakan untuk mengimplementasi web itu sendiri.
2.2.1.2
Transmission Control Protocol (TCP) / Internet Protocol (IP) Transmission Control Protocol (TCP) / Internet Protocol (IP) menentukan aturan – aturan dan mekanisme – mekanisme dimana komputer yang terhubung bisa membagi data-data melewati jaringan. TCP/IP berhubungan dengan : -
Bagaimana hosts mencari satu sama lain;
-
Bagaimana hosts menetapkan sebuah koneksi;
-
Bagaimana hosts menggunakan koneksi untuk mengirimkan data dengan urutan yang tepat dan tanpa terjadi kesalahan. Protocols berbeda yang digunakan pada internet beroperasi pada
tingkatan yang berbeda membentuk sebuah Protocol Stack. Berikut ini adalah TCP/IP Protocol Stack yang disederhanakan, tempat di mana TCP/IP Protocols diselipkan di antara application specific protocols dan network specific protocols. a. Application Layer – Pada tingkat tertinggi, protocols berkaitan dengan pembuatan aplikasi – aplikasi atau tugas – tugas yang khusus, seperti pengiriman files atau email antar komputer (contohnya Telnet, FTP, dan Gopher). b. Transport Layer - Pada tingkat di bawah application layer, protocols berkaitan dengan komunikasi antar hosts.
49 c. Internet Layer – pada tingkat ini, IP protocol berkaitan dengan transmisi dari pesan – pesan individual antar hosts. d. Network Interface Layer – pada layer ini, protocols khusus diperuntukkan bagi tipe – tipe jaringan yang berbeda, seperti Ethernet, X.25, ATM.
2.2.1.3
IP (Internet Protocol) Address IP(Internet Protocol) address adalah alamat yang unik yang digunakan oleh TCP/IP protocol untuk mengidentifikasikan masing-masing komputer yang terhubung ke internet sehingga memungkinkan suatu komputer untuk saling berkomunikasi dengan komputer yang lain dengan internet. Suatu IP address meliputi nomor-nomor yang mengidentifikasikan jaringan
dimana
host
itu
tersambung,
dan
nomor-nomor
yang
mengidentifikasi host itu sendiri. •
Simbol IP address disusun dari daftar nama-nama yang dipisahkan dengan dots(.).
•
Nama pertama adalah sebagai host.
•
Kemudian diikuti oleh daftar nama-nama daerah (domain). Contoh nama domain yang sering digunakan adalah uk(United Kingdom), de(Germany), gr(Greece), edu(Educational Organization).
•
Nama-nama domain diurutkan dari kiri ke kanan, dari yang spesifik ke yang umum (general). (tanpa titik koma atau tanda titik)
50 2.2.1.4
Web Web adalah suatu aplikasi pada internet yang menyediakan cara sederhana untuk mengakses informasi dan menjalankan program-program yang tersimpan pada komputer-komputer yang terhubung melalui internet. Web memiliki memory di dalam, dimana informasi dapat diwakili, disimpan, dan diakses. Web dijalankan oleh program pada komputer yang terhubung ke internet. Tujuan dari program tersebut adalah untuk membuat beberapa komputer bertindak sebagai ‘Web Server’,yaitu komputer yang menyediakan informasi
dan layanan yang dapat diakses pada Web.
Program lain yang membuat komputer bertindak sebagai ‘Web Clients’, yaitu komputer yang memungkinkan user untuk mengakses programprogram dan informasi yang tersimpan pada Web. Web-servers dan Webclients berkomunikasi melalui internet. Konsep-konsep dalam Web: •
Hypermedia – Format dimana informasi disimpan pada Web.
•
HTML – Bahasa yang digunakan untuk hypermedia.
•
URL – alamat yang digunakan untuk mengakses sumber- sumber web seperti dokumen dan program hypermedia.
•
HTTP – protocol yang digunakan untuk mengakses sumber – sumber web
•
Gateways – suatu alat yang diakses dari web.
51 2.2.1.5
Browsers Browser secara khusus digunakan untuk menampilkan document web dan mengikuti link-link yang digunakan untuk mengakses document web lain atau untuk berpindah diantara bagian-bagian yang berbeda dari document web. Browser termasuk software standar, biasa tersedia bersama sistem operasi.
2.2.1.6
URL (Universal Resource Locator) URL(Universal Resource Locator) adalah alamat unik yang dimiliki masing-masing sumber web yang dapat diakses. URL boleh mengalamatkan beberapa tipe sumber yang berbeda yang tersedia pada internet. URL untuk suatu sumber akan terkirim dari web server menggunakan HTTP protocol.
2.2.1.7
HTTP (HyperText Transfer Protocol) HTTP adalah protocol yang mana suatu koneksi antara browser dan client ditetapkan dan digunakan. Pemindahan (transfer) data dari suatu server ke suatu client dengan menggunakan http akan diaktifkan oleh client.
2.2.1.8
PHP (PHP Hypertext Preprocessor) Menurut Valade J. (2004, p9),PHP merupakan bahasa scripting yang bersifat open source dan dirancang untuk pengembangan situs web. Awalnya, PHP dimulai dari peralatan personal home page yang
52 dikembangkan oleh Rasmus Lerdorf. PHP ternyata sangat berguna dan terkenal, dan berkembang dengan cepat menjadi bahasa penuh fitur yang banyak digunakan orang – orang sampai sekarang. Sesuai dengan namanya Hypertext Preprocessor, PHP mewakili kemampuannya yang luar biasa, yaitu memproses halaman web sebelum ditampilkan. Kepopuleran
PHP
terus
berkembang
karena
kelebihan
–
kelebihannya, antara lain: •
Cepat : pada situs web, karena menggunakan kode HTML, waktu proses dalam menampilkan sebuah halaman web menjadi pendek.
•
Gratis : PHP mampu membuktikan sekalipun gratis tetapi tetap dapat diandalkan.
•
Mudah digunakan : sintaks sederhana dan mudah dimengerti dan digunakan, bahkan untuk yang bukan merupakan seorang programmer. Untuk digunakan disitus web, kode PHP dirancang agar dapat dimasukkan dengan mudah dalam kode HTML.
•
Berjalan pada banyak operasi sistem : diantaranya Windows, Linux, Mac OS, dan jenis – jenis Unix lainnya.
•
Dukungan teknis tersedia banyak : diskusi – diskusi mengenai PHP bisa didapatkan disitus web PHP (www.php.net).
•
Aman : selama script dirancang dengan benar, user tidak akan bisa melihat kode PHP.
•
Bisa dikostumasi : aturan open source mengizinkan para programmer untuk mengubah perangkat lunak PHP, menambah atau memodifikasi
53 fitur jika diperlukan untuk mencocokkan lingkungan yang ada dan mengurangi peluang kegagalan.
2.2.1.9
MySQL MySQL merupakan sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread dan multi-user. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. (Arianto, 2003) Basisdata MySQL sangat cocok berpapasan dengan PHP dengan beberapa pertimbangan. MySQL menggunakan suatu format standar SQL bahasa data yang terkenal. MySQL dilepaskan dengan suatu lisensi open sourse, dan tersedia secara cuma-cuma. MySQL bekerja pada berbagai sistem operasi, dan banyak bahasa. MySQL bekerja dengan cepat dan baik dengan data yang besar. PHP menyediakan banyak fungsi untuk mendukung basisdata MySQL. Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin) dan modul berbasis grafik (GUI) yaitu MySQL Administrator dan MySQL Query Browser Terdapat pula sebuah perangkat
54 lunak gratis untuk administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin. Digunakan MySQL sebagai basis data karena beberapa alasan di bawah ini: a. MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. b. Source programnya pun dapat diperoleh secara gratis c. Syntax-syntax-nya mudah untuk dipahami dan tidak rumit d. Pengaksesan database dapat dilakukan dengan mudah dan cepat. e. Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS, dan lain – lain. f. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
2.2.1.10 Xampp Xampp merupakan salah satu paket installasi Apache, PHP, dan MySQL instant yang dapat digunakan untuk membantu proses installasi ketiga produk tersebut. Untuk mulai menggunakan bahasa pemrograman PHP ini perlu menginstall sebuah web server, Apache merupakan salah satu web server yang ada saat ini dan dapat digunakan bersama PHP, Apache web server bisa didapatkan secara gratis dari web resmi mereka di http://www.apache.org. Xampp merupakan pengembangan dari LAMP (Linux Apache, MySQL, PHP dan PERL), Xampp ini merupakan project non – profit yang
55 dikembangkan oleh Apache Friends yang didirikan Kai ‘Oswalad’ Seidler dan
Kay
Vogelgesang
pada
tahun
2002,
project
ini
bertujuan
mempromosikan penggunaan Apache web server. Program ini dikeluarkan di bawah GNU General Public License dan bertindak sebagai web server yang gratis dan mudah digunakan memungkinkan melayani halaman-halaman dinamik. Sekarang ini, Xampp tersedia untuk Microsoft Windows, Linux, Sun Solaris, dan Mac OS X.
Developer
Apache Friends
OS
Cross-platform (Linux, Windows, Solaris, Mac OS X)
Genre
WAMP
License
GPL
Website
http://www.apachefriends.org/en/xampp.html Sumber : http://en.wikipedia.org/wiki/XAMPP
Tabel 2.1 Tabel Keterangan Xampp
2.3
Perancangan Web Database Rancangan dari sistem web database berbeda dari sistem database konvensional dimana pada sistem web database terdapat tambahan dua komplikasi: 1. Perancangan halaman web (web page), meliputi :
56 a. Gambaran data web, contoh : gambaran dari data, sebagai halaman web, yang diperoleh dari database atau masukan (input) dari user. b. Kumpulan data web, contoh : perancangan link untuk navigasi dalam dan antara halaman – halaman web. c. Perancangan antarmuka (interface) web, contoh : perancangan fitur – fitur halaman web, termasuk penggunaan grafik, animasi, dan lain-lain. 2. Perancangan hubungan (connectivity) antara halaman – halaman web (web pages) dan database, meliputi : a. Pemetaan (mapping) logikal web database (web database logical mapping), contoh : ketentuan dari pemetaan antara data yang ditampilkan di halaman – halaman web dan data yang disimpan di dalam database. b. Pemetaan (mapping) fisikal web database (web database physical mapping), contoh : implementasi dari mekanisme oleh data yang melewati antara web page dan database tersebut. Batasan – batasan yang terdapat di metode ini adalah : 1. Hanya mempertimbangkan (consider) masalah – masalah perancangan yang berhubungan langsung dengan data yang ada di database dan yang ditampilkan di halaman web (web pages), contohnya : gambaran dan kumpulan data web, dan pemetaan logikal dan fisikal web database. 2. Hanya mempertimbangkan (consider) halaman – halaman web yang dirancang secara jelas untuk aplikasi di bawah pengawasan (under consideration). Sama seperti database, struktur dari sebuah web database dapat digambarkan dalam tahapan berbeda yang terpisah, sesuai dengan model konseptual, logikal, dan fisikal dari sebuah sistem database konvensional :
57 -
Conceptual web data model harus memperlihatkan struktur informasi yang digambarkan di halaman web.
-
Logical web data model harus menampilkan cara bagaimana struktur konseptual sebenarnya digambarkan di dalam halaman web.
-
Physical web data model harus menampilkan bagaimana cara model logikal dari halaman web diimplementasikan.
1. Analisa web data mendefinisikan sebuah model konseptual dari sebuah 2. Perancangan logikal web data mendefinisikan struktur data dari halaman web yang sebenarnya, meliputi links antar tiap bagian dan links dengan halaman web lainnya. 3. Perancangan fisikal web data merancang bagaimana cara halaman web diimplementasikan dan dihubungkan dengan sistem database. Perlu dicatat juga, terdapat banyak perancangan tugas – tugas dan model yang sama untuk tiap tahap yang terpisah, secara berturut – turut untuk merancang database dan halaman web. Bagaimanapun juga, perbedaan penting antara perancangan logikal dari halaman web dan database terlebih dahulu dirancang untuk mendukung aplikasi yang khusus, sebagaimana sebuah database dirancang untuk seluruh aplikasi yang berhubungan termasuk di dalamnya aplikasi - aplikasi yang dibutuhkan di masa yang akan datang. Untuk itu, masukan (input) yang penting pada analisa web data adalah sekumpulan syarat khusus untuk aplikasi web database.
58 Hubungan antara analisis data, di mana model konseptual database diperoleh, dan analisis data web, di mana model konseptual dari informasi berisi halaman web, dapat bervariasi. Hal ini dikarenakan sistem web database dapat dirancang dalam dua skenario: •
Sebuah database dapat dirancang dengan khusus untuk mendukung sebuah data intensive web application.
•
Sebagai alternatif lain, aplikasi web dapat dirancang sebagai sebuah aplikasi dari sistem database yang sudah ada.
2.4
Manajemen Menurut Fuad et.al (2005, p92), manajemen merupakan suatu proses yang melibatkan
kegiatan
perencanaan,
pengorganisasian,
pengarahan,
dan
pengendalian yang dilakukan untuk mencapai sasaran perusahaan melalui pemanfaatan sumber daya manusia dan sumber daya lainnya. Dari pengertian tersebut dijumpai adanya aktifitas-aktifitas khusus dalam manajemen yang merupakan suatu proses untuk mencapai sasaran-sasaran yang telah ditetapkan sebelumnya. Manajemen juga berarti bagian dari
mengarahkan dan mengendalikan
sebuah grup yang terdiri dari satu atau lebih orang atau entiti yang bertujuan untuk menyerasikan dan mengharmoniskan grup tersebut dalam menyelesaikan sebuah goal (tujuan akhir). Manajemen sering meliputi penyebaran dan manipulasi dari sumber daya manusia, sumber finansial, sumber teknologi, dan sumber alam.
59 Menurut Robbins dan Coulter (2004, pp6-7), manajemen adalah proses mengkoordinasi kegiatan-kegiatan pekerjaan sehingga pekerjaan tersebut dapat diselesaikan secara efisien dan efektif dengan dan melalui orang lain. Proses menggambarkan fungsi-fungsi yang sedang berjalan atau kegiatan-kegiatan utama yang dilakukan oleh para manajer. Fungsi-fungsi itu lazimnya disebut merencanakan, mengorganisasi, memimpin dan mengendalikan. Efisiensi mengacu pada memperoleh output terbesar dengan input yang terkecil sedangkan efektifitas digambarkan sebagai “melakukan segala sesuatu yang benar” – yaitu aktivitasaktivitas pekerjaan yang membantu organisasi mencapai sasaran. Fungsi-fungsi manajemen menurut Robbins dan Coulter (2004, p8) : 1. Merencanakan Fungsi manajemen yang mencakup proses mendefinisikan sasaran, menetapkan strategi untuk mencapai sasaran itu, dan menyusun rencana untuk mengintegrasikan dan mengkoordinasikan sejumlah kegiatan. 2. Mengorganisasi Fungsi manajemen yang mencakup proses menetukan tugas apa yang harus
dilakukan.
Siapa
yang
harus
melakukan,bagaimana
cara
mengelompokkan tugas-tugas itu, siapa harus melapor ke siapa, dan dimana keputusan harus dibuat. 3. Memimpin Fungsi manajemen yang mencakup memotivasi bawahan, mempengaruhi individu atau tim sewaktu mereka bekerja, memiliki saluran komunikasi yang paling efektif, dan memecahkan dengan berbagai cara masalah perilaku karyawan.
60 4. Mengendalikan Fungsi
manajemen
yang
mencakup
memantau
kinerja
aktual,
membandingkan aktual dengan standar dan membuat koreksinya, jika perlu.