34
PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM MENGGUNAKAN WORKFLOW ENGINE (STUDI KASUS PT AMN INDONESIA) YURIZAL ROSA ANDIKA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2018

PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM

MENGGUNAKAN WORKFLOW ENGINE

(STUDI KASUS PT AMN INDONESIA)

YURIZAL ROSA ANDIKA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2018

Page 2: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar
Page 3: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Business

Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN

Indonesia) adalah benar karya saya dengan arahan dari komisi pembimbing dan

belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber

informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak

diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam

Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, Juli 2018

Yurizal Rosa Andika

NIM G64144068

Page 4: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

ABSTRAK

YURIZAL ROSA ANDIKA. Pengembangan Business Trip Management Sytem

Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia). Dibimbing oleh

IRMAN HERMADI.

Perjalanan dinas merupakan aktivitas perjalanan yang dilakukan oleh

karyawan dengan tujuan peningkatan profit perusahaan. Perjalanan dinas yang

dilakukan melalui dua tahap yaitu pengajuan rencana perjalanan dan pelaporan

hasil perjalanan. Tahap pengajuan perjalanan dilakukan dengan membuat rencana

perjalanan. Setelah perjalanan dilakukan setiap karyawan akan memberikan laporan

hasil perjalanan. PT AMN Indonesia selaku konsultan dalam bidang teknologi

informasi mengusulkan solusi pengelolaan perjalanan bisnis yang disebut Business

Trip Management System (BTMS) yang memiliki 2 fungsi utama yaitu Travel

Application yang digunakan untuk membuat pengajuan rencana perjalanan dan

Settlement untuk membuat laporan pertanggungjawaban perjalanan. Penelitian ini

mengembangkan salah satu fungsi tersebut yaitu fungsi Travel Application. Fungsi

Travel Application diintegrasikan dengan workflow engine. Fungsi Travel

Application telah berhasil dikembangkan dan diuji. Pengembangan dilakukan

dengan tiga tahapan yaitu perancangan arsitektur, perancangan prototipe dengan

metode Evolutionary Prototyping, dan pengembangan sistem dengan metode

Incremental. Pengujian yang dilakukan mencakup integrasi antara fungsi Travel

Application dan workflow engine.

Kata kunci: perjalanan dinas, Evolutionary Prototyping, Incremental, workflow

ABSTRACT

YURIZAL ROSA ANDIKA. Business Trip Management System Development

Using Workflow Engine (Case Study PT AMN Indonesia). Supervised by IRMAN

HERMADI.

Business travel is travel activity undertaken by employees with the aim of

increasing corporate profits. Business travel go through two phases there is travel

plan and travel reporting. Travel plans submission doing by create some travel

plans. After the trip is done employee will provide reports on the results of travel.

PT AMN Indonesia as a consultant of information technology proposed a business

travel management solution called Business Trip Management System (BTMS)

which has two main functions there is Travel Application which is used to make

the travel plan and Settlement to make travel account report. This research develop

one of them that is Travel Application function. Travel Application function is

integrated with workflow engine. The Travel Application function has been

successfully developed and tested. The development is done by three stages there

is architecture design, prototype design with Evolutionary Prototyping method, and

system development with Incremental method. Tests conducted include the

integration between the Travel Application function and workflow engine.

Keywords: business travel, Evolutionary Prototyping, Incremental, workflow

Page 5: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer

pada

Departemen Ilmu Komputer

PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM

MENGGUNAKAN WORKFLOW ENGINE

(STUDI KASUS PT AMN INDONESIA)

YURIZAL ROSA ANDIKA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2018

Page 6: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

Penguji :

1 Dean Apriana Ramadhan, SKomp MKom

2 Firman Ardiansyah, SKom MSi

Page 7: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar
Page 8: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

Judul Skripsi : Pengembangan Business Trip Management System Menggunakan

Workflow Engine (Studi Kasus PT AMN Indonesia)

Nama : Yurizal Rosa Andika

NIM : G64144068

Disetujui oleh

Irman Hermadi, SKom MS PhD

Pembimbing

Diketahui oleh

Prof Dr Ir Agus Buono, MSi MKom

Ketua Departemen

Tanggal Lulus:

Page 9: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas

segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Terima kasih

kepada kedua orang tua ku, Ibu Eti Rohaeti dan Bapak Syahrial Ambun Suri yang

senantiasa mendoakan dan menyayangi, tidak ada balasan sebesar apapun yang

dapat mengganti segala yang telah mereka berikan. Terima kasih kepada kakakku

Jumiati Roza Prihatini dan adikku Rizki Rosa Buana Putra yang senantiasa men-

support dan menyayangi. Terima kasih kepada Bapak Ruslan dan Bapak Heru yang

senantiasa memberikan nasihat terbaik untuk penulis dalam berbagai aspek. Terima

kasih kepada Nurul Safitri dan keluarga yang juga senantiasa memberikan

dukungan dan doanya. Terima kasih kepada Kusuma Indra Putra, Muhammad Arief

Kalbuadi, Herdian Septa, Ahmad Isyfalana Amin, dan Dian Purnamasari yang

dengan sabar dan ikhlas membantu penulis dalam menyelesaikan karya ini. Terima

kasih kepada Bapak Harry Saputra Kartono yang telah mengajarkan banyak hal

kepada penulis. Terima kasih kepada Bapak Irman Hermadi, SKom MS PhD atas

bimbingannya selama ini.

Penelitian ini diambil dari contoh kasus yang diberikan oleh PT AMN

Indonesia sebagai bentuk challenge untuk menguji produk yang diproduksi oleh

penulis. Contoh kasus yang diberikan adalah kasus business trip untuk menguji

produk yang telah dikembangkan oleh penulis, yaitu produk Azka Framework,

Azka Code Generator, dan Azka Workflow Engine (Azka-WF). Kasus business trip

dipilih untuk menguji kemampuan workflow dalam mengakomodir kebutuhan

perusahaan yang memiliki workflow yang berbeda-beda.

Penelitian ini juga dilakukan untuk mencari dan menguji metode yang tepat

yang dapat digunakan dalam software development khususnya di Indonesia.

Teknologi yang telah dikembangkan oleh penulis akan dicoba dengan metode

dalam penelitian ini untuk melihat kecocokan antara teknologi yang telah

dikembangkan dan metode pengembangannya.

Semoga karya ilmiah ini bermanfaat.

Bogor, Juli 2018

Yurizal Rosa Andika

Page 10: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

DAFTAR ISI

DAFTAR GAMBAR vi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 3

Manfaat Penelitian 3

Ruang Lingkup Penelitian 3

METODE 3

Tahapan Penelitian 3

Perancangan Arsitektur Software 3

Perancangan Prototipe dengan Metode Evolutionary Prototyping 4

Pengembangan Sistem dengan Metode Incremental 5

