BAB II LANDASAN TEORI

advertisement
5
BAB II
LANDASAN TEORI
2.1.
MySQL
2.1.1. Mengenal MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau
DBMS yang multithread dan multi-user. MySQL adalah Relation Database
Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi
GPL (General Public License). Setiap orang bebas untuk menggunakan MySQL.
MySQL sebenarnya merupakan turunan dari SQL (Structured Query
Language). SQL adalah sebuah konsep pengoperasian basis data, terutama untuk
pemilihan atau seleksi dan pemasukkan data, yang memungkinkan pengoperasian
data dikerjakan secara mudah secara otomatis. Sebagai server basis data, MySQL
dapat dikatakan lebih unggul dibandingkan server basis data lainnya dalam query
data. Hal ini terbukti untuk query yang diakukan oleh single user, kecepatan query
MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat
dibandingkan Interbase.
2.1.2
Kelebihan MySQL
MySQL memiliki beberapa kelebihan, antara lain sebagai berikut:
1.
Portability. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih
banyak lagi.
2.
Open Source. MySQL didistribusikan secara open source (gratis), dibawah
lisensi GPL sehingga dapat digunakan secara gratis.
3.
Multi User. MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
6
4.
Performance Tuning. MySQL memiliki kecepatan yang menakjubkan dalam
menangani query sederhana.
5.
Column types. MySQL memiliki tipe kolom yang sangat kompleks, seperti
signed/unsigned integer, float, double, char, text, date, timestamp, dan lainlain.
6.
Command and 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 dapat menangani basis data dalam skala besar,
dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar
baris.
9.
Connectivity. MySQL dapat melakukan koneksi dengan client menggunakan
protokol TCP/IP, Unit soket (UNIX), atau Named Pipes (NT).
10. Localisation. MySQL dapat mendeteksi pesan kesalahan pada client dengan
menggunakan lebih dari dua puluh bahasa.
11. Interface. MySQL memiliki interface (antar muka) terhadap barbagai
aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programming Interface).
12. Clients and tools. MySQL dilengkapi dengan berbagai tool yang dapat
digunakan untuk administrasi basis data, dan pada setiap tool yang ada
disertakan petunjuk online.
13. Struktur table. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun Oracle.
7
2.2.
PHP
2.2.1. Mengenal PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa
pemrogramman berbasis web yang memiliki kemampuan untuk memproses data
dinamis.
PHP dikatakan sebagai sebuah server-side embedded script language
artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan
oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang
dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser,
tetapi prosesnya secara keseluruhan dijalankan di server.
Pada prinsipnya server akan bekerja apabila ada permintaan dari client.
Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan
permintaan ke server. Ketika menggunakan PHP sebagai server-side embedded
script language maka server akan melakukan hal-hal sebagai berikut :
1.
Membaca permintaan dari client/browser
2.
Mencari halaman/page di server
3.
Melakukan instruksi yang diberikan oleh PHP untuk melakukan
modifikasi pada halaman/page.
4.
Mengirim kembali halaman tersebut kepada client melalui internet atau
intranet.
2.2.2. Kelebihan PHP
1. PHP dapat dijalankan pada platform yang berbeda-beda (Windows, Linux,
Unix, etc.)
2. PHP merupakan web scripting open source
3. PHP mudah dipelajari
8
2.3.
Pengertian Data, Informasi dan Basis Data
Data mengacu pada informasi atau fakta yang biasanya dikumpulkan
sebagai hasil dari pengalaman, observasi atau eksperimen, atau memprosesnya
dalam suatu sistem komputer, atau sebagai landasan pemikiran. Data terdiri dari
angka, kata, atau gambar, terutama sebagai pengukuran atau observasi terhadap
kumpulan variabel. Data sering dipandang sebagai level terendah dalam abstraksi
dari informasi dan pengetahuan yang diperoleh.
Dalam bukunya, Fathansyah (2007) mengatakan bahwa 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 angka, huruf, simbol, teks, gambar,
bunyi, atau kombinasinya.
Sedangkan informasi adalah sebagai konsep yang mempunyai perbedaan arti,
dalam penggunaan sehari-hari sampai ke hal yang teknis. Secara umum, konsep
dari informasi berhubungan erat pada pengertian terhadap batasan, komunikasi,
kontrol, data, format, instruksi, pengetahuan, maksud, stimulus mental, pola,
persepsi, dan penyajian. Dalam kaitannya terhadap data, informasi dapat
didefinisikan sebagai kumpulan fakta hasil dari penarikan kesimpulan.
Menurut Fathansyah (2007), basis data adalah kumpulan file/tabel/arsip
yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Sedangkan menurut Indrajani (2011), sebuah basis data adalah sebuah
kumpulan data yang saling berhubungan secara logis, dan merupakan sebuah
penjelasan dari data tersebut, yang didesain untuk menemukan data yang
dibutuhkan oleh sebuah organisasi .
9
2.4.
Flowchart
Menurut Indrajani (2011), Flowchart merupakan penggambaran secara
grafik dari langkah-langkah dan urutan prosedur suatu program. Biasanya
mempermudah penyelesaian masalah, khususnya yang perlu dipelajari dan
dievaluasi lebih lanjut.
Simbol-simbol Flowchart :
Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart
standar yang dikeluarkan oleh ANSI dan ISO.
Tabel 2.1. Simbol Flowchart
(Indrajani, 2011)
Simbol
Arti
Sebagai awal / akhir flowchart
Terminal points
Mempresentasikan operasi
Proses
Merepresentasikan input data atau
output data yang di proses / informasi
Input / output
Keputusan dalam program
Keputusan
10
Lanjutan tabel 2.1 simbol flowchart
(Indrajani, 2011)
Merepresentasikan alur kerja
Anak panah
I/O yang menggunakan magnetic drum
Magnetic drum
Keluar ke atau masuk dari bagian lain
flowchart khususnya halaman yang
sama
Penghubung
2.5.
ERD (Entity Relationship Diagram)
2.5.1. Model Entity relationship (Model ERD)
Menurut Indrajani (2011), Entity Relational (ER) Modeling adalah
sebuah pendekatan top-bottom dalam perancangan basis data yang dimulai
dengan mengidentifikasikan data-data terpenting yang disebut dengan
entitas dan hubungan antara entitas-entitas tersebut yang digambarkan
dalam suatu model. Karena terdapat keterbatasan pada ER Model, maka
terdapat pengembangan penambahan konsep semantik pada ER yang
disebut Enhanced Entity Relational (EER) model.
11
Tabel 2.2 Notasi ERD
(Elib.unikom.ac.id, 12 Desember 2012)
Notasi
Entitas
Relasi
Atribut
Keterangan
Entitas adalah suatu objek yang dapat
diidentifikasi dalam lingkungan
pemakai
Relasi, menunjukan adanya hubungan
di antara sejumlah entitas yang berbeda.
Atribut, berfungsi mendeskripsikan
karakter entitas (atribut yang berfungsi
sebagai key diberi garis bawah)
Garis, sebagai penghubung antara relasi
dengan entitas, relasi dan entitas
dengan atribut.
2.5.2. Kardinalitas Relasi
Dalam ERD hubungan (relasi) dapat terdiri dari sejumlah entitas yang
disebut dengan derajat relasi. Derajat relasi maksimum disebut dengan
kardinalitas sedangkan derajat minimum disebut dengan modalitas. Jadi
kardinalitas relasi menunjukan jumlah mkasimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas lain. Kardinalitas relasi yang terjadi diantara
dua himpunan entitas (misalnya A dan B) dapat berupa :
1. Satu ke satu (one to one/ 1-1)
Setiap entitas pada himpunan entitas A dapat berelasi dengan paling
banyak satu entitas pada himpunan entitas B, demikian juga sebaliknya.
2. Satu ke banyak (one to many/1-N)
Setiap entitas pada himpunan entitas A dapat berelasi dengan banyak
entitas pada himpunan entitas B tetapi tidak sebaliknya.
12
3. Banyak ke banyak (many to many/ N-N)
Setiap entitas pada himpunan entitas A dapat berelasi dengan banyak
entitas pada himpunan entitas B, demikian juga sebaliknya.
2.5.3. Tahapan pembuatan ERD
Diagram ER dibuat secara bertahap, ada dua kelompok pentahapan yang
biasa ditempuh di dalam pembuatan diagram ER yaitu:
1. Tahap pembuatan diagram ER awal (preliminary design)
Tujuan dari tahap pertama adalah mendapatkan sebuah rancangan
basis
data
minimal
yang
dapat
mengakomodasi
kebutuhan
penyimpanan data terhadap sistem yang sedang ditinjau. Tahap awal
ini umumnya mengabaikan anomali-anomali (proses pada basis data
yang memberikan efek samping yang tidak diharapkan) yang memang
ada sebagai suatu fakta. Anomali-anomali tersebut biasnya baru
dipertimbangkan pada tahap kedua.
2. Tahap optimasi diagram ER (final design)
Tahap
kedua
mempertimbangkan
anomali-anomali
dan
juga
memperhatikan aspek-asspek efisiensi, performasi dan fleksibilitas.
Tiga hal tersebut sering kali bertolak belakang. Karena itu, tahap
kedua ini ditempuh dengan melakukan koreksi terhadap tahap
pertama. Bentuk koreksi yang terjadi dapat berupa pendekomposisian
himpunan entitas, penggabungan himpunan entitas, pengubahan
derajat relasi, penambahan relasi baru atau perubahan (penambahan
dan pengurangan) atribut-atribut untuk masing-masing entitas dan
relasi.
Langkah-langkah teknis yang dapat dilakukan untuk mendapatkan
ERD awal adalah :
a. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang
akan terlibat.
13
b. Menentukan atribut-atribut key (kunci) dari masing-masing
himpunan entitas.
c. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara
himpunan entitas-himpunan entitas yang ada beserta foreignkeynya (kunci asing/kunci tamu).
d. Menentukan derajat/kardinalitas relasi untuk setiap himpunan
relasi.
e. Melengkapi himpunan entitas dan himpunan relasi dengan atribut
dekriptif (atribut yang bukan kunci).
2.5.4. Implementasi Basis Data
Tahap implementasi basis data merupakan upaya untuk membangun basis
data fisik yang ditempatkan dalam memori sekunder dengan bantuan DBMS
(database Management System) yang di pilih. Secara umum sebuah diagram ER
akan direpresentasikan menjadi sebuah basis data secara fidik, sedangkan
komponen-komponen diagram ER yang berupa himpunan entitas dan himpunan
relasi akan ditransformasi menjadi tabel-tabel (file-file data) yang merupakan
komponen utama pembentuk basis data.
Setiap himpunan entitas akan diimplementasikan menjadi sebuah tabel
(file data), sedangkan himpunan relasi tergantun pada derajad relasi. Untuk
kardinalitas relasii 1-1, maka relasi tidak diimplementasi menjadi tabel tetapi
atribut pada relasi akan yang mewakili salah satu dari kedua himpunan entitas
dengan mempertimbangkan derajad relasi minimumnya. Untuk kardinalitas relasi
1-N juga akan direpresentasikan dengan penambahan atribut yang ada pada relasi
ke tabel yang mewakili himpunan entitas yang berderjad banyak (N).
2.6.
DFD (Data Flow Diagram)
Menurut Indrajani (2011), Data Flow Diagram (DFD) adalah sebuah alat
yang menggambarkan aliran data sampai sebuah sistem selesai, dan kerja atau
14
proses dilakukan dalam sistem tersebut. Istilah dalam bahasa indonesianya adalah
diagram aliran data. Dalam DFD ini terdapat 4 komponen utama, yaitu:
1. External Agent
Agen eksternal mendefinisikan orang atau sebuah unit organisasi, sistem
lain, atau organisasi yang berada di luar sistem proyek tapi dapat
mempengaruhi kerja sistem.
2. Process
Proses adalah penyelenggaraan kerja atau jawaban, datangnya aliran data
atau kondisinya.
3. Data Store
Data Store adalah penyimpanan data.
4. Data Flow
Data Flow merepresentasikan sebuah input data ke dalam sebuah proses
atau output dari data (atau informasi) pada sebuah proses.
2.6.1. Komponen DFD
Berikut ini adalah komponen DFD menurut Yourdan dan DeMacro .
Terminator
Proses
Data Store
Alur data
Gambar 2.1. Komponen Data Flow Diagram
(Indrajani, 2011)
1. Komponen Terminator / Entitas Luar
Terminator mewakili entitas ekssternal yang berkomunikasi dengan
sistem yang sedang dikembangkan. Biasanya terminator dikenal
dengan nama entitas luar (external entity)
15
Terdapat dua jenis terminator :
a. Terminator Sumber (source) : merupakan terminator yang menjadi
sumber.
b. Terminator Tujuan (sink) : merupakan terminator yang menjadi
tujuan data / informasi sistem.
Terminator dapat berupa orang, sekelompok orang, organisasi,
departemen di dalam organisasi, atau perusahaan yang sama tetapi di
luar kendali sistem yang sedang dibuat modelnya.
Terminator dapat juga berupa departemen, devisi atau sistem di luar
sistem
yang
berkomunikasi
dengan
sistem
yang
sedang
di
kembangkan. Komponen terminator ini perlu diberi nama seesuai
dengan dunia luar yang berkomunikasi dengan sistem yang sedang
dibuat modelnya, dan biasanya menggunakan kata benda.
Ada tiga hal penting yang harus diingat tentang terminator :
a. Terminator merupakan bagian/lingkungan luar sistem. Alur data
yang menghubungkan terminator dengan berbagai proses sistem,
menunjukan hubungan sistem dengan dunia luar.
b. Profesional sistem tidak dapat mengubah isi atau cara kerja,
organisasi, atau prosedur yang berkaitan dengan terminator.
c. Hubungan yang ada antar terminator yang satu dengan yang lain
tidak digambarkan pada DFD.
2. Proses
Komponen proses menggambarkan bagian
dari sistem
yang
mentransformasikan input menjadi output. Proses diberi nama untuk
menjelaskan proses/kegiatan apa yang sedang/akan dilaksanakan.
Pemberian nama proses dilakukan dengan menggunakan kata kerja
transitif (kata kerja yang membutuhkan obyek), seperti mengirim
repot, mengirim NFI.
16
Ada empat kemungkinan yang dapat terjadi dalam proses sehubungan
dengan input dan output:
Satu input & satu output
satu input & banyak output
Banyak input & satu output
Banyak input dan banyak output
Gambar 2.2. Proses Input dan Output
(fenni.staff.gunadarma.ac.id, 12 Desember 2012)
Ada beberapa hal yang perlu di perhatikan tentang proses :
a. Proses harus memiliki input dan output
b. Proses dapat di hubungkan dengan komponen terminator, data store
atau proses melalui alur data.
c. Sistem/bagian/divisi/departemen
yang
sedang
dianalisi
oleh
professional sistem digambarkan dengan komponen proses.
3. Data store
Komponen ini digunakan untuk membuat model sekumpulan paket
data dan diberi nama dengan kata benda jamak, misalnya inspektor,
mahasiswa.
Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan,
seperti file atau database yang berkaitan dengan penyimpanan secara
komputerisasi, misalnya filee disket, file hardisk, file pita magnetik.
Data store juga berkaitan dengan penyimpanan secara manual seperti
buku alamat, file folder, dan agenda.
Suatu data store dihubungkan dengan alur data hanya pada komponen
proses, tidak dengan komponen DFD lainnya. Alur data yang
17
menghubungkan data store dengan suatu proses mempunyai
pengertian sebagai berikut;
a. Alur data dari data store yang berarti sebagai pembacaan atau
pengaksesan satu paket tunggal data, lebih dari satu paket data,
sebagian dari satu paket data, atau sebagian dari lebih dari satu
paket data untuk suatu proses.
b. Alur data ke data store yang berarti sebagai peng-updatean data,
seperti menambah satu paket data baru atau lebih, menghapus satu
paket atau lebih, atau mengubah/memodifikasi satu paket data atau
lebih.
4. Alur Data
Suatu data flow / alur data digambarkan dengan anak panah, yang
menunjukan arah ked an keluar dari suatu proses. Alur data ini di
gunakan
untuk
menerangkan
perpindahan
data
atau
paket
data/informasi dari satu bagian sistem ke bagian lainnya.
Selain menunjukan arah, alur data pada model yang di buat oleh
professional sistem dapat merepresentasikan bit, karakter, pesan,
formulir, bilangan real, dan macam-macam informasi yang berkaitan
dengan
komputer.
Alur
data
juga
dapat
merepresentasikan
data/informasi yang tidak berkaitan dengan komputer.
Alur data perlu diberi nama sesuai dengan data/informasi yang
dimaksud, biasanya pemberian nama pada alur data dilakukan dengan
menggunakan kata benda, misalnya laporan inspeksi.
18
2.7.
Model Waterfall
Model waterfall sering disebut “sekuensial linier” atau “siklus kehidupan
klasik”
analisis
desain
kode
tes
Gambar 2.3. Waterfall
(Verdi Yasin, 2012)
Sekuensial linier mengusulkan sebuah pendekatan kepada perkembangan
perangkat lunak yang sistematik dan sekuential yang mulai pada tingkat
kemajuan sistem pada seluruh analisis, desain, kode, pengujian, model
sekuensial linier melingkupi aktivitas-aktivitas sebagai berikut:
o Rekayasa dan pemodelan sistem/informasi
Karena perangkat lunak selalu merupakan bagian dari
sebuah sistem bisnis (bisbis) yang lebih besar, kerja dimulai
dengan membangun syarat dari semua elemen sistem yang
mengalokasikan beberapa subset dari kebutuhan ke perangkat
lunak tersebut. Pandangan sistem ini penting ketika perangkat
lunak harus berhubungan dengan elemen-elemen yang liaan seperti
perangkat lunak, manusia, dan database. Rekayasa dan analisa
sistem menyangkut pengumpulan kebutuhan pada tingkat bisnis
strategis dan tingkat area bisnis.
o Analisis kebutuhan perangkat lunak
Proses
pengumpulan
kebutuhan
diinfestasikan
dan
difokuskan, khususnya pada perangkat lunak. Untuk memahami
sifat program yang dibangun , perekayasa perangkat lunak (analis)
harus memahami domain informasi, tingkah laku, unjuk kerja, dan
19
antar muka (interface) yang diperlukan. Kebutuhan baikuntuk
sistem maupun perangkat lunak didokumentasikan dan dilihat lagi
oleh pelanggan.
o Desain
Desain perangkat lunak sebenarnya adalah proses multi
langkah yang berfokus pada empat atribut sebuah program yang
berbeda, struktur data, arsitektur perangkat lunak, representasi
interface, dan detail (algoritma) procedural. Proses desain
menerjemahkan syarat/kebutuhan kedalam sebuah representasi
perangkat lunak yang dapat diperkirakan demi kualitas sebelum
dimulai pemunculan kode. Sebagaimana persyaratan, desain
didokumentasikan dan menjadi bagian dari konfigurasi perangkat
lunak
o Generalisasi kode
Desain harus diterjemahkan ke dalam bentuk mesin yang
bias dibaca. Langkah pembuatan kode melakukan tugas ini. Jika
desain dilakukan dengan cara yang lengkap, pembuatan kode dapat
diselesaikan dengan mekanis.
o Pengujian
Sekali kode dibuat, pengujian program dimulai. Proses
pengujian berfokus pada logika internal perangkat lunak,
memastikan bahwa semua pernyataan telah diuji, dan pada
eksternal
fungsional
yaitu
mengarahkan
pengujian
untuk
menemukan kesalahan-kesalahan dan memastikan bahwa input
yang dibatasi akan memberikan hasil actual yang sesuai dengan
hasil yang dibutuhkan.
20
o Pemeliharaan
Perangkat lunak akan mengalami perubahan setelah
disampaikan kepada pelanggan (pengecualian yang mungkin
adalah perangkat lunak yang direkatkan). Perubahan akan terjadi
karena kesalahan-kesalahan diteentukan, karena perangkat lunak
harus disesuaikan untuk mengakomodasi perubahan-perubahan di
dalam lingkungan eksternalnya.
2.8.
Hosting
Hosting adalah salah satu bentuk layanan jasa penyewaan tempat di
internet yang memungkinkan perorangan ataupun organisasi menampilkan
layanan jasa atau produknya di web atau situs internet. Tempat disini dapat
juga diartikan sebagai tempat penyimpanan data berupa megabytes (mb)
hingga terabytes (tb) yang memiliki koneksi ke internet sehingga data
tersebut dapat di-request atau diakses oleh userdari semua tempat secara
simultan. Inilah yang menyebabkan sebuah website dapat diakses
bersamaan dalam satu waktu oleh multi user.
2.9.
Bootstrap
Bootstrap merupakan sebuah toolkit yang dikembangkan oleh
twitter untuk mempermudah web developer dalam mendesain tampilan
aplikasi. Bootstrap sudah menyediakan CSS, HTML, dan juga JQuery.
Plugin untuk typography, forms, buttons, tables, grids, navigation dan
berbaga komponen interface lainnya. Bootstrap pertama kali dirilis pada
Agustus 2012 dan berlisensi open source. Bootstrap bias didownload
secara gratis di Github (http://twitter.github.com/bootstrap/index.html).
Kelebihan utama dari Bootstrap adalah responsive layout yaitu
aplikasi web yang didesain dengan menggunakan Bootstrap akan langsung
menyesuaikan dengan lebar dari media perambannya. Sehingga tampilan
21
web akan tetap rapi dibuka dengan media apapun baik itu telepon
genggam, tablet, laptop, ataupun PC desktop. Tampilan web tidak akan
terganggu dengan resolusi dari layar.
Download