23
7 BAB 2 TINJAUAN REFERENSI 2.1 Hidroponik Hidroponik adalah teknik menumbuhkan tanaman dalam larutan nutrisi dengan atau tanpa menggunakan media inert seperti kerikil, vermikulit, rockwool, gambut, debu gergaji, debu sabut, dan serat kelapa untuk memberikan dukungan mekanis. Istilah ini berasal dari kata Yunani hydro yang berarti air dan pono yang berarti tenaga kerja, dan secara literal berarti kerja air. Kata hidroponik diciptakan oleh Profesor William Gericke pada awal 1930-an; menggambarkan pertumbuhan tanaman dengan akar mereka tersuspensi dalam air yang mengandung nutrisi mineral. Sistem hidroponik disesuaikan dan dimodifikasi sesuai dengan daur ulang dan penggunaan kembali larutan nutrisi dan media pendukung. Sistem yang biasa digunakan adalah sumbu (wick), tetesan (drip), pasang surut (ebb-flow), budaya air dalam (deep water culture) dan NFT (Nutrient Film Technique). 2.1.1 Sistem Sumbu (Wick) Ini adalah sistem hidroponik paling sederhana yang membutuhkan listrik, pompa, dan aerator (Shrestha dan Dunn, 2013, dikutip dari Sharma et al., 2018). Tanaman ditempatkan dalam media penyerap seperti sabut kelapa, vermikulit, perlit dengan anylon sumbu yang mengalir dari akar tanaman ke dalam reservoir larutan nutrisi. Air atau larutan nutrisi disuplai ke tanaman melalui aksi kapiler. Sistem ini bekerja dengan baik untuk tanaman kecil, bumbu dan rempah-rempah dan tidak bekerja secara efektif yang membutuhkan banyak air.

BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

7

BAB 2

TINJAUAN REFERENSI

2.1 Hidroponik

Hidroponik adalah teknik menumbuhkan tanaman dalam larutan nutrisi

dengan atau tanpa menggunakan media inert seperti kerikil, vermikulit, rockwool,

gambut, debu gergaji, debu sabut, dan serat kelapa untuk memberikan dukungan

mekanis. Istilah ini berasal dari kata Yunani hydro yang berarti air dan pono yang

berarti tenaga kerja, dan secara literal berarti kerja air. Kata hidroponik diciptakan

oleh Profesor William Gericke pada awal 1930-an; menggambarkan pertumbuhan

tanaman dengan akar mereka tersuspensi dalam air yang mengandung nutrisi

mineral.

Sistem hidroponik disesuaikan dan dimodifikasi sesuai dengan daur ulang dan

penggunaan kembali larutan nutrisi dan media pendukung. Sistem yang biasa

digunakan adalah sumbu (wick), tetesan (drip), pasang surut (ebb-flow), budaya

air dalam (deep water culture) dan NFT (Nutrient Film Technique).

2.1.1 Sistem Sumbu (Wick)

Ini adalah sistem hidroponik paling sederhana yang membutuhkan listrik,

pompa, dan aerator (Shrestha dan Dunn, 2013, dikutip dari Sharma et al.,

2018). Tanaman ditempatkan dalam media penyerap seperti sabut kelapa,

vermikulit, perlit dengan anylon sumbu yang mengalir dari akar tanaman ke

dalam reservoir larutan nutrisi. Air atau larutan nutrisi disuplai ke tanaman

melalui aksi kapiler. Sistem ini bekerja dengan baik untuk tanaman kecil,

bumbu dan rempah-rempah dan tidak bekerja secara efektif yang membutuhkan

banyak air.

Page 2: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

8

Gambar 2.1 Sistem Sumbu

2.1.2 Sistem Tetesan (Drip)

Sistem hidroponik tetes banyak digunakan metode di antara rumah dan

komersial komersial. Air atau larutan nutrisi dari tempat penyimpanan air

disediakan untuk masing-masing proporsi yang tidak sesuai akar tanaman

dengan bantuan pompa (Rouphael dan Colla, 2005, dikutip dari Sharma et al.,

2018). Tanaman biasanya ditempatkan di media tumbuh penyerap sedang

sehingga larutan nutrisi menetes perlahan. Berbagai jenis tanaman dapat

ditanam secara sistematis dengan konservasi air.

Gambar 2.2 Sistem Tetesan

Page 3: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

9

2.1.3 Sistem Pasang Surut (Ebb-flow)

Ini adalah sistem hidroponik komersial pertama yang bekerja berdasarkan

prinsip banjir dan drainase. Solusi nutrisi dan air dari reservoir tergenang

melalui pompa air untuk menumbuhkan lapisan hingga mencapai tingkat

tertentu dan tinggal di sana untuk jangka waktu tertentu sehingga memberikan

nutrisi dan kelembaban pada tanaman. Selain itu, sistem ini memungkinkan