Lingkungan Pengembangan 6

HASIL DAN PEMBAHASAN 7

Perancangan Arsitektur Software 7

Perancangan Prototipe Iterasi 1 10

Perancangan Prototipe Iterasi 2 12

Pengembangan Back-End dengan Metode Incremental 13

Pengembangan Back-End Iterasi 1 15

Pengembangan Back-End Iterasi 2 17

SIMPULAN DAN SARAN 21

Simpulan 21

Saran 22

DAFTAR PUSTAKA 22

RIWAYAT HIDUP 23

Page 11: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

DAFTAR GAMBAR

3 Tahapan Penelitian 3 4 Evolutionary Prototyping 4 5 Incremental 5 6 Arsitektur Software 7 7 Token Request dan Resource Request 9

8 Contoh konfigurasi service dummy 9 9 Use case diagram Business Trip Management System 11

10 Prototipe Travel Application iterasi 1 12

11 Prototipe Travel Application iterasi 2 13 12 Class diagram Business Trip Management System 14 13 Unit Test Explorer 15 14 Method sebelum refactoring 16

15 Method hasil refactoring 17 16 Method setelah refactoring 17 17 Registrasi Tipe Dokumen 18 18 Registrasi web service pada workflow engine 19

19 Konfigurasi email pada workflow engine 19 20 Konfigurasi workflow 20

21 Registrasi instance workflow 20

Page 12: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

PENDAHULUAN

Latar Belakang

Business travel atau perjalanan dinas didefinisikan sebagai aktivitas

perjalanan yang dilakukan oleh karyawan perusahaan dengan tujuan meningkatkan

profit perusahaan. Aktivitas perjalanan yang memiliki potensi peningkatan profit

diantaranya negosiasi, pameran produk, pelatihan, kongres, konferensi, dan lain-

lain (Rocholl 2012). Perjalanan yang akan dilakukan memerlukan rincian kegiatan

dan rincian biaya untuk menunjang perjalanan, rincian biaya yang diperlukan

diantaranya biaya transportasi, hotel, konsumsi, dan lain-lain.

Business travel yang dikelola oleh berbagai perusahaan pada umumnya

terbagi menjadi 2 tahap yaitu tahap perencanaan dan pertanggungjawaban

perjalanan. Proses perencanaan perjalanan yang dilakukan pada umumnya adalah

membuat rencana perjalanan serta rincian biaya perjalanan yang dibutuhkan selama

kegiatan business travel berlangsung. Perjalanan yang telah dilakukan akan

dilaporkan kembali kepada perusahaan, laporan tersebut mencakup kegiatan dan

penggunaan biaya yang dikeluarkan selama perjalanan.

Pengajuan rencana perjalanan akan dilakukan oleh requester. Requester

adalah pihak yang bertanggungjawab mendefinisikan rencana perjalanan dan

kebutuhan biaya yang akan digunakan. Rencana yang telah dibuat akan dikaji oleh

approver. Approver merupakan pihak yang akan memeriksa seluruh kebutuhan

biaya yang diajukan serta menentukan perjalanan yang diajukan dapat terlaksana

atau tidak.

Perjalanan yang telah disetujui dan dilaksanakan perlu dibuat laporan

perjalanan. Laporan perjalanan yang dibuat mencakup perincian penggunaan biaya

yang telah digunakan. Jika laporan biaya yang digunakan memiliki sisa, maka pihak

yang terlibat dalam kegiatan akan mengembalikan sisa biaya kepada perusahaan,

namun ketika biaya yang dilaporkan lebih besar maka perusahaan akan mengganti

kekurangan biaya tersebut dengan pertimbangan tertentu.

Permasalahan pengelolaan business travel membutuhkan sebuah solusi untuk

menangani perencanaan dan pertanggungjawaban perjalanan. PT AMN Indonesia

selaku perusahaan yang berfokus pada pengembangan software mengusulkan

sebuah solusi business travel yang disebut sebagai Business Trip Management

System (BTMS) yang berfungsi mengelola pengajuan rencana perjalanan dan

pertanggungjawabannya. BTMS yang dikembangkan didesain generic sebagai

software as a service (SaaS) agar dapat digunakan oleh berbagai bentuk

perusahaan.

BTMS akan memiliki 2 fungsi utama yaitu Travel Application dan

Settlement. Travel Application akan digunakan untuk mengajukan rencana

perjalanan yang akan dilakukan. Settlement digunakan untuk memberikan laporan

hasil perjalanan. Penelitian ini mengembangkan salah satu fungsi tersebut yaitu

fungsi Travel Application.

Pengembangan BTMS sebagai SaaS memerlukan penelitian yang serius. Hal

ini dikarenakan sistem yang dikembangkan harus mampu melayani berbagai bentuk

perusahaan. BTMS sendiri pada dasarnya memiliki kesamaan antara satu

Page 13: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

2

perusahaan dengan perusahaan lainnya, namun pada standard operating procedure

(SOP) dalam pengelolaannya memiliki perbedaan yang signifikan.

SOP yang berbeda-beda perlu diakomodasi diluar sistem BTMS, untuk itu

BTMS perlu diintegrasikan dengan sistem lain. Penelitian ini akan

mengintegrasikan BTMS dengan workflow engine. Workflow engine akan

digunakan untuk mengelola SOP yang dibutuhkan oleh perusahaan. Workflow

berisi deskripsi bisnis proses yang ada di dalam sebuah organisasi serta informasi

mengenai task yang harus dilakukan oleh masing-masing individu di dalam sebuah

organisasi (Georgakopoulos 1995).

Fungsi Travel Application dan workflow dirancang terpisah, pemisahan

dilakukan untuk menghindari terjadinya tighly coupled antara proses workflow dan

proses bisnis pada aplikasi. Tighly coupled merupakan keterikatan yang erat antar

modul dalam hal implementasi kode program. Keadaan tighly coupled akan

menghasilkan isu yang cukup sulit ditangani ketika dibutuhkan perubahan pada sisi

workflow. Pemisahan antara aplikasi utama dan workflow akan menghasilkan

keadaan loosely coupled. Loosely coupled merupakan kondisi keterikatan yang

rendah antar modul di dalam aplikasi, keadaan ini memberikan kemudahan ketika

terjadi perubahan workflow, perubahan alur dapat dilakukan hanya pada sisi

workflow tanpa mempengaruhi proses bisnis yang ada pada aplikasi (Buschman

2007).

Workflow engine yang digunakan adalah Azka Workflow Engine (Azka-WF).

Azka-WF merupakan produk SaaS yang menyediakan layanan workflow yang

dinamis. Azka-WF pada penelitian ini digunakan untuk menangani workflow yang

dinamis di dalam BTMS, sehingga workflow yang ada pada BTMS dapat diubah

sesuai kebutuhan perusahaan yang menggunakan layanan BTMS.

