BAB II LANDASAN TEORI 2.1
Karakteristik dan Pengertian Sistem Suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari
unsur, komponen, atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu menurut Tata Sutabri (2012:10) Sedangkan menurut Gordon B. Davis dalam buku analisis sistem informasi (2012:6) menyatakan bahwa sistem bisa berupa abstrak atau fisik. Sistem abstrak adalah susunan gagasan-gagasan atau konsepsi yang teratur yang saling bergantung. Sistem fisik yaitu serangkaian unsur yang bekerja sama untuk mencapai suatu tujuan. Pendapat lain mengenai sistem menurut Indrajani, S.Kom.,MM (2011:48) menyatakan
bahwa
sistem
adalah sekelompok komponen yang saling
berhubungan dan bekerja sama untuk mencapai tujuan bersama. Prof. Dr. Mr. S. Prajudi juga menyatakan bahwa suatu sistem terdiri atas objek-objek atau unsur-unsur atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengelolahan yang tertentu (2012:7). Dari pengertian diatas dapat disimpulkan bahwa suatu sistem pada dasarnya adalah sekelompok komponen dan elemen yang digabungkan menjadi satu untuk mencapai tujuan tertentu. Menurut Tata Sutabri dalam buku analisis sistem informasi (2012:6) menerangkan bahwa model umum dalam sebuah sistem adalah input, proses dan output. Hal ini merupakan konsep dari sebuah sistem yang sangat sederhana sebab sebuah sistem dapat mempunyai beberapa masukan dan keluaran. Selain itu, sebuah sistem mempunyai karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal tersebut bisa dikatakan sebagai sebuah sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut : a. Komponen sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerja sama membentuk satu kesatuan. Komponen-
6
7
komponen sistem tersebut dapat berupa suatu bentuk subsistem. Setiap subsistem memiliki sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem daoat mempunyai sistem yang lebih besar atau sering disebut “supra sistem”. b. Batasan sistem (boundary) Ruang lingkup sistem merupakan daerah yang membatasi antar sistem dengan sistem yang lain atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisahkan. c. Lingkungan luar sistem (Environtment) Bentuk apapun yang ada diluar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut disebut lingkungan luar sistem. Lingkungan luar sistem ini dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Dengan demikian, lingkungan luar sistem harus tetap dijaga dan dipelihara. Lingkungan luar yang merugikan harus dikendalikan. Kalau tidak, maka akan mengganggu kelangsungan hidup sistem tersebut. d. Penghubung sistem (interface) Media yang menghubungkan sistem dengan sistem lain disebut penghubung sistem atau interface. Penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lain melalui penghubung tersebut. Dengan demikian, dapat terjadi suatu integrasi sistem yang membentuk satu kesatuan. e. Masukan sistem (input) Energi yang dimasukan kedalam sistem disebut masukan sistem, yaitu dapat berupa pemeliharaan (maintenance input) dan sinyal (signal input). Contoh : didalam suatu unit sistem komputer, “program” adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan “data” adalah signal input untuk diolah menjadi informasi.
8
f. Keluaran (output) Hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan dari subsistem yang lain seperti sistem informasi. Keluaran yang dihasilkan adalah informasi. Informasi ini dapat digunakan sebagai masukan untuk pengambilan keputusan atau halhal yang menjadi input bagi subsistem lain. g. Pengolah sistem (process) Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran, contohnya adalah sistem akuntansi, sistem ini akan mengubah data transaksi menjadi laporan-laporan yang dibutuhkan oleh pihak manajemen. h. Sasaran sistem (objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic. Kalau suatu sistem tidak memiliki sasaran maka operasi sistem tidak ada gunanya. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang telah direncanakan.
2.2 Siklus Hidup Pengembangan Sistem (Systems Development Life Cycle) SDLC dimulai dari tahun 1960 untuk mengembangkan sistem skala usaha besar secara fungsional untuk para konglomerat pada zaman itu, sistem-sistem yang dibangun mengelola informasi kegiatan dn rutinitas dari perusahaanperusahaan yang berpotensi memiliki data yang besar dalam perkembangannya. Menurut Rosa A.S dan M. Shalahudin dalam buku Rekayasa perangkat Lunak (2011:24) SDLC adalah proses pengembangan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumya.
9
Requirement analysis
Evolution
Testing
Software Developement Life Cycle (SDLC)
Design
Implementation
Gambar 2.1 Software Developement Life Cycle (SDLC) (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011 )
Requirement analysis (Analisa Kebutuhan) Menganalisis kebutuhan pemakai sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional. Design (Desain) Mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap, dokumen desain sistem fokus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan. Implementation (Implementasi) Implementasi pada lingkungan produksi (lingkungan pada user) dan menjalankan resolusi dari permasalahan yang terindentifikasi dari fase integritas dan pengujian. Testing (Pengujian) Mendemonstrasikan sistem perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan pada dokumen kebutuhan fungsional. Menghasilkan laporan analisis pengujian.
Evolution (Perkembangan)
10
Mengkonversi design ke sistem informasi yang lengkap termasuk bagaimana memperoleh dan melakukan instalasi lingkungan sistem yang dibutuhkan, membuat basis data dan mempersiapkan prosedur kasus pengujian, mempersiapkan berkas atau file pengujian, pengoden, memperbaiki dan membersihkan program, peninjauan pengujian.
2.3
Model Software Development Life Cycle (SDLC)
SDLC memiliki beberapa model dalam penerapan tahapan prosesnya, yaitu a. Model Waterfall (Air Terjun) Model SDLC waterfall (air terjun) sering disebut juga model sekuensial linier atau alur hidup klasik yang menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung (support).
Analysis
Design
Konstruksi (Pengkodean)
Pengujian
Gambar 2.2 Model Waterfall (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011 )
Analisis kebutuhan sistem Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami. Perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan oleh perangkat lunak pada tahap ini perlu untuk didokumentasikan. Design Design perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi design agar dapat di implementasikan menjadi program pada tahap selanjutnya. Design perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan.
11
Pembuatan kode program Design harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan design yang telah dibuat pada tahap design. Pengujian Pengujian fokus pada perangkat lunak dari segi logic (logika) dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. Suatu variasi dari model air terjun dinamakan sebagai model-V (V-Model) seperti terlihat pada gambar dibawah ini :
Gambar 2.3 Model Waterfall V-Model (sumber : Roger S. Pressman, Ph.D, Rekayasa Perangkat Lunak, 2011 )
Seperti yang diperlihatkan pada gambar diatas, menggambarkan relasi aksi-aksi jaminan kualitas pada aksi-aksi yang berkaitan dengan komunikasi, pemodelan, serta aktivitas-aktivitas konstruksi pada tahap awal. Saat tim perangkat lunak bergerak ke bawah pada sisi kiri model-V, spesifikasi-spesifikasi kebutuhan,
12
pemasalahan-permasalahan dasar dan solusi-solusinya diperhalus secara progresif menjadi semakin rinci dan semakin teknis. Saat kode program telah terbentuk, selanjutnya tim perangkat lunak bergerak ke atas melalui sisi kanan model-V dan secara terus-menerus melaksanakan sejumlah pengujian yang berbeda, yang pada dasarnya melakukan validasi pada masingmasing tahapan model yang telah diselesaikan saat tim perangkat lunak bergerak ke bawah pada sisi kiri model. Kenyataannya tidak terlalu terlihat perbedaan yang mendasar diantara model proses siklus hidup klasik dan model-V. Model-V pada dasarnya menyediakan cara secara visual bagaimana tindakan-tindakan verifikasi dan validasi seharusnya diterapkan pada bagian-bagian pekerjaan rekayasa perangkat lunak yang lebih awal. b. Model Prototipe Model prototipe dapat digunakan untuk menyambung ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan yang diinginkan pelanggan kepada pengembang perangkat lunak.
Mendengarkan Pelanggan
Membangun/ memperbaiki mock-up
Pengujian Mock-up
Gambar 2.4 Model Prototipe (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011 )
Mock up adalah sesuatu yang digunakan sebagai model design yang digunakan untuk demonstrasi, evaluasi design, promosi atau keperluan lain. Sebuah mock up disebut sebagai prototipe perangkat lunak jika menyediakan atau mampu mendemonstrasikan sebagian besar fungsi sistem perangkat lunak. Iterasi yang terjadi pada pembuatan prototipe sampai sesuai dengan keinginan pelanggan.
13
Model prototipe dimulai dari pengumpulan kebutuhan pelanggan terhadap perangkat lunak yang akan dibuat. Lalu diuatkan program program prototipe agar pelanggan lebih terbayang dengan apa yang sebenarnya diinginkan. Program prototipe ini dievaluasi oleh pelanggan sampai ditemukan spesifikasi yang sesuai dengan keinginan pelanggan kepada pengembang perangkat lunak. Model prototipe sangat cocok untuk menjabarkan kebutuhan pelanggan secara lebih detail karena pelanggan sering kali merasa kesulitan menyampaikan kebutuhan secara detail tanpa melihat gambaran yang jelas. Untuk mengantisipasi agar proyek dapat berjalan sesuai dengan target waktu dan biaya di awal, maka sebaiknya spesifikasi kebutuhan sistem harus sudah disepakati oleh pengembang dengan pelanggan secara tertulis. Dokumen tersebut akan menjadi patokan agar spesifikasi kebutuhan sistem masih dalam ruang lingkup proyek. Model prototipe kurang cocok untuk aplikasi dengan skala besar karena membuat prorotipe untuk aplikasi skala besar akan sangat memakan waktu dan tenaga. c. Model Rapid Application Developement (RAD) Rapid Application Developement (RAD) adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek. Model RAD adalah adaptasi dari model air terjun untuk pengembangan setiap komponen perangkat lunak. Jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup perangkat lunak dibatasi dengan baik sehingga tim dapat menyelesaikan pembuatan perangkat lunak dengan waktu yang singkat. Model RAD membagi tim pengembangan menjadi beberapa tim untuk mengerjakan beberapa komponen masing-masing tim pengerjaan dapat dilakukan secara paralel.
14
Pemodelan bisnis
Pemodelan Data
Pemodelan Proses
Pembuatan Aplikasi
Pengujian & Pergantian
Gambar 2.5 Model Rapid Application Development (RAD) (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011 )
Pemodelan bisnis Pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait proses bisnis, informasi apa saja yang harus dibuat, siapa yang harus membuat informasi itu, bagaimana alur informasi itu, proses apa saja yang terkait infromasi itu. Pemodelan data Memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain. Pemodelan proses Mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefinisian data. Pembuatan aplikasi Mengimplementasikan pemodelan proses dan data menjadi program model RAD sangat menganjurkan pemakaian komponen yang sudah ada jika dimungkinkan. Pengujian dan Pergantian Menguji komponen-komponen yang dibuat. Jika sudah teruji maka tim pengembang komponen dapat beranjak untuk mengembangkan komponen berikutnya.
15
d. Model Iteratif Model iteratif mengkombinasikan proses-proses pada model air terjun dan iteratif pada model prototipe. Model incremental akan menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan fungsi untuk setiap pertambahannya.
Analysis
Design
Kode
Uji
Incremental area Gambar 2.6 Model Iteratif (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011 )
e. Model spiral Model spiral memasangkan iteratif pada model prototipe dengan kontrol dan spek sistematik yang diambil dari model air terjun. Model spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak yang memiliki versi yang terus bertambah fungsinya.
2.4 Unified Modelling Language 2.4.1
Pengertian Unified Modeling Language (UML) Menurut Rosa A.S (2011:118) Unified Modeling Language (UML) adalah
bahasa visual untuk pemodelan dan komunikasi menegnai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML merupakan suatu kumpulan teknik terbaik yang besar terbukti sukses dalam memodelkan sistem yang besar dan kompleks. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. Di dunia sistem informasi banyak hal yang tidak dapat dibakukan, semua tergantung kebutuhan, lingkungan dan konteksnya. Begitu juga dengan
16
perkembangan penggunaan UML bergantung pada level abstraksi penggunaanya. Jadi, belum tentu pandangan yang berbeda dalam penggunaan UML adalah salah, tapi perlu ditelaah dimanakah UML digunakan dan hal apa yang ingin divisualkan. Secara analogi jika dengan bahasa yang kita gunakan sehari-hari , belum tentu penyampaian bahasa dan puisi adalah hal yang salah. Sistem informasi bukanlah ilmu pasti, maka jika ada banyak perbedaan dan interpretasi di dalam bidang sistem informasi merupakan hal yang sangat wajar.
2.4.2
Sejarah Unified Modeling Language (UML) Bahasa pemrograman berorientasi objek yang pertama dikembangkan
dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman yang kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannyatelah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya. Pekembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika perkembangannya bahasa pemrograman smalltalk pada awal 1980-an yang kemudian diikuti dengan perkembangan bahasa pemrograman berorientasi objek yang lainnya seperti C objek, C++,Eiffel, dan CLOS. Secara aktual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian di saat itu. Setelah lima tahun
setelah
smalltalk
berkembang,
maka
berkembang
pula
metode
pengembangan berorientasi objek. Metode yang pertama diperkenalkan oleh Sally Shlaer dan Stephen Mellor (Shlaer-Mellor, 1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh Grady Booch (Booch,1991), James R. Rumbaugh, Michael R. Bhala, William Lorensen, Frederick Eddy, William Premerlani (RumbaughBlaha-Premerlani-Eddy-Lorensen, 1991), dan banyak lagi.
17
Buku yang terkenal selanjutnya adalah karangan Ivar Jacobson (Jacobson,1992) yang menerangkan perbedaan pendekatan yang fokus pada use case dan proses pengembangannya. Sekitar lima tahun kemudian muncul buku yang membahas mengenai metodologi berorientasi objek yang diikuti dengan buku-buku yang lainnya. Di dalamnya juga membahas mengenai konsep, definisi, notasi, terminologi, dan proses mengenai metodologi berorientasi objek. Karena banyaknya metodologi yang berkembang pesat saat itu, maka munculah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan Modelling Technique (OMT) dari Rumbaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborator (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivan Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh , Grady Booch dan Ivan Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modelling Language (UML). Pada tahun 1996, Object Management Group (OMG) mengajukan proposal agar adanya standarisasi pemodelan berorientasi objek dan pada bulan September 1977 UML diakomodasikan oleh OMG sehingga sampai pada saat ini UML telah memberikan kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan hal-hal yang terkait di dalamnya. Secara fisik UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG. UML terbaru adalah UML 2.3 yang terdiri dari 4 macam spesifikasi, yaitu Diagram Interchange Spesification, UML Infrastrukture, UML Suprastrukture, dan Object Constraint Language (OCL).
2.4.3
Bagian-bagian UML Menurut Indrajani S.Kom., MM (2011:30) dalam buku perancangan basis
data dalam all in 1 bagian daripada UML terdiri atas beberapa diagram yaitu :
18
a. Use case diagram Merupakan suatu diagram yang berisi use case, actor, serta relationship diantaranya. Use case diagram merupakan titik awal yang baik dalam memahami dan menganalisis kebutuhan sistem pada saat percancangan. Use case diagram dapat digunakan untuk menentukan kebutuhan apa saja yang diperlukan dari suatu sistem. Jadi, dapat digambarkan dengan detail bagaimana suatu sistem dapat memproses atau melakukan sesuatu, bagaimana cara aktor akan menggunakan sistem, serta apa saja yang dapat dilakukan terhadap suatu sistem. Notasi yang digunakan dalam use case adalah persegi panjang yang merupakan system boundary, oval yang merupakan suatu proses, dan gambar orang yang berinteraksi dalam proses tersebut. use case system Usecase 1
Usecase 2
Actor 1
Usecase 3
Actor 2
Phase
Usecase 4
Usecase 5
Gambar 2.7 Use case Diagram ( sumber : Indrajani, S.kom,. MM, Perancangan Basis Data dalam All in 1, 2011 )
b. Activity Diagram Activity diagram digunakan untuk menganalisis behaviour dengan use case yang lebih kompleksdan menunjukan interaksi-interaksi diantara mereka satu sama lain. Acticity diagram sebenarnya memiliki kesamaan dengan statechart diagram dalam hal menggambarkan aliran data pada model bisnis, tetapi activity diagram biasanya digunakan untuk menggambarkan aktivitas bisnis yang lebih kompleks, dimana digambarkan hubungan antar satu use case dengan use case lainnya.
19
c. Statechart Diagram Statechart diagram digunakan untuk membuat model bagaimana suatu objek mengalami perubahan state, menggambarkan behaviour dari subsistem, membuat model interaksi antara class-class dan model dari tampilan sistem. Statechart diagram banyak digunakan pada saat peralihan antara analisis dan fase desain. Umumnya digunakan untuk menggambarkan sistem interaktif yang “real time”. Diagram ini bersifat opsional dalam suatu perancangan sistem. Kumpulan substate yang dikelompokkan kedalam sebuah state disebut sebagai composite state.
State 1
Gambar 2.8 State Diagram (sumber : Indrajani, S.Kom., MM, Perancangan Basis Data dalam All in 1, 2011)
d. Component Diagram Component diagram digunakan untuk membuat model komponen-komponen software dan hubungan bagaimana komponen-komponen tersebut saling berinteraksi satu sama lain. e. Deployment Diagram Deployment diagram digunakan untuk membuat model, dimana komponenkomponen terinstall ke dalam sistem-sistem dan bagaimana sistem-sistem ini akan berinteraksi satu sama lainnya. f. Object Diagram Object diagram memiliki kemiripan dengan class diagram, ditambah dengan adanya hubungan objek yang merupakan instance dari class. g. Class Diagram (Static Structure
20
Diagram ini digunakan untuk menggambarkan perbedaan yang mendasar antara class-class, hubungan antar class, dan dimana sub sistem class tersebut. Pada class diagram terdapat nama class, attributes, operation, serta association (hubungan antar class). ClassName -memberName -memberName -memberName
ClassName
ClassName
-memberName -memberName
-memberName -memberName
-memberName
-memberName
Gambar 2.9 Class Diagram ( sumber : Indrajani, S.Kom., MM, Perancangan basis data dalam all in 1 )
h. Sequence Diagram Sequence diagram merupakan suatu diagram interaksi yang menggambarkan bagaimana objek-objek berpartisipasi dalan bagian interaksi (particular interaction) dan pesan yang ditukar dalam urutan waktu. Sequence diagram merupakan peralatan untuk interaksi komunikasi diagram. Sebuah interaksi desain antara objek dan sistem yang berpartisipasi dalam sebuah kolaborasi. Interaksi dijelaskan oleh pesan-pesan yang diletakkan pada sebuah waktu atau lebih dari dua pesan yang akan dikirim pada waktu yang sama. Interaksi merupakan peran komunikasi yang penting yang kenyataannya. Beberapa konsep dapat diterapkan pada konteks yang bervariasi. Sequence diagram menggambarkan interaksi antar objek secara beraturan sesuai dengan waktu. Sequence diagram dapat digambarkan dalam beberapa level secara detail dan untuk tujuan lifecycle. Ketika pesan dikirim pada sebuah objek akan meminta sebuah operasi dari objek. Nama pesan biasanya sesuai dengan operasi yang akan diminta. Sebuah pesan diterima, operasi yang diminta akan melaksanakan pesan tersebut.pada beberapa tahap selama operasi yang dilakukan tersebut, disebut sebagai altivasi.
21
i. Collaboration diagram Diagram ini mempresentasikan interaksi dan hubungan dantara objek yang berbentuk pada langkah awal dari domain modelling process. Diagram ini juga digunakan dalam membuat model message antara objek yang berbeda.
2.5
Perangkat Lunak Pendukung
2.5.1
Apache Menurut I Komang Setia Buana (2014:1) dalam buku yang berjudul Jago
Pemrograman PHP untuk pemula dan orang awal menjelaskan bahwa Apache merupakan web server yang bersifat opensource, yang digunakan oleh PHP. Karena sifatnya yang opensource sehingga bisa diambil, digunakan bahkan bisa mengubah kode programnya tanpa harus membayar. Apache bertugas untuk menampilkan hasil proses script PHP yang ditulis oleh pembuat halaman web.sehingga dihasilkan halaman web yang benar kepada peminta, dan dapat juga suatu database diakses terlebih dahulu, misalnya MySQL, untuk mendukung halaman web yang dihasilkan.
2.5.2
HTML Menurut Agus saputra (2012:1) dalam buku sistem informasi nilai
akademik untuk panduan skripsi mengemukakan bahwa HTML merupakan kepanjangan dari Hyper Text Markup Language, yaitu suatu bahasa pemrograman hyper text. HTML ini mempunyai fungsi untuk membangun kerangka ataupun format web yang berbasis HTML. HTML bisa disebut bahasa yang digunakan untuk menampilkan dan mengelola hypertext. Menurut sumber Wikipedia yang penulis kutip dalam bukunya menyatakan bahwa html digunakan untuk menampilkan berbagai informasi didalam sebuah penjelajah web internet dan formatting hypertext sederhana yang ditulis ke dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegrasi. Dengan kata lain, berkas yang dibuat dalam
22
perangkat lunak pengolah kata dan disimpan ke dalam format ASCII normal sehingga menjadi homepage dengan perintah-perintah html. Html mempunyai dua macam ekstensi untuk kita dapat membangun dokumen html. Ekstensi tersebut diantaranya .htm dan .html. Ekstensi berformat .htm awalnya hanya untuk mengakomodasi pengguna html dalam operasi DOS. Html saat ini telah mencapai versi 5, dimana beberapa fitur unggulan telah disuntikan ke dalam pemrograman tersebut.
2.5.3
MySQL Menurut I Komang Setia Buana (2014:2) menjelaskan bahwa MySQL
merupakan database server yang paling sering digunakan dalam pemrograman PHP. MySQL digunakan untuk menyimpan data di dalam database dan memanipulasi data-data yang diperlukan. Memanipulasi data tersebut berupa menambah, mengubah dan menghapus data yang berada dalam database. Pendapat lain mengenai MySQL menurut Agus Saputra (2012:7) menjelaskan bahwa MySQL bukan merupakan bahasa pemrograman. MySQL merupakan salah satu database populer dan mendunia. MySQL bekerja menggunakan SQL Language (Structure Query Language). Dapat diartikan bahwa MySQL merupakan standar penggunaan database di dunia untuk pengolahan data. Pada umumnya, perintah yang paling sering digunakan dalam MySQL adalah SELECT (mengambil), INSERT (menambah), UPDATE (mengubah), dan DELETE (menghapus). Selain itu, SQL juga menyediakan perintah untuk membuat database, field, ataupun index untuk menambah atau menghapus data. MySQL merupakan database yang mampu berjalan disemua sistem operasi, selain itu juga sangat mudah dipelajari sehingga memiliki kelebihan sebagai berikut : 1.
Bersifat open source, yang memiliki kemampuan yang dapat
dikembangkan lagi. 2.
Mengunakan bahasa SQL (Structure Query Language) merupakan
standar bahasa dunia dalam pengolahan data.
23
3.
Super performance dan reliable, tidak bisa diragukan, pemrosesan
databasenya sangat cepat dan stabil. 4.
Sangat mudah dipelajari (easy of use).
5.
Memiliki dukungan support (group) pengguna MySQL.
6.
Mampu lintas Platform, dapat berjalan diberbagai sistem operasi.
7.
Multiuser, dimana MySQL dapat digunakan oleh beberapa user
dalam waktu yang bersamaan tanpa mengalami konflik. MySQL bekerja menggunakan bahasa basis data atau lebih dikenal dengan DBMS (Database Management System). Data language ini terbagi dua, yaitu : 1.
DDL (Data Definition Language) merupakan suatu perintah yang
digunakan untuk struktur data, atau untuk membangun database. DDL mempunyai tugas untuk membuat objek SQL dan menyimpan definisinya dalam tabel. Intinya DDL ini mempunyai fungsi untuk melakukan perubahan struktur tabel, seperti membuat tabel, mengubah nama tabel dan sebagainya. Berikut ini perintah yang masuk dalam golongan DDL: a.
Create
Digunakan untuk membuat database, tabel dan objek lain dalam database. b.
Alter
Digunakan untuk memodifikasi tabel, seperti contoh mengubah nama tabel, field, menambah field. c.
Drop
Digunakan untuk menghapus database, tabel dan objek lain dalam database. 2.
DML (Data Manipulation Language) merupakan basis data yang
digunakan untuk melakukan modifikasi dan pengambilan data pada suatu database. Pengolahan dan modifikasinya meliputi : a.
Insert
Digunakan untuk melakukan penambahan data. b.
Select
Digunakan untuk melakukan pengambilan data. c.
Update
Digunakan untuk melakukan perubahan data.
24
d.
Delete
Digunakan untuk menghapus data.
2.5.4
jQuery Menurut Edy Winarto ST, dkk (2014:51) dalam buku 3 in 1: Javascript,
jQuery dan jQuery mobile menjelaskan bahwa jQuery adalah framework PHP yang memudahkan penerapan javascript. Dengan jQuery user tidak diperlukan banyak pengetikan kode secara manual. Hanya dengan sedikit pengetikan, bisa melakukan banyak hal. jQuery adalah sebuah library Javascript yang memiliki motto “write less do more”. Artinya dengan mengetik kode yang sedikit, bisa melakukan banyak hal dengan jQuery. Dengan jQuery, action yang perlu banyak kode di JavaScript standar, bisa disingkat dengan hanya mengetik sedikit kode. Bahkan kadang hanya satu baris kode saja. jQuery juga menyederhanakan hal-hal yang kompleks dari JavaScript, seperti AJAX dan manipulasi DOM. Jadi, jQuery menyediakan banyak sekali metode siap pakai yang tinggal dipakai tanpa perlu repot. Library jQuery memiliki beberapa fitur berikut : Manipulasi HTML/DOM. Manipulasi CSS. Method event HTML. Efek dan animasi. AJAX. Utility. jQuery juga masih memiliki banyak plugin untuk melakukan banyak hal yang sering dipakai dalam pengembangan web. jQuery merupakan framework yang populer yang bisa dikembangkan.
2.5.5
PHP Menurut Agus Saputra (2012:2) menjelaskan PHP atau yang memiliki
kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman
25
yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. Html digunakan sebagai pembangun atau podasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya. Sehingga dengan adanya PHP tersebut, sebuah web akan sangat mudah di maintenance. Dalam buku Jago Pemrograman PHP untuk pemula dan orang awam, I Komang Setia Buana (2014:1) menjelaskan bahwa PHP merupakan apliaksi perangkat lunak opensource, dimana kepanjangan PHP adalah Hypertext Preprocessor yang diatur dalam aturan general purpose licences (GPL). Pemrograman PHP merupakan pemrograman yang sangat cocok dikembangkan dilingkungan web karena bisa diletakkan pada script HTML ataupun sebaliknya. PHP tergolong sebagai pemrograman web dinamis karena mampu menghasilkan website yang bisa diubah secara terus menerus hasilnya atau kontennya tanpa harus masuk ke dalam coding. Hal tersebut tergantung pada permintaan terkini. Secara umum, pembuatan database sangat erat hubungannya dengan pembuatan web dinamis, sebagai tempat untuk sumber data yang akan ditampilkan. PHP juga merupakan bahasa pemrograman berbasis server. Ini berarti setiap pemrograman PHP harus diletakkan di server terlebih dahulu, kemudian diterjemahkan oleh web server dan hasilnya dikirim ke browser client. Kemampuan dan fitur PHP yang paling mendukung banyak basis data yaitu MSSQL, MySQL, Oracle dan Postgre SQL. PHP berjalan pada sisi server, sehingga PHP disebut juga sebagai bahasa Server Side Scripting, artinya bahwa dalam setiap atau untuk menjalankan PHP, wajib dibutuhkan web server dalam menjalankannya. PHP ini bersifat open source, sehingga dapat dipakai secara Cuma-Cuma, dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi windows atau pun linux. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI. Pada awalnya PHP itu memiliki kepanjangan Personal Home Page atau yang dapat diartikan “Situs Personal” namun pada sejarahnya, yaitu pada tahun 1995, Rasmus Lerdoft membuat suatu bahasa pemrograman bernama Form
26
Interpreted (FI) yang saat ini lebih dikenal dengan PHP. Form Interpreted (FI) ini merupakan sebuah sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Kemudian Rasmus Lerdoft mencoba untuk merilis kembali kode-kode tersebut dan diumumkan pada khalayak umum, dan menamakannya PHP/FI sehingga dengan mengumumkan hal tersebut, kini PHP menjadi kode terbuka. Dalam artian, siapa saja boleh menggunakannya. Lambat laun ternyata PHP ini mulai banyak peminatnya, terbukti banyak pengembang atau pemrogram lain tertarik untuk mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0 pada versi rilisan ini, PHP sudah mulai di implementasikan dalam program C, serta juga modul-modul yang tentu saja dapat meningatkan PHP tersebut secara signifikan. Pada tahun 1997, sebuah perusahaan Zend menulis ulang kembali Interpreter PHP menjadi lebih bersih, lebih baik dan tentunya lebih cepat. Pada tahun 1998, perusahaan Zend merilis dan meresmikan interpreter PHP sebagai PHP 3.0 pada tahun inilah singkatan PHP berubah menjadi PHP Hpertext Preprocessor. Pada tahun 1999 Zend merilis kembali dan meresmikan interpreter PHP sebagai PHP 4.0 versi PHP 4.0 merupakan versi yang paling banyak digunakan saat itu. Karena kecepatannya yang tinggi dan tentunya membangun web juga dapat kebih kompleks. Akhirnya pada tahun 2004, Zend merilis kembali versi PHP 5.0 karena paradigmanya telah berubah menjadi suatu bahasa pemrograman yang berorientasi pada objek. PHP kedepannya dapat dipastikan akan menjadi bahasa pemrograman bersifat objek. Atau lebih mengarah pada framework PHP.
2.5.6
Adobe Dreamweaver Adobe dreamweaver merupakan penyunting halaman web keluaran adobe
sistem
yang dulu
dikenal
sebagai
macromedia
dreamweaver
keluaran
macromedia. Program ini banyak dikembangkan oleh pengembang web karena fitur-fiturnya yang menarik dan kemudahan penggunaannya. (sumber : http://id.wikipedia.org/wiki/Adobe_Dreamweaver)
27
2.5.7
XAMPP Menurut I komang setia buana (2014:4) dalam buku yang berjudul Jago
Pemrograman PHP untuk pemula dan orang awam menjelaskan bahwa XAMPP adalah perangkat lunak opensource yang dapat diunggah secara gratis dan bisa dijalankan disemua sistem operasi seperti windows, linux, solaris, dan mac dan xampp ini sendiri dibuat dan dikembangkan oleh apache friends perangkat lunak tersebut terdiri dari beberapa perangkat lunak yang dibutuhkan, antara lain PHP, Apache, MySQL, dan PHPMyAdmin. XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi. 2.5.8
Microsoft Visio Microsoft Visio (atau sering disebut Visio) adalah sebuah program aplikasi
komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagramdiagramnya. Visio aslinya bukanlah buatan Microsoft Corporation, melainkan buatan Visio Corporation, yang diakusisisi oleh Microsoft pada tahun 2000. Versi yang telah menggunakan nama Microsoft Visio adalah Visio 2002, Visio 2003, dan Visio 2007 yang merupakan versi terbaru. Visio 2007 Standard dan Professional menawarkan antarmuka pengguna yang sama, tapi seri Professional menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih lanjut dan juga penataan letak (layout). Selain itu, edisi Professional juga memudahkan pengguna untuk mengoneksikan diagram-diagram buatan mereka terhadap beberapa sumber data dan juga menampilkan informasi secara visual dengan menggunakan grafik. (sumber : http://id.wikipedia.org/wiki/Microsoft_Visio)
28
2.6
Metode Pengujian Untuk memperoleh kualitas yang baik, sebuah program sebaiknya
diluncurkan setelah dikembangkan dan dilakukan pengujian untuk memperbaiki kesalahan yang ditemukan. Terdapat dua metode pengujian yaitu : 2.6.1
Metode White Box Menurut Roger S.Pressman, Ph.D (2011:588) pengujian white box yang
kadang-kadang disebut pengujian kotak kaca (glass box testing) merupakan sebuah filosofi perancangan test case yang menggunakan struktur kontrol yang dijelaskan sebagai bagian dari perancangan peringkat komponen untuk menghasilkan test case. metode design test case yang menggunakan struktur control white-box, rekayasa sistem dapat melakukan test case diantaranya : 1. Menjamin bahwa seluruh jalur independent didalam modul telah dieksekusi sekurang-kurangnya sekali. 2. Mengerjakan seluruh keputusan logical pada sisi benar dan yang salah. 3. Mengerjakan seluruh loop yang sesuai batas dan dalam batas-batas operasional mereka. 4. Mengerjakan seluruh struktur data internal yang menjamin validitas untuk memastikan keshahihannya.
2.6.2
Metode Black Box Pengujian kotak hitam (Black-Box), juga disebut pengujian perilaku,
berfokus
pada
persyaratan
fungsional
perangkat
lunak.
Pengujian
ini
memungkinkan analis sistem memperoleh kumpulan kondisi input yang akan mengerjakan seluruh keperluan fungsional program. Ini merupakan pendekatan terlengkap yang mungkin dilakukan untuk mengungkap kelas kesalahan yang berbeda dari yang diungkap oleh metode kotak putih. Tujuan metode ini adalah mencari : a. Fungsi yang salah atau hilang. b. Kesalahan pada interface. c. Kesalahan pada struktur data atau akses database eksternal.
29
d. Kesalahan performa atau kinerja. e. Kesalahan inisialisasi dan tujuan akhir.
2.7
Sistem Mobile Parking Kondisi pada suatu gedung parkir yang masyarakat dapati pada umumnya
menjadi tidak nyaman pada saat-saat rush hour atau weekend dikarenakan ramainya pengunjung yang menyebabkan sulitnya untuk menemukan parkir yang tersedia. Traffic yang tinggi didalam area parkir juga ikut menyumbangkan ketidaknyamanan pengunjung karena menyebabkan kemacaten panjang dalam pencarian parkir. Menyadari pentingnya akan kenyaman pengunjung, maka dengan ini penyedia sistem parkir mencoba memperkenalkan suatu sistem perpakiran yang baru dan canggih dengan memberikan fitur yang menarik bagi pelanggan parkir seperti mobile online booking dan otomatisasi letak parkir. Hal ini tentunya akan menguntungkan baik bagi pengelola parkir karena dapat menghemat tenaga kerja untuk mengatur parkir pada lokasi, ataupun pelanggan parkir karena pelanggan parkir dapat mempunyai kepastian tempat parkir. Sistem parkir mobile memberikan pelanggan parkir untuk mempunyai kemampuan pemesanan parkir yang masih tersedia didalam gedung secara online darimana saja selama pelanggan memiliki koneksi internet. 2.8
Pengertian Parkir Menurut Lampiran Keputusan Direktur Jenderal Perhubungan Darat Nomor
272/HK.105/DRJD/96
tanggal
8
April
1996
tentang Pedoman
Teknis
Penyelenggaraan Parkir, Parkir adalah keadaan tidak bergeraknya kendaraan pada sementara waktu karena ditinggalkan oleh pengemudinya. Parkir merupakan kebutuhan bagi pemilik kendaraan yang menginginkan kendaraannya berhenti di tempat, dimana tempat tersebut mudah untuk dicapai dan setiap kendaraan yang berhenti pada tempat-tempat tertentu baik yang dinyatakan dengan rambu lalu lintas ataupun tidak, serta tidak semata-mata untuk kepentingan menaikkan atau menurunkan orang dan barang.
30
Penetapan lokasi dan pembangunan fasilitas parkir untuk umum, dilakukan dengan memperhatikan rencana umum tata ruang daerah, keselamatan dan kelancaran lalu lintas, kelestarian lingkungan, dan kemudahan bagi pengguna jasa. Penyelenggaraan fasilitas parkir untuk umum dilakukan oleh pemerintah, badan hukum negara atau warga negara. Penyelenggara fasilitas parkir untuk umum dapat memungut biaya terhadap penggunaan fasilitas yang diusahakan. Beberapa kebijakan perparkiran yang sudah umum diterapkan antara lain : 1. Kebijakan tarif parkir yang ditetapkan berdasarkan lokasi dan waktu, semakin dekat dengan pusat kegiatan atau kota maka tarif parkir akan lebih tinggi, demikian juga dengan semakin lamanya waktu parkir, semakin tinggi pula tarif parkirnya. Kebijakan ini diarahkan untuk mengendalikan jumlah pemarkir dipusat kota atau pusat kegiatan dan mendorong penggunaan angkutan umum. 2. Kebijakan pembatasan ruang parkir, terutama didaerah pusat kota ataupun pusat kegiatan. Kebijakan ini biasanya dilakukan pada parkir dipinggir jalan yang tujuan utamanya untuk melancarkan arus lalu lintas, serta pembatasan ruang parkir di luar jalan yang dilakukan melalui IMB (Ijin Mendirikan Bangunan). Kebijakan penegakan hukum yang tegas terhadap pelanggar ketentuan dilarang parkir dan dilarang berhenti serta pemarkir di luar tempat yang ditentukan untuk itu. Bentuk penegakan hukum dapat dilakukan melalui penilangan
ataupun
dengan
gembok
roda.
(sumber
:
http://id.wikipedia.org/wiki/Parkir)
2.9
Fasilitas Parkir Fasilitas
parkir
adalah
lokasi
yang
ditentukan
sebagai
tempat
pemberhentian kendaraan yang tidak bersifat sementara untuk melakukan kegiatan pada suatu kurun waktu. Fasilitas parkir bertujuan untuk memberikan tempat istirahat bagi kendaraan dan untuk menunjang kelancaraan arus lalu lintas. (sumber : http://dishub.jabarprov.go.id/content.php?id=407)
31
Dalam buku Dasar-dasar Rekayasa Transportasi, Khisty dan Lall (2005), mengatakan sebagai salah satu kegiatan kota yang rumit, parkir memperebutkan ruang parkir, baik parkir di badan jalan maupun di luar badan jalan. Idealnya, seorang pengguna kendaraan bermotor ingin mendapatkan parkir persis di depan tempat yang dituju, untuk menghindari yang bersangkutan berjalan kaki. ada dua jenis dan penempatan fasilitas parkir, yaitu: 1. Parkir di badan jalan (on-street parking), yaitu parkir yang menggunakan tepi jalan. Dimana penempatannya terdiri dari: a. parkir pada tepi jalan tanpa pengendalian parkir, b. dan parkir pada kawasan parkir dengan pengendalian parkir. 2. Parkir di luar badan jalan (off-street parking), yaitu fasilitas parkir kendaraan di luar tepi jalan umum yang dibuat khusus atau penunjang kegiatan yang dapat berupa tempat parkir dan/atau gedung parkir. Dimana penempatan fasilitas parkir ini terdiri dari: a. fasilitas parkir untuk umum, yaitu tempat yang berupa gedung parkir atau taman parkir untuk umum yang diusahakan sebagai kegiatan tersendiri. b. fasilitas parkir sebagai fasilitas penunjang, yaitu tempat yang berupa gedung parkir yang disediakan untuk menunjang kegiatan pada bangunan utama.
2.10 Definisi Reservasi Reservasi adalah sebuah proses perjanjian berupa pemesanan sebuah produk baik barang maupun jasa dimana pada saat itu telah terdapat kesepahaman antara konsumen dengan produsen mengenai produk tersebut namun belum ditutup oleh sebuah transaksi jual – beli. Pada saat reservasi berlangsung biasanya ditandai dengan adanya proses tukar menukarinformasi antara konsumen dan produsen agar kesepahaman mengenaiproduk dapat terwujud. (sumber : http://www.leutikaprio.com/main/media/sample/FIX%20ERA%20AIRLINE%20 WEBSITE%20BASE_Tes.pdf)