BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem Informasi 2.1.1 Pengertian Sistem Ada dua pendekatan dalam mendefinisikan sistem, yaitu menekankan pada prosedurnya dan menekankan pada komponen atau elemennya. Pengertian sistem yang lebih menekankan pada prosedurnya menurut (Jogiyanto HM, 2005: 1), “Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersamasama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu”. Sedangkan pengertian sistem yang lebih menekankan pada elemen atau komponennya didefinisikan sebagai berikut, sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu. (Jogiyanto HM, 2005: 2) 2.1.2 Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu mempunyai komponen-komponen (compoenents), batas sistem (boundary), lingkungan luar sistem (environment), penghubung (interface), masukan (input), keluaran (output), pengolah (process) dan sasaran (objectives) atau tujuan (goal). (Jogiyanto HM, 2005: 3). a. Komponen sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk suatu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. b. Batas sistem Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan dan menunjukan ruang lingkup dari sistem tersebut.
6
http://digilib.mercubuana.ac.id/
7
c. Lingkungan luar sistem Adalah apapun di luar batas dari sistem yang mempunyai operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapt juga bersifat merugikan sistem tersebut. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedangkan lingkungan luar yang merugikan harus ditahan dan dikendalikan, jika tidak maka akan mengganggu kelangsungan hidup dari sistem. d. Penghubung sistem Media yang menghubungkan antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran dari satu subsistem akan menjadi masukan untuk subsistem yang lainnya dengan melalui penghubung. e. Masukan sistem Energi yang dimasukkan ke dalam sistem, masukan dapat berupa masukan perawatan dan masukan sinyal maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat berjalan dan merupakan suatu proses untuk mendapatkan hasil keluaran sistem. f.
Keluaran sistem Hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna.
g. Pengolah sistem Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. h. Sasaran sistem atau Tujuan sistem Suatu sistem yang mempunyai tujuan atau sasaran sistem tidak mempunyai sasaran maka sistem tidak akan ada, suatu sistem dapat dikatakan berhasil bila mengenai sasaran atau tujuannya. 2.1.3 Klasifikasi Sistem Sistem dapat di klasifikasikan dari beberapa sudut pandangan diantaranya adalah sebagai berikut ini: (Jogiyanto HM, 2005:6). 1. Sistem diklasifikasikan sebagai sistem abstrak (abstract system) adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik atau hubungan
http://digilib.mercubuana.ac.id/
8
manusia dengan manusia dan sistem fisik adalah sistem yang nyata secara fisik misalnya: komputer atau yang dapat diketahui didalam input, proses, dan hasil akhirnya sebagai output 2. Sistem diklasifikasikan sebagai sistem alamiah (natural system) adalah sistem yang datang dari proses alam tidak dibuat oleh manusia dan sistem buatan manusia adalah sistem yang dibuat oleh manusia, sehingga manusia berhubungan dan berinteraksi dengan mesin. 3. Sistem diklasifikasikan sebagai sistem tertentu (deterministic system) adalah sistem yang tingkah lakunya dapat dipastikan oleh program-program yang dijalankannya dan sistem tak tentu adalah sistem yang tidak dapat diprediksikan karena mengandung unsur probabilitas. 4. Sistem diklasifikasikan sebagai sistem tertutup (closed system) adalah sistem yang tidak berhubungan dan tidak berpengaruh dengan lingkungan luarnya. Sistem terbuka (open system) adalah sistem yang berhubungan dan terpengaruh oleh lingkungan luar. 2.1.4 Pengertian Sistem Informasi Pengertian sistem informasi menurut Jogiyanto HM di dalam bukunya yang berjudul Analisis dan Desain Sistem Informasi (Jogiyanto HM, 2005:11) mengatakan bahwa: Sitstem informasi adalah suatu sistem di dalam suatu organisasi yang memeprtemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan. 2.1.5 Komponen Sistem Informasi Sistem informasi dapat terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block), yaitu blok masukan (input block), blok model (model block), blok keluaran (output block), blok teknologi (technology block), dan blok kendali (control block). Sebagai suatu sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. (Jogiyanto HM, 2005: 12-13).
http://digilib.mercubuana.ac.id/
9
2.1.6 Pengertian Sistem Informasi Akademik Akademik berasal dari kata akademi. Menurut Kamus Besar Bahasa Indonesia (Tim Pustaka Phoenix, 2012) akademi artinya “Sekolah tinggi yang mengajarkan suatu pengetahuna/keahlian khusus, missal: kepolisisan, militer, seni rupa dll; lembaga pendidikan tinggi yang mendidik tenaga profesi kurang lebih tiga tahun lamanya”. Sehingga dapat disimpulkan bahwa sistem informasi akademik adalah suatu sistem yang mempertemukan komponen-komponen dalam sistem informasi yang berada di dalam suatu lembaga pendidikan(sekolah) dalam hal ini adalah SMK Patriot 1 Bekasi.
2.2 Analisa dan Perancangan Perangkat Lunak Model air terjun (waterfall) kadang dinamakan siklus hidup klasik (classic life cycle), dimana hal ini menyiratkan pendekatan yang sistematis dan berurutan (sekuensial) pada pengembangan perangkat lunak yang dimulai pada spesifikasi kebutuhan pengguna dan berlanjut melalui tahapan-tahapan perencanaan (planning), pemodelan (modeling) konstruksi (construction), serta penyerahan sistem/perangkat lunak ke para pelanggan/pengguna (deployment). (Roger S. Pressman, 2012: 46)
Analisis Kebutuhan
Desain Sistem
Coding dan Testing
Implementasi Program
Pemeliharaan Program
Gambar 2.1 Tahapan Metode Waterfall
http://digilib.mercubuana.ac.id/
10
Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut: analisa, design, code dan testing, penerapan dan pemeliharaan. 1. Analisa kebutuhan Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa malakukan sebuah penelitian, wawancara atau studi literature. Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan sistem. 2. Desain sistem Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding.
Proses ini berfokus pada:
struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) procedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement. 2. Coding dan testing Coding merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa diperbaiki. 4. Penerapan program Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan analisa, design dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. 5. Pemeliharaan program Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan.
Perubahan tersebut bisa karena mengalami kesalahan karena perangkat
lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional. (Roger S. Pressman, 2002: 38)
2.3 UML (Unified Modelling Languange) UML (Unified Modelling Language) adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek.(Munawar, 2005: 17)
http://digilib.mercubuana.ac.id/
11
UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan. 1.3.1 Diagram UML Menurut Munawar UML (Unified Modeling Language) terdapat beberapa tipe diagram seperti yang tertulis di dalam tabel di bawah Tabel 2.1 Tipe Diagram UML (Munawar, 2005 : 23) Diagram
Tujuan
Activity
Perilaku procedural dan parallel
Class
Class, fitur, dan relasinya
Communication
Interaksi diantara obyek. Lebih menekankan ke link
Component
Struktur dan koneksi dari komponen
Composite structure
Dekomposisi sebuah class saat runtime
Deployment
Penyebaran/instalasi ke client
Interaction overview
Gabuangan antara activity dan sequence diagram
Object
Contoh konfigurasi instance
Package
Struktur hirarki saat kompilasi
Sequence
Interaksi antar obyek, lebih menekankan urutan
State machine
Bagaimana even mengubah sebuah obyek
Timing
Interaksi antar obyek. Lebih menekankan pada waktu
Use case
Bagaimana user berinteraksi dengan sebuah sistem
http://digilib.mercubuana.ac.id/
12
2.3.2 Use Case Diagram Use Case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna.Use Case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai.(Munawar, 2005: 63) Use Case Diagram menunjukkan 3 aspek dari sistem yaitu actor, use case dan system / sub system boundary.Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan Use Case. Gambar dibawah ini mengilustrasikan actor, use case dan boundary.
Catat Booking
<
>
Batalkan Booking Resepsionis
<>
Tampilkan Booking
<>
Transfer Meja Staf
<>
Catat Kedatangan
<>
Catat yang Langsung Datang Pelayan
Gambar 2.2 Contoh Use Case Sistem Restoran (Munawar, 2005: 69)
http://digilib.mercubuana.ac.id/
13
2.3.3 Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. (Munawar, 2005: 109) Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaanya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Berikut adalah symbol-simbol yang ada pada activity diagram. Tabel 2.2 Simbol-Simbol Activity Diagram. (Munawar, 2005: 109)
Simbol
Keterangan
Titik awal
Titik akhir
Activity
pilihan untuk pengambilan keputusan
fork : digunakan untuk menunjukn kegiatan yang dilakukan secara parallel atau untuk meggabungkan dua kegiatan parallel menjadi satu
<no send action>
Tanda pengiriman
http://digilib.mercubuana.ac.id/
14
Pengiriman
Cutomer service
Keuangan
*
Terima Order
Isi Order
Kirim Invoice (Order::sendinvoice)
Deliver Order
Terima pembayaran
Close Order *
Gambar 2.3 Contoh Activity Diagram Order Barang (Munawar, 2005: 113) 2.3.4
Sequence Diagram Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario.
Diagram ini menunjukkan sejumlah contoh obyek dan message yang diletakkan diantara obyek-obyek ini di dalam use case. (Munawar, 2005: 87) Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progrees vertical.
http://digilib.mercubuana.ac.id/
15
Tabel 2.3 Simbol-Simbol Sequence Diagram (elib.unikom.ac.id/files/disk1/445/10.11.12)
Notasi
Keterangan
Object (Partisipan)
Object atau biasa juga disebut partisipan merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama objek didalamnya yang diawali dengan sebuah titik koma.
Actor
Lifeline
Activation
Message
Actor juga dapat berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom. Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah objek. Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada Activation sebuah lifeline. Activation mengindikasikan sebuah objek yang akan melakukan sebuah aksi. Message, digambarkan dengan anak panah horizontal antara Activation. Message mengindikasikan komunikasi antara object-object
http://digilib.mercubuana.ac.id/
Simbol
: Object1
16
Gambar 2.4 Contoh Sequence Diagram pada mesin ATM (adesta2008.files.wordpress.com/2008/11/10.11.12)
2.3.5
Class Diagram
Class, dalam notasi UML digambarkan dengan kotak. Nama class menggunakan huruf besar di awal kalimatnya dan diletakkan diatas kotak. Bila class mempunyai nama yang terdiri dari 2 suku kata atau lebih, maka semua suku kata digabungkan tanpa spasi dengan huruf awal tiap suku kata menggunakan huruf besar. ( Munawar, 2005 : 35 )
http://digilib.mercubuana.ac.id/
17
Tabel 2.4 Notasi Pada Class Diagram (angew.info/files/Tutorial_UML/25.12.12) Notasi
Nama Simbol Class
Class1
Keterangan adalah
Class
blok-blok
pembangun
pada
pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian
tengah
mendefinisikan
property/atribut
class. Bagian akhir mendefinisikan method-method dari sebuah class.
0..1
1
Assosiation
Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan
juga
dapat
menampilkan
hukum-hukum
multiplisitas pada sebuah relationship (Contoh: One-to-one, one-to-many, many-to-many). Dependency
Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan
dependency
digunakan
untuk
menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
http://digilib.mercubuana.ac.id/
18
Gambar 2.5 Contoh Class Diagram transaksi pembelian barang (riah-ukurginting.web.ugm.ac.id/10.11.12)
2.4 Konsep Dasar PHP 2.4.1
Definisi PHP PHP atau PHP Hypertext Preprocessor, adalah sebuah bahasa pemrograman web
berbasis server (server-side) yang mampu memparsing kode php dari kode web dengan ekstensi .php, sehingga menghasilkan tampilan website yang dinamis di sisi client atau browser. (Edi Winarno dkk. 2011: 4)
2.4.2
Skrip PHP dalam HTML Skrip PHP dimasukan ke dalam kode HTML. Untuk membedakan kode PHP dengan
kode HTML, di depan kode php di beri tag pembuka dan di akhir kode PHP diberi tag penutup. Dengan adanya kode PHP, sebuah halaman web bisa melakukan banyak hal yang dinamis, seperti mengakses database, membuat gambar, membaca dan menulis file, dan sebagainya. Hasil akhir pengolahan kode PHP akan dikembalikan lagi dalam bentuk kode HTML untuk ditampilkan di browser. (Edi Winarno dkk. 2011: 6)
http://digilib.mercubuana.ac.id/
19
2.5 Pengertian MySQL MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language). MySQL memiliki dua bentuk lisensi, yaitu freesoftware dan shareware. MySQL yang biasa kita gunakan adalah MySQL freesoftware yang berada di bawah lisensi GNU/GPL(General Public License).(Bunafit Nugroho,2004: 1) 2.5.1 Tipe data pada My SQL MySQL memiliki tipe data yang cukup banyak yang dapat dikategorikan dalam tiga kelompok yaitu : 1. Tipe Numeric :Tinyint, Smallint, MediumInt, Integer, BigInteger, Float, Double, Real, Decimal. 2. Tipe tanggal dan waktu : DateTime, Date, TimeStamp, Time, Year. 3. Tipe String :Char, Varchar, TinyBlob, TinyText, Blob, Text,MediumBlob, MediumText, LongBlob, LongText.
2.6 Framework Codeigniter(CI) CodeIgniter
adalah aplikasi
open
source
berupa
framework
dengan
membangun website dinamis
dengan
model MVC (Model,
View,
menggunakan PHP.
CodeIgniter memudahkan developer untuk membuat aplikasi web
Controller)
untuk
yang
dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir 2.1.2 yang dirilis pada 29 Juni 2012.(id.wikipedia.org). Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi atau prosedurprosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang pemrogram, tanpa harus membuat fungsi dan class dari awal. Ada beberapa alasan mengapa menggunakan framework: 1. Mempercepat dan mempermudah pembangunan sebuah aplikasi web 2. Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
http://digilib.mercubuana.ac.id/
20
3. Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga programmer tidak perlu membangun dari awal (misalnya validasi, pagination, pengaturan session, error handling dan lain-lain) 2.6.1 Pengertian MVC (Model View Controller) Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan apliaksi web, berawal pada bahasa pemrograman yang small talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulsai data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membngun suatu MVC pattern dalam suatu aplikasi yaitu: 1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. 2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menetukan apa yang akan diproses oleh aplikasi. Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintainability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.
http://digilib.mercubuana.ac.id/