You are on page 1of 6

APLIKASI PERHOTELAN BERBASIS CLIENT SERVER DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN C# .

NET
Willy Witanto , Hadiq2*
Teknik Informatika, Sekolah Tinggi Ilmu Komputer PGRI, Banyuwangi, Indonesia saga@arek6.uni.cc 2* Teknik Informatika, Sekolah Tinggi Ilmu Komputer PGRI, Banyuwangi, Indonesia hadiqfawzie@gmail.com
1*

1*

Abstrak Hotel yang berada dalam tahap menengah kebawah kebanyakan masih menggunakan pencatatan manual dalam mencatat transaksi atau menggunakan program seperti MS. Excel yang notabene bukan program yang khusus dibuat untuk mengolah dan mencatat informasi. Pencatatan yang semacam itu kurang efektif karena kemungkinan terjadinya kesalahan dalam pencatatan dan perhitungan lebih besar. Jika kesalahan tersebut terulang terus, bisa jadi hotel akan mengalami kerugian bahkan bangkrut. Untuk mengatasi permasalahan tersebut perlu dibuat sebuah aplikasi yang bisa menangani sistem informasi sebuah hotel. Karena jenis dan type hotel berbeda, maka program aplikasi yang dibuat ini berdasarkan model sistem informasi yang dipakai oleh kabanyakan hotel. Program aplikasi ini berbasis client server dengan bahasa pemrograman C# untuk memudahkan pengguna dalam pengoprasiannya. Jadi antara receptionist dan admin bisa mengakses program secara bersamaan dan dari tempat yang berbeda serta kemungkinan terjadinya kesalahan perhitungan dan pencatatan transaksi, bisa diminimalisir dengan program aplikasi ini. Dalam penelitian ini dihasilkan aplikasi client server dalam Framework .NET yang bisa menangani transaksi perhotelan yang bisa memudahkan dalam pencatatan transaksi dan aplikasi ini bisa diakses oleh user biasa yang hanya bisa menginputkan transaksi ataupun diakses oleh admin yang bisa melakukan maintenance database yang ternormalisasi. Kata kunci C#, .Net Framework, database, client server, perhotelan 1. Pendahuluan

meningkatkan usaha yang dimilikinya. Seringkali, banyak pengusaha yang menganggap remeh hall tersebut. Mereka tetap menggunakan sistem yang telah ada sebelumnya sehingga usaha yang mereka miliki tidak mampu bersaing dengan usaha lain yang sudah menggunakan teknologi dalam sistem informasinya dan seringkali mengalami kegagalan. Hotel pun juga demikian. Jika suatu hotel tetap menggunakan sistem manual dalam administrasinya, banyak yang harus ditanggung oleh hotel tersebut. Pertama, kesalahan dalam pencatatan administrasi akan lebih besar kemungkinannya dan jika dibiarkan terus-menerus hotel tersebut bisa mengalami suatu kebangkrutan. Yang kedua, hotel harus merekrut seseorang yang ahli untuk mengelola administrasi tersebut. Akan banyak uang yang dikeluarkan untuk menggaji ahlii tersebut. Pengaplikasian teori client server bisa mengoptimalkan eisiensi sistem informasii perhotelan karena client server bisa diakses dalam waktu yang bersamaan dari lain tempat. Sehingga memudahkan admin dan user biasa untuk menginputkan data. Maka dari itu, penggunaan sistem informasi berbasis komputer dalam hotel diperlukan untuk mengatasi kedua permasalahan diatas. Suatu sistem informasi berbasis komputer bisa meminimalisir kesalahan dalam administrasi. Untuk itulah diperlukan adanya Aplikasi Perhotelan Berbasis Client Server dengan Menggunakan Bahasa Pemrograman C# .NET. 2. Pemrograman Client Server Pemrograman Client Server adalah pemrograman dimana suatu aplikasi dibagi menjadi dua bagian yaitu sebagai klien dan server tetapi tetap merupakan suatu kesatuan.[1] Client/server adalah suatu program yang dijalankan pada client dan mengakses database yang dijalankan oleh server, dimana User Interface dan Bussiness Logic berada pada sisi computer client. Aplikasi pada client menerima inputan data dari pengguna, selanjutnya inputan tersebut dikirim ke server untuk dilakukan pemrosesan. Setelah data tersebut diproses oleh server, hasil pemrosesannya tersebut

Pemanfaatan sistem informasi berbasis komputer sudah banyak digunakan dalam segala bidang dan segala kalangan. Mulai dari instansi pemerintahan hingga instansi swasta. Semua itu dikarenakan dengan sistem informasi, pekerjaan seseorang bisa lebih terbantu daripada harus mengerjakannya secara manual. Banyak pengusaha berlomba-lomba memanfaatkan teknologi untuk