Selain workflow engine penelitian ini akan dikerjakan menggunakan tools

Azka Code Generator. Tools tersebut digunakan untuk membuat prototipe dan kode

dasar seperti fungsi create, read, update, dan delete (CRUD). Diharapkan

penggunaan tools tersebut akan memberikan kemudahan dalam pengembangan

sistem dan mempersingkat waktu pengembangan.

Perumusan Masalah

Pengelolaan business travel pada berbagai perusahaan umumnya memiliki

tahapan yang sama yaitu perencanaan dan pertanggungjawaban perjalanan.

Meskipun memiliki tahap yang hampir sama namun memiliki perbedaan SOP yang

signifikan. Perbedaan SOP ini berpotensi menghasilkan isu yang cukup sulit

ditangani ketika SOP digabungkan dengan aplikasi utama secara langsung. PT

AMN Indonesia mengusulkan sebuah solusi bisnis dalam bentuk sistem informasi

yang dinamakan Business Trip Management System (BTMS) yang dapat

memberikan layanan pengelolaan business trip pada berbagai jenis perusahaan.

Layanan yang akan dikembangkan adalah sistem yang mampu mengakomodir

perbedaan SOP dari berbagai perusahaan.

Page 14: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

3

Tujuan Penelitian

Tujuan dari penelitian ini adalah mengembangkan sebuah layanan untuk

fungsi Travel Application pada Business Trip Management System (BTMS)

menggunakan workflow engine yang dapat digunakan oleh berbagai perusahaan.

Manfaat Penelitian

Setiap perusahaan dapat menggunakan layanan Travel Application pada

Business Trip Management System (BTMS) sesuai dengan SOP masing-masing

perusahaan.

Ruang Lingkup Penelitian

Penelitian ini akan mengembangkan fungsi Travel Application yang ada di

dalam BTMS yang diintegrasikan dengan workflow engine. Selain pengembangan

fungsi Travel Application, penelitian ini akan membahas secara singkat mengenai

penggunaan workflow dalam menangani kebutuhan BTMS sebagai SaaS.

METODE

Tahapan Penelitian

Penelitian dilakukan dalam 3 tahapan yaitu perancangan arsitektur software,

membuat prototipe sistem dengan metode Evolutionary Prototyping, dan

pengembangan sistem dengan metode Incremental. Tahapan penelitian

diilustrasikan pada Gambar 1.

Perancangan Arsitektur Software

Perancangan arsitektur yang dilakukan mencakup perancangan layering dan

pemilihan design pattern yang digunakan. Layering merupakan salah satu teknik

yang digunakan oleh software designer yang digunakan untuk memecah tingkat

kompleksitas yang ada di dalam sistem (Fowler 2003). Layering ini memiliki

keuntungan yaitu adanya standarisasi dan meminimalisir keterikatan antar layer.

Layering akan memberikan kemudahan dalam pencarian kesalahan ketika software

telah selesai dibuat. Design pattern merupakan solusi-solusi yang telah dihasilkan

dari permasalahan-permasalahan yang sering terjadi dalam pengembangan

software.

Gambar 1 Tahapan Penelitian

Tahapan Penelitian

Tahapan Penelitian

Tahapan Penelitian

Page 15: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

4

Perancangan Prototipe dengan Metode Evolutionary Prototyping

Metode Evolutionary Prototyping merupakan salah satu metode iterative

yang biasa digunakan untuk mengembangkan software yang kebutuhan fungsi dan

fiturnya belum jelas. Metode ini digunakan untuk menggali informasi kebutuhan

sistem yang akan dikembangkan, informasi tersebut mencakup fungsi, fitur, dan

interaksi yang terjadi antara user dengan sistem (Pressman 2010). Penggunaan

metode ini digunakan untuk mendesain user interface dan kebutuhan sistem yang

nantinya akan dideskripsikan dalam document specification. Tahapan yang

dilakukan yaitu communication, quick plan, prototyping, dan feedback yang

diilustrasikan pada Gambar 2.

1. Communication

Proses komunikasi yang dilakukan pada kasus ini dilakukan dalam bentuk

wawancara kepada Bapak Harry Saputra Kartono selaku Software Architect dan

penanggungjawab dalam penelitian ini. Proses komunikasi bertujuan untuk

menggali informasi kebutuhan sistem BTMS, penggalian informasi mencakup

target pengguna, penggunaan sistem, dan aturan bisnis yang akan

diimplementasikan pada BTMS.

2. Quick Plan

Setelah permasalahan telah teridentifikasi melalui proses komunikasi,

dilakukan perencanaan terhadap kebutuhan sistem yang akan dikembangkan,

perencanaan tersebut mencakup breakdown modul apa saja yang akan

dikembangkan dan penjadwalan terhadap pengembangan modul.

3. Prototyping

Pada fase prototyping akan dibuat user interface yang akan digunakan oleh user.

Fungsi yang ditampilkan masih belum memiliki logika dari proses bisnis

aplikasi yang akan dikembangkan, pada tahap ini user interface hanya

menampilkan alur penggunaan aplikasi.

4. Feedback

Prototipe yang telah dibuat akan dipresentasikan, pada tahap ini akan

didapatkan feedback dari prototipe yang telah diajukan. Jika masih terdapat

perubahan, maka akan dilakukan iterasi berikutnya untuk mendapatkan

kesepakatan antar kedua belah pihak.

Fase prototyping ini dilakukan maksimum dalam 3 iterasi, iterasi 1 akan

berfokus pada perancangan prototipe dengan tingkat medium fidelity, pada tahap ini

prototipe dibuat menggunakan Azka Code Generator. Iterasi 2 akan dikembangkan

prototipe dengan tingkat high fidelity, pada tahap ini prototipe akan dijalankan

Gambar 2 Evolutionary Prototyping

Page 16: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

5

diatas Azka Presentation Engine, presentation engine ini menyediakan dummy

services yang dapat terintegrasi langsung dengan prototipe yang telah dibuat, serta

memberikan simulasi proses CRUD pada aplikasi. Iterasi 3 akan dilakukan jika

hasil prototipe pada iterasi 2 memerlukan perubahan.

Pengembangan Sistem dengan Metode Incremental

Metode Incremental digunakan untuk mengembangkan sistem yang

kebutuhannya sudah cukup jelas. Metode ini menggabungkan elemen-elemen

linear dan proses paralel pada fase pengembangannya. Increemental menghasilkan

produk pada setiap iterasinya, iterasi pertama akan didapatkan kebutuhan dasar

sistem, fitur lainnya akan didapatkan pada iterasi selanjutnya sehingga pada setiap

iterasi tidak langsung menghasilkan seluruh fitur (Pressman 2010). Tahapan yang

dilakukan dalam setiap iterasi adalah requirement, development, testing, code

review, retesting, dan implementation, tahapan metode Incremental diilustrasikan

