• Tidak ada hasil yang ditemukan

daftar pustaka

N/A
N/A
Protected

Academic year: 2024

Membagikan "daftar pustaka"

Copied!
17
0
0

Teks penuh

(1)
(2)
(3)
(4)

DAFTAR PUSTAKA

Arikunto, S., & Jabar, C. S. A. (2014). Evaluasi program pendidikan : Pedoman Teoretis Praktis bagi Praktisi Pendidikan. Jakarta: Bumi Aksara.

Aryantika, M. E., Darmawiguna, I. G. M., & Putrama, I. M. (2015). Pengembangan Kamus Kolok Visual Berbasis Android Sebagai Media Edukatif Mempelajari Bahasa Penyandang Tuna Rungu di Desa Bengkala. Jurnal Karmapati, 4(4), 1–8.

Fathulloh, & Budiana, N. S. (2015). Akuaponik Panen Sayur Bonus Ikan. Jakarta:

Penebar Swadaya.

Firly, N. (2018). Create Your Own Android Application. Jakarta: Elex Media Komputindo.

Firrizqika, A. (2018). Definisi dan Manfaat Internet of Things. Retrieved May 23, 2019, from www.plimbi.com

Fraifer, M., & Fernström, M. (2016). Designing an IoT Smart Parking Prototype System. Jitter, 1(December), 1–12.

Haqim, K. R., Permana, A. G., & Sunarya, U. (2018). Perancangan Web Monitoring Dan Kontrolling Aquaponic Untuk Budidaya Ikan Lele Berbasis Internet Of Things Designing Web Monitoring and Controlling Aquaponic For Cultivation of Catfish Farming Based On Internet of Things, 4(3), 2786–2808.

Haryanto, B., Ismail, N., & Pristianto, E. J. (2018). Sistem Monitoring Suhu dan Kelembapan Secara Nirkabel pada Budidaya Tanaman Hidroponik. Jurnal Teknologi Rekayasa, 3(1), 47. https://doi.org/10.31544/jtera.v3.i1.2018.47-54

Hendrawati, T. D., Wicaksono, Y. D., & Andika, E. (2018). Internet of Things : Sistem Kontrol-Monitoring Daya Perangkat Elektronika, 3(2), 177–184.

https://doi.org/10.31544/jtera.v3.i2.2018.177-184

Huda, C. (2017). Pengenalan Algoritma. Retrieved April 29, 2019, from http://binus.ac.id/

Isa, I. G. T., & Hartawan, G. P. (2017). Perancangan Aplikasi Koperasi Simpan Pinjam Berbasis Web (Studi Kasus Koperasi Mitra Setia). Jurnal Ilmiah Ilmu Ekonomi, 5, 139–151.

Justicia, L. T., Tolle, H., & Amalia, F. (2017). Rancang Bangun Aplikasi

Messaging Berbasis Voice Interaction Bagi Penderita Tunanetra Pada Sistem

Operasi Android. Jurnal Pengembangan Teknologi Informasi Dan Ilmu

(5)

Komputer, 1(7), 620–627. Retrieved from https://www.researchgate.net/profile/Faizatul_Amalia/publication/31918745 0_Rancang_Bangun_Aplikasi_Messaging_Berbasis_Voice_Interaction_Bagi _Penderita_Tunanetra_Pada_Sistem_Operasi_Android/links/599a85b1a6fdcc 261587f7a0/Rancang-Bangun-Aplikasi-Messaging-B

Kadir, A. (2013). Dasar Pemograman Mikrokontroller Arduino (2nd ed.). Jakarta:

Elex Media Komputindo.

Karmandia, D. P., Susanto, E., & Halomoan, J. (2017). Perancangan Aplikasi Android Untuk Monitoring Dan Controlling Pada Sistem Otomatisasi Rumah Design of Android Applications for Monitoring and Controlling on Home Automation Systems, 4(3), 3278–3285.

Kumar, N. (2018). Smart Aquaponic System with IOT. International Journal for Research in Applied Science and Engineering Technology, 6(7), 411–415.

https://doi.org/10.22214/ijraset.2018.7057

Kurniawan, D., & Nurraharjo, E. (2018). Sistem Monitoring Suhu Dengan Metode Wireless Real-Time, 239–242.

Kurniawati, P. (2018). Pengujian Sistem. Retrieved April 29, 2019, from https://medium.com/

Latifa, U., & Saputro, J. S. (2018). Perancangan Robot Arm Gripper Berbasis Arduino Uno, 3(2), 138–141.

