Pengembangan Aplikasi Travelling Salesman problem

JURNAL INFORMATIKA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN
ILMU PENGETAHUAN ALAM UNIVERSITAS PADJADJARAN

Pengembangan Aplikasi Travelling Salesman
Problem dengan Optimisasi Robust
(Studi Kasus pada Pekan Paralimpiade Nasional XV 2016)
Albertus Aditya Wisnu Whardana1, Atje Setiawan Abdullah2, Juli Rejito3
1,2,3

Program Studi S-1 Teknik Informatika, Departemen Ilmu Komputer
Fakultas MIPA Universitas Padjadjaran
Jatinangor, Indonesia
albertus13001@mail.unpad.ac.id1, atjesetiawan@gmail.com2, juli.rejito@unpad.ac.id3

Abstrak—Travelling Salesman Problem (TSP) merupakan permasalahan klasik dalam ilmu komputer. Dengan kemajuan teknologi,
perhitungan rute terpendek untuk menyelesaikan TSP bukan hanya diperhitungkan, tetapi juga dapat dikomputasikan agar didapatkan
hasil yang akurat dalam waktu yang relatif singkat. Pekan Paralimpiade Nasional (Peparnas) adalah turnamen olahraga tingkat nasional
bagi atlet penyandang disabilitas di Indonesia. Pada tahun 2016, Jawa Barat menjadi tuan rumah pelaksanaan PON XIX dan Peparnas
XV. Lokasi pertandingan Peparnas XV seluruhnya berada di Kota Bandung. Kunjungan lokasi pertandingan seyogyanya dilakukan oleh
Ketua Pengurus Besar turnamen, yaitu Gubernur Jawa Barat. Kondisi dalam melakukan kunjungan ke setiap lokasi pertandingan
selama hari pertandingan memenuhi aturan dalam TSP. Saat melakukan kunjungan dapat terjadi ketidakpastian, yang berhubungan

dengan jarak tempuh yang disebabkan berbagai faktor. Ketidakpastian dapat diselesaikan dengan optimisasi robust. Dalam penelitian
ini, aplikasi dikembangkan untuk mampu memberikan rute dengan jarak terpendek dengan menggunakan optimisasi robust dan metode
branch and bound. Set ketidakpastian optimisasi robust yang digunakan dalam penelitian ini adalah ketidakpastian kotak.
Pengembangan aplikasi dilakukan dengan menggunakan metode waterfall. Dengan aplikasi yang telah berhasil dikembangkan dengan
bahasa pemrograman C#, mampu dihasilkan rute terpendek dan jarak yang perlu ditempuh. Nilai yang diperoleh dapat dipergunakan
sebagai bahan pengambilan keputusan dalam melakukan kunjungan ke lokasi pertandingan selama pelaksanaan Peparnas.
Kata kunci— ketidakpastian kotak; Kota Bandung; metode branch and bound; metode waterfall; optimisasi robust; Peparnas XV;
travelling salesman problem.

Abstract—Traveling Salesman Problem (TSP) is a classic problem in computer science. With advances in technology, the calculation of
the shortest route to resolve TSP is not only to be calculated, but can also be computed in order to obtain accurate results in a relatively short
time. National Paralympic Week (Peparnas) is a national-level sports tournament for athletes with disabilities in Indonesia. In 2016, West
Java hosted the PON XIX and Peparnas XV. Venues of Peparnas XV all located in the city of Bandung. Venue visits should be conducted by
the Chairman Board of the tournament, which is the Governor of West Java. The conditions of the visits to each venue during the week meet
the problem of TSP. During a visit uncertainties can be happened, related to mileage caused by various factors. Uncertainty can be solved with
robust optimization. In this study, the application was developed to be able to provide shortest route by using robust optimization and branch
and bound method. Uncertainty set in robust optimization which is used in this study is the box uncertainty. Application development is done
by using waterfall method. With applications that have been successfully developed with C# programming language, it is able to produce the
shortest route and the distance that needs to be taken. The values obtained can be used as a part in the decision-making conduct a site visit
during Peparnas.

Kata kunci— Bandung City, box uncertainty, branch and bound method, robust optimization, Peparnas XV, travelling salesman problem,
waterfall method.

I.

LATAR BELAKANG

Travelling Salesman Problem (TSP) merupakan
permasalahan klasik dalam ilmu komputer. Masalah ini tidak
hanya menarik dalam bidang ilmu komputer tetapi juga dalam
bidang matematika, khususnya karena begitu mudahnya kasus
ini untuk dideskripsikan, namun cukup sulit untuk
menyelesaikannya. Secara sederhana, TSP dapat dituliskan
sebagai: jika seseorang ingin pergi tepat satu kali ke � kota (di
mana biaya perjalanan dari kota ke kota adalah
) dan

kemudian kembali ke kota asal, maka akan ditentukan rute mana
yang paling murah untuk ditempuh. Dalam ilmu komputer
terutama menurut teori kompleksitas komputasional, TSP

termasuk ke dalam kategori NP-complete. Hal ini tidak
menunjukkan bahwa masalah dalam jumlah yang besar tidak
dapat diselesaikan. Faktanya, kini berbagai pendekatan
optimisasi telah mampu memberi jawaban atas berbagai
permasalahan TSP dengan ukuran yang relatif besar.

