• Tidak ada hasil yang ditemukan

BAB III METODE PENELITIAN

3.2 Perancangan sistem

3.2.3 Perancangan perangkat lunak

Tahap perancangan perangkat lunak alat tracking panel surya dengan neural network dan fuzzy logic ialah tahap pembuatan alur program atau algoritma alat bekerja. Untuk mengurangi kesalahan pembacaan pada sensor cahaya diberikan nilai toleransi. Untuk mendapatkan nilai tolenransi perlu dilakukan kalibrasi pada sensor terlebih dahulu. Pada penelitian ini memiliki 2 model perancangan yaitu neural network backpropagation dan fuzzy logic.

3.2.3.1 Perancangan perangkat lunak neural network

Pada penelitian ini menggunakan metode neural network backpropagation. Rancangan arsitektur backpropagation disesuaikan dengan model yang akan dikembangkan. Arsitektur jaringan merupakan gambaran hubungan antar lapisan yang digunakan dalam proses

di lapisan input terhubung dengan setiap unit yang ada di lapisan tersembunyi. Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan output. Penelitian menggunakan arsitektur multilayer network yang terdiri dari 3 (tiga) layer yaitu :

ο‚· Satu input layer (x) yang terdiri dari 4 buah neuron.

ο‚· Satu hidden layer yang terdiri dari 3 buah neuron.

ο‚· Satu output layer yang terdiri dari 2 buah neuron.

Masing-masing neuron memiliki nilai bobot yang berbeda-beda sesuai dengan proses trial error yang dilakukan. Fungsi aktifasi sigmoid biner yang memiliki range (0, 1) digunakan pada penelitian ini. Fungsi aktifasi sigmoid dengan nilai f(x) seperti pada Gambar 3.3 [13]:

𝑓(π‘₯) = 1

1+π‘’βˆ’π‘₯ (3.1) dengan turunan :

𝑓′(π‘₯) = 𝑓(π‘₯)(1 βˆ’ 𝑓(π‘₯)) (3.2)

Gambar 3. 3 Grafik aktifasi sigmoid

Gambar 3. 4 Arsiterktur neural network backpropagation

Arsiterktur model neural network backpropagation yang digunakan pada penelitian ini ditunjukan pada Gambar 3.4 berikut. Sementara parameter-parameter yang digunakan pada neural network backpropagation dapat dilihat pada Tabel 3.1.

Tabel 3. 1 Parameter-parameter yang digunakan.

PatternCount 8

InputNodes 4

HiddenNodes 3

OutputNodes 2

LearningRate 0.3

Momentum 0.9

InitialWeightMax 0.5

Success 0.003

PatternCount merupakan banyaknya kemungkinan yang dapat terjadi.

InputNodes merupakan banyaknya neuron pada layer masukan.

HiddenNodes merupakan banyaknya neuron pada layer tersembunyi.

OutputNode merupakan banyaknya neuron pada layer keluaran.

LearningRate untuk menyesuaikan seberapa banyak kesalahan sebenarnya yang dipropagasi kembali. Momentum untuk menyesuaikan seberapa besar hasil iterasi sebelumnya mempengaruhi iterasi selanjutnya.

InitialWeightMax untuk membatasi inisial nilai bobot diawal proses.

Success batasan nilai untuk training data selesai.

Gambar 3. 5 Diagram alir neural netwok backpropagation

Proses metode neural network backpropagation terdapat 3 fase, yaitu fase maju, fase mundur, dan fase perubahan ditunjukkan pada Gambar 3.5.

Proses inisialisasi yaitu memberikan nilai kepada semua bobot secara acak dengan nilai maksimal 0.5. Setelah masing-masing bobot memiliki nilai acak lalu lakukan fase maju yaitu menghitung nilai neuron yang berada pada hidden layer dengan persamaan dibawah[13].

𝑍_𝑛𝑒𝑑𝑗 = π‘‰π‘—π‘œ+ βˆ‘ π‘₯𝑖𝑣𝑗𝑖 Setelah mendapatkan nilai hidden layer maka hitung nilai pada output layer dengan persamaan Setelah mendapatkan nilai output hitung nilai error dengan persamaan

πΈπ‘Œπ‘˜ =1

2(π‘‘π‘Žπ‘Ÿπ‘”π‘’π‘‘ βˆ’ π‘Œπ‘˜)2 (3.7) Jika target sudah tercapai maka program berhenti. Jika terget belum tercapai maka melakukan fase mundur dengan menghitung faktor Ξ΄ unit keluaran berdasarkan kesalahan di setiap unit keluaran π‘Œπ‘˜ dengan persamaan:

Ξ΄π‘˜ = (π‘‘π‘˜βˆ’ π‘¦π‘˜)𝑓′(π‘¦π‘›π‘’π‘‘π‘˜) = (π‘‘π‘˜βˆ’ π‘¦π‘˜)π‘¦π‘˜(1 βˆ’ π‘¦π‘˜) (3.8) Ξ΄π‘˜ merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar dibawahnya. Lalu hitung suku perubahan bobot π‘€π‘˜π‘—(yang akan dipakai

nanti untuk merubah bobot π‘€π‘˜π‘—) dengan laju percepatan Ξ± dengan persamaan :