penanaman berbagai jenis tanaman tetapi masalah akar busuk, ganggang dan

jamur sangat umum ditemui (Nielsen et al., 2006, dikutip dari Sharma et al.,

2018), oleh karena itu diperlukan beberapa sistem yang dimodifikasi dengan

unit filtrasi.

Gambar 2.3 Sistem Pasang Surut

2.1.4 Sistem Budaya Air Dalam (Deep Water Culture)

Dalam sistem budidaya kultur air dalam, akar tanaman yang ditumbuhkan

dalam air yang kaya nutrisi dan udara disediakan langsung ke akar oleh batu

udara. Sistem hidroponik adalah contoh klasik dari sistem ini. Tanaman

ditempatkan dalam pot dan akar bersih yang ditumbuhkan dalam larutan nutrisi

di mana mereka tumbuh dengan cepat dalam massa yang besar. Dalam sistem

ini, wajib untuk memantau konsentrasi oksigen dan nutrisi, salinitas, dan pH

(Domingues et al., 2012, dikutip dari Sharma et al., 2018) karena ganggang dan

cetakan dapat tumbuh dengan cepat di reservoir. Sistem ini cocok untuk

Page 4: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

10

tanaman yang lebih besar yang menghasilkan buah terutama mentimun dan

tomat, tumbuh dengan baik dalam sistem ini.

Gambar 2.4 Sistem Budaya Air Dalam

2.1.5 Sistem NFT (Nutrient Film Technique)

NFT dikembangkan pada pertengahan 1960-an di Inggris oleh Dr. Alen

Cooper untuk mengatasi kelemahan-kelemahan dari sistem pasang surut dan

sistem aliran. Dalam sistem ini, air atau larutan nutrisi beredar di seluruh

sistem; dan memasuki batang pertumbuhan melalui pompa air tanpa kontrol

waktu (Domingues et al., 2012). Sistem ini sedikit ditanam sehingga larutan

nutrisi berjalan melalui akar dan turun kembali ke reservoir. Tanaman

ditempatkan di saluran atau tabung dengan akar menggantung di larutan

hidroponik. Meskipun, akar rentan terhadap infeksi jamur karena mereka secara

langsung dicelupkan ke dalam air atau nutrisi. Dalam sistem ini, banyak daun

hijau dapat dengan mudah ditanam dan secara komersial paling banyak

digunakan untuk produksi selada.

Page 5: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

11

Gambar 2.5 Sistem Nutrient Film Technique

2.2 Sensor

2.2.1 Arduino

Arduino Mega 2560 adalah sebuah Board Arduino yang menggunakan IC

ATMega 2560. Board ini memiliki Pin I/O yang relatif banyak, 54 Digital I/O,

15 buah di antaranya dapat digunakan sebagai output PWM, 16 buah Analog

Input, dan 4 UART, serta dilengkapi kristal 16 Mhz. Untuk penggunaan relatif

sederhana, hanya menghubungkan power dari USB ke PC / Laptop atau melalui

DC Jack dengan adapter 7 - 12 DCV.

Pada sistem automation hydroponic Arduino Mega digunakan sebagai

kontroler untuk membaca sensor yang terpasang ke board Arduino.

Page 6: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

12

Gambar 2.6 Pinout Arduino Mega 2560

2.2.2 NodeMCU

NodeMCU adalah sebuah platform IoT yang bersifat open source. Terdiri

dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan

Espressif System, juga firmware yang digunakan, yang menggunakan bahasa

pemrograman scripting Lua. Istilah NodeMCU secara default sebenarnya

mengacu pada firmware yang digunakan daripada perangkat keras development

kit.

Page 7: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

13

Gambar 2.7 NodeMCU

2.2.3 MQTT Broker

MQTT (Message Queuing Telemetry Transport) protokol merupakan

sebuah protokol yang berjalan diatas stack TCP/IP dan dirancang khusus untuk

machine to machine yang tidak memiliki alamat khusus. Maksud dari kata tidak

memiliki alamat khusus ini seperti halnya sebuah Arduino, Raspi atau device

lain yang tidak memiliki alamat khusus. Sistem kerja MQTT menerapkan

Publish dan Subscribe data. Dan pada penerapannya, device akan terhubung

pada sebuah Broker dan mempunyai suatu Topic tertentu.

Broker pada MQTT berfungsi untuk menghandle data publish dan

subscribe dari berbagai device, bisa diibaratkan sebagai server yang memiliki

alamat IP khusus. Beberapa contoh dari Broker yang ada seperti Mosquitto,

HiveMQ dan Mosca.

• Publish

Merupakan cara suatu device untuk mengirimkan datanya ke

subscribers. Biasanya pada publisher ini adalah sebuah device yang

terhubung dengan sensor tertentu.

Page 8: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

14

• Subscribe

Merupakan cara suatu device untuk menerima berbagai macam data

dari publisher. Subscriber dapat berupa aplikasi monitoring sensor dan