31

dikembalikan lagi ke aplikasi di client untuk kemudian ditampilkan ke pengguna.[1] 3. Bahasa Pemrograman C# C# merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. [2] 4. Framework .NET Framework .NET terdiri atas dua elemen penting, yaitu Common Language Runtime dan Framework Class Library. Elemen pertama adalah sebuah lingkungan yang menjalankan program saat runtime dan dikenal dengan nama Common Language Runtime (CLR), kemudian elemen kedua adalah Class Library (FCL) yang diletakkan diatas CLR dan menyediakan Layanan yang dibutuhkan oleh aplikasi .NET.[3] Ketika sebuah aplikasi dijalankan dengan target framework .NET, maka secara langsung Class Library akan saling berinteraksi, kemudian CLR akan memberikan layanan sebagai penyedia mesin untuk menjalankan aplikasi. [3]

Secara kesuluruhan table yang dibutuhkan adalah sebagai berikut : tabel checkin, tabel checkout, tabel data tamu, tabel kamar, tabel type kamar, dan tabel user. Adapun rancangan tabel-tabell tersebut terlihat pada gambar 1.

Gambar 1 : Desain Database

5. Normalisasi Database Normalisasi database adalah suatu teknik untuk mendesain table sehingga kita tahu berapa jumlah tabel yang ada dalam database. Penggunaan teknik ini dimaksudkan untuk menghilangkan data yang tidak konsisten maupun data yang berulang (redudance). [4] Karena database bisa dikatakan jelek apabila beberapa hal seperti misalnya ada data yang sama tersimpan di beberapa tempat (file atau record), lalu terjadi ketidak mampuan untuk menghasilkan informasi tertentu, terjadi kehilangan informasi, terjadi adanya redudansi atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data dan terkhir timbul adanya NULL VALUE. Untuk itulah pentingnya normalisasi data, guna menghindari hal-hal seperti diatas. [4] 6. Desain System

b.

Stored Procedure

Dibawah ini adalah rancangan stored procedure sesuai dengan desain tabel seperti diatas. Cari User

CREATE PROCEDURE `hotel`.`CariUser` (usr varchar(15)) BEGIN select pass from tbl_user where username=usr; END$$

Cari Data Admin

CREATE DEFINER=`root`@`localhost` PROCEDURE `CariDataAdmin`() BEGIN case when kondisi = 'user' then select * from tbl_user; when kondisi = 'no' then select * from tbl_kmr; when kondisi = 'type' then select * from tbl_type_kmr; end case; END$$

Cari Data CheckIn

Desain system pada aplikasi perhotelan ini dibagi menjadi dua bagian yaitu desain logical database dan desain aplikasi perhotelan. 1. Desain Logical Database

Desain logical database dalam aplikasi ini dibagi menjadi dua bagian. Yang pertama adalah desain tabel dan yang kedua adalah desain stored procedure. a. Desain Tabel

CREATE DEFINER=`root`@`localhost` PROCEDURE `CariDataCheckin`() BEGIN select c.no_kmr, b.nama_tamu, b.no_identitas, b.alamat, b.no_telepon, b.jk, c.type_kmr, b.id_member, a.tgl_check_in from tbl_checkin as a inner join tbl_data_tamu as b on a.id_tamu=b.id_tamu inner join (select x.no_kmr, y.type_kmr, y.harga from tbl_kamar as x inner join tbl_type_kmr as y on x.id_type_kmr=y.id_type_kmr) as c on a.no_kmr = c.no_kmr; END$$

Cari Harga
PROCEDURE

CREATE DEFINER=`root`@`localhost` `CariDataCheckin`() BEGIN

32

select c.no_kmr, b.nama_tamu, b.no_identitas, b.alamat, b.no_telepon, b.jk, c.type_kmr, b.id_member, a.tgl_check_in from tbl_checkin as a inner join tbl_data_tamu as b on a.id_tamu=b.id_tamu inner join (select x.no_kmr, y.type_kmr, y.harga from tbl_kamar as x inner join tbl_type_kmr as y on x.id_type_kmr=y.id_type_kmr) as c on a.no_kmr = c.no_kmr; END$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `CariNamaMember`(id varchar(20)) BEGIN select nama_tamu, no_identitas, alamat, no_telepon, jk, alamat from tbl_data_tamu where id_member = id; END$$

Cari type Kamar


PROCEDURE

CREATE DEFINER=`root`@`localhost` `CariTypeKmr`() BEGIN select type_kmr from tbl_type_kmr; END$$

Isi Check In

