Professional Documents
Culture Documents
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.
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$$
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$$
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
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$$
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$$
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$$
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$$
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
CREATE PROCEDURE `hotel`.`IsiNoKmr` (noKmr int(5), idType varchar(15), statusKmr char(1)) BEGIN
33
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$$
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$$
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 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$$
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$$
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.
8.
Kesimpulan
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
[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