sebagainya, subscriber ini yang nantinya akan meminta data dari

publisher.

• Topic

Seperti halnya pengelompokan data di suatu kategori tertentu. Pada

sistem kerja MQTT protokol ini, topic bersifat wajib hukumnya. Pada

setiap transaksi data antara publisher dan subscriber harus memiliki

suatu topic tertentu.

2.2.4 Sensor pH

Sensor pH adalah alat untuk mengukur tingkat keasaman pada suatu

larutan, alat ini menggunakan elektroda yang berfungsi untuk mengukur

aktivitas ion hidrogen dan nilqi tersebut dikonversi menjadi nilai ADC (Analog

to Digital Converter) oleh modul, dan nilai ADC tersebut diterima oleh arduino

dan dikonversi menjadi tegangan lalu dikonversi lagi sehingga mendapatkan

nilai pH pada program yang di upload ke Arduino.

Gambar 2.8 Sensor pH

1) BNC plug: Tempat penyambung antara probe dengan modul

2) Pin To: Pin Temperature (Tidak digunakan)

3) Pin Do: Pin adjustable

Page 9: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

15

4) Pin Po: Pin pembaca pH (sambung langsung ke pin Analog

Arduino)

5) Pin G/GND

6) Pin G/GND: Power ground (GND dari arduino).

7) Pin V+/VCC: Input power 5V DC (VCC dari arduino).

8) Potensiometer berwarna biru dekat BNC plug: pH offset.

9) Potensiometer berwarna biru dekat pin: limit adjustment.

2.2.5 Sensor Gravity TDS Meter (ppm)

TDS (Total Dissolved Solids) digunakan untuk menunjukkan berapa

miligram padatan terlarut yang dilarutkan dalam satu liter air. Secara umum,

semakin tinggi nilai TDS, padatan yang lebih mudah larut dilarutkan dalam air,

dan semakin tidak bersih airnya. Oleh karena itu, nilai TDS dapat digunakan

sebagai salah satu indikator untuk mencerminkan kebersihan air.

Spesifikasi:

● Input Voltage: 3.3 ~ 5.5V

● Output Voltage: 0 ~ 2.3V

● Working Current: 3 ~ 6mA

● TDS Measurement Range: 0 ~ 1000ppm

● TDS Measurement Accuracy: ± 10% F.S. (25 °C)

● Module Size: 42 * 32mm

● Module Interface: PH2.0-3P

● Electrode Interface: XH2.54-2P

Page 10: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

16

Gambar 2.9 Modul TDS Gravity dan Connection Diagram

2.3 Distribusi Data

Distribusi Data adalah fungsi yang menunjukan semua nilai yang

memungkinkan dari data. Berikut adalah beberapa metode untuk distribusi data.

(Forbes et al., 2011)

2.3.1 Normal Distribution

Normal Distribution berlaku untuk berbagai fenomena yang sangat luas

dan merupakan distribusi yang paling banyak digunakan dalam statistik.

Awalnya dikembangkan sebagai perkiraan untuk distribusi binomial ketika

jumlah percobaan besar dan probabilitas Bernoulli tidak dekat dengan 0 atau

1.

Distribution Function : (2.1)

Page 11: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

17

2.3.2 Uniform Distribution

Setiap nilai dalam kisaran distribusi kemungkinan besar akan terjadi. Ini

adalah distribusi yang diambil dengan angka acak seragam. Ini banyak

digunakan sebagai dasar untuk menghasilkan angka acak untuk distribusi

statistik lainnya.

Distribution Function : (2.2)

2.3.3 Exponential Distribution

Exponential Distribution adalah distribusi waktu ke suatu peristiwa ketika

probabilitas peristiwa yang terjadi dalam interval waktu kecil berikutnya tidak

bervariasi sepanjang waktu. Ini juga merupakan distribusi waktu antara

peristiwa ketika jumlah peristiwa dalam setiap interval waktu memiliki

distribusi Poisson.

Distribution Function : (2.3)

2.4 Forecasting

Forecasting atau prakiraan adalah prediksi dari beberapa peristiwa atau

peristiwa di masa depan. Neils Bohr mengatakan bahwa membuat prakiraan yang

baik tidak selalu mudah (Montgomery et al., 2008). Forecasting menjadi masalah

penting yang mencakup banyak bidang termasuk bisnis dan industri, pemerintah,

ekonomi, ilmu lingkungan, kedokteran, ilmu sosial, politik, dan keuangan. Masalah

ini sering diklasifikasikan sebagai jangka pendek, jangka menengah, dan jangka

panjang. Masalah forecasting jangka pendek melibatkan peristiwa prediksi hanya

beberapa periode waktu (hari, minggu, bulan) di masa depan. Perkiraan jangka

menengah meluas dari satu hingga dua tahun ke depan, dan masalah peramalan

jangka panjang dapat melampaui beberapa tahun ke depan. Sebagian besar masalah

