BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

advertisement
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Sistem Informasi
Sistem informasi adalah sebuah kombinasi teratur apapun dari orang-orang,
hardware, software, jaringan komunikasi, dan sumber daya data yang
mengumpulkan, mengubah, dan menyebarkan informasi dalam sebuah organisasi.
(O’Brien, 2005)
Sistem informasi merupakan serangkaian prosedur formal dimana data
dikumpulkan, diproses menjadi informasi dan didistribusikan ke para pengguna.
(Hall, 2006)
Dari definisi-definisi diatas dapat disimpulkan bahwa sistem informasi
adalah kombinasi yang teratur apapun dari orang-orang, hardware, software,
jaringan komunikasi, dan sumber daya data yang mengumpulkan, memproses,
menyimpan, dan menyebarkan informasi ke dalam sebuah organisasi untuk
mencapai tujuan tertentu yang berguna untuk memproses data menjadi informasi
dan pengetahuan.
2.2 Basis Data
Basis Data adalah kumpulan file-file yang mempunyai kaitan antara saru file
dengan file yang lainnya sehingga membentuk satu bangunan data untuk
mengkonfirmasikan satu perusahaan, instansi dalam batasan tertentu. (Kristanto,
2003)
Basis data merupakan kumpulan dari data yang saling berhubungan satu
dengan yang lain, tersimpan di perangkat keras komputer dan digunakan
perangkat
keras
komputer
dan
digunakan
perangkat
lunak
untuk
memanipulasinya. (Jogiyanto, 2001)
Dalam basis data dikenal pula DBMS (Database Management Sistem)
adalah paket perangkat lunak yang komplek yang digunakan untuk memanipulasi
database. (Jogiyanto, 2001)
7
Dari pengertian sistem informasi dan basis data di atas, dapat diambil
kesimpulan bahwa sistem informasi basis data merupakan sistem ang terdiri atas
kumpulan file yang saling berhubungan (dalam sebuah basis data di sebuah sistem
komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa
pemakai dan/atau program lain untuk mengakses dan memanipulasi file-file
tersebut. (Fathansyah, 2001)
2.3 My Structured Query Language (MySQL)
MySQL (My Structured Query Language) adalah relational database
management sistem yang cepat dan kuat. Sebuah baris data dapat membuat
pengguna untuk menyimpan, mencari, mengurutkan, dan mendapatkan data
dengan sangat efisien. Server MySQL mengendalikan akses kedalam data untuk
memastikan bahwa para pengguna dapat bekerja dalam waktu yang bersamaan,
untuk mendukung akses secara cepat dan memastikan hanya pengguna yang telah
terisolasilah yang mendapatkan hak akses.
MySQL menggunakan bahasa SQL (Structured Query Language), yaitu
bahasa query basis data yang baku bagi seluruh dunia. MySQL kembali
diduplikasikan sejak tahun 1996, tetapi sejarah pengembangannya telah dilakukan
dari tahun 1979. MySQL tersedia dengan lisensi open source, tetapi lisesnsi
komersialpun tersedia apabila diperlukan. (Welling dan Thompson, 2001)
8
2.4 Hypertect Markup Language (HTML)
HTML (Hypertext Markup Language) merupakan suatu script dimana kita
bisa menampilkan informasi dan daya kreasi kitamelalui internet. HTML sendiri
adalah suatu dokumen teks biasa yang mudah untuk dimengerti dibandingkan
bahasa pemrograman lainnya, dan karena bentuknyaitu maka HTML dapat dibaca
oleh platform yang berlainan seperti windows,unix dan lainnya. (Sampurna, 1996)
HTML merupakan bahasa pemrograman fleksibel dimana kita bisa
meletakkan script dari bahasa pemrograman lainnya, seperti JAVA, VB, C, dan
lainnya.
Hypertext dalam HTML berarti bahwa kitadapat menuju ke suatu
tempat, misal website atau halaman homepage lain, dengan cara memilih suatu
link yang biasanya digaris bawahi atau diwakili oleh suatu gambar. Selain link ke
website atau homepage halaman lain, hypertext ini juga mengizinkan kita untuk
menuju ke salah satu bagian dalam satu teks itu sendiri.
2.5 PHP Hypertext Preprocessor
PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa
pemrograman berbasiskan kode
–
kode
(script)
yang digunakan untuk
mengelola suatu data dan mengirimkannya kembali ke web browser menjadi
kode HTML. (Oktavian, 2010)
PHP merupakan bahasa pemrograman untuk membuat
web
bersifat
server side scripting. PHP memungkinkan anda untuk membuat halaman web
yang bersifat dinamis. PHP dapat dijalankan pada berbagai macam sistem operasi
misalnya: Windows, Linux dan Mac OS. SelainApache, PHP juga mendukung
beberapa web server lain, misalnya Microsoft IIS, Caudium, PWS, dan lain – lain.
(Ramadhan, 2006)
PHP adalah sebuah bahasa pemrograman scripting
untuk membuat
halaman web yang dinamis. Walaupun dikenal sebagai bahasa untuk membuat
halaman web, tapi PHP sebenarnya juga digunakan untuk membuat aplikasi
command linedan juga GUI. (Zaki, 2008)
Berdasar teori - teori yang didapatkan, dapat disimpulkan bahwa PHP
adalah Hypertext Preprocessor, bahasa pemrograman berbasis kode – kode untuk
9
membuat halaman web yang dinamis dan berfungsi pada berbagai macam sistem
operasi, dan mendukung beberapa web server. Disamping itu PHP juga dapat
digunakan untuk membuat aplikasi command line dan juga GUI.
2.6 Quick Response (QR) Code
QR Code adalah suatu jenis kode matriks atau kode batang dua dimensi
yang dikembangkan oleh Denso Wave, sebuah divisi Denso Corporation yang
merupakan sebuah perusahaan Jepang dan dipublikasikan pada tahun 1994
dengan fungsionalitas utama yaitu dapat dengan mudah dibaca oleh pemindai. QR
Code merupakan singkatan dari quick response atau respons cepat, yang sesuai
dengan tujuannya adalah untuk menyampaikan informasi dengan cepat dan
mendapatkan respons yang cepat pula, berbeda dengan kode batang, yang hanya
menyimpan informasi secara horizontal, QR Code mampu menyimpan informasi
secara horizontal dan vertikal, oleh karena itu secara otomatis QR Code dapat
menampung informasi yang lebih banyak daripada kode batang.
2.7 Android
Android merupakan sistem operasi ponsel yang tumbuh di tengan sistem
operasi lainnya yang berkembang dewasa ini. Sistem operasi lainnya seperti
Windows Mobile, IOS, Symbian, dan masih banyak lagi juga menawarkan
kekayaan isi dan keoptimalan berjalan di atas perangkat keras (hardware) yang
ada. Akan tetapi, sistem operasi yang ada ini berjalan dengan memprioritaskan
aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari
aplikasi pihak ketiga. Oleh karena itu, adanya keterbatasan dari aplikasi pihak
ketiga untuk mendapatkan data asli ponsel, berkomunikasi antar proses serta
keterbatasan distribusi aplikasi pihak ketiga untuk platform mereka. Android
menawarkan sebuah lingkungan yang berbeda untuk pengembang. Setiap aplikasi
memiliki tingkatan yang sama. Android tidak membedakan antara aplikasi inti
dengan aplikasi pihak ketiga. API yang disediakan menawarkan akses ke
hardware, maupun data-data ponsel sekalipun, atau data sistem itu sendiri. Bahkan
pengguna dapat menghapus aplikasi inti dan menggantikannya dengan aplika si
10
pihak ketiga.
Sedangkan Android SDK (Software Development Kit)
menyediakan Tools dan API yang diperlukan untuk mengembangkan aplikasi
pada platform Android dengan menggunakan bahasa pemrograman Java.
2.8 Framework Codeigniter
Framework Codeigniter merupakan salah satu Framework PHP yang
menggunakan kaidah MVC atau Model-View-Controller. MVC adalah sebuah
software yang memisahkan antara aplikasi logika dan presentasi pada halaman
web. Menariknya, skrip PHP, query MySQL, Javascript dan CSS bisa saling
terpisah. Sehingga tidak membutuhkan resource besar untuk mengeksekusinya.
(Basuki, 2010)
Gambar 2. 1 MVC Flowchart
MVC merupakan konsep dasar yang harus diketahui sebelum mengenal
Codeigniter. MVC sebenarnya adalah sebuah pattern/teknik pemrograman yang
memisahkan bisnis logic (alur pikir), data logic (penyimpanan data) dan
presentation logic (antarmuka aplikasi) atau secara sederhana adalah memisahkan
antara desain, data dan proses. Adapun komponen-komponen MVC antara lain:
11
1.
Model
Model berhubungan dengan
data dan interaksi ke database atau
webservice. Model juga mempresentasikan struktur data dari aplikasi yang
bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks, file
XML maupun webservice. Biasanya di dalam model akan berisi class dan
fungsi untuk mengambil, melakukan update dan menghapus data website
Sebuah aplikasi web biasanya menggunakan basis data dalam menyimpan
data, maka pada bagian Model akan berhubungan dengan perintah-perintah
query SQL.
2.
View
View berhubungan dengan segala sesuatu yang akan ditampilkan ke
end-user. Bisa berupa halaman web, rss, javascript dan lain-lain. Kita harus
menghindari adanya logika atau pemrosesan data di view. Di Dalam view
hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View
dapat dikatakan sebagai halaman website yang dibuat dengan menggunakan
HTML dan bantuan CSS atau JavaScript. Di dalam view diharapkan tidak
pernah ada kode untuk melakukan koneksi ke basisdata. View hanya
dikhususkan untuk menampilkan data-data hasil dari model dan controller.
3.
Controller
Controller bertindak sebagai penghubung data dan view. Di dalam
Controller inilah terdapat class-class dan fungsi-fungsi yang memproses
permintaan dari view ke dalam struktur data di dalam Model. Controller juga
tidak boleh berisi kode untuk mengakses basis data karena tugas mengakses
data telah diserahkan kepada model. Tugas controller adalah menyediakan
berbagai variabel yang akan ditampilkann di view, memanggil model untuk
melakukan akses ke basis data, menyediakan penanganan kesalahan/error,
mengerjakan proses logika dari aplikasi serta melakukan Validasi atau cek
terhadap input. Dalam perencanaan pembuatan tugas akhir ini akan
diguanakan sebuah Framework Codeigniter.
Framework
Codeigniter adalah sebuah
PHP yang dapat membantu mempercepat developer dalam
12
pengembangan aplikasi web berbasis PHP dibandingkan jika menulis semua
kode program dari awal.
2.9 Unified Modelling Language (UML)
UML yang merupakan singkatan dari Unified Modelling Language adalah
sekumpulan pemodelan konvensi yang digunakan untuk menentukan atau
menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek.
(Whitten, 2004)
Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar
untuk merancang model sebuah sistem. (Dharwiyanti, 2003). UML menyediakan
macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
1.
Use Case Diagram untuk memodelkan proses bisnis.
2.
Activity Diagram untuk memodelkan perilaku user dan objek di dalam
3.
Sequence Diagram untuk memodelkan pengiriman pesan (message) antar
objek.
4.
Class Diagram untuk memodelkan struktur kelas.
UML dapat juga diartikan sebuah bahasa grafik standar yang digunakan
untuk memodelkan perangkat lunak berbasis objek. UML pertama kali
dikembangkan pada pertengahan tahun 1990an dengan kerjasama antara James
Rumbaugh, Grady Booch dan Ivar Jacobson, yang masing-masing telah
mengembangkan notasi mereka sendiri di awal tahun 1990an. (Lethbridge dan
Leganiere, 2002)
2.10
Use Case Diagram
Use case adalah pemodelan untuk kelakuan (behavior) sistem informasi
yang akan dibuat. Use case mendiskripsikan sebuah interaksi antara satu atau
lebih aktor dengan sistem informasi yang akan dibuat. Use case digunakan untuk
mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa
13
saja yang berhak menggunakan fungsi-fungsi tersebut. (Shalahuddin dan Rosa,
2011). Berikut adalah simbol-simbol yang ada pada diagram use case :
14
Tabel 2. 1 Simbol Use Case Diagram
No
Nama
Keterangan
Actor
Menspesifikasikan himpuan peran yang
pengguna mainkan ketika berinteraksi
dengan use case.
2
Dependency
Hubungan dimana perubahan yang terjadi
pada suatu elemen mandiri (independent)
akan
mempengaruhi
elemen
yang
bergantung padanya elemen yang tidak
mandiri (independent).
3
Generalization
Hubungan dimana objek anak (descendent)
berbagi perilaku dan struktur data dari objek
yang ada di atasnya objek induk (ancestor).
4
Include
Menspesifikasikan bahwa use case sumber
secara eksplisit.
5
Extend
Menspesifikasikan bahwa use case target
memperluas perilaku dari use case sumber
pada suatu titik yang diberikan.
6
Association
Apa yang menghubungkan antara objek satu
dengan objek lainnya.
1
7
8
9
Simbol
Menspesifikasikan paket yang menampilkan
sistem secara terbatas.
Sistem
Use Case
Deskripsi dari urutan aksi-aksi yang
ditampilkan sistem yang menghasilkan
suatu hasil yang terukur bagi suatu aktor
Collaboration
Interaksi aturan-aturan dan elemen lain
yang bekerja sama untuk menyediakan
prilaku yang lebih besar dari jumlah dan
elemen-elemennya (sinergi).
15
2.11
Activity Diagram
Activity diagram menggambarkan workflow atau aktivitas dari sebuah sistem
atau proses bisnis. Activity diagram menggambarkan aktivitas sistem bukan apa
yang dilakukan aktor, jadi aktivitas yang dapat dilakukan sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut :
1.
Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan
merupakan proses bisnis sistem yang didefinisikan.
2.
Urutan atau pengelompokan tampilan dari sistem/user interface dimana
setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
3.
Rancangan pengujian dimana setiap aktivitas dianggap memerlukan
sebuah pengujian yang perlu didefinisikan kasus ujinya. (Shalahuddin dan
Rosa, 2011)
Berikut simbol-simbol yang ada pada activity diagram :
Tabel 2. 2 Simbol Activity Diagram
Simbol
Nama
Keterangan
Initial State
Status awal aktivitas sistem,
sebuah
diagram
aktivitas
memiliki sebuah status awal
Activity
Aktivitas
sistem
yang
aktivitas
dilakukan
biasanya
diawali dengan kata kerja
Decision
Asosiasi percabangan dimana
jika ada pilihan aktivitas lebih
dari satu
Join
Asosiasi
penggabungan
dimana lebih dari satu aktivitas
digabungkan menjadi satu
Simbol
Nama
Keterangan
16
Final State
Status akhir yang dilakukan
sistem,
sebuah
aktivitas
memiliki
diagram
sebuah
status akhir
Swimlane
Memisahkan organisasi bisnis
yang
bertanggung
jawab
terhadap aktivitas yang terjadi
2.12
Sequence Diagram
Sequence diagram adalah suatu diagram yang menggambarkan kelakuan
objek pada use case dengan mendeskripsikan waktu hidup objek dan message
yang dikirimkan dan diterima objek. (Shalahuddin dan Rosa, 2011)
Sequence diagram digunakan untuk menunjukkan interaksi antar objek
dalam
urutan
sekuensial.
Sequence
diagram
sangat
berguna
untuk
mengkomunikasikan bagaimana objek-objek berinteraksi dalam suatu proses
bisnis. Analis sistem umumnya menggunakan sequence diagram untuk
memperjelas use case. (Bell, 2004)
17
Berikut adalah simbol-simbol yang ada pada diagram sequence diagram :
Tabel 2. 3 Simbol Sequence Diagram
Simbol
Nama
Keterangan
Actor/Aktor
Orang, proses atau sistem lain
yang berinteraksi dengan sistem
informasi lain di luar sistem
informasi itu sendiri; biasanya
dinyatakan menggunakan kata
benda di awal frase nama aktor.
Garis hidup
Menyatakan
/ lifeline
objek.
Objek
Menyatakan
kehidupan
suatu
objek
yang
berinteraksi pesan.
Waktu aktif
Menyatakan
objek
dalam
keadaan aktif dan berinteraksi
pesan
Pesan tipe create
Menyatakan
suatu
objek
membuat objek lain, arah panah
mengarah
pada
objek
yang
dibuat.
Pesan tipe
Menyatakan
suatu
objek
Call
memanggil operasi / metode
yang ada pada objek yang dibuat.
Pesan tipe
Menyatakan bahwa suatu objek
Send
mengirimkan
18
data
masukan/informasi
ke
objek
lainnya, arah panah mengarah ke
objek yang dikirim.
Keluaran
Menyatakan bahwa suatu objek
yang telah
menjalankan suatu operasi atau
metode yang menghasilkan suatu
kembalian ke objek tertentu, arah
anak panah mengarah pada objek
yang menerima kembalian.
Pesan tipe
Menyatakan akhir hidup suatu
Destroy
objek.
Boundary
Pemisah
antara
sistem
dan
daerah di luar
sistem (lingkungan)
Control
Metode untuk membuat aplikasi
dengan
memisahkan
data
(Model) dari tampilan (View)
dan
cara
bagaimana
memprosesnya (Controller)
Entity
Sebuah objek yang keberadaanya
dapat
dibedakan terhadap objek lain
2.13
Class Diagram
Class diagram adalah suatu kelas yang menggambarkan struktur sistem dari
segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sebuah sistem.
(Shalahuddin dan Rosa, 2011)
19
Berikut adalah simbol-simbol yang ada pada diagram class diagram :
Tabel 2. 4 Simbol Class Diagram
No
Simbol
Nama
Keterangan
Hubungan
1
Generalization
dimana
objek
anak
(descendent) berbagi perilaku dan
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
2
Upaya untuk menghindari asosiasi
Nary
dengan lebih dari 2 objek.
Association
Himpunan
3
Class
dari
objek-objek
yang
berbagi atribut serta operasi yang
sama.
Deskripsi
4
Collaboration
dari
yanditampilkan
urutan
aksi-aksi
sistem
yang
menghasilkan suatu hasil yang terukur
bagi suatu aktor
Operasi yang benar-benar dilakukan
5
Realization
oleh suatu objek.
Hubungan dimana perubahan yang
terjadi pada suatu elemen mandiri
6
Dependency
(independent)
elemen
akan
mempegaruhi
yang bergantung padanya
elemen yang tidak mandiri
Apa yang menghubungkan antara
7
Association
objek satu dengan objek lainnya
20
Download