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