5 5 BAB II TINJAUAN PUSTAKA Tinjauan pustaka membahas

advertisement
5
BAB II
TINJAUAN PUSTAKA
Tinjauan pustaka membahas mengenai teori dasar Pengelolaan Keuangan
Badan Layanan Umum (PK-BLU), akuntansi keuangan, sistem informasi, dan
beberapa proses bisnis yang terkait dengan sistem yang akan dibuat.
2.1
Pengelolaan Keuangan Badan Layanan Umum (PK-BLU)
Pengelolaan Keuangan Badan Layanan Umum merupakan basis tata kelola
yang direncanakan Universitas Udayana sebagai langkah konkret untuk menuju
good university governance. Basis tata kelola tersebut mengharapkan Universitas
Udayana dapat mengoptimalkan pelayanan yang dapat mendorong dan
menumbuh-kembangkan efisiensi, efektivitas, transparansi, serta akuntabilitas
dalam pengelolaan keuangan.
Dilihat dari aspek keuangan, PK-BLU dituntut untuk dapat menyajikan
laporan keuangan konsolidasi secara periodik, yang setidaknya terdiri dari:
1.
Laporan Realisasi Anggaran
2.
Neraca (balance sheet)
3.
Laporan Arus Kas (Statement of Cash Flows)
4.
Catatan (pengungkapan/penjelasan) atas Laporan Keuangan
5.
Laporan Aktivitas
Sesuai Peraturan Menteri Keuangan Nomor 92/PMK.05/2011 tentang
Rencana Bisnis dan Anggaran serta Pelaksanaan Anggaran Badan Layanan
Umum, sebagai lembaga BLU, kemampuan pendapatan yang diperkirakan akan
diterima Universitas Udayana terdiri dari:
1. Pendapatan yang akan diperoleh dari layanan yang diberikan kepada
masyarakat
2. Hibah tidak terikat dan/atau hibah terikat yang diperoleh dari masyarakat
atau badan lain
3. Hasil kerja sama BLU dengan pihak lain dan/atau hasil usaha lainnya
4. Penerimaan lainnya yang sah
5
6
5. Penerimaan anggaran yang bersumber dari APBN.
Penerimaan untuk point 1 sampai 4 dilaporkan sebagai Penerimaan Negara
Bukan Pajak (PNBP) Kementrian Negara/Lembaga.
Mekanisme Penerimaan Negara Bukan Pajak (PNBP) pada point 1 adalah
dengan menyetorkan SPP/SDPP dan atau pendapatan pendidikan lainnya oleh
mahasiswa atau pihak lain ke rekening pemimpin BLU. Penerimaan SPP dan
SDPP yang dimaksud sebelumnya akan berubah menjadi penerimaan SPP
tunggal. Perkembangan selanjutnya kebijakan SPP tunggal ini dikenal dengan
Uang Kuliah Tunggal (UKT) yang telah ditetapkan melalui Surat Edaran Dirjen
Dikti No. 21/E/T/2012 tanggal 4 Januari 2012 dan No. 274/E/T/2012 tanggal 16
Februari 2012 serta kebijakan ini rencananya akan mulai diterapkan pada tahun
ajaran 2012/2013.
Berdasarkan Surat Edaran Dirjen Dikti nomor 488/E/T/2012 tanggal 21
Maret 2012 tentang Tarif Uang Kuliah SPP di Perguruan Tinggi, UKT merupakan
penjumlahan semua biaya yang akan ditanggung oleh mahasiswa mulai dari SPP,
BOP, biaya praktikum, biaya KKN, biaya wisuda dan biaya-biaya lainnya yang
memang masih berkaitan dengan mahasiswa sesuai jurusannya.
Penentuan
besarannya, UKT menggunakan prinsip Akuntansi Biaya (Unit Cost). Jumlah
Unit Cost ini merupakan hasil dari penjumlahan semua biaya yang dibutuhkan
mahasiswa sesuai dengan jurusannya dibagi masa studi selama menempuh
perkuliahan (8 semester).
Mekanisme pencairan anggaran dari sumber dana PNBP memiliki dua
sistem yaitu pemberian uang muka kerja (sistem tidak langsung) dan pembayaran
langsung berdasarkan faktur.
Pencairan dana dengan sistem tidak langsung dilakukan untuk pemberian
uang muka kerja yang dapat berupa Uang Persediaan (UP), Tambahan Uang
Persediaan (TUP), dan penggantian uang persediaan (GUP). Pencairan dana
dengan sistem langsung (LS) dilakukan untuk: biaya pengadaan tanah; belanja
pegawai (non PNS), lembur, honor/vakasi; belanja non pegawai (pengadaan
barang dan jasa, pembayaran Biaya Langganan Daya dan Jasa, belanja perjalanan
dinas).
7
2.2
Akuntansi Keuangan
Akuntansi keuangan berhubungan dengan masalah pencatatan transaksi
untuk suatu perusahaan atau organisasi dan penyusunan berbagai laporan berkala
dari hasil pencatatan tersebut.
2.2.1 Definisi Akuntansi
Akuntansi
bisa
didefinisikan
sebagai
suatu
pengidentifikasian,
pengukuran, dan pengkomunikasian informasi keuangan tentang entitas ekonomi
kepada
pemakai
yang
berkepentingan.
Akuntansi
Keuangan
(Financial
Accounting) adalah sebuah proses yang berakhir pada pembuatan laporan
keuangan menyangkut perusahaan secara keseluruhan untuk digunakan baik oleh
pihak - pihak internal maupun pihak eksternal perusahaan (Baridwan, 1992).
2.2.2 Terminologi Dasar Akuntansi Keuangan
Akuntansi keuangan bergantung pada sekelompok konsep yang digunakan
untuk mengidentifikasi, mencatat, mengklasifikasi, dan menginterpretasikan
transaksi serta kejadian lainnya yang berhubungan dengan perusahaan. Beberapa
terminologi dasar yang dipakai dalam mengumpulkan data akuntansi adalah
sebagai berikut (Baridwan, 1992) :
1. Kejadian (Event)
Event merupakan peristiwa yang berpengaruh. Suatu kejadian yang
umumnya merupakan sumber atau penyebab dari perubahan aktiva,
kewajiban, dan ekuitas. Kejadian bisa bersifat eksternal ataupun internal.
2. Transaksi (Transaction)
Kejadian eksternal yang melibatkan transfer atau pertukaran antara dua
entitas atau lebih.
3. Akun (Account)
Catatan sistematis yang memperlihatkan pengaruh dari transaksi dan
kejadian lainnya terhadap aktiva tertentu atau ekuitas. Akun yang terpisah
digunakan untuk setiap aktiva, kewajiban, pendapatan, beban, dan modal
(ekuitas pemilik).
8
4. Akun Riil dan Nominal
Akun riil (permanen) adalah akun-akun aktiva, kewajiban, dan ekuitas;
akun-akun ini muncul pada neraca. Akun nominal (temporer) adalah akunakun pendapatan, beban, dan dividen; akun-akun ini muncul pada laporan
laba-rugi, kecuali dividen. Akun nominal akan ditutup secara periodik;
sementara akun riil tidak.
5. Buku Besar (Ledger)
Suatu dokumen yang mengandung akun-akun. Setiap akun biasanya
memiliki halaman tersendiri. Buku besar umum berisi semua akun aktiva,
kewajiban, ekuitas pemilik, pendapatan, dan beban. Buku besar pembantu
mencatat rincian yang berhubungan dengan akun buku besar umum tertentu.
6. Jurnal
Buku pencatatan awal di mana transaksi dan kejadian-kejadian lainnya
dicatat pertama kali. Berbagai jumlah yang terdapat dalam jurnal kemudian
dipindahkan ke buku besar.
7. Pemindahbukuan (Posting)
Proses pemindahan fakta-fakta dan angka-angka penting dari jurnal ke akun
buku besar.
8. Neraca Saldo (Trial Balance)
Daftar semua akun terbuka dalam buku beserta saldonya. Neraca saldo yang
tercipta setelah semua penyesuaian dipindahkan ke buku besar disebut
dengan Neraca Saldo Yang Disesuaikan. Neraca saldo yang tercipta setelah
semua ayat jurnal penutup di-posting dinamakan Neraca Saldo Pascapenutupan. Neraca saldo bisa dibuat kapan saja.
9. Ayat Jurnal Penyesuaian (Adjusting Entries)
Ayat jurnal yang dibuat pada akhir periode akuntansi untuk memperbaharui
semua akun agar laporan keuangan yang tepat bisa dibuat.
10. Laporan Keuangan
Laporan yang mencerminkan pengumpulan, tabulasi, dan ikhtisar akhir dari
data akuntansi. Empat laporan yang umum adalah : (1) Neraca, yang
menunjukkan kondisi keuangan perusahaan pada akhir periode akuntansi,
9
(2) Laporan Laba Rugi, yang mengukur hasil-hasil operasi selama periode
bersangkutan, (3) Laporan Arus Kas, yang melaporkan kas yang disediakan
oleh aktivitas operasi, investasi, dan pembiayaan selama suatu periode, dan
(4) Laporan Laba Ditahan, yang merekonsiliasi saldo akan laba ditahan dari
awal periode sampai akhir periode.
11. Ayat Jurnal Penutup
Proses formal yang dipakai untuk mengurangi semua akun nominal menjadi
nol dan menentukan serta metransfer laba bersih atau rugi bersih ke akun
ekuitas pemilik yang umumnya diistilahkan dengan penutupan buku besar.
2.3
Informasi
Informasi dapat didefinisikan sebagai hasil dari pengolahan data dalam
bentuk yang lebih berguna dan lebih berarti bagi organisasi karena dapat
menggambarkan kejadian yang nyata untuk digunakan dalam pengambilan
keputusan. Output informasi dari komputer digunakan oleh para manajer, non
manajer
serta
orang-orang
dan
organisasi-organisasi
dalam
lingkungan
perusahaan. Jadi informasi ibarat darah-darah yang mengalir di dalam tubuh
organisasi sehingga informasi sangat penting bagi suatu organisasi.
2.3.1 Siklus Informasi
Siklus informasi adalah gambaran secara umum mengenai proses terhadap
data sehingga menjadi informasi yang bermanfaat bagi pengguna. Gambaran dari
siklus informasi dapat dilihat pada Gambar 2.1:
10
Proses
(Model)
Input
(Data)
Dasar
Data
Output
(Informasi)
Data
(ditangkap)
Penerima
Hasil Tindakan
Keputusan/
tindakan
Gambar 2.1 Siklus Informasi
Data yang diolah melalui suatu model menjadi informasi, penerima
kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan
tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan membuat
sebuah data kembali. Data tersebut akan ditangkap sebagai input, diproses
kembali lewat suatu model dan seterusnya membuat suatu siklus. Siklus ini oleh
John Burch disebut dengan siklus informasi (Information Cycle) atau siklus
pengolahan data (Data Processing Cycles) (Jogianto, HM.,MBA.,Akt.,h.D,
2005:14).
2.3.2 Sistem Informasi
Perkembangan perangkat lunak komputer dengan segala kecanggihannya
membawa dampak yang positif dan negatif dalam dunia bisnis informasi. Dampak
positifnya adalah proses data dan informasi yang menjadi tulang punggung dunia
bisnis dapat dilakukan dengan cepat, akurat dan tepat waktu. Sedangkan dampak
negatifnya akan timbul kejahatan penyelewengan dari penggunaan perangkat
11
keras tersebut. Terlepas dari semua itu, kemajuan teknologi yang dapat
mendukung pengolahan informasi menjadi alat pemicu persaingan dunia bisnis
dan ekonomi yang semakin kompetitif.
Komputer sebagai alat penunjang pemrosesan data dan informasi
institusinya. Selain itu dengan adanya komputer maka kinerja institusi dan
operasionalnya dapat ditingkatkan sehingga secara tidak langsung kualitas dan
mutu produk yang dihasilkan oleh institusi dapat bersaing.
Suatu sistem informasi yang baik dengan menggunakan bantuan komputer
sangat dibutuhkan oleh organisasi karena dapat menerima data dari berbagai
sumber dari dalam maupun dari luar organisasi (sebagai input), dapat mengolah
data untuk menghasilkan informasi, dan dapat memberikan informasi bagi pihak
yang berkepentingan. Sistem informasi dengan bantuan komputer biasa disebut
dengan Computer Based Information System.
Pengertian sistem informasi tidak bisa dilepaskan dari pengertian sistem
dan informasi. Secara lugas sistem informasi didefinisikan sebagai kumpulan
orang, prosedur, hardware, software yang saling berinteraksi untuk memberikan
suatu pelayanan informasi bagi user. Informasi merupakan sesuatu yang nyata /
setengah nyata yang dapat mengurangi derajat ketidak-pastian tentang suatu
keadaan / kejadian. Dapat juga diartikan sebagai data yang telah dimanipulasi
sehingga dapat berguna bagi seseorang. Informasi juga meliputi data atau sumber
daya yang tersedia dalam suatu perusahaan yang dapat mempengaruhi hasil
kinerja bagian–bagian atau elemen–elemen yang ada dalam perusahaan. Adapun
sumber daya utama suatu perusahaan dapat terdiri dari manusia, material, mesin,
uang yang memiliki wujud fisik dan dapat disentuh dan jenis sumber daya
informasi yang memiliki nilai dari apa yang diwakili (bukan dalam bentuk
wujudnya).
2.4
Perangkat Pemodelan Sistem
Terdapat beberapa teknik dalam pemodelan sistem sehingga sistem dapat
dibaca dan dipahami secara lebih jelas.
12
2.4.1 Diagram Konteks
Diagram Konteks merupakan diagram yang menggambarkan sebuah
sistem secara garis besar dan dari diagram ini dapat dipecah menjadi prosesproses atau bagian yang lebih kecil lagi yang disebut DFD.
2.4.2 Data Flow Diagram (DFD)
Diagram arus data (data flow diagram atau DFD) adalah diagram yang
menggunakan notasi-notasi tertentu untuk menggambarkan arus dari data sistem.
DFD sering digunakan untuk menggambarkan suatu sisterm yang telah ada atau
sistem baru yang akan dikembangkan secara fisik dimana data tersebut mengalir
(misalnya lewat telepon atau surat) atau lingkungan fisik dimana data tersebut
akan disimpan. DFD merupakan alat yang digunakan pada metodologi
pengembangan sistem yang terstruktur. DFD juga merupakan dokumentasi dari
sistem yang baik.
2.4.2.1 Simbol yang Digunakan DFD
Beberapa simbol yang digunakan di DFD untuk maksud mewakili:
1. External entity (kesatuan luar) atau boundary (batas sistem)
Kesatuan luar merupakan kesatuan di lingkungan luar sistem yang dapat
berupa orang, organisasi atau sistem lainnya yang berada di lingkungan
luarnya yang akan memberi input atau menerima output dari sistem. Suatu
kesatuan luar dapat disimbolkan dengan suatu notasi kotak atau suatu kotak
dengan sisi kiri dan atasnya berbentuk garis tebal. Kesatuan luar dapat diberi
identifikasi dengan huruf kecil di ujung kiri atas sebagai berikut :
ID
NAMA INTERFACE
Gambar 2.2 Notasi kesatuan luar di DFD
Notasi kesatuan luar di DFD juga dikenal dengan sebutan notasi terminator.
Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem
yang berkomunikasi dengan sistem yang sedang dikembangkan.
13
2.
Data flow (arus data)
Arus data (data flow) di DFD diberi simbol suatu panah. Arus data mengalir
diantara proses, simpanan data dan kesatuan luar.
1
Rincian belanja
a
Proses
Pembuatan
kwitansi
Subunit
Gambar 2.3 Arus data yang mengalir dari kesatuan luar ke proses.
Arus data ini menunjukkan arus dari data yang dapat berupa masukkan untuk
sistem atau hasil dari proses sistem. Arus data sebaiknya diberi nama yang
jelas dan mempunyai arti.
Konsep dari arus data yang perlu diperhatikan :
a) Konsep paket dari data (packet of data)
Data yang mengalir secara bersama-sama harus ditunjukkan sebagai suatu
arus data, walaupun misalnya terdiri dari beberapa dokumen.
1
Rincian belanja, SK
a
Proses
Pembuatan
kwitansi
subunit
Gambar 2.4 Konsep paket dari data
Data tersebut dianggap sebagai satu alur data tunggal, karena data itu
mengalir bersama-sama sebagai satu paket.
b) Konsep Arus Data Menyebar
Arus data yang menyebar menunjukkan sejumlah tembusan dari arus data
yang sama dari sumber yang sama ke tujuan yang berbeda.
14
2
Proses
Pembuatan
sptb
b
1
unit
kuitansi
Proses
pembuatan
kuitansi
Gambar 2.5 Konsep arus data menyebar
Konsep arus data paket, data yang kompleks dibagi menjadi beberapa
elemen data yang dikirim ke tujuan yang berbeda, atau alur data ini
membawa paket data yang memiliki nilai yang berbeda yang akan dikirim
ke tujuan yang berbeda.
c) Konsep Arus Data Mengumpul
Berikut adalah contoh gambar yang menjelaskan konsep arus data
mengumpul.
1
Proses
Pembuatan
kuitansi
kuitansi
a
unit
Bukti kas masuk
2
Proses
pembuatan
bukti kas
masuk
Gambar 2.6 Konsep arus data mengumpul
Arus data mengumpul menunjukkan bebarapa arus data yang berbeda dari
sumber yang berbeda bergabung bersama-sama menuju ke tujuan yang
sama.
d) Konsep Sumber dan Tujuan Arus Data
Semua arus data harus dihasilkan dari suatu proses atau menuju ke suatu
proses (dapat salah satu atau kedua-duanya, yaitu berasal dari suatu proses
menuju ke bukan suatu prosas atau berasal dari bukan suatu proses tetapi
15
menuju ke suatu proses atau berasal dari suatu proses dan menuju ke suatu
proses).
3. Process (proses)
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin,
atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk
dihasilkan arus data yang akan keluar dari proses.
Identifikasi
Nama proses
Gambar 2.7 Notasi proses di DFD
Setiap proses harus diberi penjelasan yang lengkap meliputi berikut ini :
a) Identifikasi proses
Identifikasi ini umumnya merupakan suatu angka yang menunjukkan
nomor acuan dari proses dan di tulis pada bagian atas simbol proses.
b) Nama proses
Nama proses menunjukkan apa yang dikerjakan oleh proses tersebut,
biasanya berbentuk suatu kalimat dan diawali dengan kata kerja.
c) Pemroses
Bila proses dilakukan secara manual, tidak dengan komputer maka
pemroses harus ditunjukkan.
Identifikasi
Nama proses
Pemroses
Gambar 2.8 Penjelasan di simbol proses
Umumnya kesalahan proses di DFD adalah sebagai berikut ini:
a) Proses mempunyai input tetapi tidak menghasilkan output. Kesalahan ini
disebut dengan black hole (lubang hitam).
16
b) Proses menghasilkan output tetapi tidak pernah menerima input dan
kesalahn ini disebut dengan miracle (ajaib).
4. Data store (simpanan data)
Simpanan data (data store) merupakan simpanan data yang dapat berupa
sebagai berikut:
a)
Suatu file atau database di sistem komputer
b) Suatu arsip atau catatan manual
c) Suatu kotak tempat data di meja seseorang
d) Suatu tabel acuan manual
e) Suatu agenda atau buku.
Simpanan data di DFD dapat disimbolkan dengan sepasang garis horizontal
parallel yang tertutup di salah satu ujungnya.
Media
Nama data store
Gambar 2.9 Notasi simpanan data di DFD
Beberapa kemungkinan arus data terkait dengan proses antara lain :
a)
Suatu proses yang menerima sebuah arus data dan menghasilkan sebuah
arus data.
b)
Suatu proses yang menerima lebih dari arus data dan menghasilkan
sebuah arus data.
c)
Suatu proses yang menerima suatu arus data dan menghasilkan lebih dari
sebuah arus data.
Supaya gambar dari DFD tidak ruwet karena banyaknya garis arus data yang
saling berpotongan, maka kesatuan luar dan simpanan data dapat digambarkan
lebih dari sebuah, seperti pada Gambar 2.10 berikut:
a
a
subunit
a
subunit
atau
a
subunit
subunit
*
Gambar 2.10 Duplikasi dari simpanan data
*
17
Duplikasi dari kesatuan luar dapat diidentifikasi dengan garis miring (/) atau
dengan asterik (*). Sedangkan duplikasi dari simpanan data dapat
diidentifikasikan dengan garis vertikal ( | ) atau dengan asterik (*).
2.4.2.2
Bentuk Diagram Arus Data
Terdapat 2 bentuk DAD, yaitu diagram arus data fisik (physical data flow
diagram) dan diagram arus data logika (logical data flow diagram).
1. Diagram Arus Data Fisik (DADF)
DADF lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem
yang lama). Penekanan dari DADF adalah bagaimana proses-proses dari
sistem di terapkan (dengan cara apa, oleh siapa dan dimana), termasuk prosesproses manual. DADF harus memuat sebagai berikut :
a)
Proses manual juga digambarkan.
b)
Nama arus data harus menunjukkan fakta penerapannya semacam
nomor formulir dan medianya.
c)
Simpanan data dapat menunjukkan simpanan non komputer.
d)
Nama dari simpanan data harus menunjukkan tipe penerapannya apakah
secara manual atau komputerisasi.
e)
Proses harus menunjukkan nama dari pemroses.
2. Diagram Arus Data Logika (DADL)
DADL lebih tepat digunakan untuk menggambarkan sistem yang akan
diusulkan (sistem yang baru). DADL tidak menekankan pada bagaimana
sistem diterapkan, tetapi penekanannya hanya pada logika dari kebutuhan–
kebutuhan sistem. Untuk proses komputerisasi, penggambaran DADL yang
hanya menunjukkan kebutuhan-kebutuhan proses dari sistem yang diusulkan
secara logika, biasanya proses-proses yang digambarkan hanya merupakan
proses-proses komputer saja.
2.4.2.3
Pedoman Menggambar DAD
Pedoman untuk menggambar DAD adalah sebagai berikut :
1.
Identifikasi terlebih dahulu semua kesatuan luar yang terlibat di sistem.
18
2.
Identifikasi semua input dan output yang terlibat dengan kesatuan luar.
3.
Gambarlah terlebih dahulu suatu diagram konteks (context diagram).
4.
Gambarlah diagram berjenjang (hirarchy chart ) untuk semua proses yang
ada di sitem terlebih dahulu.
5.
Gambarlah sketsa DAD untuk overview diagram (Level 0) berdasarkan
proses di bagian berjenjang.
6.
Gambarlah DAD untuk level-level berikutnya, yaitu Level 1 dan seterusnya
untuk tiap-tiap proses yang di pecah-pecah sesuai dengan bagan
berjenjangnya.
7.
Menggambar DAD untuk pelaporan manajemen yang digambar terpisah.
8.
Menggabungkan semua DAD dalam suatu diagram
2.4.2.4 Perbedaan DAD dengan Bagan Alir
DAD sangat berbeda dengan bagan alir. Perbedaannya adalah sebagai
berikut:
1.
Proses di DAD dapat berlangsung secara paralel, sehingga proses–proses
dapat dilakukan secara serentak.
2.
DAD lebih nmenunjukkan arus data dari data di suatu sistem, sedangkan
bagan alir lebih menunjukkan arus dari prosedur dan bagan alir program
lebih menunjukkan arus dari algoritma.
3.
DAD tidak menunjukkan proses perulangan (loop) dan proses keputusan
(decision) sedangkan bagan alir menunjukkannya.
2.4.2.5 Keterbatasan DAD
Keterbatasan dari DAD adalah sebagai berikut :
1. DAD tidak menunjukkan proses perulangan (loop).
2. DAD tidak menunjukkan proses keputusan (decision).
3. DAD tidak menunjukkan proses perhitungan.
2.4.3 Entity Relationship Diagram (ERD)
ERD merupakan model konseptual yang mendeskripsikan hubungan antar
penyimpanan (dalam DFD). ERD digunakan untuk memodelkan struktur data dan
19
hubungan antar data, karena hal ini relatif kompleks. ERD menggunakan sejumlah
notasi dan simbol untuk menggambaran struktur dan hubungan antar data. Ada
tiga macam simbol, yaitu:
1.
Entity
Entity adalah suatu obyek yang dapat diidentifikasi dalam lingkungan
pemakai, sesuatu yang lebih penting bagi pemakai dalam konteks sistem yang
akan dibuat. Entity digambarkan menggunakan segi empat.
User
Gambar 2.11 Contoh entity
Terdapat dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat
merupakan entitas yang tidak memiliki ketergantungan dengan entitas
lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan
entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam
suatu relasi.
2.
Atribut
Entity
mempunyai
elemen
yang
disebut
atribut.,
dan
berfungsi
mendeskripsikan karakter entity.
Kode unit
unit
Nama unit
alamat
Gambar 2.12 Atribut entity
Setiap
ERD bisa terdapat lebih dari satu atribut. Isi dari suatu atribut
mempuyai sesuatu yang dapat mengidentifikasi isi entity satu dengan yang
lainnya.
20
3.
Hubungan satu sama lain.
Entity dapat berhubungan satu sama lain. Hubungan ini dinamakan
relationship. Sebagaimana halnya entity, maka dalam hal hubungan pun harus
dibedakan antara hubungan atau bentuk antar entity dengan isi dari hubungan
itu sendiri.
Pada suatu hubungan (relationship) terdapat tiga jenis relasi antar entitas,
yang meliputi :
a) Hubungan satu ke satu ke satu (one-to-one)
Sebuah relasi dikatakan one-to-one bila sebuah record pada tabel A
berhubungan tepat dengan hanya satu record di tabel B, sebaliknya satu
record di tabel B berhubungan tepat dengan satu record di tabel A.
Adapun contoh relasi one-to-one adalah sebagai berikut:
1
1
unit
Memiliki
Nomor npwp
Gambar 2.13 Hubungan satu ke satu
Pada one-to-one ini tidak diharuskan membentuk suatu tabel baru.
b) Hubungan satu ke banyak atau banyak ke satu (one-to-many or many-toone)
Sebuah relasi dikatakan one-to-many bila sebuah record pada tabel A
berhubungan dengan satu atau lebih record di tabel B dan begitupun satu
record di tabel B berhubungan dengan lebih dari satu record di tabel A.
Adapun contoh relasi one-to-many or many-to one adalah sebagai berikut:
M
1
unit
Memiliki
Gambar 2.14 Hubungan satu ke banyak atau banyak ke satu
subunit
21
Relasi ini merupakan relasi yang paling umum terjadi dalam dunia
database. Pada one-to-many ini boleh membentuk tabel baru dan boleh
juga tidak.
c) Hubungan banyak ke banyak (many-to-many)
Sebuah relasi dikatakan many-to-many bila sebuah record pada tabel A
behubungan dengan lebih dari satu record di tabel B, dan begitupun record
di tabel B berhubungan dengan lebih dari satu record di tabel A. Adapun
contoh relasi many-to-many adalah sebagai berikut :
M
M
Komponen kegiatan
memiliki
Output kegiatan
Gambar 2.15 Hubungan banyak ke banyak
Relasi many-to-many merupakan relasi yang rumit dan banyak
mengundang masalah. Masalah yang terjadi biasanya adalah banyaknya
pengulangan data (redunant data), kesulitan untuk proses pengisian data,
pembaruan data maupun penghapusan data perlu dilakukan suatu tindakan
khusus, yang biasanya dengan menciptakan suatu tabel khusus yang
menjembatani hubungan tersebut (biasa disebut tabel penghubung / linking
table).
2.4.4 Normalisasi
Proses normalisasi merupakan proses pengelompokan data elemen
menjadi tabel-tabel yang menunjukkan entitas dan relasinya. Pada proses
normalisasi selalu diuji pada beberapa kondisi. Apakah terdapat kesulitan pada
saat menambah, menghapus, mengubah, dan membaca pada suatu database. Bila
kesulitan pada pengujian tersebut maka relasi tersebut dipecah pada beberapa
tabel lagi.
22
Tahapan-tahapan dalam teknik normalisasi adalah sebagai berikut :
1.
Bentuk Tidak Normal (Unnormalized Form)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada
keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau
terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya.
2.
Bentuk Normal Kesatu (First Normal Form)
Bentuk normal kesatu memiliki ciri yaitu setiap data dibentuk dalam flat tabel
(tabel datar), data dibentuk dalam satu record demi satu record dan nilai dari
field-field berupa ”atomic value”, tidak ada set atribut yang berulang-ulang
atau bernilai ganda.
3.
Bentuk Normal Kedua (Second Normal Form)
Bentuk normal kedua memiliki syarat yaitu bentuk data telah memenuhi
kriteria bentuk normal kesatu. Atribut bukan kunci haruslah bergantung
secara fungsi pada kunci utama (primary key, atribut yang mengidentifikasi
secara unik suatu kejadian yang spesifik dan dapat mewakili setiap kejadian
dari suatu entitas). Untuk membentuk normal kedua haruslah sudah
ditentukan field-field kunci. Field kunci haruslah unik dan dapat mewakili
atribut lain yang menjadi anggotanya.
4.
Bentuk Normal Ketiga (Third Normal Form)
Relasi haruslah dalam bentuk normal kedua untuk menjadi bentuk normal
ketiga dan semua atribut bukan primer tidak punya hubungan yang transitif.
Dengan kata lain, setiap atribut bukan merupakan kunci haruslah bergantung
hanya pada primary key secara menyeluruh.
5.
Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form)
Bentuk Normal Boyce-Codd merupakan bentuk paksaan yang lebih kuat dari
bentuk normal ketiga. Untuk menjadi bentuk normal Boyce-Codd, relasi harus
dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada
atribut superkey (kunci super).
23
2.5
Konsep Database Management System (DBMS)
Perancangan sistem yang baik harus sesuai dengan beberapa komponen
konsep dalam database management system. Konsep tersebut diantaranya :
2.5.1 Definisi Database
Basis data (database) adalah kumpulan data terhubung yang disimpan
secara bersama pada suatu media, tanpa adanya suatu kerangkapan data, sehingga
mudah untuk digunakan kembali, dapat digunakan oleh satu atau lebih program
aplikasi secara optimal, data disimpan tanpa mengalami ketergantungan pada
program yang akan menggunakannya, data disimpan sedemikian rupa sehingga
apabila ada penambahan, pengambilan dan modifikasi data dapat dilakukan
dengan mudah dan terkontrol.
2.5.2 Definisi DBMS
DBMS merupakan kumpulan tabel yang saling berkaitan bersama dengan
program sebagai pengelolanya. Basis data adalah kumpulan datanya, sedangkan
program pengelolanya berdiri sendiri dalam suatu paket program untuk membaca
data, mengisi data, menghapus data, melaporkan data dalam basis data.
2.5.3 Istilah-Istilah dalam Sistem Basis Data
Beberapa istilah yang penting dan sering digunakan dalam penyusunan
suatu basis data adalah :
1. Enterprise, yaitu suatu bentuk organisasi. Data yang disimpan dalam basis
data merupakan data operasional dari suatu enterprise. Contoh : Sekolah,
Rumah Sakit, Bank dan lain sebagainya.
2. Entitas, yaitu obyek yang dapat dibedakan dengan obyek lainnya. Contoh:
dalam enterprise sekolah terdapat entitas mahasiswa, mata kuliah.
3. Atribut, yaitu sebutan untuk mewakili suatu entity. Contoh : dalam entitas
mahasiswa memiliki atribut NIM, Nama, Alamat dan Agama.
4. Nilai Data atau Data Value, yaitu informasi yang tercakup dalam setiap
elemen data. Isi dari atribut disebut Nilai Data.
24
5. Record (Tuple), yaitu kumpulan field-field yang saling berkaitan yang
menginformasikan tentang suatu entity secara lengkap.
6. File, yaitu kumpulan record-record yang sejenis dimana mempunyai
panjang elemen yang sama, atribut yang sama namun berbeda-beda data
value-nya.
7. Database, yaitu kumpulan file-file yang mempunyai ikatan antara satu file
dengan file lainnya sehingga membentuk suatu bangunan data.
2.5.4 Kegunaan DBMS
Tujuan awal dan utama dalam pengelolaan data dalam sebuah basis data
adalah agar kita dapat memperoleh atau mencari data dengan mudah dan cepat.
Selain itu pemanfaatan basis data dilakukan untuk memenuhi tujuan berikut :
1.
Kecepatan dan kemudahan.
Basis data memungkinkan kita untuk dapat menyimpan dan melakukan
perubahan terhadap data dan menampilkan kembali dengan cepat dan
mudah.
2.
Efisiensi ruang penyimpanan (space).
Efesiensi ruang penyimpanan dapat dilakukan karena dapat dilakukan
penekanan jumlah redudansi data, baik dengan penerapan sejumlah
pengkodean atau dengan menggunakan relasi-relasi antar kelompok data
yang saling berhubungan.
3.
Keakuratan (accuracy).
Pemanfaatan pengkodean atau pembentukan relasi antar data bersama
dengan menerapkan aturan tipe data, domain data dan lainnya secara ketat
dapat menekan ketidakakuratan pemasukan data atau penyimpanan data.
5
Ketersediaan (availability).
Pertumbuhan data sejalan dengan waktu akan semakin membutuhkan ruang
penyimpanan yang besar, padahal tidak semua data digunakan. Karena itu
kita dapat memilih adanya data utama, data transaksi, data historis hingga
data kadaluarsa.
25
5.
Kelengkapan (completeness).
Lengkapnya data yang dikelola dalam sebuah basis data bersifat relatif dan
untuk menambah kelengkapan, maka dapat ditambahkan record-record
data.
6.
Keamanan (security).
Dalam membangun basis data, kita dapat menentukan siapa saja yang
berhak menggunakan basis data dan operasi apa saja yang boleh dilakukan.
7.
Kebersamaan pemakaian (share ability).
Pemakaian basis data umumnya tidak terbatas pada satu pemakai atau satu
lokasi saja. Basis data juga dapat dikelola oleh sistem yang didukung
lingkungan banyak pemakai (multiuser).
2.5.5 Komponen DBMS
Sistem basis data yang lengkap akan memiliki komponen-komponen utama
yaitu sebagai berikut :
1. Perangkat Keras (Hardware)
Perangkat keras yang mendukung sistem basis data antara lain :
a) Unit pusat pengolah (CPU), berjumlah satu untuk sistem stand alone atau
lebih dari satu untuk sistem jaringan.
b) Media penyimpan data, berupa harddisk atau removable disk untuk
keperluan backup data.
c) Media input, berupa keyboard, kamera, scanner.
d) Perangkat jaringan untuk koneksi, berupa LAN card, modem, wireless,
inframerah.
e) Media output, berupa monitor untuk tampilan visual atau printer untuk
mencetak laporan.
2. Perangkat Lunak (Software)
Perangkat lunak yang digunakan untuk mengoperasikan sistem basis data
adalah sistem operasi dan program pendukung DBMS. Sistem operasi adalah
program
yang
mengaktifkan
atau
memfungsikan
sistem
komputer,
mengendalikan seluruh sumber daya seperti proses I/O, memanajemen file-
26
file. Sistem operasi yang banyak digunakan antara lain Microsoft Windows
98/Me/2000/NT/XP/2003, LINUX, UNIX, MS-DOS. Program pendukung
DBMS antara lain DBaseIII/IV, Foxbase, Foxpro, MySQL, SQL Server, Ms.
Access, Oracle.
3. Basis Data (Database).
Sistem database dapat memiliki beberapa database. Setiap database
memiliki sejumlah objek database seperti tabel, indeks, prosedur tersimpan
dan lain-lain. Disamping menyimpan data, setiap database juga menyimpan
definisi struktur baik untuk database maupun objek-objeknya secara detail.
Yang sangat ditonjolkan dalam database adalah pengaturan, pemilahan,
pengelompokan dan pengorganisasian data yang akan kita simpan sesuai
fungsi dan jenisnya. Pemilahan, pengelompokkan dan pengorganisasian ini
dapat berbentuk sejumlah tabel terpisah atau dalam bentuk pendefinisian
kolom-kolom atau field-field data dalam setiap tabel.
Dalam setiap tabel terdapat record-record yang sejenis, sama bentuk. Satu
record terdiri dari field-field yang saling berhubungan untuk menunjukkan
bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam
satu record.
Operasi yang berkenaan dengan pembuatan database dan tabel merupakan
operasi awal yang hanya dilakukan sekali dan berlaku seterusnya. Sedangkan
operasi-operasi yang berkaitan dengan isi tabel (data) merupakan operasi
rutin yang akan berlangsung berulan-ulang dan karena itu operasi-operasi
inilah yang lebih tepat mewakili aktivitas pengelolaan dan pengolahan data
dalam database.
4. Pemakai (User)
Manusia merupakan elemen penting pada sistem basis data. Pemakai ini
terbagi atas empat kategori :
a) System Engineer yaitu tenaga ahli yang bertanggung jawab atas
pemasangan sistem basis data dan juga mengadakan peningkatan serta
melaporkan kesalahan dari sistem tersebut kepada pihak penjual.
27
b) Administrator Basis Data, yaitu tenaga ahli yang mempunyai tugas
mengawasi basis data , merencanakan dan mengaturnya.
c) Programmer, yaitu bertugas membuat program aplikasi yang diperlukan
oleh pemakai akhir dengan menggunakan data yang terdapat dalam
sistem basis data.
d) Pemakai Akhir, yaitu tenaga ahli yang menggunakan data untuk
mengambil suatu keputusan yang diperlukan dalam suatu instansi atau
perusahaan.
5. Aplikasi (Perangkat Lunak) Lain.
Aplikasi lain ini bersifat opsional. Artinya ada tidaknya tergantung pada
kebutuhan
kita.
DBMS
yang
digunakan
lebih
berperan
dalam
pengorganisasian data dalam database, sementara bagi pemakai database
khususnya yang menjadi end user dapat dibuatkan program aplikasi khusus
untuk melakukan pengisian, pengubahan dan pengambilan data. Program
aplikasi ini ada yang disediakan bersama dengan DBMS-nya, ada juga yang
dirancang dan dibuat sendiri dengan menggunakan aplikasi lain yang khusus
untuk pengorganisasian database.
2.5.6
Abstraksi DBMS
Pembuatan DBMS dan aplikasi basis data memiliki tujuan untuk
menyediakan layanan antar muka (interface) dalam melihat data pemakai. Untuk
itu, hal detail tentang bagaimana data disimpan dan dipelihara akan
disembunyikan oleh sistem. Maka dari itu, sering kali data yang dilihat oleh
pemakai sebenarnya berbeda dengan yang tersimpan secara fisik. Abstraksi data
merupakan tingkatan atau level bagaimana melihat data dalam sebuah sistem
database. Terdapat 3 (tiga) tingkat abstraksi data, yaitu :
1. Tingkat Fisik (Physical Level)
Bagaimana sesungguhnya suatu data itu disimpan ditunjukkan pada tingkat
ini. Pada tingkat ini juga pemakai berkompeten dalam mengetahui bagaimana
representasi fisik dari penyimpanan dan pengorganisasian data.
2. Tingkat Logik atau Konseptual (Conceptual Level)
28
Dalam tingkat ini digambarkan data apa yang disimpan sebenarnya dalam
database dan hubungannya dengan data yang lain.
3. Tingkat Penampakan (View Level)
Merupakan tingkat tertinggi dari abstraksi data. Pada tingkat ini hanya
sebagian data yang ditunjukkan dari database. Hanya sebagian data atau
informasi dalam database yang dibutuhkan pemakai dan yang kemunculannya
di depan pemakai diatur oleh program aplikasi yang digunakan.
2.5.7 Bahasa DBMS
DBMS merupakan perantara bagi pemakai dengan database dalam media
penyimpanan seperti harddisk maupun removable disk. Cara berinteraksi antara
pemakai dengan database tersebut diatur dalam suatu bahasa khusus yang
ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu disebut sebagai Bahasa
Database atau Database Language yang terdiri atas sejumlah perintah (statement)
yang diformulasikan dan dapat diberikan pemakai dan dikenali oleh DBMS untuk
melakukan suatu aksi seperti permintaan (query) data tertentu. Contoh bahasa
database seperti SQL (Structured Query Language).
Sebuah bahasa database biasanya dapat dipilah ke dalam dua kategori
yaitu :
1.
Data Definition Language (DDL)
DDL adalah bahasa yang disepesifikasikan untuk medifinisikan data dan
objek database. Jika perintah ini digunakan, entri akan dibuat kedalam
kamus data (data dictionary). Di dalam kategori ini terdapat beberapa
contoh-contoh perintah seperti pada Tabel 2.1.
Tabel 2.1 Contoh perintah-perintah Data Definition Language (DDL)
Perintah
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEKS
DROP INDEKS
CREATE VIEW
DROP VIEW
Fungsi
Membuat tabel baru
Menambah satu atau lebih kolom (field) pada
tabel yang baru dibuat
Menghapus suatu tabel
Membuat indeks
Menghapus tabel yang sudah terindeks
Memanipulasi data
Menghapus file view
29
2.
Data Manipulation Language (DML)
Data manipulation language (DML) adalah bahasa yang diperbolehkan
pemakai
untuk
mengakses
atau
memanipulasi
data
yang
telah
diorganisasikan sebelumnya dalam model data yang tepat. Beberapa
perintah yang termasuk dalam DML seperti pada Tabel 2.2.
Tabel 2.2 Contoh perintah-perintah Data Manipulation Language (DML)
Perintah
Fungsi
SELECT
Menentukan data atau informasi yang akan keluar
dari tabel-tabel
UPDATE
Mengubah isi record pada suatu tabel
Menghapus sebuah field
DELETE
Menyisipkan suatu record
INSERT
Commit
Menuliskan perubahan kedalam Disk
Rollback
Membatalkan perubahan yang dilakukan setelah
perintah Commit yang terakhir
Beberapa fasilitas yang telah disediakan dalam DML antara lain seperti pada
Tabel 2.3.
Tabel 2.3 Contoh fasilitas Data Manipulation Language (DML)
Perintah
Fungsi
ALL
Mendapatkan semua baris yang sesuai dengan
WHERE
DISTINCT
Mendapatkan baris yang tidak duplikat
WHERE
Menyatakan kondisi yang akan digabungkan
dengan operator logika seperti AND, OR, NOT,
dengan operator pembanding <, >, =
GROUP BY
Mengelompokkan baris-baris dengan isi kolom
yang sama
ORDER BY
Menyusun tabel hasil dengan nilai pada satu atau
lebih dari satu kolom
COUNT
Menghitung jumlah baris
SUM
Menghitung jumlah nilai
AVG
Menghitung nilai rata-rata
MIN
Menghitung nilai minimal
2.6 MySQL
MySQL adalah multiuser database yang mengunakan bahasa SQL
(Structured Query Language). MySQL dalam operasi client-server melibatkan
server daemon MySQL disisi server dan berbagai macam program serta library
yang berjalan pada sisi client.
30
2.6.1 Keunggulan MySQL
Menurut Saputro (2003), beberapa pertimbangan pemrogram dalam
memilih MySQL sebagai tulang punggung dari pengolahan database yaitu:
1. Kecepatan. Berdasarkan hasil pengujian, MySQL memiliki kecepatan paling
baik dibanding RDBMS lainnya.
2. Mudah digunakan. Perintah dalam MySQL dan aturan-aturannya relatif
mudah diingat dan diimplementasikan, karena MySQL menggunakan SQL
sebagai bahasa standar database.
3. Open Source. MySQL sudah menggunakan konsep open source, artinya
siapapun dapat berkecimpung dalam mengembangkan MySQL dan hasil
pengembangannya dipublikasikan kepada para pemakai.
4. Kapasitas. MySQL mampu memproses data yang tersimpan dalam database
dengan jumlah 50 juta record, 60 ribu tabel dan 5 milyar jumlah baris.
5. Keamanan. MySQL menerapkan sistem keamanan dan hak akses secara
bertingkat, termasuk dukungan dengan keamanan data secara pengacakan
lapisan data. Adanya tingkatan pengguna dan jenis akses yang beragam.
Terdapat sistem pengacakan password.
6. Lintas Platform. MySQL dapat dijalankan pada beberapa sistem operasi
diantaranya adalah Microsoft Windows, Linux, FreeBSD, Mac OS, X Server,
Solaris, Amiga, HP UX dan masih banyak lagi.
2.6.2 Tipe Data MySQL
Data yang terdapat dalam sebuah table berupa field-field yang berisi nilai
dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri.
MySQL mengenal beberapa tipe data field, yaitu:
1. Tipe data numerik
Tipe data numerik dapat dibedakan menajdi dua kelompok, yaitu tipe data
integer dan tipe data floating point. Tipe data integer untuk data bilangan
bulat sedangkan tipe data floating point digunakan untuk bilangan desimal.
Tipe data numerik selengkapnya dapat dilihat pada Tabel 2.4.
31
Tabel 2.4 Tipe data Numerik dalam MySQL
Tipe data
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT(p)
FLOAT
DOUBLE
Kisaran Nilai
(-128) – 127 atau 0 – 225
(-32768) – 32767 atau 0 – 65535
(-3888608) – 8388607 atau 0–
16777215
(-21447683648) – 21447683647
atau 0 – 4294967295
(-922337203685775808)
–
9223372036854775807
atau
0
184467440737099551615
(-3.4E+38) – (-1.17E-38),0, dan 1.175E38 – 3.4E+38
(-3.4E+38) – (-1.17E-38),0, dan 1.175E38 – 3.4E+38
(-1.79E+308) – (-2.225E-308),0, dan
2.225E-308 – 1.79E+308
Kapasitas memori penyimpanan
1 byte
2 byte
3 byte
4 byte
8 byte
4 byte jika 0<=p<=24, 8 byte
jika25<==p<=53
4 byte
8 byte
2. Tipe Data String
String adalah rangkaian karakter. Berikut adalah tipe data string:
Tabel 2.5 Tipe data String dalam MySQL
Tipe data
Kisaran Nilai
Kapasitas memori penyimpanan
CHAR
1 - 255 karakter
VARCHAR
1 - 255 karakter
TINYBLOB, TINYTEXT
BLOB, TEXT
MEDIUMBLOB,
MEDIUMTEXT
LONGBLOB,
LONGTEXT
1 - 255 karakter
1 - 65535 karakter
M byte, 0<=M<=255
L+1 byte, dimana L<=M
0<=M<=255
L+1 byte, dimana L<2^8
L+2 byte, dimana L<2^16
1 - 16777215 karakter
L+3 byte, dimana L<2^24
1 - 4294967295 karakter
L+4 byte, dimana L<2^32
ENUM
Maksimum 65535
SET
Maksimum 64 elemen
dan
1 atau 2 byte, tergantung jumlah
nilai yang ada
1,2,3,4 atau 8 byte, tergantung
jumlah nilai yang ada
3. Tipe Data Tanggal
Berikut adalah tipe data tanggal :
Tabel 2.6 Tipe data date dalam MySQL
Tipe data
DATETIME
DATE
TIMESTAMP
TIME
YEAR
Kisaran Nilai
1000-01-01
00:00
sampai
9999-12-31 23-59-59
1000-01-01 sampai 9999-12-31
1970-01-01 00:00:00 sampai
2037
-839:59:59 sampai 838:59:59
1901 sampai 2155
Kapasitas memori penyimpanan
3 byte
8 byte
4 byte
3 byte
1 byte
32
2.7 HTML (Hypertext Markup Language)
Salah satu bahasa pemrograman yang digunakan untuk mendesain suatu
web adalah HTML. HTML merupakan suatu format yang digunakan dalam
pembuatan dokumen dan aplikasi yang berjalan dihalaman web. Bahasa
pemrograman ini akan memformat teks biasa agar bisa dijalankan diatas web
browser. Protokol yang digunakan untuk mentransfer data antara web server ke
web browser adalah HTTP (Hypertext Transfer Protocol).
2.8 PHP (Hypertext Preprocessor )
PHP merupakan singkatan dari "PHP: Hypertext Preprocessor", adalah
sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip
dengan Bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik.
Database pasangannya biasanya MySQL, dijalankan bersama Webserver Apache
di atas system operasi Linux maupun Windows. Tujuan utama bahasa ini adalah
untuk memungkinkan perancang web menulis halaman web dinamik dengan
cepat.
2.8.1 Interface antara PHP dan HTML
Halaman web biasanya disusun dari kode-kode html yang disimpan dalam
sebuah file berekstensi .html. File html ini dikirimkan oleh server (atau file) ke
browser, kemudian browser menerjemahkan kode-kode tersebut sehingga
menghasilkan suatu tampilan yang indah. Lain halnya dengan program php,
program ini harus diterjemahkan oleh web-server sehingga menghasilkan kode
html yang dikirim ke browser agar dapat ditampilkan. Program ini dapat berdiri
sendiri ataupun disisipkan di antara kode-kode HTML sehingga dapat langsung
ditampilkan bersama dengan kode-kode HTML tersebut. Program php dapat
ditambahkan dengan mengapit program tersebut di antara tanda <? dan ?>. Tandatanda tersebut biasanya disebut tanda untuk escaping (kabur) dari kode html. File
HTML yang telah dibubuhi program php harus diganti ekstensi-nya menjadi .php
atau .php3.
PHP merupakan bahasa pemograman web yang bersifat server-side
HTML=embedded scripting, di mana script-nya menyatu dengan HTML dan
33
berada si server. Artinya adalah sintaks dan perintah-perintah yang kita berikan
akan sepenuhnya dijalankan di server tetapi disertakan HTML biasa. PHP dikenal
sebgai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server
dan digunakan untuk membuat halaman web yang dinamis seperti ASP (active
Server Pages) dan JSP (Java Server Pages).
2.8.2 Kelebihan PHP
Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai
modul dari apache di antaranya adalah :
1. Tingkat keamanan yang cukup tinggi.
2. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa
pemograman web lainnya yang berorientasi pada server-side scripting.
3. Akses ke sistem database yang lebih fleksibel. seperti MySQL. Dalam
modul ini kita akan mempelajari PHP sebagai server-side scripting yang
menggunakan apache sebagai webserver. Versi PHP yang kita gunakan
adalah PHP4 untuk windows.
2.8.3 Sintak PHP
PHP adalah bahasa pemrograman server-side scripting yang menyatu
dengan HTML untuk membuat halaman web yang dinamis. Maksud dari serverside scripting adalah sintaks dan perintah yang diberikan akan sepenuhnya dijalan
kan di-server tetapi disertakan pada dokumen HTML.
Ada beberapa cara menuliskan script PHP, yaitu:
1. <? php
……(Script PHP anda)
?>
2. <? ……?>
3. <script language=”PHP”>……</script>
2.9 Framework
Framework adalah sekumpulan fungsi, class, dan aturan-aturan dalam
pemrograman. Berbeda dengan library yang sifatnya untuk tujuan tertentu saja,
framework bersifat menyeluruh mengatur bagaimana membangun sekaligus
34
mempermudah pembuatan aplikasi web. Sebuah framework selain menyediakan
lingkungan pengembangan sendiri, juga menyediakan berbagai macam fungsi siap
pakai yang bisa digunakan dalam pembuatan website. Banyak kode atau fungsi
yang terlihat tidak seperti biasanya, karena fungsi fungsi tersebut merupakan
fungsi bawaan framework dan bukan fungsi asli dari PHP. Fungsi tersebut
terkadang merupakan pengembangan atau penyesuaian fungsi asli PHP agar lebih
mudah digunakan atau agar lebih sesuai dengan kebutuhan pengguna.
Framework memungkinkan untuk membangun aplikasi dengan lebih cepat
karena setiap developer akan lebih memfokuskan pada pokok permasalahan
sedangkan hal-hal penunjang lainnya seperti koneksi database, form validation,
GUI, dan security, umumnya telah disediakan oleh framework. Disamping itu
dengan aturan-aturan yang jelas dan harus dipatuhi, aplikasi yang dibuat akan
lebih solid, “more readable”, dan kolaborasi dalam tim dapat lebih mudah
dilaksanakan.
2.10 CodeIgniter
CodeIgniter merupakan salah satu dari sekian banyak framework PHP
yang ada. CodeIgniter dikembangkan oleh Rick Ellis. Tujuan dari pembuatan
framework CodeIgniter ini adalah untuk menghasilkan framework yang dapat
digunakan untuk pengembangan proyek pembuatan website secara lebih cepat
dibandingkan dengan pembuatan website, dengan cara coding secara manual.
CodeIgniter menyediakan banyak sekali pustaka yang dibutuhkan dalam
pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk
mengakses pustaka yang dibutuhkan.
2.10.1 Kelebihan CodeIgniter
Berikut adalah kelebihan-kelebihan dari CodeIgniter :
1. Gratis.
CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source
license, ini berarti CodeIgniter dapat digunakan secara bebas.
35
2 Berjalan di PHP versi 4 dan 5.
Saat ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak
orang yang tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter
dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat
dijalankan pada PHP versi 5.
3 Ringan dan cepat.
Secara default CodeIgniter hanya berjalan dengan me-load beberapa pustaka
saja, dengan demikian hanya membutuhkan resource yang sedikit sehingga
ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan
digunakan bisa di-load sesuai dengan kebutuhan.
4 Menggunakan MVC.
CodeIgniter menggunakan lingkungan pengembangan dengan metode
Model-View-Controller (MVC) yang membedakan antara logika dan
presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada
bagian yang khusus membuat tampilan dan bagian yang membuat core
programnya.
5 Dokumentasi.
Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benarbenar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal
ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap
tentang semua hal yang ada dalam CodeIgniter. Mulai dari langkah instalasi
sampai dokumentasi fungsi-fungsi nya tersedia. Adanya dokumentasi sangat
memudahkan bagi pemula dalam mempelajari lingkungan pengembangan
website dengan CodeIgniter.
6 Pustaka yang lengkap.
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai
kebutuhan, misalnya saja koneksi database, email, session dan cookies,
keamanan, manipulasi gambar dan banyak lagi.
36
2.10.2 Model View Controller
MVC memisahkan antara logika pembuatan kode dengan pembuatan
template atau tampilan website. Penggunaan MVC membuat pembuatan sebuah
proyek website menjadi lebih terstruktur dan lebih sederhana.
Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model,
bagian View dan bagian Controller. Didalam website dinamis setidaknya terdiri
dari 3 hal yang paling pokok, yaitu basis data, logika aplikasi dan cara
menampilkan halaman wesite. 3 hal tersebut direpresentasikan dengan MVC yaitu
model untuk basis data, view untuk cara menampilkan halaman website dan
controller untuk logika aplikasi.
1. Model
Merepresentasikan struktur data dari website yang bisa berupa basis data
maupun data lain, misalnya dalam bentuk file teks atau file xml. Biasanya
didalam model akan berisi class dan fungsi untuk mengambil, melakukan
update dan menghapus data website. Sebuah website biasanya menggunakan
basis data dalam menyimpan data, maka bagian model biasanya akan
berhubungan dengan perintah-perintah query SQL. Model bisa dibilang
khusus digunakan untuk melakukan koneksi ke basis data oleh karena itu
logika-logika pemrograman yang berada didalam model juga harus yang
berhubungan dengan basis data. Misalnya saja pemilihan kondisi, tetapi untuk
memilih melakukan query yang mana.
2. View
Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa
mungkin didalam view tidak berisi logika-logika kode tetapi hanya berisi
variabel-variabel yang berisi data yang siap ditampilkan. View bisa dibilang
adalah halaman website yang dibuat menggunakan HTML dengan bantuan
CSS atau JavaScript. Didalam view jangan pernah ada kode untuk melakukan
koneksi ke basis data. View hanya dikhususkan untuk menampilkan data-data
hasil dari model dan controller.
37
3. Controller
Controller merupakan penghubung antara model dan view. Didalam
Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan
dari view kedalam struktur data didalam model. Controller juga tidak boleh
berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan
berbagai variabel yang akan ditampilkan di view, memanggil model untuk
melakukan akses ke basis data, menyediakan penanganan error, mengerjakan
proses logika dari aplikasi serta melakukan validasi atau cek terhadap input
Download