• Tidak ada hasil yang ditemukan

LISTING PROGRAM. 1. Program Arduino Uno A-1. Universitas Sumatera Utara. #include <SoftwareSerial.h> #define DEBUG true SoftwareSerial ESP8266(9,10);

N/A
N/A
Protected

Academic year: 2021

Membagikan "LISTING PROGRAM. 1. Program Arduino Uno A-1. Universitas Sumatera Utara. #include <SoftwareSerial.h> #define DEBUG true SoftwareSerial ESP8266(9,10);"

Copied!
10
0
0

Teks penuh

(1)

1. Program Arduino Uno

#include <SoftwareSerial.h> #define DEBUG true

SoftwareSerial ESP8266(9,10); #define SSID "Ulos"

#define PASS "usaha"

#define IP "184.106.153.149"

String msg = "GET https://api.thingspeak.com/update?api_key=17X9AW5NSIIAWX**"; int error;

int pulsePin = A0; int LedPin = 13; volatile int Sinyal; volatile int BPM; volatile boolean Pulse = false; volatile boolean QS = false; volatile int IBI = 600; const int rata2 = 10;

volatile int tampung[rata2]; volatile int P =512; volatile int T = 512; volatile int ambang = 525; volatile int amp = 100; volatile unsigned long awalHitung = 0; volatile unsigned long waktuAkhir = 0; volatile boolean denyutPertama = true; volatile boolean denyutKedua = false; static boolean serialVisual = true; void setup() { Serial.println("Menghubungkan..."); Serial.begin(115200); ESP8266.begin(115200); Serial.println("AT"); ESP8266.println("AT"); ESP8266.println("AT+RST"); delay(1000); if(ESP8266.find("OK")){

Serial.println("Modul WiFi Terdeteksi"); konekWiFi(); } interupsi(); } void loop(){ start: error=0; updatebeat(); Serial.print("BPM = "); Serial.println(BPM); Serial.print("Sinyal = "); Serial.println(Sinyal); if (error==1){ goto start; }

(2)

} void updatebeat(){ String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += IP; cmd += "\",80"; Serial.println(cmd); ESP8266.println(cmd); if(ESP8266.find("Error")){ return; } cmd = msg ; cmd += "&field1="; cmd += BPM; cmd += "\r\n"; Serial.print("AT+CIPSEND="); ESP8266.print("AT+CIPSEND="); Serial.println(cmd.length()); ESP8266.println(cmd.length()); if(ESP8266.find(">")){ Serial.print(cmd); ESP8266.print(cmd); } else{ Serial.println("AT+CIPCLOSE"); ESP8266.println("AT+CIPCLOSE"); error=1; } } boolean konekWiFi(){

Serial.println("Menyalakan Mode WiFi : Station"); ESP8266.println("AT+CWMODE=1"); delay(2000); Serial.println("Menghubungkan ke WiFi ..."); String cmd="AT+CWJAP=\""; cmd+=SSID; cmd+="\",\""; cmd+=PASS; cmd+="\""; Serial.println(cmd); ESP8266.println(cmd); // delay(5000); if(ESP8266.find("OK")){ Serial.println("OK"); return true; } else{ return false; } } void interupsi(){ TCCR2A = 0x02; TCCR2B = 0x06; OCR2A = 0X7C; TIMSK2 = 0x02; sei(); } ISR(TIMER2_COMPA_vect){ cli(); Sinyal = analogRead(pulsePin); awalHitung += 2; int N = awalHitung - waktuAkhir;

if(Sinyal < ambang && N > (IBI/5)*3){ if (Sinyal < T){ T = Sinyal;

(3)

} }

if(Sinyal > ambang && Sinyal > P){ P = Sinyal; } if (N > 250){

if ( (Sinyal > ambang) && (Pulse == false) && (N > (IBI/5)*3) ){ Pulse = true;

digitalWrite(LedPin,HIGH); IBI = awalHitung - waktuAkhir; waktuAkhir = awalHitung; if(denyutKedua){ denyutKedua = false; for(int i=0; i<=rata2-1; i++){ tampung[i] = IBI; } } if(denyutPertama){ denyutPertama = false; denyutKedua = true; sei(); return; } word runningTotal = 0; for(int i=0; i<=rata2-2; i++){ tampung[i] = tampung[i+1]; runningTotal += tampung[i]; } tampung[rata2-1] = IBI; runningTotal += tampung[rata2-1]; runningTotal /= rata2; BPM = 60000/runningTotal; QS = true; } }

if (Sinyal < ambang && Pulse == true){ digitalWrite(LedPin,LOW); Pulse = false; amp = P - T; ambang = amp/2 + T; P = ambang; T = ambang; } if (N > 2500){ ambang = 512; P = 512; T = 512; waktuAkhir = awalHitung; denyutPertama = true; denyutKedua = true; } sei(); }

