Anda di halaman 1dari 98

PERANCANGAN SISTEM ABSENSI

MENGGUNAKAN BARCODE
BERBASIS ANDROID

TUGAS AKHIR

IZZATUL HUSNA
BP. 1401052007

PROGRAM STUDI DIII TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI PADANG
2017
PERANCANGAN SISTEM ABSENSI
MENGGUNAKAN BARCODE
BERBASIS ANDROID

Sebagai salah satu syarat untuk memperoleh gelar sarjana muda


Ahli Madya dari Politeknik Negeri Padang

IZZATUL HUSNA
BP. 1401052007

PROGRAM STUDI DIII TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI PADANG
2017
PERANCANGAN SISTEM ABSENSI
MENGGUNAKAN BARCODE BERBASIS ANDROID

Izzatul Husna
1401052007

Telah disetujui oleh:

Pembimbing I Pembimbing II

Uzma Septima,ST.,M.Eng Lifwarda,ST.,M.Kom


NIP. 19680924 199303 1 004 NIP. 19720222 200003 2 001
HALAMAN PENGESAHAN

Tugas akhir yang berjudul Deteksi Perancangan Sistem Absensi

Menggunkan Barcode Berbasis Android ini telah disidangkan atau

dipertanggungjawabkan di depan tim penguji sebagai berikut, pada hari Rabu 11

Oktober 2017 di Program Studi D3 Teknik Telekomunikasi Jurusan Teknik

Elektro Politeknik Negeri Padang.

No. Nama Jabatan TandaTangan

1. Hadria Octavia,SST.,M.Kom Ketua ...........................


Nip. 19671005 199403 1 005

2. Dra.Sri Nita.,M.Pd Sekretaris ...........................


Nip. 19680416 199403 2 002

3. Rikki Vitria,SST.,M.Sc Anggota ...........................


Nip. 19761019 200212 1 002

4. Uzma Septima,ST.,M.Eng Anggota ............................


Nip. 19680924 199303 1 002

Mengetahui:

Ketua Jurusan Ketua Program Studi


Teknik Elektro D3 Teknik Telekomunikasi

Dr. H Afrizal Yuhanef, ST.,M.Kom Fidaus Nursal, ST.,MT


NIP. 19640429 199003 1 001 NIP. 19781224 200501 1 003
ABSTRAK

Izzatul Husna (2016)Perancangan Sistem Absensi Dengan Menggunakan Barcode


Berbasis Android

Android merupakan sistem operasi berbasis Linux yang menyediakan


platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.
Penggunaan android saat ini tidak hanya berperan sebagai sarana komunikasi bagi
masyarakat, namun juga sangat berperan aktif dalam penyebaran informasi
dengan cepat dan mudah. Dengan keadaan sekarang yang serba praktis maka pada
tugas akhir ini dibuat sistem absensi mahasiswa menggunakan metode barcode
berbasis android. Karena sebelumnya mahasiswa masih menggunakan tanda
tangan manual, dengan adanya absensi dengan metode barcode berbasis android
maka mahasiswa tidak perlu tanda tangan manual.
Dilakukan perancangan sistem absensi dengan menggunakan barcode
berbasis andoid dibuat dengan tiga tahap yaitu pembuatan database dengan
mengunakan MySQL. Pembuatan android sebagai interface dengan menggunakan
App Inventor dan pembuatan web server sebagai tempat melakukan rekap absen
dengan menggunakan PHP (Hypertext Prepocessor).
Hasil yang diperoleh dari tugas akhir ini adalah sebuah sistem
pengambilan absen dengan mengunakan barcode melalui aplikasi pada perangkat
android. Dari hasil pengujian terhadap sistem absensi yang telah dirancang , dapat
diambil kesimpulan bahwa sistem absensi dapat mempercepat proses pengambilan
absensi dibanding dengan pengambilan absensi secara manual yaitu tanda tangan.
Sistem absensi hanya dapat digunakan apabila perangkat yang digunakan berada
pada koneksi wifi Politeknik Negeri Padang.

Kata kunci : Absensi, Barcode, Android, MySQL, App Inventor


ABSTRACT

Izzatul Husna (2016) Designing Attendance System Using Barcode


Android based

Android is a Linux-based operating system that provides an open platform


for developers to create their apps. The current android use not only serves as a
means of communication for the community, but also very active role in the
dissemination of information quickly and easily. With the current state of all
practical then in this final task made student attendance system using android-
based barcode method. Because previously students still use manual signatures,
with the absence of the method based on android barcode then the student does
not need manual signature.

Conducted design of absence system using andoid-based barcode is made


with three stages of making the database by using MySQL. Creation of android as
an interface by using App Inventor and web server creation as a place to recap
absent by using PHP (Hypertext Prepocessor).

The results obtained from this final project is a system of absent taking by
using barcode through application on android device. From the test results to the
system of absences that have been designed, it can be concluded that the
attendance system can speed up the absence of absenteeism compared with the
absence of manually absent the signature. Attendance system can only be used if
the device used is on wifi connection Politeknik Negeri Padang.

Keywords: Attendance, Barcode, Android, MySQL, App Inventor


KATA PENGANTAR

Segala puji dan syukur penulis ucapkan atas kehadirat Allah SWT, yang
telah melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat
menyelesaikan laporan tugas akhir ini. Tak lupa pula shalawat serta salam, penulis
sampaikan kepada Nabi Muhammad SAW yang membuka tabir keilmuan dan
membimbing manusia kejalan yang benar.
Tugas akhir ini merupakan salah satu syarat yang harus dipenuhi oleh
setiap mahasiswa untuk mencapai gelar Ahli Madya (DIII) Jurusan Teknik Elektro
di Politeknik Negeri Padang.
Judul Tugas Akhir yang penulis ajukan adalah“Perancangan Sistem Absensi
Menggunakan Barcode Berbasis Android”.Penulis menyadari bahwa tugas akhir ini
masih banyak terdapat kekurangan dalam penyusunannya. Oleh karena itu penulis
mengaharapkan kritik dan saran yang bersifat membangun demi kesempurnaan
tugas akhir ini.
Di samping itu tak lupa penulis ucapkan terima kasih kepada Ayahanda
dan Ibunda tercinta yang telah melimpahkan kasih sayang dan kerja kerasnya
untuk penulis dan penulis juga mengucapkan terima kasih kepada :

1. Bapak Uzma Septima,ST.,M.Eng selaku pembimbing 1 yang telah banyak


memberi petunjuk, saran, dan pengarahan dari penyusunan laporan sampai
pembuatan laporan ini.
2. Ibu Lifwarda, ST.,M.Kom selaku pembimbing 2 yang telah banyak memberi
petunjuk, saran, dan pengarahan dari penyusunan laporan sampai pembuatan
laporan ini.
3. Bapak Firdaus Nursal, S.T.,M.T selaku Koordinator Program Studi D3 Teknik
Telekomunikasi Politeknik Negeri Padang.
4. Bapak Dr. H. AfrizalYuhanef, S.T.,M.Kom selaku Ketua Jurusan Teknik
Elektro Politeknik Negeri Padang .
5. Rekan-rekan seangkatan jurusan Teknik Elektro dan semua pihak yang telah
ikut membantu penulis yang tidak dapat penulis sebutkan namanya satu
persatu.
Semoga semua dukungan, bantuan, dan do’anya serta bimbingan yang
telah diberikan kepada penulis mendapat balasan pahala dari Allah SWT. Amin.
Akhir kata penulis mengucapkan banyak terima kasih dan mohon maaf
apabila ada kesalahan dan kekhilafan dalam penulisan laporan tugas akhir ini.
Dengan kerendahan hati penulis berharap semoga tugas akhir ini bermanfaat bagi
kita semua.
Padang,10 Oktober 2017

Izzatul Husna
DAFTAR ISI

HALAMAN JUDUL ........................................................................................... i

KATA PENGANTAR ......................................................................................... ii

DAFTAR ISI ..................................................................................................... iv

DAFTAR LAMPIRAN .................................................................................... vii

DAFTAR GAMBAR ....................................................................................... viii

DAFTAR TABEL .............................................................................................. xi

BAB 1 PENDAHULUAN

1.1 Latar Belakang ...................................................................................... 1

1.2 Rumusan Masalah ................................................................................. 2

1.3 Tujuan ................................................................................................... 2

1.4 Batasan Masalah ................................................................................... 2

1.5 Manfaat................................................................................................. 3

1.6 Sistematika Penulisan Tugas Akhir ........................................................ 3

BAB II LANDASAN TEORI

2.1 Telekomunikasi Dasar ........................................................................... 5

2.2 Absensi ................................................................................................. 6

A Absensi Catatan Tangan ................................................................... 6

B Absensi Almano ............................................................................... 7

C Absensi Sidik Jari(Finger Scan)........................................................ 7

D Absensi Telapak Tangan ................................................................... 8


2.3 Barcoder ............................................................................................... 8

2.4 Barcode Reader ................................................................................... 12

2.5 Konsep Database (Basis Data)............................................................. 14

2.5.1 Komponen Basis Data ............................................................... 16

2.5.2 ER Diagram (Entity Relationship Diagram) .............................. 15

2.6 Pengenalan MySQL ............................................................................ 17

2.7 PHP (Hypertext Prepocessor) .............................................................. 18

2.8 Sistem Operasi .................................................................................... 19

2.9 Android ............................................................................................... 21

2.9.1 Sistem Operasi .......................................................................... 22

2.9.2 Versi Android ............................................................................ 23

2.10 Jaringan Komputer ............................................................................ 24

2.10.1 Jenis Jaringan Komputer ......................................................... 25

BAB III PERANCANGAN DAN PEMBUATAN

3.1 Konsep Perancangan ........................................................................... 27

3.2 Blok Diagram Sistem .......................................................................... 27

3.3 Flowchart Aplikasi .............................................................................. 28

3.4 Software Perancangan ......................................................................... 30

1 XAMPP ......................................................................................... 30

2 MIT App Inventor .......................................................................... 31

3 Notepad++ ..................................................................................... 32

3.5 Perancangan Database ......................................................................... 33


3.5.1 ER Diagram (Entity Relationship Diagram) ............................... 33

3.5.2 Struktur Tabel ............................................................................ 34

3.6 Perancangan Antar Muka .................................................................... 36

3.7 Perancangan Web ................................................................................ 40

3.8 Koneksi Antara Database dan Android ................................................ 41

3.9 Hosting ............................................................................................... 42

BAB IV PENGUJIAN DAN ANALISA

4.1 Pengujian ............................................................................................ 44

4.1.1 Hardware dan Software Pengujian ............................................. 44

4.1.2 Pengujian Aplikasi .................................................................... 45

4.1.3 Hasil Pengujian ......................................................................... 44

4.2 Analisa ................................................................................................ 53

BAB V PENUTUP

5.1 Kesimpulan ......................................................................................... 57

5.2 Saran................................................................................................... 57

DAFTAR PUSTAKA
DAFTAR LAMPIRAN

Lampiran 1. Blok Diagram Android Menu Utama .............................................. 60

Lampiran 2. Blok Diagram Android Menu Sistem Absensi................................. 61

Lampiran 3. Blok Diagram Android Menu Sistem Absensi................................. 62

Lampiran 4. Blok Diagram Android Menu Sistem Absensi................................. 63

Lampiran 5. Blok Diagram Android Menu Sistem Absensi................................. 64

Lampiran 6. Blok Diagram Android Menu Sistem Absensi................................. 65

Lampiran 7. Blok Diagram Android Menu Rekap Absen .................................... 66

Lampiran 8. Blok Diagram Android Menu Daftar Kuliah ................................... 67

Lampiran 9. Koneksi Kehadiran Android dan Database...................................... 68

Lampiran 10. Koneksi Ketidakhadiran Android dan Database ............................ 69

Lampiran 11. Koneksi Jadwal Kuliah Android dan Database .............................. 70

Lampiran 12. Koneksi Rekap Absen Android dan Database ............................... 71

Lampiran 13. Tampilan Web .............................................................................. 72

