Rancang Bangun Sistem Absensi yang Terintegrasi Dengan Website Melalui Teknologi General Packet Radio Service

BAB II
LANDASAN TEORI

2.1 Sistem Absensi
Kehadiran peserta didik di sekolah (school attandence) adalah keikutsertaan
peserta didik secara fisik dan mental terhadap aktivitas sekolah pada jam-jam efektif
di sekolah. Sebaliknya, ketidakhadiran adalah ketiadaan partisipasi secara fisik
peserta didik terhadap kegiatan-kegiatan sekolah.Pada jam-jam efektif belajar di
sekolah, peserta didik diwajibkan berada di sekolah. Jika tidak dapat hadir di sekolah,
maka harus memberikan keterangan yang sah serta diketahui oleh orang tua atau
walinya[1].
Jika pendidikan atau pengajaran dipandang sebagai sekedar penyampaian
pengetahuan dan para peserta didik mampu menyerap pesan-pesan pendidikan
melalui media lain tanpa harus bertatap muka di kelas, maka ketidakhadiran peserta
didik di sekolah secara fisik mungkin tidak menjadi persoalan. Sebaliknya, jika
pendidikan dipandang bukan hanya sekedar penyerapan ilmu pengetahuan dan
membutuhkan keterlibatan aktif secara fisik dan mental dalam prosesnya,
makakehadiran secara fisik di sekolah tetap penting apapun alasannya dan
bagaimanapun canggihnya teknologi yang dipergunakan. Namun, Pendidikan telah
lama dipandang sebagai suatu aktivitas yang harus melibatkan peserta didik secara
aktif dan tidak sekedar sebagai penyampaian informasi belaka.


Universitas Sumatera Utara

2.2 GPRS
GPRS (General Packet Radio Service) merupakan salah satu metode protokol
pengiriman data seluler. Pada GPRS terdapat dua elemen baru yang diperkenalkan
untuk membuat mode transfer paket end-to-end. Sebagai tambahan, HLR
dikembangkan dengan data pelanggan GPRS dan informasi routing. Dua layanan
yang dihasilkan yaitu point-to-point (PTP) dan point-to-multipoint (MTP)[2]. Gambar
2.1 menunjukkan arsitektur dari GPRS.

Gambar 2.1 Arsitektur GPRS
Routing paket yang independen dan transfer di dalam public land mobile network
(PLMN) didukung oleh sebuah node jaringan logika yang baru yang disebut GPRS
support node (GSN). Gate-way GPRS support node (GGSN) berperilaku sebagai

Universitas Sumatera Utara

sebuah interfacelogika ke jaringan data paket eksternal. Serving GPRS support node
(SGSN) bertanggung jawab atas pengiriman paket-paket ke MS dalam area

layanannya. Dalam jaringan GPRS, protocol data unit (PDU) dikemas pada GSN asal
dan dimuat pada GSN tujuan. Di antara GSN, Internet Protocol (IP) digunakan
sebagai backbone pengiriman PDU. Semua proses ditetapkan sebagai tunneling pada
GPRS. GGSN juga mempertahankan informasi routing yang digunakan untuk
menembus PDU ke SGSN secara langsung melayani MS. Keseluruhan data pengguna
yang berhubungan dibutuhkan oleh SGSN untuk menampilkan routing dan transfer
data secara fungsional ke dalam HLR.

2.3 RFID
Dalam beberapa tahun terakhir, prosedur identifikasi automatis (Auto-ID)
menjadi sangat populer di banyak industri. Prosedur identifikasi automatis tersebut
bertujuan untuk menghasilkan informasi tentang manusia, hewan, barang, dan
produk. Salah satu contohnya adalah RFID (Radio Frequency Identification). RFID
memasukkan data ke dalam sebuah alat elektronik yang membawa data atau disebut
transponder.

Transponder

memanfaatkan


gelombang

elektromagnetik

yang

dipancarkan oleh readerRFID untuk menghasilkan daya agar dapat bekerja[3].
Sebuah RFID terdiri dari dua komponen, yaitu:
1. Transponder
Transpoder diletakkan pada objek yang ingin diidentifikasi.
2. Reader

Universitas Sumatera Utara

Reader bergantung pada desain dan teknologi yang digunakan, yang dapat
berupa hanya alat pembaca atau dapat digunakan untuk membaca dan
menulis ID.
Sebuah reader secara khusus mengandung sebuah modul frekuensi radio
(pengirim dan penerima), sebuah unit kontrol, dan sebuah elemen coupling ke
transponder. Banyak reader yang dicocokkan dengan interface tambahan seperti

RS232 dan RS485 untuk mengaktifkan pengiriman dara ke dalam sistem yang lain
seperti PC. Gambar 2.2 menunjukkan komponen dalam sistem RFID.

Gambar 2.2 Komponen dalam Sistem RFID

