mengintroduksi pendapat bebrapa ahli yang menyatakan bahwa

advertisement
BAB II
LANDASAN TEORI
2.1
Bimbingan
Menurut Pangaribuan (2005) mengintroduksi pendapat bebrapa ahli yang
menyatakan bahwa bimbingan ialah pertolongan yang diberikan oleh seseorang
kepada orang lain dalam membuat pilihan, mengadakan penyesuaian, dan dalam
memecahkan masalah. Bimbingan biasanya dipakai dalam dunia pendidikan untuk
pertolongan yang diberikan kepada pelajar dalam menyelesaikan masalah – masalah
yang berada diluar situasi mengajar dikelas. Di jaman teknologi seperti sekarang ini,
bukan perkara yang sulit untuk melakukan bimbingan. Dengan memanfaatkan
internet, para mahasiswa dan pembimbing tugas akhir dapat melakukan bimbingan
dengan mudah. Dengan cara membuat sebuah website yang berguna sebagai tempat
penghubung antara mahasiswa dan dosen pembimbing tugas akhir.
2.2
Codeigniter
Codeigniter adalah sebuah aplikasi open source berbentuk framework dengan
model MVC (Models, Views, Controller) untuk membangun website dinamis dengan
menggunakan PHP. Codeigniter memudahkan developer untuk membuat aplikasi
web dengan cepat dan mudah dibandingan dengan membuatnya dari awal.
2.3
Framework
Framework merupakan sekumpulan perintah atau fungsi dasar yang dapat
membantu dalam menyelesaikan proses-proses yang lebih kompleks menangani
berbagai masalah dalam pemrograman seperti koneksi database, pemanggilan
variable, dll. Sehingga developer dapat lebih fokus dan lebih cepat membangun
aplikasi. Secara sederhana dapat dijelaskan bahwa framework adalah kumpulan
fungsi-fungsi yang sudah ada sehingga programmer tidak perlu lagi membuat fungsi-
6
7
fungsi (kumpulan library) dari awal, yang tentunya hanya dengan memanggil
kumpulan library yang terdapat didalam framework tersebut. Fungsi - fungsi standar
yang telah tersedia dalam suatu framework adalah fungsi enkripsi, email, SEO,
session, security, kalender, bahasa, manipulasi gambar, grafik, tabel bergaya zebra,
validasi, upload, captcha, proteksi terhadap XSS (XSS filtering), template, kompresi,
XML dan lain - lain.
2.3.1
2.4
Macam-macam framework:

Cake PHP

CodeIgniter

Symfony

Zend

Kohana