Lampiran 14. Input Rekap Absen ....................................................................... 73

Lampiran 15. Input Rekap Absen ....................................................................... 74

Lampiran 16. Data Kehadiran ............................................................................ 75

Lampiran 17. Data Kehadiran ............................................................................ 76

Lampiran 18. Data Kehadiran ............................................................................ 77

Lampiran 19. Data Kehadiran ............................................................................ 78

Lampiran 20. Data Kehadiran ............................................................................ 79


DAFTAR GAMBAR

Gambar 1. Sistem Telekomunikasi ....................................................................... 5

Gambar 2. Contoh Barcode ................................................................................ 11

Gambar 3. ER Diagram ...................................................................................... 17

Gambar 4. Logo MySQL ................................................................................... 18

Gambar 5. Logo Android ................................................................................... 22

Gambar 6. Blok Diagram Sistem ........................................................................ 28

Gambar 7. Flowchart Aplikasi ............................................................................ 29

Gambar 8. Logo XAMPP ................................................................................... 31

Gambar 9. Logo App Inventor............................................................................ 31

Gambar 10. Logo Notepad++............................................................................. 32

Gambar 11. ER Diagram Database ..................................................................... 33

Gambar 12. Tampilan Awal App Inventor........................................................... 36

Gambar 13. Tampilan Halaman Kerja ................................................................ 36

Gambar 14. Rancangan Halaman Utama ............................................................ 37

Gambar 15. Rancangan Halaman Sistem Absensi ............................................... 37

Gambar 16. Rancangan Halaman Input Kehadiran ............................................. 38

Gambar 17. Rancangan Halaman Input Ketidakhadiran ..................................... 38

Gambar 18. Rancangan Daftar MK .................................................................... 39

Gambar 19. Rancangan Halaman Rekap Absen .................................................. 39

Gambar 20. Building Aplikasi ............................................................................ 40


Gambar 21. Download Aplikasi ......................................................................... 40

Gambar 22. Rancangan Halaman Utama ............................................................ 40

Gambar 23. Rancangan Halaman Input .............................................................. 41

Gambar 24. Rancangan Halaman Search ............................................................ 41

Gambar 25. Kode Koneksi Database .................................................................. 41

Gambar 26. Tampilan Halaman Utama ............................................................... 45

Gambar 27. Tampilan Halaman Pilihan .............................................................. 46

Gambar 28. Tampilan Form Input Kehadiran ..................................................... 46

Gambar 29. Proses Scaner Kartu Pustaka ........................................................... 47

Gambar 30. Pilihan Kode Mata Kuliah ............................................................... 47

Gambar 31. Tampilan Data Input Kehadiran ...................................................... 48

Gambar 32. Tampilan Form Input Ketidakhadiran .............................................. 48

Gambar 33. Tampilan Pilihan Keterangan Ketidakhadiran.................................. 49

Gambar 34. Tampilan Data Input Ketidakhadiran ............................................... 49

Gambar 35. Halaman Pilihan Kelas .................................................................... 50

Gambar 36. Tampilan Daftar Mata Kuliah .......................................................... 50

Gambar 37. Halaman Pilihan Kelas .................................................................... 51

Gambar 38. Halaman Web ................................................................................. 51

Gambar 39. Halaman Input ................................................................................ 52

Gambar 40. Halaman Search .............................................................................. 52

Gambar 41. Halaman Update Rekap Absen ........................................................ 52

Gambar 42. Database Kehadiran 1A .................................................................. 53


Gambar 43. Tidak Dapat Menjangkau Database ................................................. 53

Gambar 444. Tampilan WiresharkAntara User dan Server .................................. 55

Gambar 45. Pembukaan Koneksi Oleh TCP ....................................................... 55

Gambar 46. Komunikasi HTTP .......................................................................... 56

Gambar 47. Penutupan Koneksi ......................................................................... 56


DAFTAR TABEL

Tabel 1. Struktur Tabel Mahasiswa ..................................................................... 34

Tabel 2. Struktur Tabel Mata Kuliah ................................................................... 34

Tabel 3. Struktur Tabel Kehadiran ...................................................................... 34

Tabel 4. Struktur Tabel Rekap Absen .................................................................. 35

Tabel 5. Struktur Tabel Absen ............................................................................ 35


BAB I
PENDAHULUAN

1.1. Latar Belakang

Kegiatan perkuliahan dapat berlangsung baik dengan adanya keaktifan

mahasiswa untuk menghadiri setiap perkuliahan yang diselenggarakan. Karena

itu, dibutuhkan pengawasan yang baik mengenai absensi mahasiswa. Saat ini

proses absensi mahasiswa menggunakan metode tanda tangan pada lembaran

absen yang dibagikan setiap perkuliahan. Metode ini dianggap kurang efektif dan

praktis karena dalam proses pengambilan absen mahasiswa membutuhkan waktu

yang lebih lama.

Android bukanlah hal yang baru bagi mahasiswa. Saat ini rata rata

mahasiswa memiliki android. Saat ini mahasiswa kebanyakan hanya menfaatkan

android sebagai komunikasi di media sosial dan sumber informasi. Ada baiknya

penggunaan android dapat dimanfaatkan untuk keperluan akademik.

Pengambilan absensi secara manual lebih membutuhkan waktu dalam

pelaksanaanya. Mahasiswa harus mengambil form absensi terlebih dahulu ke

bagian adminstrasi sebelum melakukan pengambilan absensi. Saat melakukan

pengambilan absensi mahasiswa harus memastikan minggu keberapa

pengambilan, memastikan posisi baris tanda tangan berada pada baris yang sama

dengan baris nama.

Dari permasalahan diatas, dirancang suatu sistem menggunakan teknologi

mobile berbasis android. Android merupakan sistem operasi yang mudah

digunakan. Pemasangan Aplikasi pada sistem operasi Android dapat dilakukan

oleh pengguna dengan mudah. Peggunaanya yang mudah juga memungkinkan


semua kalangan untuk menggunakannya.

Dalam pelaksanaannya, mahasiswa memiliki masing masing barcode pada

masing masing kartu perpustakaan dapat melakukan pengambilan absensi dengan

melakukan scan bacode menggunakan android yang memiliki aplikasi pembaca

barcode. Sistem absensi ini juga memberikan laporan rekap absen , sehingga tidak

perlu melakukan perhitungan absen secara manual lagi.

1.2. Perumusan Masalah

Permasalah yang muncul dalam pembuatan tugas akhir ini adalah :

1. Bagaimana merancang sistem kehadiran mahasiswa menggunakan

barcode berbasis android ?

2. Bagaimana sistem ini menjadi lebih cepat dalam pengambilan

kehadiran mahasiswa ?

1.3. Tujuan

Tujuan pembuatan tugas akhir ini adalah merancang sistem absensi

berbasis android di Program studi D3 Teknik Telekomunikasi untuk

mempermudah mahasiswa dalam melakukan absensi.

1.4. Batasan Masalah

Agar pembahasan masalah tidak menyimpang dari tujuan penelitian serta

mengingat keterbatasan waktu dan kemampuan penulis, maka berikut ini adalah

beberapa batasan yang perlu dibuat :

1. Merancang sistem kehadiran mahasiswa berbasis android

2. Pemanfaatan kartu pustaka sebagai sarana pengambilan absen


3. Merancang sistem absensi yang lebih cepat dibanding dengan sistem

sebelumnya.

1.5. Manfaat

Adapun maanfaat dari pembuatan tugas akhir ini adalah :

1. Mempermudah pengambilan kehadiran mahasiswa selama perkuliahan.

2. Mempercepat proses pengambilan absensi mahasiswa.

1.6. Sistematika Penulisan

Penulisan laporan tugas akhir ini dilakukan dengan menggunakan

sistematika sebagai berikut.

BAB I PENDAHULUAN

Berisi tentang latar belakang masalah, perumusan masalah, tujuan

pembuatan tugas akhir, batasan masalah, manfaat pembuatan tugas akhir, ,

sistematika penulisan.

BAB II LANDASAN TEORI

Berisi tentang teori dasar yang digunakan sebagai bahan acuan dalam

pembuatan rancangan alat proyek Tugas Akhir, serta komponen yang

perlu diketahui untuk mempermudah dalam memahami sistem kerja alat

ini.

BAB III PERANCANGAN DAN PEMBUATAN SISTEM

Merancang dan membuat sistem mulai dari blok diagram hingga

membuat aplikasi dari sistem.

BAB IV PENGUJIAN DAN ANALISA

Bab ini berisi tentang pengujian sitem dan analisa sistem serta

pembahasan prinsip kerja secara keseluruhan.


BAB V PENUTUP

Bab ini berisi tentang simpulan secara keseluruhan dari sistem yang

dibuat dan saran agar sistem ini dapat dikembangkan lebih baik.
BAB II

LANDASAN TEORI

2.1. Telekomunikasi Dasar

Telekomunikasi adalah suatu teknik pengiriman atau penyampaian

informasi dari suatu tempat ke tempat lain dengan menggunakan udara sebagai

media transmisinya. Dalam sistem telelkomunikasi ada hal – hal yang penting

seperti : information source, transmitter, channel, receiver, dan destination. Untuk

memahami konsep dari hal – hal di atas, perhatikan blok diagram dari suatu

sistem komunikasi pada Gambar 1.

Gambar 1. Sistem Telekomunikasi.

Information Source (sumber informasi) merupakan pesan yang ingin

disampaikan. Dapat berupa suara, gambar, data, kode, dll. Transmitter (Tx) adalah

rangkaian yang mengubah informasi yang akan dikirimkan ke dalam betuk sinyal

yang sesuai dengan media yang akan dilaluinya. Contoh :

1. Microphone : gataran suara  sinyal listrik.

2. Pemancar Radio : sinyal listrik  gelombang elektromagnetik.

Channel (kanal) merupakan media pengiriman sinyal dari suatu tempat ke

tempat lain. Contoh :

1. Kabel : kawat, serat optik.


2. Udara : gelombang elektromagnetik.

Receiver (Rx) adalah mengubah kembali sinyal yang diterima dari media

komunikasi ke bentuk semula (informasi). Receiver dan transmitter harus

merupakan pasangan modulasi-demodulasi yang sesuai. Sedangkan Noise (derau)

merupakan :

1. Energi random yang tidak diinginkan, tetapi selalu muncul dalam

setiap proses transmisi.

2. Terjadi di semua titik.

3. Diterima bersama-sama sinyal informasi.

4. Mengganggu sinyal yang dikirimkan, sehingga menimbulkan

kesalahan pada penerimaan.

5. Tidak dapat dihilangkan, hanya dapat dikendalikan.

Contoh: Gangguan pada atmosfir, mis. Petir

2.2. Absensi

Absensi adalah suatu pendataan kehadiran , bagian dari pelaporan aktifitas

suatu institusi, atau komponen institusi itu sendiri yang berisi data data kehadiran

dan ketidakhadiran yang disusun dan diatur sedemikian rupa sehingga mudah

untuk dicari dan dipergunakan apabila sewaktu waktu diperlukan oleh pihak yang

berkepentingan.

Pencatatan absensi dibagi atas beberapa macam, diantaranya :

1. Absensi Catatan Tangan

Absensi catatan tangan dilakukan dengan cara mengisi tanda tangan pada

blanko kehadiran yang telah disediakan oleh instansi terkait.Kelebihan absensi

catatan tangan adalah murah dan mudah.


Kekurangan absensi catatan tangan adalah :

a. Mahasiswa dapat mencatatkan waktu hadir/pulang temannya yang belum

datang atau pulang lebih awal.

b. Sulitnya perekapan absen mahasiswa.

2. Absensi Almano (Sistem Ceklok)

Absensi ini menggunakan mesin almano/mesin absensi dengan sistem

ceklok. Jadi mahasiswa atau pegawai yang ingin mengisi kartu jam hadir harus

memasukkan kartu jam hadir ke mesin almano, dan secara otomatis kartu jam

hadir akan mencetak jam hadir/pulang mahasiswa sesuai dengan jam mata kuliah.