Limantara, D. A., Cahyo, Y., Purnomo, S., & Mudjanarko, S. W. (2017).

Pemodelan Sistem Pelacakan LOT Parkir Kosong Berbasis Sensor Ultrasonic Dan Internet Of Things ( IOT ) Pada Lahan Parkir Diluar Jalan. Seminar Nasional Sains Dan Teknologi, 1(2), 1–10.

Meutia, E. D. (2015). Internet of Things – Keamanan dan Privasi. Seminar Nasional Dan Expo Teknik Elektro 2015, 85–89.

Mudjanarko, Wiwoho, S., Winardi, S., & Limantara, A. D. (2017). Pemanfaatan Internet of Things Sebagai Solusi Manajemen Transportasi Kendaraan Sepeda Motor. Prosiding Seminar Nasional Aplikasi Teknologi & Prasarana Wilayah (ATPW), 5.

Mulqan, M., Afdhal, S., Rahimi, E., & Dewiyanti, I. (2017). Pertumbuhan dan Kelangsungan Hidup Benih Ikan Nila Gesit ( Oreochromis niloticus ) Pada Sistem Akuaponik Dengan Jenis Tanaman Yang Berbeda The Growth and Survival rates of Tilapia Juvenile ( Oreochromis niloticus ) in Aquaponics Systems with Different Pla, 2, 183–193.

Nuha, F. U., Rizal, Z. A., & Permatasari, D. D. (2017). Shonicno ( Smart Garden

(6)

Home Aquaponic Based Arduino ), 05(01), 25–30.

Prayitno, W. A., Muttaqin, A., & Syauqy, D. (2017). Sistem Monitoring Suhu , Kelembaban , Dan Pengendali Penyiraman Tanaman Hidroponik menggunakan Blynk Android. Jurnal Pengembangan Teknologi Informasi Dan Ilmu Komputer, Universitas Brawijaya, 1(4), 292–297. Retrieved from http://j-ptiik.ub.ac.id/index.php/j-ptiik/article/download/87/46/

Purkayastha, A. (2014). Hand Gestures Controlled Robotic Arm. Journal Of International Academic Research For Multidisciplinary, 2(4)(pp. 234-140).

Puspasari, I., & Triwidyastuti, Y. (2018). Otomasi Sistem Hidroponik Wick Terintegrasi pada Pembibitan Tomat Ceri, 7(1).

Putra, S. A., & Sunarya, U. (2017). Perancangan Aplikasi Monitoring Dan Kendali Sistem Pada Sistem Keamanan Smarthome Berbasis Android. E-Proceeding of Engineering, 4(3), 4131–4137.

Ramdhoni, R. ; S. S. ; N. N. (2018). Rancang Bangun Sistem Kontrol Dan Monitoring Lampu Otomatis Menggunakan Arduino Dengan Metode Fuzzy Logic Berbasis Android, 12.

Ray, P. P. (2017). Internet of things for smart agriculture: Technologies, practices and future direction. Journal of Ambient Intelligence and Smart Environments, 9(4), 395–420. https://doi.org/10.3233/AIS-170440

Rinaldi, R. (2019). Penerapan Unified Modelling Language (Uml) Dalam Analisis Dan Perancangan Aplikasi E-Learning. Jurnal SIMTIKA, 2(1), 43–50.

Rozaq, I. A., & Yulita, N. (2017). Uji Karakteristik Sensor Suhu DS18B20 Waterproof Berbasis Arduino Uno Sebagai Salah Satu Parameter Kualitas Air.

Safaat, N. (2012). Android: Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika Bandung.

Saparinto, C., & Susiana, R. (2014). Panduan Lengkap Budi Daya Ikan dan Sayuran dengan Sistem Akuaponik (1st ed.). Yogyakarta: Andi Publisher.

Saputra, I., Triyanto, D., & Ruslianto, I. (2015). Sistem Kendali Suhu, Kelembaban Dan Level Air Pada Pertanian Pola Hidroponik, 03(1), 1–10.

Saputro, T. T. (2017). Wemos D1, Board ESP8266 Yang Kompatible dengan Arduino. Retrieved May 5, 2019, from https://embeddednesia.com/

Septiana Devi, N., Sistem Kontrol Suhu Dan Kelembaban Ruangan Pada, P.,

Erwanto, D., Bismo Utomo, Y., Elektro Universitas Islam Kadiri-Kediri Jl