CREATE DEFINER=`root`@`localhost` PROCEDURE `IsiCheckin`(idCheckIn varchar(20), idTamu varchar(3), noKmr int(3), idMember int(10), tglCheckIn date) BEGIN insert into tb_checkin values(idCheckIn, idTamu, noKmr, idMember, tglCheckIn); END$$

Isi Check Out

CREATE DEFINER=`root`@`localhost` PROCEDURE `IsiCheckOut`(idCheckOut varchar(20), idCheckIn varchar(20), diskon int(10), tglCheckOut date, lamaInap int(5), totalBayar int(10)) BEGIN insert into tbl_checkout values(idCheckOut, idCheckIn, diskon, tglCheckOut, lamaInap, totalBayar); END$$

Isi Data Tamu

Gambar 2 : Activity Diagram

CREATE DEFINER=`root`@`localhost` PROCEDURE `IsiDataTamu`(namatamu varchar(20), noIdentitas varchar(20), alamat varchar(20), noTelepon varchar(15), jk char(1), member varchar(10), idMember varchar(10)) BEGIN insert into tbl_data_tamu values(namaTamu, noIdentitas, alamat, noTelepon, jk, member, idMember); END$$

Gambar 3 : Form Login

Cari ID Member

CREATE DEFINER=`root`@`localhost` PROCEDURE `CariIdMember`(mb char(1)) BEGIN select id_member from tbl_data_tamu where member = mb; END$$

Cari Kamar
Gambar 4 : Tampilan transaksi Check in

CREATE DEFINER=`root`@`localhost` PROCEDURE `CariKamar`() BEGIN select a.no_kmr, b.type_kmr, a.status_kmr from tbl_kamar as a inner join tbl_type_kmr as b on a.id_type_kmr=b.id_type_kmr; END$$

Isi No Kamar

Cari Nama Member

CREATE PROCEDURE `hotel`.`IsiNoKmr` (noKmr int(5), idType varchar(15), statusKmr char(1)) BEGIN

33

insert into tbl_kamar values(noKmr, idType, statusKmr); END$$

Hapus User

Isi User
PROCEDURE

CREATE DEFINER=`root`@`localhost` `IsiUser`(username varchar(10), pass varchar(20)) BEGIN insert into tbl_user values(username, pass); END$$

CREATE PROCEDURE `hotel`.`HapusUser` (usr varchar(15)) BEGIN delete from tbl_user where username=usr; END$$

Hapus No. Kamar

Isi Type Kamar

CREATE PROCEDURE `hotel`.`HapusNoKmr` (noKmr int(5)) BEGIN delete from tbl_kamar where no_kmr=noKmr; END$$

CREATE PROCEDURE `hotel`.`IsiTypeKmr` (idType int(3), typeKmr varchar(15), harga int(9)) BEGIN insert into tbl_type_kmr values(idType, typeKmr, harga); END$$

Hapus Type Kamar

Edit User

CREATE PROCEDURE `hotel`.`HapusTypeKmr` (idTipe char(1)) BEGIN delete from tbl_type_kmr where id_type_kmr = idTipe; END$$

CREATE PROCEDURE `hotel`.`EditUser` (passwd varchar(20), usr varchar (15)) BEGIN update tbl_user set pass=passwd where username=usr; END$$

Hapus member
(idMember

CREATE PROCEDURE `hotel`.`HapusMember` varchar(5)) BEGIN delete from tbl_data_tamu where id_member=idMember; END$$

2.

Desain Aplikasi Hotel

Desain aplikasi perhotelan ini dapat digambarkan seperti desain activity dibawah ini. 7. Uji Coba

Dalam uji coba ini dapat dibuktikan bahwa pengaplikasian Pemrograman Client Server Hotel dapat berjalan dengan baik. Berikut tampilan pada aplikasi yang telah jadi. Gambar 3 menunjukkan form login yang digunakan untuk menginputkan username dan password agar seseorang bisa mengakses program aplikasi hotel tersebut. Terdapat 2 user dalam aplikasi ini. Pertama yaitu user biasa yang hanya dapat menginputkan transaksi. Kedua yaitu admin yang dapat mengelola dan melakukan maintenance data, seperti menambah dan mengedit user, menambah dan mengedit data kamar, serta menambah dan mengedit data type kamar.
Gambar 5 : Tampilan transaksi Check Out

Edit Kamar
where

CREATE PROCEDURE `hotel`.`EditKamar` (noKmr int(5)) BEGIN update tbl_kamar set status_kmr='y' no_kmr=noKmr; END$$

Edit No Kamar

CREATE PROCEDURE `hotel`.`EditNoKamar` (tipe varchar(20), noKmr int(5)) BEGIN update tbl_kamar set id_type_kmr = tipe where no_kmr=noKmr; END$$

Edit Type Kamar