Kelebihan sistem ceklok diantaranya :

a. Mudah digunakan.

b. Mahasiswa tidak bisa menulis waktu hadir/pulang sekendak hati.

c. Rekap absen lebih mudah dilakukan.

Kekurangan sistem ceklok

a. Mahasiswa dapat mencatatkan waktu hadir/pulang temannya yang belum

datang atau pulang lebih awal.

3. Absensi Sidik Jari (Finger Scan)

Cara kerja sistem Finger Scan ini adalah dengan cara menempelkan salah

satu jari pada mesin setelah memasukkan nomer identitas mahasiswa.

Kelebihan absensi sidik jari adalah :

a. Absensi tidak dapat digantikan oleh orang lain.

b. Proses perekapan data absensi menjadi lebih mudah.

Kekurangan sistem absensi sidik jari adalah :

a. Harganya yang relatif mahal.

b. Jika ada error maka data jam hadir mahasiswa tidak akan bisa diakses.
1. Tidak semua dapat melakukan finger scan dengan sukses sehingga

kadang tidak tercatat jika mahasiswa tersebut hadir.

4. Absensi Telapak Tangan.

Cara kerja sistem ini mirip dengan cara kerja finger scan, yaitu dengan

cara menempelkan telapak tangan/lima jari pada mesin setelah memasukkan

no.identitas mahasiswa.

Kelebihan absensi telapak tangan adalah :

a. Menggunakan teknologi tinggi.

b. Lebih mudah dalam rekap absen, karena sisten ini akan secara otomatis

merekap jam hadir pekerja ketika melakukan finger scan.

Kekurangan absensi telapak tangan adalah :

a. Harganya relatif lebih mahal.

b. Jika ada mesin error maka data jam hadir mahasiswa tidak akan bisa

diakses.

c. Tidak semua dapat melakukan finger scan dengan sukses, sehingga

kadang tidak tercatat jika mahasiswa tersebut hadir.

2.3. Barcode

Barcode pada dasarnya adalah susunan garis vertikal hitam dan putih

dengan ketebalan yang berbeda, sangat sederhana tetapi sangat berguna, dengan

kegunaan untuk menyimpan data-data spesifik misalnya kode produksi, tanggal

kadaluwarsa, dan nomor identitas, teknologi barcode tersebut terus berkembang

dan bertahan. Sedangkan untuk membaca barcode ada banyak pilihan di pasaran

dengan harga yang relatif murah mulai dari yang berbentuk pena (wand), slot, dan

scanner.
Barcode memiliki kelebihan-kelebihan tertentu, yang paling utama, murah

dan mudah, sebab media yang digunakan adalah kertas dan tinta. Penggunaan

barcode scanner juga sangat mudah sehingga pengguna (operator) hanya

memerlukan sedikit latihan. Barcode scanner dapat membaca informasi/data

dengan kecepatan yang jauh lebih tinggi daripada mengetikkan data dan barcode

scanner memiliki tingkat ketelitian yang lebih tinggi dalam melakukan

pembacaan.

Di awal perkembangannya, penggunaan barcode dilakukan untuk

membantu proses pemeriksaan barang-barang secara otomatis pada supermarket.

Tetapi, saat ini kode baris sudah banyak digunakan dalam berbagai aplikasi

misalnya digunakan sebagai kartu identitas, kartu kredit dan untuk pemeriksaan

secara otomatis pada perpustakaan.

Untuk membantu pembacaan secara manual dicantumkan juga angka-

angka dibawah kode baris tersebut. Angka-angka tersebut tidak mendasari pola

kode baris yang tercantum. Ukuran dari kode baris tersebut dapat diperbesar

maupun diperkecil dari ukuran nominalnya tanpa tergantung dari mesin yang

membaca.

Jenis barcode sangat banyak mulai dari yang tradisional yaitu 1 dimensi

sampai dengan barcode yang multi dimensi. Barcode digunakan untuk

memudahkan indentifikasi berbagai hal, tentang produknya dalam berbagai

transaksi. Apabila jumlah produksi massal, akan sangat sulit jika sistem barcode

tidak dipergunakan dalam pengindentifikasian suatu barang. Bayangkan saja jika

sebuah produk yang dibeli tidak ada barcodenya, maka untuk mengetikkan sebuah

produk itu memerlukan waktu setengah menit.

Kumpulan garis itu pada umumnya adalah angka-angka 0 - 9 dalam


beberapa kelompok informasi, misalnya :

1. Di awali dengan kode perintah memulai baca kode

2. Memberi informasi nomor sistem

3. Memberi informasi kode manufaktur

4. Memberi informasi data

5. Memberi informasi kelompok data

6. Memberi informasi kode nilai

7. Memberi informasi kode jumlah angka yang harus dibaca oleh

pembaca (scanner)

8. Memberi informasi setelah selesai melakukan perintah pembacaan

kode sesuai dengan keinginan produsen yang memesan barcode

kepada pemberi lisensi barcode.

Sistem barcode ini pertama kali ditemukan oleh Wallace Flint untuk

kebutuhan industri di perusahaannya yang bergerak di bidang ritail di Amerika.

Temuan sederhananya itu kemudian dikembangkan oleh Bernard Silver dan

Norman Joseph Woodland dalam bidang temuan jenis tinta yang mampu dibaca

dengan cepat dan hemat oleh mesin pemindai.

Seiring dengan kebutuhan akibat kemajuan zaman, pemakaian barcode

dengan sistem modern pertama kali digunakan pada tahun 1972 oleh sebuah

perusahaan Plessey Telecommunications. Perusahaan ini yang pertama kali

menggunakan sistem barcode untuk kebutuhan komersial. Sistem barcode

tersebut digunakan untuk membaca sistem pembaca data (D-1) dalam industri

komunikasi. setelah itu penggunaan barcode menguasai bisnis retail dan merebak

ke seluruh dunia.

Sebenarnya kode batang ini mengumpulkan data dalam lebar (garis) dan
spasi garis paralel atau simbologi linear atau 1D. Tetapi juga memiliki bentuk

persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang

disebut kode matriks atau simbologi 2D.

Gambar 2. Contoh Barcode

Keuntungan Menggunakan Barcode antara lain:

1. Proses input data lebih cepat karena barcode scanner dapat membaca

dan merekam data lebih cepat dibandingkan dengan melakukan proses

input data secara manual.

2. Proses input data lebih tepat karena teknologi barcode mempunyai

ketepatan yang tinggi dalam pencarian data.

3. Proses input lebih akurat mencari data karena teknologi barcode

mempunyai akurasi dan ketelitian yang sangat tinggi.

4. Mengurangi biaya, karena dapat mengindari kerugian dari kesalahan

pencatatan data, dan mengurangi pekerjaan yang dilakukan secara

manual secara berulang-ulang.

5. Peningkatan kinerja manajemen, karena dengan data yang lebih cepat,

tepat dan akurat maka pengambilan keputusan oleh manajemen akan

jauh lebih baik dan lebih tepat, yang nantinya akan sangat berpengaruh

dalam menentukan kebijakan perusahaan.

6. Kemampuan bersaing dengan perusahaan saingan / kompetitor akan

lebih terjaga.
2.4. Barcode Reader

Scanner Barcode adalah suatu alat untuk membaca kode baris yang tertera

di kemasan produk. Barcode scanner tidak akan bekerja dengan sempurna apabila

pada kode barcodenya terdapa cacat seperti coretan, warna kode terhapus ataupun

ketika penembakan scanner posisinya tidak center/miring.

Barcode Reader (pembaca barcode) mengkodekan kembali barcode

dengan mendeteksi intensitas pantulan sinar yang diterima. Barcode reader

memancarkan sinar sepanjang barcode. Barcode reader akan membaca sebuah bar

jika intensitas pantulannya kecil (karena berwarna hitam) dan spasi jika intensitas

pantulannya besar (karena berwarna putih).

Barcode merupakan instrumen yang bekerja berdasarkan asas kerja digital,

maka hanya ada 2 sinyal data yang dikenal dan bersifat boolean, yaitu 0 atau 1.

Ada arus listrik atau tidak ada (dengan besaran tegangan tertentu, misalnya 5 volt

dan 0 volt).

Barcode menerapkannya pada batangbatang baris yang terdiri dari warna

hitam dan putih. Warna hitam mewakili bilangan 0 dan warna putih mewakili

bilangan 1. Warna hitam akan menyerap cahaya yang dipancarkan oleh alat

pembaca barcode, sedangkan warna putih akan memantulkan balik cahaya

tersebut. Selanjutnya, masing-masing batang pada barcode memiliki ketebalan

yang berbeda. Ketebalan inilah yang akan diterjemahkan pada suatu nilai.

Karena ketebalan batang barcode menentukan waktu lintasan bagi titik

sinar pembaca yang dipancarkan oleh alat pembaca dan sebab itu, batang-batang

barcode harus dibuat demikian sehingga memiliki kontras yang tinggi terhadap

bagian celah antara (yang menentukancahaya). Sisi-sisi batang barcode harus


tegas dan lurus, serta tidak ada lubang atau noda titik ditengah permukaannya.

Sementara itu, ukuran titik sinar pembaca juga tidak boleh melebihi celah antara

batang barcode. Saat ini, ukuran titik sinar yang umum digunakan adalah 4 kali

titik yang dihasilkan printer pada resolusi 300dpi. Bentuk dari pantulan sinar

ditangkap oleh photodiode lalu dibaca sebagai signal elektronik mendeskripsikan

barcode yang dibaca. Kemudian signal tersebut dikodekan kembali kedalam

bentuk string dengan menggunakan sirkuit elektronik.

Terdapat empat tipe dasar barcode reader. Masing – masing tipe memiliki

perbedaan dalam membaca dan mendefinisikan kembali barcode.

Keempatbarcode reader tersebut adalah sebagai berikut:

1. Reader Type Pan

Terdiri dari Light source (cahaya yang dipancarkan reader) dan photo

