LAMPIRAN A
Sintaks Program Sistem Absensi
#include "SIM900.h"
#if defined(ARDUINO_ARCH_SAMD) // for Zero, output on USB Serial console
#define Serial SerialUSB
#endif
#define RST_PIN A11
#define SS_PIN 53
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
RTC_DS1307 rtc;
File myFile;
InetGSM inet;
class PubnubPublisher {
int numdata;
PubnubPublisher(char* publishKey, char* subscribeKey, char* channelName)
{
started=false;
strcpy(this->publishKey, publishKey);
strcpy(this->subscribeKey, subscribeKey);
strcpy(this->channelName, channelName);
}
};
void publish(char* message) {
char publishUri[109+50+1];
sprintf(publishUri, "/publish/%s/%s/0/%s/0/%s", publishKey, subscribeKey,
channelName, message);
numdata=inet.httpGET("pubsub.pubnub.com", 80, publishUri, msg, 50);
Serial.println("\nNumber of data received:"); //Print the results.
PubnubPublisher* pubnubPublisher = new
PubnubPublisher("pub-c-9f184179-4324-4315-9376-6a6cef5e95ff", "sub-c-4481b53c-0fab-11e6-996b-0619f8945a4f",
"absen");
const int chipSelectSD = 36; int cards, user_id,i;
int detect = 0, stat = 0;
boolean started=false;
char* nims[]={"120402001", "120402002", "120402003",
Serial.println(F("Antan Wisuga"));
myFile.println("\tAntan Wisuga");
smsStatus[0]=1;i=0; publikasi();break;
case 2:
Serial.println(F("Bambang Dian"));
myFile.println("\tBambang Dian");
smsStatus[1]=1;i=1; publikasi(); break;
case 3:
Serial.println(F("Coko Fahriansyah"));
myFile.println("\tCoko Fahriansyah");
smsStatus[2]=1;i=2; publikasi();break;
case 4:
Serial.println(F("Dodi Purmadani"));
myFile.println("\tDodi Purmadani");
smsStatus[3]=1;i=3; publikasi();break;
case 5:
Serial.println(F("Ezzy Silmi"));
myFile.println("\tEzzy Silmi");
smsStatus[4]=1;i=4;publikasi();break;
case 6:
Serial.println(F("Fadhlan Ariska"));
myFile.println("\tFadhlan Ariska");
smsStatus[5]=1;i=5; publikasi();break;
case 7:
Serial.println(F("Gading Aziddin"));
myFile.println("\tGading Aziddin");
smsStatus[6]=1;i=6;publikasi();break;
case 8:
Serial.println(F("Habib Zakaria"));
smsStatus[7]=1;i=7; publikasi();break;
Serial.println(F("Junaidy Siregar"));
myFile.println("\tJunaidy Siregar");
smsStatus[9]=1;i=9;publikasi();break;
case 11:
Serial.println(F("Kennedy Ginting"));
myFile.println("\tKennedy Ginting");
smsStatus[10]=1;i=10; publikasi();break;
case 12:
Serial.println(F("Lisa Umar"));
myFile.println("\tLisa Umar");
smsStatus[11]=1;i=11; publikasi();break;
case 13:
Serial.println(F("Mahatir Muhammad"));
myFile.println("\tMahatir Muhammad");
smsStatus[12]=1;i=12; publikasi();break;
case 14:
Serial.println(F("Nur Iqbal"));
myFile.println("\tNur Iqbal");
smsStatus[13]=1;i=13; publikasi();break;
case 15:
Serial.println(F("Oyen Ginting"));
Serial.println(F("Piliang Arif"));
myFile.println("\tPiliang Arif");
smsStatus[15]=1;i=15; publikasi();break;
case 17:
Serial.println(F("Quaresma"));
myFile.println("\tQuaresma");
smsStatus[16]=1;i=16; publikasi();break;
case 18:
Serial.println(F("Royansyah Ginting"));
myFile.println("\tRoyansyah Ginting");
smsStatus[17]=1;i=17; publikasi();break;
case 19:
Serial.println(F("Sudarmin Pasaribu"));
myFile.println("\tSudarmin Pasaribu");
smsStatus[18]=1;i=18; publikasi();break;
case 20:
Serial.println(F("Taufik Ginting"));
myFile.println("\tTaufik Ginting");
smsStatus[19]=1;i=19; publikasi();break;
case 21:
Serial.println(F("Umar Tarigan"));
myFile.println("\tUmar Tarigan");
smsStatus[20]=1;i=20; publikasi();break;
case 22:
Serial.println(F("Vania Sitepu"));
myFile.println("\tVania Sitepu");
smsStatus[21]=1;i=21; publikasi();break;
case 23:
Serial.println(F("Wahyu Nugraha"));
smsStatus[22]=1;i=22; publikasi();break;
case 24:
Serial.println(F("Xenia Peranginangin"));
myFile.println("\tXenia Peranginangin");
smsStatus[23]=1;i=23; publikasi();break;
case 25:
Serial.println(F("Yudha Al-Hakim"));
myFile.println("\tYudha Al-Hakim");
mfrc522.PCD_Init(); // Init MFRC522 RFID
Serial.begin(9600); //
if (! rtc.isrunning()) {
Serial.println(F("RTC NOT Run!"));
}
if (!SD.begin(chipSelectSD)) {
Serial.println(F("Card Failed!"));
return;
}
if (gsm.begin(4800)) {
Serial.println(F("\nstatus=READY"));
if(started) {
if (inet.attachGPRS("", "", ""))
Serial.println(F("status=ATTACHED"));
else Serial.println(F("status=ERROR"));
delay(1000);
gsm.SimpleWriteln("AT+CIFSR");/** Read IP address. */
delay(5000);
}
Serial.println(F("NON-ACTIVE !"));
};
myFile = SD.open("test.txt", FILE_WRITE);
if (myFile) {
myFile.print(now.hour(), DEC); myFile.print(':');
}
myFile = SD.open("test.txt", FILE_WRITE);
if (myFile)
{
myFile.print(now.hour(), DEC);myFile.print(':');
myFile.print(now.minute(), DEC);myFile.print(':');
myFile.print(now.second(), DEC);
Serial.print(F("Error File")); // if the file didn't open, print an error:
}
delay(500);
}
}
void baca(){
if ( ! mfrc522.PICC_IsNewCardPresent()) {return;}
if ( ! mfrc522.PICC_ReadCardSerial()) {return;}
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
void CekSMS(){
char pesan[100];
for (int i = 0; i < 25; i++){
if (smsStatus[i]==0){
sprintf(pesan, "Anak anda dengan nim %s, hari ini tidak hadir", nims[i]);
if (sms.SendSMS("+628979213454", pesan))
Serial.println("\nSMS sent OK");
delay(2000);
sprintf(message, "{\"text\":\"%d hadir\"}", nims[i]);
pubnubPublisher->publish(message);
delay(5000);
LAMPIRAN B
Tabel Hasil Pengujian 30 byte
Echo
Tabel Hasil Pengujian 150 byte
Tabel Hasil Pengujian 300 byte
Echo Reply Timeout 1 detik Timeout 5 detik Timeout 10 detik
Delay TTL Delay TTL Delay TTL
Tabel Hasil Pengujian 450 byte
7 9 55 9 55 9 55
8 600 255 9 55 9 55
9 9 55 9 55 9 55
10 9 55 9 55 9 55
Tabel Hasil Pengujian 600 byte
Echo
Tabel Hasil Pengujian 750 byte
Echo Reply
Timeout 1 detik Timeout 5 detik Timeout 10 detik
Delay TTL Delay TTL Delay TTL
1 600 255 18 55 18 55
3 600 255 15 55 15 55
4 600 255 15 55 15 55
5 600 255 15 55 15 55
6 600 255 15 55 15 55
7 600 255 15 55 15 55
8 600 255 15 55 15 55
9 600 255 15 55 15 55
LAMPIRAN C
Gambar Pengujian 30 byte dengan Timeout 1 detik
LAMPIRAN D
LAMPIRAN E
Penentuan Kuat Sinyal