Dll.
PSPad Editor
PSPad editor adalah editor programmer dengan beberapa sintaks penyorotan
profil. Muncul dengan hex editor, CP konfersi, perbedaan teks, makro, template
pilihan periksa ejaan, auto completion, kode Explorer, dan banyak lagi.
Program ini adalah pra-dikonfigurasi untuk bahasa pemrograman yang
popular (VB,SQL, HTML, PHP, PYTHON, dll ) dan anda dapat mengatur
penyesuaian pengaturan sintaks. PSPad termasuk beberapa alat tambahan yang
sangat berguna untuk mengedit HTML (kompres, kode format) dan juga
mengintegrasikan TopStyle Lite dan tidyHTML. Program ini dapat digunakan
sebagai IDE untuk compiler apapun.
Fitur tambahan termasuk dukungan untuk proyek, browsing file, cara pintas
kustom, built in FTP klien untuk mengedit file pada server dan banyak lagi.
2.5
PHP Hypertext Preprocessor (PHP)
8
PHP digunakan sebagai bahasa script server-side dalam pengembangan web
yang disisipkan pada dokumen HTML. Penggunaan PHP memungkinkan web dapat
dibuat dinamis sehingga maintenance situs web tersebut menjadi lebih mudah dan
efisien. PHP merupakan software open-source yang disebarkan dan dilisensikan
secara gratis serta dapat di-download secara bebas dari situs resminya.
Beberapa pesaing dari PHP ialah Perl, Microsoft Active Server Pages (ASP),
Java Server Pages (JSP), dan Allaire Cold Fusion. Dalam perbandingan dengan
produk-produk tersebut, PHP memiliki beberapa kekuatan termasuk diantaranya
ialah:
1. Performa yang tinggi
PHP sangat efisien. Menggunakan server yang tidak mahal, dapat melayani
berjuta-juta permintaan setiap harinya.
2. Integrasi Database
PHP memiliki koneksi yang mengijinkan penggunaan berbagai sistem database.
Selain dari koneksi ke MySQL, PHP juga dapat melakukan koneksi langsung ke
database PostgreSQL, Msql, Oracle, dbm, filePro, Hyperwave, Informix,
InterBase dan Sybase. Menggunakan Open Database Connectivity Standart
(ODBC), PHP dapat melakukan koneksi ke banyak database yang disediakan
oleh driver ODBC, termasuk produk Microsoft.
3. Library yang built-in
Karena PHP dirancang untuk digunakan pada web, PHP memiliki banyak fungsi
yang telah dibangun untuk mendukung berbagai tugas yang berguna pada web.
Dengan PHP, kita dapat menampilkan gambar GIF, terkoneksi dengan layanan
jaringan yang lain, mengirim email, dan membuat file PDF.
4. Portabilitas
PHP dapat digunakan pada banyak sistem informasi. Kode PHP dapat ditulis
pada sistem operasi UNIX yang gratis seperti LIBUX dan FreeBSD, system
operasi UNIX yang komersial seperti Solaris dan IRIX atau berbagai versi di
Microsoft Windows.
9
5. Ketersediaan Source Code
Source code PHP dapat diakses tidak seperti produk komersial yang source
code-nya tertutup, jika ada sesuatu yang hendak dimodifikasi atau ditambahkan
pada PHP, dapat dilakukan secara langsung dan gratis.
Berikut contoh script dari PHP form untuk login :
<?
if(!empty($sesi))
{
echo"Anda sudah login $sesi";
}
else
{
?>
<html>
<head>
<title>Form Login</title>
</head>
<body>
<table width="200" border="0" cellspacing="0" cellpadding="0">
<form action="login_proses.php" method="post">
<tr>
<td>Username</td>
<td>:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password" name="password"></td>
</tr>
10
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr> </form>
</table>
</body>
</html>
<? }?>
Gambar 2.1 Contoh script PHP untuk login
Hasil tampilannya :
Gambar 2.2 Contoh tampilan login dengan php
2.6
Sejarah Singkat PHP
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs
Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada
waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa
sekumpulan script yang digunakan untuk mengolah data form dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya
PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak
programmer yang tertarik untuk ikut mengembangkan PHP.
11
Pada November 1997, dirilis PHP/FI 2.0. pada rilis ini interpreter PHP sudah
diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul- modul
ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997,
sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih
bersih, lebih baik, dan lebih cepat. Kemudian pada Juni1998, perusahaan tersebut
merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0
dan singkatan dirubah menjadi akronim berulang PHP : Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis
tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak
dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya
untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan
stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti
dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model
pemograman berorientasi objek ke dalam PHP untuk menjawab perkembangan
bahasa pemograman ke arah paradigma berorientasi objek.
2.7
Pengenalan Framework Codeigniter
Menurut Saputra (2011:2) Codeigniter merupakan framework yang diklaim
memiliki eksekusi tercepat dibandingkan dengan framework lainnya. CodeIgniter
bersifat open source dan menggunakan model basis MVC (Model View Controller),
yang merupakan model konsep modern framework yang digunakan saat ini.
Framework sendiri dapat diartikan sebagai suatu kertas / kerangka kerja dalam
aplikasi web yang didalammnya memiliki suatu potongan – potongan program yang
disusun (modul), sehingga programmer tidak perlu membuat kode dari nol, karena
framework telah menyediakannya. Yang harus kita lakukan adalah mengerti,
melakukan, dan menerapkannya saja.
Codeigniter menawarkan banyak library yang dapat kita gunakan seperti
Benchmark yang digunakan untuk menghitung penggunaan memori, Calender yang
digunakan untuk membuat kalender, Cart yang dapat digunakan untuk membuat cart
12
pada toko online, dan masih banyak lagi. Codeigniter dibuat pertama kali oleh Rick
Ellis yang merupakan CEO dari Ellislab. Ellislab merupakan sebuah perusahaan
yang memproduksi CMS – CMS handal. Codeigniter dirilis pertama kali pada 28
Februari 2006. Versi terakhir 2.1.3 yang dirilis pada 8 Oktober 2012.
Beberapa kelebihan Framework Codeigniter antara lain :
1) Berukuran kecil
Hanya dengan sekitar 4MB, seorang pengembang pemula sudah bisa
menggunakan Codeigniter yang di dalamnya terdapat berbagai fitur andal yang
bisa digunakan untuk membangun sebuah aplikasi. Beberapa fitur yang ada
dalam Codeigniter adalah database access, session control, manage cookies,
security dengan xss filtering, bantuan untuk mengunggah file, dan berbagai fitur
lain yang sungguh luar biasa.
2) Sangat cepat
Sangat cepat disini dalam hal eksekusi file. Kecepatan ini memungkinkan
Codeigniter digunakan sebagai framework untuk membangun aplikasi berskala
enterprise.
3) Sederhana (simple)
Sederhana dari sisi sintaks yang digunakan maupun sisi alur penyusunan
program.
4) Bisa langsung digunakan
Setiap orang akan bisa menggunakan Codeigniter. Hanya tinggal mengunduh,
mengekstrak file, dan meletakkan pada folder kerja web server yang digunakan
(htdocs atau public html).
5) Bisa dikombinasikan dengan beberapa aplikasi dengan cara yang sangat mudah.
6) Kode program rapi
Kode program akan menjadi sangat rapi dikarenakan penggunaan sistem MVC
yang mengelompokkan kode sesuai dengan fungsinya masing – masing kode
yang rapi memudahkan dalam pencarian error ketika muncul bug.
13
2.7.1
Struktur Direktori Kerja Codeigniter
Codeigniter merupakan PHP Framework yang berisi kumpulan file PHP dan
folder, javascript, CSS serta file lainnya yang memiliki aturan tertentu untuk
penggunaannya, dan menyediakan Library serta Helper yang dapat digunakan secara
langsung. Folder Codeigniter ini diletakkan di bawah folder direktori web server
yang digunakan.
Struktur file dalam Codeigniter terlihat seperti pada gambar berikut :
Gambar 2.3 Struktur file codeigniter
14
Penulis menggunakan Codeigniter versi 1.7.2. Terdapat dua folder utama
Codeigniter, yaitu system, dan user_guide. Dari kedua folder tersebut, yang perlu
diperhatikan lebih adalah folder ( system/application ) karena disinilah direktori kerja
Codeigniter dan disini pula tempat programmer meletakkan semua file yang
berkaitan
dengan
aplikasi
yang
akan
dikembangkan.
Dalam
folder
system/application ini terdapat beberapa subfolder dengan peran masing – masing.
Beberapa subfolder inilah yang nantinya digunakan untuk mengelompokkan file
aplikasi yang akan dibuat sesuai dengan fungsinya. Dari sekian banyak subfolder
yang ada, terlebih dahulu fokuskan perhatian pada empat subfolder utama, yaitu :