2. Program Android (Form Main)

#Region Project Attributes #ApplicationLabel: C-BPM! #VersionCode: 1

(4)

'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified

#CanInstallToExternalStorage: False #End Region

#Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals End Sub Sub Globals Private LV As ListView

Private TXT_NAMA, TXT_UMUR As EditText End Sub

Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("registrasi") Activity.AddMenuItem("Tentang","tentang") End Sub Sub Activity_Resume End Sub

Sub Activity_Pause (UserClosed As Boolean) End Sub

Sub Button1_Click

If TXT_NAMA.Text = "" Then TXT_NAMA.RequestFocus Else IF TXT_UMUR.Text = "" Then TXT_UMUR.RequestFocus Else Data.Nama = TXT_NAMA.Text Data.Umur = TXT_UMUR.Text StartActivity(Data) End If End Sub Sub tentang_Click StartActivity(tentang) End Sub

3. Program Android (Form Data)

#Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals Dim HTTP As HttpJob Dim JP As JSONParser

(5)

Dim Nama, Umur As String Dim T As Timer

End Sub Sub Globals

Private LV As ListView Private lbl_nama As Label Private lbl_umur As Label Private lbl_kategori As Label Private lbl_kesimpulan As Label End Sub

Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("main")

T.Initialize("T", 5000) T.Enabled = True

ProgressDialogShow2("Memuat Data...", False) lbl_nama.Text = Nama

lbl_umur.Text = Umur Dim Temp As Int Temp = Umur

If Temp >= 2 And Temp <= 10 Then lbl_kategori.Text = "Anak-anak" Else

lbl_kategori.Text = "Remaja / Dewasa" End If End Sub Sub T_Tick HTTP.Initialize("LOAD_DATA", Me) HTTP.Download("https://api.thingspeak.com/channels/281489/fields/1.json") End Sub

Sub JobDone(JOB As HttpJob) If JOB.Success Then

If JOB.JobName = "LOAD_DATA" Then JP.Initialize(JOB.GetString) Ambil_Data(JP.NextObject) End If End If JOB.Release End Sub

Sub Ambil_Data(Datas As Map) LV.Clear

Dim NMR, NILAI, TGL As String Dim Data1 As List

Dim Data2 As Map

Data1 = Datas.GetValueAt(1) Dim Rat = 0 As Int

For i = Data1.Size - 1 To Data1.Size - 10 Step -1 Data2 = Data1.Get(i)

NMR = Data2.GetValueAt(1) NILAI = Data2.GetValueAt(2) TGL = Data2.GetValueAt(0)

LV.AddTwoLines(NMR & ". " & "BPM = " & NILAI, "Tanggal : " & TGL) Rat = Rat + NILAI

Next

ProgressDialogHide Rat = Rat / 10

If lbl_kategori.Text = "Anak-anak" Then If Rat < 70 Then

lbl_kesimpulan.Text = "Denyut jantung Kamu Dibawah Normal, Kamu disarankan untuk istirahat yang cukup. Jangan melakukan banyak aktifitas!"

(6)

else If Rat > 110 Then

lbl_kesimpulan.Text = "Denyut jantung kamu Diatas Normal, Kamu perlu istirahat yang cukup agar denyut jantungmu kembali normal."

Else

lbl_kesimpulan.Text = "Denyut jantung kamu Normal. Silahkan beraktifitas!"

End If

else if lbl_kategori.Text = "Remaja / Dewasa" Then If Rat < 60 Then

lbl_kesimpulan.Text = "Denyut jantung Kamu Dibawah Normal, Kamu disarankan untuk istirahat yang cukup. Jangan melakukan banyak aktifitas!" else If Rat > 100 Then

lbl_kesimpulan.Text = "Denyut jantung kamu Diatas Normal, Kamu perlu istirahat yang cukup agar denyut jantungmu kembali normal."

Else

lbl_kesimpulan.Text = "Denyut jantung kamu Normal. Silahkan beraktifitas!"

End If End If

lbl_kesimpulan.Text = lbl_kesimpulan.Text & " (Denyut Jantung kamu " & Rat & ")" End Sub

4. Program Android (Form tentang)

#Region Activity Attributes #FullScreen: False

#IncludeTitle: True #End Region

Sub Process_Globals

'These global variables will be declared once when the application starts. 'These variables can be accessed from all modules.

End Sub Sub Globals

'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module.

End Sub

Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("tentang")

End Sub

Sub Activity_Resume End Sub

Sub Activity_Pause (UserClosed As Boolean) End Sub

(7)

D

AFTAR

R

IWAYAT

H

IDUP

CURRICULUM VITAE

I.

DATA PRIBADI / Personal Identification

Nama Lengkap

:

Mangasa Aprido Satria Manullang

Tempat /

Tanggal Lahir

:

P. Siantar

19 April 1995

