BAB II LANDASAN TEORI 2.1 Teori Umum 2.1.1 Konsep Dasar Sistem
2.1.1.1 Pengertian Sistem Jeperson Hutahaean (2015:2) mengungkapkan : Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan kegiatan atau untuk melakukan sasaran yang tertetu. 2.1.2 Konsep Dasar Sistem Informasi 1.1.2.1
Sistem Informasi Sistem informasi dapat didefinisikan sebagai secara teknis sebagai satu
kesatuan yang saling terkait. Komponen yang mengumpulkan, memproses, menyimpan, dan mendistribusikan informasi untuk mendukung pengambilan keputusan dan pengendalian dalam suatu organisasi. Selain mendukung pengambilan keputusan, koordinasi, dan pengendalian, sistem informasi mungkin juga membantu dalam menganalisis masalah, memvisualisasikan subyek yang kompleks.(Kenneth C.Laudon dan Jane P.Laudon 2014:45). 1.1.2.2 Metode Waterfall Menurut Pressman (2015), model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini termasuk kedalam model generic pada rekayasa perangkat lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. 8 http://digilib.mercubuana.ac.id/
9
Fase-fase dalam model waterfall menurut referensi Pressman: 1. Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan. 3. Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan kesebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement. 4. Construction Construction merupakan proses membuat kode. Coding atau pengkodean merupakan
penerjemahan
desain
dalam
bahasa
yang
bisa
dikenali
oleh
komputer.Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki.
http://digilib.mercubuana.ac.id/
10 5. Deployment Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala.Sesuatu yang dibuat haruslah diujicobakan. demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yangdibuat tidak selamanya hanya seperti itu ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan sebelumnya atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya. Kelebihan dari model ini adalah selain karena pengaplikasian menggunakan model ini mudah, kelebihan model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal proyek, maka Software Engineering(SE) dapat berjalan dengan baik dan tanpa masalah meskipun seringkali kebutuhan sistem tidak dapat didefinisikan se-eksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal proyek lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya. 2.1.3
Unified Modeling Language (UML) Unified Modeling Language, atau UML, adalah kumpulan standar teknik diagram
yang menyediakan representasi grafis untuk menggambarkan model pada proyek pengembangan sistem dari analisis pengembangan sistem melalui implementasi. Saat ini sebagian besar analisa sistem berorientasi objek dan pendekatan desain menggunakan UML untuk menggambarkan suatu sistem yang berkembang. UML menggunakan
http://digilib.mercubuana.ac.id/
11 kumpulan diagram yang berbeda untuk menggambarkan berbagai pandangan sistem yang berkembang (Alan Denis, 2012:43). Diagram dikelompokan menjadi dua klasifikasi (Alan Denis, 2015:34), yaitu: a. Diagram struktur, yaitu diagram yang berfungsi untuk menggambarkan struktur data dan relasi diantara data dalam sebuah sistem informasi. Diagram struktur meliputi class, object, package, deployment, component, dan composite structure diagrams. Diagram struktur yang digunakan dalam penelitian ini adalah class diagram. b. Diagram perilaku(behavior) merupakan diagram yang berfungsi untuk menggambarkan kebutuhan fungsionalitas yang dibutuhkan didalam sistem informasi. Diagram perilaku meliputi activity, sequence, communication, interaction overview, timing, behavior state machine, protocol state machine, dan usecase diagram . Diagram perilaku yang digunakan dalam penelitian ini adalah diagram activit , sequence, dan use case. 2.1.4 Use Case Diagram Use Case diagram adalah sebuah cara untuk mewakili cara sebuah sistem berinteraksi dengan lingkunganya. Use case mengilustrasikan aktifitas yang dilakukan user dengan sistem. Use case diagram dianggap sebagai pandangan eksternal atau fungsional dalam proses bisnis bahwa hal itu menunjukkan bagaimana pengguna melihat prosesnya, bukan mekanisme internal dimana proses dan sistem pendukung beroperasi.Sama seperti activity diagram, use case dapat mendokumentasi sistem yang sedang berjalan atau sistem baru yang sedang dalam proses pengembangan. (Alan Dennis, 2015:120)
Tabel 2.1 Simbol-simbol dalam Use Case Diagram (Alan Dennis, 2015:122) Simbol
Nama Simbol
Keterangan Seorang atau sesuatu yang berinteraksi
Actor
dengan sistem.
http://digilib.mercubuana.ac.id/
12 Menggambarkan Use Case
bagaimana
seseorang yang akan menggunakan sistem. Merupakan lingkup subjek misalnya
Subject
sistem atau individu proses bisnis Untuk mendokumentasikan aliran-
*
*
Association
aliran logika dalam setiap use case
Relationship Memungkinkan sesuatu use case <<extend>>
memiliki kemungkinan memperluas Extends
fungsionalitas yang disediakan oleh usecase-nya. Include memungkinkan usecase untuk
<
>
Include
menggunakan
fungsionalitas
yang
disediakan oleh usecase-nya Digunakan Generalization
untuk
memperlihatkan
bahwa beberapa actor atau use case memiliki sesuatu bersifat umum.
2.1.5 Activity Diagram Activity diagram digunakan untuk menggambarkan aktifitas yang terjadi didalam sebuah proses bisnis. Activity diagram dapat digunakan untuk menggambarkan workflow(alur kerja) yang terdapat dalam use case, hingga rincian spesifik dari use case. (Alan Dennis, 2015:130).
http://digilib.mercubuana.ac.id/
13 Tabel 2.2 Simbol-simbol dalam Acivity Diagram (Alan Dennis, 2015:132) Simbol
Nama Simbol
Keterangan Merupakan sebuah gambaran
Activity
Activity
aktivitas yang terjadi. Memisahkan
Swimlane Name
bisnis Swimlane
yang
organisasi bertanggung
jawab terhadap aktifitas yang terjadi Merupakan tanda awal dari
Initial Node
sebuah aktivitas Merupakan
Final Activity Node
tanda
berakhirnya sebuah aktivitas Menunjukkan
Control Flow
eksekuensi Menunjukkan suatu
Object Flow
urutan
aliran
kegiatan
dari (atau
tindakan) untuk kegiatan lain (atau tindakan) Pilihan untuk pengambilan keputusan
Decision Node
http://digilib.mercubuana.ac.id/
14
Merge Node
Membawa
kembali
jalur
keputusan
bersama
yang
berbeda yang dibuat dengan menggunakan
keputusan
simpul Sederhananya,
bagian
perilaku yang tidak terpisah.
Action Action
Ditandai dengan pemberian nama. Digunakan untuk mewakili sebuah benda yang terhubung
Class Name
Object Node
ke satu set objek
yang
mengalir. Merupakan
tanda
menghentikan Final-Flow Node
Aliran kontrol yang spesifik atau aliran objek
2.1.6 Sequence Diagram Sequence diagram
menggambarkan objek yang berpartisipasi di use case
diagram dan pesan yang melewati antara mereka dari waktu ke waktu untuk satu use casenya. Sequence diagram adalah model dinamis yang menunjukan urutan eksplisit dari pesan yang di lewat diantara objek yang telah didefinisikan. Karena sequence diagram menekankan pada time-based ordering pada actifitas yang terdapat pada objek,sequence diagram sangat membantu dalam memahami spesifikasi real-time dan use case yang kompleks (Alan Dennis, 2015:204).
http://digilib.mercubuana.ac.id/
15
Tabel 2.3 Simbol-simbol dalam Sequence Diagram (Alan Dennis, 2015:206) Simbol
Nama Simbol
Keterangan Orang atau sistem yang berasal dari manfaat dan eksternal ke sistem yang
Actor
berpartisipasi dengan
secara
mengirim
berurutan dan/
atau
menerima pesan Berpartisipasi anObject : a Class
dengan Object
secara
mengirim
berurutan dan/
atau
menerima pesan yang ditempatkan diatas diagram Menyatakan objek dalam keadaan
Execcution Occurence
aktif dan berinteraksi pesan Pesan
yang
mengambarkan
komunikasi yang terjadi antar objek. Panggilan operasi ditandai dengan
aMessage()
pesan yang dikirim sebuah panah yang tebal, sedangkan kembalinya ditandai dengan nilai yang akan
Return Value
Message
dikembalikan
dan
ditampilkan
sebagai panah putus-putus. Menyatakan kehidupan suatu objek Lifeline
http://digilib.mercubuana.ac.id/
16 Mewakili tes yang harus dipenuhi (aGuardCondition):
Guard Condition
untuk pesan yang akan dikirim.
aMessage X adalah tempat di akhir masa obyek untuk menunjukkan bahwa itu akan For object destruction
Context
Frame
keluar dari eksistensi
Menunjukkan isi
dari sequence
diagram.
2.1.7 Class Diagram Class Diagram merupakan model statis yang menggambarkan kelas dan relasi antar kelas yang konstan di dalam sistem dari waktu ke waktu. Class diagram menggambarkan kelas, yang mencakup perilaku dan kedudukan, dengan hubungan antar kelas (Alan Dennis, 2015:176).
Tabel 2.4 Simbol-simbol dalam Class Diagram (Dennis, 2015:178) Simbol
Nama Simbol
Keterangan Merupakan jenis orang, tempat,
Class 1
Class
+atribut1
atau hal tentang sistem yang akan perlu
untuk
menangkap
dan
menyimpan informasi.
attribute
name/derived Attribute
attribute name
Merupakan
property
menjelaskan keadaan objek.
http://digilib.mercubuana.ac.id/
yang
17
Operation operation name ()
AssociatedWith 0..*
I
Merupakan tindakan atau fungsi bahwa kelas dapat melakukan.
Merupakan Association
hubungan
antara
beberapa kelas, atau sebuah kelas dan dirinya sendiri.
Generalization
Merupakan
sebuah
hubungan
antara beberapa kelas.
Merupakan 0..*
IsPartOf I
Aggregation
logikadari
sebuah
bagian
hubunganantara
beberapa kelas atau sebuah kelas dan dirinya sendiri.
Merupakan I..*
IsPartOf I
Composition
bagian
fisik
dari
hubungan antara beberapa kelas atau sebuah kelas dan dirinya sendiri.
2.2 Pemograman Berorientasi Objek Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi
http://digilib.mercubuana.ac.id/
18 data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsipprinsip pengelolaan kompleksitas. Metodologi berorientasi objek berfokus dalam menangkap struktur dan perilaku dalam sebuah sistem informasi dalam bentuk modul kecil yang mencakup data dan proses. Modul kecil ini dikenal sebagai sebuah objek .Objek merupakan sebuah inisiasi sebuah classatau dengan kata lain diartikan sebagai seseorang atau sebuah tempat atau sesuatu yang kita ingin tankap informasinya. (Alan Dennis ,2015:19). Berikut beberapa keuntungan menggunakan metodologi berorientasi objek yang diungkapkan oleh Alan Dennis (2015:100) : 1. Memungkinkan analis untuk membagi sebuah sistem yang kompleks menjadi beberapa bagian kecil yang lebih mudah terorganisir dan dengan mudah dikerjakan dalam bentuk sebuah modul. 2. Membuat proses pengembangan sistem menjadi lebih mudah karena pembagian modul pekerjaan sehingga jelas apa yang akan dikerjakan. 3. Pembagian modul tersebut juga memudahkan dalam membagi tugas dengan pengembang projek lainya 4. Memudahkan dalam mengkomunikasikan proses pengembangan sistem dengan user yang membutuhkan penjelasan bagaimana proses pengembangan sistem dapat sesuai dengan kebutuhan.
2.2.1 PHP (Hypertext Preprocessor) PHP adalah bahasa pemograman yang digunakan agar server dapat membuat keluaran-keluaran (output-output) dinamis yang bila diakses oleh browser dapat berubah sewaktu-waktu apabila diakses. (Robin Nixon, 2015:45). Terdapat beberapa kelebihan PHP (Robin Nixon, 2014:5) ,yaitu diantaranya :
http://digilib.mercubuana.ac.id/
19 1. Kemudahan dalam membangun elemen dinamis pada website.(simplicity). 2. Terhubung baik dengan MySQL bila dikombinasikan dalam menjalankan proses menyimpan dan mengambil data. 3. Bahasa pemograman yang fleksibel dalam penempatan script-scripst kodinganya. 4. Relatif cepat dalam melakukan compile program.
2.2.2 Basis Data (Database) Database adalah sebuah mesih yang memiliki koleksi simbol dan variabel yang terorganisir. Database juga machine-updatable . Database biasanya tersedia untuk komunitas pengguna, dengan persyaratan yang berbeda beda (Hugh Darwen, 2014:14). Pengertian lain dari database, Menurut Edhy Sutanta (2011:29) basis data sebagai suatu kumpulan data terhubung (terrelated data) yang disimpan secara bersamasama pada suatu media, tidak perlu suatu kerangkapan data (jika ada maka kerangkapan data itu harus seminimal mungkin dan terkontrol), data disimpan dengan cara-cara tertentu sehingga mudah digunakan atau ditampilkan kembali; data dapat digunakan oleh satu atau lebih program-program operasi secara optimal; data dapat disimpan tanpa mengalami ketergantungan kepada program yang akan menggunakannya; data disimpan sedemikin rupa sehingga proses penambahan, penganbilan, dan modifikasi data dapat dilakukan dengan mudah dan terkontrol.
2.2.3 MySQL Menurut Robin Nixon (2014:171) basis data adalah kumpulan data terstruktur yang tersimpan dalam sistem komputer dan kelola dengan sedemikian rupa sehingga dapat dengan cepat mencari data tersebut dan informasi yang terkandung didalamnya dapat dengan cepat didapatkan. SQL dalam MySQL adalah Structured Query Language. Bahasa ini berdasar pada bahasa inggris dan digunakan juga dalam basis data lainnya seperti Oracle dan Microsoft SQL Server. SQL ini digunakan untuk menulis perintah pada basis data.
http://digilib.mercubuana.ac.id/
20 Tabel 2.5 Tipe-Tipe Data MySQL Tipe Data
Deskripsi
Contoh
mendefinisikan INT
VARCHAR(n)
CHAR(n)
yang
akan
ID INT
menyimpan data angka
Umur INT
field yang menyimpan teks dengan
Nama VARCHAR(20)
panjang maksimal sebanyak n huruf
alamat VARCHAR(30)
field yang menyimpan data berupa teks nama CHAR(20) atau string dengan panjang kurang dari n alamat CHAR(30) huruf. Jika data yang dientri kurang dari n maka sisanya akan diisi dengan spasi kota CHAR(10) mendefinisikan
TEXT
field
field
yang
mampu Catatanguru TEXT
menyimpan karakter sebanyak antara 255 – 65535 huruf mendefinisikan
TIME
field
yang
mampu Jampelajaran TIME
menyimpan tentang waktu dalam format HH : MM : SS dengan H adalah jam, M adalah menit dan S adalah detik mendefinisikan
field
yang
mampu
menyimpan tentang tanggal dengan DATE
format YYYY : MM : DD dengan Y Tgllahir DATE adalah tahun, M adalah bulan, dan D adalah tanggal
2.2.4 Pengujian Sistem Menurut Rod Stephend (2015:184), pengujian sistem adalah menjalankan sistem secara keseluruhan. Idealnya, setiap bagian sistem diuji untuk menemukan bugs
http://digilib.mercubuana.ac.id/
21 sebanyak mungkin. Pengujian sistem secara menyeluruh menguji setiap kemungkinan yang bisa terjadi dalam sistem tersebut. Black Box Testing Menurut Rod Stephend (2015:187), Black Box Testing merupakan tipe pengujian sistem dimana penguji seperti tidak bisa mengintip kedalam sistem tersebut. Penguji tahu apa yang seharusnya dilakukan oleh sistem, tapi tidak tahu cara kerjanya. Penguji kemudian memasukan berbagai macam input untuk melihat apa yang akan dilakukan sistem tersebut. Penguji dapat memulai dengan memasukan nilai secara acak, kemudian melihat bagamina sistem merespon masukan tersebut, apakah terjadi error, data duplikat, dan sebagainya. 2.3 Teori Khusus 2.3.1 Pariwisata Menurut Tri Maya (2010,p5) Pariwisata adalah suatu perjalanan yang dilakukan untuk rekreasi atau liburan. Yang ditunjukkan dengan adanya perjalanan yang singkat dan sementara dari orang – orang menuju daerah tujuan wisata diluar tempat kebiasaan mereka hidup dan bekerja dan diluar kegiatan mereka.
http://digilib.mercubuana.ac.id/