Dalam hal ini, metode yang dipilih adalah branch and
bound, karena telah digunakan dalam beberapa penelitian,
membuat hasil yang sesuai dengan ekspektasi. Dalam penelitian
ini, ruang lingkup penelitian tidak terlalu besar, karena lokasi
pertandingan masih dalam batas yang dapat dihitung dengan
algoritma optimisasi deterministik.

TSP bukan hanya suatu masalah yang ada dalam ilmu
pengetahuan, namun hal ini berlangsung secara nyata, baik
dalam kehidupan sehari-hari maupun dalam dunia industri.
Seringkali, seseorang dihadapkan pada kondisi bahwa ia harus
berpergian ke beberapa tempat dan kembali ke tempat ia
berangkat, baik itu rumah ataupun kantor. Dengan kondisi yang
tidak akan pernah berubah bahwa biaya perjalanan harus selalu

ditekan seminimal mungkin, maka perlulah bahwa rute optimal
tidak hanya dicari, tetapi juga harus dihitung dengan matang.
Dengan kemajuan teknologi, maka hal ini bukan hanya perlu
dihitung, tetapi juga dapat dikomputasikan agar didapatkan hasil
yang akurat dalam waktu yang relatif singkat.

II.

TINJAUAN PUSTAKA

A. Travelling Salesman Problem
Permasalahan travelling salesman problem (TSP) adalah
permasalahan graf, di mana setiap titik/kota dilambangkan
sebagai suatu simpul (node), sementara jarak antar titik/kota
dilambangkan sebagai sisi (edge). Hal ini menjadi persoalan
minimasi dengan sebuah titik sebagai titik awal dan akhir, dan
setiap simpul lainnya dikunjungi tepat satu kali [2]. Dari
penjelasan tersebut, dapat dinyatakan bahwa konsep TSP
memiliki aturan sebagai berikut [3]:


Pekan Paralimpiade Nasional (Peparnas) adalah suatu ajang
kompetisi yang menyerupai Pekan Olahraga Nasional (PON),
namun Peparnas dikhususkan bagi atlet penyandang disabilitas
di Indonesia yang juga digelar pada tingkat nasional. Pada tahun
2016, Jawa Barat yang juga menjadi tuan rumah pelaksanaan
PON XIX, juga menjadi tuan rumah Peparnas XV. Selaku tuan
rumah penyelenggara, Gubernur Jawa Barat secara resmi
menjadi Ketua Pengurus Besar PON XIX dan Peparnas XV
Jawa Barat 2016. Selaku Ketua, maka seyogyanya bersama
dengan berbagai pejabat teras PB PON-Peparnas, ia melakukan
kunjungan untuk melakukan pengawasan dan pemantauan atas
berbagai cabang pertandingan.

1. Harus mengunjungi setiap titik tepat satu kali, tidak
boleh kurang ataupun lebih.
2. Semua titik harus dikunjungi dalam satu kali perjalanan
(tour)
3. Dimulai dan diakhiri pada titik yang sama.
Wiyanti juga menjelaskan adanya dua kategori dalam TSP,
yaitu simetris dan asimetris, di mana letak perbedaan antara

keduanya terletak pada biaya perjalanan dan ruang pencarian
jarak yang mungkin ditempuh.

Pada situasi dengan ketidakpastian yang signifikan,
pendekatan deterministik merupakan hal yang jauh dari cukup
untuk menyelesaikan masalah tersebut. Kriteria baru dan pantas
serta model untuk menghadapai ketidakpastian bersama dengan
efisiensi hasil di bawah ketidakpastian diperlukan [1]. Kriteria
tersebut dapat diselesaikan dengan optimisasi robust.

1. Travelling salesman problem simetris
Pada TSP simetris, biaya dari kota 1 ke kota 2 adalah
sama dengan biaya dari kota 2 ke kota 1.

Optimisasi robust digunakan karena dapat menyelesaikan
suatu permasalahan dengan data yang tidak tentu. Berbeda
dengan pendekatan tradisional yang banyak digunakan,
pendekatan dengan optimisasi robust mencoba mengoptimasi
kasus terburuk dan bisa membantu untuk mendapat hasil yang
bersifat konservatif, tetapi bukan yang paling optimal. Meski

demikian, dengan metode optimisasi robust, dapat dihasilkan
solusi yang memungkinkan bahwa parameter yang berhubungan
dengan biaya (cost) tidak tentu yang sebagian terganggu.

2. Travelling salesman problem asimetris
Pada TSP asimetris, biaya dari kota 1 ke kota 2 tidak
sama dengan biaya dari kota 2 ke kota 1.
Dari perspektif ilmu komputer, TSP digolongkan dalam NPcomplete [4], dan merujuk kepada Wang [5] lebih dalam TSP
termasuk dalam kategori NP-hard terkait optimisasi
kombinatorik. Lebih lanjut, mereka menjelaskan bahwa telah
terdapat banyak pendekatan untuk menyelesaikan masalah ini.

2

B. Optimisasi
Optimisasi didefinisikan sebagai suatu proses untuk
mencapai hasil yang ideal atau optimal (nilai efektif yang dapat
dicapai). Dalam disiplin matematika, optimisasi merujuk kepada
studi permasalahan yang mencoba untuk mencari nilai minimal
atau maksimal dari suatu fungsi. Langkah yang dilakukan untuk