Sersan Suharmaji No, T., & Kediri, M. (2018). Perancangan Sistem Kontrol

(7)

Suhu dan Kelembaban Ruangan pada Budidaya Jamur Tiram Berbasis Internet of Things. Multitek Indonesia: Jurnal Ilmiah, 12(2), 104–113. Retrieved from http://journal.umpo.ac.id/index.php/multitek

Sommerville, I. (2011). Software Engineering. (M. Horton, Ed.) (9th ed.). Boston:

Pearson.

Sugiyono. (2018). Metode Penelitian Kuantitatif, Kualitatif, R&D (23rd ed.).

Bandung: Alfabeta.

Suprianto, D., & Agustina, R. (2012). Pemrograman Aplikasi Android. Bandung:

MediaKom.

Syafiqoh, U., Sunardi, S., & Yudhana, A. (2018). Pengembangan Wireless Sensor Network Berbasis Internet of Things untuk Sistem Pemantauan Kualitas Air dan Tanah Pertanian. Jurnal Informatika: Jurnal Pengembangan IT, 3(2), 285–289. https://doi.org/10.30591/jpit.v3i2.878

Tong, J. (2016). Design and implementation of music teaching platform in college based on android mobile technology. International Journal of Emerging

Technologies in Learning, 11(5), 4–9.

https://doi.org/10.3991/ijet.v11i05.5686

Vyanza, V. E., Irawan, B., & Setianingsih, C. (2017). Perancangan Pintu Pintar Untuk Mengenali Wajah Nyata Berbasis Pengolahan Citra Menggunakan Metode Principal Component Analysis Dan Template Matching Correlation Design of Smart Door System for Live Face Recognition Based on Image Processing Using Principa, 4(3), 4066–4073.

Waleed, K., Kusuma, P. D., & Setiamingsih, C. (2019). Sistem Pemantauan Dan Klasifikasi Kondisi Pencemaran Air Sungai Dengan Metode Fuzzy Logic Monitoring And Classification System Of River Water Pollution, 6(1), 1604–

1610.

(8)

LEMBAR KONSULTASI BIMBINGAN SKRIPSI

UNIVERSITAS BSI

NIM : 17150072

Nama Lengkap : Nur Ariska Asmarani

Dosen Pembimbing : Erfian Junianto, ST., M.Kom

Judul Skripsi : Aplikasi Android Monitoring dan Controlling Akuaponik berbasis Internet of Things

No. Tanggal

Bimbingan Pokok Bahasan Paraf Dosen

Pembimbing

1. 22 April 2019 Pengajuan Judul

2. 26 April 2019 Pengajuan BAB I

3. 02 Mei 2019 ACC BAB I

4. 06 Mei 2019 Pengajuan BAB II

5. 13 Mei 2019 ACC BAB II

6. 24 Mei 2019 Pengajuan BAB III

7. 27 Mei 2019 ACC BAB III dan Pengajuan BAB IV

8. 01 Juli 2019 ACC BAB IV

9. 10 Juli 2019 ACC Aplikasi

10. 26 Juli 2019 ACC Abstrak

11. 31 Juli 2019 ACC Keseluruhan Catatan untuk Dosen Pembimbing

Bimbingan Skripsi

 Dimulai pada tanggal : 22 April 2019

 Diakhiri pada tanggal : 31 Juli 2019

 Jumlah pertemuan bimbingan : 11 Pertemuan

Disetujui oleh, Dosen Pembimbing

Erfian Junianto, ST., M.Kom

(9)

DAFTAR RIWAYAT HIDUP

I. Biodata Mahasiswa

NIM : 17150072

Nama Lengkap : Nur Ariska Asmarani

Lahir : Lampung Barat, 3 Agustus 1997

Alamat Lengkap : Jl. Durachman RT 002/RW 005, Tugusari, Sumberjaya, Lampung Barat

No. Hp : 085783069215

Email : [email protected]

II. Pendidikan

1. SD : SDN 2 Tugusari lulus tahun 2009 2. SMP : SMPN 1 Sumberjaya lulus tahun 2012 3. SMA : SMAN 1 Sumberjaya lulus tahun 2015

III.

Riwayat Pengalaman Berorganisasi

1. Paskibra Kecamatan Sumberjaya tahun 2012-2013

2. Sekretaris umum OSIS SMAN 1 Sumberjaya tahun 2013-2014 3. Paskibraka Kabupaten Lampung Barat tahun 2013-2014