forecasting melibatkan penggunaan data deret waktu (time-series). Rangkaian waktu

adalah urutan pengamatan berorientasi waktu atau kronologis pada variabel yang

diminati.

Page 12: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

18

Sebuah time series adalah serangkaian pengamatan xt, dimana masing-masing

observasi direkam pada waktu t. Discrete-time time series adalah seri di mana satuan

T0 waktu di mana pengamatan dilakukan adalah sebuah rangkaian diskrit, misalnya

ketika pengamatan dilakukan pada interval waktu yang tetap. Continuous-time time

series diperoleh ketika pengamatan dilakukan terus menerus selama suatu interval

waktu, misalnya dalam waktu T0 �[0, 1] (Brockwell et al., 2016). Secara umum, ada

dua jenis teknik peramalan: metode kualitatif dan metode kuantitatif.

2.4.1 Qualitative Forecasting

Teknik prakiraan kualitatif seringkali bersifat subjektif dan memerlukan

penilaian dari para ahli. Prakiraan kualitatif sering digunakan dalam situasi di

mana ada sedikit atau tidak ada data historis yang dapat dijadikan dasar

prakiraan tersebut. Contohnya adalah pengenalan suatu produk baru, yang tidak

memiliki riwayat data yang relevan. Dalam situasi ini perusahaan mungkin

menggunakan pendapat ahli dari tenaga penjualan dan pemasaran untuk secara

subjektif memperkirakan penjualan produk selama fase pengenalan produk

baru.

2.4.2 Quantitative Forecasting

Teknik peramalan kuantitatif menggunakan data historis atau historical

data dan model prakiraan atau forecasting model (Montgomery et al., 2008).

Dengan memasukkan data ke dalam model, model akan mendeteksi pola dan

hubungan antar variabel input, dan dari pola yang terdeteksi, model tersebut

akan menghasilkan output yang berupa sebuah data atau nilai. Ada 3 jenis

model prakiraan yang umum digunakan, yaitu model regresi, model smoothing

dan model deret waktu umum.

2.5 Artificial Intelligence

Artificial Intelligence (AI) merupakan sebuah konsep teknologi yang membuat

mesin atau komputer untuk dapat belajar dan bertindak layaknya manusia. AI

Page 13: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

19

disusun atas 2 dimensi, dengan dimensi pertama didefinisikan dengan proses

pemikiran dan perilaku, dan dimensi kedua didefinisikan dengan kemiripan dengan

manusia dan keidealan suatu performa mesin, atau disebut dengan rasionalitas.

Suatu sistem dapat disebut rasional jika sistem melakukan hal yang benar. Dalam

sejarahnya, AI didefinisikan dalam 4 klasifikasi berdasarkan 2 dimensi di atas, yaitu

berpikir seperti manusia, berpikir secara rasional, bertindak seperti manusia, dan

bertindak rasional. AI atau kecerdasan buatan diciptakan pertama kali pada tahun

1956, dan hingga kini terus berkembang seiring dengan meningkatnya volume data,

kualitas daya, penyimpanan komputasi, dan algoritma yang selalu berkembang.

Riset yang dilakukan di awal tahun 1950-an mulai menggali tentang penyelesaian

masalah dan metode simbolik. Mulai pada tahun 1960-an, Departemen Pertahanan

AS menaruh minat pada bidang ini dan mulai melatih komputer untuk menirukan

penalaran manusia yang mendasar. Contohnya, Defense Advanced Research Project

Agency (DARPA) yang menyelesaikan proyek pemetaan jalan pada tahun 1970-an,

dan pada tahun 2003, sebuah asisten pribadi cerdas diciptakan, dan diberi nama

Alexa atau Cortana. Ini membuka jalan bagi otomatisasi dan penalaran formal yang

kita lihat di komputer saat ini, termasuk pendukung keputusan dan pencarian pintar

yang dirancang untuk melengkapi dan meningkatkan kemampuan manusia. Seiring

berjalannya waktu, kemampuan AI dalam membantu kehidupan manusia juga terus

berkembang. Dengan berbagai kemampuan teknologi saat ini, AI dapat mengerjakan

hampir seluruh bidang pekerjaan yang dilakukan manusia, mulai dari yang mendasar

hingga kompleks. Beberapa contoh pekerjaan yang dapat dilakukan AI dari berbagai

subbidang yang ada adalah kendaraan robotik (otomatis), pengenalan suara,

otomatisasi sistem perencanaan, memainkan game, perencanaan logistik, robotik,

dan terjemahan (Stuart et al., 2010).

Gambar 2.10 Tahun 1950-an - 1970-an, Jaringan Neural (Neural Network)

Page 14: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

20

Gambar 2.11 Tahun 1980-an - 2000-an, Pembelajaran Mesin (Machine Learning)

Gambar 2.12 Tahun 2000-an hingga sekarang, Pembelajaran Mendalam (Deep Learning)