pada Gambar 3.

1. Requirement

Tahap requirement dilakukan oleh business analyst, tahap ini dilakukan

perancangan kebutuhan sistem yang akan dikembangkan, pada tahap ini dibuat

document specification sebagai panduan pengembangan fungsi. Kebutuhan

sistem didapatkan dari hasil metode sebelumnya, pada metode sebelumnya

dijelaskan bahwa prototipe yang telah dihasilkan akan dideskripsikan pada

document specification.

2. Development

Document specification yang telah selesai diserahkan kepada programmer

untuk diimplementasikan ke dalam kode program komputer. Programmer akan

mengimplementasikan sistem sesuai dengan document specification. Sistem

yang telah diimplementasikan tidak langsung diserahkan kepada tester untuk

diuji, progammer akan melakukan pengujian terlebih dahulu pada saat

development sebelum masuk ke dalam tahap testing. Pengujian yang dilakukan

pada saat development menggunakan unit test untuk menguji setiap fungsi yang

telah dibuat. Unit test merupakan bagian dari kode program berupa method-

method yang memanggil method lainnya untuk menguji kebenaran dari method

yang dipanggil dengan melakukan perbandingan return value dari method yang

dipanggil dengan nilai asumsi yang diharapkan (Osherove 2014).

Gambar 3 Incremental

Page 17: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

6

3. Testing

Sistem yang telah selesai dikembangkan akan dilakukan pengujian oleh tester.

Tester akan menguji sistem sesuai dengan testing scenario yang ada di dalam

document specification. Tahap ini akan menghasilkan 2 status yaitu need bugfix

atau done. Status need bugfix akan segera diserahkan kembali kepada

programmer untuk segera dilakukan perbaikan.

4. Code Review

Tahap code review dilakukan oleh tim arsitek, ditahap ini kode program yang

telah dibuat oleh programmer akan dievaluasi, evaluasi dilakukan pada sisi

logika program dan struktur kode program pada setiap fungsi. Hasil review akan

diberikan kepada programmer untuk dilakukan refactoring terhadap spaghetti

code dan fungsi-fungsi yang kurang efisien, sehingga diharapkan mampu

menghasilkan program yang berkualitas dengan performance yang baik.

5. Retesting

Tahap pengujian ulang dilakukan setelah proses code review, tahapan ini

dilakukan ulang oleh tester dengan tujuan memastikan hasil code review tidak

mengganggu fungsi yang telah ada, jika terjadi bugs maka akan langsung

dilakukan perbaikan oleh programmer.

6. Implementation

Tahap ini dilakukan deployment sistem di server, deployment yang dilakukan

mencakup setup database, webserver, dan setup konfigurasi sistem. Tahap ini

juga dilakukan pengujian terhadap hasil deployment, pengujian tersebut

diantaranya memastikan koneksi webserver ke dalam database telah berhasil,

konfigurasi sistem telah sesuai, dan seluruh data di dalam master data telah siap

digunakan.

Lingkungan Pengembangan

Spesifikasi minimum perangkat keras dan perangkat lunak yang dibutuhkan

untuk penelitian ini adalah:

1 Perangkat Keras

a. Processor : Intel Core i3

b. RAM : 8 GB

c. Hardisk : 256 GB

d. VGA : 512 MB

2 Perangkat Lunak

a. IDE untuk front-end : Visual Studio Code

b. IDE untuk back-end : Visual Studio 2017 Community Edition

c. DBMS : Microsoft SQL Server 2014

d. UML Case Tools : Visual Paradigm Community Edition

e. Workflow engine : Azka Workflow Engine (Azka-WF)

f. Web browser : Google Chrome

g. Package manager : npm

Page 18: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

7

HASIL DAN PEMBAHASAN

Perancangan Arsitektur Software

BTMS yang akan dikembangkan sebagai SaaS memerlukan sebuah arsitektur

software yang digunakan dalam pengembangannya. Arsitektur dirancang untuk

melakukan standarisasi dalam fase pengembangan sistem. Arsitektur yang

dihasilkan diharapkan mampu mengakomodir kebutuhan dalam pengembangan

sistem BTMS dan memberikan kemudahan dalam maintenance.

Aplikasi yang dikembangkan dibagi menjadi 2 bagian yaitu front-end dan

back-end. Front-end dikembangkan menggunakan Angular 5, front-end bertindak

sebagai presentation layer yang akan berinteraksi langsung dengan user. Arsitektur

front-end terbagi menjadi 5 layer yaitu service, component, view, model, dan model

filter. Arsitektur pada back-end terbagi menjadi 6 layer yaitu object relational

mapping (ORM), model, model filter, data access object (DAO), service, dan Web

API. Arsitektur software diilustrasikan pada Gambar 4.

1. Front-End Arsitektur

a. View

View merupakan HTML Template yang akan ditampilkan kepada user

sebagai media interaksi antara sistem dan user (Angular 2018).

Gambar 4 Arsitektur Software

Component

Service

View

Mo

del

Mo

del

Fil

ter

Front-End

HTTP Request (POST / GET)

JSON Format

DBMS

Users

Page 19: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

8

b. Components

Components merupakan class yang menghubungkan data pada aplikasi

dengan view. Data yang didapat oleh component akan ditampilkan melalui

HTML Template yang didefinisikan sebagai view (Angular 2018).

c. Services

Services digunakan untuk melakukan sharing data antar components, serta

melakukan post dan get data ke dalam resource server (Angular 2018).

d. Model

Model merupakan representasi dari object yang ada di dalam aplikasi.

Model yang ada pada front-end didesain mirip dengan model yang ada pada

back-end.

e. Model Filter

Model filter merepresentasikan filter apa saja yang dapat dilakukan pada

resource server.

2. Back-End Arsitektur

a. Web API

Web API berperan sebagai layer yang akan menerima request dan

memberikan response melalui protokol HTTP. Request yang diterima oleh

Web API akan diteruskan ke service layer untuk dikelola terlebih dahulu,

kesimpulan akhir yang didapat dari service layer akan dikembalikan sebagai

hasil response.

b. Service

Service pada back-end merupakan layer yang mengimplementasikan proses

bisnis dari aplikasi yang dibuat (Fowler 2003). Layer ini akan melakukan

validasi terhadap object serta melakukan manipulasi object sesuai aturan

yang telah ditentukan sebelum dilakukan proses CRUD.

c. Data Access Object (DAO)

Data Access Object (DAO) merupakan layer yang bertugas melakukan

proses CRUD ke database (Fowler 2003).

d. Object Relational Mapping (ORM)

Object Relational Mapping (ORM) memiliki tugas memetakan antara

property pada object terhadap field yang ada pada table di database (Fowler

2003).

e. Model

Model merupakan representasi dari object yang ada di dalam aplikasi.

f. Model Filter

Model filter pada back-end merupakan representasi filter yang dapat

