2.1. Tinjauan Pustaka
Tinjauan pustaka yang digunakan pada penelitian ini dari penelitian sebelumnya digunakan untuk mendukung penelitian yang sedang dilakukan. Daftar literature yang digunakan antara lain :
Tabel 2.1 Daftar Literatur No
Literatur
Penulis Tahun Judul
01
Helmi Kurniawan
2015
Perancangan Sistem Informasi Bengkel Mobil Berbasis Web
02
I Made Widnyana, I Nyoman Piarsa, A. A.
K. Agung Cahyawan
2015
Aplikasi Sistem Informasi Geografis Bengkel di Kota Denpasar Berbasis Android
03
Farizan Luthfi
2017
Penggunakan Framework Laravel Dalam Merancang Bangun Modul Back- End Artikel Website Bisnisbisnis.ID
04
Mohammad
Shahbana, Sarwosri,
Dwi Sunaryono 2017
Rancang Bangun Integrasi Aplikasi Sistem Kehadiran Mahasiswa Menggunakan Kerangka Kerja Laravel Studi Kasus Jurusan Teknik Informatika ITS
Tabel 2.1 Daftar Literatur (Lanjutan) No
Literatur
Penulis Tahun Judul
05
Bagas Tri Pamungkas
dan Abdul Aziz 2017
Mobile Application Development For E- Commerce Vendpad Using Ionic Framework
06
Paula Dewanti dan Putu Adi Guna Permana
2017
Pengembangan Aplikasi Hybrid Menggunakan Ionic 2 Framerowk dan Angular 2
07
M. Rofiq dan Suci Imani Putri
2017
Perancangan Sistem Pemesanan Rumah Sakit di Kota Malang Menggunakan Ionic Framework Berbasis Mobile Phone
2.1.1. Tinjauan Literatur 01
Helmi Kurniawan (2015) Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika, dengan judul Perancangan Sistem Informasi Bengkel Mobil Berbasis Web. Pada penelitian ini mengangkat masalah proses melayani pelanggan pada bengkel mobil yang datang untuk memperbaiki atau mengambil mobilnya mangalami berbagai masalah dalam melakukan transaksi. Transaksi tersebut terkadang tidak berjalan dengan lancar sehingga pelanggan malakukan keluhan terhadap pelayanan yang ada. Keluhan yang dilakukan oleh pelanggan berupa pencatatan data
pelanggan dan pembayaran sebuah transaksi yang dilakukan menggunakan pencatatan dalam sebuah buku yang menyebabkan proses transaksi terhambat. Pemberian informasi pada pelanggan mengenai bengkel mobil hanya dilakukan apabila terdapat pelanggan yang menanyakan langsung, sehingga tidak semua pelanggan mendapatkan informasi bengkel mobil, proses pelayanan yang dilakukan menjadi lambat. Hasil dari penelitian ini adalah mengembangkan sistem informasi bengkel mobil yang dapat menyajikan informasi akurat dan cepat yang dibutuhkan oleh pelanggan, sistem informasi dapat mencatat keluhan pelanggan, sistem informasi ini juga menyajikan informasi-informasi berupa jadwal perawatan mobil, jadwal pengambilan, dan rincian pembayaran. Sistem informasi bengkel mobil pada penelitian ini dibangun berbasis web.
2.1.2. Tinjauan Literatur 02
I Made Widnyana, I Nyoman Piarsa, A. A. K. Agung Cahyawan W (2015) Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana, dengan judul penelitian Aplikasi Sistem Informasi Geografis Bengkel di Kota Denpasar Berbasis Android. Dalam penelitian ini mengangkat masalah masyarakat Denpasar yang memiliki kendaraan memutuhkan service kendaraan secara rutin. Bengkel alternatif atau bukan dealer resmi dapat menjadi pilihan alternatif dalam memperbaiki kendaraan yang mogok mendadak untuk sementara, sebelum di bawa ketempat service resmi.
Namun tidak semua bengkel alternatif ini bertahan lama dalam usaha. Sehingga menyulitkan masyarakat dalam melakukan service kendaraan. Hasil dari penelitian yang dilakukan yaitu sebuah aplikasi sistem informasi geografis bengkel yang dapat
membantu konsumen untuk mendapatkan informasi yang lengkap mengenai bengkel.
Aplikasi ini juga dapat membantu pemilik bengkel untuk memajukan usahanya, pemilik bengkel juga dapat melakukan pembaharuan data informasi bengkel dan promo event sebagai sarana promosi.
2.1.3. Tinjauan Literatur 03
Farizan Luthfi (2017) Jurusan Teknik Informatika dan Komputer, Politeknik Negeri Jakarta, dengan judul penelitian Penggunaan Framework Laravel dalam Rancang Bangun Modul Back-End Artikel Website Bisnisbisnis.ID. Dalam penelitian ini dilakukan pembuatan modul Back-End artikel dari website Bisnisbisnis.ID menggunakan framework Laravel dan database MySql. Hasil pada penelitian ini yaitu modul artikel yang dibuat pada Back-end telah berhasil di tampilkan pada halaman Front-end. Penggunakan framework Laravel pada pembuatan website Bisnisbisnis.ID lebih memudahkan programmer karena syntax laravel yang bersih dan fungsional serta library yang banyak dan mudah digunakan sehingga dapat mempercepat pembangunan modul artikel.
2.1.4. Tinjauan Literatur 04
Mohammad Shahbana Satriawan, Sarwosri, dan Dwi Sunaryono (2017) Departemen Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS), dengan judul Rancang Bangun Integrasi Aplikasi Sistem Kehadiran Mahasiswa Menggunakan Kerangka Kerja Laravel Studi Kasus Jurusan Teknik Informatika ITS. Pada penelitian ini mengangkat masalah sistem validasi
kehadiran mahasiswa di dalam kelas dilakukan secara menual yaitu melakukan tanda tangan di kertas, hal ini menimbulkan kecurangan dalam sistem kehadiran yang sering dilakukan dengan cara titip absen. Titip absen merupakan kejadian dimana masaiswa telah absen tanda tangan manual namum pada kenyataannya mahasiswa tersebut tidak hadir di kelas. Dengan menggunakan validasi manual ini, mahasiswa lain dapat memberi tanda tangan kehadiran untuk mahasiswa lain. Hasil dari penelitian ini adalah terbuatnya aplikasi yang mampu memenuhi kebutuhan di Teknik Informatika ITS mengenai sistem informasi kahadiran mahasiswa, aplikasi ini dapat mengintegrasi data-data pada aplikasi web dan mobile serta mempermudah proses pencatatan dan perekapan data kehadiran. Kerangka kerja Laravel sangat baik digunakan sebagai penyedia RestAPI karena memudahkan dalam Query data melalui Eloquent.
2.1.5. Tinjauan Literatur 05
Bagas Tri Pamungkas dan Abdul Aziz (2017) Jurusan Teknik Informatika, Fakultas MIPA, Universitas Sebelas Maret Surakarta, dengan judul penelitian Mobile Application Development For E-Commerce Vendpad Using Ionic Framework. Dalam penelitian ini Vendpad merupakan aplikasi berbasis website yang membantu penggunanya dalam mengelola sisbis penjualannya, baik secara offline maupun online.
Aplikasi ini memiliki beberapa fitur seperti dashboard yang digunakan untuk admin pemiliki toko mengelola produk, mengelola transaksi, dan melihat statistik penjualan.
Selain itu juga memiliki fitur website toko (layanan e-commerce) dimana pembeli bisa memesan produk-produk yang ditawarkan pengguna layanan Vendpad secra online.
Untuk lebih mempermudah pembeli dalam berbelanja di salah satu toko pada aplikasi
Vandpad, maka dikembangkan aplikasi toko Vendpad berbasis Mobile. Hasil dari penelitian yang dilakukan yaitu sebuah aplikasi mobile e-commerce Venpad dengan menggunakan framework hybrid pengembangan aplikasi mobile ionic 2.
2.1.6. Tinjauan Literatur 06
Paula Dewanti dan Putu Adi Guna Permana (2017) STMIK STIKOM Bali/Sistem Komputer, dengan judul penelitian Pengembangan Aplikasi Hybrid Menggunakan Ionic 2 Framework dan Angular 2. Penelitian dilakuakn untuk mengetahui bagaimana pengembangan aplikasi hybrid menggunakan ionic dan Angular 2 yang dapat dijalankan pada sistem operasi yang berbeda untuk menghasilkan efisiensi didalam proses pembuatan perangkat lunak berbasis mobile. Hasil dari penelitian ini dengan bantuan Ionic 2 Framework, dapat dijalankan di mobile operating system yang berbeda seperti Android, iOs dan Windows Phone. Pada penelitian ini disimpulkan bahwa Ionic 2 sangat sederhana dan mudah digunakan, kemungkinan pengembang untuk membuat kode pada TypeScript, HTML dan CSS untuk menghasilkan aplikasi lintas platform hybrid yang secara penuh memiliki fungsional bagi pengguna.
2.1.7. Tinjauan Literatur 07
M. Rofiq dan Suci Imani Putri (2017) STMIK ASIA Malang, dengan judul Perancangan Sistem Pemesanan Rumah Sakit di Kota Malang Menggunakan Ionic Framework berbasis Mobile Phone. Dalam penelitian ini mengangkat masalah banyaknya fasilitas pada rumah sakit membuat pasien tidak mengetahui fasilitas apa
saja yang disediakan oleh rumah sakit, karena semua proses transaksi dilakukan secara menual dan langsung ke rumah sakit, atau dengan cara menelpon langsung pihak rumah sakit untuk mengetahui fasilitas yang ada. Hasil dari penelitian yang dilakukan yaitu sebuah aplikasi pemesanan fasilitas rumah sakit, aplikasi yang dibuat dapat membantu pasien dapat mengakses informasi atau melakukan pemesanan fasilitas dimanapun dan kapanpun, dalam aplikasi terdapat beberapa fitur yang dapat memudahkan pengguna dalam mendapatkkan kemudahan tanpa harus mendatangi pihak rumah sakit dalam proses pemesanan. Pada penelitian ini menggunakan framework ionic membuat sistem pada aplikasi menjadi lebih mudah untuk dikembangkan.
Dari tujuh tinjauan literature yang dilakukan sebagai pendukung dalam penelitian ini, terdapat perbedaan dengan penelitian yang dilakukan ini. Pada dua tinjauan literature yang dilakukan oleh Helmi Kurniawan dan I Made Widnyana, dimana pada penelitian tersebut meghasilkan sebuah sistem informasi bengkel mobil berbasis web dan sistem informasi geografis bengkel berbasis android, penelitian tersebut hanya menampilkan sebuah sistem informasi dan informasi geografis bengkel.
Berdasarkan pengujian yang telah dilakukan kedua penelitian menghasilkan aplikasi yang dibuat dapat membantu masyarakat dalam mendapatkan informasi bengkel dan juga membantu pemilik bengkel memajukan usahanya.
Tinjauan literature ketiga dan keempat yang dilakukan oleh Farizan Luthfi dan Mohammad Shahbana, dari kedua penelitian tersebut membahas penerapan Framework Laravel dalam rancang bangun aplikasi. Hasil dari penelitian yang telah dilakukan didapatkan bahwa penerapan framework laravel dapat membantu mempermudah dalam pembuatan aplikasi karena syntax laravel yang bersih dan
fungsional serta library yang banyak dan mudah digunakan sehingga dapat mempercepat pembangunan aplikasi.
Tinjauan literature kelima, enam, dan tujuh yang dilakukan oleh Bagas Tri Pamungkas, Paula Dewanti, dan M. Rofiq, dimana pada ketiga penelitian tersebut membahas penggunaan framework Ionic dalam pembuatan aplikasi berbasis mobile.
Hasil dari ketiga penelitian tersebut disimpulkan penggunakan framework Ionic membuat sistem pada aplikasi menjadi mudah dikembangkan dan Ionic 2 sangat sederhana dan mudah digunakan, kemungkinan pengembang untuk membuat kode pada TypeScript, HTML dan CSS untuk menghasilkan aplikasi lintas platform hybrid yang secara penuh memiliki fungsional bagi pengguna.
Penelitian yang dilakukan oleh peneliti kasus yang dibahas yaitu “Aplikasi Bengkel Online Berbasis Android” sistem informasi bengkel sangat diperlukan dengan ditambah fitur lengkap yang menyediakan layanan penjemputan kendaraan yang rusak oleh pihak bengkel, dan penerapan framework laravel dan Ionic yang memberikan kemudahan dalam pengembangan aplikasi.
2.2. Framework
Menurut (Ahmad, 2015) Framework adalah komponen pemrograman yang siap re-use (bisa digunakan ulang), sehingga programmer tidak harus membuat skrip yang sama untuk tugas / proyek yang sama.
2.3. Aplikasi Hybrid
Aplikasi hybrid adalah gabungan antara aplikasi native dan aplikasi web.
Pengembangan aplikasi hybrid menggunakan HTML5, JavaScript, CSS3 dan Ionic Framework yang di dalamnya terdapat compiler Apache Cordova atau PhoneGap.
2.4. HTML 5
Hypertext Markup Language atau biasa dikenal dengan HTML merupakan suatu metode untuk mengimplementasikan konsep hypertext dalam suatu naskah atau dokumen. HTML bukan tergolong pada suatu bahasa pemrograman karena sifatnya yang hanya memberikan tanda (marking up) pada suatu naskah teks dan bukan sebagai program. HTML merupakan protokol yang digunakan untuk mentransfer data atau dokumen dari web server ke dalam browser. HTML memiliki banyak versi dan versi terbaru saat ini adalah HTML5. HTML5 adalah versi terbaru teknologi hypertext atau web yang sekarang ini masih dalam tahap pengembangan. Munculnya versi terbaru dari HTML yakni HTML versi ke-5, membawa beberapa elemen-elemen baru untuk mewujudkan struktur halaman web yang lebih baik. Elemen HTML sendiri merupakan semua hal yang terdapat diantara start tag sampai end tag. Beberapa elemen-elemen baru yang terdapat pada HTML5 dapat dilihat pada Tabel 2.2.
Tabel 2.2 Tag HTML 5
Tag Keterangan
<article>
Digunakan untuk menspesifikasikan konten yang bersifat independen, seperti artikel, blog post, forum post dan sejenisnya
<aside>
Digunakan untuk sebuah subkonten. Biasanya digunakan di dalam tag <article>
<bdi>
Digunakan untuk teks yang tidak boleh terikat pada arah tekselemen induknya
<command> Sebuah button atau radiobutton atau checkbox.
Tag Keterangan
<details>
Digunakan untuk menjelaskan detail tentang sebuah dokumen atau sebagian dari dokumen.
<summary>
Digunakan pada sebuah ringkasan dan sejenisnya di dalam tag
<details>
<figure>
Digunakan untuk mengelompokkan sekumpulan section, biasanya berupa video.
<figcaption>
Berisi caption atau keterangan yang ditempatkan di dalam tag
<figure>
<footer> Digunakan sebagai footer dari sebuah halaman.
<header> Digunakan sebagai header dari sebuah halaman.
<hgroup> Digunakan untuk sekumpulan heading.
<mark> Digunakan pada teks yang di highlight.
<meter>
Digunakan untuk pengukuran, yang nilai maksimal dan minimalnya telah ditentukan.
<nav> Digunakan untuk sekumpulan navigasi.
<progress> Digunakan untuk membuat progress bar.
<ruby> Digunakan untuk anotasi ruby.
<rt> Menjelaskan anotasi ruby.
<rp> Menunjukkan elemen jika browser tidak mendukung ruby.
<section>
Menunjukkan sebuah section di dalam halaman seperti bab, footer dan sebagainya.
<time> Digunakan untuk mendefinisikan waktu dan tanggal.
<wbr>
Word Break digunakan untuk memisahkan suatu kata bila diperlukan
Versi terbaru dari HTML memiliki beberapa fitur baru yang belum ada pada versi-versi sebelumnya. Fitur-fitur baru yang dimilki HTML5 adalah:
1. Canvas
Fitur yang satu ini memungkinkan developer untuk memasukkan objek 2D atau 3D kedalam halaman web. Canvas dapat membuat render grafik, diagram, gambar dan animasi secara dinamis.
2. Doctype
HTML lama biasanya memiliki doctype yang panjang, sedangkan HTML5 memiliki doctype yang lebih singkat.
3. HTML5 Audio
Salah satu fitur baru HTML5 lainnya adalah disediakannya tag baru yang memungkinkan untuk memutar audio tanpa menggunakan plugin tambahan seperti Flash Player.
4. HTML5 Video
Fitur multimedia lainnya yang didukung oleh HTML5 adalah video, jika pada HTML selama ini harus menggunakan Flash Player untuk memasukkan konten video, maka pada HTML5 tidak perlu lagi menggunakannya.
5. Geolocation
Adalah Sebuah API (Aplication Programming Interface) yang menarik, yang memungkinkan pengguna untuk berbagi lokasi dengan aplikasi web.
6. Media Penyimpanan (Storage)
Halaman web dapat menyimpan data secara lokal dalam browser pengguna yang sebelumnya hal ini dilakukan dengan cookie, namun berimbas pada penyimpanan web yang lebih aman dan lebih cepat. Data ini tidak disertakan dengan setiap permintaan server, tetapi digunakan hanya ketika meminta. Hal ini juga memungkinkan untuk menyimpan data dalam jumlah besar, tanpa mempengaruhi kinerja website. Data disimpan dalam kunci atau nilai pasangan dan halaman web hanya dapat mengakses data yang disimpan dengan sendirinya. HTML5 mendukung beberapa jenis media penyimpanan baru yaitu
Web Storage (name or value pairs), Indexed DB dan Web SQL Database.
Keuntungan dari adanya berbagai macam media penyimpanan ini adalah peningkatan kecepatan dari aplikasi.
7. WebSocket API
Fitur komunikasi yang paling powerfull di spesifikasi HTML5 adalah.
WebSocket, yang mendefinisikan saluran komunikasi full-duplex yang beroperasi melalui soket tunggal dalam web. WebSocket tidak hanya peningkatan tambahan untuk konvensional komunikasi HTTP, melainkan merupakan kemajuan yang besar, terutama untuk real-time, event-driven aplikasi web.
8. Semantic atau Struktur Element yang Baru.
Web menjadi lebih dinamis dan menarik akibat fitur ini. Fitur ini menjadikan website yang menggunakan teknologi HTML5 lebih mudah dikenali oleh Google Search Engine sehingga web sering muncul pada mesin pencari Google dan lebih sering diakses serta cepat diketahui oleh orang lain.
9. Web Workers
Seringkali ditemukan jika halaman web yang memiliki banyak JavaScript yang berakibat pada browser melambat dan komputer nge-hang, tetapi dengan adanya Web Workers memungkinkan halaman web untuk memproses JavaScript yang dimiliki dengan respon yang lebih cepat dan multitasking.
2.5. CSS 3
Cascading Style Sheet (CSS) merupakan salah satu bahasa pemrograman web untuk mengatur beberapa komponen atau elemen dalam sebuah web sehingga lebih terstruktur dan seragam dengan HTML atau script. CSS memiliki 3 versi, yaitu CSS1, CSS2 dan CSS3. CSS3 melakukan penataan terhadap komponen HTML maupun XHTML pada halaman web sehingga menghasilkan tampilan yang ramah dimata atau retina friendly. CSS pada mulanya dipelopori dan dikembangkan serta distandarisasi oleh World Wide Web Consortium atau W3C pada tahun 1996. CSS versi ketiga melakukan berbagai pemutakhiran terhadap kemampuannya beradaptasi dengan teknologi multimedia yang semakin modern, diantara pemutakhiran tersebut adalah (Fauzy 2014):
1. CSS3 mampu membuat efek animasi secara independen tanpa membutuhkan software tambahan seperti Adobe Flash dan Microsoft Silverlight.
2. CSS3 mampu memberikan efek grafis terhadap teks, kolom, tabel serta penataan huruf.
3. CSS3 mampu menampilkan berbagai macam dan jenis huruf selain websafe fonts.
4. CSS3 mampu merekonstruksi secara visual tampilan block, seperti merubah ukuran kotak, transformasi 2D atau 3D, memberikan efek sudut dan bayangan.
CSS3 dapat memanipulasi secara visual warna, desain maupun tekstur.
2.6. JavaScript
JavaScript diperkenalkan pertama kali oleh Netscape pada tahun 1995.
JavaScript merupakan bahasa yang berbentuk kumpulan script yang berfungsi untuk memberikan tampilan yang tampak lebih interaktif pada dokumen web. Bahasa pemograman JavaScript berisi skrip yang pemasangannya terselip di sebuah dokumen HTML, sehingga bahasa JavaScript tidaklah memerlukan sebuah kompilator atau penerjemah khusus. JavaScript dapat membuat sebuah halaman web menjadi lebih dinamis dan interaktif terhadap user karena halaman web mampu berfungsi sebagai sebuah program aplikasi yang dapat memproses masukan yang diberikan user dan memberikan hasil sesuai dengan yang telah di perintahkan. JavaScript membuat beban server menjadi lebih ringan dan halaman web akan jauh lebih cepat merespon, bahkan pada koneksi internet yang paling rendah sekalipun. JavaScript termasuk kategori bahasa yang case sensitive artinya sangat membedakan penamaaan variabel dan fungsi dalam penggunaan antara huruf besar dan huruf kecil. Kelebihan dari penggunaan JavaScript adalah sebagai berikut:
1. Lebih praktis dan mudah sebab bahasa pemograman JavaScript memiliki seidikit sintaks.
2. Koneksi lebih cepat sebab peletakan program terdapat di sisi client, ukuran file sangat kecil dan dapat langsung dijalankan di browser.
Selain memiliki beberapa kelebihan, JavaScript juga memiliki beberapa kekurangan antara lain:
1. Pengelolaan objek dalam JavaScript sangat terbatas.
2. Penggunaan skrip dapat di-copy langsung melalui web browser, sehingga setiap orang dapat menggunakan program JavaScript yang telah dibuat.
2.7. Ionic
Ionic adalah kerangka ponsel HTML5 dengan fokus pada kinerja yang memanfaatkan akselerasi hardware dan tidak memerlukan pihak ketiga seperti JS library. Ionic bekerja bersama-sama dengan Angular.js untuk membangun sebuah aplikasi interaktif. Aplikasi hybrid pada dasarnya ialah website kecil yang berjalan di shell browser, sebuah aplikasi yang memiliki akses ke lapisan platform asli dari sebuah device. Aplikasi hybrid memiliki banyak manfaat jika dibandingkan dengan aplikasi native, khususnya dalam hal mendukung platform dan kecepatan pengembangan Ionic dilengkapi dengan elemen UI mobile dan layout yang mirip dengan SDK asli pada iOS atau Android. Ionic memerlukan Cordova untuk menjalankan aplikasi. Ionic juga menggunakan AngularJS untuk melakukan banyak fungsi inti dari framework.
2.8. Laravel
Laravel adalah framework MVC pengembangan web yang ditulis menggunakan bahasa pemrograman PHP. Laravel telah dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya, baik biaya pengembangan awal dan biaya pemeliharaan, serta memberikan sintaks ekspresif yang jelas dan set fungsi inti yang akan menghemat waktu pengerjaan. Laravel adalah salah satu dari beberapa kerangka bahasa pemrograman PHP yang menawarkan code modular. Hal ini dicapai melalui kombinasi driver dan sistem bundle-nya. Driver memungkinkan kita untuk
dengan mudah mengubah dan memperluas caching, session, database, dan fungsi otentikasi. Penggunaan bundle mampu mengemas hingga segala jenis kode untuk digunakan kembali atau untuk memberikan kepada seluruh pengguna Laravel. Laravel merupakan framework php yang kuat dan fleksibel, laravel memiliki komunitas yang berkembang dan luas (Stauffer Matt, 2016).
2.9. Android
Menurut (Busran and Yunanda, 2015) Android adalah suatu sistem operasi yang didesain sebagai platform open source untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka.
Android juga menyediakan semua tools dan framework untuk mengembangkan aplikasi dengan mudah dan cepat. Dengan adanya Android SDK (Software Development Kit) pengembang aplikasi dapat memulai pembuatan aplikasi pada platform menggunakan bahasa pemrograman JAVA.
2.10. Web Service
Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service (Perdede dkk, 2013).
2.11. Unifeid Modelling Language (UML)
Menurut (A.S. and Shalahuddin, 2015) UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG. UML terbaru adalah UML 2.3 yang terdiri dari 4 macam spesifikasi, yaitu diagram interchange specification, UML infrastructure, UML Superstructure, dan objek constraint language.
2.11.1. Use Case Diagram
Menurut (A.S. and Shalahuddin, 2015) “Use Case Diagram merupakan pemodelan untuk mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara besar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Tabel 2.3 Simbol-Simbol Use Case Diagram
Simbol Keterangan
Use Case Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antara unit atau aktor;
biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama Use Case
Aktor / actor Orang, aktor, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase nama aktor.
Nama use case
Tabel 2.3 Simbol-Simbol Use Case Diagram (Lanjutan)
Simbol Keterangan
Ekstensi / extend
<<extend>>
Relasi Use Case tambahan kesebuah Use Case Dimana Use Case yang ditambahkan dapat berdiri sendiri walau tanpa Use Case tambahan itu; mirip dengan prinsip inheritance pada pemrograman beroritentasi objek;
biasanya Use Case tambahan memiliki nama depan yang sama dengan Use Case yang ditambahkan, arah panah menuju pada use case yang dituju.
Include
<<include>>
Relasi Use Case tambahan ke sebuah Use Case di mana Use Case yang ditambahkan memerlukan Use Case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan Use Case ini.
Generalisasi Relasi antara kelas dengan makna generalisasi- generalisasi (umum khusus)
Asosiasi / Association Komunikasi antara aktor dan Use Case yang berpartisipasi pada Use Case atau Use Case memiliki interaksi dengan aktor.
Sumber : (A.S. and Shalahuddin, 2015)
2.11.2. Class Diagram
Menurut (A.S. and Shalahuddin, 2015) Class diagram merupakan gambaran dari stuktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut:
1. Kelas main, yaitu kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
2. Kelas yang menangani tampilan sistem, yaitu kelas yang mendefinisikan dan mengatur tampilan ke pemakai.
3. Kelas yang diambil dari pendefinisian use case, yaitu kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case.
4. Kelas yang diambil dari pendefinisian data, yaitu kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data.
Tabel 2.4 Simbol-Simbol Clas Diagram
Simbol Keterangan
Package Package merupakan sebuah bungkusan dari satu atau lebih kelas.
Operasi
Kelas pada struktur system
Antarmuka / interface Sama dengan konsep interface dalam pemrograman berorientasi objek
Peckage
Nama Kelas +atribut1 +opration()
Tabel 2.4 Simbol-Simbol Clas Diagram (Lanjutan)
Simbol Keterangan
Asosiasi / Association Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
Kebergantungan / dependency Relasi antar kelas dengan makna kebergantungan antar kelas.
Agregasi / aggregation Relasi antar kelas dengan makna semua-bagian (whole-part)
Asosiasi berarah / Directed Assosiation
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasnya juga disertai dengan multiplicity
Generalisasi Relasi antara kelas dengan makna generalisasi- generalisasi (umum khusus)
Sumber : (A.S. and Shalahuddin, 2015)
2.11.3. Activity Diagram
Menurut (A.S. and Shalahuddin, 2015) Activity Diagram adalah diagram aktivitas yang menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
1. Rancangan proses binis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelempokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
Tabel 2.5 Simbol-Simbol Activity Diagram
Simbol Keterangan
Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
Percabangan / decision Asosiasi percabangan di mana jika ada pilihan aktivitas lebih dari satu
Penggabungan / join Asosiasi penggabungan Diana lebih dari satu aktivitas digambarkan menjadi satu
Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Swimlane Memisahkan organisasi bisnis yang
bertanggung jawab terhadap aktivitas yang terjadi.
Sumber : (A.S. and Shalahuddin, 2015)
Nama Swimline
2.12. Metode Pengembangan Sistem
Metode pengembangan sistem diperlukan untuk membangun suatu sistem yang kompleks secara sistematis dan terintegrasi agar dapat menuntun pembuat sistem untuk menghasilkan sebuah sistem yang standar. Metode Extreme Programming (XP) merupakan salah satu metode pengembangan perangkat lunak yang termasuk dalam agile development. Ada 5 hal penting yang menjadi dasar dari metode ini ( Pressman, 2010).
1. Communication
Komunikasi yang efektif antara pengembang dengan pihak-pihak yang memiliki kepentingan sangat penting untuk menentukan fitur dan fungsi dari perangkat lunak yang akan dibuat, serta memberikan pandangan kepada pengembang sesuai dengan pandangan pengguna perangkat lunak.
2. Simplicity
Metode XP membatasi pengembang untuk merancang hanya untuk kebutuhan saat ini, daripada kebutuhan yang akan datang. Hal ini bertujuan agar dapat menghasilkan rancangan yang sederhana, yang mudah diimplementasikan pada code. Jika rancangan harus dikemabangkan, dapat dilakukan dilain waktu (refactored).
3. Feedback
Umpan balik didapat dari tiga sumber, yang pertama adalah implementasi perangkat lunak itu sendiri, customer, dan team pengembang lainnya. Hal ini bertujuan untuk mengetahui kemajuan dari proses dan kualitas dari perangkat lunak yang dibangun agar hal-hal yang menjadi masalah dalam proses pembangunan dapat diketahui dari awal.
Setiap feedback yang diterima, ditanggapi dengan melakukan tes dan dilakukan secepatnya.
4. Courage
Courage adalah komitmen untuk selalu melakukan design dan coding untuk hari ini dan bukan untuk esok, dan menyadari bahwa kebutuhan esok akan bisa berubah secara dramatis, sehingga menuntut pengembang untuk melakukan refactor.
5. Respect
Dengan mengikuti langkah-langkah diatas, tim harus menghormati anggota tim lainnya, tidak boleh melalukan perubahan yang dapat merusak kompikasi dan memperlambat kerja tim.
Menurut Pressman (2010), Extreme Programming (XP) menggunakan pendekatan object oriented dan mencakup seperangkat aturan yang terjadi dalam 4 kerangka kegiatan: planning, design, coding, and testing
Gambar 2.1 Metode Pendekatan Extreme Programming Sumber: (Pressman, 2010)
Berikut tahapan dalam model Extreme Programming:
1. Planning (Perencanaan)
Kegiatan Planning dilakukan dengan mengumpulkan user stories, yang menjelaskan mengenai output, fitur dan fungsionalitas dari software yang dibuat. Pengumpulan user stories ini dilakukanguna memungkinkan tim developer dapat memahami konteks bisnis aplikasi yang dikembangkan dan leluasa mengembangkan aplikasi guna memenuhi kebutuhan dan fungsi utama.
User stories menjadi alat komunikasi antara customer dan timdeveloper dapat mempertimbangkan perilisan yang tersisa sehingga memungkinkan terjadi modifikasi pada tahap perencanaan.
2. Design (Perancangan)
Design pada XP mengikuti prinsip KIS (Keep it Simple). Design yang dibuat lebih sederhana karena lebih banyak disukai dibandingkan design yang complex. Sedangkan untuk design yangrumit XP menyarankan menggunakan Spike Solution, dimana pembuatan design langsung ke tujuan. XP juga mendukung adanya refactoring, proses perubahan software system menjadi lebih simple.
3. Coding
Coding dalam XP diawali dengan melakukan serangkaian tes, tes yang dilakukan harus berfokus pada implementasi untuk melewati tes. Dalam XP juga direkomendasikan pair programming dimana penelitiaan program dilakukan oleh dua orang programmer dalam satu computer agar didapat real time problem solving dan real time quality assurance.
4. Testing
Testing dilakukan melalui pengujian kode pada unit testing. XP juga merekomendasikan untuk dilakukan customer test, yaitu pengujian yang dilakukan oleh customer yang berfokus kepada fitur dan fungsi dari sistem secara keseluruhan. Customer test ini berasal dari user stories yang telah diimplementasikan.