AI dirancang dari sistem kinerja pada otak manusia. Pada otak manusia,

terdapat sel-sel saraf, yang disebut dengan neuron. Setiap neuron terdiri atas sebuah

badan sel atau soma, yang mengandung sel nukleus. Dari sana, badan sel bercabang

menjadi serat-serat kecil yang disebut dendrit dan sebuah serat panjang yang disebut

akson. Satu neuron membuat koneksi dengan 10 hingga 100.000 neuron lainnya

pada persimpangan jalan yang disebut sinapsis. Sinyal akan diteruskan dari neuron

ke neuron oleh sebuah reaksi elektrokimia yang kompleks. Sinyal ini mengontrol

aktivitas otak dalam jangka pendek dan membuat perubahan jangka panjang pada

konektivitas neuron memungkinkan untuk dilakukan. Mekanisme ini dianggap

sebagai bentuk dasar dari sistem pembelajaran pada otak manusia (Russel & Norvig,

2010).

2.6 Machine Learning

Machine learning termasuk salah satu bagian dari bidang artificial intelligence

(AI). Konsep machine learning lahir dari pengenalan pola dan teori bahwa komputer

dapat belajar tanpa perlu diprogram untuk menjalankan tugas khusus, dan dapat

Page 15: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

21

belajar dari data yang ada. Konsep ini membantu manusia untuk menyelesaikan

berbagai permasalahan di dalam robotik, pengenalan suara, dan pengenalan visual

pada komputer. Sekarang, komputer telah mampu mengenali wajah seseorang dari

sebuah foto ataupun pengamatan langsung walaupun dengan gaya rambut, pose, dan

lighting yang berbeda. Hal ini didasarkan pada sebuah pola atau fitur yang dimiliki

oleh wajah seseorang, seperti mata, hidung, dan mulut yang terletak pada tempat

tertentu pada wajah. Dengan menganalisa wajah sampel dengan wajah seseorang,

sebuah program merekam pola spesifik dari wajah tersebut dan mengenalinya

dengan mencocokkan pola serupa dalam sebuah gambar yang diberikan. Machine

Learning diperlukan pada 2 skenario, yaitu kompleksitas masalah dan perlunya

adaptivitas.

2.6.1 Artifical Neural Network (ANN)

Dalam AI atau kecerdasan buatan, terobosan baru memungkinkan ANN

untuk dapat belajar menyelesaikan masalah kompleks dalam waktu yang wajar

(LeCun, Bengio, & Hinton, 2015). Belakangan ini, neural network menjadi

populer sebagai metode untuk merealisasikan pemrosesan informasi. Neural

network memperetimbangkan kelompok neuron pada otak seseorang, dan

menirukan neuron-neuron tersebut menggunakan teknologi. Salah satu fitur

penting dari neural network adalah kemampuannya untuk belajar memperoleh

kemampuan untuk memproses informasi (Kenji Suzuki, 2013).

Gambar 2.13 Model sebuah neuron (Sumber: Norving, 2010)

Neural network tersusun dari kumpulan node atau unit yang terhubung

oleh sebuah penyambung. Sambungan dari suatu node i ke node j memiliki

fungsi untuk menyalakan fungsi aktivasi ai dari i ke j. Setiap sambungan

Page 16: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

22

memiliki weight masing-masing, yang menentukan kekuatan dari sambungan

tersebut. Setiap node akan mengkalkulasikan input dengan weight:

(2.4)

Lalu, mengaplikasikan fungsi aktivasi g pada hasil tersebut untuk

menghasilkan output:

(2.5)

Fungsi aktivasi g bisa berupa sebuah threshold, dimana setiap node

disebut dengan perceptron, atau sebuah fungsi log, atau disebut sigmoid

perceptron. Keduanya merupakan fungsi aktivasi nonlinear yang memastikan

properti dari keseluruhan sistem dapat merepresentasikan sebuah fungsi

nonlinear. Node akan dihubungkan satu sama lain untuk membentuk sebuah

jaringan, dimana terdapat dua jaringan berbeda, yaitu feed-forward network;

dimana setiap sambungan hanya memiliki 1 arah, dan recurrent network; yang

mengirim output kembali ke input-nya sendiri. Dalam penelitian ini, metode

yang akan digunakan adalah recurrent network untuk dapat mengerjakan data

deret waktu dan menyimpan informasi dari riwayat data yang dimasukkan.

2.7 Deep Learning

Konsep machine learning telah membuat semakin banyak metode

pembelajaran mesin yang bermunculan dari waktu ke waktu hingga akhirnya

ditemukanlah metode deep learning. Teknik pembelajaran mesin konvensional

memiliki keterbatasan dalam untuk memproses data dalam bentuk mentah mereka.

Selama beberapa dekade, membangun sistem pengenalan pola atau sistem