dilakukan untuk melakukan query data ke database. Model filter pada back-

end akan mengkonversi property yang ada ke dalam bentuk fluent query.

Back-end yang dikembangkan terbagi menjadi 2 yaitu authorization server

dan resource server. Authorization server bertanggungjawab memberikan akses

token kepada user setelah user melakukan otorisasi ke dalam sistem, token yang

diberikan berisi string yang digunakan untuk autentikasi pada saat melakukan

request data pada resource server. Resource server merupakan server yang

memberikan layanan informasi yang dapat diakses aplikasi lainnya, untuk

mengakses data pada resource server pada umumnya memerlukan akses token

namun ada beberapa resource yang dapat diakses tanpa akses token. Akses token

yang dikirimkan ke dalam resource server akan berisi informasi user yang

Page 20: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

9

melakukan request data, informasi user akan digunakan untuk autentikasi hak akses

(OAUTH 2016). Proses request token dan resource diilustrasikan pada Gambar 5.

Pembagian antara front-end dan back-end memberikan kemudahan dalam

pengembangan prototipe dan algoritma sistem. Tahap prototyping yang pertama

dikembangkan hanya front-end, pengembangan prototipe dengan arsitektur ini akan

menghasilkan prototipe yang siap digunakan dan diintegrasikan dengan back-end.

Prototype akan dijalankan menggunakan Azka Presentation Engine, presentation

engine ini memungkinkan menjalankan prototype pada tingkat penggunaan high

fidelity. Presentation engine menyediakan beberapa service dummy yang dapat

digunakan untuk mensimulasikan proses CRUD, service dummy akan

menghasilkan file JavaScript Object Notation (JSON) dengan struktur object yang

sama dengan model-nya. Sebelum menggunakan service dummy perlu dilakukan

definisi konfigurasi service dummy, contoh definisi service dummy yang dibuat

diilustrasikan pada Gambar 6.

Gambar 6 Contoh konfigurasi service dummy

Gambar 5 Token Request dan Resource Request

Page 21: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

10

Model layer pada arsitektur back-end diimplementasikan lazy loading pattern.

Pattern ini memberikan kemudahan dalam melakukan loading terhadap property

yang me-reference ke model lainnya. Penggunaan lazy loading akan memperkecil

penggunaan memory, hal ini terjadi karena pada lazy loading data tidak langsung

di-load seluruhnya, data yang di-load hanya data-data yang diperlukan (Fowler

2002).

DAO layer pada method get data diimplementasikan eager loading pattern.

Eager loading merupakan lawan dari lazy loading. Eager loading me-load seluruh

data reference sampai kedalaman tertentu. Eager loading pada DAO layer

memberikan keuntungan performance yang lebih tinggi saat mengakses property

yang me-reference ke-object lain, hal ini terjadi karena saat melakukan query ke

database dilakukan hanya 1 kali query.

Layer back-end juga mengimplementasikan inversion of control (IoC) dan

dependency injection pattern. IoC menyimpan informasi tertentu dalam sebuah

container, dalam hal ini IoC digunakan untuk menyimpan informasi implementasi

dari interface service dan DAO. Dependency injection akan mengisi instance object

tertentu dengan implementasi object yang sesuai dengan interface-nya.

Perancangan Prototipe Iterasi 1

Komunikasi yang dilakukan pada Iterasi 1 dilakukan untuk menggali

informasi kebutuhan dasar dari BTMS. Analisa yang didapat dari hasil komunikasi

adalah BTMS memerlukan 2 fungsi utama yaitu fungsi Travel Application (TA)

dan Settlement. Penelitian ini akan mengembangkan satu fungsi utama tersebut

yaitu fungsi Travel Application. Fungsi Travel Application yang diberikan

merupakan fitur pengajuan rencana perjalanan yang dilakukan oleh pegawai

perusahaan.

Pengajuan rencana perjalanan yang dilakukan oleh pegawai memerlukan

informasi perjalanan yang cukup detail. Informasi yang dibutuhkan oleh

perusahaan pada umumnya diantaranya:

1. Penanggung Jawab

Penanggung jawab adalah pegawai yang ditunjuk oleh perusahaan untuk

mengajukan rencana perjalanan dan memberikan laporan hasil perjalanan

kepada perusahaan.

2. Tanggal Pelaksanaan

Tanggal pelaksanaan merupakan informasi tanggal perjalanan yang akan

dilaksanakan oleh para pegawai perusahaan untuk melaksanakan tugasnya

diluar kantor.

3. Kategori Perjalanan

Kategori perjalanan merupakan informasi jenis perjalanan apa yang akan

dilakukan untuk kepentingan tertentu. Kategori perjalanan ini juga berisi

informasi perjalanan dilakukan 2 arah pulang-pergi atau 1 arah (one way

trip/two way trip). Perjalanan 2 arah biasanya perjalanan yang dilakukan pada

periode yang pendek dengan waktu yang telah terukur, contohnya adalah

kegiatan seminar, kegiatan marketing, kunjungan perusahaan, dan lain-lain.

Sedangkan perjalanan 1 arah biasanya dilakukan untuk perjalanan yang waktu

kedatangan atau waktu kembali tidak terdefinisi dengan cukup jelas, yang

memiliki potensi perpanjangan perjalanan dalam waktu yang lama, contohnya

Page 22: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

11

adalah penugasan seorang pegawai ke daerah yang berbeda dari tempat asalnya,

perjalanan ini dimaksudkan hanya dalam lingkup internal perusahaan sehingga

sifatnya mengirim atau memulangkan pegawai dari 1 cabang perusahaan ke

cabang lainnya, perjalanan yang dilakukan pun biasanya bersifat mancanegara.

4. Kota Tujuan

Kota tujuan merupakan informasi kota yang akan dikunjungi oleh pegawai.

5. Tim yang Terlibat

Perjalanan yang dilakukan melibatkan 1 atau lebih pegawai, sehingga

diperlukan informasi siapa saja yang akan ikut terlibat dalam perjalanan

tersebut.

6. Informasi Hotel

Perjalanan yang dilaksanakan lebih dari 1 hari maka diperlukan tempat untuk

menginap, informasi tempat penginapan akan dicatat sebagai informasi hotel.

7. Informasi Tiket Pesawat

Perjalanan antar kota, provinsi, maupun antar negara dengan jarak tempuh yang

jauh memerlukan penggunaan layanan pesawat terbang untuk mengefisiensi

waktu perjalanan.

8. Travel Allowance

Informasi kebutuhan biaya akan dicatat sebagai travel allowance, informasi ini

akan memberikan detail kebutuhan biaya untuk mendukung aktitas pegawai

dalam melaksanakan pekerjaannya.

Aktivitas yang dilakukan pada modul Travel Application adalah aktivitas

pengajuan dan aktivitas persetujuan. Proses pengajuan dan persetujuan dilakukan