mencapai nilai optimal ditempuh dengan pemilihan nilai
variabel integer atau real [6]. Menurut Witary [7], unsur penting
dalam masalah optimasi adalah fungsi tujuan. Hal ini sangat
bergantung terhadap jumlah peubah masukan (input).

(ellipsoidal), polihedral (polyhedral), atau gabungan di
antaranya.
C. Metode Branch and Bound
Branch and bound adalah suatu algoritma yang digunakan
dalam pencarian solusi optimal atas berbagai masalah
optimisasi, secara khusus optimisasi diskrit dan kombinatorial.
Secara sistematis, metode branch and bound mengabaikan
sekumpulan kandidat solusi yang tidak potensial menuju solusi
optimal dengan menggunakan estimasi batas atas dan batas
bawah (upper and lower estimated bounds) dari kuantitas yang
dioptimasi. Metode ini diusulkan oleh A. H. Land dan A. G.
Doig pada tahun 1960 sebagai solusi untuk masalah
pemrograman linear. Metode branch and bound dan variasinya
telah diterapkan dengan baik pada berbagai kasus riset operasi
selain juga diterapkan dalma kasus pemrograman bilangan

bulat (integer programming).
Suyanto menuliskan algoritma penyelesaian masalah
dengan branch and bound sebagai berikut.
1. Masukkan simpul akar (root) ke dalam antrian �. Jika
root adalah goal node, maka solusi telah ditemukan.
Hentikan.
2. Jika � kosong maka tidak ada solusi. Hentikan.
3. Jika � tidak kosong, pilih simpul dari antrian � yang
memiliki biaya
paling kecil. Jika terdapat beberapa
simpul yang memenuhi, pilih salah satu.
4. Jika simpul adalah goal node, berarti solusi sudah
ditemukan, hentikan. Jika simpul bukan goal node,
maka bangkitkan semua anaknya. Jika
tidak
mempunyai anak, kembali ke langkah 2.
5. Untuk setiap anak dari simpul , hitung biaya dan
masukkan anak tersebut ke dalam �.
6. Kembali ke langkah 2.


Suyanto [8] menyatakan bahwa terdapat dua kategori besar
algoritma optimisasi berdasarkan metode operasinya, yaitu
deterministik dan probablistik. Algoritma optimisasi
deterministik menyatakan bahwa hanya terdapat satu jalan untuk
diproses, sehingga jika tidak lagi terdapat jalan pemrosesan,
maka proses algoritma dinyatakan selesai. Algoritma
deterministik selalu menghasilkan solusi yang tetap untuk suatu
masukan yang diberikan. Contoh algoritma optimisasi
deterministik adalah pemrograman dinamik (dynamic
programming), pemrograman bilangan bulat (integer
programming), algoritma greedy, branch and bound, branch
and cut, dan metode cutting-plane. Berbeda dengan algoritma
optimisasi deterministik, algoritma optimisasi probablistik
bekerja menurut batasan waktu yang tetapkan oleh pengguna,
namun hasil yang diberikan belum tentu yang paling optimal.
1) Optimisasi Robust
Optimasi robust adalah metodologi pemodelan yang
dikombinasikan dengan alat komputasi, untuk memproses
masalah optimasi di mana data yang tersedia bersifat tidak pasti
(uncertain) dan hanya diketahui beberapa set ketidakpastian

[9]. Robust diartikan sebagai ketidaksensitivan terhadap
perubahan-perubahan kecil dalam suatu sistem.
Menurut Chaerani [10], metodologi robust counterpart
(RC) yang disampaikan oleh Ben-Tal dan Nemirovskii
merupakan salah satu metodologi yang ada untuk menangani
ketidakpastian data atas suatu masalah optimisasi. Formulasi
model optimisasi robust counterpart dihubungkan dengan
pemilihan set ketidakpastian �. Set ketidakpastian yang
tersedia terdiri atas beberapa jenis, yakni kotak (box), elipsoid

D. Metode Waterfall
Metode sekuensial linear (linear sequential model) adalah
suatu model klasik yang bersifat sistematis dan berurutan dalam
melakukan rekayasa perangkat lunak. Metode ini disebut juga
sebagai siklus hidup klasik (classic life cycle) atau model air
terjun (waterfall). Metode ini dikembangkan pertama kali oleh

3

Perubahan akan terjadi karena kesalahan telah
ditemukan, atau karena pelanggan membutuhkan
fungsional atau kinerja perangkat tambahan.

Winston W. Royce pada tahun 1970. Royce mengajukan hasil
penelitannya terkait manajemen pengembangan sistem
perangkat lunak dalam skala yang besar.
Menurut Pressman [11], sebagian besar organisasi ataupun
perusahaan yang menerapkan model ini sebagai model untuk
mengembangkan perangkat lunak, memperlakukannya seolaholah ketat linear, artinya tidak terdapat proses iterasi untuk
kembali ke suatu tahapan sampai proses pengujian dinyatakan
selesai. Pressman mendeskripsikan langkah-langkah dalam
model pengembangan sekuensial linear berikut.
1. Rekayasa sistem/informasi dan pemodelan.
Pekerjaan dimulai dengan menetapkan persyaratan
untuk seluruh elemen sistem dan kemudian
mengalokasikan beberapa subset dari kebutuhan
tersebut untuk perangkat lunak.
2. Analisis kebutuhan perangkat lunak.
Untuk memahami sifat program yang akan direkayasa,
analis harus memahami domain informasi perangkat
lunak, fungsi, perilaku, kinerja, dan antarmuka yang
diperlukan.
3. Desain.
Desain perangkat lunak adalah proses yang berfokus
pada empat atribut yang berbeda dari program: struktur
data, arsitektur perangkat lunak, representasi
antarmuka, dan prosedural (algoritmik) secara rinci.
4. Penulisan kode.
Desain harus diterjemahkan ke dalam bentuk mesin
yang dapat dibaca. Langkah penulisan kode melakukan
tugas ini. Jika desain dilakukan dengan rinci,
pembuatan kode dapat diselesaikan secara mekanis.
5. Pengujian.
Proses pengujian berfokus pada fungsional internal dari
perangkat lunak, memastikan bahwa semua pernyataan
sudah diuji, dan pada fungsional eksternal yaitu,
melakukan tes untuk mengungkap kesalahan dan
memastikan bahwa input yang didefinisikan akan
menghasilkan hasil aktual yang sesuai dengan hasil
yang dibutuhkan.
6. Support.