CREATE PROCEDURE `hotel`.`EditTypeKmr` (tipe varchar(20), hrg int(10), idTipe char(1)) BEGIN update tbl_type_kmr set type_kmr = tipe, harga=hrg where id_type_kmr = idTipe; END$$

Gambar 6 : Tampilan member area

34

Gambar 4 adalah tampilan form transaksi check in. Receptionist menginputkan identitas tamu dan no kamar yang akan disewa. Setelah proses penginputan selesai, maka data akan tampil pada datagrid yang ada dibagian bawah. Sehingga memudahkan receptionist untuk melihat data tamu yang sedang check in di hotel tersebut. Gambar 5 merupakan tampilan dari transaksi check out. Disni receptionist cukup memilih nomor kamar yang sudah disewa oleh tamu dan akan keluar data tamu beserta jumlah uang sewa yang harus dibayarkan.

Gambar 8 : Tampilan admin area

8.

Kesimpulan

Gambar 7 : Tampilan lihat data kamar

Gambar 6 adalah tampilan dari member area. Disini receptionist bisa menambahkan data member baru dan mengedit data member yang sudah terdaftar. Jadi, jika ada tamu yang ingin mendaftar untuk menjadi seorang member di hotel ini, receptionist bisa menginutkan datanya pada tab berikut ini. Dan jika data member yang sudah terdaftar ada yang berubah, receptionist bisa juga mengubah data dalam database. Gambar 7 merupakan tampilan untuk melihat kamar mana saja yang masih kosong dan kamar mana saja yang sudah dipakai. Jika status tersebut bernilai y maka kamar tesebut sudah disewa dan apabila status bernilai n maka kamar tersebut masih kosong. Gambar 8 berisi tampilan halaman admin. Form ini hanya bisa diakses oleh seorang admin. Di form ini seorang admin bisa melakukan suatu perubahan terhadapa data jika diperlukan seperti menambah user untuk bisa mengakses aplikasi hotel tersebut dan bisa juga mengganti password dari user yang telah terdaftar. Seorang admin juga dapat menambah type kamar dan harga sewa .Selain itu, seorang admin juga bisa menambah dan mengedit nomor kamar yang tersedia di hotel tersebut.

Kesimpulan yang dapat dihasilkan dari penelitian ini adalah : 1. Pemrograman client server berhasilditerapkanpadaaplikasi perhotelan, halinibergunauntukmenangani admin dan receptionist bisa mengakses aplikasi dari tempat yang berbeda dalam waktu yang bersamaan dan hanya perlu satu database di server untuk menjalankan aplikasi ini. 2. Penggunaan bahasa C# dapat mempermudah pembuatan aplikasi perhotelan karena C# bahasanya mudah dipahami dan cocok untuk pembuatan aplikasi client server seperti apllikasi perhotelan ini. 3. .NET Framework menyediakan environment kerja yang handal dan konsisten, sehingga mampu menjalankan pemrograman berorientasi object (OOP) berbasis client server. Hal ini memudahkan pembuatan aplikasi perhotelan ini. 4. Teknik normalisasi database terbukti bisa memudahkan dalam maintenancedata. Sehingga mengoptimalkan penggunaan aplikasi yang mengakses database tersebut. 9. Saran

Dalam aplikasi ini hanya bisa untuk menangani transaksi hotel tingkat menengah kebawah. Akan lebih optimal lagi jika aplikasi ini dikembangkan sehingga bisa menangani transaksi hotel yang berskala besar yang sudah memiliki kafe atau resetoran sendiri. Jadi data antara sewa kamar dan meu yang dipesan oleh tamu bisa tercatat secara baik. Penerapan teknik modularity dalam pembuatan aplikasi client server seperti ini juga akan mempermudah dalam manajemen aplikasi. Apabila terjadi kekurangan maka hanya perlu meng-compile ulang form yang mempunyai kekurangan tersebut.

35

10. Daftar Pustaka


[1] Nurrohmah, Ratnasari. Client/Server dengan Java Remote Method Invocation (Java RMI), Sebuah Tutorial. Surakarta : Teknik Elektro Universitas Muhammadiyah Surakarta 2003 Hartanto, Budi. Membuat Program Kerendengan Visual C#.Net Secara Yogyakarta : C.V Andi Offset 2009 Program Mudah.

[2]

[3]

Jaenudin, S.T. Belajar Sendiri .NET dengan Visual Studio C# 2005. Yogyakarta : CV. Andi Offset Kusrini, Andri Koniyo. Optimasi Penggunaan Tabel terhadap Informasi Akuntansi yang Dihasilkan pada Sistem Informasi Akuntansi. Yogyakarta : STMIK AMIKOM Yogyakarta.

[4]

36

You might also like