oleh 2 aktor yang disebut requester dan approver. Requester memiliki peran untuk

membuat pengajuan, merevisi, dan meng-cancel pengajuan perjalanan. Approver

berperan dalam memeriksa dan menyetujui suatu perjalanan. Master data yang

dibutuhkan oleh modul Travel Application perlu di-mantain oleh Administrator

yang memiliki akses penuh dalam pengelolaan master data. Use case diagram pada

modul Travel Application diilustrasikan pada Gambar 7. Use case merupakan unit

fungsional yang dinyatakan sebagai transaksi yang dilakukan antara aktor dan

subjeknya (Rumbaugh et al 2005).

Gambar 7 Use case diagram Business Trip Management System

Page 23: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

12

Informasi yang telah didapat dibuat rancangan struktur object-nya yang

selanjutnya akan dibuat dalam bentuk prototipe. Prototipe yang akan dikembangkan

pada iterasi 1 merupakan desain rancangan user interface dengan tingkat

penggunaan medium fidelity. Pengembangan prototipe dilakukan menggunakan

tools Azka Code Generator.

Prototipe yang telah dibuat dipresentasikan kepada bapak Harry, hasil

prototipe yang ditampilkan diilustrasikan pada Gambar 8. Prototipe yang

ditampilkan merupakan bentuk halaman input yang akan dikembangkan, prototipe

ini menampilkan bentuk input-an serta posisi input-an. Prototipe yang telah

ditampilkan dilakukan review untuk melihat apakah masih ada input data yang

kurang atau tidak. Jika ada input-an yang kurang maka bisa dilakukan perbaikan

pada saat itu juga. Pada kasus ini bapak Harry telah menyetujui seluruh input-an

yang telah didefinisikan dan ditampilkan. Setelah disetujui maka dilanjutkan pada

iterasi 2.

Perancangan Prototipe Iterasi 2

Iterasi 2 dilakukan pembuatan prototipe pada level high fidelity, proses

pembuatan prototipe dilakukan dengan men-generate dan men-download hasil

prototipe yang telah dibuat pada iterasi 1. Hasil yang didapat dari hasil generate

code ini adalah source code front-end dan source code back-end. Source code yang

telah didapat selanjutnya dilakukan editing pada beberapa object-nya yaitu pada

object travel destination yang terdapat pada object itinerary dan travel allowance,

proses editing ini perlu dilakukan karena sumber data yang di-generate diambil dari

data yang didapat dari service travel destination yang telah dibuat, sedangkan pada

Gambar 8 Prototipe Travel Application iterasi 1

Page 24: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

13

modul ini data yang diambil seharusnya tidak bersumber dari service melainkan

bersumber dari data yang di-input di tab travel destination.

Setelah dilakukan penyesuaian, selanjutnya dilakukan build terhadap source

code yang ada dan men-deploy ke dalam deployment Azka Presentation Engine.

Serta meng-copy seluruh konfigurasi bahasa dan konfigurasi service prototipe yang

ada dalam paket yang telah ter-download sebelumnya. Azka Presentation Engine

menyediakan sebuah environment yang menyediakan dummy services yang dapat

langsung terintegrasi dengan service yang ada pada prototipe. Hasil prototipe iterasi

2 dipresentasikan ulang kepada bapak Harry, hasil prototipe yang dipresentasikan

diilustrasikan pada Gambar 9, feedback yang didapat dari hasil presentasi berupa

feedback positif dari AMN sehingga dapat langsung dilanjutkan pada tahap

pengembangan tanpa perlu melakukan prototipe iterasi 3.

Pengembangan Back-End dengan Metode Incremental

Fase pengembangan back-end dilakukan menggunakan metode Incremental,

yang menghasilkan 2 iterasi. Iterasi pertama adalah menghasilkan back-end dari

modul Travel Application, iterasi kedua menghasilkan back-end dari modul travel

application yang telah terintegrasi dengan workflow engine. Tahap pengembangan

dengan metode Incremental pada awalnya akan menghasilkan class diagram yang

disimpulkan dari hasil prototyping pada metode sebelumnya. Class diagram yang

dihasilkan diilustrasikan pada Gambar 10.

Gambar 9 Prototipe Travel Application iterasi 2

Page 25: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

14

Gambar 10 Class diagram Business Trip Management System

Page 26: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

15

Pengembangan Back-End Iterasi 1

Iterasi 1 dilakukan fase requirement berdasarkan prototipe yang telah dibuat,

fase ini menghasilkan produk document specification yang berisi informasi proses

bisnis dari modul travel application. Informasi proses bisnis yang ada di dalam

dokumen mencakup deskripsi singkat dari modul yang akan dikembangkan,

domain model, use case description, dan testing scenario. Domain model pada

document specification berisi informasi struktur object pada modul tertentu, pada

domain model dijelaskan class yang akan dikembangkan dan pemetaan antara

property object terhadap field-field di database. Use case description yang ada pada

document specification akan menjelaskan aktor-aktor yang berperan, serta aturan-

aturan yang ada di dalam sistem. Testing scenario berisi langkah-langkah pengujian

sistem termasuk hasil testing yang harus dicapai dalam setiap point pengujian.

Document specification yang telah selesai selanjutnya masuk dalam fase

development, fase development pada iterasi pertama dilakukan dengan melakukan

modifikasi source code yang telah ter-generate. Modifikasi yang dilakukan berada

pada service layer dengan melakukan penyesuaian proses bisnis berdasarkan

document specification. Penyesuaian dilakukan dengan penambahan fungsi-fungsi

untuk melakukan pemetaan object destination yang terdapat pada property

destination dalam object itinerary dan travel allowance, serta melakukan

penyesuaian pada sisi validasi data terhadap data yang dikirimkan.

Hasil development yang telah selesai tidak langsung diberikan kepada tester

untuk diuji. Hasil development akan diuji oleh programmer untuk memastikan

seluruh fungsi yang dikembangkan telah sesuai dengan output fungsi yang benar.

Pengujian yang dilakukan menggunakan unit testing yang dibuat untuk menguji

fungsi-fungsi yang telah dikembangkan. Hasil dari unit test akan keluar pada panel

test explorer yang ditandakan dengan tanda silang atau ceklis. Tanda silang

menunjukkan adanya kesalahan dari hasil pengujian. Tanda ceklis menunjukkan

fungsi sudah sesuai dengan output yang diharapkan. Contoh unit test pada test

explorer yang telah dibuat diilustrasikan pada Gambar 11.

Gambar 11 Unit Test Explorer

Page 27: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

16

Hasil development yang telah selesai selanjutnya dilakukan pengujian pada

fase testing, pengujian yang dilakukan berdasarkan testing scenario yang telah

ditentukan pada document specification. Hasil pengujian menghasilkan 2 jenis

status pada masing-masing point testing-nya yaitu status done atau need bug fix.