E. Bahasa Pemrograman C#
Bahasa pemrograman C# adalah bahasa pemrograman yang
dikembangkan berdasarkan bahasa pemrograman C++ oleh
Andres Hejlsberg [12]. Hejlsberg merupakan seorang arsitek
kepala dan insinyur di Microsoft. C# merupakan bahasa
pemrograman yang kuat, fleksibel dan berorientasi objek
(object oriented programming/OOP) yang digunakan untuk
menciptakan berbagai aplikasi.
C# mendukung pemrograman berorientasi objek seperti
pada Java dan pada sisi lain memberikan kemudahan
pengembangan aplikasi cepat seperti pada Visual Basic. Tujuan
bahasa C# adalah untuk menyediakan tool untuk
pengembangan program yang ringkas, berorientasi objek, dan
mempunyai performa handal [13].
III.

METODE PENELITIAN

A. Analisis Kebutuhan Sistem
Sistem perlu dianalisis agar dapat memberikan suatu
gambaran secara umum tentang sistem yang akan dibuat.
Keunggulan dan kelemahan sistem dapat diketahui dan
dijadikan acuan dalam tahap evaluasi. Penelitian ini disusun
berdasarkan analisis tentang tahap dan cara membangun suatu
aplikasi, untuk menyelesaikan traveling salesman problem
(TSP) dengan optimisasi robust, dengan menggunakan metode
branch and bound melalui pendekatan ketidakpastian kotak (box
uncertainty).
1) Analisis Kebutuhan Fungsional
Kebutuhan fungsional dalam aplikasi ini adalah:
1. Aplikasi mampu menampung data titik kunjungan
per hari yang menjadi lokasi pertandingan.
2. Aplikasi mampu memberikan urutan rute terpendek
dan total jarak dengan pendekatan ketidakpastian
kotak (box uncertainty) untuk setiap hari selama
penyelenggaraan kompetisi.
2) Analisis Kebutuhan Non-Fungsional

4

Kebutuhan non-fungsional diliat dari tiga sisi, yakni
kebutuhan pengguna, kebutuhan perangkat lunak (software),
dan kebutuhan perangkat keras (hardware).
Analisis kebutuhan pengguna dilakukan untuk
mengetahui pengguna yang dapat menggunakan aplikasi ini,
yaitu pengguna yang memiliki kemampuan dalam
mengoperasikan komputer kelas Personal Computer (PC) dan
cukup paham dengan sistem operasi Microsoft Windows.
Analisis kebutuhan perangkat lunak (software)
dilakukan untuk mengetahui perangkat lunak yang diperlukan
dan dipergunakan dalam pembuatan aplikasi ini, yaitu:
1. Sistem operasi Windows 10 Pro © 2016 Microsoft
Corporation.
2. Aplikasi Microsoft Visual Studio Enterprise 2015
Analisis kebutuhan perangkat keras (hardware)
dilakukan untuk mengetahui perangkat keras yang
diperlukan dan digunakan dalam pembuatan aplikasi, yaitu:
1. Prosesor: Intel® Core™ i7-5500U CPU @ 2,40GHZ
2. Memori akses acak (Random access memory, RAM):
4,00 GB
3. Tipe sistem: sistem operasi 64-bit, prosesor berbasis x64.
4. Video Graphics Array: Intel® HD Graphics 5500
5. Alat masukan: mouse dan keyboard.

hari pertandingan dan kategori waktu yang dipilih oleh
pengguna.
4. Pengguna juga dapat melihat halaman pengembang dan
pembimbing aplikasi.
C. Model Penyelesaian TSP dengan Optimisasi Robust
Ketidakpastian Kotak
Model optimisasi TSP untuk masalah pencarian rute
diformulasikan pada persamaan berikut:
n n
minimumkan: Z



 dij xij , dij  , i  j
i 1 j 1

n

dengan kendala:

 xij  1,

i  1, 2, ..., n

j 1
n

 xij  1,

j  1, 2, ..., n

i 1