Config, digunakan untuk menyimpan berbagai macam file konfigurasi sistem
aplikasi yang akan dibuat.

Controllers, digunakan untuk meletakkan controller sistem aplikasi yang
akan dibuat.

Models, digunakan untuk meletakkan file model sistem aplikasi yang akan
dibuat.

Views, digunakan untuk meletakkan file view sistem aplikasi yang akan
dibuat.
2.7.2
Mengenal Konsep MVC (Model View Controller)
MVC memiliki kepanjangan dari Model View Controller, merupakan alur
kerja dari Framework CodeIgniter. Dengan konsep MVC ini, segala macam logika
dan layout telah dipisahkan, sehingga si programmer dan designer dapat
mengerjakan masing – masing tugasnya secara fokus. Konsep model MVC juga
dapat menuntun para pembuat program untuk membangun web dengan cara yang
terstruktur.
Dilihat dari cara kerjanya, Framework CodeIgniter menekankan pada MVC. Untuk
alurnya dapat dilihat pada gambar 2.4
15
Gambar 2.4 Konsep MVC
Model, digunakan sebagai presentasi database. Berbeda dengan Framework
CakePHP. Dalam CodeIgniter, segala macam perintah – perintah query SQL
diletakkan dalam file model, seperti insert, edit, delete, dan select. Karena semuanya
itu berhubungan dengan database. Controller, digunakan sebagai pengendali
(control) antara view dan model melalui permintaan dari HTTP.
View, suatu halaman khusus yang digunakan untuk menyajikan informasi kepada
client. Secara definisi, segala macam permintaan yang dikelola oleh controller dan
model, akan dikembalikan kepada view sesuai hasil permintaan yang di-request
2.7.3
Perbedaan Antara Pemograman PHP Murni dengan Framework PHP
Perbedaan dari kedua teknik pemograman tersebut terdapat pada penanganan
file dan kode PHP. Pada pemograman dengan teknik PHP murni programmer tidak
membuat pengelompokkan intruksi atau kode pada sebuah Class sehingga akan
menambah waktu pekerjaan penulisan kode program. Sedangkan pada PHP
Framework penulisan kode program PHP dibuat berbasis Class dimana dapat
digunakan kembali untuk pembuatan aplikasi yang lain.
16
2.7.4
Pustaka pada Framework Codeigniter
Pustaka pada Framework CodeIgniter dapat bermanfaat sebagai alat bantu
untuk mempermudah dan mempercepat pembuatan sebuah aplikasi.
Pustaka CART
Pustaka CART merupakan sebuah kelas yang dibuat khusus untuk membantu
pemogram dalam membuat aplikasi e-commerce atau aplikasi lain yang
menggunakan sistem keranjang belanja. Namun demikian, pustaka CART hanya
menangani proses penyimpanan produk ke dalam keranjang belanja dan tidak
menangani proses lainnya semacam shipping, penggunaan kartu kredit, pembayaran,
dan proses lainnya.
Kelas CART ini memiliki lima macam reserved index yang akan digunakan pada
fungsi – fungsi lain. Indeks array tersebut antara lain :
1. Id , merupakan id produk.
2. Qty , setiap produk harus memiliki nilai kuantitas.
3. Price , setiap produk tertentu harus memiliki harga.
4. Name , setiap produk harus memiliki nama.
5. Options , merupakan varian produk.
Dari kelima indeks di atas, empat yang pertama (id, qty, price, dan name)
merupakan indeks wajib yang harus ada. Jika salah satu indeks tersebut tidak ada,
maka data tidak akan disimpan ke dalam keranjang belanja, sedangkan indeks
options bersifat opsional.
2.8
Pengertian MySQL
Menurut Kadir (2003 : 101) SQL merupakan kependekan dari Structured
Query Language. SQL digunakan untuk berkomunikasi dengan sebuah database,
sesuai dengan ANSI, SQL merupakan bahasa standar untuk system manajemen
database relasional. Statement SQL digunakan untuk melakukan update terhadap
database, atau mengambil data dari sebuah database.
Suatu database memungkinkan kita untuk melakukan penyimpanan,
pencarian, pengurutan, dan pengambilan data secara efisien. Server MySQL
17
mengendalikan akses ke data untuk menjamin bahwa beberapa user dapat bekerja
bersama – sama, menyediakan akses yang cepat dan menjamin hanya user yang
memiliki hak yang dapat mengakses.
Merupakan sebuah system manajemen database relasi (relational database
management system). Bersifat open source dapat didownload secara bebas, mysql
memiliki kinerja, kecepatan, proses, dan ketangguhan yang tidak kalah dengan
database yang lain. Contohnya oracle, Sybase, unity, dll. Pada awalnya mysql hanya
berjalan diatas platform system operasi linux. Hampir semua distro linux telah
memasukkan mysql sebagai database standarnya, namun saat ini mysql dapat pula
berjalan diatas system operasi lainnya. Contoh Ms. Windows, Solaris, FreeBSD, mac
OSX, dsb.
Karen itu MYSQL adalah server multi-user, multi-threaded. M. Bersifat open
source dapat didownload secara bebas, mysql memiliki kinerja, kecepatan, proses,
dan ketangguhan yang tidak kalah dengan database yang lain. Contohnya oracle,
Sybase, unity, dll. Pada awalnya mysql hanya berjalan diatas platform system operasi
linux. Hampir semua distro linux telah memasukkan mysql sebagai database
standarnya, namun saat ini mysql dapat pula berjalan diatas system operasi lainnya.
Contoh Ms. Windows, Solaris, FreeBSD, mac OSX, dsb.
Karen itu MYSQL adalah server multi-user, multi-threaded. MySQL
menggunakan SQL, standar bahasa query database di seluruh dunia. MySQL
dipublikasikan sejak 1996, tetapi memiliki sejarah perkembangan dari tahun 1979.
2.8.1
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
a. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan
masih banyak lagi.
b. Open Source. MySQL didistribusikan secara open source, dibawah lisensi
GPL sehingga dapat digunakan secara cuma – cuma.
18
c. Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
d. Performance Tuning.
MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses lebih
banyak SQL per satuan waktu.
e. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti
signed / unsigned integer, float, double, char, text, date, timestamp, dan lain lain.
f. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh
yang mendukung perintah Select dan Where dalam perintah (query).
g. Keamanan.
MySQL memiliki beberapa lapisan sekuritas seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
h. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu
tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada tiap tabelnya.
i. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan
protocol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
j. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa.
k. Antar Muka. MySQL memiliki interface (antar muka) terhadap berbagai
aplikasi dan bahasa pemograman dengan menggunakan fungsi API
(Application Programming Interface).
l. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)
yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan
yang ada disertakan petunjuk online.
m. Struktur Tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun oracle.
19
2.9
Metodologi Rekayasa Perangkat Lunak
Untuk melakukan sebuah rekayasa perangkat lunak tahap pemodelan
merupakan tahap awal yang harus dilakukan. Tahap pemodelan harus dilakukan
dengan baik karena akan sangat berpengaruh pada tahap – tahap selanjutnya.
Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari
proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Jenis
pemodelan yang digunakan dalam penyelesaian tugas akhir ini menggunakan
pemodelan yang secara umum digunakan dalam rekayasa perangkat lunak yaitu
model waterfall.
Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat
lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem
pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Berikut di bawah
ini rangkaian aktifitas proses dalam model Waterfall (Pressman, 2007) :
1. Tahapan Rekayasa Sistem
Tahapan ini sangat menekan pada masalah pengumpulan kebutuhan
pengguna pada tingkatan sistem dengan menentukan konsep sistem beserta
antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya
berupa spesifikasi sistem.
2. Tahapan Analisis
Pada tahap ini dilakukan pengumpulan kebutuhan elemen – elemen di
tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain –
domain data atau informasi, fungsi, proses, atau prosedur yang diperlukan
beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi
kebutuhan perangkat lunak.
3. Tahapan Perancangan
Pada tahap perancangan, kebutuhan
- kebutuhan perangkat lunak yang
dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur
perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak
sulit untuk diterapkan.
20
4. Tahapan Pemograman
Tahap ini melakukan penerapan hasil rancangan ke dalam baris – baris kode
program yang dapat dimengerti oleh komputer.
5. Tahapan Pengujian
Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai.
Pengujian terlebih dahulu dilakukan pada setiap modul. Jika tidak ada
masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat
lunak secara utuh. Kemudian dilakukan pengujian di tingkat perangkat
lunak yang memfokuskan pada masalah – masalah logika internal, fungsi
internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil
apakah sudah sesuai dengan permintaan.
6. Tahapan Pengoperasian dan Pemeliharaan
Dalam operasional sehari – hari, suatu perangkat lunak mungkin saja
mengalami kesalahan atau kegagalan dalam menjalankan fungsi –
fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan
perangkat lunak pada pengembangnya. Dengan demikian, kedua faktor ini
menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu.
Biasanya ini merupakan tahapan yang panjang dari perangkat lunak.
Agar dapat lebih jelas, berikut ini Gambar 2.5 model Waterfall :
21
Gambar 2.5 Model Waterfall
2.10
Basis Data
Menurut Fathansyah (2012 : 2) Basis data terdiri atas 2 kata, yaitu Basis dan
Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat
bersarang / 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 diwujudkan dalam bentuk
angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.
Sebagai satu kesatuan istilah, Basis Data (Database) sendiri dapat didefinisikan
dalam sejumlah sudut pandang seperti :

Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasikan
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan
mudah.

Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk
memenuhi berbagai kebutuhan.

Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media
penyimpanan elektronis.
22
Tujuan utama dalam pengelolaan data dalam sebuah basis data adalah agar
kita dapat memperoleh menemukan kembali data (yang kita cari) dengan mudah dan
cepat. Disamping itu, pemanfaatan basis data untuk pengelolaan data, juga memiliki
tujuan – tujuan lain seperti berikut ini :

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.