pembelajaran mesin membutuhkan perancangan yang teliti dan keahlian yang cukup

untuk merancang ekstraktor fitur (feature extractor) yang mengubah data mentah

(seperti nilai piksel gambar) menjadi representasi internal yang cocok atau vektor

fitur yang dapat dideteksi atau diklasifikasikan pola dari input yang diterima pada

subsistem pembelajaran. Deep learning memungkinkan model komputasi yang

terdiri dari beberapa lapisan pemrosesan untuk mempelajari representasi data dengan

berbagai tingkat abstraksi. Metode-metode ini telah secara dramatis meningkatkan

Page 17: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

23

state-of-the-art dalam pengenalan suara, pengenalan objek visual, deteksi objek dan

banyak domain lain seperti penemuan obat dan genomik (LeCun et al., 2015).

2.7.1 Recurrent Neural Network

Neural network terus berkembang mengikuti perkembangan waktu.

Ketika metode backpropagation ditemukan, sebuah metode baru yang dapat

mengerjakan tugas yang berhubungan data deret waktu atau data yang saling

berhubungan mulai berkembang. Metode ini adalah recurrent neural network

(RNN). Untuk dapat bekerja dengan data deret waktu, RNN akan memproses

satu per satu elemen dari sederet input, dan menyimpan informasi tentang

riwayat data dari elemen-elemen sebelumnya di dalam sebuah hidden unit yang

disebut state vector. RNN adalah sebuah sistem dinamis yang sangat kuat,

namun dalam proses training datanya, gradien yang dikirim kembali akan

semakin besar atau menipis seiring berjalannya waktu, sehingga setelah

beberapa iterasi, gradien atau informasi tentang data sebelumnya akan menjadi

pudar (LeCun et al., 2015).

RNN memiliki sebuah recurrent hidden state yang aktivasinya bergantung

pada state pada waktu sebelumnya. Pada sebuah urutan ,

RNN akan memperbarui recurrent hidden state-nya dengan

(2.6)

Dimana adalah fungsi non linear seperti komposisi logistic sigmoid

dengan transformasi afin. Untuk memperbarui recurrent hidden state seperti

pada Persamaan (2.3), diimplementasikan

(2.7)

Dimana adalah fungsi seperti logistic sigmoid atau tangen hiperbolik.

Tetapi, RNN terbukti sangat sulit dalam mengingat informasi dalam waktu

yang sangat lama, dikarenakan gradien yang semakin menipis, atau meledak

Page 18: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

24

(jarang terjadi). Hal ini membuat metode optimasi berbasis gradien menjadi

kurang efektif, bukan hanya karena variasi dalam besaran gradien tetapi juga

karena efek ketergantungan jangka panjang tersembunyi (secara eksponensial

lebih kecil sesuai dengan panjang deret) oleh efek dependensi jangka pendek

(Chung, 2014). Oleh karena itu, salah satu solusi yang dikembangkan oleh para

peneliti adalah LSTM atau Long-Short Term Memory.

2.7.2 Long-Short Term Memory

Melihat keterbatasan RNN dalam menyimpan informasi dari data riwayat

yang sangat lama, sebuah metode baru, yaitu Long Short-Term Memory

(LSTM), mulai berkembang untuk mengatasi keterbatasan tersebut. LSTM

menggunakan sebuah hidden unit khusus yang berfungsi untuk mengingat

informasi dari suatu elemen dalam waktu yang panjang (Hochreiter & Jurgen,

1997). LSTM di kemudian hari terbukti lebih efektif dibandingkan dengan

RNN konvensional, terutama ketika terdapat banyak layer dalam setiap

timestep (Graves et al., 2013, dikutip dari LeCun et al., 2015).

Gambar 2.14 Long Short-Term Memory

LSTM pada dasarnya memiliki 3 gate atau sigmoid layer untuk

mengatur informasi dari waktu ke waktu yaitu : forget gate , input gate

, output gate . Setiap unit LSTM mempertahankan memori . Dan

para gate tersebut adalah salah satu cara untuk menentukan informasi untuk

dilupakan atau disimpan pada memori yaitu dengan menggunakan fungsi

aktivasi sigmoid. Berikut adalah langkah – langkah dalam unit LSTM.

Page 19: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

25

Pertama, LSTM mendapatkan input dari dan Kemudian,

forget gate akan menentukan informasi atau memori mana yang perlu

dilupakan atau disimpan yaitu dengan fungsi sigmoid tersebut.

(2.8)

Hasil dari perhitungan tersebut adalah angka diantar 0 hingga 1

dimana 0 berarti melupakan semua memori tersebut dan 1 menyimpan semua

memori tersebut. Setelah itu, langkah selanjutnya adalah untuk menentukan

informasi baru yang akan disimpan pada cell state . Pertama, dengan

melewati fungsi sigmoid, yaitu input gate , di mana gate ini menentukan

seberapa banyak informasi baru yang akan di-update pada cell state. Setelah