xij  {0, 1}
solusi membentuk sebuah tur
(1)
Untuk mendapatkan robust counterpart digunakan
ketidakpastian kotak (box uncertainty), di mana himpunan
unsur tak pasti diasumsikan berbentuk kotak. Dalam uraian ini,
sesuai hasil penelitian Amriyati [14] diasumsikan bahwa
parameter data yang tidak pasti adalah koefisien pada fungsi
objektif.
Dalam uraian ini, diasumsikan bahwa � adalah himpunan
unsur tak pasti yang berbentuk kotak (box) dan berpusat di ,
sebagai berikut:
(2)
U  {d : d  (d   d , d   d )}
Dari hasil penelitian tersebut didapatkan formulasi untuk
menyelesaikan TSP dengan ketidakpastian kotak dalam
optimisasi robust sebagai berikut.
minimumkan: 

B. Rancangan Umum Aplikasi
Rancangan aplikasi memberikan pandangan secara umum
kepada pengguna tentang aplikasi yang akan dibuat.
1. Pengguna membuka aplikasi penyelesaian travelling
salesman problem dengan optimisasi robust yang telah
dikembangkan.
2. Pengguna dapat membuka halaman yang melihat lokasi
pertandingan yang digunakan pada Peparnas XV Jawa
Barat 2016.
3. Pengguna dapat memilih halaman yang dapat
menampilkan hasil perhitungan. Pada halaman tersebut,
pengguna mendapatkan hasil perhitungan dari model
dan metode yang digunakan, berupa rute lokasi yang
dikunjungi beserta total jarak yang akan ditempuh, pada

5

dengan kendala:

1    d T x    s  0

1)

Lingkungan Implementasi
Lingkungan implementasi yang dimaksud adalah sistem
operasi dan perangkat lunak yang digunakan dalam
pengembangan aplikasi. Sistem operasi yang digunakan adalah
Microsoft Windows 10 Pro. Aplikasi dikembangkan dengan
perangkat lunak Microsoft Visual Studio Enterprise 2015 dan
ditulis dalam bahasa pemrograman C#.
Seorang pengguna dapat menjalankan aplikasi ini tanpa
harus memiliki perangkat lunak Microsoft Visual Studio
tersebut, namun harus tetap dijalankan dengan sistem operasi
berbasis Microsoft Windows.
2) Implementasi Antarmuka Pengguna
a) Antarmuka Pengguna untuk Halaman Utama
Halaman utama (beranda) merupakan halaman
pertama yang dilihat oleh pengguna pada saat menjalankan
aplikasi. Halaman ini dirancang dengan ukuran 800 × 400
piksel. Implementasi antarmuka pengguna untuk halaman
utama terdapat pada Gambar 1.

n

 xij  1,

i  1, 2, ..., n

j 1
n

 xij  1,

j  1, 2, ..., n

i 1

xij  {0,1}

,s  0
solusi membentuk sebuah tur
(3)
Pemilihan optimisasi robust dalam penelitian ini didasarkan
pada kemampuan optimisasi robust untuk menyelesaikan
beberapa masalah dibandingkan dengan analisis sensitivitas
(sensitivity analysis) ataupun pemrograman stokastik
(stochastic programming).
D. Data
Data penelitian yang diperlukan adalah data lokasi
pertandingan yang digunakan pada hari pertandingan pada
penelitian. Data penelitian yang juga diperlukan adalah jarak
antar lokasi pertandingan dalam satuan kilometer (km). Data ini
akan diseleksi per hari pertandingan sesuai lokasi pertandingan
yang digunakan pada hari tersebut. Data penelitian diambil
pada Senin, 17 Oktober 2016 dengan mengakses secara daring
(online)
situs
web
Google
Maps
(https://www.google.com/maps) dan dicatat secara digital
dalam komputer yang digunakan. Dalam pengambilan nilai,
diasumsikan moda transportasi yang digunakan adalah mobil.
IV.

Gambar 1. Implementasi antarmuka pengguna untuk halaman
utama
b) Antarmuka Pengguna untuk Halaman Lokasi
Pertandingan
Halaman lokasi pertandingan menampilkan 14 lokasi
pertandingan (venue) yang digunakan dalam penyelenggaraan
Peparnas XV Jawa Barat 2016. Implementasi antarmuka
pengguna untuk halaman lokasi pertandingan terdapat pada
Gambar 2.

HASIL DAN PEMBAHASAN

A. Implementasi Sistem
Aplikasi travelling salesman problem dengan menggunakan
pendekatan ketidakpastian kotak (box uncertainty) dengan
metode branch and bound dalam optimisasi robust telah
dikembangkan dalam proses penelitian.

6

pengembangan aplikasi ini. Halaman ini dirancang dengan
ukuran 800 × 400 piksel. Implementasi antarmuka pengguna
untuk halaman pengembang dan pembimbing terdapat pada
Gambar 4.

Gambar 2. Implementasi antarmuka pengguna untuk halaman
lokasi pertandingan
c) Antarmuka Pengguna untuk Halaman Perhitungan
Halaman perhitungan merupakan halaman yang
menjadi inti aplikasi. Halaman ini dirancang dengan ukuran
1000 × 600 piksel. Implementasi antarmuka pengguna untuk
halaman perhitungan pada saat pertama kali diakses,
ditampilkan terdapat pada Gambar 3.