2.4 Kartu Cerdas
Kartu cerdas (Smart Card) merupakan sebuah kartu yang didalamnya tertanam
IC. Kartu cerdas juga dikenal dengan sebutan Integrated Circuit Card (ICC).
Dimensi fisik kartu cerdas telah ditentukan didalam ISO IEC 7810 yang
mendefinisikan bahwa ukuran kartu yang digunakan adalah ID-1 (85.60x53.98 mm).
Ukuran kartu dengan standar ISO 7810 terlihat pada Gambar 2.3.

Universitas Sumatera Utara

Gambar 2.3 Standar Ukuran Identification Card
Kartu cerdas dibedakan menurut cara transmisi datanya menjadi dua yaitu kontak
(contact) dan nirkontak (contactless). Kartu cerdas kontak memiliki area konduktor
yang harus kontak ke reader ketika ingin melakukan komunikasi. Sedangkan
nirkontak, kartu dapat melakukan komunikasi dengan reader tanpa harus melakukan
kontak secara langsung[4].


2.5 Arduino
Arduino didefinisikan sebagai sebuah platform elektronik yang open source,
berbasis pada sofwtare dan hardware yang fleksibel dan mudah digunakan, yang
ditujukan untuk para seniman, desainer, hobbies, dan setiap orang yang tertarik dalam
membuat objek atau lingkungan yang interaktif[5].
Nama Arduino di sini tidak hanya dipakai untuk menamai papanrangkaiannya
saja, tetapi juga untuk menamai bahasa dan software pemrogramannya, serta
lingkungan pemrogramannya atau IDE-nya (IDE = Integrated Development
Environment). Gambar 2.4 menujukkan tampilan dari beberapa Arduino.

Universitas Sumatera Utara

Gambar 2.4 Jenis-jenis Arduino
Kelebihan Arduino dari platformhardwaremikrokontroler lainnya adalah:
1. IDE Arduino merupakan multiplatform, yang dapat dijalankan di berbagai
sistem operasi, seperti Windows, Macintosh, dan Linux.
2. IDE Arduino dibuat berdasarkan pada IDE Processing, yang sederhana
sehingga mudah digunakan.
3. Pemrograman Arduino menggunakan kabel yang terhubung dengan port

USB, bukan port serial. Fitur ini berguna karena banyak komputer yang
sekarang ini tidak memiliki port serial.
4. Arduino adalah hardware dan software open source.
5. Biaya hardware cukup murah.
6. Proyek Arduino ini dikembangkan dalam lingkungan pendidikan,
sehingga bagi pemula akan lebih cepat dan mudah mempelajarinya.
7.

Memiliki begitu banyak pengguna dan komunitas di internet yang dapat
membantu setiap kesulitan yang dihadapi.

Universitas Sumatera Utara

2.5.1

Bahasa Pemrograman Arduino
Arduino merupakan perangkat yang berbasiskan mikrokontroler. Perangkat

lunak merupakan komponen yang membuat sebuah mikrokontroler dapat bekerja.
Arduino akan bekerja sesuai dengan perintah yang ada dalam perangkat lunak yang

ditanamkan

padanya.Bahasa

pemrograman

Arduino

menggunakan

bahasa

pemrograman C++ sebagai dasarnya.
2.5.1.1 Struktur
Setiap program dalam Arduino terdiri dari dua fungsi utama yaitu setup() dan
loop(). Fungsi digambarkan sebagai kumpulan kode yang ditujukan untuk
melaksanakan tugas tertentu dan kode tersebut akan dijalankan ketika nama
fungsi tersebut dipanggil di dalam program[6]. Instruksi yang berada dalam
fungsi setup() dieksekusi hanya sekali, yaitu ketika Arduino pertama kali
dihidupkan. Biasanya instuksi yang berada pada fungsi setup() merupakan

konfigurasi dan inisialisasi dari Arduino. Instruksi yang berada pada fungsi loop()
dieksekusi berulang-ulang hingga Arduino dimatikan (catu daya diputus). Fungsi
loop() merupakan tugas utama dari Arduino. Jadi setiap program yang
menggunakan bahasa pemrograman Arduino memilliki struktur yang ditunjukkan
pada Gambar 2.5.

Universitas Sumatera Utara

Gambar 2.5 Struktur Umum Pemrograman Arduino
Program pada Gambar 2.5 dapat dianalogikan dalam bahasa C seperti ditunjukkan
pada Gambar 2.6.

Gambar 2.6 Analogi Struktur Umum Pemrograman Arduino

2.5.1.2 Konstanta
Konstanta adalah variabel yang sudah ditetapkan sebelumnya dalam bahasa
pemrograman Arduino. Konstanta digunakan agar program lebih mudah untuk
dibaca dan dimengerti. Konstanta dibagi menjadi 3 kelompok yaitu:
1. Konstanta yang digunakan untuk menunjukkan tingkat logika (konstanta
Boolean), yaitu true dan false.

2. Konstanta untuk menunjukkan keadaan pin, yaitu HIGH dan LOW.
3. Konstanta

untuk

menunjukkan

fungsi

pin,

yaitu

INPUT,

