PERANCANGAN DAN IMPLEMENTASI
SISTEM INFORMASI RESTORAN MULTI CABANG
MANAJEMEN TERPUSAT DENGAN MENGGUNAKAN
VPN (
VIRTUAL PRIVATE NETWORK
)
(Studi Kasus di Pondok Santap Glompong)
Oleh
RENDI AGUNG WIJAYA
Skripsi
Sebagai Salah Satu Syarat untuk Mencapai Gelar SARJANA TEKNIK
Pada
Jurusan Teknik Elektro
Fakultas Teknik Universitas Lampung
FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
ABSTRACT
DESIGN AND IMPLEMENTATION OF
RESTAURANT INFORMATION SYSTEM MULTI BRANCH CENTRALIZED MANAGEMENT USING
VPN (VIRTUAL PRIVATE NETWORK)
(Case Study in Pondok Santap Glompong)
By
RENDI AGUNG WIJAYA
The development of multi-branch restaurant is rapidly increasing but still manually managing information can lead to problems such as difficulty in monitoring the financial condition of the raw materials and each branch to be as in Pondok Santap Glompong. Information system of multi-branch restaurant is required to assist the restaurant management and monitoring activities centrally through the Internet.
Development of this system uses modified waterfall model and using Lazarus Pascal IDE, PHP & JQuery Mobile, MySQL Server and LogMeIn Hamachi VPN Software as tools. The system was developed based on the needs of prospective users, in this case is Pondok Santap Glompong.
Design and Implementation has produced an information system of restaurant that has a facilities such as managing materials, menus, mobile based orders, transactions, reports, and online syncronization using LogMeIn Hamachi VPN
software. This system can handle all of the user’s requirements. In addition, the VPN connection is established to simplify the process of data synchronization, management and monitoring of branches without requiring special configuration of the VPN server.
Keywords: multi-branch restaurant information system, modified waterfall
ABSTRAK
PERANCANGAN DAN IMPLEMENTASI SISTEM INFORMASI RESTORAN MULTI CABANG MANAJEMEN TERPUSAT DENGAN MENGGUNAKAN
VPN (VIRTUAL PRIVATE NETWORK) (Studi Kasus di Pondok Santap Glompong)
Oleh
RENDI AGUNG WIJAYA
Perkembangan restoran multi cabang yang semakin pesat namun pengelolaan informasi masih secara manual dapat memunculkan masalah seperti kesulitan memantau kondisi bahan baku dan keuangan dari masing-masing cabang menjadi seperti yang terjadi di Pondok Santap Glompong. Sistem informasi multi cabang diperlukan untuk membantu pengelolaan dan pemantauan kegiatan restoran melalui jaringan internet secara terpusat.
Pengembangan sistem ini menggunakan modified waterfall model dengan alat
bantu Lazarus Pascal IDE, PHP & JQuery Mobile, MySQL Server dan LogMeIn
Hamachi VPN Software. Sistem dikembangkan berdasarkan kebutuhan calon
pengguna dalam hal ini adalah Pondok Santap Glompong.
Perancangan dan implementasi yang dilakukan telah menghasilkan sebuah sistem informasi restoran yang memiliki fasilitas seperti pengelolaan bahan baku, menu,
pesanan berbasis mobile, transaksi, laporan dan sinkronisasi secara online dengan
bantuan software VPN LogMeIn Hamachi. Sistem ini mampu memenuhi
kebutuhan pengguna. Selain itu, koneksi VPN yang dibangun dapat mempermudah proses sinkronisasi data, manajemen cabang dan pemantauan
secara online tanpa memerlukan konfigurasi server VPN khusus.
Kupersembahkan Karya Kecil ini sebagai bukti
nyata dan cintaku kepada Ayahanda, Ibunda,
Adinda dan Nenek tercinta yang dengan cucuran
keringat dan air mata senantiasa bermunajat ke
hadirat Allah SWT demi keberhasilan dan
kesehatanku,
Seseorang yang selalu memberi motivasi untuk
meraih keberhasilan guna membahagiakan kedua
orang tua,
DAFTAR GAMBAR
Gambar Halaman
1. Manajemen Terpusat ... 10
2. Model modified waterfall ... 14
3. Tampilan Screenshot Lazarus ... 24
4. Menu Utama Lazarus ... 26
5. Form Lazarus ... 26
6. Object Inspector Lazarus ... 27
7. Source Editor Lazarus ... 27
8. Pembacaan data pada PHP ... 32
9. Ilustrasi VPN ... 33
10. Remote AccessVPN ... 34
11. Site to Site VPN ... 35
12. Tunneling Technology ... 37
13. Alur modified waterfall ... 41
14. Context Diagram (CD) Sistem Informasi Restoran ... 45
15. DFD administrator pusat ... 46
16. DFD administrator cabang ... 47
17. DFD pelayan ... 48
18. DFD kasir ... 48
ix
20. Relasi tabel database ... 53
21. Flowchart proses login ... 54
22. Flowchart pengelolaan menu makanan ... 54
23. Flowchart pencatatan pesanan pelanggan ... 55
24. Flowchart pembayaran tagihan pada kasir ... 56
25. Rancangan user interface akses login ... 57
26. Rancangan user interface menu utama ... 57
27. Rancangan user interface pengelolaan data ... 57
28. Rancangan user interface menu transaksi (Point of Sale). ... 58
29. Rancangan user interface menu login melalui web mobile. ... 58
30. Rancangan userinterface menu utama layanan web mobile. .... 58
31. Rancangan user interface pemesanan berbasis web mobile. .... 59
32. Topologi jaringan lokal di masing-masing restoran cabang. ... 59
33. Topologi koneksi antara kantor pusat dan restoran cabang. .... 62
34. Catatan hasil pengujian. ... 72
35. Diagram alir pengerjaan tugas akhir. ... 74
36. Perbaikan ERD sistem informasi ... 77
37. Implementasi ERD dalam MySQL Database. ... 78
38. Konfigurasi koneksi basis data. ... 79
39. Kode sumber SQL Query perangkat lunak desktop. ... 80
40. Kode sumber report-preview perangkat lunak desktop ... 81
41. Tampilan form Login ... 82
42. Tampilan menu utama ... 82
43. Tampilan daftar menu hidangan ... 83
45. Kode sumber login pada perangkat lunak mobile-web. ... 85
46. Tampilan halaman Login aplikasi mobile ... 85
47. Tampilan halaman utama aplikasi mobile ... 86
48. Tampilan daftar pesanan pelanggan aplikasi mobile ... 86
49. Tampilan awal LogMeIn Hamachi. ... 89
50. Tampilan pembuatan jaringan VPN LogMeIn Hamachi. ... 90
51. Tampilan pengaturan jaringan di sisi client LogMeIn Hamachi 91 52. Tampilan LogMeIn Hamachi Cabang dalam jaringan ... 91
53. Tampilan LogMeIn Hamachi Pusat dalam jaringan... 92
54. Hasil pengujian tabel penjualan melalui perangkat lunak desktop. ... 96
55. Hasil trace route dari pusat ke cabang. ... 98
56. Hasil trace route dari cabang ke pusat. ... 98
57. Proses akses database melalui VPN. ... 98
58. Perintah menampilkan isi salah satu tabel database. ... 99
59. Isi tabel database yang berhasil ditampilkan. ... 99
60. Hasil penyadapan jaringan dengan Cain & Abel. ... 99
61. Paket data yang tertangkap Wire Shark. ... 100
62. Paket data yang dianalisa dengan Wire Shark. ... 100
63. Tampilan LogMeIn Hamachi sebelum terkoneksi ... 105
64. Tampilan LogMeIn Hamachi setelah terkoneksi ... 105
65. Tampilan awal proses pembukaan restoran ... 106
66. Tampilan sinkronisasi saat buka restoran ... 107
67. Tampilan produksi menu hidangan ... 107
xi
69. Tampilan akhir proses buka restoran... 108
70. Tampilan awal proses tutup restoran ... 108
71. Tampilan sinkronisasi saat tutup restoran ... 108
72. Tampilan penyesuaian stok dan pencetakan laporan ... 109
73. Tampilanpengisian nilai kas terakhir ... 109
74. Tampilan pilihan backup data ... 109
75. Tampilan penutupan restoran selesai ... 110
DAFTAR ISI
Halaman
ABSTRAK ... i
DAFTAR ISI ... iii
DAFTAR TABEL ... vii
DAFTAR GAMBAR ... viii
DAFTAR ISTILAH ... xii
I PENDAHULUAN ... 1
A. Latar Belakang ... 1
B. Tujuan Penelitian ... 3
C. Manfaat Penelitian ... 3
D. Batasan Masalah ... 4
E. Perumusan Masalah ... 5
F. Hipotesis ... 6
G. Sistematika Penulisan ... 6
II. TINJAUAN PUSTAKA ... 8
A. Sistem Informasi Restoran Bercabang Manajemen Terpusat.. 8
1. Sistem Informasi ... 8
2. Restoran Multi Cabang ... 9
iv
B. Rekayasa Perangkat Lunak ... 12
1. Konsep ... 12
2. Model Rekayasa Perangkat Lunak Modified Waterfall ... 13
C. Sistem Basis Data ... 22
1. Konsep Basis Data ... 22
2. Manajemen Basis Data dengan MySQL ... 23
D. Pemrograman ... 24
1. Pemrograman Berbasis Desktop dengan Lazarus ... 25
2. Pemrograman Berbasis Mobile Web dengan PHP ... 29
E. VPN (Virtual Private Network) ... 33
1. Definisi ... 33
2. Kelebihan VPN ... 33
3. Jenis-Jenis VPN ... 34
4. Prinsip Kerja VPN ... 36
5. VPN Software ... 37
6. Teknik Pengujian Kualitas Jaringan ... 38
III. METODE PENELITIAN ... 40
A. Alat dan Bahan ... 40
B. Metode ... 41
1. Studi Literatur ... 41
2. Perancangan Pengembangan Sistem ... 42
3. Implementasi Pengembangan Sistem ... 63
4. Pengujian ... 64
5. Menarik Kesimpulan dan Saran ... 73
6. Pembuatan Laporan ... 73
C. Alur Kerja ... 74
IV. HASIL DAN PEMBAHASAN ... 74
1. Implementasi Sisftem Informasi Restoran Multi Cabang Manajemen Terpusat ... 75
a. Implementasi Basis Data ... 75
b. Implementasi Perangkat Lunak Berbasis Desktop ... 78
c. Implementasi Perangkat Lunak Berbasis Web Mobile 83
d. Implementasi Virtual Private Network (VPN) Antara
Pusat dan Cabang... 87
2. Pengujian ... 92
a. Pengujian fungsi sistem ... 93
b. Pengujian keandalan sistem dalam mengelola
database ... 95
c. Pengujian kualitas jaringan VPN LogMeIn Hamachi 96
B. Pembahasan ... 101
1. Sistem Informasi Restoran Multi Cabang ... 101
a. Fasilitas yang diimplementasikan dalam sistem
Informasi ... 101
b. Fungsi sistem dan kesesuaian terhadap kebutuhan ... 113
c. Keandalan perangkat lunak dalam mengelola
database ... 117
2. Manajemen Restoran Multi Cabang dengan VPN ... 118
a. Analisa keandalan VPN dengan pengujian PING ... 119
b. Analisa keandalan VPN dengan pengujian Trace
Route ... 120
c. Analisa pengujian keamanan dengan Cain & Abel .... 120
d. Analisa pengujian keamanan dengan Wire Shark ... 120
vi
f. Pemeliharaan Sistem Informasi ... 121
V. SIMPULAN DAN SARAN ... 123
A. Simpulan ... 123
B. Saran ... 124
DAFTAR PUSTAKA
DAFTAR ISTILAH
Software : Program yang berkaitan dengan operasi suatu
sistem komputer.
Database : Koleksi data item yang saling terkait terkelola
sebagai satu unit.
Record : Isi data pada database
Query : Perintah dalam sistem database
Form : Dasar atau pondasi yang akan digunakan
dalam pembuatan desain pembuatan program.
Login : Proses untuk masuk ke dalam sistem.
Source Code : Kode yang umumnya berisi syntax (perintah)
DAFTAR TABEL
Tabel Halaman
1. Notasi Data Flow Diagram ... 16
2. Simbol Entity Relationship Diagram ... 17
3. Perangkat yang dibutuhkan ... 40
4. Analisis kebutuhan sistem ... 43
5. Struktur tabel database sistem informasi ... 50
6. Kebutuhan perangkat VPN server. ... 60
7. Prosedur Pengujian Pengguna. ... 64
8. Rekapitulasi sasaran pengujian. ... 71
9. SQL Query yang digunakan. ... 81
10. Pemenuhan kebutuhan perancangan VPN server. ... 88
11. Perbandingan VPN Server dan Hamachi ... 88
12. Rekapitulasi hasil pengujian ... 93
13. Hasil PING koneksi VPN dari Pusat ke Cabang ... 97
14. Hasil PING koneksi VPN dari Cabang ke Pusat. ... 97
I. PENDAHULUAN
A. Latar Belakang
Seiring dengan semakin menjanjikannya peluang bisnis di bidang kuliner yang
merupakan kebutuhan pokok dari masyarakat, keberadaan restoran atau tempat
penyedia makanan menjadi semakin mudah ditemukan. Bahkan sekarang ini
semakin banyak restoran yang membuka cabang di berbagai tempat guna
menjangkau pelanggan di berbagai wilayah serta memperluas area pemasaran.
Pengelolaan restoran tentunya tidak dapat terpisahkan dari berbagai informasi dan
data seperti menu makanan, bahan baku, hingga penjualan yang apabila tidak
dikelola dengan baik akan menimbulkan masalah tersendiri bagi manajemen
terlebih pada restoran multi cabang.
Saat ini pengelolaan informasi secara manual masih banyak diterapkan oleh
restoran termasuk Pondok Santap Glompong yang merupakan restoran dengan
beberapa cabang dan tersebar di Provinsi Lampung. Pada restoran ini, persediaan
bahan baku dan transaksi belum diarsipkan secara terperinci. Selain itu sistem
pengelolaan menu pesanan pelanggan juga masih dicatat dalam nota pesanan
kemudian diberikan kepada bagian dapur dan kasir untuk dilakukan proses
pengolahan hidangan dan rekapitulasi tagihan. Oleh karena itu kerap terjadi
2
diolah, telah diantar atau dibatalkan serta diperlukannya waktu untuk melakukan
perhitungan secara manual yang dapat menimbulkan antrian yang tentunya dapat
memperburuk kualitas pelayanan dengan semakin banyaknya pengunjung. Selain
itu sistem manual yang diterapkan dapat memperbesar peluang tindak kecurangan
akibat tidak adanya transparansi laporan bahan baku dan transaksi dari
masing-masing cabang. Untuk mengatasi kecurangan-kecurangan yang mungkin muncul,
saat ini manajemen cabang dari Pondok Santap Glompong dipercayakan kepada
anggota-anggota keluarga dari pemilik usaha. Sistem manajemen berbasis
keluarga ini tentunya akan menghambat perkembangan jumlah cabang yang
dimiliki karena keterbatasan sumber daya manusia yang dapat dipercaya sebagai
pengelola dari pihak keluarga.
Adapun proses yang terjadi dalam pengelolaan restoran ini diawali dari pembelian
bahan baku oleh pusat dan selanjutnya didistribusikan ke masing-masing cabang.
Pada setiap cabang, pelanggan yang datang akan melakukan pemesanan menu
yang selanjutnya akan diproses oleh bagian dapur kemudian pelanggan tersebut
melakukan pembayaran tagihan pada kasir di akhir transaksi. Pada setiap
penutupan operasi harian restoran, hasil penjualan harian akan dilaporkan ke pusat
berikut dengan permintaan bahan baku.
Berawal dari permasalahan yang muncul dan juga alur aktivitas dari restoran
tersebut, dirancanglah suatu sistem informasi untuk membantu pengelolaan
restoran multi cabang ini sehingga ke depannya pemilik usaha dapat
mempercayakan manajemen kepada orang lain karena informasi yang diperoleh
secara remote. Oleh karena itu, proses pengiriman dan sinkronisasi informasi
antar cabang dengan kantor pusat memerlukan suatu koneksi khusus yang aman
melalui jaringan internet dikarenakan informasi yang akan dikirimkan merupakan
data perusahaan yang selayaknya tidak diketahui oleh pihak luar. Dengan tujuan
keamanan dan privasi tersebut dipilihlah metode koneksi Virtual Private Network
(VPN) yang dapat membangun jaringan lokal antar cabang melalui internet.
Sistem informasi yang akan dikembangkan ini meliputi pengelolaan bahan baku,
menu hidangan, pemesanan menu secara mobile, transaksi, laporan-laporan
keuangan, pemantauan cabang, pengiriman informasi antara cabang dan pusat,
serta fitur lain yang mendukung kinerja restoran. Melalui perancangan sistem
informasi ini diharapkan dapat menghasilkan terobosan baru dalam pengelolaan
restoran multi cabang secara mudah dan efisien melalui jaringan internet.
B. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah sebagai berikut :
1. Merancang dan merealisasikan Sistem Informasi Restoran Multi Cabang
dengan manajemen terpusat.
2. Menerapkan sistem VPN (Virtual Private Network) dalam membangun
koneksi antar cabang restoran.
3. Menyajikan laporan perkembangan di setiap cabang restoran yang dapat
diakses melalui internet untuk menunjang keputusan dalam manajemen
4
C. Manfaat Penelitian
Manfaat yang diharapkan dari pelaksanaan penelitian ini adalah sebagai berikut :
1. Meningkatkan efisiensi waktu dan kinerja dalam pengelolaan restoran.
2. Mempermudah pengguna dalam pemantauan perkembangan restoran di
setiap cabang.
3. Membantu meningkatkan kualitas pelayanan terhadap pelanggan serta daya
saing restoran terhadap kompetitor.
4. Memacu perkembangan restoran dalam memperbanyak cabang sehingga
dapat menunjang kualitas perekonomian global.
5. Memacu semangat wirausaha khususnya dalam bidang pengembangan
perangkat lunak.
D. Batasan Masalah
Adapun beberapa hal yang menjadi batasan masalah dalam pembahasan tugas
akhir ini adalah sebagai berikut :
1. Perancangan yang dilakukan menggunakan metode rekayasa perangkat
lunak modified waterfall.
2. Sistem Informasi ini diaplikasikan dalam sistem operasi Windows.
3. Analisis kebutuhan dan pengujian mengacu pada restoran tempat
4. Pengujian yang dilakukan adalah pengujian terhadap fungsi sistem
informasi dalam pengelolaan restoran dan tidak membahas sistem kerja
internal dari sistem serta keandalan keamanan jaringan VPN.
E. Perumusan Masalah
Masalah yang akan diselesaikan dalam penelitian ini adalah bagaimana
perancangan sistem informasi yang mampu mengelola restoran multi cabang
manajemen terpusat menggunakan koneksi VPN melalui fokus aspek sebagai
berikut :
1. Perancangan perangkat lunak berbasis desktop untuk pengelolaan menu
makanan, stok bahan baku, transaksi, pengaturan pengguna, serta
manajemen laporan, konfigurasi serta pemantauan meja pelanggan dan
kondisi restoran dengan aplikasi pemrograman Lazarus.
2. Perancangan aplikasi pemesanan makanan berbasis web mobile dengan
bahasa pemrograman PHP.
3. Perancangan sistem koneksi antar cabang dengan kantor pusat
menggunakan VPN.
4. Perancangan mekanisme pembaharuan basis data dari kantor pusat oleh
masing-masing cabang melalui proses sinkronisasi secara berkala.
5. Perancangan mekanisme pengiriman laporan harian dari masing-masing
cabang ke kantor pusat ketika restoran ditutup.
6. Perancangan sistem pemantauan masing-masing cabang oleh kantor pusat
6
7. Implementasi sistem secara keseluruhan dalam pengelolaan restoran multi
cabang manajemen terpusat.
F. Hipotesis
Hipotesis dari penelitian ini adalah dihasilkannya suatu Sistem Informasi Restoran
Multi Cabang Manajemen Terpusat dengan metode rekayasa perangkat lunak
modified waterfall untuk dapat mengelola data menu, bahan baku, pesanan
pelanggan, transaksi, serta laporan perkembangan restoran yang seluruhnya dapat
disinkronisasi antara pusat dan cabang melalui internet dengan menggunakan
VPN (Virtual Private Network).
G. Sistematika Penulisan
Sistematika yang digunakan dalam penulisan tugas akhir ini adalah sebagai
berikut :
BAB I PENDAHULUAN
Berisi latar belakang, tujuan penelitian, manfaat penelitian, batasan masalah,
perumusan masalah, hipotesis, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Berisi teori-teori yang mendukung dalam perancangan dan implementasi sistem
informasi restoran multi cabang manajemen terpusat dengan menggunakan VPN
BAB III METODE PENELITIAN
Berisi rancangan sistem informasi restoran multi cabang manajemen terpusat
dengan menggunakan VPN (Virtual Private Network), meliputi alat dan bahan,
langkah-langkah pengerjaan, penentuan metode yang akan digunakan, analisis
kebutuhan dan perancangan konseptual.
BAB IV HASIL DAN PEMBAHASAN
Berisi tentang proses pembuatan, pengujian dan analisis dari sistem informasi
restoran multi cabang manajemen terpusat dengan menggunakan VPN (Virtual
Private Network).
BAB V SIMPULAN DAN SARAN
Berisi simpulan yang diperoleh dari perancangan dan implementasi sistem
informasi, serta memuat saran yang terkait dengan hasil penelitian.
DAFTAR PUSTAKA
Berisi berbagai sumber pustaka yang digunakan untuk dijadikan referensi dalam
penulisan tugas akhir ini.
LAMPIRAN
II. TINJAUAN PUSTAKA
A. Sistem Informasi Restoran Multi Cabang Manajemen Terpusat 1. Sistem Informasi
Sistem adalah suatu kumpulan komponen yang saling terkait satu sama lain serta
berfungsi bersama untuk mencapai suatu tujuan. Sistem mengelola masukan
menjadi suatu keluaran. Sedangkan sistem informasi merupakan suatu kumpulan
dari perangkat keras, perangkat lunak, data, manusia, dan komponen prosedural
untuk menyediakan data dan informasi yang tepat kepada orang yang tepat pada
waktu yang tepat [1].
Sedangkan pada definisi lain, Sistem Informasi adalah kombinasi dari
orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian yang
ditujukan untuk mendapatkan jalur komunikasi penting, mengolah tipe transaksi
rutin tertentu serta memberi sinyal kepada manajemen yang lainnya terhadap
kejadian-kejadian internal [2].
Berdasarkan definisi tersebut dapat disimpulkan bahwa Sistem Informasi adalah
Adapun tujuan perancangan sistem informasi antara lain sebagai berikut [3]:
a. Menyediakan informasi untuk membantu pengambilan keputusan
manajemen.
b. Membantu petugas dalam melaksanakan operasi perusahaan dari hari ke
hari.
c. Menyediakan informasi yang layak untuk pemakai pihak luar perusahaan.
2. Restoran Multi Cabang
Restoran adalah suatu tempat atau bangunan yang diorganisasikan secara
komersial yang menyelenggarakan pelayanan dengan baik kepada semua
konsumennya baik berupa makanan ataupun minuman [4].
Definisi ‘multi’ berhubungan dengan kata latin multusyang berarti ‘banyak’, atau
dalam bahasa Yunani sebanding dengan mala yang berarti ‘banyak’. Dalam
bentuk kombinasinya dengan kata lain, kata ‘multi’ akan menghasilkan makna
mempunyai atau terdiri lebih dari satu.
Berdasarkan definisi-definisi tersebut dapat disimpulkan bahwa restoran multi
cabang adalah suatu tempat yang menyediakan layanan baik makanan maupun
minuman secara komersial kepada konsumennya dan terdiri atas lebih dari satu
lokasi atau cabang.
Umumnya sebuah bisnis di bidang restoran berawal dari bisnis yang dikelola oleh
10
pengelola suatu cabang. Sistem semacam ini tentunya akan menghambat
perkembangan sebuah usaha untuk mendirikan cabang-cabang di berbagai daerah
karena keterbatasan sumber daya manusia yang dapat dipercaya dari pihak
keluarga. Sebagai contoh, restoran-restoran yang awalnya didirikan atas dasar
usaha keluarga di antaranya Dapur Solo, D’Cost, Pecel Lele Lela, dll. Oleh
karena itu, sistem informasi diperlukan untuk menjamin pengelolaan sebuah usaha
dapat berjalan sebagaimana mestinya serta mampu memberikan laporan hasil
usaha secara akurat dan terpercaya kepada pemilik usaha.
Saat ini perkembangan sistem informasi khususnya di bidang pengelolaan
restoran mulai berkembang terutama untuk restoran-restoran berskala besar.
Beberapa software atau sistem manajemen restoran yang cukup banyak digunakan
antara lain Ventrasys, eZee, SolisResto, dll. Restoran-restoran tersebut umumnya
menerapkan sistem informasi untuk melakukan pengelolaan dan pemantauan
aktivitas bisnis di masing-masing cabang yang mereka miliki. Meskipun sistem
informasi memiliki peranan besar dalam membantu manajemen dan operasional
sebuah bidang usaha khususnya restoran, namun restoran-restoran dengan banyak
cabang di luar provinsi atau pulau bahkan negara saja yang menggunakannya dan
belum banyak diikuti oleh restoran-restoran menengah dengan cabang lokal.
3. Manajemen Terpusat
Manajemen adalah kemampuan untuk memonitor, mengontrol dan merencanakan
kemampuan yang digunakan untuk sentralisasi terhadap kontrol dan tanggung
jawab manajemen dalam satu lokasi [5].
Manajemen terpusat adalah arsitektur jaringan yang bersandar pada informasi dan
kontrol untuk muncul pada sebuah lokasi tunggal yang tersentralisasi atau
terpusat. Hal ini menyederhanakan manajemen jaringan yang ukurannya besar.
Oleh karena monitoring dan kontrol terletak pada satu titik, manajer jaringan
harus terletak pada titik yang sama. Supaya bisa memantau jaringan dengan
efektif, stasiun manajemen yang terpusat harus menyelidiki
peralatan/perlengkapan jaringan yang ditemukan dalam masing- masing jaringan.
Gambar 1. Manajemen terpusat [5].
Sistem manajemen sistem informasi secara terpusat memiliki beberapa manfaat
antara lain sebagai berikut :
a. Kemudahan dalam perencanaan, organisasi, dan pengontrolan kegiatan
perusahaan karena tidak perlu terjun langsung ke cabang-cabang yang
tersebar di berbagai lokasi untuk melakukan perubahan kebijakan usaha.
b. Kemudahan dalam memperoleh data-data dari keseluruhan cabang karena
tersimpan secara terpusat.
c. Kemudahan dalam perubahan data karena cabang akan memperbarui data
12
B. Rekayasa Perangkat Lunak 1. Konsep
Rekayasa perangkat lunak (software engineering) berasal dari kata rekayasa
(engineering) dan perangkat lunak (software). Rekayasa merupakan aplikasi
terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan
matematis serta aplikasi tentang produksi terhadap struktur,mesin, produk, proses
atau sistem. Sedangkan perangkat lunak adalah source code pada suatu program
atau sistem.
Rekayasa Perangkat Lunak (software engineering) dapat diartikan dalam beberapa
definisi sebagai berikut :
a. Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk
mendapatkan perangkat lunak secara ekonomis namun andal dan dapat
bekerja secara efesien pada komputer [6].
b. Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk
pengembangan, operasi, dan pemeliharaan perangkat lunak [7].
c. Suatu disiplin yang mengintegrasikan proses atau prosedur, metode, dan
perangkat (tools) untuk pembangunan perangkat lunak komputer [8].
d. Merupakan aplikasi dari prinsip-prinsip sains untuk mengurutkan
transformasi masalah menjadi solusi yang dapat bekerja dengan baik di mana
urutan pemeliharaan perangkat lunak tersebut sampai tidak dapat digunakan
Perangkat lunak mempunyai karakteristik sebagai berikut [10]:
a. Maintanability (dapat dirawat), perangkat lunak harus dapat memenuhi
perubahan kebutuhan.
b. Dependability, perangkat lunak harus dapat dipercaya.
c. Efisiensi, perangkat lunak harus efisien dalam penggunaan sumber daya.
d. Usability, perangkat lunak harus dapat digunakan sesuai dengan yang
direncanakan.
2. Model Rekayasa Perangkat Lunak Modified Waterfall
Di dalam pengembangan rekayasa perangkat lunak biasanya dipandu dengan
pemodelan dengan Daur Hidup Perangkat Lunak (Software Development Life
Cycle). Modified Waterfall adalah salah satu model rekayasa perangkat lunak
yang merupakan hasil pengembangan dari model Classic Waterfall dengan
tahapan-tahapan dan proses pengerjaan yang sama. Perbedaan di antara kedua
model tersebut adalah bahwa pada modified waterfall memiliki umpan balik
(feedback) pada setiap tahapnya yang memungkinkan adanya perbaikan pada
tahap sebelumnya saat perancangan sedang berlangsung. Hal ini tentu berbeda
dengan classic waterfall di mana perbaikan hanya dapat dilakukan setelah seluruh
14
Adapun pemodelan Modified Waterfall dapat diilustrasikan sebagaimana gambar
berikut :
Gambar 2. Model modified waterfall [11].
Adapun penjabaran dari setiap tahap model modified waterfall di atas adalah
sebagai berikut :
a. Analisis Kebutuhan (Requirement Analysis)
Kebutuhan adalah sesuatu yang disyaratkan, sesuatu yang diinginkan atau
diperlukan. Kebutuhan perangkat lunak adalah kondisi, kriteria, syarat atau
kemampuan yang harus dimiliki oleh perangkat lunak untuk memenuhi apa yang
disyaratkan atau diinginkan pemakai [12].
Terdapat tiga macam jenis kebutuhan perangkat lunak [7] :
i. Kebutuhan fungsional (functional requirement)
Disebut juga kebutuhan operasional, yaitu kebutuhan yang berkaitan dengan
fungsi atau proses transformasi yang harus mampu dikerjakan oleh
perangkat lunak.
ii. Kebutuhan antarmuka (interface requirement)
Kebutuhan antarmuka yang menghubungkan perangkat lunak dengan
iii. Kebutuhan unjuk kerja (performance requirement)
Kebutuhan yang menetapkan karakteristik unjuk kerja yang harus dimiliki
oleh perangkat lunak, misalnya kecepatan, ketepatan, frekuensi.
Metode atau teknik untuk melakukan analisis kebutuhan perangkat lunak dapat
dikelompokkan berdasarkan pendekatan yang diambil pada saat melakukan
aktivitas tersebut. Salah satu metode dalam analisis kebutuhan perangkat lunak
adalah Berorientasi Aliran Data (Data Flow Oriented atau Functional Oriented).
Sudut pandang analisis pada pendekatan ini difokuskan pada aspek fungsional dan
behavioral (perilaku laku) sistem. Pengembang harus mengetahui fungsi-fungsi
atau proses-proses apa saja yang ada dalam sistem, data apa yang menjadi
masukannya, di mana data tersebut disimpan, transformasi apa yang akan
dilakukan terhadap data tersebut, dan apa yang menjadi hasil transformasinya
[12].
Adapun perangkat analisis terstruktur antara lain sebagai berikut :
i. Diagram Aliran Data atau Data Flow Diagram (DFD)
Data Flow Diagram (DFD) merupakan diagram yang menggambarkan
aliran data dalam sistem, sumber dan tujuan data, proses pengolahan data
tersebut, dan tempat penyimpanan datanya [12]. DFD juga dapat
didefinisikan sebagai diagram yang menggunakan notasi simbol untuk
menggambarkan arus data system [13].
Terdapat tiga macam DFD yang biasa digunakan [14], yaitu :
1. Context Diagram (CD)
Yaitu diagram yang paling sederhana dari sebuah sistem informasi untuk
16
Diagram ini menggambarkan suatu sistem dalam satu lingkaran dan
dihubungkan dengan entitas luar yang digambarkan dengan simbol
persegi.
2. DFD Fisik
DFD fisik tidak menunjukkan apa yang dilakukan, tetapi menunjukkan
di mana, bagaimana, dan oleh siapa proses-proses dalam sebuah sistem
dilakukan.
3. DFD Logis
DFD logis digunakan untuk membuat dokumentasi sebuah sistem
informasi karena DFD logis dapat mewakili logika tersebut, yaitu apa
yang dilakukan oleh sistem tersebut, tanpa perlu menspesifikasi di mana,
bagaimana, dan oleh siapa proses-proses dalam sistem tersebut
dilakukan.
Tabel 1. Notasi Data Flow Diagram [16].
ii. Diagram Entitas Relasi atau Entity Relationship Diagram (ERD)
ERD adalah diagram yang menggambarkan keterhubungan antar data secara
konseptual. Penggambaran keterhubungan antar data ini didasarkan pada
entitas (entity), dan hubungan yang terjadi di antaranya yang disebut relasi
(relationship).
Tabel 2. Simbol Entity Relationship Diagram.
No Notasi Nama Arti
1 Entity Objek yang dapat dibedakan dalam
dunia nyata
2 Week Entity Suatu entity di mana keberadaan
dari entity tersebut tergantung dari
keberadaan entity yang lain
3 Relationship Hubungan yang terjadi antara satu
atau lebih entity
4 Identifying
Relationship
Hubungan yang terjadi antara satu
atau lebih weak entity
5 Atribut Simple Atribut yang bernilai tunggal atau
atribut atomic yang tidak dapat
dipilah-pilah lagi
6 Atribut Primary
Key
Satu atau gabungan dari beberapa atribut yang membedakan semua
baris data (row) dalam tabel secara
unik
7 Atribut
Composite
Atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna
8 Atribut
Multivalue
Suatu atribut yang memiliki
sekelompok nilai untuk setiap
instant entity
b. Perancangan (Design)
Perancangan perangkat lunak merupakan tahap kedua dalam model modified
waterfall dan dapat didefinisikan sebagai berikut :
i. Proses bertahap di mana semua kebutuhan yang ada diterjemahkan menjadi
suatu cetak biru yang akan digunakan untuk mengonstruksi perangkat lunak
18
ii. Proses untuk mendefinisikan suatu model atau rancangan perangkat lunak
dengan menggunakan teknik dan prinsip tertentu sedemikian hingga model
atau rancangan tersebut dapat diwujudkan menjadi perangkat lunak [12].
Adapun tahap-tahap dalam perancangan perangkat lunak antara lain sebagai
berikut [12] :
i. Perancangan data.
ii. Perancangan arsitektur perangkat lunak.
iii. Perancangan antarmuka pemakai (user interface).
iv. Perancangan prosedural (spesifikasi program).
c. Implementasi (Implementation)
Merupakan sekumpulan aktivitas di mana rancangan perangkat lunak yang telah
dibuat pada tahap perancangan kemudian dikodekan ke dalam bentuk kode
program dengan menggunakan bahasa pemrograman tertentu agar dapat
dijalankan pada komputer [12].
Beberapa faktor standar dalam penyusunan program antara lain [12]:
i. Kebenaran logika dan penulisan
Program yang disusun harus memiliki kebenaran logika dalam pemecahan
masalah maupun penulisan kode program.
ii. Waktu minimum untuk penulisan program
Penulisan program harus memiliki waktu minimum, artinya waktu minimal
yang harus tersedia untuk menuliskan kode program dari awal hingga siap
iii. Kecepatan maksimum eksekusi program
Agar program memiliki kecepatan eksekusi maksimum, perlu diperhatikan
beberapa hal antara lain bahasa pemrograman yang digunakan, algoritma
yang disusun, teknik pemrograman yang dipakai, dan perangkat keras yang
digunakan.
iv. Ekspresi penggunaan memori
Semakin sedikit penggunaan memori, semakin cepat program dieksekusi.
v. Kemudahan merawat dan mengembangkan program
Program yang memiliki struktur yang baik, struktur data jelas, dan
dokumentasi yang lengkap dan mudah dipahami, akan mudah untuk dirawat
dan dikembangkan.
vi. User friendly
Program yang baik harus memiliki layanan untuk mempermudah pemakai
untuk menggunakannya.
vii. Portabilitas
Program yang baik harus dapat dijalankan pada kondisi platform yang
berbeda-beda, baik itu sistem operasi maupun perangkat keras.
viii. Modular
Pada pendekatan pemrograman, masalah dibagi-bagi menjadi unit terkecil,
yang disebut modul untuk menyederhanakan pengimplementasian
20
d. Pengujian (Testing)
Pada proses Rekayasa Perangkat Lunak (RPL), programmer mula-mula berusaha
untuk membangun perangkat lunak mulai dari konsep abstrak sampai kepada
tahap implementasi yang dapat dilihat, baru kemudian dilakukan pengujian.
Pada pengujian perangkat lunak, programmer menciptakan sekumpulan kasus uji
untuk diujikan kepada perangkat lunak. Proses pengujian merupakan tahapan
dalam RPL di mana secara fisik terlihat lebih banyak sisi desktruktifnya
dibandingkan sisi konstruktifnya karena tujuannya adalah untuk menemukan
kesalahan pada perangkat lunak.
Untuk melakukan pengujian perangkat lunak secara fungsional dapat
menggunakan metode yang terangkum dalam Seven-Step Software Testing
Process [15]. Adapun langkah pengujian tersebut adalah sebagai berikut :
i. Organizing for testing
Dalam langkah ini membahas dua hal utama yaitu siapa yang akan terlibat
dalam pengujian dan cakupan pengujian.
ii. Developing the test plan
Pada langkah ini pengembang melakukan perancangan terhadap pengujian
secara terperinci serta melakukan analisa resiko.
iii. Verification testing
Pada langkah ini dilakukan tiga macam pengujian dasar yaitu kebutuhan,
perancangan, dan konstruksi. Pengujian-pengujian tersebut bertujuan untuk
iv. Validation testing
Pada langkah ini dilakukan pengujian fungsi dari perangkat lunak yang
dibangun secara menyeluruh dan detail untuk mengetahui adanya kesalahan
yang masih terjadi serta mencatatnya dalam sebuah laporan pengujian.
v. Analyzing and reporting test result
Pada tahap ini merupakan akhir dari pengujian awal di mana selanjutnya
pengembang akan melakukan analisa terhadap kesalahan-kesalahan yang
tercatat dalam laporan pengujian. Selanjutnya pengembang akan melakukan
perbaikan berdasarkan analisa tersebut hingga perangkat lunak siap untuk
diujicobakan pada pengguna (user acceptance test).
vi. Acceptance and operational testing
Berbeda dengan langkah-langkah pengujian sebelumnya di mana pengujian
dilakukan selama proses pengembangan oleh pengembang atau tim penguji,
pada langkah ini dilakukan pengujian oleh pihak yang akan menggunakan
perangkat lunak. Pengujian ini memungkinkan pengguna melakukan
evaluasi terhadap pemakaian dan kegunaan dari aplikasi yang telah dibuat
dalam aktivitas yang akan mereka lakukan dari hari ke hari. Selain itu juga
dilakukan pengujian instalasi pada lingkungan di mana perangkat lunak
akan digunakan. Melalui pengujian ini akan meyakinkan pengguna terhadap
perangkat lunak ini serta memungkinkan adanya perbaikan atau perubahan
sistem.
vii. Post-implementation analysis
Merupakan langkah pengujian terakhir yang berisi simpulan tentang hasil
22
e. Pemeliharaan (Maintenance)
Pemeliharaan perangkat lunak merupakan proses memodifikasi sistem perangkat
lunak atau komponennya setelah penggunaan oleh konsumen untuk memperbaiki
kerusakan, meningkatkan kinerja, manfaat, atau kualitas lainnya atau untuk
menyesuaikan sistem perangkat lunak dengan lingkungan yang berubah. Definisi
ini menegaskan bahwa proses pemeliharaan perangkat lunak merupakan proses
yang bersifat post-delivery, artinya dilakukan setelah sistem perangkat lunak
digunakan oleh konsumen.
Berikut ini adalah kategori pemeliharaan perangkat lunak :
i. Pemeliharaan korektif, mencakup semua perubahan yang dilakukan untuk
menghilangkan kerusakan aktual pada perangkat lunak.
ii. Pemeliharaan adaptif, mencakup semua perubahan yang dibutuhkan sebagai
konsekuensi dari perubahan lingkungan di mana sistem beroperasi, misalkan
perubahan perangkat keras, sistem operasi, DBMS, atau jaringan komputer.
iii. Pemeliharaan perfektif, mencakup semua perubahan yang berasal dari
permintaan pengguna.
C. Sistem Basis Data 1. Konsep Basis Data
Secara umum, basis data (database) berarti koleksi data yang saling terkait.
Secara praktis, basis data dapat dianggap sebagai suatu penyusunan data yang
terstruktur yang disimpan dalam media pengingat (hard disk) yang tujuannya
Suatu database yang baik hendaknya memiliki kriteria sebagai berikut [17]:
a. Database harus bersifat Object-Oriented bukan Program-Oriented.
Maksudnya adalah dalam aplikasi data apabila diakses secara bersamaan,
tidak terjadi perubahan pada struktur database.
b. Dapat dikembangkan dalam hal volume dan struktur.
c. Kerangkapan data (Data Redundancy) harus seminimal mungkin.
Dalam konsep pengelolaan basis data dikenal istilah Data Base Management
Systems (DBMS). DBMS adalah suatu sistem perangkat lunak yang bisa
mendefinisikan, membuat, memelihara, dan mengontrol akses ke Basis Data [18].
2. Manajemen Basis Data dengan MySQL
SQL adalah kependekan dari Structured Query Language. Bahasa ini merupakan
standar yang digunakan untuk mengakses database. Standar SQL mula-mula
didefinisikan oleh ISO (International Standards Organization) dan ANSI (the
American National Standards Institute), yang dikenal dengan sebutan SQL86.
Saat ini banyak perangkat lunak basis data yang menggunakan SQL sebagai
perintah untuk mengakses database salah satunya adalah MySQL [16].
MySQL merupakan software yang tergolong sebagai DBMS yang bersifat open
source. MySQL awalnya dibuat oleh perusahaan konsultan bernama TcX yang
berlokasi di Swedia. MySQL diunduh dan digunakan secara gratis karena
berlisensi GPL (General Public License). Sebagai DBMS, MySQL memiliki
sejumlah fitur sebagai berikut :
a. Portable, MySQL dapat berjalan di Sistem Operasi apapun (Windows,
24
b. Freeware, MySQL seperti halnya php, adalah freeware sehingga tidak
membutuhkan biaya dalam penggunaanya.
c. Multiuser, MySQL dapat digunakan beberapa pengguna dalam waktu yang
serempak tanpa mengalami gangguan.
d. Performance turning, MySQL memiliki kecepatan tinggi dalam memproses
query biasa. Karena kecepatan MySQL untuk melakukan sebuah single
query sepuluh kali lebih cepat dibanding dengan PostgreSQL.
D. Pemrograman
Program adalah serangkaian ekspresi yang disusun menjadi kesatuan prosedur
berupa urutan langkah untuk menyelesaikan suatu permasalahan dan
diimplementasikan dalam bentuk bahasa pemrograman sehingga dapat dijalankan
pada komputer. Adapun bahasa pemrograman merupakan tatacara penulisan
program [12].
Pada dasarnya, aplikasi dapat dibedakan ke dalam aplikasi berbasis desktop dan
aplikasi berbasis website. Aplikasi Desktop adalah suatu aplikasi yang dapat
berjalan sendiri atau independen tanpa menggunakan browser atau koneksi
Internet di suatu komputer otonom dengan sistem operasi atau platfom tertentu.
Sedangkan Pengertian aplikasi web based adalah suatu aplikasi yang dapat
berjalan dengan menggunakan basis teknologi web atau browser. Aplikasi ini
dapat diakses di mana saja asalkan ada koneksi internet yang mendukung, tanpa
desktop, cukup dengan membuka browser dan menuju tempat server aplikasi
tersebut dipasang [19].
1. Pemrograman Berbasis Desktop dengan Lazarus a. Definisi Lazarus
Lazarus adalah sebuah IDE (Integrated Development Environment), lingkungan
pengembangan perangkat lunak yang terintegrasi sehingga pembuatan software
dapat diselesai dalam waktu singkat. Lazarus bersifat open source, tersedia untuk
banyak platform yakni Linux, Windows dan Mac. Bahasa pemrograman yang
dijadikan landasan dalam Lazarus adalah Pascal.
Lazarus menyediakan lingkungan pengembangan mirip dengan Delphi. IDE ini
dibangun oleh Free Pascal Compiler (FPC) yang mempunyai motto Write Once
Compile Anywhere, artinya hanya dengan sebuah source code program dapat
dikompilasi di berbagai platform sistem operasi serta berbagai arsitektur
processor (i386, x86_64, arm, dll) [20].
26
b. IDE (Integrated Development Environment) pada Lazarus
Menu-menu penting dalam pemanfaatan Lazarus ditampilkan pada bagian paling
atas dari jendela Lazarus. Seperti pada software lain, menu File, Edit, Search,
View, Window dan Help terdapat pada Lazarus dan dengan mudah dipahami
kegunaan dan cara menggunakannya.
Gambar 4. Menu utama Lazarus.
Menu lain yang akan sering digunakan adalah ‘Project’ dan ‘Run’. Menu ‘Project’
digunakan untuk membuka jendela tertentu untuk mengatur proyek
pengembangan software yang sedang dilakukan. Dalam Lazarus, setiap program
komputer yang dikembangkan dinamakan ‘project’. Menu ‘Run’ digunakan untuk
menjalankan, men-trace atau menghentikan eksekusi program atau proyek.
Gambar 5. Form Lazarus.
Jendela ‘Form’ ini adalah bagian utama dari sebuah aplikasi visual. Form
menurupakan komponen paling penting dalam pemrograman visual. Di atas form
Pada sisi kiri terdapat sebuah kotak dengan judul ‘Object Inspector’. Jendela ini
digunakan untuk mengatur perilaku dari suatu kontrol atau komponen yang telah
diletakkan di atas suatu Form atau jendela aplikasi yang sedang kita kembangkan.
Setiap jenis komponen akan mempunyai properti yang berbeda. Properti-properti
ini dapat diubah pada saat pengembangan memanfaatkan ‘object Inspector’ atau
saat eksekusi program dengan menuliskan perintah-perintah dalam kode program.
Gambar 6. Object Inspector Lazarus.
Bagian lain yang sangat penting adalah ‘Source Editor’. Di sinilah programmer
menuliskan baris-baris kode program untuk mengatur apa yang harus dilakukan
oleh Aplikasi. Kode program ditulis mengikuti aturan dalam bahasa Pascal.
28
c. Konektivitas Lazarus dan MySQL Database
Sangat banyak aplikasi yang dibangun, baik berbasis Desktop maupun Web
memerlukan akses ke database. Hal ini tentunya juga menjadi perhatian penting
dalam pengembangan software dengan Lazarus. Pada dasarnya, Lazarus telah
menyediakan dukungan pada berbagai DBMS seperti MySQL 4.x, MySQL 5.x,
PostgreSQL, SQLlite, SQL Server, Interbase, Firebird dan Oracle [21].
Lazarus memerlukan library file ‘libmysqlclient.so’ agar dapat membangun
koneksi ke server database MySQL pada Linux OS dan library file‘libmysql.dll’
untuk Windows OS. File tersebut harus berada pada sistem operasi atau berada
satu direktori dengan aplikasi yang dijalankan.
Untuk membuat koneksi database dengan Lazarus, diperlukan komponen pada
tab ‘SQLdb’. Misalnya untuk membangun koneksi dengan MySQL database
diperlukan komponen seperti TMySQL50Connection yang digunakan untuk
membangun koneksi dengan database, TSQLTransaction yang digunakan untuk
menerjemahkan Query dan TSQLQuery yang digunakan untuk memberikan
Query pada database. Berikut ini adalah contoh kode program untuk melakukan
koneksi database :
MySQL50Connection1.HostName := '127.0.0.1'; MySQL50Connection1.UserName := 'root'; MySQL50Connection1.Password := 'abc123'; MySQL50Connection1.DatabaseName := 'dbstbi';
2. Pemrograman Berbasis Mobile Web dengan PHP a. Pemrograman Web
Pemrograman web diambil dari dua suku kata yaitu pemrograman dan web.
Pemrograman yang dalam bahasa English adalah programming dan diartikan
proses, cara, perbuatan program (secara bahasa Indonesia). Sedangkan Definisi
Web adalah jaringan komputer yang terdiri atas kumpulan situs internet yang
menawarkan teks dan grafik dan suara dan sumber daya animasi melalui protokol
transfer hypertext.
Orang banyak mengenal web dengan istilah WWW (world wide web), World
Wide Web adalah layanan internet yang paling populer saat ini internet mulai
dikenal dan digunakan secara luas setelah adanya layanan WWW . WWW adalah
halaman-halaman website yang dapat saling terkoneksi satu dengan lainnya
(hyperlink) yang membentuk samudera belantara informasi. WWW berjalan
dengan protokol HyperText Transfer Protokol (HTTP).
Halaman Web merupakan file teks murni (plain text) yang berisi sintaks-sintaks
HTML yang dapat dibuka, dilihat maupun diterjemahkan dengan Internet
Browser. Sintaks HTML mampu memuat konten teks, gambar, audio, video dan
animasi. Kini internet identik dengan web, karena kepopuleran web sebagai
standar interface pada layanan-layanan yang ada di internet, dari awalnya sebagai
penyedia informasi, ini digunakan juga untuk komunikasi dari email sampai
30
b. Mobile Web
Perkembangan teknologi pada perangkat mobile membutuhkan perkembangan
software yang sejalan dengan perkembangan hardware pada perangkat mobile
seperti perangkat handphone, pocket PC, console game dan multimedia pocket
player. Saat ini pada perangkat mobile para pengguna tidak hanya menemukan
sebuah aplikasi standalone tetapi dengan perangkat mobile dapat menggunakan
aplikasi-aplikasi mobile web sama seperti akses web dari sebuah komputer
meskipun dengan beberapa keterbatasan.
Pada Mei 2005 Mobile Web dikeluarkan oleh W3C dengan nama Mobile Web
Initiative (MWI) dengan tujuan membuat web dapat diakses dari sebuah perangkat
mobile secara sederhana seperti mengakses web dari sebuah komputer desktop.
Dalam perancangan mobile web, terdapat beberapa hal yang perlu diperhatikan
antara lain sebagai berikut [23] :
i. Terdapat beragam mobile web browser yang harus didukung oleh mobile
web yang dirancang.
ii. Mendukung beragam teknologi website terbaru seperti PHP, HTML5,
CSS3, dll.
iii. Perangkat mobile cenderung lebih kecil dan lebih lambat sehingga
kurang mendukung kompleksitas halaman.
iv. Tampilan mobile web berbeda dengan tampilan desktop web sehingga
c. Bahasa Pemrograman PHP
PHP (Hypertext Preprocessor) merupakan script yang dijalankan di server, di
mana kode yang menyusun program tidak perlu diedarkan ke pemakai sehingga
kerahasiaan kode dapat dilindungi [15]. PHP juga dapat didefinisikan sebagai
bahasa pemrograman yang dirancang untuk membuat halaman web interaktif dan
dijalankan melalui web server [24].
PHP adalah produk open source yang dapat digunakan secara gratis tanpa harus
membayar untuk menggunakannya. Interpreter PHP dalam mengeksekusi kode
PHP pada sisi server (server side), sedangkan tanpa adanya Interpreter PHP
semua script dan aplikasi PHP yang dibuat tidak dapat dijalankan. PHP dirancang
untuk dapat bekerja sama dengan database server dan dibuat sedemikian rupa
sehingga pembuatan dokumen HTML yang dapat mengakses database menjadi
begitu mudah. Tujuan dari bahasa scripting ini adalah untuk membuat
aplikasi-aplikasi yang prosesnya secara keseluruhan dijalankan di atas teknologi web
browser [25].
PHP merupakan aplikasi sisi server sehingga proses dilakukan di server. Pada saat
browser meminta dokumen PHP, web server langsung menggunakan modul PHP
untuk mengolah dokumen tersebut. Jika pada dokumen tersebut terkandung fungsi
yang mengakses database, maka modul PHP akan menghubungi database server.
Dokumen PHP akan ditampilkan dalam web browser dalam format HTML
32
Gambar 8. Pembacaan data pada PHP [26].
Beberapa kelebihan PHP dari bahasa pemrograman web lainnya, antara lain
sebagai berikut [26] :
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaanya.
2. Web Server yang mendukung PHP dapat ditemukan di mana-mana mulai
dari Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif
mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan
developer yang siap membantu dalam pengembangan.
4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah
karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime
E. VPN 1. Definisi
Virtual Private Network (VPN) adalah sebuah cara mensimulasikan jaringan
privat melalui jaringan publik, seperti internet. Dinamakan ‘virtual’ karena
menggunakan jaringan virtual atau tanpa adanya koneksi fisik yang
menghubungkan jaringan lokal tersebut [27].
Gambar 9. Ilustrasi VPN [27].
2. Kelebihan VPN
Dalam penggunaannya, teknologi VPN menyediakan tiga kelebihan utama [28]
sebagai berikut :
a. Kerahasiaan
Teknologi VPN memiliki sistem kerja mengenkripsi semua data yang
melewatinya. Dengan adanya teknologi enkripsi ini, kerahasiaan data
menjadi lebih terjaga.
b. Integritas Data
Ketika melewati jaringan internet, data sebenarnya sudah berjalan sangat
34
terhadap isi data tersebut, baik hilang, rusak, maupun dimanipulasi oleh
pihak lain. VPN memiliki teknologi enkapsulasi yang dapat menjaga
keutuhan data yang dikirim agar mencapai tujuan dengan selamat.
c. Autentikasi Sumber
VPN akan melakukan pemeriksaan terhadap semua data yang masuk dan
mengambil informasi sumbernya. Kemudian alamat sumber akan disetujui
jika proses autentikasinya berhasil. Dengan demikian, VPN menjamin
semua data yang dikirim dan diterima berasal dari sumber yang seharusnya
tanpa ada data yang dipalsukan atau dikirimkan oleh pihak asing.
3. Jenis-Jenis VPN
a. Remote Access VPN
Remote Access VPN memungkinkan akses kapan saja dan di mana saja ke
jaringan perusahaan/kantor. Jaringan ini biasa digunakan atau diminta oleh
pegawai perusahaan yang berpergian jauh tetapi ingin selalu terhubung
dengan jaringan perusahaannya melalui koneksi jarak jauh. Dengan jenis
VPN ini memungkinkan kantor cabang melakukan koneksi dial-up lokal
melalui provider dan kemudian melakukan koneksi ke pusat [29].
b. Site-to-Site VPN
Site-to-Site VPN memungkinkan suatu private network diperluas melintasi
jaringan internet atau layanan public network lainnya dengan cara yang
aman. Site-to-Site VPN disebut juga router-to-router VPN atau LAN-to-LAN
dan merupakan salah satu alternatif infrastruktur WAN yang biasa
digunakan. VPN jenis ini menghubungkan dua atau lebih kantor cabang,
kantor pusat, ataupun partner bisnis ke seluruh jaringan perusahaan [29].
Gambar 11. Site to Site VPN [29].
Site-to-Site VPN terbagi menjadi dua, yaitu:
1. Intranet VPN
Intranet VPN digunakan untuk menghubungkan antara kantor pusat
dengan kantor cabang atau kantor lain yang letaknya berjauhan melalui
jaringan publik.
2. Extranet VPN
Extranet VPN digunakan untuk menghubungkan suatu perusahaan
dengan perusahaan lainnya (contohnya mitra kerja, pelanggan, atau
36
4. Prinsip Kerja VPN
Hal terutama yang dibutuhkan oleh sebuah VPN untuk bekerja adalah adanya
koneksi internet yang baik. Kemudian juga diperlukan internet gateway router
untuk melakukan setting akses internet bagi para staf. Router ini dikonfigurasikan
untuk melindungi jaringan lokal perusahaan atau organisasi dari orang yang tidak
berhak mengaksesnya melalui internet. Dapat juga dikatakan bahwa router ini
berfungsi sebagai firewall.
Kemudian VPN software di-install pada router yang berfungsi sebagai firewall
tersebut. Kemudian dikonfigurasikan agar dapat tersambung dan tercipta sebuah
koneksi virtual. Jika tahap ini sukses maka dua atau lebih jaringan perusahaan
atau kantor sudah dapat terhubung melalui jaringan virtual (internet) layaknya
jaringan nyata. Sudah dapat saling mengirim data dan saling mengakses jaringan,
namun belum menjadi jaringan private karena belum terlindungi, sehingga orang
lain yang memakai internet juga dapat mengambil data yang dikirim melalui
jaringan ini.
Untuk menjadikan jaringan ini menjadi sebuah jaringan yang private, solusinya
adalah dengan menggunakan enkripsi. Traffic VPN antara dua atau lebih
perusahaan/kantor yang menggunakan VPN dikunci dengan enkripsi, dan hanya
komputer atau orang yang berhak saja yang dapat membuka kunci dan melihat
data yang dikirim dengan enkripsi tersebut. Data yang dikirim akan dienkripsi
Data dienkapsulasi (dibungkus) dengan header yang berisi informasi routing
untuk mendapatkan koneksi point to point sehingga data melewati jaringan publik
dan dapat mencapai akhir tujuan. Proses enkapsulasi data sering disebut tunneling
[29].
Teknologi Tunnelling merupakan teknologi yang bertugas untuk menangani dan
menyediakan koneksi point-to-point dari sumber ke tujuannya. Disebut tunnel
karena koneksi point-to-point tersebut sebenarnya terbentuk dengan melintasi
jaringan umum, namun koneksi tersebut tidak mempedulikan paket-paket data
milik orang lain yang sama-sama melintasi jaringan umum tersebut, tetapi koneksi
hanya melayani transportasi data dari pembuatnya [28].
Gambar 12. Tunnelling Technology [28].
5. VPN Software
Selain VPN yang dibangun secara mandiri dengan menggunakan server dan
kebutuhan tertentu, terdapat pula perusahaan yang memberikan layanan VPN
melalui VIP client software yaitu aplikasi yang dapat menghubungkan komputer
pengguna dengan jaringan atau server VPN.
Salah satu VPN client-software yang dapat digunakan adalah VPN Hamachi yang
merupakan produk dari LogMeIn Inc. yang merupakan sebuah aplikasi Virtual
38
dengan Hamachi di dalamnya dan terkoneksi ke dalam jaringan virtual yang
dibangun. Hamachi bersifat shareware dengan batasan penggunaan secara bebas
untuk maksimal 5 client yang terhubung. Hamachi memiliki kemampuan untuk
membuat, mengelola, dan memelihara Virtual Private Network (VPN) di
manapun dengan mudah [30]. Hamachi memiliki beragam pilihan jaringan yang
dapat dibangun seperti Gateway virtual networking, Hub-and-spoke virtual
networking, serta jaringan mesh.
6. Teknik Pengujian Kualitas Jaringan a. Perintah PING
Ping (Packet Internet Gopher) adalah sebuah program utilitas yang dapat
digunakan untuk memeriksa Induktivitas jaringan berbasis teknologi
Transmission Control Protocol/Internet Protocol (TCP/IP). Dengan
menggunakan utilitas ini, dapat diuji apakah sebuah komputer terhubung dengan
komputer lainnya. Hal ini dilakukan dengan mengirim sebuah paket kepada
alamat IP yang hendak diujicoba konektivitasnya dan menunggu respon darinya
[31].
Utilitas Ping akan menunjukkan hasil yang positif jika dua atau buah komputer
saling terhubung di dalam sebuah jaringan. Hasil berupa statistik keadaan koneksi
kemudian ditampilkan di bagian akhir. Kualitas koneksi dapat dilihat dari
besarnya waktu pergi-pulang (roundtrip) dan besarnya jumlah paket yang hilang
(packet loss). Semakin kecil kedua angka tersebut, semakin bagus kualitas
b. Perintah Trace Route
Traceroute (Tracert) adalah perintah untuk menunjukkan rute yang dilewati paket
untuk mencapai tujuan. Ini dilakukan dengan mengirim pesan Internet Control
Message Protocol (ICMP) Echo Request ke tujuan dengan nilai Time to Live yang
semakin meningkat. Rute yang ditampilkan adalah daftar interface router (yang
paling dekat dengan host) yang terdapat pada jalur antara host dan tujuan. Jumlah
hop menunjukkan jumlah router atau jaringan luar yang dilewati [32].
c. Pengujian Keamanan dengan Software Cain & Abel
Cain & Abel adalah sebuah software yang dapat digunakan untuk melakukan
penyadapan (sniffing) paket jaringan, memecahkan password dengan beberapa
metode seperti dictionary attack, brute force, dan cyptanalysis attack [33].
d. Penyadapan Paket Jaringan dengan Software Wireshark
WireShark adalah suatu perangkat untuk melakukan Sniffing paket-paket
(PDU-Protocol Data Unit) yang berjalan di suatu jaringan yang dapat ditangkap oleh
NIC (Network Interface Card). Wireshark melakukan penyadapan dengan metode
capture pada paket-paket yang berjalan pada jaringan untuk dapat dianalisa atau
dilihat isinya. Dalam paket tersebut terdapat banyak informasi yang dapat disadap
III. METODE PENELITIAN
A. Alat dan Bahan
Adapun perangkat keras dan perangkat lunak yang dibutuhkan dalam penelitian
ini antara lain sebagai berikut :
Tabel 3. Perangkat yang dibutuhkan.
No Perangkat Jumlah Spesifikasi Kegunaan
1. Laptop 1 Unit Processor Intel Core i3 2,3 GHz RAM 4 GB OS Windows 7
Untuk perancangan
aplikasi desktop dan
mobile.
2. Software
Lazarus
1 Unit Codetyphon Versi
1.10
Untuk pengembangan
aplikasi desktop
berbasis bahasa Pascal.
3. XAMPP 1.7.3 1 Unit Apache, PHP5
MySQL 5.1 phpMyAdmin 3.2.4
Digunakan sebagai web
server, database server, dan database designer.
4. Adobe
Dreamweaver
1 Unit Versi CS 6 Digunakan untuk
pengembangan aplikasi
mobile berbasis PHP, HTML 5 dan Jquery. 5. Wireless Access
Point
1 Unit TP Link Wireless
N Router TL-MR3420
Untuk menghubungkan
perangkat mobile dan
server lokal. 6. Smartphone
Samsung Galaxy Chat
1 Unit 240 x 320 pixel
Proc.850Mhz RAM 512MB Android 4.0
Menjalankan aplikasi
mobile web untuk mengelola pesanan pelanggan.
7. Printer 1 Unit Inkjet Printer
Canon iP2770
Tabel 3. Lanjutan.
No Perangkat Jumlah Spesifikasi Kegunaan
8. Modem 2 Unit GSM & CDMA Menghubungkan pusat
dan cabang melalui VPN.
9. Software
LogMeIn Hamachi
2 Unit Versi 2.0.1.296 Sebagai layanan VPN
client antar cabang.
10. Library JQuery Mobile
1 Unit Versi 1.1.0 Sebagai LibraryWeb
mobile berbasis Java Script
B. Metode
Adapun metode atau langkah kerja yang dilakukan selama pelaksanaan penelitian
ini adalah sebagai berikut :
1. Studi Literatur
Studi literatur bertujuan untuk mempelajari berbagai sumber referensi atau teori
yang berkaitan dengan sistem informasi restoran multi cabang manajemen
terpusat dengan VPN (Virtual Private Network).
Adapun literatur yang dipelajari berkaitan dengan hal-hal berikut ini :
a. Sistem informasi restoran multi cabang manajemen terpusat.
b. Model rekayasa perangkat lunak modified waterfall.
c. Pengelolaan database dengan MySQL.
d. Pemrograman berbasis desktop dengan Lazarus.
e. Perancangan mobile web dengan PHP.
f. VPN (Virtual Private Network).