βˆ†π‘€π‘˜π‘— = 𝛼 π›Ώπ‘˜ 𝑧𝑗 (3.9) Setelah mendapat nilai Ξ΄ untuk output layer maka selanjutnya menghitung nilai Ξ΄ untuk hidden layer dengan persamaan

𝛿_𝑛𝑒𝑑𝑗 = βˆ‘ π›Ώπ‘˜π‘Šπ‘˜π‘—

π‘š π‘˜=1

(3.10)

δ𝑗 = Ξ΄_net𝑗 𝑓′(𝑧𝑛𝑒𝑑𝑗) = Ξ΄_net𝑗 𝑧𝑗 (1 βˆ’ 𝑧𝑗) (3.11) Lalu hitung suku perubahan bobot π‘€π‘˜π‘—(yang akan dipakai nanti untuk merubah bobot π‘€π‘˜π‘—) dengan laju percepatan Ξ± dengan persamaan :

βˆ†π‘£π‘—π‘– = 𝛼 𝛿𝑗 π‘₯𝑖 (3.12) Setelah mendapatkan nilai suku perubahan untuk output layer dan hidden layer lalu memasuki fase perubahan, yaitu merubah semua nilai bobot dengan tujuan mengurangi nilai error. Perubahan bobot pada output layer menggunakan persamaan :

π‘€π‘˜π‘—(π‘π‘Žπ‘Ÿπ‘’) = π‘€π‘˜π‘—(π‘™π‘Žπ‘šπ‘Ž) + βˆ†π‘€π‘˜π‘— (3.13) Perubahan bobot pada hidden layer menggunakan persamaan :

𝑣𝑗𝑖(π‘π‘Žπ‘Ÿπ‘’) = 𝑣𝑗𝑖(π‘™π‘Žπ‘šπ‘Ž) + βˆ†π‘£π‘—π‘– (3.14) Setelah semua bobot sudah diubah maka lakukan fase maju dan melakukan fase ini secara terus menerus hingga nilai yang diinginkan tercapai.

Setelah nilai bobot yang sesuai sudah didapatkan lalu nilai bobot dapat dikalkulasikan dengan nilai dari sensor cahaya secara realtime. Hasil dari kalkulasi antara bobot dengan masukan dari sensor cahaya merupakan sudut servo sehingga motor servo dapat mengarahkan panel surya ke arah

matahari. Panel surya akan menangkap cahaya matahari dan merubahnya menjadi listrik. Tegangan yang dihasilkan panel surya dibaca oleh sensor tegangan dan nilai dikirimkan ke Arduino Nano yang selanjutnya nilai akan ditampilkan pada LCD. Bentuk diagram alir tracking panel surya dapat dilihat pada Gambar 3.6 dibawah ini

Gambar 3. 6 Diagram alir tracking panel surya dengan neural network

Proses training neural network backpropagation pada gambar diatas merupakan proses yang ada pada Gambar 3.5.

3.2.3.2 Perancangan perangkat lunak fuzzy logic

Pada perancangan pengkat lunak dengan metode fuzzy Logic masing-masing motor servo diberi masukan nilai melalui 2 buah sensor cahaya. Motor Servo yang bergerak pada posisi vertical diberi masukan dari sensor cahaya pada sisi utara dan selatan. Sedangkan motor servo yang bergerak pada posisi horizontal diberimasukan dari sensor cahaya pada sisi timur dan barat. Masing-masing servo bergerak sesuai perbandingan dari 2 buah sensor cahaya dapat dilihat pada Tabel 3.2. Adapun tahapan penggerak servo secara vertikal dapat dilihat pada Gambar 3.7.

Gambar 3. 7 Diagram alir motor servo secara vertical

Tabel 3. 2 Motor Servo Dengan Masukan Sensor Cahaya

Motor Servo Sensor Cahaya

Vertikal Utara dan Selatan (atas dan bawah) Horizontal Timur dan Barat (kanan dan kiri)

Adapun tahapan penggerak servo secara Horizontal dapat dilihat pada Gambar 3.8 diagram alir dibawah ini.

Gambar 3. 8 Diagram alir motor servo secara horizontal

Pada Gambar 3.7 dan Gambar 3.8 Jika nilai sensor cahaya memiliki nilai sama besar maka sudut servo tidak berubah (tetap). Setelah kedua motor servo bergerak mengarahkan panel surya ke arah matahari, lalu sensor tegangan akan membaca nilai tegangan yang dihasilkan dari panel surya. Nilai yang terbaca akan ditampilkan didalam LCD. Adapun proses ini dapat dilihat pada Gambar 3.9 diagram alir dibawah. Pada gambar tersebut, proses fuzzy untuk kedua motor servo merupakan proses yang ada pada Gambar 3.7 dan Gambar 3.8

Gambar 3. 9 Diagram alir tracking panel surya dengan fuzzy Logic

Dokumen terkait