Efisiensi Ruang Penyimpanan (Space)
Dengan basis data, efisiensi / optimalisasi penggunaan ruang penyimpanan dapat
dilakukan, karena kita dapat melakukan penekanan jumlah redudansi data, baik
dengan menerapkan sejumlah pengkodean atau dengan membuat relasi – relasi
(dalam bentuk tabel) antarkelompok data yang saling berhubungan.

Keakuratan (Accuracy)
Pemanfaatan pengkodean atau pembentukan relasi antardata 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 ketidakakuratan penyimpanan data.

Ketersediaan (Availability)
Dengan pemanfataan teknologi jaringan komputer, data yang berada di suatu
cabang, dapat juga diakses (menjadi tersedia/available) bagi cabang lain.

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 sebuah tabel.

Keamanan (Security)
Kita dapat menentukan siapa – siapa (pemakai) yang boleh menggunakan basis
data beserta objek – objek di dalamnya dan menentukan jenis – jenis operasi apa
saja yang boleh dilakukannya.
23

Kebersamaan Pemakaian (Sharability)
Pemakai basis data sering kali tidak terbatas pada satu pemakai saja, atau di satu
lokasi saja oleh satu sistem/aplikasi saja. Basis data yang dikelola oleh sistem
(aplikasi) yang mendukung lingkungan multi-user, akan dapat memenuhi
kebutuhan ini, tetapi tetap dengan menjaga/menghindari 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 menggunakan data).
2.10.1 Proses Perancangan Basis Data
Menurut Kadir (2003 : 39) Proses perancangan basis data, terlepas dari
masalah yang ditangani dibagi menjadi tiga tahapan, yaitu :
1. Perancangan basis data secara konseptual
2. Perancangan basis data secara logis
3. Perancangan basis data secara fisis
Perancangan basis data secara konseptual merupakan upaya untuk membuat
model yang masih bersifat konsep. Perancangan basis data secara logis merupakan
tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai,
seperti model relasional, hirarki, atau jaringan.
Namun sebagaimana halnya perancangan basis data secara konseptual,
perancangan ini tidak tergantung pada DBMS (Database Management System) yang
akan dipakai. Itulah sebabnya perancangan basis data secara logis terkadang disebut
pemetaan model data.
Perancangan basis data secara fisis merupakan tahapan untuk menuangkan
perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan
pada media penyimpanan eksternal.
2.10.2 Entity Relationship Diagram (ERD)
Menurut Fathansyah (2001:70) Diagram keterhubungan entitas atau EntityRelationship Diagram selanjutnya disebut ERD adalah model konseptual yang
24
mendeskripsikan hubungan antar penyimpanan (dalam DAD). ERD digunakan untuk
memodelkan struktur data dan hubungan antar data. Model ERD yang berisi
komponen – komponen himpunan entitas dan himpunan relasi yang masing – masing
dilengkapi dengan atribut – atribut yang merepresentasikan seluruh fakta dari dunia
nyata yang ditinjau, yang digambarkan dengan lebih sistematis dengan menggunakan
ERD. Berikut adalah notasi – notasi yang sering digunakan pada saat pembuatan
entity relationship diagram.
Notasi
Deskripsi
Menyatakan himpunan entitas
Atribut A sebagai key
A
Himpunan Relasi R
R
Link
Tabel 2.1 Notasi ERD
Berikut adalah contoh penggambaran relasi antar himpunan entitas lengkap dengan
kardinat relasi dan atribut – atributnya :
1. Relasi satu-ke-satu (one-to-one)
Adanya relasi antara himpunan entitas Kepala Sekolah dengan Himpunan
entitas Sekolah. Himpunan relasinya kita beri nama “Mengepalai”. Para relasi
ini, setiap kepala sekolah paling banyak mengepalai satu sekolah. Dan setiap
sekolah pasti dikepalai oleh paling banyak satu orang kepala sekolah. Maka
penggambarannya adalah
Gambar 2.6 Contoh relasi one to one
25
2. Relasi satu-ke-banyak (one to many)
Adanya relasi antara himpunan entitas dosen dengan himpunan entitas kuliah.
Himpunan relasinya kita beri nama “Mengajar”. Pada relasi ini, setiap dosen
dapat mengajar lebih dari satu mata kuliah, sedang setiap mata kuliah diajar
hanya oleh paling banyak satu dosen. Maka penggambarannya adalah :
Gambar 2.7 Contoh relasi one to many
3. Relasi banyak-ke-banyak (many-to-many)
Adanya relasi antar himpunan entitas mahasiswa dengan himpunan entitas
kuliah. Himpunan relasinya kita beri nama “Mempelajari”. Pada relasi ini, setiap
mahasiswa bisa mempelajari lebih dari satu mata kuliah. Demikian juga
sebaliknya, setiap mata kuliah dapat dipelajari oleh lebih dari satu orang
mahasiswa.
Gambar 2.8 Contoh relasi many to many
Gambar 2.8 Contoh relasi many to many
2.11
Unified Modelling Language
26
Unified Modelling Language (UML) adalah keluarga notasi grafis yang
didukung oleh meta – model tunggal, yang membantu pendeksripsian dan desain
sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemograman
berorientasi objek (Fowler, 2005 : - 1).
UML adalah sebuah bahasa yang telah menjadi standart yang berdasarkan
grafik atau gambar untuk memvisualisasikan, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah pengembangan sustem perangkat lunak berorientasi
objek (Object Oriented).
UML merupakan suatu kumpulan teknik terbaik yang sudah terbukti sukses
dalam memodelkan sistem yang besar dan kompleks yang dikembangkan oleh
Booch, Object Modelling Technique (OMT) dan Object Oriented Software
Engineering (OOSE). Metode Booch atau yang kita kenal dengan metode Design
Object Oriented yang dibuat oleh Gardy Booch. Metode ini menjadikan proses
analisis dan design ke dalam empat tahapan interaktif, yaitu :
1. Identifikasi kelas – kelas dan objek – objek
2. Identifikasi semantik dari hubungan objek dan kelas
3. Perincian interface
4. Implementasi
Dengan menggabungkan UML, metode Booch, OMT dan OOSE lalu
ditambahkan dengan elemen – elemen baru yang lebih efektif dan lebih ekspresif
dari metode lainnya. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam
tabel berikut.
No.
Diagram
Kegunaan
1.
Activity
Behaviour prosedural dan paralel
2.
Class
Class, fitur, dan hubungan – hubungan
3.
Communication
Interaksi antar objek; penekanan pada jalur
4.
Component
Struktur dan koneksi komponen
5.
Composite
Dekomposisi runtime sebuah class
Structure
27
6.
Deployment
Pemindahan artifak ke node
7.
Interaction
Campuran sequence dan activity diagram
overview
8.
Object
Contoh konfigurasi dari contoh – contoh
9.
Package
Struktur hirarki compile-time
10.
Sequence
Interaksi antar objek; penekanan pada sequence
11.
State machine
Bagaimana even mengubah objek selama aktif
12.
Timing
Interaksi antar objek; penekanan pada timing
13.
Use case
Bagaimana pengguna berinteraksi dengan sebuah
sistem
Tabel 2.2 Jenis Diagram Resmi UML
2.11.1 Use Case Diagram
Use Case diagram adalah layanan (services) atau fungsi – fungsi yang
disediakan oleh sistem untuk pengguna – penggunanya (Henderi et al, 2008). Use
Case diagram menggambarkan fungsionalitas dari sebuah sistem. Yang ditekankan
adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah Use case
diagram merepresentasikan sebuah interaksi antara pengguna sistem dengan sistem.
Use case diagram menggambarkan sebuah pekerjaan tertentu, misalnya login ke
sistem, membuat sebuah daftar belanja, dan sebagainya. Aktor adalah sebuah entitas
manusia atau sistem yang berinteraksi dengan sistem untuk melakukan pekerjaan –
pekerjaan tertentu.
Notasi – notasi yang digunakan dalam pemodelan duagram use case dapat
dilihat pada tabel berikut ini :
Notasi
Deskripsi
Aktor, segala sesuatu digunakan untuk menggambarkan
pelaku atau pengguna yang sedang berinteraksi langsung.
28
Use case berfungsi untuk menggambarkan spesifikasi
pekerjaan (job spesification) dan deskripsi pekerjaan (job
description), serta keterkaitan antar pekerjaan (job).
Aliran proses (relationship), berguna untuk
menggambarkan hubungan antara use case dengan use
case lainnya.
Aliran perpanjang (extension points), berguna untuk
menggambarkan hubungan antara use case dengan use
case yang diperpanjang (extended use case) maupun
dengan use case yang dimasukkan (included use case).
Aliran yang digunakan untuk menggambarkan hubungan
antara aktor dengan use case.
<<extended>>
Kondisi yang mendeksripsikan apa yang terjadi antara
use case dengan use case yang diperpanjang.
<<include>>
Include adalah kondisi aliran proses langsung (directed
relationship) antara dua use case yang secara tak
langsung menyatakan kelakukan (behaviour) dari use
case yang dimasukkan.
<<has>>
Adalah kondisi yang mendeskripsikan apa yang terjadi
antara aktor dengan use case.
Tabel 2.3 Notasi Use Case Diagram.
2.11.2 Activity Diagram
Activity diagram merupakan bagian dari model dinamis yang digunakan
untuk menggambarkan work flow / proses sistem kita. Diagram ini menunjukkan
bagaimana suatu proses dimulai, kemudian alur proses dari tiap keputusan yang ada
hingga berakhirnya proses. Serta diagram ini juga memungkinkan untuk
menampilkan proses yang terjadi secara paralel.
Activity diagram memungkinkan siapapun yang melakukan proses untuk
memilih urutan dalam melakukannya. Dengan kata lain, diagram hanya menyebutkan
29
aturan – aturan rangkaian dasar yang harus kita ikuti. Hal ini penting untuk
pemodelan bisnis karena proses – proses sering muncul secara paralel.
Notasi – notasi yang digunakan dalam pemodelan activity diagram dapat
dilihat pada Tabel 2.4.
No.
1.
Notasi
Keterangan
Titik awal, digunakan untuk menggambarkan
awal dari diagram aktifitas.
2.
Titik akhir, digunakan untuk
menggambarkan akhir dari diagram aktifitas.
3.
Aktivitas, digunakan untuk menggambarkan
aktifitas dalam diagram aktifitas.
4.
Pilihan untuk pengambilan keputusan,
digunakan untuk menggambarkan kelakuan
pada kondisi tertentu.
5.
Akhir alur (flow final), digunakan untuk
menghancrukan semua tanda yang datang
dan tak memiliki efek alur dalam aktifitas.
6.
Fork ; digunakan untuk menunjukkan
kegiatan – kegiatan yang dilakukan secara
paralel atau untuk menggabungkan dua
kegiatan paralel menjadi satu
7.
Rake ; menunjukkan adanya dekomposisi
8.
Tanda waktu
30
9.
Node Fork memiliki satu aksi yang masuk
dan beberapa aksi yang keluar.
10.
Join node digunakan untuk menggambarkan
beberapa aksi yang masuk dan satu aksi yang
keluar.
11.
Tanda Pengiriman
12.
Tanda Penerimaan
Tabel 2.4 Notasi Activity Diagram
2.11.3 Sequence Diagram
Sebuah sequence diagram secara khusus menjabarkan aktifitas sebuah
skenario tunggal. Diagram tersebut menunjukkan sebuah objek contoh dan pesan–
pesan yang melewati objek – objek di dalam use case diagram (Fowler, 2005).
Sequence diagram menggambarkan interaksi dengan menampilkan setiap partisipan
dengan garis alir secara vertikal dan pengurutan pesan dari atas ke bawah.
Sequence diagram biasa digunakan untuk menggambarkan skenario atau
rangkaian langkah – langkah yang dilakukan sebagai respons dari sebuah event untuk
menghasikan output tertentu. Diagram ini juga menunjukkan serangkaian pesan yang
dipertukarkan oleh objek – objek yang melakukan suatu tugas atau aksi tertentu.
Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja
yang terjadi secara internal dan output apa yang dihasilkan. Masing – masing objek,
termasuk aktor memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah
dari satu objek ke objek lainnya.
31
Notasi – notasi yang digunakan dalam pemodelan sequence diagram terlihat dalam
tabel berikut :
No.
Notasi
1.
Keterangan
Aktor :
Merupakan sebuah peran yang dimainkan
seseorang pengguna dalam kaitannya dengan
sistem.
2.
Activation :
Menggambarkan waktu yang dibutuhkan suatu
objek untuk menyelesaikan suatu aktivitas.
3.
Participant (Obyek) :
Object1
Simbol yang digunakan untuk
menyederhanakan diagram
4.
Lifeline :
Digambarkan dengan garis putus – putus, yang
menggambarkan bahwa hadirnya objek
terhadap waktu.
5.
Aliran Pesan :
Digambarkan dengan tanda panah, yang
menggambarkan komunikasi antar objek.
Tabel 2.5 Notasi Pemodelan Sequence Diagram
2.11.4 Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi
pendefinisian kelas-kelas yang akan dibuat atau membangun sistem.Kelas memiliki
apa yang disebut atribut dan metode atau operasi.

Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.

Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
32
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsifungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada
diagram kelas sebaiknya memiliki jenis-jenis kelas berikut :

