Penerapan Metode Behavior-Driven Development Menggunakan Mean Stack dalam Pembuatan Aplikasi Web Marketplace untuk Tour Operator.
ABSTRAK
Seringkali metode pengembangan perangkat lunak tradisional membutuhkan sumber daya yang lebih tinggi pada akhir proyek, hal ini dikarenakan metode pengembangan perangkat lunak itu sendiri yang menyebabkan hal tersebut. Melakukan pengujian saat perangkat lunak sudah selesai merupakan hal pendukungnya. Ketika perangkat lunak yang diujicobakan pada pengguna dan ternyata memiliki beberapa kekurangan padahal masa pengerjaan proyek sudah mendekati akhir maka ini akan menjadi malapetaka bagi pengembang karena sudah tidak ada waktu lagi untuk memperbaiki perangkat lunak tersebut. Hasilnya adalah pengembang menyerahkan perangkat lunak yang cacat kepada konsumen. Metode pengembangan perangkat lunak Agile adalah salah satu metode yang digunakan untuk mengurangi resiko seperti itu. Salah satu metode Agile adalah
Behavior-Driven Development (BDD) yang pertama kali diperkenalkan oleh Dan North.
Metode BDD ini berfokus pada pengembangan perangkat lunak yang sesuai dengan kebutuhan konsumen. Dengan menggunakan komponen-komponen metode Agile yang lain seperti ubiquitous language, domain model, dan Acceptance Test-Driven
Development, BDD mampu mengeliminasi resiko yang timbul dalam metode
tradisional.
Tujuan dari penelitian ini adalah untuk menerapkan metode BDD dalam sebuah pengembangan perangkat lunak dengan studi kasus pembuatan sebuah web
marketplace untuk Tour Operator. Tour Operator adalah sebuah bisnis dalam
bidang kepariwisataan yang produknya adalah paket perjalanan yang sebelumnya sudah ditentukan tujuan, waktu, kegiatan dan harganya. Untuk studi kasus ini, teknologi yang akan digunakan adalah MEAN Stack, yaitu sebuah susunan teknologi yang memiliki bahasa pemrograman serupa yaitu Javascript. MEAN Stack terdiri dari MongoDB sebagai sistem manajemen basis data, NodeJS dan Express sebagai teknologi server, dan AngularJS sebagai teknologi web client.
(2)
ABSTRACT
Traditional software development methods often require higher resource at the end of the project. One of many reason is when the software tested on users when project deadline nearing the end and it have some shortcomings then this would be disastrous because there is no time to fix it. The result is that the software developers submit to stakeholder is defected. Agile software development methods is used to reduce such risks and one of them is Behavior-Driven Development (BDD) method that was first introduced by Dan North. The BDD method focuses on developing software that fits the stakeholders requirements. By using components of other Agile methods such as ubiquitous language, domain models, and Acceptance Test-Driven Development, BDD is able to eliminate the risks that arise in the traditional method.
The purpose of this study is to apply the BDD method on a case study of developing a marketplace for Tour Operators. The technology stack that will be used is MEAN Stack, which is a technology that has a composition of similar base programming language, Javascript. MEAN Stack consists of MongoDB as a database management system, NodeJS and ExpressJS as a server-side technology, and AngularJS as a client-side technology.
(3)
DAFTAR ISI
PRAKATA ... iv
ABSTRAK ... vi
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR GAMBAR ... x
DAFTAR TABEL ... xiv
DAFTAR KODE PROGRAM ... xvi
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah... 4
1.3. Tujuan ... 4
1.4. Batasan Masalah ... 4
1.5. Sistematika Pembahasan... 5
BAB II LANDASAN TEORI ... 7
2.1. Behavior-Driven Development ... 7
2.2. MEAN Stack ... 15
2.3. Electronic Marketplace ... 25
2.4. Tour Operator ... 30
2.5. Test-Driven Development (TDD) ... 32
BAB III ANALISIS DAN DESAIN ... 33
3.1. Analisis ... 33
3.2. Gambaran Keseluruhan ... 34
3.3. Desain Perangkat Lunak ... 65
BAB IV PENGEMBANGAN PERANGKAT LUNAK ... 98
4.1. Implementasi Penyimpanan Data ... 98
4.2. Implementasi Antarmuka ... 101
BAB V TESTING DAN EVALUASI SISTEM ... 115
5.1. Rencana Pengujian ... 115
5.2. Pelaksanaan Pengujian ... 118
(4)
6.1. Kesimpulan ... 137
6.2. Saran ... 138
DAFTAR PUSTAKA ... 139
(5)
DAFTAR GAMBAR
Gambar 1 Diagram Spesifikasi Perangkat Lunak dalam BDD ... 11
Gambar 2 Siklus BDD (Chelimsky, et al. 2010) ... 15
Gambar 3 Struktur MEAN Stack (http://www.mean.io) ... 16
Gambar 4 Penyimpanan data artikel pada database relasional (Banker, 2012) .... 19
Gambar 5 Arsitektur platform Node.js... 22
Gambar 6 Situs jual-beli barang BukaLapak.com ... 27
Gambar 7 Tampilan situs marketplace barang buatan tangan KadoKadi.com ... 28
Gambar 8 Tampilan situs marketplace properti UrbanIndo.com ... 29
Gambar 9 Spesifikasi perangkat lunak menggunakan metode BDD. Dari kiri ke kanan: Visi dan Manfaat. ... 66
Gambar 10 Feature Sets dan Feature dari Manfaat “Pengguna dapat bergabung dengan sistem” ... 67
Gambar 11 Feature Sets dan Feature dari Manfaat “Memudahkan pengguna untuk memasarkan paket tour agar mudah dicari pengguna lain” ... 68
Gambar 12 Feature Sets dan Feature dari Manfaat “Memudahkan komunikasi antar pengguna” ... 69
Gambar 13 Feature Sets dan Feature dari Manfaat “Memudahkan pengguna untuk mengikuti paket tour yang tersedia” ... 69
Gambar 14 Feature Sets dan Feature dari Manfaat “Memudahkan administrator memoderasi sistem” ... 70
Gambar 15 Desain antarmuka halaman utama... 89
Gambar 16 Desain antarmuka halaman registrasi ... 89
Gambar 17 Desain antarmuka halaman login ... 90
Gambar 18 Desain antarmuka halaman lupa password ... 90
Gambar 19 Desain antarmuka halaman mengubah profil pengguna ... 91
Gambar 20 Desain antarmuka halaman mendaftarkan profil operator ... 91
Gambar 21 Desain antarmuka halaman mengubah informasi operator pembayaran dan kontak ... 92
Gambar 22 Desain antarmuka halaman untuk menambah trip baru ... 92
(6)
Gambar 24 Desain antarmuka halaman pesan pribadi ... 93
Gambar 25 Desain antarmuka halaman untuk menulis pesan baru ... 94
Gambar 26 Desain antarmuka halaman untuk menampilkan profil detail pengguna lain... 94
Gambar 27 Desain antarmuka halaman untuk menuliskan testimoni untuk pengguna lain ... 95
Gambar 28 Desain antarmuka halaman untuk pencarian paket trip ... 95
Gambar 29 Desain antarmuka halaman untuk melakukan pendaftaran mengikuti trip ... 96
Gambar 30 Desain antarmuka halaman untuk melakukan konfirmasi pembayaran ... 96
Gambar 31 Desain antarmuka halaman admin untuk melakukan perbuahan pada data profil pengguna ... 97
Gambar 32 Desain antarmuka halaman admin untuk melakukan perubahan pada data trip ... 97
Gambar 33 Implementasi penyimpanan data untuk dokumen Users... 98
Gambar 34 Implementasi penyimpanan data untuk dokumen Operators ... 99
Gambar 35 Implementasi penyimpanan data untuk dokumen Messages ... 99
Gambar 36 Implementasi penyimpanan data untuk dokumen Trips ... 100
Gambar 37 Implementasi penyimpanan data untuk dokumen Trip Member ... 100
Gambar 38 Implementasi penyimpanan data untuk dokumen Testimonials ... 101
Gambar 39 Implementasi antarmuka halaman utama ... 102
Gambar 40 Implementasi antarmuka halaman utama ketika pengguna sudah login ... 102
Gambar 41 Implementasi antarmuka halaman pendaftaran pengguna ... 103
Gambar 42 Implementasi antarmuka halaman login ... 103
Gambar 43 Implementasi antarmuka halaman lupa password ... 104
Gambar 44 Implementasi antarmuka halaman detail profil pengguna ... 105
Gambar 45 Implementasi antarmuka halaman mengubah gambar profil ... 105
Gambar 46 Implementasi antarmuka halaman mengubah profil pengguna ... 106
Gambar 47 Implementasi antarmuka halaman menghapus profil pengguna ... 107
(7)
Gambar 49 Implementasi antarmuka halaman mengubah pengaturan privacy
operator ... 109
Gambar 50 Implementasi antarmuka halaman menambah trip baru ... 109
Gambar 51 Implementasi antarmuka halaman pesan pribadi ... 110
Gambar 52 Implementasi antarmuka halaman detail profil pengguna lain ... 111
Gambar 53 Implementasi antarmuka menulis pesan pribadi kepada pengguna lain ... 112
Gambar 54 Implementasi antarmuka halaman untuk menuliskan testimoni untuk pengguna lain ... 113
Gambar 55 Implementasi antarmuka halaman pencarian paket trip ... 113
Gambar 56 Implementasi antarmuka halaman pendaftaran mengikuti trip ... 114
Gambar 57 Grafik profil responden calon wisatawan ... 124
Gambar 58 Grafik jawaban responden calon wisatawan terhadap pertanyaan 1 125 Gambar 59 Grafik jawaban responden calon wisatawan terhadap pertanyaan 2 125 Gambar 60 Grafik jawaban responden calon wisatawan terhadap pertanyaan 3 126 Gambar 61 Grafik jawaban responden calon wisatawan terhadap pertanyaan 4 126 Gambar 62 Grafik jawaban responden calon wisatawan terhadap pertanyaan 5 127 Gambar 63 Grafik jawaban responden calon wisatawan terhadap pertanyaan 6 127 Gambar 64 Grafik jawaban responden calon wisatawan terhadap pertanyaan 7 128 Gambar 65 Grafik jawaban responden calon wisatawan terhadap pertanyaan 8 128 Gambar 66 Grafik jawaban responden calon wisatawan terhadap pertanyaan 9 129 Gambar 67 Grafik jawaban responden calon wisatawan terhadap pertanyaan 10 ... 129
Gambar 68 Grafik jawaban responden calon wisatawan terhadap pertanyaan 11 ... 130
Gambar 69 Saran dari responden calon wisatawan... 130
Gambar 70 Grafik profil responden tour operator ... 131 Gambar 71 Grafik jawaban responden calon wisatawan terhadap pertanyaan 1 131 Gambar 72 Grafik jawaban responden calon wisatawan terhadap pertanyaan 2 131 Gambar 73 Grafik jawaban responden calon wisatawan terhadap pertanyaan 3 132 Gambar 74 Grafik jawaban responden calon wisatawan terhadap pertanyaan 4 132 Gambar 75 Grafik jawaban responden calon wisatawan terhadap pertanyaan 5 133
(8)
Gambar 76 Grafik jawaban responden calon wisatawan terhadap pertanyaan 6 133 Gambar 77 Grafik jawaban responden calon wisatawan terhadap pertanyaan 7 134 Gambar 78 Grafik jawaban responden calon wisatawan terhadap pertanyaan 8 134 Gambar 79 Grafik jawaban responden calon wisatawan terhadap pertanyaan 9 135 Gambar 80 Grafik jawaban responden calon wisatawan terhadap pertanyaan 10
... 135 Gambar 81 Grafik jawaban responden calon wisatawan terhadap pertanyaan 11
... 135 Gambar 82 Saran dari responden tour operator ... 136
(9)
DAFTAR TABEL
Tabel 1 Perbandingan terminologi pada SQL dan MongoDB ... 20 Tabel 2 Daftar pertanyaan kuisioner untuk pengguna sebagai calon wisatawan 116 Tabel 3 Daftar pertanyaan kuisioner untuk pengguna sebagai trip operator ... 117 Tabel 4 Hasil pengujian berdasarkan skenario untuk Fitur Pendaftaran pada
bagian 3.3.1.3.1 ... 118 Tabel 5 Hasil pengujian berdasarkan skenario untuk Fitur Login pada bagian
3.3.1.3.2... 118 Tabel 6 Hasil pengujian berdasarkan skenario untuk Fitur Logout pada bagian
3.3.1.3.3... 119 Tabel 7 Hasil pengujian berdasarkan skenario untuk Fitur Lupa Password pada
bagian 3.3.1.3.4 ... 119 Tabel 8 Hasil pengujian berdasarkan skenario untuk Fitur Mengubah Gambar
Profil pada bagian 3.3.1.3.5 ... 119 Tabel 9 Hasil pengujian berdasarkan skenario untuk Fitur Mengubah Password
pada bagian 3.3.1.3.6 ... 119 Tabel 10 Hasil pengujian berdasarkan skenario untuk Fitur Mengubah Informasi
Pribadi/Profile pada bagian 3.3.1.3.7 ... 119 Tabel 11 Hasil pengujian berdasarkan skenario untuk Fitur Menonaktifkan Profil
Pengguna pada bagian 3.3.1.3.8... 119 Tabel 12 Hasil pengujian berdasarkan skenario untuk Fitur Mendaftarkan Tour
Operator pada bagian 3.3.1.3.9 ... 120 Tabel 13 Hasil pengujian berdasarkan skenario untuk Fitur Menambahkan
Informasi Pembayaran pada bagian 3.3.1.3.10 ... 120 Tabel 14 Hasil pengujian berdasarkan skenario untuk Fitur Menambahkan
Informasi Kontak pada bagian 3.3.1.3.11 ... 120 Tabel 15 Hasil pengujian berdasarkan skenario untuk Fitur Menambahkan Paket
Tour pada bagian 3.3.1.3.12... 120 Tabel 16 Hasil pengujian berdasarkan skenario untuk Fitur Mengubah Informasi
(10)
Tabel 17 Hasil pengujian berdasarkan skenario untuk Fitur Mengubah Status Paket Tour pada bagian 3.3.1.3.14 ... 121 Tabel 18 Hasil pengujian berdasarkan skenario untuk Fitur Melihat Pesan Pribadi
pada bagian 3.3.1.3.16 ... 122 Tabel 19 Hasil pengujian berdasarkan skenario untuk Fitur Menghapus Pesan
Pribadi pada bagian 3.3.1.3.17 ... 122 Tabel 20 Hasil pengujian berdasarkan skenario untuk Fitur Menulis Testimonial
pada bagian 3.3.1.3.18 ... 122 Tabel 21 Hasil pengujian berdasarkan skenario untuk Fitur Menghapus
Testimonial Yang Dibuat pada bagian 3.3.1.3.19 ... 122 Tabel 22 Hasil pengujian berdasarkan skenario untuk Fitur Pencarian Paket Tour
Berdasarkan Lokasi pada bagian 3.3.1.3.20 ... 122 Tabel 23 Hasil pengujian berdasarkan skenario untuk Fitur Melakukan
Pendaftaram untuk Mengikuti Paket Tour pada bagian 3.3.1.3.21 ... 122 Tabel 24 Hasil pengujian berdasarkan skenario untuk Fitur Melakukan Konfirmasi
Pembayaran pada bagian 3.3.1.3.22... 123 Tabel 25 Hasil pengujian berdasarkan skenario untuk Fitur Admin Menyetujui
Konfirmasi Pembayaran pada bagian 3.3.1.3.23 ... 123 Tabel 26 Hasil pengujian berdasarkan skenario untuk Fitur Admin Mengubah
Informasi Pengguna pada bagian 3.3.1.3.24 ... 123 Tabel 27 Hasil pengujian berdasarkan skenario untuk Fitur Admin Mengubah
(11)
DAFTAR KODE PROGRAM
Kode Program 1 Data dokumen dalam MongoDB disimpan dalam bentuk BSON
(Binary JSON) ... 18
Kode Program 2 Contoh perintah query pada relational database ... 19
Kode Program 3 Contoh perintah query pada MongoDB ... 19
Kode Program 4 Skema Mongoose untuk dokumen Users ... 84
Kode Program 5 Skema Mongoose untuk dokumen Operators ... 85
Kode Program 6 Skema Mongoose untuk dokumen Trips ... 86
Kode Program 7 Skema Mongoose untuk dokumen Trip Member ... 86
Kode Program 8 Skema Mongoose untuk dokumen Messages ... 87
Kode Program 9 Skema Mongoose untuk dokumen Testimonies ... 87
Kode Program 10 Skema Mongoose untuk dokumen Notifications ... 88
(12)
BAB I
PENDAHULUAN
Menurut Dan North (2007), proses pengembangan perangkat lunak dengan metode tradisional seringkali mengalami kegagalan, namun solusi dari permasalahan tersebut bisa diselesaikan menggunakan metode Behavior-Driven
Development (North, 2007). Keuntungan metode tersebut akan diterapkan dengan
menggunakan teknologi MEAN Stack dalam mengembangkan perangkat lunak yang akan membantu Tour Operator memasarkan produk mereka.
1.1. Latar Belakang
Menurut Badan Pusat Statisik Republik Indinesia, kondisi pariwisata Indonesia saat ini sedang mengalami perkembangan. Menurut data yang dikeluarkan oleh Badan Pusat Statistik, secara kumulatif pada priode Januari – Desember 2013, jumlah kunjungan wisatawan mancanegara mencapai 8,80 juta kunjungan atau naik 9,42% dibanding kunjungan wisatawan mancanegara pada periode yang sama tahun sebelumnya, yang berjumlah 8,04 juta kunjungan. Sementara itu, jumlah penumpang angkutan udara domestik pada periode Januari – Desember 2013 mencapai 55,7 juta orang atau naik 2,09% dibanding periode yang sama tahun lalu sebesar 54,5 juta orang. Selama Januari – Desember 2013 jumlah penumpang angkutan udara ke luar negeri, baik menggunakan penerbangan nasional maupun asing mencapai 13,0 juta orang atau naik 9,47% dibandingkan jumlah penumpang pada periode yang sama tahun sebelumnya sebesar 11,9 juta orang (Badan Pusat Statistik Republik Indonesia, 2014). Hal ini menunjukan bahwa peluang bisnis di bidang ini adalah tawaran menarik bagi pengusaha, salah satunya adalah bisnis Tour Operator. Bisnis ini sedang berkembang di Indonesia, hal ini didukung dengan meningkatnya kebutuhan masyarakat akan bepergian baik dikarenakan kebutuhan atau gaya hidup (Harian Ekonomi Neraca, 2013). Peningkatan ekonomi masyarakat Indonesia juga turut mendorong berkembangnya bisnis ini.
Tour Operator adalah sebuah bisnis yang kegiatan utamanya meliputi perencanaan dan penyelenggaraan perjalanan wisata dengan tujuan untuk mendapatkan untung dari penyelenggaraan perjalanan tersebut (Yoeti, 1997, hal.
(13)
2
29). Produk yang dihasilkan oleh Tour Operator adalah paket perjalanan (tour). Saat ini salah satu metode pemasaran produk Tour Operator adalah di dunia internet dengan menggunakan media sosial, blog, atau situs perusahaan yang dikelola sendiri. Dengan kondisi seperti ini tidak jarang konsumen mengalami kesulitan memperoleh informasi produk yang lebih lengkap, seperti detail rencana perjalanan, membandingkan produk yang tersedia di Tour Operator lain, atau pencarian produk dengan kriteria tertentu dari beberapa Tour Operator.
Untuk mengatasi permasalahan diatas akan dibuat sebuah perangkat lunak untuk membantu pihak calon wisatawan untuk mendapatkan informasi paket tour yang tersedia, dan memudahkan tour operator untuk menyimpan data produk trip mereka agar bisa dilihat dan dicari oleh calon wisatawan. Dalam pembangunan perangkat lunak ini dibutuhkan sebuah sistem yang dapat mengalokasi kebutuhan
stakeholder1 dengan baik. Baik itu dari segi komunikasi maupun dari segi
dokumentasi.
Penerapan metode tradisional dalam mengembangkan perangkat lunak seringkali mengalami kegagalan, bukan tidak mungkin tapi dibutuhkan disiplin dan dedikasi yang tinggi untuk dapat menghasilkan perangkat lunak yang berkualitas menggunakan metode tersebut. Permasalahan yang dihadapi saat menggunakan metode tradisional diatara lain adalah: keterlambatan, pembengkakan biaya, perangkat lunak yang tidak sesuai, bahkan perangkat lunak yang dihasilkan mempunyai cacat dalam tahap produksi. Metode tradisional juga terbukti menimbulkan peningkatan kebutuhan sumber daya yang lebih banyak pada tahap akhir proyek yaitu pengujian sampai tahap produksi karena perangkat lunak yang dihasilkan tidak sesuai dengan harapan stakeholder (North, 2007).
Untuk itu diperlukan sebuah metode perangkat lunak yang dapat menyelesaikan permasalahan tersebut. Sebuah metode yang berfokus pada kebutuhan stakeholder akan perangkat lunak tersebut, bukan berfokus pada bagaimana perangkat lunak tersebut didokumentasikan. Metode Behavior-Driven
Development (disingkat BDD) adalah metode yang mengacu pada metodologi Agile, sebuah metodologi yang mempunyai kecenderungan perpektif pada: individu
1 Arti stakeholders dalam BDD adalah pihak yang peduli terhadap proyek perangkat lunak yang sedang dilakukan (Chelimsky, et al. 2010, p. 139). Stakeholder bisa merupakan manajer proyek, investor, bahkan pengembang perangakt lunak tersebut bisa disebut stakeholder.
(14)
3
dan interaksi, perangkat lunak yang berfungsi, kolaborasi konsumen, dan merespon perubahan. Dengan menerapkan metode Behavior-Driven Development perangkat lunak disampaikan pada stakeholder dalam bagian-bagian kecil yang diserahkan secara berkala dalam jangka waktu yang singkat. Hal tersebut dilakukan untuk memastikan tujuan stakeholder mengembangkan perangkat lunak tercapai.
Permasalahan lain yang dapat dipecahkan menggunakan BDD adalah masalah komunikasi antara pengembang dan stakeholders. BDD membantu komunikasi dengan menggunakan bahasa yang mudah dipahami untuk menjelaskan
requirements perangkat lunak yaitu menggunakan User Stories dan Scenarios: Scenarios dituliskan dalam sebuah template yang memudahkan semua pihak untuk
mengerti maksudnya sehingga memudahkan proses komunikasi antara pengembang, stakeholders, dan bahkan penguji sistem.
Dalam membangun perangkat lunak secara Agile, dibutuhkan susunan tools pendukung salah satu diantaranya adalah MEAN Stack. MEAN Stack terdiri manajemen penyimpanan basis data, platform, structural framework dan library yang terdiri dari: MongoDB, ExpressJS, AngularJS, dan Node.js. MEAN Stack dapat mendukung proses pengembangan secara Agile karena selain menggunakan bahasa pemrograman yang sama, setiap komponen MEAN Stack juga diperuntukan untuk membangun perangkat lunak secara Agile. MongoDB adalah sistem penyimpanan data yang bersifat NoSQL, berbeda dengan MS SQL, MySQL, PostgreSQL atau Oracle yang merupakan relational database. MongoDB memiliki kemampuan untuk skalabilitas horizontal yang tinggi. Dengan menggunakan MongoDB sangat memudahkan jika suatu saat sistem yang dibuat berkembang dan menyimpan data lebih kompleks. Node.js adalah platform yang dibangun dengan JavaScript Runtime dari Google untuk membangun sistem secara cepat dengan skalabilitas yang tinggi. Sifat Node.js yang mendukung skalabilitas tinggi sangat cocok jika digabungkan dengan MongoDB sebagai sistem penyimpanan data. ExpressJS adalah Web Application Framework untuk memudahkan membuat aplikasi menggunakan Node.js dan AngularJS adalah structural framework untuk membangun front-end dari aplikasi yang akan dibangun sedangkan MongoDB, Node.js dan ExpressJS akan berperan sebagai back-end dari perangkat lunak.
(15)
4
1.2. Rumusan Masalah
Dengan latar belakang di atas dapat dirumuskan suatu masalah, yaitu: Bagaimana mengembangkan perangkat lunak yang berfokus pada behavior dengan menggunakan teknologi MEAN Stack dalam studi kasus pengembangan sebuah aplikasi web marketplace untuk membantu pemasaran produk bisnis Tour
Operator?
1.3. Tujuan
Tujuan dari Tugas Akhir ini adalah menerapkan metode Behavior-Driven
Development dalam mengembangkan perangkat lunak untuk memastikan behavior
perangkat lunak sesuai dengan requirements (kebutuhan) menggunakan teknologi MEAN Stack dengan studi kasus pembuatan Web Application Marketplace untuk Tour Operator.
1.4. Batasan Masalah
Adapun batasan-batasan masalah dalam penyelesaian Tugas Akhir ini adalah:
1. Pengembangan perangkat lunak akan menggunakan metode
Behavior-Driven Development (BDD), oleh karena itu proses
pemodelan perangkat lunak menggunakan komponen BDD yaitu
Story dan Scenario BDD
2. Dalam kasus ini pengembang bertindak sebagai stakeholder yang akan menentukan Vision, Outcomes, Storie, dan Scenarios.
(16)
5
1.5. Sistematika Pembahasan
Berikut adalah struktur dari laporan penelitan ini:
BAB I PENDAHULUAN
Bagian ini akan membahas permasalahan yang timbul dalam penerapan metode pengembangan perangkat lunak secara tradisional. Permasalahan tersebut akan dipecahkan menggunakan metode Behavior-Driven
Development. Bagian ini juga akan membahas mengenai batasan-batasan
dari penelitian.
BAB II LANDASAN TEORI
Bagian ini akan membahas teori-teori yang akan digunakan dalam penelitian, yaitu: metode Behavior-Driven Development, MEAN Stack (MongoDB, Node.js, ExpressJS, AngularJS), Electronic Marketplace dan Tour Operator.
BAB III ANALISIS DAN DESAIN
Bagian ini akan menjelaskan analisis, gambaran keseluruhan, dan desain dari perangkat lunak. Analisa akan mencakup penggunaan Behavior-Driven
Development sebagai metode pengembangan perangkat lunak dan alasan
penggunaan MEAN Stack. Pada bagian ini juga akan dijelaskan mengenai perancangan perangkat lunak dengan menggunakan Activity Diagram dan pemodelan menggunakan Stories dan Scenarios BDD.
BAB IV PENGEMBANGAN PERANGKAT LUNAK
Bagian ini digunakan untuk menjelaskan perencanaan tahap implementasi, proses perkembangan implementasi proyek, penjelasan mengenai realisasi fungsionalitas dan User Interface Design yang sudah dibuat.
(17)
6
BAB V TESTING DAN EVALUASI SISTEM
Bab ini akan membahas rencana dan rancangan test pada sistem dengan menggunakan skenario-skenario yang dibuat. Pengujian akan dilakukan dengan teknik code by example metode BDD.
BAB VI KESIMPULAN DAN SARAN
Bagian ini digunakan untuk menjelaskan kesimpulan dan saran-saran untuk keperluan pengembangan aplikasi selanjutnya
(18)
BAB VI
KESIMPULAN DAN SARAN
Berdasarkan penelitian yang dilakukan, maka pada bagian ini akan disajikan
saran dan simpulan tentang “Penerapan Metode Behavior-Driven Development Menggunakan MEAN Stack Dalam Pembuatan Aplikasi Web Marketplace untuk Tour Operator”.
6.1. Kesimpulan
Simpulan yang didapat setelah melakukan perancangan dan implementasi pada perangkat lunak yang dibangun adalah sebagai berikut:
6.1.1. Kesimpulan Dalam Tahap Pengembangan
Dengan menggunakan metode Behavior-Driven Development tujuan untuk mengembangkan perangkat lunak yang sesuai dengan spesifikasi dan tujuan
stakeholder bisa tercapai, ini disebabkan oleh pembuatan spesifikasi perangkat
lunak (User Story dan Scenario) yang dapat dimengerti dengan jelas oleh pihak
stakeholder. Hal ini dibuktikan dengan adanya skenario-skenario yang dihasilkan
dari spesifikasi perangkat lunak dan digunakan sebagai acuan untuk melakukan testing perangkat lunak tersebut.
6.1.2. Kesimpulan Kuisioner
Dengan mengambil kesimpulan dari hasil kuisioner yang diisi oleh responden dapat disimpulkan bahwa:
1) Perangkat lunak ini dapat membantu pengguna sebagai trip operator dalam publikasi produk mereka
2) Perangkat lunak ini dapat membantu pengguna sebagai calon wisatawan untuk mendapatkan informasi paket perjalanan yang disediakan oleh trip operator
3) Perangkat lunak ini dapat membantu pihak trip operator dan calon wisatawan untuk memberikan dan menerima feedback dari pengguna lain
(19)
138
6.2. Saran
Saran sangat diperlukan bagi perangkat lunak ini agar dapat berkembang dengan lebih baik. Tujuannya agar perangkat lunak ini dapat lebih informatif dan lebih bermanfaat. Saran-saran pengembangan untuk aplikasi ini, antara lain:
1) Dalam menggunakan metode Behavior-Driven Development (BDD), hal yang sulit adalah ketika menuliskan kode pengujian terlebih dahulu sebelum perangkat lunak itu sendiri, untuk itu diperlukan pengetahuan lebih lanjut mengenai Test-Driven
Development yang merupakan salah satu komponen BDD
2) Perangkat lunak ini terintegrasi dengan Google Maps untuk memudahkan pengguna lebih mengenal destinasi yang ditawarkan 3) Mengembangkat fitur rating untuk produk dan trip operator, hal ini
untuk memudahkan pengguna yang sudah menggunakan jasa trip operator memberikan feedback yang dapat diakumulasikan dalam bentuk angka. Rating ini disimpan dalam database dan berguna bagi calon pengguna di masa yang akan datang.
4) Menerapkan sistem grade atau tingkatan kesulitan dalam tiap paket trip agar mengikuti paket perjalanan yang sesuai dengan kemampuannya dan pengguna dapat mempersiapkan fisik
(20)
DAFTAR PUSTAKA
Badan Pusat Statistik Republik Indonesia. (2014). Perkembangan Pariwisata Dan
Transportasi Nasional Desember 2013. Jakarta: Badan Pusat Statistik
Republik Indonesia.
Bakos, J. Y. (1991). A Strategic Analysis of Electronic Marketplaces. MIS
Quarterly, 295-310.
Banker, K. (2012). MongoDB In Action. Shelter Island, New York: Manning Publications Co.
Cantelon, M., Harter, M., Holowaychuk, T. J., & Rajlich, N. (2014). Node.js in
Action. Shelter Island, New York: Manning Publications Co.
Chelimsky, D., Astels, D., Dennis, Z., Helmkamp, B., & North, D. (2010). The
RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends. Raleigh, North Carolina: The Pragmatic Programmers, LLC.
Google. (n.d.). What is Angular? Retrieved April 17, 2014, from AngularJS: http://docs.angularjs.org/guide/introduction
Harian Ekonomi Neraca. (2013, September 21). Menuai Rupiah dari Bisnis
Perjalanan Wisata. Dipetik Februari 18, 2014, dari Neraca.co.id:
http://www.neraca.co.id/article/33185/Menuai-Rupiah-dari-Bisnis-Perjalanan-Wisata/
Hughes-Croucher, T., & Wilson, M. (2012). Node: Up and Running. Sebastopol,
California: O’Reilly Media, Inc.
North, D. (2007, February 11). What's In A Story. Retrieved from Dan North & Associates: http://dannorth.net/whats-in-a-story/
Sihite, R. (2000). Tourism Industry (Kepariwisataan). Surabaya: Penerbit SIC. Smashing Boxes. (2013, November 14). Introduction to the MEAN Stack [video].
Retrieved from Smashing Boxes:
http://www.smashingboxes.com/introduction-to-the-mean-stack-video/ Solís, C., & Wang, X. (2011). A Study of the Characteristics of Behaviour Driven.
Software Engineering and Advanced Applications (SEAA), 2011 37th EUROMICRO Conference on, 383 - 387.
(21)
140
Spot, Tech. (2012, Januari 9). Patterns for Building High Performance
Applications. Retrieved from Sys-Con Media: http://java.sys-con.com/node/2116436
(1)
Universitas Kristen Maranatha 1.5. Sistematika Pembahasan
Berikut adalah struktur dari laporan penelitan ini:
BAB I PENDAHULUAN
Bagian ini akan membahas permasalahan yang timbul dalam penerapan metode pengembangan perangkat lunak secara tradisional. Permasalahan tersebut akan dipecahkan menggunakan metode Behavior-Driven
Development. Bagian ini juga akan membahas mengenai batasan-batasan
dari penelitian.
BAB II LANDASAN TEORI
Bagian ini akan membahas teori-teori yang akan digunakan dalam penelitian, yaitu: metode Behavior-Driven Development, MEAN Stack (MongoDB, Node.js, ExpressJS, AngularJS), Electronic Marketplace dan Tour Operator.
BAB III ANALISIS DAN DESAIN
Bagian ini akan menjelaskan analisis, gambaran keseluruhan, dan desain dari perangkat lunak. Analisa akan mencakup penggunaan Behavior-Driven
Development sebagai metode pengembangan perangkat lunak dan alasan
penggunaan MEAN Stack. Pada bagian ini juga akan dijelaskan mengenai perancangan perangkat lunak dengan menggunakan Activity Diagram dan pemodelan menggunakan Stories dan Scenarios BDD.
BAB IV PENGEMBANGAN PERANGKAT LUNAK
Bagian ini digunakan untuk menjelaskan perencanaan tahap implementasi, proses perkembangan implementasi proyek, penjelasan mengenai realisasi fungsionalitas dan User Interface Design yang sudah dibuat.
(2)
6
BAB V TESTING DAN EVALUASI SISTEM
Bab ini akan membahas rencana dan rancangan test pada sistem dengan menggunakan skenario-skenario yang dibuat. Pengujian akan dilakukan dengan teknik code by example metode BDD.
BAB VI KESIMPULAN DAN SARAN
Bagian ini digunakan untuk menjelaskan kesimpulan dan saran-saran untuk keperluan pengembangan aplikasi selanjutnya
(3)
137 Universitas Kristen Maranatha
BAB VI
KESIMPULAN DAN SARAN
Berdasarkan penelitian yang dilakukan, maka pada bagian ini akan disajikan saran dan simpulan tentang “Penerapan Metode Behavior-Driven Development Menggunakan MEAN Stack Dalam Pembuatan Aplikasi Web Marketplace untuk Tour Operator”.
6.1. Kesimpulan
Simpulan yang didapat setelah melakukan perancangan dan implementasi pada perangkat lunak yang dibangun adalah sebagai berikut:
6.1.1. Kesimpulan Dalam Tahap Pengembangan
Dengan menggunakan metode Behavior-Driven Development tujuan untuk mengembangkan perangkat lunak yang sesuai dengan spesifikasi dan tujuan
stakeholder bisa tercapai, ini disebabkan oleh pembuatan spesifikasi perangkat
lunak (User Story dan Scenario) yang dapat dimengerti dengan jelas oleh pihak
stakeholder. Hal ini dibuktikan dengan adanya skenario-skenario yang dihasilkan
dari spesifikasi perangkat lunak dan digunakan sebagai acuan untuk melakukan testing perangkat lunak tersebut.
6.1.2. Kesimpulan Kuisioner
Dengan mengambil kesimpulan dari hasil kuisioner yang diisi oleh responden dapat disimpulkan bahwa:
1) Perangkat lunak ini dapat membantu pengguna sebagai trip operator dalam publikasi produk mereka
2) Perangkat lunak ini dapat membantu pengguna sebagai calon wisatawan untuk mendapatkan informasi paket perjalanan yang disediakan oleh trip operator
3) Perangkat lunak ini dapat membantu pihak trip operator dan calon wisatawan untuk memberikan dan menerima feedback dari pengguna lain
(4)
138
6.2. Saran
Saran sangat diperlukan bagi perangkat lunak ini agar dapat berkembang dengan lebih baik. Tujuannya agar perangkat lunak ini dapat lebih informatif dan lebih bermanfaat. Saran-saran pengembangan untuk aplikasi ini, antara lain:
1) Dalam menggunakan metode Behavior-Driven Development (BDD), hal yang sulit adalah ketika menuliskan kode pengujian terlebih dahulu sebelum perangkat lunak itu sendiri, untuk itu diperlukan pengetahuan lebih lanjut mengenai Test-Driven
Development yang merupakan salah satu komponen BDD
2) Perangkat lunak ini terintegrasi dengan Google Maps untuk memudahkan pengguna lebih mengenal destinasi yang ditawarkan 3) Mengembangkat fitur rating untuk produk dan trip operator, hal ini
untuk memudahkan pengguna yang sudah menggunakan jasa trip operator memberikan feedback yang dapat diakumulasikan dalam bentuk angka. Rating ini disimpan dalam database dan berguna bagi calon pengguna di masa yang akan datang.
4) Menerapkan sistem grade atau tingkatan kesulitan dalam tiap paket trip agar mengikuti paket perjalanan yang sesuai dengan kemampuannya dan pengguna dapat mempersiapkan fisik
(5)
139 Universitas Kristen Maranatha
DAFTAR PUSTAKA
Badan Pusat Statistik Republik Indonesia. (2014). Perkembangan Pariwisata Dan
Transportasi Nasional Desember 2013. Jakarta: Badan Pusat Statistik
Republik Indonesia.
Bakos, J. Y. (1991). A Strategic Analysis of Electronic Marketplaces. MIS
Quarterly, 295-310.
Banker, K. (2012). MongoDB In Action. Shelter Island, New York: Manning Publications Co.
Cantelon, M., Harter, M., Holowaychuk, T. J., & Rajlich, N. (2014). Node.js in
Action. Shelter Island, New York: Manning Publications Co.
Chelimsky, D., Astels, D., Dennis, Z., Helmkamp, B., & North, D. (2010). The
RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends. Raleigh, North Carolina: The Pragmatic Programmers, LLC.
Google. (n.d.). What is Angular? Retrieved April 17, 2014, from AngularJS: http://docs.angularjs.org/guide/introduction
Harian Ekonomi Neraca. (2013, September 21). Menuai Rupiah dari Bisnis
Perjalanan Wisata. Dipetik Februari 18, 2014, dari Neraca.co.id:
http://www.neraca.co.id/article/33185/Menuai-Rupiah-dari-Bisnis-Perjalanan-Wisata/
Hughes-Croucher, T., & Wilson, M. (2012). Node: Up and Running. Sebastopol, California: O’Reilly Media, Inc.
North, D. (2007, February 11). What's In A Story. Retrieved from Dan North & Associates: http://dannorth.net/whats-in-a-story/
Sihite, R. (2000). Tourism Industry (Kepariwisataan). Surabaya: Penerbit SIC. Smashing Boxes. (2013, November 14). Introduction to the MEAN Stack [video].
Retrieved from Smashing Boxes:
http://www.smashingboxes.com/introduction-to-the-mean-stack-video/ Solís, C., & Wang, X. (2011). A Study of the Characteristics of Behaviour Driven.
Software Engineering and Advanced Applications (SEAA), 2011 37th EUROMICRO Conference on, 383 - 387.
(6)
140
Spot, Tech. (2012, Januari 9). Patterns for Building High Performance
Applications. Retrieved from Sys-Con Media: http://java.sys-con.com/node/2116436