Anda di halaman 1dari 6

Aplikasi Perhotelan Berbasis Client Server dengan

Menggunakan Bahasa Pemrograman C# .NET



Willy Witanto
1
, Hadiq, S.T, M.Kom
2

Teknik Informatika, STIKOM PGRI, Banyuwangi, Indonesia
1*

saga@arek6.uni.cc
Teknik Informatika, STIKOM PGRI, Banyuwangi, Indonesia
2*



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

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
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 mengalamii
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 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 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]

5. Normalisasi Database

Normalisasi database adalah suatu teknik untuk
mendesain tabel 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

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

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

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
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
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 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
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$$

Cari Nama Member
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
CREATE DEFINER=`root`@`localhost` PROCEDURE
`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
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$$


Isi No Kamar
CREATE PROCEDURE `hotel`.`IsiNoKmr` (noKmr int(5),
idType varchar(15), statusKmr char(1))
BEGIN
insert into tbl_kamar values(noKmr, idType,
statusKmr);
END$$

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

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

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

Edit Kamar
CREATE PROCEDURE `hotel`.`EditKamar` (noKmr int(5))
BEGIN
update tbl_kamar set status_kmr='y' where
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$$

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

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

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

Hapus member
CREATE PROCEDURE `hotel`.`HapusMember` (idMember
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.



Gambar 2 : Activity Diagram

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 3 : Form Login

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 4 : Tampilan transaksi Check in
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 5 : Tampilan transaksi Check Out

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 6 : Tampilan member area

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 7 : Tampilan lihat data kamar

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.



Gambar 8 : Tampilan admin area

8. Kesimpulan
Kesimpulan yang dapat dihasilkan dari penelitian
ini adalah :
1. Pemrograman client server berhasil diterapkan
pada aplikasi perhotelan, hal ini berguna untuk
menangani 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 maintenance data.
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.


10. Daftar Pustaka
[1] Nurrohmah, Ratnasari. Client/Server dengan Java
Remote Method Invocation (Java RMI), Sebuah
Tutorial. Surakarta : Teknik Elektro Universitas
Muhammadiyah Surakarta 2003
[2] Hartanto, Budi. Membuat Program Program
Keren dengan Visual C#.Net Secara Mudah.
Yogyakarta : C.V Andi Offset 2009
[3] Jaenudin, S.T. Belajar Sendiri .NET dengan Visual
Studio C# 2005. Yogyakarta : CV. Andi Offset
[4] Kusrini, Andri Koniyo. Optimasi Penggunaan Tabel
terhadap Informasi Akuntansi yang Dihasilkan pada
Sistem Informasi Akuntansi. Yogyakarta : STMIK
AMIKOM Yogyakarta.