Status done menandakan aplikasi telah sesuai berdasarkan testing scenario yang

diinginkan, status need bug fix menandakan adanya bug di dalam aplikasi. Kondisi

need bug fix akan langsung diserahkan kepada programmer untuk segera dilakukan

perbaikan, kondisi ini berlangsung hingga seluruh fungsi telah sesuai dengan testing

scenario yang ditentukan.

Fase code review yang dilakukan adalah memeriksa seluruh source code yang

telah dikembangkan, pada fase 1 dilakukan refactoring pada method-method

pemetaan object itinerary dan travel allowance yang tadinya berada di dalam 1

method dibagi menjadi 2 method terpisah. Selain itu dilakukan pemisahan terhadap

fungsi-fungsi validasi yang sifatnya khusus seperti pengecekan duplikasi

destination. Penentuan kode program yang akan di-refactoring dilakukan dengan

beberapa alasan diantaranya kode yang duplikat, kode program yang terlalu panjang,

dan looping yang bertingkat dengan kedalaman looping yang terlalu dalam

(McConnell 2004). Contoh refactoring yang dilakukan diilustrasikan pada Gambar

12 yang merupakan kode program sebelum dilakukan refactoring, Gambar 13

method-method hasil refactoring, Gambar 14 method yang telah mengalami

refactoring.

Fase retesting dilakukan seperti halnya fase testing, hal ini dilakukan untuk

memastikan seluruh kegiatan refactoring tidak berdampak terhadap proses bisnis

yang telah dibuat sebelumnya. Setelah software telah memenuhi seluruh testing

scenario, dilakukan persiapan implementation sistem di server. Proses

implementasi dilakukan dengan mempersiapkan query yang siap dieksekusi pada

DBMS dan men-deploy aplikasi pada server production.

Gambar 12 Method sebelum refactoring

Page 28: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

17

Pengembangan Back-End Iterasi 2

Iterasi kedua dilakukan dengan penambahan informasi integrasi antara

aplikasi dan workflow pada document specification. Informasi yang ditambahkan

adalah tata cara mengintegrasikan aplikasi dengan workflow, serta aturan bisnis

mengenai kondisi dokumen saat diberikan aksi approve, reject, request for revision,

dan cancel.

Fase development pada iterasi kedua dilakukan dengan menambahkan

beberapa web service yang disediakan untuk diakses oleh workflow, untuk

menangani setiap action yang dipilih pada workflow. Method yang dikembangkan

pada penelitian ini adalah method untuk menangani proses authentication, approve,

reject, request for revision, dan cancel.

Gambar 13 Method hasil refactoring

Gambar 14 Method setelah refactoring

Page 29: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

18

Proses authentication dilakukan dengan cara melakukan pengecekkan header

information berupa informasi API key yang dikirimkan dari workflow engine.

Workflow engine akan menyimpan informasi API key yang digunakan untuk meng-

invoke API pada sisi aplikasi BTMS. Header key yang menyimpan informasi API

key adalah “api_key”.

Workflow yang dikembangkan selanjutnya akan menyesuaikan kebutuhan

masing-masing perusahaan. Pada penelitian ini dibuat contoh kasus untuk

mensimulasikan integrasi antara workflow dan aplikasi BTMS. Proses simulasi

dilakukan dengan menggunakan contoh kasus proses approval pada pengajuan

Travel Application. Tahapan yang dilakukan pada sisi workflow diantaranya

mendefinisikan tipe dokumen, meregistrasikan web service yang telah dibuat,

melakukan konfigurasi email, dan mendefinisikan workflow.

Tipe dokumen pada workflow engine didaftarkan pada modul WF Document

Type pada Azka-WF. Pada kasus ini dokumen didaftarkan dengan nama “Travel

Application” yang disertakan dengan informasi company. Registrasi tipe dokumen

diilustrasikan pada Gambar 15.

Method-method approval yang dibuat diregistrasikan ke dalam workflow

engine melalui modul WS Configuration yang ada pada Azka-WF. Data yang

diregistrasikan pada modul tersebut adalah informasi alamat web service dan API

key. Method yang telah diregistrasikan dapat langsung dilakukan pengujian koneksi

ke dalam API yang dituju dengan melakukan pengecekan web service pada halaman

tersebut. Halaman registrasi web service pada workflow engine diilustrasikan pada

Gambar 16.

Kebutuhan pengiriman email pada sisi workflow dilakukan dengan

meregistrasikan alamat email yang digunakan untuk mengirimkan email pada

modul WF Mail Configuration. Konfigurasi yang di-support pada workflow adalah

menggunakan Simple Mail Transfer Protocol (SMTP) atau menggunakan layanan

SendGrid. Halaman konfigurasi email untuk kebutuhan pengiriman email

diilustrasikan pada Gambar 17.

Pendefinisian workflow dilakukan dengan membuat konfigurasi workflow

pada modul WF Configuration. Konfigurasi yang dibuat dapat ditentukan untuk

siapa saja workflow akan diimplementasikan, pilihan pengimplementasian yang

disediakan terdapat 4 pilihan yaitu user, group, position, atau all. Setiap garis yang

didefinisikan pada workflow engine merupakan action yang dapat dipilih. Masing-

masing garis pada workflow memiliki definisi algoritma yang berbeda-beda sesuai

Gambar 15 Registrasi Tipe Dokumen

Page 30: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

19

kebutuhan masing-masing perusahaan. Definisi konfigurasi workflow diilustrasikan

pada Gambar 18.

Gambar 16 Registrasi web service pada workflow engine

Gambar 17 Konfigurasi email pada workflow engine

Page 31: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

20

Konfigurasi yang didefinisikan pada WF Configuration akan disimpan dalam

bentuk JSON. JSON akan di-generate ke dalam bentuk kode program dan di-

compile secara on the fly saat instance berjalan. Sehingga instance yang berjalan

akan berjalan sesuai alur yang telah ditentukan. Proses edit terhadap suatu

konfigurasi akan menghasilkan versi yang berbeda. Saat WF Configuration

dilakukan editing maka instance yang sedang berjalan tidak akan mengikuti

konfigurasi yang baru melainkan akan menggunakan konfigurasi yang lama,

sedangkan instance yang baru akan mengikuti konfigurasi yang paling terakhir.

Konfigurasi yang dibuat dapat dilakukan simulasi pada modul WF Instance.

Modul WF Instance merupakan modul yang digunakan untuk me-monitoring, me-

mantain, dan menguji instance workflow. Pengujian dilakukan dengan membuat 1

instance dengan memberikan informasi company, initiator, dan document type.

Pembuatan instance pada modul WF Instance diilustrasikan pada Gambar 19.

Gambar 19 Registrasi instance workflow

Gambar 18 Konfigurasi workflow

Page 32: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

21