Gambar 4. Implementasi antarmuka pengguna untuk halaman
pengembang aplikasi dan pembimbing
B. Simulasi Numerik pada Peparnas XV Jawa Barat 2015
Pada Peparnas XV Jawa Barat 2015, terdapat 13 cabang
olahraga yang dipertandingkan. Sebagaimana dilansir dari
Kantor Berita Antara Regional Jawa Barat (2016), terdapat
sekitar 3.500 atlet difabel nasional yang akan berkompetisi
dalam memperebutkan 620 medali yang tersedia.
13 cabang olahraga dalam Peparnas XV Jawa Barat 2015
dilaksanakan di 14 lokasi pertandingan yang seluruhnya berada
di Kota Bandung. Sesuai dengan batasan masalah yang telah
ditentukan, titik awal dan akhir kunjungan adalah Kantor
Gubernur Jawa Barat, Jalan Diponegoro no. 22, Bandung.
Dengan aplikasi yang telah dikembangkan, akan
ditunjukkan hasil perhitungan dengan dua pendekatan, yaitu
tanpa optimisasi robust dan dengan optimisasi robust, dalam hal
ini mengambil nilai γ tertentu yang disesuaikan dengan asumsi
pada hari pertandingan tersebut. Simulasi ini berlangsung untuk
delapan hari pertandingan selama kompetisi, dengan lokasi
pertandingan yang berbeda-beda sesuai kompetisi.
Berikut ditampilkan analisis perbandingan atas hasil
perhitungan, yang dituangkan dalam Tabel I dan Tabel II. Tabel
I menyajikan komparasi rute antara yang ditempuh tidak
menggunakan optimisasi robust dengan yang menggunakan

Gambar 3. Implementasi antarmuka pengguna untuk halaman
perhitungan saat pertama kali diakses
d) Antarmuka Pengguna untuk Halaman Pengembang
Aplikasi dan Pembimbing
Halaman ini berisi informasi tentang pengembang
aplikasi dan juga pembimbing yang mengarahkan dalam

7

optimisasi robust dengan variasi nilai γ antara 100% dan 50%.
Dalam Tabel II ditinjau dari segi jarak tempuh.
TABEL I.

Hari
ke1

2

3

4

5

6

7
8

Hari
ke1
2

HASIL PERBANDINGAN RUTE YANG DITEMPUH

Rute Tanpa
Optimisasi
Robust
0–1–4–5–
3–2–6–0
0 – 3 – 10 – 8
–5–2–9–1
– 4 – 12 – 11 –
7–6–0
0 – 3 – 11 – 9
–6–5–2–
10 – 1 – 4 – 13
– 12 – 8 – 7 –
0
0 – 4 – 12 – 10
–7–2–6–3
– 11 – 1 – 5 –
14 – 13 – 9 – 8
–0
0 – 3 – 11 – 9
–6–2–5–
10 – 1 – 4 – 12
–8–7–0
0–2–8–5–
4–9–1–3–
11 – 10 – 7 – 6
–0
0–7–2–5–
1–4–8–6–
3–9–0
0–3–2–1–
4–0

TABEL II.

3
4
5
6
7
8

Nilai
γ
50%

100%

100%

50%

50%

50%

100%
50%

Rute dengan
Optimisasi
Robust
0–1–3–5–
4–2–6–0
0 – 3 – 8 – 10
–5–2–9–1
– 4 – 12 – 11 –
7–6–0
0 – 3 – 9 – 11
–6–5–2–
10 – 1 – 4 – 13
– 12 – 8 – 7 –
0
0 – 4 – 12 – 10
–6–7–2–1
– 5 – 14 – 13 –
3 – 11 – 9 – 8
–0
0 – 3 – 11 – 9
– 5 – 6 – 10 –
2 – 1 – 4 – 12
–8–7–0
0–2–8–4–
5–9–1–3–
11 – 10 – 7 – 6
–0
0–7–2–4–
5–1–8–6–
3–9–0
0–3–2–1–
4–0

Berbeda/
Sama

Nilai
γ
50%
100%

Berbeda

Berbeda

Berbeda

TABEL III.

Berbeda
Kode Uji
A1

Berbeda

Berbeda

Kelas Uji
Halaman
Utama

A02

Halaman
Lokasi

A03

Halaman
Perhitungan

A04

Halaman
Perhitungan

Sama

Jarak Total dengan
Optimisasi (km)
65,475
132,8

100%
50%
50%
50%
100%
50%

135,98
97,395
100,26
99,585
125,28
47,1

67,89
26,91
31,96
31,54
62,58
15,70

C. Pengujian Aplikasi
Suatu aplikasi yang telah dikembangkan perlu dilakukan
pengujian untuk mengetahui apakah aplikasi yang telah
dikembangkan sudah mampu memenuhi tujuan yang telah
ditetapkan dalam pengembangan aplikasi ini (Rouf, 2012).
Metode pengujian yang dipilih dalam penelitian ini adalah
pengujian black-box (Mustaqbal dkk., 2015).
1) Rencana Pengujian Aplikasi
Dalam hal ini pengujian dilakukan untuk menganalisis
apakah ada kemungkinan di mana bagian dari aplikasi
mengalami kesalahan ataupun kegagalan. Kesalahan atau
kegagalan dapat disebabkan oleh beberapa hal, termasuk
kesalahan dalam implementasi penulisan kode program
ataupun kesalahan lainnya. Rencana pengujian aplikasi yang
akan dilakukan dituliskan dalam Tabel III sebagai berikut.

Berbeda

RENCANA PENGUJIAN APLIKASI