Jenis Kelamin

:

Laki-laki

Agama

:

Kristen Protestan

Kebangsaan

:

Indonesia

Alamat

:

Jalan Penguin Raya 2 no. 309 Perumnas Mandala, Medan.

Telepon

:

+6285275245789

Motto Hidup

:

Share for All.

Tinggi / Berat

:

170 cm / 58 kg

Email

:

[email protected]

II.

KESEHATAN / Health

Tidak memiliki cacat fisik maupun mental dan tidak memiliki penyakit bawaan.

III. KEMAMPUAN / Capabilities

Bahasa

: Indonesia, Inggris

Bahasa Pemrograman

: Basic, C

Database

: MySQL

(8)

[ 2013 – 2017 ]

“Mendeteksi Denyut Jantung Dengan Menggunakan Pulse Sensor Pada Arduino Uno

Berbasis Android”

S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara

[ 2010 – 2013 ]

SMA Negeri 7 Medan

[ 2007 – 2010 ]

SMP Katolik Trisakti 2 Medan

[ 2004 – 2007 ]

SD Betania Medan.

[ 2001 – 2004 ]

SD Methodist 7 Medan

[2000 – 2001 ]

TK Methodist 7 Medan

V.

PENDIDIKAN NON-FORMAL / Informal Education

[ 2012 – 2013 ]

BT / BS Ganesha Operation, Medan

[ 2007 – 2010 ]

Prospect English Course, Medan

VI. PRESTASI / Achievements

1)

Sertifikasi Internasional Microsoft Office Excel 2010 , Medan [2016]

2)

Sertifikasi Secure Computer User (CSCU) EC-Council, Medan [2016]

3)

Sertifikasi Ikatan Ahli Informatika Indonesia (IAII), Medan [2016]

VII. SEMINAR / Seminars

1)

Peserta Seminar Nasional Bank Indonesia , Universitas Sumatera Utara, Medan [2016]

2)

Peserta Seminar Nasional Literasi Informasi (SENARAI) Fakultas Ilmu Komputer dan

(9)

1)

Tim Komunikasi dan Informasi UKM KMK USU (Unit Kegiatan Mahasiswa Kebaktian

Mahasiswa Kristen Universitas Sumatera Utara) [2015 – 2016]

2)

Wakil Ketua KMKI(Komunitas Mahasiswa S-1 Ilmu Komputer) [2014 – 2015]

3)

Koordinator Divisi Hubungan Masyarakat KMKI [2015-2016]

4)

Anggota Kewirausahaan PEMA FASILKOM-TI [2016-2017]

5)

Koordinator Laboratorium Mikrokontroller & Assembly IKLC USU [2016]

6)

Koordinator Laboratorium Organisasi Arsitektur Komputer IKLC USU [2017]

7)

Asisten Laboratorium IKLC USU [2016-Sekarang]

IX. PENGALAMAN KEPANITIAAN / Committee Experiences

1)

Anggota Acara Paskah Oikumene USU [2014]

2)

Anggota Acara Natal Oikumene USU [2014]

3)

Anggota Peralatan PORSENI IMILKOM USU [2014]

4)

Ketua Paskah Fasilkom-TI USU [2013]

5)

Anggota Acara Natal S1 Ilmu Komputer USU [2013]

X.

PENGALAMAN BEKERJA / Working Experience

IT Spesialist di PT. Virstayasa [2015]

Praktik Kerja Lapangan di Bank Negara Indonesia KCU Pemuda [2016]

IT Spesialist di Deal Heboh [2017]

(10)

Referensi

Dokumen terkait

5.The mean scores of post-test cycle 2 were 84 for meaning, 76 for pronunciation, 80 for spelling, and 73 for using words Students’ improvement in teaching and learning

[r]

[r]

Dapat menyatakan peristiwa sehari-hari dalam bahasa atau simbol matematika namun masih ada peserta didik yang tidak dapat membuat model matematika dalam menyelesaikan

Untuk selanjutnya keputusan Presiden RI Nomor 172, terhitung tanggal 1 Juni 1957 Kantor Pusat Statistik (KPS) diubah menjadi Biro Pusat Statistik yang semula menjadi

Pola Komunikasi Orang Tua dalam Mengatasi Kesulitan Berkomunikasi Anak Autis (Studi pada Orang Tua Anak Autis di Sekolah Dasar Swasta Khusus Autis Anak Mandiri Jalan Kutilang No.

Penilai kerugian asuransi dalam industri asuransi di Indonesia berdasarkan Undang-Undang Nomor 40 Tahun 2014, yaitu usaha jasa penilaian klaim dan/atau jasa konsultasi atas

Pengumpulan data dilakukan dengan menggunakan kuesioner yang meliputi kepatuhan berobat pasien dan variable- variabel yang mempengaruhi kepatuhan berobat pasien