itu, fungsi tanh yang membuat sebuah vektor kandidat cell state baru

dan kedua hasil ini akan digabung untuk memperbarui state tersebut.

(2.9)

(2.10)

Setelah hal ini dilakukan, cell state lama akan diperbarui

menjadi cell state baru . akan dikalikan dengan untuk

menentukan memori lama yang akan dilupakan, lalu akan ditambahkan

dengan hasil dari perkalian input gate dengan kandidat cell state baru

, yaitu informasi baru yang akan disimpan.

(2.11)

Langkah terakhir adalah menentukan output dari LSTM. Output ini

akan berdasarkan dari cell state baru , pertama kita akan menggunakan

sigmoid layer terakhir yaitu output gate untuk menentukan informasi dari

cell state baru ) yang akan kita keluarkan untuk menjadi output.

(2.12)

(2.13)

Tidak seperti RNN yang menimpa kontennya di setiap timestep, LSTM

dapat menentukan memori atau informasi mana yang perlu disimpan melalui

gate-gate tersebut. LSTM dapat mendeteksi fitur pada bagian awal dan

membawa informasi ini dalam waktu yang panjang, sehingga memungkinkan

Page 20: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

26

untuk mendapatkan informasi yang memiliki hubungan jarak jauh dengan

informasi lain (Chung, Gulcehre, Cho, & Bengio, 2014).

Dalam mengevaluasi hasil forecasting dari setiap model, terdapat

beberapa cara untuk melakukannya, dan salah satu metode yang paling umum

digunakan adalah RMSE. RMSE (Root Mean Squared Error) menghukum

variance dengan memberi weight lebih pada eror dengan nilai yang tinggi

dibandingkan dengan eror dengan nilai yang lebih kecil (Chai & Draxler,

2014). RMSE memiliki kalkulasi sebagai berikut

(2.14)

Dimana adalah jumlah populasi, yi merupakan hasil sebenarnya dan pi

merupakan hasil prediksi.

2.8 AngularJS

AngularJS adalah framework front-end open-source berbasis JavaScript untuk

aplikasi web, diterbitkan dan dikelola terutama oleh Google. AngularJS

menggunakan arsitektur MVC (Model-View-Controller) dimana setiap view akan

memiliki controller-nya masing-masing. AngularJS memungkinkan pengguna untuk

menghias HTML Anda dengan markup khusus yang disinkronkan dengan

JavaScript sehingga pengguna dapat lebih banyak menulis logika aplikasi daripada

memperbarui tampilan secara manual. Menurut Jain (2014), Angular memiliki

beberapa keunggulan, yaitu:

2.8.1 Markup Angular berada di dalam DOM (Document Object

Model)

Angular hanya akan mengevaluasi markup setelah HTML telah

dimuat ke dalam DOM. Pendekatan ini memiliki beberapa keuntungan,

yaitu: (1) integrasi dengan aplikasi lain yang telah ada, (2) simpel karena

Angular dapat digunakan pada dokumen HTML di file lokal, tanpa perlu

akses internet, dan (3) kemampuannya untuk memperluas, dalam

Page 21: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

27

konteks membuat atribut dan elemen kustom di luar dari kosakata

HTML pada umumnya.

2.8.2 Angular menggunakan POJO (Plain Old Javascript Object)

Angular adalah satu-satunya framework front-end pertama yang

menggunakan POJO sebagai lapisan modelnya. Hal ini membuatnya

sangat mudah untuk melakukan integrasi dengan sumber data yang ada

dan bermain dengan data dasar.

2.8.3 Angular mengungkit DI (Dependency Injection)

Melakukan unit testing pada front-end biasanya sulit dilakukan

karena adanya banyak dependensi yang terikat. DI dalam Angular

memberikan pengguna kemampuan untuk menghilangkan dependensi

tersebut dan mengisolasi komponen individual.

2.9 Flask

Flask adalah kerangka kerja aplikasi web WSGI (Web Server Gateway

Interface) yang ringan. Ini dirancang untuk memulai dengan cepat dan mudah,

dengan kemampuan membuat aplikasi yang kompleks. Ini dimulai sebagai

pembungkus sederhana di sekitar Werkzeug dan Jinja dan telah menjadi salah satu

framework aplikasi web Python paling populer, menurut website resmi Flask

