2.1 Web Aplikasi Web aplikasi-disebut "webapps," jaringan-centric ini kategori perangkat lunak yang mencakup beragam aplikasi. Dalam bentuk yang paling sederhana, webapps bisa sedikit lebih dari satu set file hypertext terkait yang menyajikan informasi menggunakan teks dan grafis yang terbatas. Namun, seperti Web 2.0 muncul, webapps berkembang dalam lingkungan komputasi canggih yang tidak hanya menyediakan fitur yang berdiri sendiri, fungsi komputasi, dan konten untuk pengguna akhir, tetapi juga terintegrasi dengan database perusahaan dan aplikasi bisnis [Pressman, 2010]. 2.2 Rekayasa Perangkat Lunak Perangkat lunak atau sering disebut software adalah sebuah instruksi yang apabila dijalankan menghasilkan fungsi dan hasil yang diinginkan. Perangkat lunak juga berarti struktur data yang dapat memanipulasi informasi [Pressman, 2010]. Deskripsi informasi dari ke dua poin ini menjelaskan operasi dan penggunaan dari perangkat lunak. Perangkat lunak lebih mengacu kepada logical dari pada physical system element. Oleh karena itu, perangkat lunak mempunyai karakteristik yang membedakan dengan perangkat keras yaitu : a) Perangkat lunak dikembangkan atau direkayasa bukan diciptakan. b) Perangkat lunak tidak akan habis atau hilang. c) Meskipun industri bergerak ke arah komponen berbasis konstruksi tetapi sebagian besar perangkat lunak tetap dibangun atau dikembangkan. 2.2.1 Pengertian SDLC (Software Development Life Cycle) System Development Life Cycle atau Siklus Hidup Pengembangan Sistem adalah proses sistem serta metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut [Pressman, 2010]. Waterfall Model sebuah perancangan yang secara berurutan dan sering digunakan dalam proses pengembangan perangkat lunak.
5 http://digilib.mercubuana.ac.id/
6
2.2.2 Metode Waterfall Waterfall model, disebut juga siklus hidup klasik, adalah paradigma tertua untuk rekayasa perangkat lunak yang menyarankan pendekatan sistematis, sekuensial untuk pengembangan perangkat lunak yang diawali dengan persyaratan spesifikasi pelanggan dan berkembang melalui perencanaan, pemodelan, konstruksi, dan penyebaran, yang berpuncak pada dukungan yang berkelanjutan dari perangkat lunak yang telah selesai. [Pressman, 2010].
Gambar 2. 1 Model Waterfall Sumber: Software Engineering, Pressman (2010)
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). Tahap 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 ke sebuah 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.
http://digilib.mercubuana.ac.id/
7
4. Contruction Contraction 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 system tersebut untuk kemudian bisa diperbaiki. Black Box Testing berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan engineers untuk memperoleh kondisi input yang sepenuhnya akan melaksanakan persyaratan fungsional untuk sebuah program. [Pressman, 2010]. Black Box Testing berusaha untuk menemukan kesalahan dalam kategori berikut: a) Fungsi yang tidak benar atau fungsi yang hilang b) Kesalahan antarmuka c) Kesalahan dalam struktur data atau akses database eksternal d) Kesalahan perilaku (behavior) atau kesalahan kinerja e) Inisialisasi dan pemutusan kesalahan Tes ini dirancang untuk menjawab beberapa pertanyaan – pertanyaan berikut ini: a) Bagaimana validitas fungsional diuji? b) Bagaimana perilaku dan kinerja sistem diuji? c) Apa kelas input akan membuat kasus uji yang baik? d) Apakah sistem sensitive terhadap nilai input tertentu? e) Bagaimana batas – batas kelas data yang terisolasi? f) Kecepatan dan volume data seperti apa yang dapat ditolelir sistem? g) Efek apakah yang akan menspesifikasi kombinasi data dalam sistem operasi?
http://digilib.mercubuana.ac.id/
8
5. Deployment Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisi, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. 2.2.3 UML (Unified Modeling Language) Unified Modeling Language (UML) adalah bahasa standar untuk menuliskan cetak biru (blueprints) perangkat lunak. UML dapat digunakan untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan artefak dari sistem perangkat lunakintensif. Dengan kata lain, seperti arsitek bangunan yang membuat cetak biru (blueprints) yang akan digunakan oleh perusahaan konstruksi, arsitektur software membuat diagram UML untuk membantu pengembang dalam membangun perangkat lunak. [Pressman, 2010]. 2.2.3.1 Use Case Diagram Sebuah use case menggambarkan bagaimana user berinteraksi dengan sistem dengan mendefinisikan langkah-langkah yang diperlukan untuk mencapai tujuan tertentu. Diagram use case adalah gambaran dari semua use case dan bagaimana use case berhubungan. Ini memberikan gambaran luas dari fungsi sistem. [Pressman, 2010].
Gambar 2. 2 Contoh use case diagram Sumber: Software Engineering, Pressman (2010)
http://digilib.mercubuana.ac.id/
9
Pada diagram ini, gambar stick figure merepresentasikan sebuah aktor yang terkait dengan satu kategori pengguna (atau elemen interaksi lainnya). Biasanya sistem yang kompleks memiliki lebih dari satu aktor. Berikut adalah simbol-simbol yang digunakan pada use case diagram: Table 2. 1 Simbol use case diagram Sumber: Software Engineering, Pressman (2010) No.
Simbol
1
Keterangan Merupakan
Aktor
kesatuan
eksternal
yang
berinteraksi dengan sistem.
Use Case
2
dan membentuk sistem.
2
3
Rangkaian/uraian sekelompok yang saling terkait
Generelation
Menggambarkan
hubungan
khusus
atau
interaksi dalam objek.
2.2.3.2 Sequence Diagram sebuah sequence diagram digunakan untuk menunjukkan komunikasi yang dinamis antara objek selama pelaksanaan tugas, berbeda dengan diagram kelas, yang menunjukkan struktur statis dari komponen software. [Pressman, 2010]. Pada gambar 2.4, sebuah sequence diagram menunjukkan langkah-langkah yang terlibat dalam menyoroti sosok dalam sebuah gambar ketika telah diklik. Setiap kotak pada baris di bagian atas diagram biasanya berhubungan dengan suatu objek, meskipun ada kemungkinan untuk memiliki kotak model yang lain, seperti kelas. Di bawah setiap
http://digilib.mercubuana.ac.id/
10
kotak ada garis putus-putus yang disebut lifeline dari objek. Sumbu vertikal dalam sequence diagram sesuai dengan waktu, dengan waktu semakin meningkat ke bawah. Sequence diagram menunjukkan pemanggilan metode menggunakan panah horizontal dari caller (pemanggil) ke callee, diberi label dengan nama metode dan parameter (opsional), type, dan return type. Pada saat objek mengeksekusi metode, kita (secara opsional) dapat menampilkan bar putih yang disebut activation bar secara menurun pada objek lifeline. Diagram sequence juga secara opsional menampilkan return dari method yang dipanggil dengan garis putus-putus berpanah dan labelnya. Contoh gambar dibawah menampilkan kasus yang mudah dan tidak menunjukan ada kondisi lain atau pun loop. Jika kontrol struktur logical diperlukan, cara terbaiknya dengan menggambarkan diagram sequence yang berbeda untuk setiap kasusnya. Ini berarti, jika alur pesan dapat mengambil dua kondisi yang berbeda, kita menggambar dua gambar diagram sequence, masing-masing untuk setiap kemungkinan.
Berikut adalah simbol-simbol yang digunakan pada sequence diagram: Table 2. 2 Simbol Sequence diagram Sumber: Software Engineering, Pressman (2010) No.
Simbol LifeLine
1
Activation
3
Nama Antarmuka yang saling berinteraksi.
Menggambarkan hubungan antara object dengan message.
Message(call)
4
Menggambarkan alur message yang merupakan kejadian objek pengirim lifeline ke objek penerima lifeline.
Message(return)
5
Menggambarkan alur pengambilan message ke objek pemanggil dan tanda bahwa objek penerima telah menyelesaikan prosesnya.
2.2.3.3 Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. [Rosa A.S, M. Shalahuddin, 2015]. 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.
http://digilib.mercubuana.ac.id/
12
2. Urutan atau pengelompokan tampilan dari sistem atau 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. 4. Rancangan menu yang ditampilkan pada perangkat lunak. Berikut adalah simbol-simbol yang digunakan pada Activity diagram: Table 2. 3 Simbol Activity diagram Sumber: Software Engineering, Pressman (2010) No.
Simbol
Nama
1
Initial Node
Menunjukkan titik awal kegiatan
2
Final Node
Menunjukkan akhir kegiatan
3
State/Activities
Mewakili tugas yang dilakukan oleh perangkat lunak sistem.
4
Fork (Pertaxiangan)
Mewakili pemisahan aktivitas yang bersamaan menjadi 2 atau lebih
5
Join (Penggabungan)
Simbol untuk menyinkronkan alur kontrol yang ada pada tingkatan yang sama.
6
Decision
Simbol untuk alur kontrol bertaxiang yang dikarenakan adanya kondisi.
http://digilib.mercubuana.ac.id/
13
Berikut merupakan contoh gambar untuk aktifity diagram :
Gambar 2. 4 Contoh Activity Diagram dengan Swimlane Sumber: Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek,
Rosa A.S, M. Shalahuddin (2015) 2.2.3.4 Calss Diagram Sebuah class diagram menyediakanpandangan statis atau struktural dari sebuah sistem. Hal ini tidak menunjukkan sifat dinamis dari komunikasi antara objek dari kelas dalam diagram. [Pressman, 2010]. Berikut adalah simbol-simbol yang digunakan pada Class diagram: Table 2. 4 Simbol Class diagram Sumber: Software Engineering, Pressman (2010) No. 1
Simbol Class Class
1 2 3
Nama Ikon yang digunakan untuk mewakili kelas dan interface. Class terdiri dari: 1. Class Name 2. Attributes 3. Behaviours
http://digilib.mercubuana.ac.id/
14
No.
Simbol
Nama
2
Association
Relasi antar class dengan makna umum
3
Generalization
Relasi antar class dengan makna generalisasi-spesialisasi (umum-khusus)
4
Realization
Menunjukkan implementasi antarmuka
5
Dependency
Relasi anatar class dengan makna kebergantungan antar class
Unsur-unsur utama dari class diagram adalah kotak, yang merupakan ikon yang digunakan untuk mewakili kelas dan interface. Setiap kotak dibagi menjadi bagian-bagian horizontal. Bagian atas berisi nama kelas, bagian tengah berisi daftar atribut dari kelas, dan bagian bawah berisi fungsi operasi atau perilaku kelas. Operasi mengacu pada apa yang dapat dilakukan oleh objek kelas. Hal ini biasanya diimplementasikan sebagai metode kelas. Setiap atribut dapat memiliki nama, jenis, dan tingkat visibilitas. Jenis dan visibilitas adalah opsional. Jenis ini mengikuti nama dan dipisahkan dari nama dengan titik dua. Visibilitas ditunjukkan dengan - (private), # (protected),
~(package), atau +
(public).
Gambar 2. 5 Contoh Class diagram Sumber: Software Engineering, Pressman (2010) Diagram kelas juga dapat menunjukkan hubungan antara kelas. Sebuah kelas yang merupakan subclass dari kelas lain terhubung dengan panah dengan garis yang solid
http://digilib.mercubuana.ac.id/
15
dengan panah segitiga berongga. Arah panah menunjukan dari subclass ke superclass. Dalam UML, hubungan tersebut disebut generalisasi. Sebagai contoh, pada Gambar 2.9, kelas Thoroughbred dan QuarterHorse terbukti subclass dari kelas abstrak Horse. Panah dengan garis putus-putus untuk poros panah menunjukkan implementasi antarmuka. Dalam UML, hubungan tersebut disebut realisasi. Sebagai contoh, pada Gambar 2.9, mengimplementasikan kelas Horse atau menyadari antarmuka OwnedObject.
Gambar 2. 6 Contoh Class diagram Sumber: Software Engineering, Pressman (2010) 2.3 Pengertian Klaim Klaim adalah tuntutan pengakuan atas suatu fakta bahwa seseorang berhak (untuk memiliki atau mempunyai) atas sesuatu. [KBBI, 2015] Klaim adalah merupakan suatu upaya dari salah satu pihak yang terlibat dalam suatu proyek atau kegiatan untuk mendapatkan apa yang seharusnya menjadi haknya yang disertai dengan bukti yang dapat mendukung permintaan tersebut [Rahmah, E, E. 2012]. 2.4 Pengertian Taksi Dalam Pasal 1 butir 9 Peraturan Pemerintah Nomor 41 Tahun 1993, Taksi adalah
jenis mobil penumpang
yang diberi tanda khusus dan dilengkapi dengan
argometer. Dalam hal ini sarana transportasi angkutan umum menjadi salah satu angkutan umum yang mempunyai fungsi sebagai sarana pembantu manusia untuk berpindah dari satu tempta ke tempat lain, dan juga merupakan sebuah sarana alternatif di dalam kota.
http://digilib.mercubuana.ac.id/
16
2.5 Pengertian Voucher Taksi Menurut Rahman [Rahman, 2013] voucher adalah dokumen yang berisi : a. Keterangan ringkas transaksi b. Tanda bukti telah diperiksa c. Persetujuan transaksi untuk dicatat dan dibayar Sistem voucher dirancang untuk membantu dalam pelaksanaan pengawasan terhadap pengeluaran kas. Sistem ini berjalan dengan ketentuan sebagai berikut: a) Kewajiban perusahaan hanya dapat terjadi dari transaksi yang telah disetujui. b) Prosedur yang berkaitan dengan verifikasi, pengesahan, dan pencatatan harus ditetapkan. c) Cek hanya untuk kegiatan yang sudah ditetapkan. Hanya orang tertentu yang diberi wewenang oleh perusahaan untuk mengesahkan transaksi. Dan untuk menciptakan sistem koordinasi yang baik, digunakan business paper atau dokumen seperti berikut. a. Dokumen Permintaan/Pemesanan Pembelian Umumnya rangkap tiga: yang asli untuk pemasok, lembar kedua kebagian akuntansi, dan lembar ketiga arsip bagian pembelian. b. Faktur Merupakan surat yang berisi pernyataan bahwa barang yang tertulis didalamnya telah terjual. c. Laporan penerimaan barang Merupakan surat yang berisi pernyataan bahwa barang yang tertulis didalamnya telah diterima. Voucher taksi merupakan credit voucher untuk memudahkan pembayaran taksi melalui penagihan setiap bulan. Sehingga dengan adanya Credit Voucher tersebut perencanaan dan pengendalian pengeluaran transportasi perusahaan menjadi lebih mudah. [Blue Bird, 2015]. Berikut contoh gambar voucher taksi blue bird :
Gambar 2. 7 Voucher Taksi Blue Bird Group Sumber: Jurnal Speed 13 FTI UNSA Vol 9 No 2, Habibie (2012)
http://digilib.mercubuana.ac.id/
17
Maka dalam penelitian ini yang dimaksud dengan klaim voucher taksi adalah tuntutan pengakuan fakta penggunaan catatan utang atas penggunaan transportasi
angkutan umum yang dilengkapi dengan argometer. 2.6 Website World Wide Web atau lebih sering dikenal sebagai web adalah suatu layanan sajian informasi yang menggunakan konsep hyperlink (tautan), yang memudahkan surfer (sebutan para pemakai komputer yang melakukan browsing atau penelusuran informasi malalui internet)”. Keistimewaan inilah yang telah menjadikan web sebagai service yang paling cepat pertumbuhannya. Web mengizinkan pemberian highlight (penyorotan/penggaris bawahan) pada kata-kata atau gambar dalam sebuah dokumen untuk menghubungkan atau menunjukan ke media lain seperti dokumen, frase, movie clip, atau file suara. web dapat menghubungkan dari sembarang tempat dalam sebuah dokumen atau gambar ke sembarang tempat di dokumen lain. Dengan sebuah browser yang memiliki Graphical User Interface (GUI), link-link dapat dihubungkan ke tujuannya dengan menunjuk link tersebut dengan mouse dan menekannya. Suatu situs web akan dikenal dengan cepat apabila informasi yang disajikan selalu up-to-date dan lengkap. Disadari juga bahwa untuk melakukan up-to-date merupakan suatu permasalahan yang tidak mudah untuk dilakukan, selain membutuhkan waktu juga sangat merepotkan dalam melakukan penambahan atau pengubahan data yang akan disajikan. Jika sebuah situs tidak dirancang secara sistematis, maka akan terjadi kesulitan dan kerepotan dalam melakukan pemeliharaan, meng-update dan melengkapi data. PHP dan database merupakan solusi yang dapat digunakan dalam mengelola situs. Hanya dengan melakukan penambahan atau perubahan data kedalam database tanpa harus melakukan perubahan editing HTML (HyperText Markup Language). Sebuah situs web bisa berupa hasil kerja perorangan atau individu, atau menunjukkan kepemilikan dari suatu organisasi, perusahaan. Biasanya pembahasan dalam sebuah situs web merujuk pada sebuah ataupun topik khusus, atau kepentingan tertentu. Sebuah situs web bisa berisi pranala yang menghubungkan ke situs web lain, demikian pula dengan situs web lainnya. Hal ini terkadang membuat perbedaan antara situs web yang dibuat oleh individu ataupun perseorangan dengan situs web yang dibuat oleh organisasi bisnis menjadi tidak begitu jelas.
http://digilib.mercubuana.ac.id/
18
Situs web biasanya ditempatkan pada server web. Sebuah server web umumnya telah dilengkapi dengan perangkat-perangkat lunak khusus untuk menangani pengaturan nama ranah, serta menangani layanan atas protokol HTTP yang disebut sebagai HTTP Server seperti Apache HTTP Server, atau Internet Information Services (IIS). Keuntungan membuat web diantara lain adalah website dapat digunakan sebagai media promosi dati suatu produk baik itu barang ataupun jasa, media informasi, dan lainlain. [Ardhana, 2012] 2.7 Pengertian HTML HTML (Hypertext Markup Language) adalah bahasa pemrograman dasar dari sebuah Web dan berperan sebagai tulang punggung dari semua halaman web. Di dalam HTML dapat menambahkan JavaScript dan PHP ke halaman web, tetapi untuk infrastruktur dalam pembuatan web adalah dengan menggunakan HTML. [Matthews, 2015]. Meskipun HTML menyediakan infrastruktur penting pada halaman web, namun seiringnya waktu HTML mendapatkan tekanan untuk melakukan update dari beberapa browser dan perangkat, terutama perangkat mobile. Maka HTML mengeluarkan dengan penambahan fitur yang signifikan. Sama seperti sebuah software, HTML memiliki beberapa versi. Versi terakhir yang diperkenalkan adalah HTML5. HTML5 adalah revisi pertama standar utama untuk HTML dalam 15 tahun. Menggantikan kedua HTML 4.01 dan XHTML 1.1, serta banyak penambahan ad hoc dan revisi di penggunaan umum. Sejumlah tag baru dan atribut yang ditambahkan, seperti