Setiap action yang telah didefinisikan dalam Azka-WF dapat di-invoke

melalui API yang disediakan dari Azka-WF. Method yang ada telah dienkapsulasi

di dalam library AzkaWFClient. Method yang ada pada AzkaWFClient diantaranya

CancelInstance untuk mengbatalkan instance workflow, ExecuteInstance untuk

menjalankan instance workflow berdasarkan action tertentu, CreateInstance untuk

membuat sebuah instance workflow untuk dokumen tertentu, GetInbox untuk

mengambil daftar inbox dari user, dan lain-lain.

Aplikasi BTMS yang telah terintegrasi akan berjalan dengan beberapa

tahapan. User akan membuat request Travel Application yang di-submit ke dalam

sistem BTMS. Sistem BTMS akan meng-invoke API pada workflow engine untuk

membuat sebuah instance baru pada Azka-WF. Instance akan dijalankan sesuai

rules yang ada pada workflow engine. Workflow engine akan menjalankan instance

workflow dari pengajuan yang dikirimkan dan meng-update status dokumen sesuai

dengan pilihan yang diambil oleh para approver. Proses update status dokumen

terjadi ketika workflow engine meng-invoke method yang ada pada BTMS, method

yang di-invoke adalah approve, reject, atau request for revision.

Fase testing pada iterasi kedua dilakukan dengan 2 keadaan, yaitu pengujian

pada server lokal dan pengujian pada server yang telah bisa diakses dari public.

Pengujian sisi komputer lokal dilakukan dengan meng-inject data langsung ke

dalam web service melalui aplikasi rest client, hal ini dilakukan karena service dari

Azka-WF saat ini belum memungkinkan melakukan inject web service ke dalam

komputer lokal. Setelah setiap fungsi telah dipastikan sesuai, maka dilakukan

pengujian pada server yang telah bisa diakses dari public. Fase code review dan

retesting tidak dilakukan pada iterasi 2 karena method yang dikembangkan cukup

sederhana dan tidak adanya spaghetti code yang ditemukan pada iterasi 2.

SIMPULAN DAN SARAN

Simpulan

Fungsi Travel Application pada Business Trip Management System (BTMS)

telah selesai diimplementasikan. Pengembangan dilakukan menggunakan 2 metode

yaitu Evolutionary Prototyping dan Incremental. Metode Evolutionary Prototyping

memberikan kemudahan dalam analisis kebutuhan sistem, implementasi metode di

dalam penelitian ini menghasilkan prototipe sistem sesuai dengan kebutuhan,

prototipe yang dihasilkan siap dikembangkan tanpa membuang prototipe yang telah

ada. Metode Incremental yang digunakan memberikan kemudahan dalam fase

pengembangan fungsi, fungsi dapat diselesaikan dengan beberapa iterasi tanpa

mengganggu pengembangan fungsi lainnya, karena setiap iterasi menghasilkan

produk fungsi yang berbeda.

Fungsi yang dikembangkan telah terintegrasi dengan workflow engine.

Integrasi antara Travel Application dan workflow engine telah berhasil diuji coba,

pengujian yang dilakukan diantaranya proses pembuatan instance yang di-invoke

dari Travel Application ke dalam workflow engine, proses approval yang dilakukan

melalui Travel Application telah berhasil dilakukan dan bersesuaian dengan alur

yang telah didefinisikan di dalam workflow engine, proses cancel instance yang

dilakukan pada Travel Application telah berhasil mematikan instance workflow

Page 33: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

22

yang berjalan pada workflow engine, dan method yang ada pada Travel Application

telah berhasil di-invoke oleh workflow engine melalui web api. Pemisahan antara

Travel Application dan workflow engine memberikan kemudahan modifikasi

workflow setiap perusahaan sesuai dengan kebutuhan masing-masing perusahaan

tanpa perlu mengubah logika program pada fungsi Travel Application.

Saran

Peneletian selanjutnya dapat dilakukan pengembangan fungsi Settlement

yang digunakan untuk membuat laporan pertanggungjawaban perjalanan.

DAFTAR PUSTAKA

[Angular]. 2018. Angular Architecture Overview [Internet]. [diakses tanggal 22 Juli

2018]. Tersedia pada: https://angular.io/guide/architecture

Buschmann F, Henney K, Schmidt DC. 2007. Pattern-Oriented Software

Architecture a Pattern Language for Distributed Computing. Volume ke-4.

West Sussex (EN): John Wiley & Sons Ltd.

Fowler M. 2003. Patterns of Enterprise Application Architecture. Boston (US):

Pearson Education, Inc.

[Fowler]. 2014. Unit Test [Internet]. [diakses tanggal 22 Juli 2018]. Tersedia pada:

https://martinfowler.com/bliki/UnitTest.html

Georgakopoulos D, Hornick M. 1995. An Overview of Workflow Management:

From Process Modeling to Workflow Automation Infrastructure. Boston (NL):

Kluwer Academic Publishers.

McConnell S. 2004. Code Complete. Volume ke-2. Washington (US): Microsoft

Press.

[OAUTH]. 2016. Definitions - OAuth 2.0 Servers [Internet]. [diakses tanggal 22

Juli 2018]. Tersedia pada: https://www.oauth.com/oauth2-servers/definitions/

Osherove R. 2014. The Art of Unit Testing. Volume ke-2. New York (US): Manning

Publications Co.

Pressman RS. 2010. Software Engineering a Practitioner’s Approach. Volume ke-

7. New York (US): McGraw-Hill.

Rocholl A. 2009. Business Travel Management Strategies. Ways to establish an

efficient business travel management program and successfully react to future

trends. Deutschland (DE).

Rumbaugh J, Jacobson I, Booch G. 2005. The Unified Modeling Language

Reference Manual. Volume ke-2. Massachusetts (US): Addison-Wesley.

Page 34: PENGEMBANGAN BUSINESS TRIP MANAGEMENT SYSTEM …repository.unugha.ac.id/706/1/26.pdf · Trip Management System Menggunakan Workflow Engine (Studi Kasus PT AMN Indonesia) adalah benar

23

RIWAYAT HIDUP

Yurizal Rosa Andika lahir pada tanggal 26 Juni 1992 di Bogor. Penulis

merupakan anak ke dua dari tiga bersaudara dari pasangan Bapak Syahrial Ambun

Suri dan Ibu Eti Rohaeti. Tahun 2010 penulis menyelesaikan pendidikan dari SMA

PGRI 4 Bogor. Tahun yang sama penulis melanjutkan pendidikan pada program

D3, jurusan Management Informatika, Institut Pertanian Bogor. Tahun 2013

penulis menyelesaikan program D3. Tahun 2015 penulis lulus seleksi masuk

program Sarjana Alih Jenis, Departemen Ilmu Komputer, Fakultas Matematika dan

Ilmu Pengetahuan Alam, Institut Pertanian Bogor.