Jumat, 06 Januari 2017

JURNAL SISTEM INFORMASI BILLING WARNET BERBASIS CLIENT SERVER 2 LAYER

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.

1 komentar: