Aplikasi Absensi Berbasis Client Server
dengan dot.Net Framework
Puji Agustian Archimed Widodo1, Rudi Hartono2
Teknik Informatika, STIKOM PGRI Banyuwangi1
heiji_4rt@yahoo.com
Teknik Informatika, STIKOM PGRI Banyuwangi2
Abstrak – Sekolah Tinggi Ilmu Komputer PGRI Banyuwangi merupakan salah satu perguruan tinggi di Banyuwangi yang berada pada jalur teknologi. Dengan jumlah mahasiswa kurang lebih 500 mahasiswa. Dalam kondisi seperti ini yaitu saat melakukan absensi yang masih bersifat manual yang berupa tanda tangan mereka saling berebut ataupun menunggu lama sedangkan dosenpun terkadang kesulitan untuk menanganinya. Terlepas dari itu, setiap akhir perkuliahan absensi tersebut direkap ulang untuk digunakan mengetahui nilai jumlah kehadiran, ataupun untuk KHS (kartu hasil studi).
Untuk menanggulangi hal tersebut perlu dibangun sebuah sistem untuk absensi. Sistem ini akan mempermudah dalam pengabsenan, serta lebih efisien dalam manajemennya. Dikarenakan struktur absensi berbeda jumlah pertemuannya, maka tabel ini didesain dengan cross tab dengan metode denormalisasi. Dalam pengembangannya sistem ini menggunakan metode client server, sehingga lebih mempermudah pengabsenan dan perawatan, selain itu pelaporannya menggunakan file yang berekstensi XML.
Pada penelitian kali ini dihasilkan tiga hal, yang pertama pengembangan sistem yang menggunakan metode client server, kedua pendesainan database sistem ini menggunakan teknik denormalisasi, dan hasil penelitian yang terakhir adalah pemanfaatan file XML sebagai penyajian laporan. Dalam aplikasi ini terbagi menjadi dua bagian, yaitu aplikasi absensi server yang digunakan unutk memasukkan data awal (jadwal matakuliah). Dan bagian kedua adalah aplikasi absensi client yang berfungsi sebagai absensinya.
Katakunci – Absensi Client Server, Program Absensi
1. Pendahuluan
Dalam perkembangan zaman yang semakin pesat, banyak hal yang memiliki segi positif dan negatifnya, banyak yang mempermudah kerja ataupun malah menghambat kerja. Alangkah baiknya kita sebagai penerus bangsa mampu untuk memilih dan memilah, memanfaatkan semua kemajuan teknologi dalam segi positifnya.
Sekolah Tinggi Ilmu Komputer PGRI Banyuwangi merupakan salah satu perguruan tinggi di Banyuwangi yang berada pada jalur teknologi. Dengan jumlah mahasiswa kurang lebih 500 mahasiswa. Dengan jumlah sebanyak itu yang terbagi menjadi beberapa kelas sesuai dengan matakuliah masing - masing. Dalam kondisi seperti ini yaitu saat melakukan absensi yang masih bersifat manual yang berupa tanda tangan mereka saling berebut ataupun menunggu lama sedangkan dosenpun terkadang kesulitan untuk menangani.
Terlepas dari itu, setiap akhir matakuliah dosen menyerahkan rekap mahasiswa yang masuk kepada staff, yang kemudian direkap ulang untuk digunakan pada akhir perkuliahan seperti pemberian nilai jumlah kehadiran, ataupun untuk KHS (kartu hasil studi). Jika masih menggunakan sistem yang manual, dirasa kurang efektif, dikarenakan harus kerja dua kali atau bahkan tiga kali lebih banyak. Sedangkan terkadang ada saja mahasiswa yang memanfaatkan kelemahan itu untuk kepentingan pribadi.
Guna menyelesaikan masalah itu, alangkah baiknya kita memanfaatkan semua masalah itu dengan memanfaatkan teknoligi juga. Dengan membangun sebuah sistem yang mampu untuk mengatur semua data yang masuk hingga diproses dengan baik dan rapi, yang mampu juga untuk menghasilkan sebuah laporan baik hard copy maupun soft copy, sehingga membantu kinerja pengolahan data. Sistem ini yang kita kenal dengan sistem aplikasi absensi client server.
2.1 Client Server
Klien-server atau client-server merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server.Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen
server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna.
Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server.
Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.[2]
2.2 .Net Framework
Microsoft .NET Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versi Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini. .NET Framework adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows.
Pada dasarnya, .NET Framework memiliki 2 komponen utama: CLR dan .NET Framework Class Library. Program - program yang ditulis untuk .NET Framework dijalankan pada suatu lingkungan software yang mengatur persyaratan-persyaratan runtimeprogram. Runtime environment ini, yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan penampilan dari application virtual machine, sehingga para programmer tidak perlu mengetahui kemampuan CPU tertentu yang akan menjalankan program.
CLR juga menyediakan layanan-layanan penting lainnya seperti jaminan keamanan, pengaturan memori, garbage collection dan exception handling/ penanganan kesalahan pada saat runtime. Class library dan CLR ini merupakan komponen inti dari .NET Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa ancaman keamanan.[4]
2.3 Pemodelan Denormalisasi
Guna merancang sebuah logical database secara umumterdapat dua teknik yaitu teknik normalisasi dan denormalisasi. Untuk menangangani redudansi data pada database dalam skala besar, sampai saat ini banyak yang menggunakan teknik normalisasi.
Akan tetapi teknik normalisasi ini kadang menyebabkan beberapa pembatasan dalam mendukung kebutuhan aplikasi. Teknik normalisasi bisa diterapkan pada pemodelan cross tab, hanya data kolomnya statis, jika merubah kolom maka haruslah merubah struktur tabel.
Oleh karena itu, solusi yang bagus untuk menangani model data cross tab yang bersifat dinamis tersebut diperkenalkanlah teknik denormalisasi.
2.4 XML File
XML (Extensible Markup Language) adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam. XML merupakan kelanjutan dari HTML (HyperText Markup Language) yang merupakan bahasa standar untuk melacak Internet. XML didesain untuk mempu menyimpan data secara ringkas dan mudah diatur.[3]
XML adalah data yang jika diolah bisa memberikan informasi. XML menyediakan suatu cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. Dengan sendirinya, XML dapat digunakan untuk menggambarkan sembarang view database, tetapi dengan suatu cara yang standar.[1]
3. Desain System
Proses desain sistem terbagi menjadi dua bagian, yaitu desain logical database dan desain aplikasi absensi.
3.1 Desain Logical Database
Dalam pendesainan Logical Database, secara keseluruhan tabel yang dibutuhkan antara lain :
a. matakul : sebagai tabel master matakuliah
b. ambil : sebagai tabel transaksi pengambilan matakuliah antara mahasiswa dengan matakuliah yang diambil
c. mahasiswa : sebagai tabel master mahasiswa
d. mengampu : sebagai tabel transaksi pengampuan matakuliah antara matakuliah dengan dosen
e. absensi : sebagai tabel transaksi absensi dari mahasiswa – mahasiswa yang masuk dalam matakuliah tertentu
f. jadwal : sebagai tabel master jadwal, yang akan digunakan untuk absensi mahasiswa
g. dosen : sebagai tabel master dosen
Adapun rancangan tabel – tabel tersebut terlihat pada gambar 1.
Gambar 1 : desain tabel absensi
Dalam pengembangan sistem ini terdapat beberapa stored procedure diantaranya :
a. bacaSemua yang berfungsi untuk membaca semua data dari semua tabel (tabel yang ditentukan)
b. joinClient berfungsi untuk melakukan transaksi join antar tabel yang digunakan khusus untuk aplikasi absensi client
c. joinServer untuk melakukan transaksi join antar tabel yang digunakan khusus untuk aplikasi absensi server.
Adapun isi dari stored procedure tersebut sebagai berikut :
a. bacaSemua :
DELIMITER $$
DROP PROCEDURE IF EXISTS `masterabsensi`.`bacaSemua`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `bacaSemua`(tabel varchar(10))
BEGIN
case
when tabel = 'matakul' then select * from matakul;
when tabel = 'dosen' then select * from dosen;
when tabel = 'jadwal' then select * from jadwal;
when tabel = 'mahasiswa' then select * from mahasiswa;
end case;
END$$
DELIMITER;
b. joinClient :
DELIMITER $$
DROP PROCEDURE IF EXISTS `masterabsensi`.`joinClient`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `joinClient`(nim varchar(10), mk varchar(10))
BEGIN
select mahasiswa.nama from ambil inner join mahasiswa
on ambil.nim = mahasiswa.nim
where ambil.nim = nim && ambil.kodeMk = mk;
END$$
DELIMITER ;
c. joinServer :
DELIMITER $$
DROP PROCEDURE IF EXISTS `masterabsensi`.`joinServer`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `joinServer`(mk varchar(10),kelas varchar(2))
BEGIN
select absensi.nim, mahasiswa.nama from absensi inner join mahasiswa
on absensi.nim = mahasiswa.nim where
absensi.kodeMk = mk && absensi.idKelas = kelas group by nim;
END$$
DELIMITER ;
3.2 Desain Aplikasi Absensi
Desain aplikasi absensi ini terbagi menjadi dua form utama, yaitu form absensi server dan form absensi client. Adapun desain aplikasinnya terlihat pada gambar 2.
Gambar 2 : desain aplikasi absensi
Pada aplikasi ini form absensi server digunakan untuk mengisi/merubah semua data, mulai dari data dosen, data matakuliah, data mahasiswa, jadwal matakuliah sampai pembuatan laporan yang berekstensi xml.
Sedangkan pada form absensi client hanya bisa mampu mengisi data absen, mahasiswa tersebut. Yang mengacu pada database yang telah diubah oleh form absensi server.
4. Uji Coba
Hasil uji coba aplikasi ini terbagi menjadi tiga jenis yaitu uji coba aplikasi absensi client, uji coba aplikasi server, serta uji coba penyajian laporan yang berekstensi xml.
4.1 Uji Coba Aplikasi Absensi Client
Gambar 3 dibawah ini menunjukkan aplikasi absensi client. Dalam uji coba ini terbukti aplikasi hanya dapat menerima masukkan nim dari mahasiswa dan mengetahui ada tidaknya mahasiswa tersebut dalam kelas itu. Dalam aplikasi ini terdapat tombol refresh unutk mengantisipasi kekeliruan jadwal dari aplikasi server.
Gambar 3 : Tampilan Aplikasi Absensi Client
4.2 Uji Coba Aplikasi Absensi Server
Gambar 4 dibawah ini menunjukkan aplikasi absensi server. Dalam uji coba ini terbukti aplikasi ini mampu mengisi data dari jadwal matakuliah, data dosen, data matakuliah, data mahasiswa, serta data pengampuan matakuliah oleh dosen dan data pengambilan matakuliah oleh mahasiswa. Dalam aplikasi absensi server ini, terbukti tidak hanya untuk mengisi data saja, melainkan untuk melihat data – data dosen yang ada, matakuliah apa saja dalam semester ini, dan mahasiswanya siapa saja. Serta dapat mengetahui pengampuan dosen terhadap matakuliah - matakuliah yang ada dan pengambilan matakuliah dan dosen oleh para mahasiswa.
Gambar 4 : Tampilan Pengisian Jadwal
Gambar 5 dibawah ini menunjukkan aplikasi absensi server, untuk pembuatan laporan. Dalam uji coba ini terbukti aplikasi ini mampu menyajikan data laporan berbentuk cross tab yang menggunakan metode denormalisasi yang semula dalam desain database hanya berbentuk baris dirubah dalam bentuk per-kolom, serta mampu membuat laporan berbentuk xml, dengan menekan tombol simpan.
Gambar 5 : Tampilan Laporan
4.3 Uji Coba Penyajian Laporan XML
Gambar 6 dibawah ini menunjukkan penyajian laporan dalam bentuk XML. Dalam uji coba ini terbukti penyajian XML yang disajikan bisa juga dibuka menggunakan aplikasi excel, dengan format yang cukup tersusun rapi, sebagaimana terlihat dalam gambar 6 berikut.
Gambar 6 : penyajian laporan XML dalam excel
Adapun struktur penyajian laporan yang berformat XML seperti gambar 6 diatas, sebagai berikut :
340
Fingky Budiarti
V
V
V
X
V
V
V
V
---
---
---
---
---
---
---
---
---
---
---
---
---
347
Willy Witanto
V
V
V
X
X
V
V
X
---
---
---
---
---
---
---
---
---
---
---
---
---
350
Okky Hadi
V
V
V
X
X
V
X
V
---
---
---
---
---
---
---
---
---
---
---
---
---
5. Penutup
5.1 Kesimpulan
Kesimpulan yang dapat ditarik dalam penelitian ini adalah :
1. Teknik denormalisasi sangatlah membantu dalam penanganan data yang bermodel cross tab dan bersifat dinamis. Dalam hal ini, pertemuan tiap matakuliah yang berbeda semester memiliki perbedaan.
2. Dosen atau staff karyawan tidak perlu merekap ulang data absensi, karena sudah disediakan menu laporan xml. Sehingga mempermudah dalam penyusunan laporan dan penghitungan KHS.
3. Kesalahan data dapat diminimalisir karena data sudah tersimpan dalam database.
4. Penggunaan client – server sangat membantu pengisian absensi, karena absensi bisa dipasangkan pada setiap komputer dan prosesnya pun tidak lama.
5.2 Saran
Dalam laporan ini tentunya masih terdapat beberapa keekurangan yang masih bisa di[erbaiki untuk membangun sistem yang lebih baik dan lebih efisien lagi, diantaranya :
1. Telah dijelaskan diatas bahwa program ini menggunakan client – server yang berbasis desktop, sehingga dalam penggunaannya masih belum bisa diakses disemua tempat. Yang dapat mengaksesnya hanya komputer atau notebook yang memiliki aplikasi ini saja.
2. Sedang dalam penjadwalannya hanya berlaku dalam satu jaringan saja, dikarenakan akses database penjadwalannya masih belum maksimal.
3. Dalam pembuatan laporannya menggunakan file berekstensi XML, yang sebenarnya masih bisa dimanfaatkan secara maksimal, hanya dalam penelitian ini masih memanfaatkan data XML tersebut sebagai penyajian laporan saja.
4. Dalam pengabasenannya juga masih terdapat celah, diantaranya tidak adanya persetujuan dari dosen matakuliah tersebut.
6. Daftar Pustaka
[1] Hartanto, Budi. Membuat Program – Program Keren dengan Visual C#.Net Secara Mudah. Yogyakarta : C.V Andi Offset 2009
[2] Nurrohmah, Ratnasari. Client/Server dengan Java Remote Method Invocation (Java RMI), Sebuah Tutorial. Surakarta : Teknik Elektro Universitas Muhammadiyah Surakarta 2003
[3] Kim, Larry. XML Integrated Development Environment. USA : Altova, Inc & Altova GmbH. 2002
[4] Nogroho, Adi. Algoritmadan Struktur Data dengan C#. Yogyakarta : C.V. Andi Offset.2009
JIKOM STIKOM PGRI Banyuwangi
Volume : 01
No : 1
ISSN : 2088-6063
Hal : 55 - 60