4. Purna Paskibraka Indonesia Kabupaten Lampung Barat 2014-2015 5. Sekretaris FOKMATIF Universitas BSI tahun 2016-2017

6. Ketua Divisi Humas HIMATIF Universitas BSI tahun 2017-2018

Bandung, 1 Agustus 2019

Nur Ariska Asmarani

(10)

LAMPIRAN

1. Listing Program Monitoring

if (dataSnapshot.exists()) { progressDialog.dismiss();

Double tmpValue =

dataSnapshot.child("temperature_value").getValue(Double.class);

textSuhu =

Objects.requireNonNull(getView()).findViewById(R.id.txt_Suhu);

textSuhu.setText(tmpValue.toString());

Double phValue =

dataSnapshot.child("ph_value").getValue(Double.class);

textPh = getView().findViewById(R.id.txt_Ph);

textPh.setText(phValue.toString());

}else {

progressDialog.dismiss();

} }

2. Listing Program Controlling

timePicker = view.findViewById(R.id.time_picker);

aSwitch = view.findViewById(R.id.sw_jadwal);

aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override

public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {

Calendar calendar = Calendar.getInstance();

if (Build.VERSION.SDK_INT>=23) {

calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),

calendar.get(Calendar.DAY_OF_MONTH),

timePicker.getHour(), timePicker.getMinute(),0);

}else {

calendar.set(calendar.get(Calendar.YEAR),calendar.get(Calendar .MONTH), calendar.get(Calendar.DAY_OF_MONTH),

timePicker.getCurrentHour(),timePicker.getCurrentMinute(), 0);

}

(11)

if (isChecked){

// jika checked nyalakan alaram

setAlarm(calendar.getTimeInMillis());

} else {

// jika tidak matikan stopAlarm();

} } });

myRef.child("pump_status").addValueEventListener(new ValueEventListener() {

@Override

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

final String value = dataSnapshot.getValue(String.class);

textPumpStatus =

getView().findViewById(R.id.txt_pump_status);

textPumpStatus.setText(value);

Pump = getView().findViewById(R.id.cardPump);

Pump.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) { if (value.equals("OFF")){

Toast.makeText(getContext(),"Pompa Dinyalakan",Toast.LENGTH_LONG).show();

myRef.child("pump_status").setValue("ON");

} else {

Toast.makeText(getContext(),"Pompa Dimatikan",Toast.LENGTH_LONG).show();

myRef.child("pump_status").setValue("OFF");

} } });

if (value.equals("OFF")){

Pump.setCardBackgroundColor(getResources().getColor(R.color.co lorOFF));

}else {

Pump.setCardBackgroundColor(getResources().getColor(R.color.co lorON));

} }

(12)

@Override

public void onCancelled(@NonNull DatabaseError databaseError) {

} });

myRef.child("feed_status").addValueEventListener(new ValueEventListener() {

@Override

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

final String value = dataSnapshot.getValue(String.class);

textFeedStatus =

getView().findViewById(R.id.txt_feed_status);

textFeedStatus.setText(value);

Feed = getView().findViewById(R.id.cardFeed);

Feed.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) { if (value.equals("OFF")){

Toast.makeText(getContext(),"Pakan Dinyalakan",Toast.LENGTH_LONG).show();

myRef.child("feed_status").setValue("ON");

} else {

myRef.child("feed_status").setValue("OFF");

} } });

if (value.equals("OFF")){

Feed.setCardBackgroundColor(getResources().getColor(R.color.co lorOFF));

}else {

Feed.setCardBackgroundColor(getResources().getColor(R.color.co lorON));

} }

@Override

public void onCancelled(@NonNull DatabaseError databaseError) {

} });

return view;

}

(13)

private void setAlarm(long time){

AlarmManager am =

(AlarmManager)this.getActivity().getSystemService(Context.ALAR M_SERVICE);

Intent intent = new

Intent(getActivity(),MyAlarm.class);

PendingIntent pendingIntent =

PendingIntent.getBroadcast(getActivity(),0, intent, 0);

am.setRepeating(AlarmManager.RTC,time, AlarmManager.INTERVAL_DAY, pendingIntent);

Toast.makeText(getActivity(),"Alarm is set", Toast.LENGTH_SHORT).show();

}

private void stopAlarm(){

AlarmManager am =

(AlarmManager)this.getActivity().getSystemService(Context.ALAR M_SERVICE);

Intent intent = new

Intent(getActivity(),MyAlarm.class);

PendingIntent pendingIntent =

PendingIntent.getBroadcast(getActivity(),0, intent, 0);

am.cancel(pendingIntent);

pendingIntent.cancel();

Toast.makeText(getActivity(),"Alarm is stop", Toast.LENGTH_SHORT).show();

} }