Butir Uji
Pengguna dapat mengakses tiga halaman
lainnya dari halaman utama
Pengguna dapat membuka halaman
lokasi pertandingan pada situs pihak
ketiga secara daring
Pengguna dapat melakukan perhitungan
pada delapan hari pertandingan dengan
berbagai kategori waktu dan nilai γ yang
sesuai
Lokasi pertandingan pada perhitungan
muncul seluruhnya tanpa ada perulangan

2) Hasil Pengujian Aplikasi
Aplikasi yang telah dikembangkan diuji sesuai rencana
pengujian. Pada setiap tabel dari Tabel IV sampai dengan Tabel
VIII, akan dituliskan pengujian yang dilakukan, harapan yang

HASIL PERBANDINGAN JARAK TOTAL YANG DITEMPUH

Jarak Total Tanpa
Optimisasi (km)
42,85
66,5

68,09
70,49
68,3
68,05
62,7
31,4



22,63
66,30

8

TABEL VI.

dihasilkan dari pengujian, cara pengujian yang dilakukan, hasil
pengujian, dan kesimpulan.

Pengujian
TABEL IV.

Pengujian
Harapan
Cara
Pengujian

Hasil
Pengujian

Kesimpulan

HASIL PENGUJIAN A01

Harapan

Tiga buah Button yang ada pada Halaman Utama
dapat membuka halaman lainnya sesuai yang
ditetapkan
Tiga buah Button berhasil membuka halaman
lainnya
Tiga buah Button secara bergantian dibuka dari
Halaman Utama
 Button dengan teks “Lokasi Pertandingan
Peparnas XV Jawa Barat 2016” dapat menuju ke
halaman Lokasi Pertandingan
 Button dengan teks “Implementasi Perhitungan
Rute Terpendek” dapat menuju ke halaman
Perhitungan
 Button dengan teks “Pengembang Aplikasi” dapat
menuju ke halaman Pengembang dan
Pembimbing Aplikasi
Pengujian selesai dan aplikasi berhasil karena tidak
ditemukan kesalahan.

Cara
Pengujian

Hasil
Pengujian

Dari hasil pengujian ini tampak tiga buah Button yang ada
dapat bekerja dengan fungsional. Dengan bekerjanya ketiga
buah Button ini, maka halaman ini dapat menjadi halaman
penghubung yang andal dalam menggunakan aplikasi ini.
TABEL V.

Pengujian
Harapan
Cara
Pengujian

Hasil
Pengujian
Kesimpulan

HASIL PENGUJIAN A02

Empat belas lokasi pertandingan dapat dibuka pada
situs pihak ketiga secara daring
Empat belas lokasi pertandingan berhasil dibuka pada
situs pihak ketiga
Dengan memastikan komputer terhubung ke jaringan
Internet, pada setiap nama dan alamat lokasi
pertandingan diklik dan diperiksa apakah membuka
ke penjelajah (browser) web.
Pada saat diklik, setiap lokasi pertandingan terbuka ke
penjelajah (browser) web dengan alamat situs web
pada pihak ketiga yang telah ditulis dalam kode
program
Pengujian selesai dan aplikasi berhasil karena tidak
ditemukan kesalahan.

Kesimpulan
TABEL VII.

Pengujian

Harapan

Cara
Pengujian

9

HASIL PENGUJIAN A03 DENGAN DATA YANG BENAR

Pengguna dapat melakukan perhitungan pada
delapan hari pertandingan dengan berbagai kategori
waktu dan nilai γ berada dalam rentang yang benar
Aplikasi mampu melakukan perhitungan dan
menampilkan hasilnya tanpa ada peringatan
Secara berurutan, aplikasi akan menghitung untuk
setiap kategori waktu, dimulai dari kategori pukul
06.00–08.30, kategori pukul 08.30–15.00, kategori
15.00–19.00, dan dengan nilai γ = 1 dan γ = 35 (nilai
acak yang menyatakan 1 ≤ γ ≤ 100).
 Pada saat dipilih kategori pukul 06.00–08.30 dan
dipilih hari pertandingan 1 s.d. 8, seluruhnya
mampu menampilkan rute dan jarak terpendek
hasil perhitungan
 Pada saat dipilih kategori pukul 08.30–15.00 dan
dipilih hari pertandingan 1 s.d. 8, seluruhnya
mampu menampilkan rute dan jarak terpendek
hasil perhitungan
 Pada saat dipilih kategori pukul 15.00–19.00 dan
dipilih hari pertandingan 1 s.d. 8, seluruhnya
mampu menampilkan rute dan jarak terpendek
hasil perhitungan
 Pada saat dipilih kategori lainnya dan nilai
kategori γ = 1, serta dipilih hari pertandingan 1
s.d. 8, seluruhnya mampu menampilkan rute dan
jarak terpendek hasil perhitungan
 Pada saat dipilih kategori lainnya dan nilai
kategori γ = 35, serta dipilih hari pertandingan 1
s.d. 8, seluruhnya mampu menampilkan rute dan
jarak terpendek hasil perhitungan
Pengujian selesai dan aplikasi berhasil karena tidak
ditemukan kesalahan.
HASIL PENGUJIAN A03 DENGAN DATA YANG SALAH

Pengguna dapat melakukan perhitungan apabila nilai
γ berada dalam rentang yang salah
Pengguna tidak dapat melakukan perhitungan
apabila nilai γ berada dalam rentang yang tidak
sesuai dengan aturan dengan terpacunya sebuah
MessageBox
TextBox yang berisi nilai γ, diisi dengan beberapa
kemungkinan, yakni: 0, -5 (bilangan negatif), 200
(bilangan >100), a (huruf), a30 (gabungan huruf dan
angka), dan dikosongkan.



