8 BAB II LANDASAN TEORI 2.1 World Wide Web Www atau World

advertisement
BAB II
LANDASAN TEORI
2.1
World Wide Web
Www atau World Wide Web maupun Web saja adalah sebuah sistem yang
saling terkait dalam sebuah dokumen berformat hypertext yang berisi beragam
informasi, baik tulisan, gambar, suara, video dan informasi multimedia lainnya
dan dapat diakses melalui sebuah perangkat yang disebut web browser.
Untuk menterjemahkan dokumen hypertext ke dalam bentuk dokumen
yang dapat dipahami oleh Manusia, maka web browser melalui web client akan
membaca halaman web yang tersimpan disebuah web server melalui protokol
yang sering disebut HTTP atau Hypertext Transfer Protocol.
Sedangkan software atau perangkat lunak web browser saat ini tersedia
dalam berbagai produk dengan kelebihan dan kekurangannya masing-masing.
Beberapa web browser yang paling terkenal saat ini adalah Mozilla Firefox,
Internet Explorer, Opera, Safari dan lain sebagainya.
Dokumen hypertext yang tersimpan di dalam sebuah webserver memiliki
banyak link atau sambungan antara satu dokumen hypertext dengan dokumen
hypertext lainnya. Dengan adanya link antar dokumen hypertext, maka hal
tersebut dapat memudahkan pengakses untuk mengunjungi atau mendapatkan
dokumen-dokumen terkait yang diinginkannya.
8
9
2.2
Bahasa Pemrograman
2.2.1
PHP
PHP singkatan dari Personal Home Page Tools, adalah sebuah bahasa
scripting yang dibundel dengan HTML, yang dijalankan disisi server. Sebagian
besar perintahnya berasal dari C, Java dan Perl dengan beberapa tambahan fungsi
khusus PHP. Bahasa ini memungkinkan para pembuat aplikasi web menyajikan
halaman HTML dinamis dan interaktif dengan cepat dan mudah, yang dihasilkan
server. PHP juga dimaksudkan untuk mengganti teknologi lama seperti CGI
(Common Gateway Interface).
PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah
ada. Developer bisa menulis sebuah program PHP yang mengeksekusi suatu
program CGI di server web lain. Fleksibilitas ini amat bermanfaat bagi pemilik
situs-situs web yang besar dan sibuk, karena pemilik masih bisa mempergunakan
aplikasi-aplikasi yang sudah terlanjur dibuat dimasa lalu dengan CGI, ISAP atau
dengan script seperti Perl, Awk atau Python selama proses migrasi ke aplikasi
baru yang dibuat dengan PHP. Ini mempermudah dan memperluas peralihan
antara teknologi lama dan teknologi baru.
Beberapa Kelebihan PHP dari bahasa pemrograman lain ;;
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan
sebuah kompilasi dalam penggunaanya.
2. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah
karena referensi yang banyak.
10
3. PHP adalah bahasa open source yang dapat digunakan diberbagai mesin
(linux, unix, windows) dan dapat dijalankan secara runtime melalui console
serta juga dapat menjalankan perintah-perintah system.
4. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai
IIS sampai dengan apache, dengan configurasi yang relatif mudah.
5. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan
developer yang siap membantu dalam pengembangan.
2.2.2
CSS
Css (Cascading Style Sheet) adalah pengaturan format standar halaman
web yang direkomendasikan oleh W3C. CSS memiliki fungsi mengatur tampilan
dari halaman web yang akan dibuat. Dengan menggunakan css, maka halaman
web dapat memiliki tampilan yang sesuai dengan yang dikehendaki dan format
penulisannya pun cukup mudah.
2.3
Pemodelan Data
2.3.1 Diagram Konteks
Diagram konteks merupakan alat pemodelan atau suatu diagram yang
menggambarkan sistem berbasis komputer yang dirancang secara global dan
merupakan suatu diagram alir data tingkat atas, dimana didalam diagram konteks
ini menggambarkan seluruh jaringan, baik masukan maupun sebuah keluaran
sebuah sistem.
Diagram ini merupakan dasar yang digunakan untuk menentukan aliran data
yang mengalir menuju sistem (input system) dan keluar dari sistem (output
11
system), yang meliputi objek berupa kesatuan luar (ekseternal entity). Diagram
konteks dapat mendefinisikan jangkauan proses penurunan sistem informasi yaitu
menetukan apa yang menjadi bagian dari sistem informasi dan apa yang tidak
menjadi bagian sistem informasi.
2.3.2 Diagram Aliran Data (DFD)
Diagram Aliran Data memodelkan kejadian dan proses
mengubah data)
dalam
sebuah
(aktifitas yang
system [Studio Komputer Akuntansi, 2008,
P.72]. Dari DFD dapat terlihat bagaimana data mengalir kedalam, keluar dan
didalam system tersebut.
Beberapa simbol yang digunakan dalam Data Flow Diagram (DFD) antara lain:
1.
Proses (Process)
Proses adalah simbol pertama data flow diagram. Proses dilambangkan
dengan lingkaran, dimana proses ini menunjukan bagian dari sistem yang
mengubah satu atau lebih input dan output. Nama proses dituliskan dengan
satu kata, singkatan atau kalimat sederhana.
2.
Aliran Data (Flow)
Aliran Data digambarkan dengan tanda panah dari proses. Aliran data juga
digunakan untuk menunjukan bagian – bagian informasi dari satu bagian ke
bagian lain. Pembagian nama untuk aliran ini menunjukan sebuah arti untuk
sebuah aliran. Untuk kebanyakan sistem yang dibuat, aliran data sebenarnya
mengambarkan data yakni angka, huruf, pesan, dan macam - macam
informasi lainnya.
12
3
Simpanan Data (Storage)
Simpanan data digunakan sebagai penyimpanan bagi paket – paket data.
Notasi penyimpanan data digambarkan dengan garis horizontal yang pararel.
Simpanan data merupakan simpanan data dari data yang berupa suatu file
atau database di sistem komputer ataupun berupa arsip atau catatan manual.
Nama dari simpanan data menunjukan nama filenya.
4
Kesatuan Luar (External Entity)
Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan
suatu sistem dengan lingkungan luarnya. Kesatuan luar merupakan kesatuan
(entity) dilingkungan luar sistem yang dapat berupa orang, Organisasi atau
sistem lainnya yang berada di lingkungan luarnya yang akan memberikan
input atau output dari sistem.
2.3.3
Flowchart
Flowchart merupakan grafik formal yang menggambarkan urutan logis
dari. pekerjaan suatu proyek atau proses [Studio Komputer Akuntansi, 2008,
P.82]. Setiap notasi flowchart memiliki arti khusus. Bagan, nama dan fungsinya
seperti yang disajikan pada tabel berikut:
( Tabel 2.1 Simbol Flowchart )
SIMBOL
NAMA
FUNGSI
TERMINATOR
Permulaan / akhir program
GARIS ALIR
(FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi / pemberian
harga awal
13
PROSES
INPUT/OUTPUT
DATA
PREDEFINED
PROCESS
(SUB PROGRAM)
DECISION
ON PAGE
CONNECTOR
OFF PAGE
CONNECTOR
Proses perhitungan / proses
pengolahan data
Proses input / output data,
parameter, informasi
Permulaan sub program / proses
menjalankan sub program
Perbandingan pernyataan,
penyeleksian data yang
memberikan pilihan untuk
langkah selanjutnya
Penghubung bagian-bagian
flowchart yang berada pada satu
halaman
Penghubung bagian-bagian
flowchart yang berada pada
halaman berbeda
MAGNETIC DISK
Penyimpanan dari/dalam harddisk
MANUAL INPUT
Memasukan data secara manual
dengan menggunkan online key
DISPLAY
Mencetak keluaran dalam dalam
layar monitor
2.4
Data Base
2.4.1
Definisi Basis Data
Basis Data terdiri dari 2 ( dua ) kata, yaitu Basis dan Data. Basis kurang
lebih dapat diartikan sebagai markas atau gudang, tempat bersarang atau pun
berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili
suatu objek seperti manusia ( pegawai, siswa, pembeli, pelanggan ), barang,
hewan, peristiwa, konsep, keadaan dan sebagainya yang direkam dalam bentuk
14
angka, huruf, symbol, teks, gambar, bunyi atau kombinasi. Basis Data sendiri
dapat didefinisikan dalam sejumlah sudut pandang seperti berikut :
1. Himpunan kelompok data ( arsip ) yang saling berhubungan yang diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan
mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan ( redundansi ) yang tidak perlu, untuk
memenuhi berbagai kebutuhan.
3. Kumpulan file / tabel / arsip yang saling berhubungan yang disimpan dalam
media penyimpanan elektronis.
Prinsip utama Basis Data adalah pengaturan data / arsip. Dan tujuan
utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data /
arsip tersebut dalam media penyimpanan elektronis seperti disk ( disket atau
hardisk ). Satu hal yang harus diperhatikan, bahwa basis data bukan hanya sekedar
penyimpanan data secara elektronis ( dengan bantuan komputer ). Artinya, tidak
semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Yang
sangat
ditonjolkan
dalam
basis
data
adalah
pengaturan
/
pemilahan
/
pengelompokan / pengorganisasian data yang akan kita simpan sesuai dengan
fungsi / jenisnya. Pemilahan / pengelompokan / pengorganisasian ini dapat
berbentuk sejumlah file / tabel terpisah atau dalam bentuk pendefinisian kolom –
kolom / field – field data dalam setiap file / tabel.
15
2.4.2 Operasi Dasar Basis Data
Di dalam sebuah disk, basis data dapat diciptakan dan dapat pula
ditiadakan. Kita dapat pula menempatkan beberapa basis data. Sementara dalam
sebuah basis data, kita dapat menempatkan satu atau lebih file / tabel. Pada file /
tabel inilah sesungguhnya data disimpan / ditempatkan. Setiap basis data
umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya,
ada basis data kepegawaian, akademik, inventori ( pergudangan ) dan lain
sebagainya.
menempatkan
Sementara
file
dalam basis
mahasiswa,
data
akademik,
file mata_kuliah,
misalnya kita dapat
file dosen,
file nilai dan
sebagainya.
Karena itu, operasi – operasi dasar yang dapat kita lakukan berkenaan
dengan basis data dapat meliputi :
1.
Pembuatan basis data baru ( create database )
2.
Penghapusan basis data ( drop database )
3.
Pembuatan file / tabel baru ke suatu basis data ( create table )
4.
Penghapusan file / tabel baru dari suatu basis data ( drop table )
5.
Penambahan atau pengisian data baru ke sebuah file / tabel dalam sebuah
basis data ( insert )
6.
Pengambilan data dari sebuah file / tabel ( retrieve / search )
7.
Pengubahan data dari sebuah file / tabel ( update )
8.
Penghapusan data dari sebuah file / tabel ( delete )
2.4.3 Objektif Basis Data
Pemanfaatan basis data untuk pengelolaan data, juga memiliki tujuan-
16
tujuan lain. Secara lebih lengkap, pemanfaatan basis data dilakukan untuk
memenuhi sejumlah tujuan (objektif) seperti berikut ini :
1.
Kecepatan dan Kemudahan (Speed)
Pemanfaatan basis data memungkinkan kita untuk dapat menyimpan data
atau
melakukan
perubahan/manipulasi terhadap
data atau menampilkan
kembali data tersebut dengan lebih cepat dan mudah.
2.
Efisiensi Ruang Penyimpanan (Space)
Dengan basis data,
efisiensi/optimalisasi penggunaan ruang penyimpanan
dapat dilakukan, karena kita dapat melakukan penekanan jumlah redundansi
data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat
relasi-relasi
(dalam
bentuk
file)
antar
kelompok
data
yang
saling
berhubungan.
3.
Keakuratan (Accuracy)
Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan
penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data,
dan sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data,
sangat berguna untuk menekan ketidak akuratan pemasukan/penyimanan
data.
4.
Ketersediaan (Availability)
Pertumbuhan data (baik dari sisi jumlah maupun jenisnya) sejalan dengan
waktu akan semakin membutuhkan ruang penyimpanan yang besar. Padahal
tidak semua data itu selalu kita gunakan/butuhkan. Karena itu kita dapat
memilah adanya data utama/master/ referensi, data transaksi, data histori
hingga data kadaluarsa. Data yang sudah jarang atau bahkan tidak pernah lagi
17
kita gunakan, dapat kita atur untuk dilepaskan dari sistem basis data yang
sedang aktif (menjadi off-line) baik dengan cara penghapusan atau dengan
memindahkannya ke media penyimpanan off-line (seperti removable disk
atau tape). Di sisi lain, karena kepentingan pemakaian data, sebuah basis data
dapat memiliki data yang disebar di banyak lokasi geografis.
5.
Kelengkapan (Completeness)
Untuk
mengakomodasi
kebutuhan
kelengkapan
data
yang
semakin
berkembang, maka kita tidak hanya dapat menambah record-record data,
tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam
bentuk penambahan objek baru (tabel) atau dengan penambahan field-field
baru pada suatu tabel.
6.
Keamanan (Security)
Untuk sistem yang besar dan serius, aspek keamanan juga dapat diterapkan
dengan ketat. Dengan begitu, kita dapat menentukan siapa-siapa (pemakai)
yang boleh menggunakan basis
data beserta objek-objek di dalamnya dan
menentukan jenis-jenis operasi apa saja yang oleh dilakukannya.
7.
Kebersamaan Pemakaian (Sharability)
Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di
satu lokasi saja atau oleh satu sistem/aplikasi saja. Basis data yang dikelola
oleh sistem (aplikasi) yang mendukung lingkungan multiuser, akan dapat
memenuhi kebutuhan ini, tetapi tetap dengan menjaga/menghindari terhadap
munculnya persoalan baru seperti inkonsistensi data (karena data yang sama
diubah oleh banyak pemakai pada saat yang bersamaan) atau kondisi
deadlock
(karena ada banyak
pemakai yang saling menunggu untuk
18
menggunakan data).
2.4.4
Penerapan Basis Data
Hampir di semua aspek pemanfaatan perangkat komputer dalam sebuah
organisasi/ perusahaan senantiasa berhubungan dengan basis data. Perangkat
komputer
dalam
suatu
organisasi/perusahaan
biasanya
menjalankan fungsi Pengelolaan Sistem Informasi,
menjadi suatu keharusan,
keakuratan,
kecepatan
demi untuk
operasional
digunakan
untuk
yang dewasa ini sudah
meningkatkan efisiensi,
organisasi/perusahaan.
Dan
daya saing,
basis
data
merupakan salah satu komponen utama dalam setiap sistem informasi. Tidak ada
sistem informasi yang bisa dibuat/dijalankan tanpa adanya basis data.
Secara lebih teknis/nyata, bidang-bidang fungsional yang telah umum
memanfaatkan basis data demi efisiensi, akurasi dan kecepatan operasi antara lain
adalah:
1.
Kepegawaian
2.
Pergudangan ( inventory )
3.
Akuntansi
4.
Reservasi
5.
Layanan Pelanggan ( customer care )
2.4.5
Database Management Sistem (DBMS)
Sebuah bahasa basis data biasanya dapat dikelompokkan ke dalam dua
bentuk, yaitu :
1.
Data Definition Language (DDL) dan
19
2.
Data Manipulation Language (DML)
2.4.6
Kardinalitas / Derajat Relasi
Kardinalitas Relasi menunjukan jumlah maksimum entitas yang dapat
berelasi dengan entitas pada himpunan entitas lain. Dari sejumlah kemungkinan
banyaknya hubungan antar entitas tersebut, Kardinalitas Relasi merujuk kepada
hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan
entitas yang lain dan begitu juga sebaliknya.
Kardinalitas Relasi yang terjadi diantara dua himpunan entitas ( misalnya
A dan B ) dapat berupa :
1. Satu ke Satu ( One to One )
Yang berarti setiap entitas pada himpunan entitas A berhubungan paling
banyak dengan satu entitas pada himpunan entitas B, dan begitu juga
sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak
dengan satu entitas pada himpunan entitas A.
Entitas 1
Entitas 1
A 2
Entitas
B 2
Entitas
Entitas 3
Entitas 3
( Gambar 2.1 Relasi Satu ke Satu )
2. Satu ke Banyak ( One to Many )
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya,
20
dimana setiap entitas pada himpunan entitas B berhubungan paling banyak
dengan satu entitas pada himpunan entitas A.
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 4
( Gambar 2.2 Relasi Satu ke Banyak )
3. Banyak ke Satu ( Many to One )
Yang berarti setiap entitas pada himpunan entitas A berhubungan paling
banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya,
dimana setiap entitas pada himpunan entitas A berhubungan dengan paling
banyak satu entitas pada himpunan entitas B,
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 4
( Gambar 2.3 Relasi Banyak ke Satu )
21
4. Banyak ke Banyak ( Many to Many )
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B dan demikian juga sebaliknya,
dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan
banyak entitas pada himpunan entitas A.
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 3
Entitas 4
Entitas 4
( Gambar 2.4 Relasi Banyak ke Banyak )
2.4.7
MySQL
MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan
bernama SQL AB yang berada di Swedia. dan tujuan awal dikembangkannya
MySQL adalah untuk mengembangkan aplikasi berbasis web pada client.
Awalnya Michael "Monty" Widenius, pengembang satu-satunya di TcX memiliki
sebuah aplikasi UNIREG dan rutin ISAM buatannya sendiri dan sedang mencari
antarmuka SQL yang cocok untuk diimplementasikan ke dalamnya. Mula-mula
Monty memakai miniSQL (mSQL) pada eksperimennya itu, namun SQL dirasa
kurang sesuai, karena terlalu lambat dalam pemrosesan query. Akhirnya Monty
menghubungi David Hughes, pembuat mSQL yang sedang merilis versi kedua
22
dari mSQL. Kemudian Monty mencoba membuat sendiri mesin SQL yang
memiliki antarmuka mirip dengan SQL, tetapi dengan kemampuan yang lebih
sesuai sehingga lahirlah MySQL. Tentang pengambilan nama MySQL, sampai
saat ini masih belum jelas asal usulnya. Ada yang berpendapat nama My diambil
dari huruf depan dan belakang Monty, tetapi versi lain mengatakan nama itu
diambil dari putri Monty yang kebetulan juga bernama My.
Keistimewaan MySQL
Sebagai database server yang memiliki konsep database modern, MySQL
memiliki banyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang
dimiliki oleh MySQL:
1.
Portability
MySQL dapat berjalan stabil pada berbagai OS seperti Windows, Linux,
Unix, Mac OS, Solaris, Unix, Amiga, HP-UX, Symbian.
2.
Open Source "limited"
Dahulu MySQL didistribusikan secara open source (gratis), dibawah lisensi
GPL sehingga kita dapat menggunakannya secara cuma-cuma tanpa dipungut
biaya. Namun, saat ini karena MySQL telah dibeli oleh SUN, maka kita tidak
dapat lagi menikmati fitur-fitur baru yang ada di MySQL, karena SUN akan
membatasi fitur-fitur baru ini hanya untuk user yang membeli lisensinya.
Sehingga MySQL tidak lagi sebuah opensource yang benar-benar gratis lagi.
MySQL sekarang hanya menyediakan fitur-fitur "dasar" saja yang saat ini
sudah menggunakan versi
23
3.
Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan
tanpa mengalami konflik. Hal ini memungkinkan sebuah database server
MySQL dapat diakses klien secara bersamaan.
4.
Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan
waktu.
5.
Column Types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned
integer, float, double, char, varchar, text, blob, date, time, datetime.
6.
Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung
perintah SELECT dan WHERE dalam query.
7.
Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama
host, dan izin akses user dengan sistem perizinan yang mendetail serta
password terenkripsi.
8.
Scalability dan Limits
MySQL ammpu menangani database dalam skala besar dengan jumlah
records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu,
batas index yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
24
9.
Connectivity
MySQL dapat melakukan koneksi dengan klien menggunakan TCP/IP, Unix
soket (Unix), atau Named Pipes (NT).
10. Localisation
MySQL dapat mendeteksi pesan kesalahan (error code) pada klien dengan
menggunakan lebih dari dua puluh bahasa.
11. Interface
MySQL
memiliki
interface
terhadap
berbagai
aplikasi
dan
bahasa
pemrograman dengan menggunakan fungsi API (Application Programming
Interface).
12. Clients dan Tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk
administrasi database, dan pada setiap tool yang ada disertakan petunjuk
online.
13. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani
ALTER TABLE dibandingkan database lainnya.
Download