diode (untuk menerima pantulan sinar. Cara kerjanya pen digerakan

melintasi seluruh barcode untuk mengambil data dari barcode tersebut lalu

photo diode mengukur intensitas cahaya pantulan dan membuat suatu

gelombang yang digunakan untuk mengukur lebar dan spasi dari barcode.

2. Laser Scanner

Prinsip kerja hampir sama dengan reader type pen tetapi penggunaan sinar

lasernya sebagai light source-nya. Untuk menjalankan sinar ke seluruh

barcode, laser sacanner menggunakan media kaca yang bergerak atau

dengan prisma yang berputar. Dan untuk mengukur intensitas dari

pantulan digunakan photo diode. Pada laser scanner ataupun type pan,

sinar yang dipancarkan oleh reader di set pada frekuensi yang terttentu dan

photodiode akan mendeteksi sinar yang dipantulkan sama dengan setting

yang ada.
3. CCD (Charge Coupled Device) Reader

Terdiri dari ratusan sensor cahaya kecil yang berjajar pada kepala reader.

Setiap sensor terditi dari satu photo diode yang mengukur intensitas

cahaya.

4. Reader Berbasis Kamera

Menggunakan video kecil untuk mengambil gambar dari barcode.

Kemudian reader akan menggunakan “digital image processing technique”

untuk mengkodekan kembali barcode menjadi numeric.

2.5. Konsep Database (Basis Data)

Suatu sistem informasi menggambarkan rangkaian data yang cukup

lengkap yang disimpan agar cepat menyediakan informasi untuk mendukung

operasi, manajemen dan pengambilan keputusan. Rangkaian file data yang saling

berkaitan secara logis yang dipelihara dalam sistem informasi manajemen disebut

database (basis data). James Martin mendefinisikan database sebagai suatu

kumpulan data yang saling berhubungan dan disimpan bersama sama dengan

melakukan pengontrolan terhadap kelengkapan data, untuk melayani satu atau

lebih aplikasi secara optimal.

Dalam database terdiri dari entity, atribut, data value, record dan file.

Berikut ini akan penulis jelaskan bagian-bagian dalam database

1. Entity , adalah orang, tempat, kejadian atau konsep yang informasinya

direkam. Pada bidang administrasi siswa misalnya, entity adalah

siswa, buku, pembayaran, nilai test.

2. Atribut , setiap entity mempunyai atribut atau sebutan untuk mewakili

suatu entity. Seorang siswa dapat dilihat dari atributnya, misalnya


nama, nomor siswa, alamat, hobi. Atribut juga disebut data elemen,

data field, data item.

3. Data value (nilai atau isi data), adalah data aktual atau informasi yang

disimpan pada tiap data elemen atau atribut. Atribut nama karyawan

menunjukkan tempat dimana informasi nama karyawan disimpan,

sedangkan data value adalah Budi, Sulaiman. Budi merupakan isi data

nama karyawan tersebut.

4. Record / Tuple , kumpulan elemen-elemen yang saling berkaitan

menginformasikan tentang suatu entity secara lengkap. Suatu record

mewakili satu data atau informasi tentang seseorang, misalnya nomor

karyawan, nama karyawan, alamat, kota, tanggal masuk.

5. File , adalah suatu kumpulan record yang saling berhubungan. File

dibuat bila diperlukan suatu kumpulan record tertentu. Data yang

dikumpulkan dari sumber-sumber dokumen baru, atau mengambil

record dari file yang sudah ada dan disusun kembali ke dalam file

baru. Biasanya penyusunan record didasarkan pada suatu key record

tertentu. Oleh karena itu record yang sama dapat diurut menurut suatu

key record lain untuk file kedua.

2.5.1. Komponen Basis Data

Komponen Sistem Basis Data terdiri dari 6 komponen, yakni :

1. Hardware

Biasanya berupa perangkat komputer standar, media penyimpanan

sekunder dan media komunikasi untuk sistem jaringan.

2. Operating System
Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan

seluruh sumber daya dan melakukan operasi dasar dalam sistemkomputer.

Harus sesuai dengan DBMS yang digunakan.

3. Database

Yakni basis data yang mewakili sistem tertentu untuk dikelola. Sebuah

sistem basis data bisa terdiri dari lebih atau satu basis data.

4. DBMS (Database Management System)

Perangkat lunak yang digunakan untuk mengelola basis data. Contoh kelas

sederhana: dBase, Foxbase, Rbase, Ms.Acces, MySQL, Oracle

5. User ( Pengguna Sistem Basis Data )

Orang orang yang berinteraksi dengan sistem basis data, mulai dari yang

merancang sampai yang menggunakan ditingkat akhir.

6. Optional Software

Perangkat lunak pelengkap ang bersifat oposional.

2.5.2. ER Diagram (Entity Relationship Diagram)

ER-Diagram adalah suatu teknik pemodelan data yang menggambarkan

entitas dan hubungan antar entitas dalam sebuah sistem informasi. ER-Diagram

dibentuk oleh dua komponen utama yaitu entitas (Entity) dan hubungan

(Reltionship).
Gambar 3. ER Diagram

2.6. Pengenalan MYSQL

My SQL merupakan databse server relasional yang gratis yang di bawah

lisensi GNU (General Public License). Dengan sifatnya yang Open Source,

memungkinkan juga user untuk melakukan modifikasi pada source code-nya

untuk memenuhi kebutuhan spesifik mereka sendiri.

MySQL dikembangkan oleh MySQL AB, merupakan perusahaan

komersial yang membangun layanan bisnisnya melalui databse MySQL. Awal

mula pengembangan MySQL adalah pengunaan mSQL untuk koneksi ke tabel

mempergunakan rutin level rendah (ISAM). Setelah beberapa pengujian diperoleh

kesimpulan mSQL tidak cukup cepat dan fleksibel untuk memenuhi kebutuhan.

MySQL adalah sistem manajemen database relasional. Suatu database

relasional menyimpan data dalam tabel-tabel terpisah. Hal ini memungkinkan

kecepatan dan fleksibilitas. Tabel-tabel yang dihubungkan dengan relasi yang

ditentukan membuatnya bisa mengkobinasikan data dari beberapa tabel pada

suatu permintaan. Bagian SQL dari kata “Structured Query Language”, bahasa
yang paling umum dipergunakan untuk mengakses database. Konektivitas,

kecepatan, dan keamanannya membuat MySQL cocok untuk pengaksesan

database pada Internet. MyAQL merupakan sistem client/server yang terdiri dari

SQL server multithreaded yang memungkinkan backend yang berbeda, tool

administratif, dan beberapa antarmuka pemograman . MySQL juga tersedia

sebagai library yang bisa digabungkan ke aplikasi.

Gambar 4. Logo MySQL

2.7. PHP (Hypertext Prepocessor)

Menurut dokumen resmi PHP, PHP singkatan PHP Hypertext

Prepocessor. Merupakan bahasa berbentuk script yang ditempatkan dalam server

dan diproses di server. Hasilnyalah yang dikirimkan ke klien, tempat

menggunakan browser.

Secara khusus PHP dirancang untuk membentuk web dinamis. Artinya, ia

dapat membentuk suatu tampilan bedasarkan permintaan terkini. Misalnya, anda

bisa menampilkan database ke halaman Web. Pada prinsipnya, PHP mempunyai

fungsi yang sama dengan skrip-skrip seperti ASP (Active Server Page), Cold

Fusion, ataupun Perl.

Kelahiran PHP bermula saat Rasmus Lerdof membuat sejumlah skrip Perl

yang dapat mengamati siapa saja yang melihat-lihat daftar riwayat hidupnya,

yakni pada tahun 1994. Skrip-skrip ini selanjutnya dikemas menjadi tool yang
disebut “Personal Home Page”. Paket inilah yang menjadi cikal bakal PHP. Pada

tahun 1995, Rasmus menciptakan PHP/FI versi 2. Pada versi inilah pemograman

dapat menempelkan kode terstruktur di dalam tag HTML. Yang menarik, kode

PHP juga bisa berkomunikasi dengan database dan melakukan perhitungan-

perhitungan yang kompleks sambil jalan.

Pada saat ini, PHP cukup populersebagai peranti pemograman Web,

terutama di lingkungan Linux. Walaupun demikian, PHP sebenarnya juga dapat

berfungsi pada server-server yang berbasis UNIX, Windows NT, dan Macintosh.

Bahkan versi untuk windows 95/98 pun tersedia.

Pada awalnya, PHP dirancang untuk diintegrasikan dengan web server

Apache. Namun, belakangan PHP juga dapat bekerja dengan web server seperti

PWS (Personal Web Server), IIS (Internet Information Server), dan Xitami.

Salah satu kelebihan dari PHP adalah mampu berkomunikasi dengan

berbagai database yang terkenal. Dengan demikian, menampilkan data yang

bersifat dinamis, yang diambil dari database, merupakan hal yang mudah untuk

diimplementasikan. Itulah sebabnya sering dikatakan bahwa PHP sangat cocok

untuk membangun halaman-halaman web dinamis.

2.8. Sistem Operasi

Sistem Operasi adalah program yang bertindak sebagai perantara antara

pemakai komputer dengan perangkat keras (hardware) komputer. Sistem operasi

menyediakan satu lingkungan tempat pemakai dapat mengeksekusi program, serta

mengendalikan dan mengkoordinasikan pengguna perangkat keras komputer

diantara beragam program aplikasi dan beragam pemakai.


Sistem Operasi adalah sekumpulan rutin perangkat lunak yang berada

diantara program aplikasi dan perangkat keras.

Sistem operasi memiliki tugas utama, diantaranya :

1. Pengelola seluruh sumber daya sistem komputer (sebagai resource

manager), yaitu mengelola seluruh sumber daya yang terdapat pada sistem

komputer agar beroperasi secara benar dan efisien.

2. Sistem operasi sebagai penyedia layanan (sebagai extended/ virtual

machine)

3. Menyediakan sekumpulan layanan pemakai sehingga memudahkan dan

menyamankan pengguna atau pemanfaatan sumber daya sistem komputer.

4. Sebagai extended machine berfungsi untuk :

4.1. Memberi abstraksi tingkat tinggi yang lebih sederhana dan

menyembunyikan kerumitan perangkat keras, yaitu sistem operasi

menyediakan system call (berupa fungsi-fungsi atau API (Application

programming interface)). System call memberikan abstraksi tingkat

tinggi mesin untuk pemrograman yang berfungsi menghindarkan

kompleksitas pemrograman dengan memberi sekumpulan instruksi

yang lebih mudah dan nyaman.

4.2. Basis untuk program lain, yaitu program aplikasi dijalankan diatas

sistem operasi. Program-program tsb memanfaatkan sumber daya

sistem komputer dengan cara meminta layanan sistem operasi

mengendalikan sumber daya bagi aplikasi sehingga penggunaan

sumber daya sistem komputer dapat dilakukan secara benar dan

efisien.
2.9. Android

Android adalah sistem operasi berbasis Linux yang dirancang untuk

perangkat bergerak layar sentuh seperti telepon pintar dan komputer tablet.

Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial

dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini

dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open

Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras,

perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar

terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan

Oktober 2008.

Android adalah sistem operasi dengan sumber terbuka, dan Google merilis

kodenya di bawah Lisensi Apache. Kode dengan sumber terbuka dan lisensi

perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi

secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel,

dan pengembang aplikasi. Selain itu, Android memiliki sejumlah besar komunitas

pengembang aplikasi yang memperluas fungsionalitas perangkat, umumnya

ditulis dalam versi kustomisasi bahasa pemrograman Java. Pada bulan Oktober

2013, ada lebih dari satu juta aplikasi yang tersedia untuk Android, dan sekitar 50

miliar aplikasi telah diunduh dari Google Play, toko aplikasi utama Android.

Sebuah survei pada bulan April-Mei 2013 menemukan bahwa Android adalah

platform paling populer bagi para pengembang, digunakan oleh 71% pengembang

aplikasi bergerak. Di Google I/O 2014, Google melaporkan terdapat lebih dari

satu miliar pengguna aktif bulanan Android, meningkat dari 583 juta pada bulan

Juni 2013.

Aplikasi Android dikembangkan dalam bahasa pemrograman Java dengan


menggunakan kit pengembangan perangkat lunak Android (SDK). SDK ini terdiri

dari seperangkat perkakas pengembangan, termasuk debugger, perpustakaan

perangkat lunak, emulator handset yang berbasis QEMU, dokumentasi, kode

sampel, dan tutorial. Didukung secara resmi oleh lingkungan pengembangan

terpadu (IDE) Eclipse, yang menggunakan plugin ADT (Android Development

Tools) . Perkakas pengembangan lain yang tersedia di antaranya adalah Native

Development Kit untuk aplikasi atau ekstensi dalam C atau C++, Google App

Inventor, lingkungan visual untuk pemrogram pemula, dan berbagai kerangka

kerja aplikasi web seluler lintas platform.

Gambar 5. Logo Android

2.9.1. Sistem Operasi Android

Dari perkembangan sistem operasi android ini yang sekarang menjadi

sangat populer karena bersifat open source menjadikannya sebagai sistem operasi

yang banyak diminati oleh banyak pengguna. Adapun beberapa kelebihan dari

sistem operasi android adalah sebagai berikut :

1. Complete Platform
sistem operasi android adalah sistem operasi yang banyak menyediakan

tools yang berguna untuk membangun sebuah aplikasi yang kemudian

aplikasi tersebut dapat lebih dikembangkan oleh para developer.

2. Open source platform

Platform android yang bersifat open source menjadikan sistem operasi ini

mudah dikembangkan oleh para developer karena bersifat terbuka.

3. Free platform

Developer dengan bebas bisa mengembangkan, mendistribusikan dan

memperdagangkan sistem operasi android tanpa harus membayar royalti

untuk mendapat license.

2.9.2. Versi Android

Perkembangan sistem operasi android dari awal pertama dipakai hingga

saat ini terdapat berbagai versi android yang telah dirilis, dan telepon pertama

yang mengusung sistem android ini adalah HTC Dream yang pertama launching

pada 22 oktober 2008. Adapun versi versi android yang telah dirilis adalah

sebagai berikut :

1. Android 1.0 (API level 1)

2. Android 1.1 (API level 2)

3. Android 1.5 Cupcake (API level 3)

4. Android 1.6 Donut (API level 4)

5. Android 2.0 Eclair (API level 5)

6. Android 2.0.1 Eclair (API level 6)

7. Android 2.1 Eclair (API level 7)

8. Android 2.2 – 2.2.3 Froyo (API level 8)


9. Android 2.3 – 2.3.2 Gingerbread (API level 9)

10. Android 2.3.3 – 2.3.7 Gingerbread (API level 10)

11. Android 3.0 Honeycombo (API level 11)

12. Android 3.1 Honeycombo (API level 12)

13. Android 3.2 Honeycombo (API level 13)

14. Android 4.0 – 4.0.2 Ice Cream Sandwich (API level 14)

15. Android 4.0.3 – 4.0.4 Ice Cream Sandwich (API level 15)

16. Android 4.1 Jelly Bean (API level 16)

17. Android 4.2 Jelly Bean (API level 17)

18. Android 4.3 Jelly Bean (API level 18)

19. Android 4.4 KitKat (API level 19)

20. Android 5.0 – 5.1 Lollipop (API level 21)

21. Android 6.0 Marsmallow (API level 22)

22. Android 7.0 Nougat (API level 23)

2.10. Jaringan Komputer

Jaringan komputer adalah hubungan antara dua komputer atau lebih yang

berada dalam suatu media transmisi sehingga dapat berbagi/bertukar data antara

komputer satu dengan komputer yang lainnya. Tujuan utama dari jaringan

komputer adalah agar setiap bagian dari jaringan tersebut dapat memberi ataupun

meminta layanan. Masing-masing komputer yang ingin terhubung ke dalam

jaringan harus memiliki kartu jaringan. Kartu jaringan tersebut akan dihubungkan

ke media kabel ataupun nirkabel sebagai medium transmisi datanya. Selain itu,

diperlukan juga perangkat lunak sistem operasi jaringan yang bertugas untuk

membentuk sebuah jaringan komputer yang sederhana. Untuk menciptakan


jaringan komputer dengan skala yang besar, maka diperlukan peralatan-peralatan

tambahan seperti Bridge, Router, Switch, Hub, dan Gateway sebagai peralatan

interkoneksinya.

Dari pengertian diatas, maka dapat di simpulkan bahwa tujuan utama

dibangunnya jaringan komputer adalah agar data/informasi yang dibawa oleh

pengirim dapat sampai dengan tepat dan akurat kepada si penerima.

2.10.1. Jenis jenis jaringan komputer

Jaringan komputer berdasarkan jangkauannya dibagi atas tiga jenis, yaitu:

1. Local Area Network (LAN)

Merupakan jaringan komputer yang memiliki ruang lingkup kecil,

misalnya jaringan komputer dalam suatu ruangan, jaringan komputer

dalam lingkup sekolah, kampus, ataupun kantor.

2. Metropolitan Area Network (MAN)

Merupakan jaringan komputer yang agak lebih besar dari LAN, biasanya

jaringan ini berada dalam satu kota dengan kecepatan transfer data tinggi

yang mengkoneksikan beberapa kantor, sekolah, kampus, namun masih

dalam satu wilayah kota.

3. Wide Area Network (WAN)

WAN merupakan jaringan komputer yang sangat luas, jangkauannya bisa

mencapai antar negara ataupun benua. Hampir semua komputer saat ini

telah terhubung ke dalam WAN ini, misalnya saja jaringan internet.

Berdasarkan fungsinya, jaringan komputer dibagi menjadi 2 bagian, diantaranya

adalah sebagai berikut:


1. Jaringan komputer peer to peer. Merupakan bentuk jaringan komputer

dimana setiap komputer yang ada didalam jaringan tersebut berfungsi

sebagai Client dan Server.

2. Jaringan komputer Client Server. Merupakan jaringan dimana didalamnya

terdapat satu komputer yang berfungsi sebagai server dan yang lainnya

berfungsi sebagai client. Komputer server umumnya bertugas sebagai

penyedia layanan dan komputer client sebagai pengguna layanan.

.
BAB III

PERANCANGAN DAN PEMBUATAN

3.1. Konsep Perancangan

Aplikasi sistem absensi mahasiswa ini menggunakan basis data dan

menggunakan android sebagai sebagai media untuk menjalankan aplikasi.

Basis data merupakan komponen utama pada pembuatan aplikasi ini

karena basis data adalah sumber utama data data yang menyangkut semua

informasi kehadiran mahasiswa. Perangkat lunak yang digunakan untuk

pembuatan basis data pada aplikasi ini adalah MySQL. Dan pada bagian design

web menggunakan bahasa pemograman PHP karena software ini mudah

dihubungkan dengan database MySQL.

Android dan database MySQL ini nantinya akan dihosting local agar dapat

melakukan koneksi online dengan perangkat android. Sehingga apabila data pada

android di update maka data pada web server juga akan secara otomatis akan

terupdate asalkan terkoneksi pada jaringan yang sama dengan server.

Aplikasi yang dibuat, akan dijalankan pada perangkat android, dimana

untuk mendesign dan mengkoneksikan aplikasi tersebut ke database server

digunakan software MIT App Inventor 2. Pada software ini akan dibuat sebuah file

dengan format apk. yang dapat diinstal pada perangkat android.

3.2. Blok Diagram Sistem

Database dikelola oleh seorang admin pada perangkat komputer untuk

mengelola informasi absensi mahasiswa dan melakukan rekap absen, sementara

user menggunakan android sebagai sarana pengambilan absen.


Pada perangkat android, aplikasi yang telah dibuat pada software Android

MIT App Inventor 2 akan disimpan kedalam format apk, yaitu format standar

aplikasi agar bisa diinstall pada perangkat android. Aplikasi tersebut disalin dan

diinstall pada perangkat android untuk bisa menginputkan data absensi yang

kemudian dikoneksikan pada database server. Jadi user setelah menginstall

aplikasi pada perangkat android hanya perlu membuka aplikasi tersebut tanpa

harus mengatur manual koneksi antara perangkat android dan database.

Gambar 6. Blok diagram sistem

3.3. Flowchart Aplikasi

Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang

menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses

(instruksi) dengan proses lainnya dalam suatu program. Bentuk flowchart dari

aplikasi ini dapat dilihat pada gambar 7.

Ketika user membuka aplikasi, akan muncul halaman menu utama.

Terdapat tiga menu utama, yaitu menu Absensi, menu daftar mata kuliah dan

menu rekap absen

Menu absensi merupakan menu pengambilan kehadiran dan

ketidakhadiran mahasiswa. Pada pilihan mahasiswa akan diminta melakukan scan

barcode pada kartu pustaka, memilih kelas dan kode mata kuliah yang dihadiri.

Sedangkan pada pilihan ketidakhadiran, pengisian data dilakukan oleh ketua kelas

yang bersangkutan dengan cara mengisikan nim mahasiswa yang tidak hadir,

mengisikan keterangan ketidakhadiran dan tanggal ketidakhadiran.


Gambar 7. Flowchart Aplikasi

Menu daftar mata kuliah merupakan menu yang dipilih oleh mahasiswa

untuk menampilkan daftar mata kuliah yang diikuti selama perkuliahan.

Mahasiswa terlebih dahulu memilih kelas yang akan ditampilkan mata kuliah nya.

Menu rekap absen adalah menu yang digunakan mahasiswa untuk

menampilkan data ketidak hadiran mahasiswa selama mengikuti perkuliahan.

Rekap absen akan ditampilkan secara keseluruhan dari seluruh mahasiswa yang

mengikuti perkuliahan pada kelas yang sama.

3.4. Software Perancangan


Dalam perancangan aplikasi sistem absensi mahasiswa dengan barcode

berbasis android digunakan beberapa software pendukung. Beberapa software

yang digunakan diantaranya adalah :

1. XAMPP Versi 3.2.2

2. MIT App Inventor 2

3. Notepad ++

1. XAMPP

XAMPP adalah perangkat lunak ( free software) bebas, yang mendukung

untuk banyak sistem operasi, yang merupakan kompilasi dari beberapa program.

Fungsi XAMPP sendiri adalah sebagai server yang berdiri sendiri (localhost),

yang terdiri beberapa program antara lain : Apache HTTP Server, MySQL

database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP

dan Perl.

Nama XAMPP sendiri merupakan singkatan dari X (empat sistem operasi

apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU

General Public License dan bebas, merupakan web server yang mudah untuk

digunakan yang dapat menampilkan halaman web yang dinamis.

1. Apache adalah server web yang dapat dijalankan di banyak sistem

operasi seperti (Unix, BSD, Linux, Microsoft Windows dan Novell

Netware serta platform lainnya) yang berguna untuk melayani dan

memfungsikan situs web. Protokol yang digunakan untuk melayani

fasilitas web/www ini menggunakan HTTP.

2. MySQL adalah sebuah perangkat lunak sistem manajemen basis data

SQL (Database Management System) atau DBMS yang multithread,

multi-user.
3. PHP Hypertext Preprocessor adalah bahasa skrip yang dapat

ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai

untuk memrogram situs web dinamis. PHP dapat digunakan untuk

membangun sebuah CMS.

Gambar 8. Logo XAMPP

2. MIT App Inventor 2

App Inventor adalah aplikasi web sumber terbuka yang awalnya

dikembangkan oleh Google, dan saat ini dikelola oleh Massachusetts Institute of

Technology (MIT).

App Inventor memungkinkan pengguna baru untuk memprogram

komputer untuk menciptakan aplikasi perangkat lunak bagi sistem operasi

Android. App Inventor menggunakan antarmuka grafis, serupa dengan antarmuka

pengguna pada Scratch dan StarLogo TNG, yang memungkinkan pengguna untuk

men-drag-and-drop objek visual untuk menciptakan aplikasi yang bisa dijalankan

pada perangkat Android. Dalam menciptakan App Inventor, Google telah

melakukan riset yang berhubungan dengan komputasi edukasional dan

menyelesaikan lingkungan pengembangan online Google. MIT App inventor 2

digunakan sebagai software pembuatan aplikasi android.


Gambar 9. Logo App Inventor

3. Notepad++

Notepad++ adalah program aplikasi pengembang yang berguna untuk

mengedit teks dan skrip kode pemrograman. Versi terbaru program ini adalah

Notepad++ v5.9, yang dirilis pada tanggal 06 April 2012. Software Notepad++

dibuat dan dikembangkan oleh Tim Notepad++.

Perangkat lunak komputer ini memiliki kelebihan pada peningkatan

kemampuan sebuah program text editor, lebih dari sekedar program Notepad

bawaan Windows. Notepad++ bisa mengenal tag dan kode dalam berbagai bahasa

pemrograman. Fitur pencarian tingkat lanjut dan pengeditan teks yang tersedia

juga sangat membantu tugas seorang programmer atau developer dalam

menyelesaikan skrip kode programnya.

Gambar 10. Logo Notepad++

Program Notepad++ banyak diaplikasikan dan digunakan oleh kalangan


pengguna komputer di bidang pemrograman aplikasi desktop dan web.

Notepad++ merupakan software gratis (opensource). Notepad++ dapat dijalankan

di sistem operasi Win2K, Windows XP, Vista, dan Windows 7.

3.5. Perancangan Database

Database merupakan komponen utama dalam membangun sebuah aplikasi,

maka harus ditentukan terlebih dahulu struktur yang menyusunnya dengan tepat

dan jelas sebelum dibuat pada pada software MySQL.

3.5.1. ER Diagram (Entity Relationship Diagram)

Database pada sistem absensi ini terdiri dari tiga entitas yaitu entitas

mahasiswa, entitas absensi dan entitas mata kuliah dimana relasi antara keduanya

adalah hadir. Untuk lebih jelasnya entitas yang ada dengan atributnya beserta

relasi antara keduanya dapat dilihat pada gambar 11.

Bentuk konseptual dan tabel dari ER diagram yang telah dibuat

sebelumnya seperti pada gambar 11, dimana hubungan antara entitas mahasiswa

dan entitas absensi adalah many to many karena banyak mahasiswa dapat

menghadiri banyak mata kuliah dan banyak mata kuliah dapat dihadiri banyak

mahasiswa.
Gambar 11. ER Diagram database

3.5.2. Struktur Tabel

Setiap objek yang dilibatkan pada database aplikasi absensi mahasiswa ini

terdiri atas beberapa tabel yang membangunnya, dimana tabel-tabel tersebut

menjadi tempat melakukan penyimpanan data absen didalam struktur baris dan

kolom.

Struktur tabel dalam aplikasi sistem absensi mahasiswa adalah sebagai

berikut :

Tabel 1. Struktur tabel mahasiswa

Field Type Attributes Extra

Nim mahasiswa Int(10) Not null Primary key

Nama mahasiswa Varchar(50) Not null

Kelas mahasiswa Varchar(5) Not null


Tabel 2. Struktur tabel mata kuliah

Field Type Attributes Extra

Nama mata kuliah Text Not null

Kode mata kuliah Int(5) Not null

Semester Int(2) Not null

Tabel.3 Struktur tabel kehadiran

Field Type Attributes Extra

Nim mahasiswa Int(10) Not null

Kode mata kuliah Int(5) Not null

Jam absensi Time(6) Not null

Tanggal absensi Date Not null

Tabel 4. Struktur tabel rekap absen

Field Type Attributes Extra

Nim Int(20) Not null Primary key

Nama mahasiswa Text Not null

Sakit Int(4) Not null

Izin Int(4) Not null


Alfa Int(4) Not null

Tabel 5. Struktur tabel absen

Field Type Attributes Extra

Nim Int(20) Not null Primary key

Nama mahasiswa Text Not null

Keterangan Tex(4) Not null

Tanggal absensi Date Not null

Keterangan :

Field : kolom yang terdapat dalam suatu tabel untuk mengisikan nama-nama

(data) yang akan diisikan

Type : -Int digunakan untuk menyimpan data bilangan bulat positif dan negatif

-Varchar digunakan menyimpan data string ukuran dinamis

-Time digunakan untuk menyiman data jam

Attributes : Not null digunakan untuk memasikan bahwa nilai pada kolom

tersebut tidak boleh kosong

Extra : Auto increment digunakan untuk tipe data numerik dimana setiap kali

menginputkan data nilai pada kolom ini akan betambah satu

3.6. Perancangan Antar Muka

Dalam aplikasi sistem absensi ini digunakan aplikasi android sebagai antar

muka. Perancangan antarmuka yang dibuat meliputi perancangan struktur log in


dan perancangan input absensi. Perancangan aplikasi ini dilakukan dengan

menggunakan aplikasi MIT App Inventor 2.

Untuk mulai membuat sebuah file pilih tombol start new project pada

bagian kiri atas halaman. Kemudian inputkan nama file yang akan dibuat seperti

pada gambar 12. Kemudian akan tampil halaman kerja seperti pada gambar 13.

Gambar 12. Tampilan awal App Inventor 2

Gambar 13. Tampilan halaman kerja

Terdapat empat halaman yang akan dirancang, yaitu halaman menu utama,

halaman absensi, halaman daftar mata kuliah dan halaman rekap absen.

Pada halaman utama dirancang tiga buah tombol yang akan menjadi tombol

pilihan. Terdapat tombol sistem absensi, tombol daftar mata kuliah dan tombol rekap

absen seperti pada gambar 14.

Pada tombol sistem absensi akan dirancang sebuah tombol pemilihan menu pada
sistem absensi seperti pada gambar 15. Tombol pilihan ini akan memuat dua

pilihan, yaitu kehadiran dan ketidakhadiran.

Gambar 14. Rancangan halaman utama

Gambar 15. Rancangan halaman sistem absensi

Pada pilihan kehadiran dirancang halaman input kehadiran mahasiswa.

Halaman ini berisi tombol scan nim, tombol pemilihan kelas, tombol pemilihan

kode mata kuliah, tombol input tanggal absensi dan tombol input untuk

menginputkan data kedalam database.

Pada pilihan ketidakhadiran dirancang halaman yang memuat empat tombol.

Tombol NIM untuk scaner barcode, tombol keterangan untuk memilih alasan
ketidakhadiran mahasiswa, tombol tanggal untuk memilih tanggal dan tombol

input untuk menginputkan data kedalam database.

Gambar 16. Rancangan halaman input kehadiran

Gambar 17. Rancangan halaman input ketidakhadiran

Rancangan halaman daftar mata kuliah memuat dua tombol, yaitu tombol

kelas untuk memilih kelas yang diikuti, dan tombol go untuk menampilkan daftar

mata kuliah yang diikuti.


Gambar 18. Rancangan halaman daftar mata kuliah

Pada halama rekap absen, akan dirancang tombol untuk memilih kelas

yang akan dipilih mahasiswa untuk melihat rekap absen.

Gambar 19. Rancangan halaman rekap absen

Setelah seluruh halaman yangdibutuhkan telah selesai dirancang, selanjutnya

adalah mem build file ke bentuk file apk.


Gambar 20. Building aplikasi

Gambar 21. Download aplikasi

3.7. Perancangan Web Server

Web server ini merupakan bagian penyedia informasi yang dikelola oleh

seorang admin menggunakan perangkat komputer. Pada web server admin dapat

menginput rekap absen dan memperbaharuinya jika dibutuhkan.

Perancangan web server dilakukan dengan menggunakan software PHP.

Berikut ini adalah rancangan dari halaman web server.

1. Halaman menu utama


DATA SISTEM ABSENSI MAHASISWA

Data Kehadiran Mahasiswa Kelas 1A | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 2A | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 3A | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 1B | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 2B | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 3B | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 1C | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 2C | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN
Data Kehadiran Mahasiswa Kelas 3C | INPUT REKAP ABSEN | UPDATE REKAP ABSEN| DATA KETIDAKHADIRAN

Gambar 22. Rancangan Halaman Utama

saat admin membuka halaman web, admin dapat langsung memilih menu

yang tersedia disetiap kelas. Terdapat tiga menu yang dapat dipilih, yaitu menu
input rekap absen, menu update rekap absen, dan menu data ketidakhadiran.

2. Menu Input Rekap Absensi

Entri Rekap Absen

Nama Mahasiswa

NIM

Sakit

Izin

Alfa

submit

Gambar 23.Rancangan Halaman Input

3. Rancangan Menu Search

Search Ketidakhadiran

NIM

Cari

Gambar 24. Rancangan Halaman Search

3.8. Koneksi Antara Database Dan Android

Koneksi antara database pada web server dan android dilakukan dengan

cara membuat file PHP pada notepad++. File ini berisi koneksi database dan kode

input data ke dalam database.

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
DEFINE ('DBUSER','root');
DEFINE ('DBPW','');
DEFINE ('DBHOST','localhost');
DEFINE ('DBNAME','ta');

$dbc = mysqli_connect(DBHOST, DBUSER, DBPW);


if(!$dbc){
die("Database connection failed: " .
mysqli_error($dbc));
exit();
}

$dbs = mysqli_select_db($dbc, DBNAME);


if(!$dbs){
die("Database selection failed: " .
mysqli_error($dbc));
exit();

Gambar 25. Kode koneksi database

3.8. Hosting

Hosting adalah suatu space atau tempat di internet yang kita gunakan

untuk menyimpan data-data situs. Entah itu situs perusahaan, situs pribadi, situs

blog, dan lain sebagainya. Setiap situs yang ingin di onlinekan sehingga banyak

orang bisa mengaksesnya, harus disimpan pada suatu host. Untuk hosting

diguanakan hosting local


BAB IV
PENGUJIAN DAN ANALISA

4.1. Pengujian

Pengujian adalah suatu proses pelaksanaan suatu program dengan tujuan

menemukan suatu kesalahan. Tujuan utama dari pengujian adalah untuk

menemukan kesalahan dan fungsi dari perangkat lunak yang tidak sesuai dengan

tujuan perancangan.

4.1.1. Hardware dan Software Pengujian

Dalam pengujian digunakan perangkat keras sebagai berikut :

1. Laptop

Laptop digunakan sebagai hardware untuk pembuatan aplikasi dan

database serta berperan sebagai server. Spesifikasi laptop yang digunakan :

1. Processor : Intel(R) Celeron(R) CPU N2840 @2.16 GHz

2. Memory (RAM) : 2,00 GB

3. OS : Windows 7 ultimate 64 bit

2. Android Device

Perangkat android digunakan sebagai client dalam sistem absensi.

Perangkat android digunakan sebagai sarana pengambilan absen mahasiswa.

Spesifikasi perangkat android yang digunakan dalam pengujian sebagai berikut :

1. Tipe : Samsung J3

2. Processor : Quadcore 1.5 GHz Cortex A-7

3. Memory (RAM) : 1.5 GB

4. OS : OS Android V.5.1 Lolipop

3. XAMPP versi 3.2.2


4.1.2. Pengujian Aplikasi

Pada tahap ini dilakukan pengujian aplikasi secara keseluruhan dengan

objek mahasiswa kelas 1A prodi D3 Teknik Telekomunikasi.

Persiapan pengujian dilakukan dengan tahapan sebagai berikut :

1. Memastikan komputer server dan perangkat android berada pada

jaringan yang sama.

2. Mempersiapkan kartu pustaka milik mahasiswa

3. Menginstalasi aplikasi pada perangkat android

Setelah tahapan persiapan selesai, barulah kemudian dilakuan pengujian aplikasi.

1. Halaman utama.

Pada halaman utama terdapat tiga menu utama yang dapat dipilih oleh

mahasiswa. Pertama menu sistem absensi, yang kedua menu daftar mata kuliah

dan menu daftar rekap absen. Tampilan halaman dapat dilihat pada gambar 26.

Gambar 25. Tampilan halaman menu utama

2. Halaman sistem absensi

Pada halaman sistem absensi mahasiswa diminta untuk memilih form yang
akan diinputkan. Terdapat dua pilihan yaitu form kehadiran dan form

ketidakhadiran. Tampilan halaman pilihan dapat dilihat pada gambar 27.

Gambar 26. Tampilan halaman pilihan

Pada form kehadiran mahasiswa akan diminta untuk mengisi beberapa

data kehadiran seperti pada gambar 28.

Gambar 27. Tampilan form input kehadiran

Pertama adalah pengisian NIM. Pengisian NIM dilakukan dengan cara

scaner barcode pada kartu pustaka yang dimiliki masing masing mahasiswa. Scan

barcode dilakukan dengan cara menekan tombol NIM pada halaman input

kehadiran. Proses scaner dapat dilihat pada gambar 29.


Gambar 28. Proses scaner kartu pustaka

Selanjutnya adalah pengisian kelas yang ditempati oleh mahasiswa.

Mahasiswa langsung memilih kelas dengan cara menekan tombol Kelas pada

form. Berikutnya pemilihan mata kuliah. Pemilihan mata kuliah dilakukan dengan

memilih kode mata kuliah yang dihadiri pada tombol Mata Kuliah. Pilihan mata

kuliah yang ditampilkan dapat dilihat pada gambar 30. Barulah kemudian

mahasiswa menekan tombol input untuk mengirim data kehadiran

Gambar 29. Pilihan kode mata kuliah


Gambar 30. Tampilan data input kehadiran

Pada form ketidakhadiran mahasiswa juga akan diminta mengisi data

ketidakhadiran seperti terlihat pada gambar 32.

Pada form ini mahasiswa akan menginputkan secara manual nomor induk

mahasiswa dan memilih keterangan ketidakhadiran dengan menekan tombol

keterangan seperti pada gambar 33. Terakhir mahasiswa memilih kelas yang

diikuti pada tombol kelas, barulah kemudian menekan tombol input untuk

mengirim data.

Gambar 31. Tampilan form input ketidakhadiran


Gambar 32. Tampilan pilihan keterangan ketidakhadiran

Gambar 33. Tampilan data input ketidakhadiran

3. Halaman daftar mata kuliah

Pada halaman daftar mata kuliah mahasiswa terlebih dahulu diminta

memilih kelas seperti terlihat pada gambar 35. Setelah memilih kelas maka

mahasiswa bisa langsung menekan tombol go untuk menampilkan apa saja mata

kuliah yang sedang ataupun yang akan diikuti mahasiswa. Pada halaman ini akan

ditampilkan tabel yang memuat semester, kode mata kuliah dan nama mata kuliah

seperti terlihat pada gambar 36. Halaman ini juga dapat dijadikan acuan bagi
mahasiswa yang tidak mengingat kode mata kuliah yang diikuti.

Gambar 34. Halaman pilihan kelas

Gambar 35. Tampilan daftar kuliah

4. Halaman rekap absen


Sama halnya dengan halaman daftar mata kuliah, pada halaman rekap absen

mahasiswa diminta untuk memilih kelas yang akan dilihat rekap absen nya seperti

terlihat pada gambar 37.

Gambar 36. Halaman pilihan kelas

Setelah memilih kelas, mahasiswa dapat langsung menampilkan hasil

rekap absen dengan menekan tombol go.

5. Halaman Web Server

Gambar 37. Halaman Web Server


Gambar 38. Halaman Input

Gambar 39. Halaman Search

Gambar 40. Halaman update rekap absen


4.1.3. Hasil Pengujian

Pada pengujian perancangan aplikasi sistem absensi berbasis android

dilakukan pengujian pengambilan absen pada kelas 1A. Semua orang dapat

mengakses aplikasi absensi, namun hanya mahasiswa dengan koneksi internet

yang sama dengan user yang dapat mengirim input kehadiran.

Pada saat mahasiswa melakukan input data kehadiran atau ketidakhadiran

apabila perangkat android yang digunakan memiliki jaringan yang sama dengan

server maka data kehadiran akan langsung masuk kedalam database server.

Gambar 41. Database Kehadiran 1A

Apabila perangkat android yang digunakan tidak berada pada jaringan

yang sama dengan komputer server maka aplikasi tidak akan memuat data

kedalam database, sehingga data kehadiran pada saat itu tidak ada.

Gambar 42. Tidak dapat menjangkau database


Dilakukan pengujian pengambilan absensi menggunakan aplikasi dan

pengambilan absensi secara manual yaitu dengan tanda tangan. Pengujian

dilakukan dengan 10 mahasiswa melakukan pengambilan absensi menggunakan

aplikasi dan 10 mahasiswa melakukan pengambilan absensi secara manual.

Setelah dilakukan pengujian diperoleh data sebagai berikut :

NO Menggunakan Aplikasi Secara Manual

1 16.22 16.32

2 16.10 16.25

3 16.32 16.27

4 16.02 16.28

5 16.21 16.20

6 16.19 16.24

7 16.23 16.20

8 16.12 16.25

9 16.30 16.20

10 16.29 16.8

4.2. Analisa

Aplikasi sistem absensi dapat melakukan dua jenis operasi. Pertama adalah

operasi pengiriman data kehadiran dan ketidakhadiran mahasiswa. Selanjutnya


adalah aplikasi dapat menampilkan data daftar mata kuliah dan rekap absen

mahasiswa.

Aplikasi baik digunakan untuk mengefisienkan waktu mahasiswa dalam

pengambilan absensi. Pengambilan absen secara manual mebutuhkan waktu lebih

karena mahasiswa harus memilih terlebih dahulu pada hari apa pengambilan

abseni dilakukan, memastikan nama pada baris keberapa dan memastikan terlebih

dahulu kolom absen yang sesuai dengan nama mahasiswa. Rata rata pengambilan

absen secara manual membutuhkan waktu sekitar 16.76 sec.

Pengambilan absen menggunakan aplikasi absensi berbasis android lebih

cepat dalam segi waktu karena mahasiswa tidak perlu mencari nama dan

memastikan kolom kehadiran untuk mlakukan pengambilan absensi. Rata rata

pengambilan absen menggunakan aplikasi membutuhkan waktu sekitar 16.22 sec,

lebih cepat 0,54 sec dibanding pengambilan absen secara manual.

Paket data antara client dan server dapat dilihat pada gambar 43. Analisa

jaringan dilakukan dengan melihat hasil capture dari aplikasi wireshark.

Gambar 43. Tampilan wireshark antara user dan server


Komunikasi antara android sebagai client dan web server terjadi di lapisan

tranport layer dan aplication layer.

Pertama dilakukan pembukaan koneksi oleh client terhadap jaringan yang

digunakan oleh TCP (Transmission Control Protocol). TCP adalah suatu protokol

yang berada di lapisan transport yang berorientasi sambungan (connection-

oriented) dan dapat diandalkan (reliable). Ini ditandai dengan adanya pembukaan

koneksi (Handshake). Pembentukan koneksi dinamakan 3-ways handshake.

Diawali dengan pesan SYN oleh client, dilanjutkan dengan pesan SYN,ACK oleh

server dan pengiriman pesan ACK oleh client. Pengiriman esan ini secara

beruntun menandakan bahawa antara client dan server telah saling terhubung.

Gambar 44. Pembukaan koneksi oleh TCP

Pada aplication layer protokol yang bekerja adalah HTTP (Hypertext

Transfer Protocol). HTTP adalah sebuah protokol jaringan lapisan aplikasi yang

digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan

hipermedia. Server akan meminta URL yang digunakan kepada client. Client akan

mengirim pesan “HTTP/1.1 200 OK” yang menandakan bahwa operasi berhasil

dilakukan.
Gambar 45. Komunikasi HTTP

Terakhir dari komunikasi adalah penutupan koneksi oleh protokol TCP.

Ditandai dengan pesan FIN,ACK oleh client dan pesan FIN,ACK oleh server.

Gambar 46. Penutupan koneksi


BAB V

PENUTUPAN

5.1. Kesimpulan

Bedasarkan hasil pengujian terhadap aplikasi sistem absensi mahasiswa

berbasis android maka diperoleh kesimpulan sebagai berikut :

1. Aplikasi sistem absensi berbasis android dirancang dapat memberikan

kemudahan dalam pengambilan data kehadiran mahasiswa seperti sakit,

izin dan alfa.

2. Aplikasi sistem absensi berbasis android dirancang untuk mempercepat

waktu pengambilan data kehadiran mahasiswa.

5.2. Saran

Aplikasi sistem absensi mahasiswa dengan menggunakan barcode berbasis

android adalah aplikasi absen berbasis android pertama yang dirancang di prodi

D3 Teknik Telekomunikasi Politeknik Negeri Padang. Oleh karena itu diperlukan

pengembangan kearah yang lebih baik untuk meningkatkan keefektifan

penggunaan aplikasi. Adapun saran saran terhadap pengembangan aplikasi

diantaranya :

1. Untuk pengembangan selanjutnya aplikasi ini dapat dibuat untuk

menentukan posisi mahasiswa yang sedang melakukan pengambilan

absen.
2. Menambahkan fitur pada aplikasi yang dapat langsung melakukan

perhitungan jumlah kompensasi mahasiswa.


DAFTAR PUSTAKA

Ariyus, D., & andri, R. (2008). Komunikasi Data. Semarang: Andi OFFSET.

Kadir, A. (2003). Dasar Pemograman WEB Dinamis Menggunakan PHP. Yogyakarta:


Andi.

Kadir, A. (2008). Tuntunan Praktis : Belajar Database Menggunakan MySQL.


Yogyakarta: Andi OFFSET.

Nuddin, M. T., & Fithri, D. L. (2015). SISTEM ABSENSI ASISTEN DOSEN


MENGGUNAKAN QR CODE SCANNER. Pros iding SNATIF Ke -2 Tahun 2015 ISBN:
978-602-1180-21-1 .

Technology, M. I. (t.thn.). MIT App Inventor. Diambil kembali dari


http://appinventor.mit.edu

Utdirartmo, F. (2002). Mengelola Database Server MySQL di Linux dan Windows.


Yogyakarta: Andi.
1. Block android menu utama

2. Block android menu sistem absensi


3. Block android menu rekap absen
4. Block android menu daftar mata kuliah

5. Koneksi kehadiran android dan database

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
DEFINE ('DBUSER','root');
DEFINE ('DBPW','');
DEFINE ('DBHOST','localhost');
DEFINE ('DBNAME','ta');

$dbc = mysqli_connect(DBHOST, DBUSER, DBPW);


if(!$dbc){
die("Database connection failed: " .
mysqli_error($dbc));
exit();
}

$dbs = mysqli_select_db($dbc, DBNAME);


if(!$dbs){
die("Database selection failed: " .
mysqli_error($dbc));
exit();
}
$nim_mahasiswa = mysqli_real_escape_string($dbc,
$_GET['nim_mahasiswa']);
$kode_mk = mysqli_real_escape_string($dbc,
$_GET['kode_mk']);
$jam_absensi = mysqli_real_escape_string($dbc,
$_GET['jam_absensi']);
$tanggal_absensi = mysqli_real_escape_string($dbc,
$_GET['tanggal_absensi']);

$query = "INSERT INTO kehadiran1(nim_mahasiswa,


kode_mk, jam_absensi, tanggal_absensi, id) VALUES
('$nim_mahasiswa','$kode_mk', '$jam_absensi',
'$tanggal_absensi', '0')";

$result = mysqli_query($dbc, $query) or


trigger_error("Query MySQL Error: " .
mysqli_error($dbc));

mysqli_close($dbc);

?>

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
DEFINE ('DBUSER','root');
DEFINE ('DBPW','');
DEFINE ('DBHOST','localhost');
DEFINE ('DBNAME','ta');

$dbc = mysqli_connect(DBHOST, DBUSER, DBPW);


if(!$dbc){
die("Database connection failed: " .
mysqli_error($dbc));
exit();
}

$dbs = mysqli_select_db($dbc, DBNAME);


if(!$dbs){
die("Database selection failed: " .
mysqli_error($dbc));
exit();
}
$nim_mahasiswa = mysqli_real_escape_string($dbc,
$_GET['nim_mahasiswa']);
$kode_mk = mysqli_real_escape_string($dbc,
$_GET['kode_mk']);
$jam_absensi = mysqli_real_escape_string($dbc,
$_GET['jam_absensi']);
$tanggal_absensi = mysqli_real_escape_string($dbc,
$_GET['tanggal_absensi']);

$query = "INSERT INTO kehadiran2(nim_mahasiswa,


kode_mk, jam_absensi, tanggal_absensi, id) VALUES
('$nim_mahasiswa','$kode_mk', '$jam_absensi',
'$tanggal_absensi', '0')";

$result = mysqli_query($dbc, $query) or


trigger_error("Query MySQL Error: " .
mysqli_error($dbc));

mysqli_close($dbc);

?>

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
DEFINE ('DBUSER','root');
DEFINE ('DBPW','');
DEFINE ('DBHOST','localhost');
DEFINE ('DBNAME','ta');

$dbc = mysqli_connect(DBHOST, DBUSER, DBPW);


if(!$dbc){
die("Database connection failed: " .
mysqli_error($dbc));
exit();
}

$dbs = mysqli_select_db($dbc, DBNAME);


if(!$dbs){
die("Database selection failed: " .
mysqli_error($dbc));
exit();
}
$nim_mahasiswa = mysqli_real_escape_string($dbc,
$_GET['nim_mahasiswa']);
$kode_mk = mysqli_real_escape_string($dbc,
$_GET['kode_mk']);
$jam_absensi = mysqli_real_escape_string($dbc,
$_GET['jam_absensi']);
$tanggal_absensi = mysqli_real_escape_string($dbc,
$_GET['tanggal_absensi']);

$query = "INSERT INTO kehadiran3(nim_mahasiswa,


kode_mk, jam_absensi, tanggal_absensi, id) VALUES
('$nim_mahasiswa','$kode_mk', '$jam_absensi',
'$tanggal_absensi', '0')";