Hasil
Pengujian

Kesimpulan

Dengan memasukkan nilai 0, -5, dan 200,
memacu MessageBox dengan pesan “Nilai
gamma berada dalam rentang 1-100”
 Dengan memasukkan nilai a dan a30 memacu
MessageBox dengan pesan “Kotak ini berisi
nilai gamma yang berada dalam rentang 1-100”
 Dengan mengosokan nilai gamma memacu
MessageBox dengan pesan “Nilai gamma wajib
diisi!”
Pengujian selesai dan aplikasi berhasil karena tidak
ditemukan kesalahan.
TABEL VIII.

Pengujian
Harapan
Cara
Pengujian
Hasil
Pengujian
Kesimpulan

3. Telah didapatkan jarak yang paling maksimal dengan
kondisi ketidakpastian yang ditentukan dalam kunjungan
lokasi pertandingan Peparnas XV Jawa Barat 2016. Dengan
perhitungan ini, dapat diperhitungkan
lebih
lanjut
tentang waktu dan kecepatan tempuh
REFERENSI
[1]
[2]

HASIL PENGUJIAN A04

[3]

Adanya perulangan pada lokasi pertandingan yang
ditampilkan sebagai hasil perhitungan
Lokasi pertandingan pada perhitungan muncul
seluruhnya tanpa ada perulangan
Membandingkan dengan hasil simulasi numerik
pada Bagian 4.2
Tidak ada lokasi pertandingan yang muncul
berulang
Pengujian selesai dan aplikasi berhasil karena tidak
ditemukan kesalahan.

[4]
[5]
[6]

[7]

Dari empat jenis pengujian yang dilakukan, didapatkan hasil
bahwa aplikasi telah berjalan sesuai dengan hasil perancangan
dan implementasi.
V.

[8]

SIMPULAN

[9]

Berdasarkan hasil penelitian yang telah dilakukan dan
dijabarkan sebelumnya, penulis mengambil kesimpulan sebagai
berikut.
1. Aplikasi penyelesaian TSP dengan menggunakan
pendekatan ketidakpastian kotak (box uncertainty) dalam
optimisasi robust dengan metode branch and bound telah
dikembangkan dengan metode pengembangan perangkat
lunak waterfall.
2. Rute dengan jarak terpendek dan jarak total dari kunjungan
lokasi pertandingan pada Peparnas XV Jawa Barat 2016
dengan dan tanpa ketidakpastian dalam optimisasi robust
telah dihitung dengan hasil pengembangan aplikasi.

[10]

[11]
[12]
[13]
[14]

10

Yu, G; Yang J. 1998. On the robust shortest path problem. Computers &
Operations Research 25.6 (1998): 457-468.
Karimah, H. N. 2016. Optimasi Branch and Bound pada Persoalan
Travelling Salesman Problem. Strategi Algoritma (2016).
Wiyanti, D. T. 2013. Algoritma Optimasi untuk Penyelesaian Travelling
Salesman Problem. Jurnal Transformatika (2013): 1-6.
Cormen, T., et. al. 2009. Introduction to Algorithm (Third Edition). The
MIT Press; Massachusetts.
Wang, Z., et al. 2015. Uncertain multiobjective traveling salesman
problem.
Prasarya, S; dan A. Mazharuddin. 2011. "Penentuan Jalur Terpendek
Menggunakan Teknologi Google Maps Masups dengan Mobile System
Android." Jurnal Ilmiah. Surabaya. Fakultas Teknik Informatika, Institut
Teknologi Sepuluh November (ITS) (2011).
Witary, V; N. Rachmat; dan Inayatullah. 2013. Optimasi Penjadwalan
Perkuliahan dengan Menggunakan Algoritma Genetika (Studi Kasus:
AMIK MDP, STMIK GI MDP dan STIE MDP). Jurusan Teknik
Informatika STMIK GI MDP, 2013.
Suyanto. 2010. Algoritma Optimasi (Deterministik atau Probalitik) (edisi
pertama). Graha Ilmu; Yogyakarta. ISBN 978-979-756-665-4
Ben-Tal, A.; A. Nemirovski. 2002. Robust optimization–methodology
and applications. Mathematical Programming 92.3 (2002): 453-480.
Chaerani, D.; and C. Roos. 2013. Handling Optimization under
Uncertainty Problem Using Robust Counterpart Methodology. Jurnal
Teknik Industri 15.2 (2013): 111-118.
Pressman, R.S. 2010. Software Engineering: A Practitioner's Approach
(Seventh Edition). McGraw-Hill Publishing Company; New York.
Vermaat, M.E., et al. 2015. Discovering Computers© 2016. Cengage
Learning.
Akbar, I.; K.I. Santoto; dan Y. Christiyono. 2013. Perancangan Aplikasi
SMS Gateway Pelaporan Nilai Siswa. TRANSMISI 15.2 (2013): 87-93.
Amriyati, P; D. Chaerani; dan E. Lesmana. 2016. Solusi Optimal Model
Optimisasi Robust untuk Masalah Traveling Salesman dengan
Ketidaktentuan Kotak dan Pendekatan Metode Branch and Bound. Jurnal
Teknik Industri, 17(2), 81-88.

11