INPUT_PULLUP, dan OUTPUT.
Konstanta yang digunakan untuk menunjukkan benar atau salah dalam bahasa
pemrograman Arduino adalah true dan false. False didefinisikan sebagai 0(nol).
True sering didefinisikan sebagai 1(satu), namuntrue memiliki definisi yang lebih
luas. Setiap integer yang bukan nol adalah true dalam pengertian Boolean.


Universitas Sumatera Utara

Ketika membaca atau menulis ke sebuah pin digital, terdapat hanya dua nilai,
yaitu HIGH dan LOW. HIGH memiliki arti yang berbeda tergantung dengan
konfigurasinya. Ketika pin dikonfigurasi sebagai masukan dengan fungsi
pinMode(), mikrokontroler akan melaporkan nilai HIGH jika tegangan yang ada
pada pin tersebut berada pada tegangan 3 volt atau lebih.Ketika sebuah pin
dikonfigurasi sebagai masukan dan kemudian dibuat bernilai HIGH dengan
fungsi digitalWrite(), maka resistor pull-up internal dari chip ATmega akan aktif,
yang akan membawa pin masukan ke nilai HIGH, kecuali pin tersebut ditarik
(pull-down) ke nilai LOW oleh rangkaian dari luar. Ketika pin dikonfigurasi
sebagai keluaran dengan fungsi pinMode() dan diatur ke nilai HIGH dengan
fungsi digitalWrite(), maka pin berada pada tegangan 5 volt.
Untuk mengkonfigurasi fungsi pin pada Arduino digunakan konstanta
INPUT, INPUT_PULLUP, dan OUTPUT. Pin Arduino yang dikonfigurasi
sebagai masukan dengan fungsi pinMode() dikatakan berada dalam kondisi
berimpedansi tinggi. Pin yang dikonfigurasi sebagai masukan memiliki
permintaan yang sangat kecil kepada rangkaian yang di-sampling-nya, setara
dengan sebuah resistor 100 Megaohm dipasang seri dengan pin tersebut.Chip

ATmega pada Arduino memiliki resisitor pull-up internal (resistor yang
terhubung ke sumber tegangan secara internal) yang dapat digunakan. Untuk
menggunakan resistor pull-up internal ini kita menggunakan konstatnta
INPUT_PULLUP pada fungsi pinMode(). Pin yang dikonfigurasi menjadi sebuah
keluaran dikatakan berada dalam kondisi berimpedansi rendah.

Universitas Sumatera Utara

2.5.1.3 Fungsi Masukan dan Keluaran Digital
Arduino memiliki 3 fungsi untuk masukan dan keluaran digital pada Arduino,
yaitu pinMode(), digitalWrite() dan digitalRead().
Fungsi pinMode() mengkonfigurasi pin tertentu untuk berfungsi sebagai
masukan atau keluaran. Sintaks untuk fungsi pinMode() ditunjukkan pada
Gambar 2.7.

Gambar 2.7 Fungsi Sintaks pinMode
Fungsi digitalWrite() berfungsi untuk memberikan nilai HIGH atau LOW
suatu digital pin. Sintaks untuk fungsi digitalWrite() ditunjukkan pada Gambar
2.8.

Gambar 2.8 Fungsi Sintaks digitalWrite
Fungsi digitalRead() bertujuan untuk membaca nilai yang ada pada pin
Arduino. Sintaks untuk fungsi digitalRead() ditunjukkan pada Gambar 2.9.

Universitas Sumatera Utara

Gambar 2.9 Fungsi Sintaks digitalRead
Beberapa contoh penggunaan sintaks tersebut dapat diimplementasikan pada
contoh penggunaan fungsi masukan dan keluaran digital dalam sebuah program
yang ditunjukkan pada Gambar 2.10.

Gambar 2.10 Implementasi Sintaks pada Program Arduino

2.6 PING
Packet InterNet Gopher (PING) adalah salah satu protokol messagging TCP/IP
yang bekerja berdasarkan IP (Internet Protocol). Protokol ini digunakan untuk
mendeteksi error pada jaringan, timeout, dan congestion(tubrukan)[7]. Jadi, PING
merupakan suatu protokol standar TCP/IP yang mengijinkan pengguna untuk
menguji konektifitas dengan perangkat lain, atau menguji apakah TCP/IP stack
pengguna bekerja dengan sesuai. Umumnya, pengguna mengetik seperti “PING
123.456.678.09” untuk menguji konektifitas pada alamat IP tersebut. PING sangat

Universitas Sumatera Utara

berguna untuk menguji permasalahan pada jaringan. Gambar 2.11 menunjukkan
penggunaan PING pada Command Prompt.

Gambar 2.11 PING pada Command Prompt
Gambar 2.11 menunjukkan hasil penggunaan PING setelah menyelesaikan echo
reply. Waktu round trip terpendek adalah 68 ms, rata-rata adalah 68 ms, dan nilai
maksimum adalah 70 ms.

Universitas Sumatera Utara