$result = mysqli_query($dbc, $query) or


trigger_error("Query MySQL Error: " .
mysqli_error($dbc));

mysqli_close($dbc);

?>

6. Koneksi ketidakhadiran android dan databse

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
DEFINE ('DBUSER','root');
DEFINE ('DBPW','');
DEFINE ('DBHOST','localhost');
DEFINE ('DBNAME','ta');

$dbc = mysqli_connect(DBHOST, DBUSER, DBPW);


if(!$dbc){
die("Database connection failed: " .
mysqli_error($dbc));
exit();
}

$dbs = mysqli_select_db($dbc, DBNAME);


if(!$dbs){
die("Database selection failed: " .
mysqli_error($dbc));
exit();
}
$nim_mahasiswa = mysqli_real_escape_string($dbc,
$_GET['nim_mahasiswa']);
$tanggal_absensi = mysqli_real_escape_string($dbc,
$_GET[‘tanggal_absensi’]);
$keterangan = mysqli_real_escape_string($dbc,
$_GET['keterangan']);

$query = "INSERT INTO absen1a(nim_mahasiswa,


tanggal_absensi, keterangan) VALUES
('$nim_mahasiswa','$keterangan',
'$tanggal_absensi', '0')";

$result = mysqli_query($dbc, $query) or