Kelas main.
Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.

Kelas yang menangani tampilan sistem.
Kelas yang mendefinisikan dan mengatur tampilan ke pemakai.

Kelas yang diambil dari pendefinisian use case.
Kelas yang menangani fungsi-fungsi yang harus ada diambil dari
pendefinisian use case.

Kelas yang diambil dari pendefinisian data.
Kelas yang digunakan untuk memegang atau membungkus data menjadi
sebuah kesatuan yang diambil maupun akan disimpan ke basis data
Berikut adalah simbol – simbol yang sering digunakan pada saat pembuatan class
diagram.
Simbol
Class1
Antarmuka/interface
Deskripsi
Kelas pada struktur sistem
Sama dengan konsep interface dalam
pemrograman berorientasi objek
Nama_interface
Asosiasi/association
Relasi antar kelas dengan umum,
asosiasi biasanya juga disertai dengan
multiplicity
Asosiasi berarah/directed
Relasi antar kelas dengan makna kelas
association
yang satu digunakan oleh kelas yang lain,
asosiasi biasanya juga disertai dengan
multiplicity
Generalisasi
Relasi antar kelas dengan makna
33
generalisasi-spesialisasi(umum-khusus)
Kebergantungan/dependency
Relasi antar kelas dengan makna
kebergantungan antar kelas
Tabel 2.6 Simbol – simbol yang ada pada Class Diagram
2.12
Web
World Wide Web (WWW), lebih dikenal dengan web yang merupakan salah
satu layanan yang didapat oleh pemakai komputer yang terhubung ke internet dengan
fasilitas hypertext untuk menampilkan data berupa text, gambar, suara, animasi dan
data multimedia lainnya. Sehingga web pada awalannya adalah ruang informasi
dalam internet, dengan menggunakan teknologi hypertext oemakai dituntun
menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web
yang ditampilkan dalam web browser. (Kustiyahningsih dan Rosa Anamisa, 2011)
Situs / web dapat dikategorikan menjadi dua yaitu “web statis” dan “web
dinamis”. Web statis adalah web yang menampilkan informasi – informasi yang
sifatnya statis (tetap), sedangkan web dinamis adalah web yang menampilkan
informasi serta dapat berinteraksi dengan pengguna.
2.12.1 Web Browser
Web browser adalah perangkat lunak yang digunakan untuk menampilkan
informasi dari server web. Perangkat lunak ini kini telah dikembangkan dengan
menggunakan user interface grafis, sehingga pemakai dapat dengan melakukan
„point and click‟ untuk pindah antar dokumen.
2.12.2 Web Server
Web server adalah komputer yang digunakan untuk menyimpan dokumendokumen web, komputer ini akan melayani permintaan dokumen web dari kliennya.
Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu
program server yang disebut Personal Web Server (PWS). PWS ini difungsikan agar
34
halaman web yang ada didalam sebuah komputer server dapat dipanggil oleh
komputer klien.
Macam – macam web server :
a. Apache Web Server – The HTTP Web Server
b. Apache Tomcat
c. Microsoft Windows Server 2003 Internet Information Services (IIS)
d. Lighttpd
e. Sun Java System Web Server
f. Xitami Web Server
g. Zeus Web Server
2.13
Pengertian Internet
Internet “Interconnected Network atau yang lebih populer dengan sebutan
Internet – adalah sebuah sistem komunikasi global yang menghubungkan komputer –
komputer dan jaringan – jaringan komputer di seluruh dunia“. (Purbo, 1998). Setiap
komputer dan jaringan terhubung secara langsung maupun tidak langsung ke
beberapa jalur utama yang disebut “internet backbone” dan dibedakan satu dengan
yang lainnya menggunakan “unique name” yang biasa disebut dengan “alamat IP”
32bit. Komputer dan jaringan dengan berbagai platform yang mempunyai perbedaan
dan ciri khas masing – masing (Unix, Linux, Windows, Mac, dll) bertukar informasi
dengan sebuah protokol standar yang dikenal dengan nama TCP/IP (Transmission
Control Protocol/Internet Protocol). TCP/IP tersusun atas 4 layer (network access,
internet, host-to-host transport, dan application) yang masing – masing memiliki
protokolnya sendiri – sendiri.
2.13.1 Media Penghubung
Saat ini dikenal 2 (dua) macam media penghubung pada jaringan komputer,
yaitu media penghubung kabel dan media penghubung dengan menggunakan
gelombang radio (Wi-Fi).
35
Perbedaan yang mencolok dari kedua bentuk media penghubung di atas
adalah pada sisi instalasinya. Penggunaan media penghubung (Wi-Fi) mudah untuk
diinstalasi dan penempatan komponen jaringan lebih fleksibel.
2.14
Pendekatan Test / Pengujian
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas
perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan
pengkodean. Terdapat 2 macam bentuk pendekatan test / pengujian :
2.14.1 Pendekatan White Box
Pendekatan White Box adalah meramalkan cara kerja perangkat lunak secara
rinci, karena jalur logika (logical path) perangkat lunak akan ditest dengan
menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau
pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box
testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
Uji coba white box adalah metode perancangan test case yang menggunakan
struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Dengan
menggunkan metode white box, analis sistem akan dapat memperoleh test case
sebagai berikut :
a. Menjamin seluruh kebebasan jalur di dalam modul yang dikerjakan miinimal
sekali.
b. Mengerjakan seluruh keputusan logika.
c. Mengerjakan seluruh perulangan yang sesuai dengan batasannya.
d. Mengerjakan seluruh struktur data internal yang menjamin validitas.
2.14.2 Pendekatan Black Box
Pengujian Black Box berfokus pada persyaratan fungsional perangkat lunak.
Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi masukan
36
yang akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini
mencari kesalahan pada :
a. Fungsi yang salah atau hilang.
b. Kesalahan pada interface.
c. Kesalahan pada struktur data atau akses basis data.
d. Kesalahan performansi.
e. Kesalahan insialisasi dan tujuan akhir.
Pengujian Black Box dirancang untuk menjawab pertanyaan sebagai berikut :
a. Bagaimana validitas fungsional diuji
b. Apa kelas input yang terbaik untuk uji coba yang baik
c. Apakah sistem sangat peka terhadap nilai input tertentu
d. Bagaimana jika kelas data yang terbatas dipisahkan
e. Bagaimana volume data yang dapat ditoleransi oleh sistem?
f. Bagaimana pengaruh kombinasi data terhadap pengoperasian sistem
Untuk menganalisa pengujian metode black box dilakukan dengan tiga cara :
1. Pemisah padanan (equivalence partitioning)
a. Menggunakan data terpisah yang diturunkan dari test case.
b. Satu test case menemukan sekumpulan kesalahan yang spesifik yang
biasanya membutuhkan beberapa test case.
c. Mengurangi jumlah test case yang dibuat.
2. Analisa batas nilai (boundary value analisys)
a. Merupakan pelengkap dari equivalence partitioning.
b. Sebagian besar masalah terjadi pada batas input. Bukan pada inti dari
input domain.
c. Contohnya : pengujian batas atas / bawah dari sebuah array.
3. Pengujian grafik (graph-based testing)
Menggunakan graph untuk merepresentasikan object dan relasinya terhadap
object lain.
Download