(14)

3. Listing Program Arduino IDE

#include <ESP8266WiFi.h>

#include <FirebaseArduino.h>

#include <Servo.h>

#include <OneWire.h>

#include <DallasTemperature.h>

// FIREBASE & WIFI CONFIG

#define FIREBASE_HOST "akuaponiku.firebaseio.com"

#define FIREBASE_AUTH "QxuSJHjWxRKe0j6f5cusAmmcdmGWLTJVmYXNoSBR"

#define WIFI_SSID "KAKA"

#define WIFI_PASSWORD "takodekode"

// RELAY & SERVO CONFIG

#define RELAY D3

#define SERVO D2 Servo myservo;

#define ONE_WIRE_BUS D4

// PH CONFIG

float calibration = 30.60; //change this value to calibrate const int analogInPin = A0;

int sensorValue = 0;

unsigned long int avgValue;

float b;

int buf[10],temp;

void setup() {

Serial.begin(9600);

// connect to wifi.

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

Serial.print("connecting");

while (WiFi.status() != WL_CONNECTED) { Serial.print(".");

delay(500);

}

Serial.println();

Serial.print("connected: ");

Serial.println(WiFi.localIP());

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); // setuo firebase

myservo.attach(SERVO); // attaches the servo on pin D2 to the servo object

pinMode(RELAY, OUTPUT); // attaches the relay on pin D3

// Start up the library sensors.begin();

}

String feed_status = "OFF";

(15)

String pump_status = "ON";

void loop() {

// get value feed

Serial.print("Feed : ");

feed_status = Firebase.getString("feed_status");

Serial.println(feed_status);

// handle error

if (Firebase.failed()) {

Serial.print("Get /feed_status from firebase failed:");

Serial.println(Firebase.error());

return;

}

delay(1000);

if (feed_status == "ON") { servo();

}

// get value pump

Serial.print("Pump : ");

pump_status = Firebase.getString("pump_status");

Serial.println(pump_status);

// handle error

if (Firebase.failed()) {

Serial.print("Get /pump_status from firebase failed:");

Serial.println(Firebase.error());

return;

}

delay(1000);

relay(pump_status);

// run PH sensor phSensor();

}

void phSensor(){

for(int i=0;i<10;i++) {

buf[i]=analogRead(analogInPin);

delay(30);

}

for(int i=0;i<9;i++) { for(int j=i+1;j<10;j++) { if(buf[i]>buf[j]) { temp=buf[i];

buf[i]=buf[j];

buf[j]=temp;

} } }

avgValue=0;

for(int i=2;i<8;i++) avgValue+=buf[i];

float pHVol=(float)avgValue*5.0/1024/6;

(16)

float phValue = -5.70 * pHVol + calibration;

Serial.print("PH Value = ");

Serial.println(phValue);

delay(500);

// set ph_value to firebase

Firebase.setFloat("ph_value", phValue);

// handle error

if (Firebase.failed()) {

Serial.print("set /ph_value failed:");

Serial.println(Firebase.error());

return;

}

delay(500);

// temparture temperature();

}

void servo(){

myservo.write(0); // set to position 0 degress myservo.write(90); // set to 90 degress

delay(1000);

myservo.write(0); // back to 0 degress delay(1000);

// set feed_status off

Firebase.setString("feed_status", "OFF");

// handle error

if (Firebase.failed()) {

Serial.print("setting /message failed:");

Serial.println(Firebase.error());

return;

}

delay(1000);

}

void relay(String relay_status){

if (relay_status == "OFF"){

digitalWrite(RELAY, HIGH);

} else {

digitalWrite(RELAY, LOW);

} }

void temperature(){

sensors.requestTemperatures(); // Send the command to get temperatures

float tempC = sensors.getTempCByIndex(0);

if(tempC != DEVICE_DISCONNECTED_C) {

(17)

Serial.print("Temperature for the device 1 (index 0) is: ");

Serial.println(tempC);

// set value temperature to firebase

Firebase.setFloat("temperature_value", tempC);

// handle error

if (Firebase.failed()) {

Serial.print("firebase /temperature_value failed:");

Serial.println(Firebase.error());

return;

} } else {

Serial.println("Error: Could not read temperature data");

}

delay(1000);

}

Referensi

Dokumen terkait