trigger_error("Query MySQL Error: " .
mysqli_error($dbc));

mysqli_close($dbc);

?>

7. Koneksi jadwal kuliah android dan database

<?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'ta';

$konek_db = mysql_connect($host, $user,


$password);
$find_db = mysql_select_db($database) ;
?>

<center>
DAFTAR MATA KULIAH
<br>
<br>

<table border='1' Width='800'>


<tr>
<th> Semester </th>
<th> Kode mata Kuliah </th>
<th> Nama Mata Kuliah </th>

</tr>

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
$queri="Select * From jadwal_kuliah" ;

$hasil=MySQL_query ($queri);

while ($data = mysql_fetch_array ($hasil)){


$id = $data['id'];
echo "
<tr>
<td>".$data['semester']."</td>
<td>".$data['kode_mk']."</td>
<td>".$data['nama_mk']."</td>

</tr>
";

?>

</table>

8. Koneksi rekap absen android dan database

<?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'ta';

$konek_db = mysql_connect($host, $user,


$password);
$find_db = mysql_select_db($database) ;
?>

<center>
REKAP ABSENSI 1A
<br>
<br>

<table border='1' Width='800'>


<tr>
<th> Nim Mahasiswa </th>
<th> Sakit </th>
<th> Izin </th>
<th> Alfa </th>

</tr>

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
$queri="Select * From rekapabsen1a" ;

$hasil=MySQL_query ($queri);

while ($data = mysql_fetch_array ($hasil)){


$id = $data['id'];
echo "
<tr>
<td>".$data['nim_mahasiswa']."</td>
<td>".$data['sakit']."</td>
<td>".$data['izin']."</td>
<td>".$data['alfa']."</td>

</tr>
";

?>

</table>

9. Tampilan Web Server

<!DOCTYPE html>
<html>
<head>
<title>DATA ABSENSI MAHASISWA</title>

<style type="text/css">
#main {
background-image: url('201.png');
height: 600px;
width: 800px;
}
</style>
</head>
<body background="201.png">

<div align="center">
<h1>DATA SISTEM ABSENSI MAHASISWA</h1>
<hr width="50%" size="12px" align="center"
color="red">

<p>Data Kehadiran Mahasiswa Kelas 1A | <a


href="insert.php">INPUT REKAP ABSEN</a> | <a
href="update1a/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari1a/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 2A | <a
href="insert2a.php">INPUT REKAP ABSEN</a> | <a
href="update2a/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari2a/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 3A | <a
href="insert3a.php">INPUT REKAP ABSEN</a> | <a
href="update3a/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari3a/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 1B | <a
href="insert1b.php">INPUT REKAP ABSEN</a> | <a
href="update1b/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari1b/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 2B | <a
href="insert2b.php">INPUT REKAP ABSEN</a> | <a
href="update2b/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari2b/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 3B | <a
href="insert3b.php">INPUT REKAP ABSEN</a> | <a
href="update3b/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari3b/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 1C | <a
href="insert1c.php">INPUT REKAP ABSEN</a> | <a
href="update1c/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari1c/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 2C | <a
href="insert2c.php">INPUT REKAP ABSEN</a> | <a
href="update2c/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari2c/formsearching.php">DATA
KETIDAKHADIRAN</a></p>
<p>Data Kehadiran Mahasiswa Kelas 3C | <a
href="insert3c.php">INPUT REKAP ABSEN</a> | <a
href="update3c/index.php">UPDATE REKAP ABSEN</a>| <a
href="cari3c/formsearching.php">DATA
KETIDAKHADIRAN</a></p>

</div>
</body>
</html>

10. Input Rekap Absen

<?php
include "koneksi.php";
if (isset($_POST['Submit'])){
$nama_mahasiswa=$_POST['txtNama'];
$nim_mahasiswa=$_POST['txtNIM'];
$sakit=$_POST['txtSakit'];
$izin=$_POST['txtIzin'];
$alfa=$_POST['txtalfa'];
$sql=mysqli_query($connect,"insert into rekapabsen1a
(id,nama_mahasiswa,nim_mahasiswa,sakit,izin,alfa)
values
(0,'$nama_mahasiswa','$nim_mahasiswa','$sakit','$izin'
,'$alfa')");
if($sql){
header ("location:?page=input1a");
}
else{
echo "Data Gagal Disimpan";
}
}
?>
<html>
<head><title></title></head>
<body>
<h2 align="center">Entri Rekap Absen</h2>
<form name="form1" method="post" action="">
<div align="center">
<table class="table">
<tr>
<td>Nama Mahasiswa</td>
<td>:</td>
<td><input class="form-control" type="text"
name="txtNama"/></td>
</tr>
<tr>
<td>NIM</td>
<td>:</td>
<td><input class="form-control" type="text"
name="txtNIM"/></td>
</tr>
<tr>
<td>Sakit</td>
<td>:</td>
<td><input class="form-control" type="text"
name="txtSakit"/></td>
</tr>
<tr>
<td>Izin</td>
<td>:</td>
<td><input class="form-control" type="text"
name="txtIzin"/></td>
</tr>
<tr>
<td>Alfa</td>
<td>:</td>
<td><input class="form-control" type="text"
name="txtalfa"/></td>
</tr>
</table>
<input class="btn btn-primary" type="submit"
name="Submit" value="Simpan"/>
</div>
</form>

</body>
</html>

11. Data Ketidakhadiran

<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbName = "ta";
mysql_connect($host, $user, $pass);
mysql_select_db($dbName)
or die ("Connect Failed !! : ".mysql_error());
?>

<html>
<head>
<title> Halaman Pencarian </title>
</head>
<body>
<form name="formcari" method="post"
action="search_exe.php">
<table width="330" border="0" align="center"
cellpadding="0">
<tr bgcolor="orange">
<td height="25" colspan="3">
<strong> Student Searching ! </strong>
</td>
</tr>
<tr> <td> NIM </td>
<td> <input type="text" name="nim_mahasiswa"> </td>
</tr>
<td></td>
<td> <input type="SUBMIT" name="SUBMIT" id="SUBMIT"
value="search" > </td>
</table>
</form>
</body>
</html>

<?php
include "connect.php";
$nim_mahasiswa= $_POST['nim_mahasiswa']; //get the
nama value from form
$q = "SELECT * from absen1a where nim_mahasiswa like
'%$nim_mahasiswa%' "; //query to get the search result
$result = mysql_query($q); //execute the query $q
echo "<center>";
echo "<h2> Hasil Searching </h2>";
echo "<table border='1' cellpadding='5'
cellspacing='8'>";
echo "
<tr bgcolor='orange'>
<td>Nim Mahasiswa</td>
<td>Keterangan</td>
<td>Tanggal Absensi</td>
</tr>";
while ($data = mysql_fetch_array($result)) {
echo "
<tr>
<td>".$data['nim_mahasiswa']."</td>
<td>".$data['keterangan']."</td>
<td>".$data['tanggal_absensi']."</td>
</tr>";
}
echo "</table>";
?>

12. Update Rekap Absen

<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$name = 'ta';

mysql_connect ($host, $user, $pass);


mysql_select_db ($name);
?>

<html>
<head>
<title>Rekap Absen 1A</title>
</head>
<body>
<div align="center">
<h1>DATA REKAP ABSEN MAHASISWA KELAS 1A</h1>
<h2> </h2>
<?php
include ('connect.php');
$queri = "SELECT * FROM rekapabsen1a";
$lakukan = mysql_query($queri);
$tampilkan = mysql_fetch_array($lakukan);
?>

<table border="1">
<tr align="center">
<td>NO</td>
<td>NIM</td>
<td>Nama Mahasiswa</td>
<td>Sakit</td>
<td>Izin</td>
<td>Alfa</td>
<td align="center">Option</td>
</tr>
<?php do { ?>
<tr>
<td align="center"><?php echo $tampilkan['id']; ?>
</td>
<td><?php echo $tampilkan['nim_mahasiswa']; ?> </td>
<td><?php echo $tampilkan['nama_mahasiswa']; ?> </td>
<td><?php echo $tampilkan['sakit']; ?> </td>
<td><?php echo $tampilkan['izin']; ?> </td>
<td><?php echo $tampilkan['alfa']; ?> </td>
<td><a href="update.php?id=<?php echo
$tampilkan['id']; ?>">Update</a> | <a
href="delete.php?id=<?php echo $tampilkan['id'];
?>">Hapus</a></td>
</tr>
<?php } while ($tampilkan =
mysql_fetch_array($lakukan)); ?>
</table>
</body>
</html>

<html>
<head>
<title>Update Rekap Absen</title>
</head>
<body>
<div align="center">
<h1>DATA REKAP ABSEN MAHASISWA KELAS 1A</h1>
<h2> </h2>
<?php
include ('connect.php');
$id = $_GET['id'];
$queri = "SELECT * FROM rekapabsen1a WHERE id='$id'";
$lakukan = mysql_query($queri);
$tampilkan = mysql_fetch_array($lakukan);
?>
<table border="0">
<form action="update_proses.php" method="post">
<tr>
<td>Nomer</td> <td>:</td> <td><input type="text"
name="id" value="<?php echo $tampilkan['id']; ?>"
/></td>
</tr>
<tr>
<td>Sakit</td> <td>:</td> <td><textarea
name="sakit"><?php echo $tampilkan['sakit'];
?></textarea></td>
</tr>
<tr>
<td>Izin</td> <td>:</td> <td><textarea
name="izin"><?php echo $tampilkan['izin'];
?></textarea></td>
</tr>
<tr>
<td>Alfa</td> <td>:</td> <td><textarea
name="alfa"><?php echo $tampilkan['alfa'];
?></textarea></td>
</tr>
<tr>
<td colspan="3" align="center"><input type="submit"
value="Update" /></td>
</tr>
</form>
</table>
</body>
</html>

<?php
include('connect.php');

$id = $_POST['id'];
$sakit = $_POST['sakit'];
$izin = $_POST['izin'];
$alfa = $_POST['alfa'];

$queri = "UPDATE rekapabsen1a SET sakit = '$sakit',


izin = '$izin', alfa = '$alfa' where id ='$id'";
$lakukan = mysql_query ($queri);

if ($lakukan) {
echo 'Berhasil';
header ('location:index.php');
} else {
echo 'Gagal !!!';
header ('location:update.php');
}
?>

<?php
include('connect.php');

$id = $_GET['id'];
$queri = "DELETE FROM rekapabsen1a WHERE id = '$id'";
$lakukan = mysql_query($queri);

if ($lakukan) {
echo 'Berhasil';
header ('location:index.php');
} else {
echo 'Gagal !!';
header ('location:index.php');
}
?>

Anda mungkin juga menyukai