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