BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Mutakhir

advertisement
BAB II
TINJAUAN PUSTAKA
2.1 Tinjauan Mutakhir
Beberapa penelitian sebelumnya terkait pemanfaatan metode optimasi dalam
pemecahan berbagai masalah adalah sebagai berikut
Penelitian yang dilakukan oleh Beni (2014), yang berjudul Rancang Bangun
Sistem Informasi Reservasi Sewa Kamar Hotel Berbasis Web. Pada penelitian ini
menjelaskan tentang masalah sistem sewa kamar di Hotel Gren Mandarin yang
masih dilakukan dengan melakukan pencatatan buku reservasi secara manual.
Sehingga dibuatkanlah sistem baru yang terkomputerisasi berbasis web sehingga
lebih efisien dalam penggunaannya.
Dalam penelitian yang berjudul Aplikasi Pemesanan Makanan Berbasis
Mobile Pada Rumah Makan “Lek Nonong”. Pada penelitian menjelaskan tentang
rumah makan yang masih menggunakan cara pengerjaan manual dalam
pelayanannya. Oleh karena itu dibuat suatu aplikasi mobile yang dapat membatu
proses pelayanan maupun proses rekap data untuk laporan transaksi yang dapat
digunakan pada rumah makan Lek Nonong (Adi dkk, 2014).
Penelitian yang berjudul Membangun Aplikasi Pemesanan dan Pembayaran
Sewa Mobil Online Berbasis Web, Penelitian tersebut tentang pembuatan website
dengan bahasa pemrograman PHP dan database MySQL yang menjelaskan
tentang informasi mobil-mobil yang akan disewakan secara lengkap dan detail
serta proses sistem pemesanan sewa mobil secara online (Deffi, 2014).
Penelitian yang berjudul Rancang Bangun Sistem Informasi Geografis
Pemesanan Taksi Berbasis Android. Penelitiannya menjelaskan tentang suatu
sistem yang dapat membantu customer untuk melakukan pemesanan taksi dimana
saat pelanggan melakukan pemesanan taksi melalui Android. Sehingga dapat
membatu sopir taksi untuk bisa tiba pada tempat yang dituju dalam waktu yang
relatif lebih singkat karena bantuan titik koordinat yang terdapat pada Android
tersebut (Warma dkk, 2014).
Penelitian yang, yang berjudul Aplikasi Pemesanan Tiket Bioskop Berbasis
Mobile. Dalam penelitiannya
menjelaskan
tentang permasalahan
dalam
pemesanan tiket bioskop via sms karena customer harus menghafal format
penulisan tertentu untuk mengirim sms. Sehingga dibuatlah aplikasi berbasis
mobile supaya customer dapat lebih cepat memesan dan dapat informasi lengkap
secara online (Timotius dkk, 2012).
Dari beberapa penelitian tersebut
terdapat perbedaan dengan penelitian
sebelumnya yaitu pada objek pemesanan dan sistem rancang bangun aplikasi yang
digunakan. Penelitian pada skripsi ini membahas tentang pembuatan aplikasi
reservasi les private Bahasa Inggris berbasis web dan terintegrasi dengan aplikasi
mobile, sehingga memudahkan pengguna untuk melihat informasi jadwal waktu
yang kosong dan melakukan reservasi jadwal les private.
2.2 Tinjauan Pustaka
2.2.1 Sistem Informasi
Sistem Informasi adalah suatu alat yang membantu dalam menyediakan
informasi bagi penerimanya dan untuk membantu dalam pengambilan keputusan
bagi manajemen didalam operasi perusahaan sehari-hari dan informasi yang layak
untuk pihak luar perusahaan. Definisi Sistem Informasi menurut para Ahli :
1. Menurut Jogiyanto (1999), Sistem informasi adalah suatu sistem di dalam
suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi
harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari
suatu organisasasi, dan menyediakan pihak luar tertentu dengan laporan laporan yang diperlukan.
2. Sistem informasi merupakan suatu perkumpulan data yang terorganisasi
beserta tatacara penggunaanya yang mencangkup lebih jauh dari pada
sekedar penyajian. Istilah tersebut menyir atkan suatu maksud yang ingin
dicapai dengan jalan memilih dan mengatur data serta menyusun tatacara
penggunaanya.Keberhasilan
suatu
sistem
informasi
yang
diukur
berdasarkan maksud pembuatanya tergantung pada tiga faktor utama, yaitu
keserasian
dan
mutu
data,
pengorganisasian
data,
dan
tatacara
penggunaanya, untuk memenuhi permintaan penggunaan tertentu, maka
struktur dan cara kerja sistem informasi berbeda-beda tergantung pada
macam keperluan atau macam permintaan yang harus dipenuhi. Suatu
persamaan yang menonjol ialah suatu sistem informasi menggabungkan
berbagai ragam data yang dikumpulkan dari berbagai sumber. Untuk dapat
menggabungkan data yang berasal dari berbagai sumber suatu sistem alih
rupa (transformation) data sehingga jadi tergabungkan (compatible).
Berapa pun ukurannya dan apapun ruang lingkupnya suatu sistem
informasi perlu memiliki ketergabungan (compatibility) data yang
disimpannya. (Fatta, 2009).
Informasi dalam lingkup sistem informasi memiliki beberapa ciri yaitu:
1.
Baru, informasi yang didapat sama sekali baru bagi penerima.
2. Tambahan, informasi dapat memperbaharui atau memberikan
tambahan pada informasi yang telah ada.
3. Korektif, informasi dapat menjadi suatu koreksi atas informasi yang
salah sebelumnya.
4. Penegas, informasi dapat mempertegas informasi yang telah ada.
2.2.2 Metode Pengembangan Perangkat Lunak
Pengembangan perangkat lunak dapat diartikan sebagai proses membuat
suatu perangkat lunak baru untuk menggantikan perangkat lunak lama secara
keseluruhan atau memperbaiki perangkat lunak yang telah ada. Agar lebih cepat
dan tepat dalam mendeskripsikan solusi dan mengembangkan perangkat lunak,
juga hasilnya mudah dikembangkan dan dipelihara, maka pengembangan
perangkat
lunak
memerlukan
suatu
metodologi
khusus.
Metodologi
pengembangan perangkat lunak adalah suatu proses pengorganisasian kumpulan
metode dan konvensi notasi yang telah didefinisikan untuk mengembangkan
perangkat lunak.
Batu landasan yang menopang rekayasa perangkat lunak (Pressman, 2002)
terlihat pada Gambar 2.1
Tools
Metode
Proses
Focus kualitas
Gambar 2.1. Batu landasan Perangkat lunak
Metodologi pengembangan perangkat lunak (atau disebut juga model
proses
proses atau paradigma rekayasa perangkat lunak) adalah suatu strategi
pengembangan yang memadukan proses, metode, dan perangkat (tools) . Metodemetode rekayasa perangkat lunak, memberikan teknik untuk membangun
perangkat lunak. Berkaitan dengan serangkaian tugas yang luas yang menyangkut
analisis kebutuhan, konstruksi program, desain, pengujian, dan pemeliharaan
(Pressman, 2002).
Untuk menyelesaikan masalah di dalam pengembangan perangkat lunak,
tim perekayasa harus menggabungkan strategi pengembangan yang melingkupi
lapisan proses, metode, dan alat bantu. Model proses rekayasa perangkat lunak
dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu yang
akan dipakai, dan control serta penyampaian yang dibutuhkan. Metode-Metode
Pengembangan Perangkat Lunak (Model Proses Pengembangan Perangkat Lunak)
yaitu metode Waterfall, prototype, RAD dan Model Sekuensial (Pressman, 2002),
Berikut Penjelasan Metode-metode tersebut :
1. Model Waterfall
Model Waterfall merupakan salah satu model klasik bersifat Sisetematis.
Pengunaan model ini dalam penerapan kehidupan sehari-hari sangatlah memakan
waktu dan sangat sedikit dipakai dalam membuat software.
masalah yang terdapat pada model ini adalah sebagai berikut :
a. Perubahan sulit dilakukan karena sistemnya baku dan kaku.
b. Karena, sifatnya kaku dan baku maka kebutuhan harus dikumpulkan
secara lengkap sehingga perubahan bisa ditekan seminimal mungkin.
c. Perlu diketahui penerapan model ini hanya untuk rekayasa sistem yang
besar.
Gambar 2.2 Metode waterfall
Penjelasan dari Metode waterfall yang terdapat pada Gambar 2.1 adalah sebagai
berikut :
1. Requirement Analysis and Definition
Merupakan tahapan penetapan fitur, kendala dan tujuan sistem melalui
konsultasi dengan pengguna sistem. Semua hal tersebut akan ditetapkan secara
rinci dan berfungsi sebagai spesifikasi sistem.
2. System and Software Design
Dalam tahapan ini akan dibentuk suatu arsitektur sistem berdasarkan
persyaratan
yang
telah
ditetapkan.
Dan
juga
mengidentifikasi
dan
menggambarkan abstraksi dasar sistem perangkat lunak dan hubunganhubungannya.
3. Implementation and Unit Testing
Dalam tahapan ini, hasil dari desain perangkat lunak akan direalisasikan
sebagai satu set program atau unit program. Setiap unit akan diuji apakah sudah
memenuhi spesifikasinya.
4. Integration and System Testing
Dalam tahapan ini, setiap unit program akan diintegrasikan satu sama lain dan
diuji sebagai satu sistem yang utuh untuk memastikan sistem sudah memenuhi
persyaratan yang ada. Setelah itu sistem akan dikirim ke pengguna sistem.
5. Operation and Maintenance
Dalam tahapan ini, sistem diinstal dan mulai digunakan. Selain itu juga
memperbaiki error yang tidak ditemukan pada tahap pembuatan. Dalam tahap
ini juga dilakukan pengembangan sistem seperti penambahan fitur dan fungsi
baru.
2. Model Prototype
Model ini dimulai dengan pengumpulan kebutuhan. Pendekatan prototyping
model digunakan jika pemakai hanya mendefenisikan objektif umum dari
perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya,
sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi
sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil, yang
terlihat pada Gambar 2.3
Membangun,
memperbaiki
market
Mendengarkan
pelanggan
Uji pelangganmengendalikan market
Gambar 2.3 Prototype paradigma
Cakupan aktivitas dari prototyping model terdiri dari :
a. Mendefinisikan
objektif
secara
keseluruhan
dan
mengidentifikasi
kebutuhan yang sudah diketahui.
b. Melakukan perancangan secara cepat sebagai dasar untuk membuat
prototype.
c. Menguji coba dan mengevaluasi prototype dan kemudian melakukan
penambahan dan perbaikan-perbaikan terhadap prototype yang sudah
dibuat.
secara ideal prototype berfungsi sebagai sebuah mekanisme untuk
mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja
dibangun, pengembang harus menggunakan fragmen-fragmen program yang ada
atau mengaplikasikan alat-alat bantu (contoh: window manager, dsb) yang
memungkinkan program yang bekerja agar dimunculkan secara cepat.
Kelemahan prototyping model adalah sebagai berikut :
a. Pelanggan yang melihat working version dari model yang dimintanya
tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan
rancangan tidak tersusun dengan baik
b. Pengembang kadang-kadang membuat implementasi sembarang, karena
ingin working version bekerja dengan cepat.
2.2.3 Basis Data
Basis Data terdiri atas dua kata yaitu Basis dan Data Basis kurang lebih dapat
diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.
Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek
seperti manusia, barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang
direkam dalam bentuk angka, huruf, symbol, teks, Gambar, bunyi, atau
kombinasinya.
Jadi dapat disimpulkan Basis Data dan lemari arsip sesungguhnya memiliki
prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data atau
arsip dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan
data. Perbedaannya hanya terletak pada media penyimpanan yang digunakan
(Fathansyah, 2007).
2.2.3.1 DBMS
Menurut Kristanto (2009), DBMS adalah Kumpulan file yang saling
berkaitan bersama dengan program untuk pengelolaannya. Satu Database
Management System (DBMS) berisi satu koleksi data yang saling berelasi dan
satu set program untuk mengakses data tersebut. DBMS terdiri dari database dan
set program pengelola untuk menambah data, menghapus data, mengambil dan
membaca data. Contoh dari DBMS adalah sebagai berikut.
1. SQLite merupakan sebuah system manajemen basis data relasional yang
bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relative
kecil, ditulis dalam Bahasa C. SQLite merupakan proyek yang bersifat public
domain yang dikerjakan oleh D. Richard Hipp.Tidak seperti paradigma clientserver umumnya, inti SQLite bukanlah sebuah system yang mandiri yang
berkomunikasi dengan sebuah program secara keseluruhan. Sehingga protocol
komunikasi utama yang digunakan adalah melalui pemanggilan API secara
langsung melalui Bahasa pemrograman. Mekanisme seperti ini tentunya
membawa keuntungan karena dapat mereduksi overhead, latency times, dan
secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data,
table, indeks dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi
desain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data
pada saat sebuah transaksi dimulai.
2. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(database management system) atau DBMS yang multithread, multi-user.
MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah
lisensi GNU General Public License (GPL. MySQL merupakan turunan salah
satu konsep utama dalam database yaitu SQL (Structured Query Language).
SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan
atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data
dikerjakan dengan mudah secara otomastis.
2.2.3.2 Bahasa Basis Data
Sebuah basis data dapat dikelompokkan ke dalam dua bentuk, aitu Data
Definition Language (DDL) dan Data Manipulation Language (DML)
(Fathansyah, 2007) :
a. DDL
Struktur atau skema basis data yang menggambarkan desain basis data
secara keseluruhan, dispesifikasikan dengan Bahasa yang khusus disebut
ddl. Dengan Bahasa ini pengguna dapa membuat table baru, indeks,
mengubah table, menentukan struktur tabel . Hasil dari kompilasi perintah
DDL adalah kumpulan tabel yang disimpan dalan file khusus yang disebut
kamus data. Kamus data merupakan suatu meta data, yaitu data yang
mendeskripsikan data sesungguhnya.
b. DML
Data Manipulation Language adalah Bahasa yang memperbolehkan
pemakai untuk akses atau manipulasi data untuk diorganisasikan
sebelumnya dalam model data yang tepat
2.2.3.3 Model Basis Data
Model data dapat didefinisikan sebagai kumpulan perangkat konseptual
untuk menggambarkan data, hubungan data, dan batasan data. Model data yang
dipakai dalam perancangan sistem informasi ini adalah model data relasional.
Model data relasional menggunakan tabel berdimensi dua dengan masing-masing
tabel tersusun atas sejumlah baris dan kolom. Pada model data relasional, kaitan
antara dua buah tabel disebut hubungan (relationship)
2.2.3.4 Perancangan Basis Data
Merancang database merupakan suatu hal yang sangat penting dan
merupakan langkah untuk menentukan basis data, yang diharapkandapat mewakili
seluruh kebutuhan pengguna.
Proses perancangan basis data dibagi menjadi beberapa tahapan – tahapan
yaitu (Fathansyah, 2007) :
a. Perancangan Basis Data secara Konseptual
Tahapan ini merupakan upaya untuk membuat model yang masih bersifat
konseptual. Perancangan basis data secara konseptual terdiri atas tiga
langkah, antara lain : penentuan entitas pada basis data, pendefinisian
hubungan antar entitas dan penerjemahan hubungan ke dalam entitas.
Untuk membuat model tersebut dapat digunakan diagram ER
b. Perancangan Basis Data secara Logis
Tahapan ini merupakan upaya untuk memetakan model konseptual ke
model basis data yang akan dipakai
c. Perancangan Basis Data Secara Fisik
Tahapan ini merupakan upaya untuk menuangkan perancangan basis data
yang bersifat logis menjadi basis data yang bersifat fisik, yang tersimpan
pada media penyimpanan eksternal.
2.2.3.5 ERD
Entity Relationship diagram (ERD) merupakan teknik yang digunakan untuk
memodelkan kebutuhan data dari suatu organisasi, biasanya oleh System Analys
dalam tahap analisis persyaratan proyek pengembangan system. Sementara
seolah-olah teknik diagram atau alat peraga memberikan dasar untuk desain
database relasional yang mendasari sistem informasi yang dikembangkan. ERD
bersama-sama dengan detail pendukung merupakan model data yang pada
gilirannya digunakan sebagai spesifikasi untuk database (Brady dan Loonam
2010). ERD pertama kali dideskripsikan oleh PETER CHEN yang dibuat sebagi
bagian dari perangkat lunak CASE. Notasi yang digunakan dalan ERD antara lain
dapat dilihat pada tabel 2.1.
Tabel 2.1 Simbol Notasi ERD
Entity
Identify Relationship
Atribut
Tabel 2.1 Lanjutan
Atribut Primary Key
Atribut composite
2.2.4 DFD
Data
Flow
Diagram
(DFD)
adalah
alat
pembuatan
model
yang
memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu
jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data,
baik secara manual maupun komputerisasi. DFD ini sering disebut juga dengan
nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau
model fungsi. DFD ini adalah salah satu alat pembuatan model yang sering
digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih
penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata
lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada
fungsi sistem. DFD ini merupakan alat perancangan sistem yang berorientasi pada
alur data dengan konsep dekomposisi dapat digunakan untuk pengGambaran
analisa maupun Rancangan sistem yang mudah dikomunikasikan oleh profesional
sistem kepada pemakai maupun pembuat program. Simbol DFD yang digunakan
dapat dilihat pada tabel 2.2.
Tabel 2.2 Simbol DFD
Entitas Luar, merupakan kesatuan di
lingkungan luar sistem yang bisa
berupa orang, organisasi, atau sistem
lain
Proses, merupakan proses seperti
perhitungan aritmatik penulisan suatu
formula atau pembuatan laporan
Data Store (Simpan Data), dapat
berupa suatu file atau database pada
sistem computer atau catatan manual
Data Flow (Arus Data), arus ini
mengalir diantara proses, simpan data
dan kesatuan luar.
Menurut Jogiyanto (2005), DFD terdapat 3 level, yaitu :
a.
Diagram Konteks menggambarkan satu lingkaran besar yang dapat
mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan
tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua
entitas eksternal yang ditunjukkan pada diagram konteks berikut aliranaliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak
memuat penyimpanan data dan tampak sederhana untuk diciptakan.
b. Diagram Nol (diagram level-1) merupakan satu lingkaran besar yang
mewakili
lingkaran-lingkaran
kecil
yang
ada
di
dalamnya.
Merupakan pemecahan dari diagram Konteks ke diagram Nol, di dalam
diagram ini memuat penyimpanan data.
c. Diagram Rinci merupakan diagram yang menguraikan proses apa yang
ada pada diagram level 0
2.2.5 PHP
Menurut Saputra (2011) PHP atau yang memiliki kepanjangan Hypertext
Preprocessor merupakan suatu Bahasa pemrograman
yang difungsikan untuk
membangun suatu website dinamis. PHP menyatu dengan kode HTML,
maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau
pondasi dari kerangka layout
web,
sedangkan
PHP
difungsikan
sebagai
prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah dimaintenance. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai
Bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan
PHP, wajib adanya web server. PHP ini bersifat open source sehingga dapat
dipakai secara cuma-cuma dan mampu lintas platform, yaitu dapat berjalan
pada sistem operasi Windows maupun Linux. PHP juga
dibangun
sebagai
modul pada web server apache dan sebagai binary yang dapat berjalan
sebagai CGI. Interpreter PHP dalam mengeksekusi kode PHP pada sisi server
(disebut server-side),
sedangkan
tanpa
adanya
interpreter
PHP,
maka
semua script dan aplikasi PHP yang dibuat tidak dapat dijalankan. Proses eksekusi
kode PHP yang dilakukan oleh Apache Web Server dan interpreter secara diagram
dapat diGambarkan seperti Gambar 2.4
Gambar 2.4 Struktur pembacaan web server
2.2.5.1 Keunggulan PHP
Ada beberapa
alasan
yang menjadi
dasar pertimbangan mengapa
menggunakan PHP.
1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama
untuk menggunakan PHP, Pemula pun akan mampu untuk menjadi web
master PHP.
2. Mampu Lintas Platform, artinya PHP dapat / mudah diaplikasikan ke
berbagai platform OS(Operating Sytem) dan hampir semua browser
juga mendukung PHP.
3. Free, bersifat Open source.
4. PHP memiliki tingkat akses yang cepat. Didukung oleh beberapa macam
web server, PHP mendukung beberapa web server, seperti Apache, IIS,
Lighttpd, Xitami.
5. Mendukung database, PHP mendukung beberapa database, baik yang
gratis maupun yang berbayar, seperti MySQL, PostgreSQL, mSQL,
Informix, SQL server, Oracle.
2.2.5.2 Skrip Dasar PHP
PHP sebagai alternatif lain memberikan solusi sangat murah (karena
gratis digunakan) dan dapat berjalan diberbagai jenis platform. PHP adalah
skrip bersifat server-side yang ditambahkan ke dalam HTML. PHP sendiri
merupakan singkatan dari Personal Home Page Tools. Skrip ini akan
membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu
halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat
server side berarti pengerjaan skrip dilakukan di server, baru kemudian hasilnya
dikirimkan ke browser. Sintaks dasar PHP meliputi bagaimana cara memulai
suatu struktur pemrograman PHP. Ada empat cara untuk memulai pemrograman
PHP, diantaranya:
a. <?php ...... ?>
b. <? ...... ?>
c. <script language=”php”> ...... </script>
d. <% ...... %>
dari beberapa sintaks dasar tersebut, yang paling banyak digunakan adalah cara
yang pertama dan yang kedua dari atas. Cara penulisan skrip PHP ada dua
macam, yaitu Embedded Script dan Non Embedded Script adalah sebagai
berikut :
a. Embedded Script
<html>
<head>
</head>
<body>
<?php
echo “Hallo Dunia”;
?>
</body>
</html>
b. Non Embedded Script
<?php
echo “<html>”;
echo “<head>”;
echo “<title>Mengenal PHP</title>”;
echo “<head>”;
echo “<body>”;
echo “<p>PHP cukup Menyenangkan</p>”;
echo “</body>”;
echo “</html>”;
?>
Dari contoh menjelaskan bahwa skrip PHP dapat berupa embedded script
yaitu meletakkan tag PHP diantara tag-tag HTML sedangkan non embedded
script yaitu semua tag HTML diletakkan dalam tag PHP. Semua kode PHP
menyerupai dengan kode Bahasa C, walaupun tidak sepenuhnya sama. Untuk
menampilkan nilai suatu variabel ke layer dapat menggunakan perintah yaitu
echo, print maupun printf.
Contohnya:
a. echo
echo “$data”;
echo $data;
echo “nilai”;
echo $data. “Mahasiswa Unud”;
b. print
print (“$data”);
print ($data);
print (“nilai”);
print ($data. “Mahasiswa Unud”);
Sebagai contoh untuk menampilkan kata “Halo” pada halaman web
menggunakan PHP, maka sintaksnya sebagai berikut:
<?PHP
Echo “Halo”;
?>
2.2.6 Framework Codeigniter
Menurut Hakim (2010:8) CodeIgniter adalah sebuah framework PHP
yang dapat membantu mempercepat developer dalam pengembangan aplikasi
web berbasis PHP dibanding jika menulis semua kode program dari awal.
CodeIgniter
pertama kali dibuat oleh Rick Ellis, CEO Ellislab, Inc.
(http://ellislab.com), sebuah perusahaan yang memproduksi CMS (Content 24
Management System)
yang
cukup
handal,
yaitu
Expression
Engine
(http://www.expressionengine.com). Saat ini, CodeIgniter dikembangkan dan
dimaintain oleh British Colombia Institute of Technology yang disingkat dengan
BCIT, salah satu sekolah tinggi teknologi di kanada. Adapun beberapa
keuntungan menggunakan CodeIgniter, diantaranya:
1. Gratis
CodeIgniter berlisensi dibawah Apache/BSD opensorce.
2
Ditulis Menggunakan PHP 4
Meskipun CodeIgniter dapat berjalan di PHP 5, namun sampai saat ini
kode program CodeIgniter masih dibuat dengan menggunakan PHP 4.
3
Berukuran Kecil
Ukuran CodeIgniter
yang kecil merupakan keunggulan tersendiri.
Dibanding dengan framework lain yang berukuran besar.
4
Menggunakan Konsep MVC
CodeIgniter
menggunakan
konsep
MVC
yang
pemisahan layer application-logic dan presentation.
memungkinkan
5
URL yang Sederhana
Secara default, URL yang dihasilkan CodeIgniter sangat bersih dan
Serach Engine Friendly (SEF).
6
Memiliki Paket Library yang Lengkap
CodeIgniter
mempunyai library yang
lengkap
untuk
mengerjakan
operasi-operasi yang umum dibutuhkan oleh sebuah aplikasi berbasis web,
misalnya mengakses database, mengirim email, memvalidasi form,
menangani session dan sebagainya.
7
Extensible
Sistem dapat dikembangkan dengan mudah menggunakan plugin dan
helper, atau dengan menggunakan hooks.
8
Tidak Memerlukan Template Engine
Meskipun CodeIgniter dilengkapi dengan template parser sederhana
yang dapat digunakan, tetapi
hal ini tidak mengharuskan kita untuk
menggunakannya.
9
Dokumentasi Lengkap dan Jelas
Dari
sekian
banyak framework,
CodeIgniter
adalah
satu-satunya
framework dengan dokumentasi yang lengkap dan jelas.
10 Komunitas
Komunitas
CodeIgniter
saat
ini
berkembang
pesat.
Salah
satu
komunitasnya bisa dilihat di (http://codeigniter.com/forum/). Proses aliran
data aplikasi pada sistem dapat diilustrasikan seperti terlihat pada
Gambar 2.4.
Gambar 2.5 Aplication Flowchart Codeigniter
2.2.7 Web Service
Web service adalah sebuah entitas komputasi yang dapat diakses melalui
jaringan internet dengan standar protocol tertentu dalam platform dan antarmuka
Bahasa pemrograman yang independen. Tujuan pengembangannya adalah untuk
membuat komunikasi antar program, sehingga aplikasi yang satu dan aplikasi
yang lain yang terdapat pada suatu jaringan yang sama atau pada jaringan yang
berbeda dapat saling berkomunikasi asalkan menggunakan standar protocol yang
ditetapkan oleh web service. Hal ini bisa terjadi, karena standar protocol itu
tidaklah terikat pada suatu platform atau Bahasa pemrograman.
Arsitektur web service dibagun oleh beberapa layer dan teknologi yang saling
berhubungan. Banyak cara untuk memvisualisasikan service, sama banyaknya
dengan cara untuk membangun dan menggunakan web service. Web service
disusun oleh tiga komponen standar yaitu (Siregar dan Purba, 2012) :
1. Simple Object Access Protocol (SOAP), yaitu protocol yang
bertanggung jawab dalam pertukaran informasi dalam lingkungan
jaringan terdistriusi.
2. Web Service Definition Language (WSDL), dokumen standar yang
dituliskan dalam format XML, dan mendefinisikan kehadiran web
service dalam suatu jaringan.
3. Universal Description, Discovery, and integration (UDDI), yaitu suatu
lokasi yang berisikan service (layanan) dan bersifat bebas platform
(platform independent), dituliskan berbasis XML dan dapat diakses
oleh entitas yang berada di dalam dan luar jaringan.
2.2.8 Android
Menurut Safaat (2012), Android adalah sistem operasi berbasis Linux
bagi telepon seluler seperti telepon pintar dan komputer tablet. Android juga
menyediakan platform terbuka bagi para pengembang untuk menciptakan
aplikasi mereka sendiri yang akan digunakan untuk berbagai macam piranti
gerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang
membuat piranti lunak untuk ponsel. kemudian dalam pengembangan Android,
dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti
keras,
piranti
lunak,
dan telekomunikasi, termasuk Google, HTC, Intel,
Motorola, Qualcomm, T-Mobile, dan Nvidia.
2.2.8.1 Fitur Android
Adapun beberapa fitur – fitur
menurut Safaat (2012), yang tersedia di
Android adalah sebagai berikut ini :
a. Kerangka
aplikasi:
memungkinkan
penggunaan
dan
penghapusan
komponen yang tersedia.
b. Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat telepon
seluler.
c. Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
d. SQLite: untuk penyimpanan data.
e. Mendukung
media:
audio,
video,
dan
berbagai
format Gambar
(MPEG4, H.264, MP3,
f. AAC, AMR, JPG, PNG, GIF)
g. GSM, Bluetooth, EDGE, 3G, 4G dan WiFi (tergantung piranti keras)
h. Kamera, Global Positioning System
(GPS), kompas, NFC dan
accelerometer (tergantung piranti keras)
2.2.8.2 Android SDK
Menurut Safaat (2012), Android SDK adalah tools API (Application
Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada
platform Android yang menggunakan Bahasa pemrograman Java. Android
merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi,
middleware dan aplikasi kunci yang di-release oleh Google. Saat ini disediakan
Android SDK (Software Development Kit) sebagai alat bantu dan API untuk
mengembangkan
aplikasi
pada platform
Android
menggunakan
Bahasa
pemrograman Java. Sebagai platform Android aplikasi – netral, Android memberi
Anda kesempatan untuk membuat Aplikasi yang kita butuhkan yang bukan
merupakan aplikasi bawaan Handphone/Smartphone
2.2.8.3 ADT (Android Development Tools)
Safaat (2012), juga memaparkan bahwa Android Development Tools
(ADT)
adalah plug-in yang didesain untuk IDE Eclipse yang memberi kita
kemudahan dalam mengembangkan aplikasi Android dengan menggunakan IDE
Eclipse. Dengan menggunakan ADT untuk Eclipse, ini akan memudahkan kita
dalam membuat aplikasi project Android, membuat GUI aplikasi, dan
menambahkan komponen – komponen yang lainnya. Selain itu kita juga
dapat melakukan running aplikasi menggunakan Android SDK melalui
Eclipse. Dengan ADT kita juga dapat melakukan pembuatan package Android
(.apk) yang digunakan untuk distribusi aplikasi Android yang kita rancang.
2.2.9 Java
Menurut
Bambang
(2005),
OOP (Object
Oriented
Programming –
Pemrogram Berorientasi Objek) merupakan semua aspek yang terdapat di Java
adalah Objek . Java merupakan salah satu bahasa pemrograman berbasis oebjek
secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object.
Hal
ini
sangat
memudahkan
pemrogram
untuk
mendesain,
membuat,
mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java
secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java
sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi
yang advance seperti komunikasi antara komputer sekalipun. Dalam OOP
mempunyai ciri-ciri dan beberapa konsep penting, seperti Object, Class,
Method, Enkapsulasi, Inheritance, dan Polimorfisme. Berikut penjelasan cirri-ciri
OOP tersebut :
1. Object
Object adalah elemen dasar dari konsep pemrograman, merupakan sesuatu
yang memiliki identitas (nama), pada umumnya juga memiliki data tentang
dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu
dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang
ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor,
meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata.
Setiap object memiliki dua karakteristik yang utama yaitu, atribut dan behavior.
Atribut merupakan status object dan behavior merupakan tingkah laku dari object
tersebut.
2. Class
Class berbeda dengan object. Class merupakan prototipe, blue print, ataupun
template dengan kata lain Class adalah representasi abstrak dari suatu objek,
sedangkan objek adalah representasi nyata dari Class ataupun perwujudan
(instance) dari suatu class.
3. Method
Method adalah fungsi dan prosedur atau behavior dari suatu objek atau juga
sebuah tindakan (implementasi) dari sebuah object . Contohnya pada Komputer
seperti cara mematikan, cara menghidupkan, cara menyimpan, menghapus data
dan lain-lain.
4.
Inheritance
Pewarisan atau inheritance adalah sebuah kelas mewarisi state dan behavior
dari kelas lain. Contohnya kelas komputer laptop akan mewarisi state dan
behaviour dari kelas komputer. Demikian juga dengan kelas komputer netbook.
Kelas komputerLaptop dan kelas komputerNetbook disebut subkelas, atau kelas
anak, dari kelas komputer , yang disebut superkelas,atau kelas Induk. Kegunaan
konsep pewarisan antara lain :
a. Dapat membuat superkelas yang hanya mendefinisikan behaviour namun
tidak memberi implementasi dari metode-metode yang ada.
b. Dapat menggunakan kembali kelas-kelas yang kita buat (sebagai
superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut
dengan karakteristik yang lebih khusus dari behaviour
umum yang
dimiliki superkelas.
Hal ini berguna jika kita ingin membuat prototype/template kelas. Kelas
semacam ini disebut kelas abstraksi, karena behaviour nya masih abstrak dan
belum diimplementasikan. Subkelas-subkelas dari kelas semacam ini, yang
disebut kelas konkret/nyata, mengimplementasikan behaviour abstrak tersebut
sesuai dengan kegunaan masing-masing.
5. Enkapsulasi
Enkapsulasi secara definisi adalah mekanisme pembungkusan untuk
menyembunyikan atau melindungi suatu proses dari kemungkinan interferensi
atau penyalahgunaan dari luar sistem juga sekaligus menyederhanakan
penggunaan system itu sendiri. Akses ke internal sistem diatur sedemikian rupa
melalui
seperangkat
saat menyalakan,
interface/antarmuka.
mematikan,
pembacaan
Contohnya
data,
Komputer,
pemrosesan
data
pada
maka
pemakai/user tidak perlu tahu detail dari bagaimana proses menyalakan dan
mematikan, itu dilakukan oleh komputer, cukup tahu bagaimana cara
menyalakan/mematikan komputer , keyboard, mouse, tombol power merupakan
interface (antar muka) pemakai dengan sistem komputer tersebut.
6. Polymorphism
Polymorphism sebuah kata dari bahasa Yunani yang mempunyai arti banyak
bentuk., konsep ini dimungkinkan untuk menggunakan suatu interface yang sama
agar suatu objek melakukan aksi atau tindakan yang mungkin secara prinsip sama
tapi secara proses bisa berbeda-beda. Pada umumnya konsep ini sering kali
disebut dalam istilah satu interface banyak aksi. Contoh yang nyata adalah.
komputer yang ada dipasaran terdiri atas berbagai tipe dan merk, namun
semuanya memiliki interface yang sama, seperti: tombol power, keyboard,
mouse, monitor dlsb,. Jika seseorang dapat mengoperasikan komputer satu jenis
saja dari merk tertentu, maka orang itu akan dapat mengoperasikan hampir
seluruh jenis komputer yang ada, karena semua komputer tersebut menggunakan
interface yang sama. Perlu diketahui disini bahwa interface yang sama tidak
berarti cara kerjanya juga sama. Misal kecepatan/speed komputer, kapasitas
memory penyimpan, jika dibandingkan komputer 1 dan komputer 2 maka
kecepatan komputer berbeda
2.2.10 Eclipse
Menurut Alfa (2012), Eclipse adalah sebuah IDE (Integrated Development
Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan
disemua platform (platform-independent).
Eclipse memiliki tiga sifat yaitu multi platform yakni eclise memiliki target
sistem operasi seperti Microsoft Windows, Linux, Solaris, AIX, HP-UX, dan Mac
OS X. Eclpipse juga memiliki sifat multi language dimana eclipse dikembangkan
menggunakan Bahasa pemrograman Java, akan tetapi eclipse mendukung
pengembangan aplikasi berbasis Bahasa lainnya seperti C/C++, Cobol, Python,
Perl, PHP dan lain sebagainya. Sifat eclipse yang terakhir yaitu multi role, selain
sebagai IDE untuk pengembangan aplikasi, eclipse juga bisa digunakan untuk
aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test
perangkat lunak, pengembangan web dan lain sebagainya.
Dalam pembuatan projek menggunakan eclipse, terdapat banyak folder guna
membangun projek tersebut, antara lain :
1. Src
Folder yang berisi mainactivity.java yang berada dalam package, terlihat
pada Gambar 2.6
Gambar 2.6 Isi folder src
2. Gen
Folder yang di-generate secara otomatis oleh ADT, yang berisi ID untuk
mengakses resource aplikasi yang ada pada folder res, terlihat pada Gambar 2.7
Gambar 2.7 Isi folder gen
3. Android Version
Folder yang menunjukan versi Android yang digunakan, dan termasuk file
Android.jar pada versi Android yang dipakai, terlihat pada Gambar 2.8
Gambar 2.8 Versi Android yang digunakan
4. Assets
Assets merupakan forder yang secara default isinya kosong. Kita dapat
meletakan file aset raw (raw files) yang dapat mendukung jalannya aplikasi. File
tersebut dapat berupa bentuk audio, teks, video, atau ketika berhubungan dengan
database maka file-file seperti SQLite dapat kita letakan dalam folder ini.
5. Res
Folder yang berisi beragam file, seperti string, layout, tampilan, audio,
Gambar. Pada folder res terbagi menjadi subfolder yang terstruktur disesuaikan
dengan kebutuhan ketika proses coding untuk membangun sebuah aplikasi,
terlihat pada Gambar 2.9
Gambar 2.9 Isi folder Res
2.2.11 Pengujian Perangkat Lunak
Faktor pengujian software adalah teknik untuk menguji perangkat lunak,
mempunyai mekanisme untuk menentukan data uji yang dapat menguji perangkat
lunak secara lengkap dan mempunyai kemungkinan tinggi untuk menemukan
kesalahan. Perangkat lunak diuji dengan beberapa cara, yaitu :
1. White Box Testing
Pengujian White Box ( glass box) adalah pengujian yang didasarkan pada
pengecekan
terhadap detail perancangan, menggunakan struktur kontrol dari
desain program secara prosedural untuk membagi pengujian ke dalam beberapa
kasus pengujian.
2. Black Box Testing
Menurut Pressman (2002) Pengujian black box berfokus pada penyerahan
fungsional perangkat lunak dengan demikian pengujian black box memungkinkan
perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang
sepenuhnya menggunakan semua persyaratan fungsional untuk satu program.
Pengujian Black Box
merupakan alternatif dari teknik white box, tetapi
merupakan pendekatan komplementer yang kemungkinan besar mampu
mengungkap kelas kesalahan daripada metode white box. Pengujian Black Box
berusaha menemukan kesalahan dalam ketegori sebagai berikut :
a. Fungsi - fungsi yang tidak benar atau hilang.
b. Kesalahan Interface dan kinerja.
c. Kesalahan dalam struktur data atau akses database ekternal .
e. Inisialisasi dan kesalahan terminasi.
Pengujian Black Box adalah pengujian aspek fundamental sistem tanpa
memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan
untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian
Black Box merupakan metode perancangan data uji yang didasarkan pada
spesifikasi perangkat lunak. Data uji dibangkitkan, dieksekusi pada perangkat
lunak dan kemudian keluaran dari perangkat lunak dicek apakah telah sesuai
dengan yang diharapkan.
Download