RANCANG BANGUN SISTEM INFORMASI
RESERVASI ONLINE (STUDI KASUS : ZAHABI HOTEL SYARIAH JAKARTA)
SKRIPSI Oleh :
N a m a : MUHAMMAD REZZA MAQFIRO NIM : 1711093000004
PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH J A K A R T A
2018 M / 1439 H
RANCANG BANGUN SISTEM INFORMASI
RESERVASI ONLINE (STUDI KASUS : ZAHABI HOTEL SYARIAH JAKARTA)
SKRIPSI
Diajukan Untuk Memenuhi Sebagian Dari Persyaratan Guna Memperoleh Gelar Akademik
Sarjana Komputer
Oleh :
N a m a : MUHAMMAD REZZA MAQFIRO NIM : 1711093000004
PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH J A K A R T A
2018 M / 1439 H
i
LEMBAR PENGESAHAN SKRIPSI
RANCANG BANGUN SISTEM INFORMASI RESERVASI ONLINE (STUDI KASUS: ZAHABI HOTEL SYARIAH JAKARTA)
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains Dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
MUHAMMAD REZZA MAQFIRO 1711093000004
Menyetujui,
Pembimbing I Pembimbing II
Meinarini Catur Utami, M.T. Nia Kumaladewi, MMSI NIP. 19780505 201101 2 009 NIP. 19750412 200710 2 002
Mengetahui,
Ketua Program Studi Sistem Informasi
Nia Kumaladewi, MMSI NIP. 19750412 200710 2 002
ii
LEMBAR PENGESAHAN UJIAN
Skripsi yang berjudul “Rancang Bangun Sistem Informasi Reservasi Online (Studi Kasus: Zahabi Hotel Syariah Jakarta)” yang ditulis oleh Muhammad Rezza Maqfiro, NIM 1711093000004 telah diuji dan dinyatakan lulus dalam sidang Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada Senin, 28 Mei 2018. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar sarjana strata satu (S1) Program Studi Sistem Informasi.
Menyetujui, Penguji I
Dr. Qurrotul Aini NIP. 19730325 200901 2 001
Penguji II
Nida’ul Hasanati, MMSI NIP. 19790718 201411 2 002
Pembimbing I
Meinarini Catur Utami, M.T.
NIP.19780505 201101 2 009
Pembimbing II
Nia Kumaladewi, MMSI NIP.19750412 200710 2 002
Mengetahui, Dekan
Fakultas Sains dan Teknologi
Dr. Agus Salim, M.Si NIP. 19720816 199903 1 003
Ketua
Program Studi Sistem Informasi
Nia Kumaladewi, MMSI NIP.19750412 200710 2 002
iii
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Mei 2018
Muhammad Rezza Maqfiro 1711093000004
iv
ABSTRAK
Rancang Bangun Sistem Reservasi Online (Studi Kasus: Zahabi Hotel Syariah Jakarta). oleh Muhammad Rezza Maqfiro-1711093000004 di bawah bimbingan Meinarini Catur Utami, MT dan Nia Kumaladewi, MMSI
Zahabi Hotel Jakarta adalah sebuah perusahaan yang bergerak dibidang jasa pelayanan penginapan yang mengusung konsep syariah. Zahabi Hotel Jakarta berlokasi sangat strategis di kawasan Jakarta Selatan. Zahabi Hotel Jakarta memiliki kamar yang didesain interior modern bernuansa islami dan disetiap kamar dilengkapi dengan fasilitas perlengkapan shalat, fasilitas laundry dan fasilitas resto. Namun, dikarenakan belum adanya reservasi secara online, sehingga menimbulkan kurang minat para visitor untuk menginap di Zahabi Hotel Jakarta ini. Dengan penerapan reservasi secara online dapat membantu perusahaan dalam penyampaian informasi jasa yang dimilikinya dan akan mempermudah visitor untuk melakukan memesan kamar tanpa harus mengeluarkan banyak waktu datang langsung. Penelitian ini dibuat dengan menggunakan metode pengembangan sistem RAD (Rapid Application Development) dan dengan pemodelan sistem UML (Unified Modelling Language).
Dalam penelitian ini bahasa pemrograman yang digunakan adalah PHP dan MySQL sebagai basis datanya. Dengan sistem reservasi online dapat mempermudah visitor untuk memesan kamar dan membayar via online dan sangat mudah digunakan (user friendly).
Kata Kunci: Sistem Reservasi Online, Rapid Application Development (RAD), Unified Modelling Language (UML)
Bab I-V + xv Halaman + 135 Halaman + 66 Gambar + 46 Tabel + 18 Pustaka + Lampiran
Daftar pustaka: 2002-2014
v
KATA PENGANTAR
Alhamdulillahi robbil ‘aalamiin, segala puji bagi Allah SWT yang telah memberikan Rahmat, Hidayah, dan TaufiqNya sehingga dapat melaksanakan dan menyelesaikan penulisan skripsi dengan judul “Rancang Bangun Sistem Informasi Reservasi Online (Studi Kasus: Zahabi Hotel Syariah Jakarta)”. Tidak lupa sholawat beriring salam semoga selalu tercurah kepada junjungan alam Nabi Muhammad SAW beserta keluarga, sahabat, dan kerabatnya serta muslimin dan muslimat, semoga kita semua mendapatkan syafa’at dari beliau di akhirat kelak.
Aamiin.
Pada kesempatan ini, penulis ingin mengucapkan teruma kasih kepada seluruh pihak yang telah membantu baik moril maupun materil dalam menyelesaikan laporan ini, terutama kepada:
1. Bapak Dr. Agus Salim, M.Si selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
2. Ibu Nia Kumaladewi, MMSI selaku Dosen Pembimbing dan Ketua Program Studi Sistem Informasi Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta yang secara bijaksana dan kooperatif telah memberikan bantuan dan dukungan baik
3. Ibu Meinarini Catur Utami, M.T. selaku dosen pembimbing yang telah banyak memberikan arahan, ilmu, motivasi serta bimbingan selama proses penyusunan skripsi ini.
4. Dosen-dosen Sistem Informasi Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta yang telah memberikan ilmu dan membimbing dengan penuh kesabaran.
5. Bapak Rahmat selaku General Manager di Zahabi Hotel Jakarta yang telah memberikan kepercayaan kepada penulis sehingga penulis dapat melakukan riset skripsi.
6. Bapak Dede S.Kom selaku staf IT di lapangan pada Zahabi Hotel Jakarta yang sangat membantu dalam memberikan pengarahan IT.
vi
7. Kepada Orang Tua penulis, yang telah membesarkan dan mendidik penulis, terima kasih sebesar-besarnya karena dukungan beliau penulis dapat melanjutkan pendidikan hingga perguruan tinggi. Penulis menyadari, tanpa peran beliau penulis tidak akan seperti sekarang. Begitu banyak pengorbanan dan doa di setiap sujudnya yang beliau berikan untuk penulis sejak kecil hingga saat ini.
8. Kakak Ainys Wahyuningtyas yang telah mendukung penulis untuk menyelesaikan skripsi ini.
9. Kepada Ulfah Fitriyana, sebagai istri yang selalu mensupport penulis dalam menyelesaikan pengerjaan skripsi ini, sekaligus sebagai teman cerita dan berkeluh kesah dalam proses penyelesaiannya.
10. Sahabat sekaligus keluarga “TEAM KUPROY” yang selalu membantu dan memberikan tawa disela-sela proses pengerjaan skripsi ini.
11. Sahabat-sahabat Program Studi Sistem Informasi khususnya program kerjasama CCIT 2010 yang telah mau berbagi ilmu dengan penulis sehingga juga mambantu dalam penyelesaian penulisan laporan ini dan sahabat-sahabat lain yang terlalu banyak jika penulis sebutkan satu per satu.
Penulis sadar bahwa penyusunan laporan ini masih jauh dari sempurna, oleh karena itu penulis mengharapkan kritik dan saran yang konstruktif agar penyusunan laporan ini menjadi lebih baik lagi. Akhir kata, penulis berharap laporan ini dapat bermanfaat bagi semua pihak terutama sahabat-sahabat Sistem Informasi UIN Syarif Hidayatullah Jakarta, baik sebagai bahan karya tulis berupa informasi, perbandingan maupun dasar untuk penelitian materi lebih lanjut.
Jakarta, Mei 2018
Muhammad Rezza Maqfiro 1711093000004
vii
DAFTAR ISI
LEMBAR PENGESAHAN SKRIPSI ... i
LEMBAR PENGESAHAN UJIAN ... ii
LEMBAR PERNYATAAN ... iii
ABSTRAK ... iv
KATA PENGANTAR ... v
DAFTAR ISI ... vii
DAFTAR TABEL... xi
DAFTAR GAMBAR ... xiii
DAFTAR LAMPIRAN ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Permasalahan... 1
1.2 Identifikasi Masalah ... 3
1.3 Rumusan Masalah ... 4
1.4 Batasan Masalah ... 4
1.5 Tujuan Penelitian ... 5
1.6 Manfaat Penelitian ... 5
1.7 Metode Penelitian ... 5
1.8 Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 9
2.1 Konsep Rancang Bangun ... 9
2.1.1 Rancang ... 9
2.1.2 Bangun ... 10
2.1.3 Rancang Bangun ... 10
2.2 Konsep Dasar Sistem ... 10
2.2.1 Sistem ... 10
2.2.2 Karakteristik Sistem ... 11
2.2.3 Klasifikasi Sistem ... 14
viii
2.3 Konsep Dasar Sistem Informasi ... 15
2.3.1 Pengertian Informasi ... 15
2.3.2 Kualitas Informasi ... 15
2.4 Reservasi Hotel ... 16
2.5 Konsep Dasar Rapid Application Development (RAD) ... 17
2.5.1 Pengertian Rapid Application Development (RAD) ... 17
2.5.2 Tahap Rapid Application Development (RAD) ... 18
2.5.3 Keuntungan Rapid Application Development (RAD) ... 19
2.6 Konsep Dasar Unified Modelling Language (UML) ... 20
2.6.1 Pengertian Unified Modelling Language (UML) ... 20
2.6.2 Diagram Unified Modelling Language (UML) ... 21
2.7 Tools Pengembangna Sistem ... 26
2.7.1 PHP (PHP Hypertext Preprocessor) ... 26
2.7.2 XAMPP dan PHP MyAdmin ... 27
2.7.3 MySQL ... 28
2.8 Pengujian Perangkat Lunak... 31
2.8.1 Pengertian Penguji (Testing) ... 31
2.8.2 Pola Pengujian Terhadap Perangkat Lunak ... 31
2.8.3 Black-Box Testing ... 32
2.9 Literatur Review... 35
BAB III METODOLOGI PENELITIAN ... 39
3.1 Tahap Pengumpulan Data ... 39
3.1.1 Observasi ... 39
3.1.2 Wawancara ... 40
3.1.3 Studi Pustaka ... 40
3.1.4 Studi Literatur Penelitian Sejenis ... 40
3.2 Tahap Pengembangan Sistem ... 41
3.2.1 Requirement Planning ... 41
3.2.2 Workshop Design ... 42
3.2.3 Implementation ... 43
ix
3.3 Alasan Menggunakan Metode Pengembangan Sistem RAD ... 44
3.4 Alasan Menggunakan Metode Pengujian Black-Box ... 45
3.5 Kerangka Penelitian ... 46
BAB IV PEMBAHASAN ... 47
4.1 Requirement Planning ... 47
4.1.1 Sekilas Profil Zahabi Hotel Syariah Jakarta ... 47
4.1.1.1 Struktur Organisasi Zahabi Hotel Syariah Jakarta ... 48
4.1.2 Analisis Sistem Berjalan ... 53
4.1.3 Analisis Sistem Usulan ... 54
4.1.4 Identifikasi Sistem ... 56
4.1.4.1 Identifikasi Masalah Sistem yang Berjalan ... 56
4.1.4.2 Identifikasi Sistem yang Diusulkan ... 56
4.1.4.3 Identifikasi Kebutuhan Sistem... 56
4.1.4.4 Kelebihan dan Kekurangan Sistem... 59
4.2 Workshop Design ... 60
4.2.1 Tahap Perancangan Proses ... 60
4.2.1.1 Usecase Diagram ... 60
4.2.1.2 Activity Diagram ... 77
4.2.2 Tahap Perancangan Database ... 93
4.2.2.1 Tahapan Menyusun Class Diagram ... 93
4.2.2.2 Mapping Cardinality ... 96
4.2.2.3 Struktur Database ... 96
4.2.3 Tahap Perancangan Proses Lanjutan ... 102
4.2.3.1 Sequence Diagram ... 102
4.2.3.2 Statechart Diagram ... 115
4.3 Desain Interface ... 118
4.3.1 Grafik User Interface (GUI) ... 118
4.4 Implementation ... 128
4.4.1 Pengkodean ... 128
4.4.2 Pengujian Sistem (Black-Box Testing) ... 128
x
BAB V PENUTUP ... 133
5.1 Kesimpulan ... 133
5.2 Saran ... 133
DAFTAR PUSTAKA ... 134
LAMPIRAN ... 136
xi
DAFTAR TABEL
Tabel 2.1 Keterangan Simbol Usecase Diagram ... 22
Tabel 2.2 Keterangan Simbol Sequance Diagram ... 24
Tabel 2.3 Keterangan Simbol Class Diagram ... 25
Tabel 2.4 Keterangan Simbol Statechart Diagram ... 26
Tabel 2.5 Literatur Review ... 35
Tabel 4.1 Requirement Sistem ... 57
Tabel 4.2 Kelebihan Sistem yang Sedang Berjalan... 59
Tabel 4.3 Kelebihan Sistem yang Diusulkan ... 60
Tabel 4.4 Daftar Aktor pada Sistem Pemesanan yang Diajukan... 61
Tabel 4.5 Daftar Usecase pada Sistem Pemesanan yang Diajukan ... 61
Tabel 4.6 Skenario Usecase Register ... 64
Tabel 4.7 Skenario Usecase Login ... 65
Tabel 4.8 Skenario Usecase Edit Profile ... 66
Tabel 4.9 Skenario Usecase Reset Password ... 67
Tabel 4.10 Skenario Usecase Input Pemesanan ... 67
Tabel 4.11 Skenario Usecase Input Pembayaran ... 68
Tabel 4.12 Skenario Usecase Input Layanan Laundry ... 69
Tabel 4.13 Skenario Usecase Input Pesanan Makanan ... 69
Tabel 4.14 Skenario Usecase Print Invoice ... 70
Tabel 4.15 Skenario Usecase Print Kwitansi ... 71
Tabel 4.16 Skenario Usecase Manage Data Order ... 71
Tabel 4.17 Skenario Usecase Manage Data Payment ... 72
Tabel 4.18 Skenario Usecase Manage Data User ... 73
Tabel 4.19 Skenario Usecase Manage Data Room ... 74
Tabel 4.20 Skenario Usecase Manage Data Layanan Laundry ... 74
Tabel 4.21 Skenario Usecase Manage Data Makanan ... 75
Tabel 4.22 Skenario Usecase View Report Data Check in/Check out ... 76
Tabel 4.23 Skenario Usecase Logout ... 76
Tabel 4.24 Potensial Obyek ... 93
xii
Tabel 4.25 Analisis Potensial Obyek... 93
Tabel 4.26 Proposed Object List ... 94
Tabel 4.27 Data User ... 97
Tabel 4.28 Data Kamar... 97
Tabel 4.29 Data Pesanan ... 98
Tabel 4.30 Data Konfirmasi ... 98
Tabel 4.31 Data Makanan... 99
Tabel 4.32 Data Laundry ... 99
Tabel 4.33 Data Pesanan Makanan ... 100
Tabel 4.34 Data Pesanan Laundry ... 100
Tabel 4.35 Data History Makanan... 101
Tabel 4.36 Data History Laundry ... 101
Tabel 4.37 Pengujian Level Pengguna Customer... 129
Tabel 4.38 Pengujian Level Pengguna Reservation ... 130
Tabel 4.39 Pengujian Level Pengguna Admin ... 131
Tabel 4.40 Pengujian Level Pengguna Housekeeping Dept ... 131
Tabel 4.41 Pengujian Level Pengguna Food & Beverage Dept ... 132
xiii
DAFTAR GAMBAR
Gambar 2.1 Diagram Unified Modelling Language ... 20
Gambar 3.1 Kerangka Penelitian ... 46
Gambar 4.1 Struktur Organisasi Global Zahabi Hotel Syariah Jakarta ... 48
Gambar 4.2 Struktur Organisasi Front Office Zahabi Hotel Syariah Jakarta ... 48
Gambar 4.3 Workflow Sistem yang Sedang Berjalan ... 53
Gambar 4.4 Workflow Sistem yang Diusulkan ... 55
Gambar 4.5 Usecase Diagram Sistem Pemesanan Kamar Secara Online ... 63
Gambar 4.6 Activity Diagram Register ... 77
Gambar 4.7 Activity Diagram Login ... 78
Gambar 4.8 Activity Diagram Edit Profile ... 79
Gambar 4.9 Activity Diagram Reset Password ... 80
Gambar 4.10 Activity Diagram Input Pemesanan ... 81
Gambar 4.11 Activity Diagram Input Pembayaran ... 81
Gambar 4.12 Activity Diagram Input Layanan Laundry ... 82
Gambar 4.13 Activity Diagram Input Pesanan Makanan ... 83
Gambar 4.14 Activity Diagram Print Invoice ... 84
Gambar 4.15 Activity Diagram Print Kwitansi ... 84
Gambar 4.16 Activity Diagram Manage Data Order ... 85
Gambar 4.17 Activity Diagram Manage Payment... 86
Gambar 4.18 Activity Diagram Data User ... 87
Gambar 4.19 Activity Diagram Data Room ... 88
Gambar 4.20 Activity Diagram Manage Layanan Laundry ... 89
Gambar 4.21 Activity Diagram Manage Data Makanan ... 90
Gambar 4.22 Activity Diagram View Report Data Check in/Check out ... 91
Gambar 4.23 Activity Diagram Logout ... 92
Gambar 4.24 Class Diagram ... 95
Gambar 4.25 Mapping Cardinality ... 96
Gambar 4.26 Sequence Diagram Register ... 102
Gambar 4.27 Sequence Diagram Login ... 103
xiv
Gambar 4.28 Sequence Diagram Edit Profile ... 103
Gambar 4.29 Sequence Diagram Reset Password ... 104
Gambar 4.30 Sequence Diagram Input Pemesanan ... 105
Gambar 4.31 Sequence Diagram Input Pembayaran... 105
Gambar 4.32 Sequence Diagram Input Layanan Laundry ... 106
Gambar 4.33 Sequence Diagram Input Pemesanan Makanan ... 107
Gambar 4.34 Sequence Diagram Manage Print Invoice ... 107
Gambar 4.35 Sequence Diagram Manage Data Order ... 108
Gambar 4.36 Sequence Diagram Manage Data Payment ... 109
Gambar 4.37 Sequence Diagram Manage Data User ... 110
Gambar 4.38 Sequence Diagram Manage Data Room ... 111
Gambar 4.39 Sequence Diagram Manage Data Laundry... 112
Gambar 4.40 Sequence Diagram Manage Data Makanan ... 113
Gambar 4.41 Sequence Diagram View Report Data Check in/Check out ... 114
Gambar 4.42 Sequence Diagram Logout ... 115
Gambar 4.43 Statechart Diagram User ... 116
Gambar 4.44 Statechart Diagram Pesan ... 116
Gambar 4.45 Statechart Diagram Pesan Makanan dan Laundry ... 117
Gambar 4.46 Statechart Diagram History Makanan dan Laundry ... 117
Gambar 4.47 User Interface Login ... 118
Gambar 4.48 User Interface Registrasi ... 119
Gambar 4.49 User Interface Form Pemesanan ... 119
Gambar 4.50 User Interface Cek Ketersediaan ... 120
Gambar 4.51 User Interface Invoice Confirm Order ... 120
Gambar 4.52 User Interface Confirm Transfer ... 121
Gambar 4.53 User Interface Confirm Credit Card ... 121
Gambar 4.54 User Interface History Order ... 122
Gambar 4.55 User Interface Home Admin ... 122
Gambar 4.56 User Interface Edit Profile ... 123
Gambar 4.57 User Interface Reset Password ... 123
Gambar 4.58 User Interface Manage Order ... 124
xv
Gambar 4.59 User Interface Manage Payment ... 124
Gambar 4.60 User Interface Print Invoice ... 125
Gambar 4.61 User Interface Manage Data Room ... 126
Gambar 4.62 User Interface Form Data Room ... 126
Gambar 4.63 User Interface Manage Data User ... 127
Gambar 4.64 User Interface Form Data User ... 127
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi informasi saat ini sangat cepat dan akan terus berkembang. Hal ini ditandai dengan kebutuhan akan informasi dan pertumbuhan tingkat kecerdasan manusia. Saat ini telah banyak sistem informasi yang digunakan untuk menunjang dan menyelesaikan suatu permasalahan yang biasanya timbul dalam suatu organisasi, perusahaan atau instansi pemerintahan. Teknologi informasi sudah menjadi hal yang sangat lumrah dan sebuah keharusan dalam segala aspek kehidupan. Tak hanya itu, saat ini teknologi informasi bahkan telah menjadi tulang punggung kehidupan manusia dalam penyediaan dan pemberian informasi.
Keberadaan sebuah informasi yang realtime, cepat, dan akurat menjadi hal yang penting bagi kelangsungan hidup manusia saat ini (Rosa & Shalahudin, 2014).
Sejalan dengan perkembangan teknologi informasi yang semakin modern, banyak perusahaan-perusahaan memiliki sistem yang canggih untuk dapat terus mempromosikan perusahaan tersebut. Salah satunya adalah perusahaan perhotelan yang menggunakan fasilitas internet dalam sistem pemesanan kamar. Hal ini disebabkan karena metode ini dipandang memiliki beberapa keuntungan jika dibandingkan dengan sistem pemesanan kamar yang masih menggunakan metode manual atau metode pemesanan secara langsung, yang mana pemesanan yang melalui fasilitas internet akan membuat customer merasakan nyaman untuk pemesanan kamar secara online dengan proses yang cepat.
Zahabi Hotel Syariah Jakarta adalah hotel dengan konsep syariah yang disertifikasi oleh Dewan Syariah Nasional di bawah pengawasan Majelis Ulama Indonesia (MUI). Konsep syariah tersebut bertujuan menciptakan sebuah hotel yang beretika baik sesuai koridor Islam yang dapat memberikan kenyamanan lebih bagi tamu yang menginap baik tamu yang beragama Islam maupun beragama lain. Zahabi Hotel Syariah Jakarta berlokasi sangat strategis di kawasan Jakarta Selatan. Hotel ini resmi berdiri pada pertengahan tahun 2016, yang dimana konsepnya telah di rencanakan sejak awal tahun 2015.
Zahabi Hotel Syariah Jakarta memiliki kamar yang didesain interior modern bernuansa islami dan disetiap kamar dilengkapi dengan fasilitas perlengkapan shalat, fasilitas laundry dan fasilitas resto. Dari awal diresmikan, Zahabi Hotel Syariah Jakarta memiliki target ekspansi kapasitas kamar yang dari sebelumnya hanya 25 kamar, hingga sekarang sudah mencapai 120 kamar. Tidak hanya itu, target pemasaran yang ingin dicapai hingga sampai ke mancanegara. Dalam proses ekspansi yang dilakukan baik dari segi pemasaran, pemesanan, dan pelayanan, ada beberapa masalah yang terjadi pada saat operasional hotel, seperti kesulitannya dalam penanganan reservasi kamar dan layanan lain. Hal ini dikarenakan pemasaran yang gencar dan tidak dibarengi dengan system operational yang mumpuni, sehingga membuat pelayanan kurang memuaskan ketika pengunjung sedang ramai. Contoh lain yang terjadi seperti adanya tamu mancanegara yang hadir ingin menginap tetapi tidak dapat memesan terlebih dahulu, sehingga terkadang mereka kecewa apabila di saat tertentu kamar tidak tersedia.
Selama ini visitor yang ingin menginap di Zahabi Hotel Syariah Jakarta harus datang langsung untuk melakukan pemesanan kamar dan melakukan pembayaran secara tunai, hal ini menjadi kurang efisien, baik dari efisien waktu reservasi, maupun efisien ketika customer melakukan pembayaran. Disamping itu diharapkan customer juga dapat melakukan pengecekan ketersediaan kamar di tanggal yang diinginkan.
Berdasarkan latar belakang permasalahan tersebut, maka penulis tertarik untuk merancang dan mengembangkan sistem reservasi secara online dan user friendly dengan tujuan memberikan kemudahan kepada visitor. Oleh karena itu penulis memilih mengambil judul penelitian “Rancang Bangun Sistem Informasi Reservasi Online : Studi Kasus Zahabi Hotel Syariah Jakarta”. Dan dengan
perencanaan pembuatan aplikasi reservasi secara online diharapkan dapat memberikan kemudahan kepada visitor untuk melakukan pemesanan kamar dan melakukan pembayaran dengan cara transfer atau non tunai dimana saja dan kapan saja tanpa harus datang langsung untuk melakukan pemesanan kamar.
1.2 Identifikasi Masalah
1. Penanganan proses pelayanan kamar tidak tersentral, yang mana informasi terkadang tidak sampai tepat sasaran pada scope yang dicapai, yang pastinya mengurangi kecepatan dan ketepatan dalam proses pelayanan
2. Diperlukannya suatu system yang dapat mencakup informasi customer yang ingin melakukan reservasi sebelum datang ke Zahabi Hotel.
3. Pemasaran yang tidak dibarengi dengan kualitas system operational yang seimbang sehingga masalah muncul terjadi apabila pengunjung sedang ramai, namun pendataan dari reservasi hingga layanan dengan manual.
1.3 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, maka masalah yang mendasari yaitu “Bagaimana membangun sistem reservasi secara online, dengan menggunakan pembayaran secara transfer dan memberikan bukti reservasi berbentuk invoice print pdf?”.
1.4 Batasan Masalah
Agar penyusunan dan penulisan skripsi ini menjadi terarah, maka penulis perlu membatasi masalah sebagai berikut:
1. Sistem hanya ditekankan pada pembuatan aplikasi pengelolaan data kamar dan data pesanan kamar pada bagian reservasi, proses pemesanan kamar hotel pada bagian visitor hotel, proses pembayaran pada bagian visitor, dan pelaporan invoice bayar untuk pihak visitor dan pihak reservasi.
2. Metode pengembangan sistem yang digunakan yaitu pemodelan Rapid Application Development (RAD), dari tahap analisis kebutuhan sistem dan desain sistem hingga pada sampai tahap implementasi.
3. Perancangan sistem informasi ini menggunakan tools Unified Modeling Language (UML) yaitu: usecase diagram, activity diagram, sequence diagram, dan class diagram.
4. Menggunakan bahasa pemrograman PHP dengan framework codeigniter (CI) Ver. 2.1.4 dan MySQL sebagai basis datanya.
5. Implementasi sistem dibatasi hanya sampai tahap pengujian dengan metode black box.
1.5 Tujuan Penelitian
Adapun tujuan dalam penulisan skripsi ini sesuai dengan tema yang penulis buat adalah untuk merancang dan membangun sistem informasi pemesanan kamar sampai dengan pembayarannya menggunakan media website yang dapat melayani visitor secara online, sehingga memudahkan admin dalam mengolah data.
1.6 Manfaat Penelitian
Adapun manfaat yang didapat dari penelitian ini adalah sebagai berikut:
a. Memudahkan visitor Zahabi Hotel Syariah Jakarta dalam melakukan reservasi pemesanan hotel hingga pembayaran via online.
b. Menjadi referensi bagi penulis selanjutnya mengenai sistem informasi pemesanan hotel secara online dengan menggunakan pembayaran secara transfer.
c. Dapat membantu visitor dalam check-in, karena visitor cukup menunjukan bukti invoice sebagai bukti reservasi.
1.7 Metode Penelitian
Adapun metode penelitian yang digunakan dalam penelitian ini yaitu metode pengumpulan data dan metode pengembangan sistem. Metode tersebut terdiri atas:
1. Metode Pengumpulan Data
Metode pengumpulan data dalam penelitian ini dilakukan dengan empat tahap yaitu: observasi, wawancara, studi pustaka, dan studi literatur penelitian sejenis. Empat tahap ini dilakukan dengan pengamatan
langsung pada objek penelitian, melakukan wawancara berupa tanya jawab dengan pihak yang ada di dalam perusahaan agar mendapatkan informasi yang bisa berguna untuk penelitian dan mempelajari literatur yang berhubungan dengan topik reservasi secara online serta literatur- literatur yang sudah ada mengenai penelitian sejenis.
2. Metode Pengembangan Sistem
Metode pengembangan sistem yang digunakan dalam penelitian ini adalah metode berorientasi objek dengan model Rapid Application Development (RAD). Terdapat tiga fase dalam metode ini yaitu Requirement Planning, Workshop Design dan Implementation. Metode pengembangan yang digunakan dalam penelitian ini didukung dengan pemodelan yang berorientasi objek dengan Unified Modeling Language (UML) sebagai tools-nya.
1.8 Sistematika Penulisan
Penulisan skripsi ini dibagi menjadi 5 (lima) bab dengan beberapa sub pokok bahasan. Adapun sistematika penulisan dari skripsi ini adalah sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini akan menjelaskan tentang latar belakang, identifikasi masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi teori-teori yang terkait dengan perancangan sistem informasi reservasi online pada Zahabi Hotel Syariah Jakarta.
BAB III METODOLOGI PENELITIAN
Pada bab ini akan diuraikan metode penelitian yang digunakan dalam membangun sistem. Metode yang digunakan antara lain metode pengumpulan data dan metode pengembangan sistem. Pada metode pengumpulan data, yaitu menggunakan metode penelitian observasi, wawancara, dan studi literatur/pustaka. Sedangkan metode pengembangan sistem yang digunakan adalah metode pengembangan Rapid Application Development (RAD). Serta adanya kerangka penelitian dari penelitian yang dilakukan.
BAB IV HASIL DAN PEMBAHASAN
Dalam bab ini dijelaskan mengenai metode pengumpulan data, metode perancangan sistem yang menggunakan Rapid Application Development (RAD) yang terdiri dari 3 tahap, yaitu: requirements planning, RAD design workshop dan implementation, dan menggunakan tools Unified Modeling Language (UML) terdiri dari activity diagram, usecase diagram, class diagram, sequence diagram.
BAB V PENUTUP
Pada bab ini berisi kesimpulan dari uraian yang sudah diterangkan pada bab-bab sebelumnya dan juga berisi saran-saran perbaikan dalam mengoptimalkan sistem yang dibangun.
9
BAB II
LANDASAN TEORI
2.1 Konsep Rancang Bangun 2.1.1 Rancang
Perancangan merupakan salah satu hal yang penting dalam membuat program. Adapun tujuan dari perancangan ialah untuk memberi gambaran yang jelas dan lengkap kepada ahli teknik yang terlibat. Perancangan harus berguna dan mudah untuk digunakan.
Perancangan adalah sebuah proses untuk mendefinisikan sesuatu yang akan dikerjakan dengan menggunakan teknik yang bervariasi serta di dalamnya melibatkan deskripsi mengenai arsitektur serta detail komponen dan juga keterbatasan yang akan dialami dalam proses pengerjaannya.
Perancangan atau rancang merupakan serangkaian prosedur untuk menterjemahkan hasil analisa dan sebuah sistem ke dalam bahasa pemprograman untuk mendeskripsikan dengan detail bagaiman komponen-komponen sistem di implementasikan (Pressman, 2002).
Dari penjelasan diatas dapat disimpulkan perancangan merupakan sebuah proses penerjemahan hasil analisa yang mendeskripsikan detail dari komponen- komponen pada perancangan agar dapat di implementasikan pada saat pengerjaan sebuah sistem.
2.1.2 Bangun
Pengertian pembangunan atau bangun sistem adalah kegiatan menciptakan sistem baru maupun mengganti atau memperbaiki sistem yang telah ada secara keseluruhan (Pressman, 2002).
2.1.3 Rancang Bangun
Rancang bangun (desain) adalah tahap dari setelah analisis dari siklus pengembangan sistem yang merupakan pendefinisian dari kebutuhan-kebutuhan fungsional, serta menggambarkan bagaimana suatu sistem di bentuk yang dapat berupa penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi, termasuk menyangkut mengkonfigurasikan dari komponen-komponen perangkat keras dan perangkat lunak dari suatu sistem (Jogiyanto, 2005).
Dengan demikian dapat disimpulkan pengertian rancang bangun merupakan salah satu proses pengembangan sistem yaitu mendefinisikan fungsi-fungsi yang dibutuhkan dari proses analisa yang kemudian di buat gambaran dan sketsa agar dapat di implentasikan ketika membangun sebuah sistem.
2.2 Konsep Dasar Sistem 2.2.1 Sistem
Sistem adalah kumpulan elemen, komponen, atau sub sistem yang saling berintegrasi dan berinteraksi untuk mencapai tujuan tertentu. Jadi setiap sistem memiliki subsistem-subsistem, dan subsistem terdiri atas komponen-komponen atau elemen-elemen (Supriyanto, 2005).
Sebagai contoh sistem komputer memiliki sub sistem software, hardware, dan pengguna (brainware). Sedangkan subsistem hardware terdiri dari subsistem peranti input, peranti proses, dan peranti output. Subsistem peranti input terdiri dari komponen seperti mouse, keyboard, suara, dan sebagainya. Jadi dimungkinkan bahwa di dalam subsistem terdiri dari subsistem lagi. Atau sebuah sistem memiliki sistem yang lebih besar yang dinamakan suprasistem, suprasistem dimungkinkan memiliki sistem yang lebih besar, sehingga dinamakan supra dari suprasistem.
Terdapat 2 kelompok pendekatan yang digunakan dalam mendefinisikan sistem yaitu :
1. Lebih menekankan pada prosedur yang digunakan dalam sistem dan mendefinisikan sistem sebagai jaringan prosedur, metode, dan cara kerja yang saling berinteraksi dan dilakukan untuk pencapaian suatu tujuan tertentu.
2. Lebih menekankan pada elemen atau komponen penyusun sistem (Supriyanto, 2005).
Berdasarkan pendapat beberapa ahli mengenai definisi sistem, maka dapat penulis simpulkan bahwa sistem adalah kesatuan elemen dan komponen yang merupakan subsistem yang saling berintegrasi dan berinteraksi untuk mencapai tujuan tertentu.
2.2.2 Karakteristik Sistem
Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu yaitu mempunyai komponen-komponen, batas sistem, lingkungan luar sistem, penghubung, masukan, keluaran, pengolah dan sasaran atau tujuan (Ladjamudin, 2005).
1. Komponen Sistem
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerjasama membentuk suatu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian- bagian dari sistem. Setiap subsistem mempunyai karakteristik dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.
2. Batasan Sistem
Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut.
3. Lingkungan Luar Sistem
Lingkungan luar dari suatu sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan juga merugikan.
4. Penghubung Sistem
Penghubung merupakan media yang menghubungkan antara satu subsistem dengan subsistem yang lainnya. Melalui penghubung ini kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lainnya.
Keluaran dari satu subsistem akan menjadi masukan untuk subsistem lainnya melalui penghubung. Dengan penghubung satu subsistem dapat berintegrasi dengan subsistem yang lainnya membentuk satu kesatuan.
5. Masukan Sistem
Masukan sistem adalah energi yang dmasukkan ke dalam sistem. Masukan dapat berupa masukan perawatan dan masukan sinyal maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat berjalan. Sinyal input adalah energi yang diproses untuk mendapatkan keluaran dari sistem.
6. Keluaran Sistem
Keluaran sistem adalah energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran dapat merupakan masukan untuk subsistem yang lain.
7. Pengolahan Sistem
Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan mengubah masukan menjadi keluaran.
8. Sasaran Sistem
Suatu sistem mempunyai tujuan atau sasaran, kalau sistem tidak mempunyai sasaran maka sistem tidak akan ada. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya. Sasaran sangat berpengaruh pada masukan dan keluaran yang dihasilkan.
Jadi, dapat disimpulkan bahwa terdapat beberapa karakteristik sistem yang merupakan peran penting yang harus di perhatikan dalam mendukung pengembangan dan perancangan sebuah sistem.
2.2.3 Klasifikasi Sistem
Sistem dapat diklasifikasikan dari beberapa sudut pandang menurut Tata Sutabri (2005) diantaranya sebagai berikut:
1. Sistem abstrak (abstract system) dan sistem fisik (physical system).
Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tampak secara fisik, misalnya teologi, yaitu sistem yang berupa pemikiran- pemikiran yang berhubungan antara manusia dengan Tuhan. Sistem fisik merupakan sistem yang ada secara fisik, misalnya komputer, sistem akuntansi, sistem produksi dan lain sebagainya.
2. Sistem alamiah (natural system) dan sistem buatan manusia (human made system).
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, sedangkan sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin.
3. Sistem tertentu (deterministic system) dan sistem probabilistik (probabilistic system).
Sistem tertentu beroperasi dideteksi dengan pasti, sehingga keluaran dari sistem dapat diramalkan, contoh: sistem komputer. Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas.
4. Sistem tertutup (closed system) dan sistem terbuka (open system).
Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak berpengaruh dengan lingkungan luarnya. Sistem terbuka adalah sistem yang berhubungan dan terpengaruh dengan lingkungan luarnya.
2.3 Konsep Dasar Informasi 2.3.1 Pengertian Informasi
Informasi adalah data yang sudah diolah menjadi sebuah bentuk yang berarti bagi pengguna, yang bermanfaat dalam pengambilan keputusan saat ini atau mendukung sumber informasi (Kusrini dan Koniyo, 2007). Data belum memiliki nilai sedangkan informasi sudah memiliki nilai. Informasi dikatakan bernilai bila manfaatnya lebih besar dibanding biaya untuk mendapatkannya. Sedangkan McLeod dan Schell (dalam Kusrini dan Koniyo, 2007) menyatakan informasi adalah data hasil pemrosesan yang memiliki makna, biasanya menceritakan suatu hal yang belum diketahui kepada pengguna.
Dari pengertian di atas disimpulkan bahwa informasi adalah data yang telah diproses dan dikemas menjadi sesuatu yang mempunyai nilai guna dan bermanfaat bagi pengguna informasi tersebut.
2.3.2 Kualitas Informasi
Munurut (Kusrini dan Koniyo, 2007) Informasi yang berkualitas memiliki tiga kriteria yaitu:
1. Akurat (accurate)
Informasi harus bebas dari kesalahan, tidak bisa ataupun menyesatkan.
Akurat juga berarti bahwa informasi itu harus dapat dengan jelas mencerminkan maksudnya.
2. Tepat pada waktunya (timeliness)
Informasi yang datang pada penerima tidak boleh terlambat. Di dalam pengambilan keputusan, informasi yang sudah usang tidak lagi bernilai. Bila informasi datang terlambat sehingga pengambilan keputusan terlambat dilakukan, hal itu dapat berakibat fatal bagi perusahaan.
3. Relevan (relevance)
Informasi yang disampaikan harus mempunyai keterkaitan dengan masalah yang akan dibahas dengan informasi tersebut. Informasi harus bermanfaat bagi pemakainya. Di samping karakteristik, nilai informasi juga ikut menentukan kualitasnya.
Nilai informasi (value of information) ditentukan oleh dua hal, yaitu manfaat dan biaya untuk mendapatkannya. Suatu informasi dikatakan bernilai bila manfaatnya lebih besar dibanding biaya untuk mendapatkannya.
2.4 Reservasi Hotel
Reservasi atau pemesanan dalam bahasa Inggris adalah reservation yang berasal dari kata "to reserve" yaitu menyediakan atau mempersiapkan tempat sebelumnya sedangkan reservation yaitu pemesanan suatu tempat fasilitas.
Jadi, secara umum reservation yaitu pemesanan fasilitas yang diantaranya hotel, akomodasi, meal, seat pada pertunjukan, pesawat terbang, kereta api, bus,
hiburan, night club, discoutegue dan sebagainya. Kata reservation atau pemesanan dalam dunia pariwisata disebut juga booking.
Pengertian reservation tidak hanya terlepas dari fungsi dan tugas dari reservation department itu sendiri yaitu : penyediaan tempat baik sebelum tamu atau para wisatawan datang. Adapun fungsi dari reservation department secara umum adalah :
1. Melayani wisatawan dalam mempersiapkan tempat (kamar hotel, tempat duduk dalam pesawat, tour dan transportasi)
2. Mempersiapkan pramusiwata atau guide yang profesional 3. Melakukan surat menyurat dengan pihak yang terkait dan arsip.
Sedangkan hotel merupakan organisasi yang kompleks dengan beberapa bagian yang mungkin tidak akan terlibat oleh masyarakat biasa pada umumnya.
Untuk bisa beroperasi secara efektif dan efisien, para karyawan harus berjalan dengan sangat cepat dan terampil. Tiap karyawan dan dapartemen harus menyadari dan bekerja untuk mencapai seluruh tujuan perusahaan. (Richard Komar, 2014) 2.5 Konsep Dasar Rapid Application Development (RAD)
2.5.1 Pengertian Rapid Application Development (RAD)
Menurut Shalahuddin dan Rosa (2014) Rapid Application Development (RAD) adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek.
Sedangkan menurut Kendall dan Kendall (2010) Rapid Application Development (RAD) adalah pendekatan berorientasi objek untuk pengembangan sistem yang meliputi metode pengembangan sebagai serta perangkat lunak. Beberapa
pengembang melihat RAD sebagai pendekatan yang dapat membantu dalam membuat e-commerce, environtments berbasis web yang disebut sebagai penggerak bisnis pertama dimana statusnya mungkin penting.
Dari definisi-definisi tersebut, maka dapat disimpulkan bahwa Rapid Application Development (RAD) adalah proses pengembangan perangkat lunak dengan menerapkan teknik prototyping dan joint application yang ditujukan agar dalam proses pengembangannya lebih cepat dengan kualiitas yang baik.
2.5.2 Tahap Rapid Application Development (RAD)
RAD digunakan pada aplikasi sistem konstruksi. Ada tiga tahapan dalam RAD yaitu: (Kendall dan Kendall, 2010):
1. Requirements Planning, dalam tahap ini diketahui apa saja yang menjadi kebutuhan sistem yaitu dengan mengidentifikasikan kebutuhan informasi dan masalah yang dihadapi untuk menentukan tujuan, batasan-batasan sistem, kendala, dan juga alternatif pemecahan masalah. Analisis digunakan untuk mengetahui perilaku sistem dan juga untuk mengetahui aktivitas apa saja yang ada dalam sistem tersebut.
2. Design Workshop, mengidentifikasi solusi alternatif dan memilih solusi yang terbaik. Kemudian membuat desain proses bisnis dan desain pemrograman untuk data-data yang telah didapatkan dan dimodelkan dalam arsitektur sistem informasi.
3. Implementation, setelah Design Workshop dilakukan, selanjutnya sistem diimplementasikan (coding) ke dalam bentuk yang dimengerti oleh mesin yang diwujudkan dalam bentuk program atau unit program. Tahap
implementasi sistem merupakan tahap meletakan sistem supaya siap untuk dioperasikan.
2.5.3 Keuntungan Menggunakan Rapid Application Development (RAD)
Beberapa keuntungan dalam menggunakan metode RAD adalah sebagai berikut: (Shalahuddin dan Rosa, 2014)
a) Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan lebih banyak menggunakan potongan-potongan script.
b) Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih mengerti akan sistem yang dikembangkan.
c) Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan.
d) Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara keseluruhan.
e) Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung mengabaikan kualitas.
f) Tampilan yang lebih standar dan nyaman dengan bantuan software-software pendukung.
g) RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat.
2.6 Konsep Dasar Unified Modelling Language (UML) 2.6.1 Pengertian Unified Modelling Language (UML)
Unified Modelling Language (UML) merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. (Shalahuddin dan Rosa, 2014).
Gambar 2.1 Diagram Unified Modelling Language (Shalahuddin dan Rosa, 2014)
Berikut penjelasan singkat dari pembagian kategori Diagram UML seperti yang terlihat pada Gambar 2.1:
1. Structure diagrams, kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2. Behavior diagrams, kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
3. Interaction diagrams, kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem.
2.6.2 Diagram Unified Modelling Language (UML)
Diagram UML yang digunakan dalam penelitian ini meliputi:
1. Use Case Diagram
Menurut Shalahuddin dan Rosa (2014), Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.
Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama dalam penamaan use case, yaitu:
1. Aktor, merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat itu sendiri.
2. Use case, merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
Penjelasan dari notasi yang dipakai dalam usecase diagram :
Tabel 2.1 Keterangan Simbol Usecase Diagram (Shalahuddin dan Rosa, 2014)
Notasi Keterangan
Actor merupakan sesuatu yang berinteraksi dengan sistem untuk saling bertukar informasi. Actors tidak harus berupa manusia, tetapi dapat berupa suatu organisasi atau sistem informasi
Use Case
Mendeskripsikan fungsi dari sebuah sistem dilihat dari sudut pandang pengguna
Association
Komunikasi antara aktor dengan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor
<<EXTEND>>
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa case tambahan
<<INCLUDE>>
Relasi use case tambahan ke sebuah use case di mana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat yang dijalankan use case ini
merupakan suatu batasan sistem yang akan dijalankan oleh user.
Sumber : Shalahuddin dan Rosa (2014). Rekayasa Perangkat Lunak
2. Activity Diagram
Diagram aktivitas menggambarkan workflow (aliran kerja) dari sebuah sistem. Yang perlu diperhatikan disini adlah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan actor, jadi aktivitas yang dapat di lakukan oleh sistem. Diagram aktivitas merupakan state diagram khusus, dimana sebagian besar transisi di-trigger oleh
selesainya state sebelumnya. Oleh karena itu diagram aktivitas tidak menggambarkan behavior internal sebuah sistem scara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum (Sugiarti, 2013).
Kegunaan dari Activity Diagram diantaranya sebagai berikut:
a. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
b. Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujiannya.
3. Sequence Diagram
Diagram sequence adalah kelas diagram yang menunjukan hubungan statis yang sedang terjadi, antara satu objek dengan objek yang lain, dan diagram sequence menunjukan suatu sekenario yang dinamis. Diagram sequence digunakan untuk mendeskripsikan pola komunikasi antar objek, diagram sequence menggambarkan urutran waktu dari aliran pemanggilan pada suatu method. Diagram sequence ini berhubungan sangat erat dengan use case diagram, dimana satu use case akan menjadi satu sequence diagram, dalam diagram sequence ada dua simbol (Sugiarti, 2013) yaitu :
a. Actor, digunakan untuk menggambarkan pengguna sistem.
b. Life Line, digunakan untuk menggambarkan kelas dan objek.
Penjelasan dari notasi yang dipakai dalam sequence diagram,
Tabel 2.2 Keterangan Simbol Sequence Diagram
Notasi Keterangan
Actor, merepresentasikan entitas yang berada di luar sistem.
Lifeline, menggambarkan hubungan suatu elemen yang berbeda.
Boundary, biasanya berupa tepi dari sistem, seperti userinterface atau suatu alat yang berinteraksi dengan sistem lain.
Control, merupakan elemen yang mengatur aliran dari informasi untuk sebuah scenario.
Entity, biasanya elemen yang bertanggungjawab menyimpan data atau informasi
Message, relasi ini digunakan untuk memanggil operasi
Sumber: Sugiarti (2013). Analisis dan Perancangan UML (Unified Modeling Languege)
4. Class Diagram
Class diagram adalah sebuah simbol class yang digunakan untuk memberikan batasan atau penanda bagaimana kelas lain menggunakan attribut, constructor dan method dari sebuah kelas, pada class diagram itu terdiri dari beberapa nama simbol (Sugiarti, 2013), yaitu :
1. Nama Kelas
Digunakan untuk membedakan antara satu kelas dan kelas yang lain 2. Attribut
Digunakan untuk menyimpan state, pada bahasa pemograman ini berupa field, atau bisa juga diartikan apa yang dimiliki oleh sebuah objek.
3. Method
Digunakan untuk menyimpan behavior, pada bahasa pemograman berupa method yang mengembalikan nilai (non void method) dan method yang tidak mengembalikan nilai (void method).
Penjelasan dari notasi yang dipakai dalam class diagram:
Tabel 2.3 Keterangan Simbol Class Diagram
Notasi Keterangan
Attribute adalah properti dari sebuah class. Attribute ini melukiskan batas nilai yang mungkin ada pada obyek dari class. Operation adalah sesuatu yang dapat dilakukan oleh sebuah class atau yang anda (class yang lain) dapat lakukan untuk sebuah class.
Association
dapat diartikan sebagai relasi. Digambarkan sebagai garis lurus antara dua kelas.
Generalization
relasi antar kelas dengan makna generalisasi-spesialisasi (umum khusus).
Cardinality atau multiplicity adalah simbol yang menunjukkan jumlah keterhubungan dari satu kelas dengan kelas lainnya.
Depedency
Relasi antar kelas dengan makna kebergantungan antar kelas.
Agregasi
Relasi antar kelas dengan makna semua-bagian (whole- part).
Sumber: Sugiarti (2013). Analisis dan Perancangan UML (Unified Modeling Languege)
5. Statechart Diagram
Diagram ini digunakan untuk memodelkan behaviour objek khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup objek berbagai keadaan yang dapat diasumsikan oleh objek dan event-eventyang menyebabkan objek beralih dari satu state ke state lain (Whitten dan Bentley, 2007).
Penjelasan dari notasi yang dipakai dalam statechart diagram:
Tabel 2.4 Keterangan Simbol Statechart Diagram
Notasi Keterangan
Start
merupakan titik awal dari kejadian dalam suatu statechart.
End
merupakan titik akhir dari kejadian dalam suatu statechart.
State
digambarkan berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai kondisi saat itu.
Point
digunakan untuk menggambarkan apakah akan masuk (entry point) kedalam state atau (exit point).
[guard] yang merupakan syarat terjadinya transisi yang bersangkutan.
Event digunakan untuk mendeskripsikan kondisi yang menyebabkan sesuatu pada state.
Sumber: Whitten, & Bentley (2007). System Analysis & Design Methods
2.7 Tools Pengembangan Sistem 2.7.1 PHP (PHP Hypertext Preprocessor)
PHP (PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis.PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks- sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server (Bunafit Nugroho, 2004) :
Pada prinsipnya server akan bekerja apabila ada permintaan dari client.
Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server. Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut:
a. Membaca permintaan dari client/browser.
b. Mencari halaman/page di server.
c. Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
d. Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.
Dalam PHP, sebuah variabel dapat dinyatakan sebagai sebuah tempat untuk sebuah nilai tunggal. Sedangkan Array adalah sebuah tempat untuk sekumpulan nilai. Sebuah array terdiri sejumlah elemen yang masing-masing memiliki sebuah nilai data yang tersimpan pada elemen array tersebut dan sebuah key atau index, dimana elemen dapat dirujuk. Normalnya, sebuah index berupa integer. Secara default, array adalah basis nol artinya elemen pertama pada array memiliki index nol. Akan tetapi index juga dapat berupa string.
2.7.2 XAMPP dan PHP MyAdmin
XAMPP merupakan perangkat lunak yang dapat didownload secara gratis dan di dalam perangkat lunak ini, berisi kumpulan-kumpulan beberapa perangkat lunak yang dibutuhkan antara lain PHP, Apache, MySQL dan PHP MyAdmin.
Dengan XAMPP kita bisa mengaplikasikan Content Management System seperti Joomla di server perusahaan dalam jaringan intranet guna penyampaian
kebijakan perusahaan, pengumuman, membuat database karyawan, aplikasi cuti online berbasis PHP dan MySQL secara online. Dengan XAMPP juga bisa memulai membangun Sistem Informasi Sekolah, daftar nama pelajaran, profil sekolah, kegiatan sekolah, pengumuman sekolah, dan lain-lain. Dengan kata lain XAMPP merupakan suatu pe8alatan pondasi dasar dalam membangun aplikasi berbasis web menggunakan bahasa pemrograman PHP dan database MySQL.
PHP MyAdmin adalah merupakan salah satu pengolah data MySQL, yang berbasis web yang berada dalam menu XAMPP. PHP MyAdmin memberikan kemudahan dalam pengoperasiannya dan hampir semua web hosting menyediakan PHP MyAdmin untuk para penyewa virtual house (Prasetyo, 2008).
2.7.3 MySQL
Menurut Jogiyanto (2005), MySQL adalah Relational Database Management Sistem (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersil. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan seleksi dan pemasukan data dikerjakan dengan mudah secara otomatis. Sebagai database server yang memiliki database modern, MySQL memiliki banyak keistimewaan yaitu :
1. Portability
MySQL dapat berjalan stabil pada berbagai macam sistem operasi seperti Windows, Linux, Mac OS X server dan lain-lain.
2. Open Source
MySQL dapat menggunakannya secara cuma-cuma tanpa dipungut biaya sepeserpun.
3. Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Coloumn Types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date time, timestamp, year, set serta enum.
6. Command and Functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.
7. Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnet mask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.
8. Scalability and Limits
MySQL mampu menangani database dalam skala besar dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Batas indeks yang dapat ditampung dalam 32 (tiga puluh dua) indeks pada tiap tabel.
9. Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan protocol TCP/IP, Unix Soket (UNIX), atau Named Pipes (NT).
10. Localisation
MySQL dapat mendeteksi pesan kesalahan (error code) pada client dengan menggunakan lebih dari 20 (dua puluh) bahasa.
11. Interface
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman yang digunakan untuk administrasi database.
12. Clients and Tools
MySQL dilengkapi dengan berbagai tools yang dapat digunakan untuk administrasi database, dan pada setiap tools yang ada disertakan petunjuk online.
13. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dengan menangani ALTER TABLE dibandingkan dengan database lainnya.
2.8 Pengujian Perangkat Lunak 2.8.1 Pengertian Penguji (Testing)
Menurut Shalahuddin dan Rosa (2014), pengujian adalah suatu aktifitas yang direncanakan dan sistematis untuk mengevaluasi kebenaran yang diinginkan yang terdiri dari sekumpulan langkah. Pengujian perangkat lunak diperlukan tidak hanya untuk meminimalisasi kesalahan secara teknis saja, tetapi juga terhadap kesalahan non teknis.
Menurut Presman (2002), testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menentukan kesalahan. Sebelum diterapkan dalam suatu sistem basis data harus dilakukan testing terlebih dahulu, hal ini dicapai dengan penggunaan secara hati – hati untuk merencanakan suatu test dan data yang redistic sedemikian sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan sesuai dengan aturan yang ada.
2.8.2 Pola Pengujian Terhadap Perangkat Lunak
Menurut Shalahuddin dan Rosa (2014), secara umum pola pengujian terhadap perangkat lunak adalah sebagai berikut:
a. Pengujian dimulai dari level komponen hingga integrasi antar komponen menjadi sebuah sistem.
b. Teknik pengujian berbeda-beda sesuai dengan berbagai sisi atau unit uji dalam waktu yang berbda-beda pula bergantung pada pengujian dan pada bagian mana dibutuhkan.
c. Pengujian dilakukan oleh pengembang perangkat lunak, dan jika untuk proyek besar, pengujian bisa dilakukan oleh tim uji yang tidak terkait dengan tim pengembang perangkat lunak.
d. Pengujian dan debugging merupakan aktifitas yang berbeda, tapi debugging harus diakomodasi pada berbagai strategi pengujian. Pengujian lebih fokus untuk mencari adanya kesalahan (error) baik dari sudut pandang orang secara umum atau dari sudut pandang pengembang tanpa harus menemukan lokasi kesalahan pada kode program. Debugging adalah proses mencari lokasi kesalahan (error) pada kode program, sehingga dapat segera diperbaiki oleh pembuat program.
Menurut Shalahuddin dan Rosa (2014), Pengujian perangkat lunak merupakan sebuah elemen yang sering dikaitkan dengan verifikasi dan validasi.
Verifikasi mengacu pada sekumpulan aktifitas yang menjamin bahwa perangkat lunak mengimplementasikan dengan benar sebuah fungsi yang spesifik. Validasi mengacu pada sekumpulan aktifitas yang berbeda yang menjamin bahwa perangkat lunak yang dibangun dapat ditelusuri sesuai dengan kebutuhan pelanggan (customer).
2.8.3 Black-Box Testing
Pengujian Black Box disebut juga pengujian behavioral, yang berfokus pada kebutuhan fungsional software. Black box mencoba untuk menemukan kesalahan dalam kategori berikut (Pressman, 2002):
a. Fungsi-fungsi yang tidak benar atau hilang.
b. Kesalahan interface.
c. Kesaahan dan struktur data atau akses database eksternal.
d. Kesalahan kinerja.
e. Inisialisasi dan kesalahan terminasi.
Tidak seperti pengujian white box yang dilakukan pada saat awal proses pengujian, pengujian black box cenderung diaplikasikan selama tahap akhir pengujian, karena pengujian black box memperhatikan struktur kontrol, maka perhatian berfokus pada domain informasi.
Adapun langkah-langkah pengujian black box ini adalah sebagai berikut (Pressman, 2002):
1. Metode Pengujian Berbasis Grafik (Graph Based Testing)
Langkah pertama dalam pengujian black box adalah untuk memahami obyek- obyek yang dimodelkan dalam software dan hubungan yang menghubungkan antar obyek. Setelah ini telah dicapai, langkah selanjutnya adalah menentukan serangkaian tes yang memverifikasi semua obyek yang berpotensi memiliki hubungan satu sama lain (Pressman, 2002).
2. Pengujian berbasis grafik dimulai dengan mendefinisikan semua nodes dan weights node, yaitu obyek-obyek dan atribut yang diidentifikasi. Model data dapat digunakan sebagai permulaan tujuan, tetapi ini penting untuk dicatat bahwa banyak node mungkin obyek program (tidak secara tegas dipresentasikan dalam model data).Untuk menyediakan indikasi dari permulaan dan akhir tujuan grafik, ini berguna untuk menetapkan masukan atau keluaran nodes.Nodespertama kali yang sudah diidentifikasi, link dan link weights seharusnya dapat ditetapkan. Di beberapa kasus, model grafik
bisa memiliki loops (perulangan). Pengujian perulangan dapat juga diaplikasikan pada tingkat behavioral (black box). Grafik tersebut akan membantu dalam mengidentifikasi perulangan yang perlu diuji (Pressman, 2002).
3. Mempartisi Ekuivalensi (Equivalence Partitioning)
Equivalence partitioning adalah metode pengujian black box yang membagi domain input dari program ke dalam kelas data dari kasus uji yang dapat diturunkan. Idealnya single test case yang ideal yaitu mengungkap kelas yang error (misalnya, pengolahan yang salah dari semua data karakter) yang mungkin memerlukan banyak kasus yang akan dieksekusi sebelum kesalahan tersebut diamati. Equivalence partitioning berusaha untuk mendefinisikan kasus uji yang mengungkap kesalahan kelas, sehingga mengurangi jumlah kasus uji yang harus dikembangkan (Pressman, 2002).
4. Analisis Batas Nilai (Boundary Value Analysis)
Untuk alasan yang tidak sepenuhnya jelas, sejumlah besar kesalahan cenderung terjadi pada batas-batas dari domain masukan daripada didomain pusat. Alasan inilah yang menyebabkan nilai batas analisis (BVA) telah dikembangkan sebagai teknik pengujian. Analisis nilai batas mengarahkan pada penyeleksian dari kegiatan uji kasus nilai batas (Pressman, 2002).
5. Pengujian Array Orthogonal (Orthogonal Array Testing)
Ada banyak aplikasi di mana domain input relatif terbatas. Artinya, jumlah parameter input kecil dan nilai-nilai yang masing-masing parameternya dapat dibatasi secara jelas. Ketika angka-angka ini sangat kecil (misalnya, tiga