System Informasi Billing Warnet
Berbasis Client Server 2 Layer
Ilma Thalia
Teknik Informatika, Sekolah Tinggi
Ilmu Komputer PGRI, Banyuwangi, Indonesia
Abstrak -
System billing warnet menggunakan tombol start dan stop sebagai acuan waktu
mulainya browsing dan berakhirnya kegiatan browsing. Namun, mayoritas warnet di
pedesaan belum menggunakan system billing yang memadai seperti transparansi
mengenai durasi dan tagihan. Dengan tidak adanya system durasi dan tagihan di
interface client, dirasa kurang nyaman dan efektif dalam kegiatan browsing yang
sedang dilakukan client.
Oleh karena itu, dibuat aplikasi System
Informasi Billing Warnet Berbasis Client Server 2 Layer yang menggunakan Visual
Studio, MySQL, XAMPP. Untuk mempernyaman client dalam kegiatan browsing
sehingga client tidak perlu lagi mengira-ngira berapa tagihan yang harus
dibayar.
Kata Kunci –
client-server, visual studio, MySQL,
XAMPP
1.
Pendahuluan
Warung internet atau yang lebih sering
di singkat dengan warnet adalah suatu bentuk usaha yang di kelola oleh kelompok
atau individu yang memberikan pelayanan terhadap jasa internet. Biasanya
penggunaan biaya dikenakan tarif perjam atau lebih sesuai dengan
pemakaian. Warnet tidak hanya ada di
dalam kota-kota besar, seiring dengan perkembangan jaman dan besarnya
penggunaan internet kini warnet juga sudah banyak tersedia di pelosok-pelosok
desa.
Untuk itu dibuatlah sebuah aplikasi
warnet berbasis client server dimana pada program ini tidak hanya mencakup tentang durasi dan biaya
yang di keluarkan saat pemakaian tetapi juga terdapat tambahan berupa menu makanan yang sudah tersusun sistematis dalam
sebuah database sehingga memudahkan dalam proses transaksi.
Ada beberapa masalah yang timbul dalam
aplikasi ini. Salah satunya adalah tidak adanya durasi waktu pemakaian
sehingga user atau pengguna warnet tidak
tahu berapa lama mereka melakukan pemakaian. Yang kedua adalah kemungkinan
bertambahnya admin untuk server. Pengelola warnet yang sudah berkembang
biasanya memerlukan pegawai. Pegawai juga bertindak sebagai admin dalam mengoperasikan server.
Untuk itu solusi pertama yang
diberikan adalah dengan menambahkan system durasi pada sistem sehingga
user bisa tau durasi pemakaian dan juga
tagihan yang harus di bayarkan. Yang kedua yaitu menambahkan system “tambah
admin” pada server billing.
Harapan dibuatnya Sistem Informasi
Billing Warnet Berbasis Client Server adalah, yang pertama adalah memudahkan user maupun server dalam
pengoperasian sehingga lebih transparan dan lebih sistematis. Yang kedua yaitu
memudahkan individu yang bekerja mengoperasikan server dan memudahkan pelacakan
jika suatu hari terjadi kerusakan seperti pembobolan bandwidth atau pembobolan
akun pada warnet.
2.
Rumusan masalah
Adapun rumusan masalah yang akan
dikaji yaitu :
·
Bagaimana membuat
system durasi pemakaian yang dilengkapi pilihan menu camilan pada server
billing?
·
Bagaimana membuat
system “tambah admin” pada server billing?
3.
Batasan Masalah
Agar pembahasan dalam aplikasi ini
tidak melebar dari yang sudah dirumuskan, maka perlu di lakukan pembatasan
masalah. Adapunb atasan masalah yang dimaksud adalah sebagai berikut :
· Data Input :
Data input yaitu data master yang
nantinya akan diproses menjadi output untuk dimanfaatkan oleh pengguna.
· Proses :
Proses berisi sekumpulan data yang
sedang diolah untuk dijadikan output.
· Data output
Data output berisi data yang sudah
diolah dan menjadi output/ hasil yang dimanfaatkan oleh pengguna. Data output
yang akan dihasilkan pada Sistem Informasi Billing Warnet yaitu system durasi
dan system tambah admin.
4.
Kajian Pustaka
Menurut
Jogiyanto (2001), system adalah suatu jaringan kerja dari prosedur-prosedur
yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan
atau untuk menyelesaikan suatu sasaran tertentu.
Menurut
Faruk Alfiyan (2011), Client server adalah bentuk arsitektur, dimana client
adalah perangkat yang menerima, menampilkan, dan menjalankan aplikasi (software
komputer). Sedangkan server adalah perangkat yang menyediakan dan bertindak
sebagai pengelola aplikasi, data dan keamanannya.
Menurut
Redi Taofik Soleh (2007), MySQL adalah suatu aplikasi pengolahan database yang
sering digunakan oleh banyak programmer. Selain sudah mendukung dalam pembuatan
database yang berbasis Client/Server, MySQL juga bisa mengolah database dalam
jumlah besar. Database yang akan digunakan dalam jurnal ini adalah database
phpmyadmin. Phpmyadmin memiliki fitur yang mudah dan mayoritas digunakan oleh
siswa, mahasiswa dan tenaga pengajar.
5.
Pembahasan
5.1 Use Case Diagram
Use
Case Diagram menggambarkan proses kebutuhan system dari sudut pandang user yang
diperoleh dari transaksi yang membutuhkan computer.
5.2
Class Diagram
Class
Diagram menjelaskan hubungan antar class dalam sebuah system yang sedang
dibuat.
5.3 Data Base
Menurut Sutanta (2004), basis data
atau database adalah kumpulan data yang tersimpan dalam suatu media
penyimpanan.
6.
Uji Coba
6.1 Durasi Pada Form Client
Tampilan
form entry/inputan data client sebagai berikut
Adapun potongan
script program sebagai berikut :
private void btnStart_Click(object sender, EventArgs e)
{
jam = 0;
menit = 0;
detik = 0;
milidetik = 0;
timer1.Enabled = true;
timer1.Start();
txtDurasi.Enabled = true;
txtTagihan.Enabled = true;
}
private void btnStop_Click(object sender, EventArgs e)
{
timer1.Stop();
timer1.Enabled = false;
if (detik < 15 && menit <= 0
&& jam <= 0)
{
tarif = 500;
}
else if (detik >= 15 && detik <=
30 && menit <= 0 && jam <= 0)
{
tarif = 1500;
}
else if (detik > 30 || menit >= 0 || jam
>= 0)
{
tarif = 1000;
}
txtTagihan.Text = " " + tarif.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
milidetik = milidetik + 1;
if (milidetik >= 10)
{
milidetik = 0;
detik = detik + 1;
}
if (detik >= 60)
{
detik = 0;
menit = menit + 1;
}
if (menit >= 60)
{
menit = 0;
jam = jam + 1;
}
if (jam >= 24)
{
jam = 0;
}
txtDurasi.Text = jam + " : " + menit + " : " + detik + " : " + milidetik;
}
Didalam coding form client terdapat
coding btnStart, btnStop dan timer1 untuk operasi billing. btnStart dan
berfungsi mengaktifkan tombol start saat client memulai browsing, btnStop berfungsi
untuk mengakhiri durasi browsing, timer1
berfungsi sebagai penghitung durasi.
6.2
Tambah Admin Pada Form Admin
Gambar 6.2 Form Admin
Adapun potongan
script program sebagai berikut :
private void btnTambahadmin_Click(object sender, EventArgs e)
{
if (txtUsername.Text == "")
{
MessageBox.Show("Username tidak boleh
kosong!!!", "Peringatan!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtUsername.Focus();
}
else if (txtPassword.Text == "")
{
MessageBox.Show("Password tidak boleh
kosong!!!", "Peringatan!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtPassword.Focus();
}
else if (txtNamalgkp.Text == "")
{
MessageBox.Show("Nama tidak boleh kosong!!!", "Peringatan!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtNamalgkp.Focus();
}
else if (txtKelahiran.Text == "")
{
MessageBox.Show("Lahir tidak boleh kosong!!!", "Peringatan!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtKelahiran.Focus();
}
else
{
sambungDB.buka_koneksi();
string cekData = string.Format("select * from operator where
username='{0}'", txtUsername.Text);
penampung = new MySqlDataAdapter(cekData, sambungDB.koneksi);
DataTable hasil = new DataTable();
penampung.Fill(hasil);
int jumlahData = hasil.Rows.Count;
sambungDB.tutup_koneksi();
if (jumlahData == 0)
{
string query = string.Format("insert into operator
values ('{0}','{1}','{2}','{3}')", txtUsername.Text, txtPassword.Text,
txtNamalgkp.Text, txtKelahiran.Text);
sambungDB.eksekusiSQL(query);
MessageBox.Show("Data berhasil di
simpan", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtKelahiran.Clear();
txtUsername.Clear();
txtPassword.Clear();
txtNamalgkp.Clear();
}
else
{
MessageBox.Show("Data sudah
ada!!", "Peringatan!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
Didalam coding form admin
terdapat coding btnTambahadmin, yang
berfungsi untuk menginputkan username, password, nama lengkap, dan tanggal
lahir admin. Setelah klik tombol “Tambah Admin ”, maka data akan otomatis
tersimpan ke database.
6.3
Inputan Data Billing
Gambar 6.3 From Billing
Adapun potongan
script program sebagai berikut :
private void tampilkanNoBilik()
{
string query = "select no_bilik from client";
penampung = new MySqlDataAdapter(query, sambungDB.koneksi);
DataTable hasil = new DataTable();
penampung.Fill(hasil);
int banyakData = 0;
banyakData = hasil.Rows.Count;//menentukan jumlah
perulangan
if (banyakData > 0)
{
for (int i = 0; i < banyakData; i++)
{
cmbNobilik.Items.Add(hasil.Rows[i][0].ToString());
}
}
}
private void tampilkanIdBarang()
{
string query = "select id_brg from item";
penampung = new MySqlDataAdapter(query, sambungDB.koneksi);
DataTable hasil = new DataTable();
penampung.Fill(hasil);
int banyakData = 0;
banyakData = hasil.Rows.Count;//menentukan jumlah
perulangan
if (banyakData > 0)
{
for (int i = 0; i < banyakData;
i++)
{
cmbIdbarang.Items.Add(hasil.Rows[i][0].ToString());
}
}
}
Pada coding form billing terdapat void
cmbNobilik dan void cmbIdbarang. Coding ini berisi combo box yang digunakan
untuk memilih satu ID yang memiliki beberapa data, seperti data client dan data
item.
private void txtBanyakbeli_TextChanged(object sender, EventArgs e)
{
int tagihan, banyakbeli;
int harga = 0;
if (txtHargabarang.Text != "" &&
txtBanyakbeli.Text != "")
{
harga = Convert.ToInt32(txtHargabarang.Text);
banyakbeli = Convert.ToInt32(txtBanyakbeli.Text);
tagihan = harga * banyakbeli;
txtTagihanitem.Text =
tagihan.ToString();
txtTotal.Text = (Convert.ToInt32(txtTagihan.Text) +
Convert.ToInt32(txtTagihanitem.Text)).ToString();
}
}
Pada form billing terdapat coding void
txtBanyakbeli. Coding ini berisi perintah operasi hitung yang terdiri dari
tagihan internet dan tagihan item.
6.4
Laporan Cetak
Gambar 6.4 Laporan Cetak
Adapun potongan
script program sebagai berikut :
private void cetakToolStripMenuItem_Click(object sender, EventArgs e)
{
frmCetak cetak = new frmCetak();
crCetak dataBilling = new crCetak();
string query = "select * from billing";
penampung = new MySqlDataAdapter(query, sambungDB.koneksi);
DataTable hasil = new DataTable();
penampung.Fill(hasil);
dataBilling.SetDataSource(hasil);
cetak.crv.ReportSource =
dataBilling;
cetak.Refresh();
cetak.Show();
}
Coding diatas berisi data pada form
billing, dimana transaksi system dilakukan. Data inputan yang diproses pada
form billing akan dilaporkan dalam crystal report.
7.
Kesimpulan dan Saran
7.1 Penelitian ini menghasilkan kesimpulan sebagai
berikut:
·
Penggunaan system
durasi pada interface client dapat meningkatkan kemudahan dalamperhitungan lama
browsing. Sehingga client tidak perlu cemas jika ada kemungkinan waktu browsing
terlewat batas.
·
Penggunaan system
“Tambah Admin” membantu admin atau operator, jika suatu saat terjadi penambahan
admin.
·
Penggunaan system
“Total” pada form billing membantu admin dalam perhitungan tagihan.
7.2
Saran
Hendaknya pihak programmer lebih
menyempurnakan lagi System Informasi Billing Warnet ini sehingga lebih mudah
dan nyaman baik bagi admin maupun client.
Daftar Pustaka
1. Alfiyan, faruk. 2011. “Keunggulan Performance
Three-Tier dalam Pembangunan Program Berbasis Client Server”. JIKOM. 1(2),
73-78.
2. Siti. 2014. “System Informasi Perpustakaan SMA
PGRI Rogojampi Menggunakan Metode Client Server”. Skripsi. S1, Teknik Informatika, STIKOM PGRI Banyuwangi.
3. Suja, Imam. 2005. Pemrograman SQL dan Database Server MySQL. Yogyakarta: Andi Offset.
4. Taofik, Redi. 2007. Aplikasi Penjualan Menggunakan VB 6.0 dan Navicat MySQL. Jakarta:
PT Elex Media Komputindo.