(https://pypi.org/project/Flask/). Seperti dikutip dari Aslam (2015), terdapat 3

keuntungan dari penggunaan framework Python ini, yaitu:

a. Extensible

Kemampuan untuk terus berkembang adalah sebuah prinsip

dasar dalam web development yang didesain sebagai kemampuan

sistem untuk memiliki fungsionalitas baru, dimana struktur internal

dan aliran data sistem hanya sedikit atau sama sekali tidak

terpengaruh olehnya. Hal ini dikarenakan sistem harus bersifat jangka

panjang, dan akan terus mengalami perubahan dan penambahan fitur

atau fungsionalitas yang diminta oleh pengguna.

Page 22: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

28

b. Robust

Robustness adalah kemampuan sistem dalam menghadapi eror

selama proses eksekusi. Robustness juga didefinisikan sebagai

kemampuan sebuah algoritma untuk terus bekerja walaupun terdapat

anomali dalam input, kalkulasi, atau bagian lainnya.

c. Open Source

Python dan Flask adalah bahasa yang bersifat open source,

dimana source code kedua bahasa ini dapat diakses secara publik oleh

semua orang untuk dapat digunakan atau diperbarui. Kode yang

bersifat open source pada umumnya merupakan hasil kolaborasi antar

developers yang saling membantu untuk membangun dan

meningkatkan kemampuan kode tersebut.

2.10 Python

Python adalah bahasa pemrograman tingkat tinggi yang diinterpretasi,

berorientasi objek, dengan semantik yang dinamis. Tingkat tinggi yang dibangun

dalam struktur data, dikombinasikan dengan pengetikan dinamis dan pengikatan

dinamis, membuatnya sangat menarik untuk pengembangan aplikasi yang cepat,

serta untuk digunakan sebagai bahasa scripting atau bahasa untuk menghubungkan

komponen yang ada bersama-sama. Sintaksis Python yang sederhana dan mudah

dipelajari menekankan keterbacaan dan karenanya mengurangi biaya pemeliharaan

program. Python mendukung modul dan paket, yang mendorong modularitas

program dan penggunaan kembali kode. Interpreter Python dan library standar yang

luas tersedia dalam bentuk sumber atau biner tanpa biaya untuk semua platform

utama, dan dapat didistribusikan secara bebas.

2.11 Penelitian Terdahulu

Penelitian ini berkaitan erat dengan forecasting menggunakan data deret

waktu, pertumbuhan tanaman, nutrisi dan faktor-faktor yang mempengaruhi

pertumbuhan tanaman. Telah banyak penelitian yang dilakukan terkait tentang

forecasting, seperti sistem prediksi pertumbuhan tanaman menggunakan metode

Page 23: BAB 2 TINJAUAN REFERENSI - BINA NUSANTARA

29

fuzzy mamdani (Sudana et al., 2017), prediksi radiasi matahari menggunakan

Support Vector Regression (Khondaker, 2018), dan dan forecasting konduktivitas

listrik pada daerah tanah menggunakan RNN (Moon, 2018).

Ghosh (2014) menggunakan BPNN (Back Propagation Neural Network)

untuk menganalisa properti utama dalam tanah seperti kandungan organik dan

nutrisi esensial tanaman yang mempengaruhi pertumbuhan tanaman, serta hubungan

antara properti-properti tersebut. Penelitian ini menyimpulkan bahwa sebuah neural

network dengan jumlah neuron tertentu dalam hidden layer memiliki performa yang

lebih baik daripada multivariate regression. Skripsi ini menggunakan recurrent

neural network yang melihat hubungan antara satu data dengan data lainnya, bukan

sebagai data yang terpisah-pisah seperti dengan menggunakan back propagation

neural network biasa, seperti pada penelitian terdahulu ini.

Sudana et al. (2017) mencoba menggunakan metode fuzzy untuk menentukan

keterkaitan antara variabel-variabel yang mungkin mempengaruhi pertumbuhan

tanaman, seperti nutrisi, pH, dan temperatur, dengan pertumbuhan tanaman. Setelah

menentukan keterkaitan antar variabel, akan dibuat rule-base yang menjadi dasar

penentu pertumbuhan tanaman dengan melihat pada variabel-variabel yang mungkin

mempengaruhinya. Tetapi, metode yang digunakan dalam penelitian mengarah pada

pendekatan untuk mencari hubungan antar variabel dependen dan independennya,

sehingga berbeda dengan pendekatan penelitian ini yang mengarah pada prakiraan

nilai dari faktor-faktor pertumbuhan tanaman tersebut.

Penelitian lain juga dilakukan oleh Moon (2018), menggunakan LSTM dan

GRU untuk melakukan forecasting untuk 1 hingga banyak timestep. Dari hasil yang

didapatkan, nilai eror RMSE adalah 0,7 pada metode single layer LSTM dan

akurasinya cukup tinggi, yaitu 0,92. Penelitian ini menyimpulkan bahwa jumlah

timestep pada output dapat menyebabkan turunnya akurasi, dan bertambahnya

timestep pada input dapat meningkatkan akurasi sebagai akibat dari semakin

banyaknya data yang bisa dipelajari. Skripsi ini bertujuan untuk membuat sebuah

model yang dapat melakukan prakiraan nutrisi dan faktor pertumbuhan tanaman

hidroponik lainnya, dan memberikan saran terhadap jumlah yang harus ditambahkan

agar kondisi sistem ideal dengan metode yang lebih sederhana.