TUGAS AKHIR. Oleh : Amin Fauzan L2F

Ukuran: px
Mulai penontonan dengan halaman:

Download "TUGAS AKHIR. Oleh : Amin Fauzan L2F"

Transkripsi

1 Perbandingan Unjuk Kerja Jaringan Syaraf Tiruan CMAC (Cerebellar Model Articulation Controller) dan RBF (Radial Basis Function) pada Pengendalian Plant Suhu secara On- line TUGAS AKHIR Diajukan guna melengkapi persyaratan dalam menyelesaikan pendidikan tingkat Sarjana/Strata Satu di Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Oleh : Amin Fauzan L2F JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO SEMARANG 2004

2 HALAMAN PENGESAHAN Laporan Tugas Akhir dengan judul "Perbandingan Unjuk Kerja Jaringan Syaraf Tiruan CMAC (Cerebellar Model Articulation Controller) dan RBF (Radial Basis Function) pada Pengendalian Plant Suhu secara On line yang disusun oleh: Nama : AMIN FAUZAN NIM : L2F Telah disetujui dan disahkan di Semarang pada tanggal : Pembimbing I, Menyetujui/Mengesahkan, Pembimbing II, Wahyudi, ST. MT. NIP Iwan Setiawan, ST. MT. NIP Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro, Ir. Sudjadi, MT. NIP

3 PENGESAHAN REVISI TUGAS AKHIR Revisi Tugas Akhir dengan judul Perbandingan Unjuk Kerja Jaringan Syaraf Tiruan CMAC (Cerebellar Model Articulation Controller) dan RBF (Radial Basis Function) pada Pengendalian Plant Suhu secara On line yang disusun oleh: Nama : AMIN FAUZAN NIM : L2F telah disetujui dan disahkan pada Tanggal : Tempat : Semarang Ketua Tim Penguji, Menyetujui dan mengesahkan, Sekretaris Tim Penguji, Anggota Tim Penguji, Achmad Hidayatno, ST. MT. NIP Yuli Christyono, ST. MT. NIP Trias Andromeda,ST MT. NIP

4 ABSTRAK Sebuah pendekatan dalam pengendalian plant yang parameter-parameternya tidak diketahui dapat dilakukan dengan menggunakan jaringan syaraf tiruan. Tidak semua jenis jaringan syaraf tiruan cocok untuk mengendalikan plant secara on-line. Setiap jaringan syaraf tiruan memiliki kecepatan beradaptasi atau konvergensi yang berbeda, tergantung pada struktur jaringan dan algoritma pembelajaran yang digunakan. Pemilihan jenis jaringan syaraf tiruan untuk mengendalikan plant secara on-line dapat dilakukan dengan mengetahui unjuk kerja masing-masing jaringan pada pengendalian secara on-line. Pada tugas akhir ini dilakukan pengujian terhadap unjuk kerja jaringan syaraf CMAC dan RBF untuk mengendalikan plant suhu secara on-line. Pengujian untuk mengetahui perbandingan unjuk kerja kedua jaringan syaraf dilakukan dengan pengujian pengaruh bobot pembelajaran, pengujian referensi naik, pengujian referensi turun dan pemberian gangguan. Hasil pengujian menunjukkan bahwa aplikasi jaringan syaraf CMAC pada plant suhu mempunyai unjuk kerja yang lebih baik daripada jaringan syaraf RBF. Jaringan syaraf tiruan CMAC memiliki laju pembelajaran yang lebih cepat dan mampu mengatasi pengaruh gangguan lebih cepat daripada jaringan syaraf RBF. Kata kunci : Jaringan Syaraf Tiruan, CMAC, RBF, Plant Suhu.

5 ABSTRACT A approach in controlling of plant which is its parameters unknown can be done by using artificial neural network. Not all of artificial neural network type suited for controlling plant onlinely. Each artificial neural network have a different speed adaptation or konvergence, depend on network structure and study algorithm. Election of artificial nerve network type to control plant on-linely can be done if we know each performance of neural network operation on-linely. At this final project we try to make experiment to show performance of CMAC and RBF s neural network at operation of temperature plant on-linely. Examination to show the performace of controller is done by examination of influence of study wight to system respon, examination of reference go up, examination of reference go down and giving of trouble. Result of examination indicate that the application of CMAC s neural network at temperature plant show better performance than RBF s neural network. It has faster rate of study and can overcome influence of trouble quickly than RBF s neural network. Keyword : Artificial Neural Netwark, CMAC, RBF, Temperature Plant.

6 KATA PENGANTAR بسم االله الرحمن الرحیم Puji dan syukur penulis panjatkan kepada Allah SWT atas rahmat dan karunia-nya, sehingga pelaksanaan tugas akhir dan penyusunan laporan ini dapat terselesaikan. Shalawat dan salam semoga senantiasa tercurah atas Nabi Muhammad Rasulullah SAW. Tugas akhir dengan judul "Perbandingan Unjuk Kerja Jaringan Syaraf Tiruan CMAC (Cerebellar Model Articulation Controller) dan RBF (Radial Basis Function) pada Pengendalian Plant Suhu secara On-line" ini diajukan untuk memenuhi syarat akhir untuk menyelesaikan pendidikan Program Strata 1 pada Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Semarang. Rasa terima kasih yang tulus kami ucapkan kepada semua pihak yang telah membantu selama pelaksanaan tugas akhir ini. 1. Bapak dan Ibu serta Adik adikku yang selalu memberikan kasih sayang, doa dan semangat. 2. Bapak Ir. Sudjadi, MT, selaku Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Semarang. 3. Bapak R. Rizal Isnanto, ST. MT. MM., selaku koordinator Tugas Akhir yang telah mengurus keperluan administrasi Tugas Akhir Teknik Elektro Universitas Diponegoro. 4. Bapak Wahyudi, ST. MT. dan Bapak Iwan Setiawan, ST. MT., selaku dosen pembimbing I dan II yang telah memberi bimbingan dan pengarahan dalam penyusunan laporan Tugas Akhir. 5. Bapak Sumardi, ST. MT., selaku Kepala Laboratorium Teknik Kontrol Otomatik. 6. Para aktivis Lab. Teknik Kontrol Otomatik, Mas Andy N 98, Mas Sunardi 99, Mas Abbas 99, Mas B4t0q 99, Mas Agusti 99, Ari Otong 00, Eko Kodok 00, Udin Geboy 00, Deni DJNZ 00, Erik 00, Satria 01, dan rekan rekan aktivis lab. lain: Dalma 99, Sri Embong 00, Arif Januar 00, Ronald bebek 00, Feny pepenk 00, Nanda Brewers 00,, Andy Hartono 00, the_konc 00, Reza 01, Nyoto saridin 01.

7 7. Rekan rekan angkatan 2000, terima kasih atas kekompakan dan kerjasama selama ini smunsa 00 : Fredy Kam-Pret, Ipoel, Reza Parto, Ari Mukong, Anto Ireng, Gogox, Bowok, Del Christo, dan Widyawan Candra, kalian adalah sahabat-sahabat terbaikku. 9. Teman-teman kost putra Biru Langit, Dephit, Mekel, Dian, Gendut, Aries, dan Made, terima kasih atas tumpangan tidurnya. 10. Bening, semua yang hadir dalam perjalanan Hijau kita akan senantiasa menjadi pelajaran berharga dalam perjalananku. 11. Yulita Novianty, terimakasih atas doa dan nasihatnya, keep pray for me and always be a simple and smart girl. 12. Rekan rekan tim KKN, Ari, Adhi, Cacha. Lia, Amar dan Retno, (seperti permintaan kalian nama kalian udah tak tulis) ayooo cepetan..lulus!, Pak Lurah dan Ibu, terima kasih karena telah menganggap kami sebagai anak. 13. Rekan rekan remaja masjid Al Hikmah 14. Dan semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu hingga terselesainya tugas akhir dan laporan tugas akhir ini. Semoga pembuatan tugas akhir ini dapat memberikan manfaat bagi perkembangan ilmu kontrol pada khususnya dan seluruh pihak yang berkepentingan. Semarang, Oktober 2004 Penulis

8 DAFTAR ISI Halaman Judul... i Halaman Pengesahan... ii Pengesahan Revisi Tugas Akhir... iii Abstrak... iv Abstract... v Kata Pengantar... vi Daftar Isi... viii Daftar Gambar... xi Daftar Tabel... xv BAB I PENDAHULUAN 1.1 Latar Belakang Tujuan Pembatasan Masalah Sistematika Penulisan... 3 BAB II DASAR TEORI 2.1 Blok Diagram Kontrol Fixed Stabilising Controller Algoritma Least Mean Square (LMS) Jaringan Syaraf Tiruan CMAC ( Cerebellar Model Articulation Controller ) Struktur Dasar CMAC Pemetaan Titik Ruang Masukan pada CMAC Kotak Operasi CMAC Algoritma Pelatihan CMAC secara Iteratif RBF ( Radial Basis Function ) Struktur Dasar RBF Strategi Pembelajaran Jaringan RBF Algoritma Pelatihan RBFN secara Iteratif Penguat Operasional (Operasional Amplfier) Penguat Tak Membalik (Non-Inverting Amplifier)... 18

9 2.6.2 Penguat Selisih (Differential Amplifier) Pembanding (Comparator) BAB III PERANCANGAN 3.1 Perancangan Kontrol Jaringan Syaraf Tiruan CMAC dan RBF Penentuan Nilai Gain Proporsional Jaringan Syaraf CMAC dan RBF Penentuan Nilai Laju Konvergensi Jaringan Syaraf CMAC dan RBF Perancangan Kontrol Jaringan Syaraf CMAC Perancangan Kontrol Jaringan Syaraf RBF Perancangan Perangkat Lunak (Software) Sofware Jaringan Syaraf CMAC Sofware Jaringan Syaraf RBF Perancangan Perangkat Keras (Software) Rangkaian Digital to Analog Converter (DAC) Rangkaian Analog to Digital Converter (ADC) Rangkaian Pengkondisi Sinyal I Rangkaian Pengkondisi Sinyal II Plant Suhu dengan PWM Driver Mikrokontroller AT89s BAB IV PENGUJIAN DAN ANALISIS 4.1 Pengujian Jaringan Syaraf CMAC dan RBF secara On-line Pengujian Jaringan Syaraf CMAC Pengaruh Nilai Laju Konvergensi terhadap Transien Suhu Pengaruh Gain Proporsional terhadap Transien Suhu Pengaruh Nilai Generalisasi terhadap Transien Suhu Pengujian Jaringan Syaraf RBF Pengaruh Laju Konvergensi terhadap Transien Suhu Pengaruh Nilai Gain Proporsional terhadap Transien Suhu Pengaruh Jumlah Fungsi Basis terhadap Transien Suhu Perbandingan Unjuk Kerja Jaringan Syaraf CMAC dan RBF Pengujian Pengaruh Pembelajaran... 65

10 4.4.2 Pengujian Referensi Naik Pengujian Referensi Turun Pengujian Gangguan BAB V PENUTUP 5.1 Kesimpulan Saran Daftar Pustaka Lampiran A Senarai Program Lampiran B Tampilan Program Lampiran C Skematik Rangkaian Lampiran D Hasil Pengujian Perangkat Keras Lampiran E Data Sheet

11 DAFTAR GAMBAR Gambar 2.1 Blok diagram kontrol dengan skema fixed stabilising controller... 4 Gambar 2.2 Model neuron jaringan syaraf... 6 Gambar 2.3 Struktur dasar jaringan syaraf tiruan CMAC... 7 Gambar 2.4 Pemetaan ruang masukan CMAC 1 dimensi... 9 Gambar 2.5 Pemetaan 2 dimensi untuk tiap titik ruang masukan dengan pemetaan langsung Gambar 2.6 Hasil evaluasi generator alamat pada overlay Gambar 2.7 Hasil evaluasi generator alamat pada overlay Gambar 2.8 Hasil evaluasi generator alamat pada overlay Gambar 2.9 Aliran operasi CMAC dengan metoda Concatenation Gambar 2.10 Aliran operasi CMAC dengan metoda pemetaan langsung Gambar 2.11 Struktur dasar jaringan syaraf RBF Gambar 2.12 Operasi jaringan syaraf RBF dengan 2 masukan Gambar 2.13 Fungsi Gaussian Gambar 2.14 Penguat tak membalik Gambar 2.15 Penguat selisih Gambar 3.1 Diagram alir generator alamat Gambar 3.2 Diagram alir keluaran CMAC untuk alamatalamat yang aktif Gambar 3.3 Diagram alir pembaharuan bobot pada alamatalamat aktif CMAC Gambar 3.4 Diagram alir algoritma kontrol CMAC Gambar 3.5 Grafik jaringan RBF dengan 4 fungsi basis Gambar 3.6 Diagram alir perancangan jaringan RBF yang digunakan Gambar 3.7 Diagram alir perhitungan keluaran RBF 2 dimensi Gambar 3.8 Diagram alir algoritma kontrol RBF Gambar 3.9 Diagram alir program utama Gambar 3.9 Diagram alir program utama (Lanjutan)... 33

12 Gambar 3.10 Diagram blok hardware sistem pengatur suhu Gambar 3.11 Rangkaian DAC Gambar 3.12 Rangkaian Free Running ADC Gambar 3.13 Pengkondisi sinyal 0 5 Volt menjadi -5 5 Volt Gambar 3.14 Skema plant suhu dengan PWM driver Gambar 3.15 Rangkaian PWM Driver untuk Pemanas Gambar 3.16 Rangkaian minimum mikrokontroller dan RS Gambar 3.17 Diagram alir komunikasi serial mikrokontroller dan PC Gambar 4.1 Respon plant suhu secara ikal terbuka Gambar 4.2 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, gain proporsional 1,5, generalisasi 60 dan laju konvergensi 0, Gambar 4.2 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, gain proporsional 1,5, generalisasi 60 dan laju konvergensi 0,1 (Lanjutan) Gambar 4.3 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, gain proporsional 1,5, generalisasi 60 dan laju konvergensi 0, Gambar 4.4 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, generalisasi 60, laju konvergensi 0,1 dan gain proporsional 0, Gambar 4.5 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, generalisasi 60, laju konvergensi 0,1 dan gain proporsional Gambar 4.6 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan generalisasi Gambar 4.6 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan generalisasi 30 (Lanjutan) Gambar 4.7 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2

13 dan generalisasi Gambar 4.8 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, gain proporsional 1,5, Jumlah fungsi basis 5 dan laju konvergensi 0, Gambar 4.9 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, gain proporsional 1,5, Jumlah fungsi basis 5 dan laju konvergensi 0, Gambar 4.10 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, jumlah fungsi basis 5, laju konvergensi 0,1 dan gain proporsional 0, Gambar 4.10 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, jumlah fungsi basis 5, laju konvergensi 0,1 dan gain proporsional 0,5 (Lanjutan) Gambar 4.11 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, jumlah fungsi basis 5, laju konvergensi 0,1 dan gain proporsional Gambar 4.12 Respon transien suhu dengan kontrol RBF untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan jumlah fungsi basis Gambar 4.13 Respon transien suhu dengan kontrol RBF untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan junlah fungsi basis Gambar 4.13 Respon transien suhu dengan kontrol RBF untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan junlah fungsi basis 8 (Lanjutan) Gambar 4.14 Pengujian untuk mengetahui pengaruh bobot pembelajaran terhadap transien suhu pada kontrol CMAC Gambar 4.15 Pengujian untuk mengetahui pengaruh bobot pembelajaran terhadap transien suhu pada kontrol RBF Gambar 4.16 Pengujian referensi naik dengan jaringan syaraf CMAC Gambar 4.17 Pengujian refrensi naik dengan jaringan syaraf RBF Gambar 4.17 Pengujian refrensi naik dengan jaringan syaraf

14 RBF (Lanjutan) Gambar 4.18 Pengujian refrensi turun dengan jaringan syaraf CMAC Gambar 4.19 Pengujian refrensi turun dengan jaringan syaraf RBF Gambar 4.19 Pengujian refrensi turun dengan jaringan syaraf RBF (Lanjutan) Gambar 4.20 Pengujian gangguan pada jaringan syaraf CMAC Gambar 4.20 Pengujian gangguan pada jaringan syaraf CMAC (Lanjutan) Gambar 4.21 Pengujian gangguan pada jaringan syaraf RBF... 72

15 DAFTAR TABEL Tabel 3.1 Hubungan kebutuhan memori dengan jangkauan masukan terkuantisasi dengan parameter generalisasi yang dipilih Tabel 3.2 Hubungan besarnya generalisasi yang dipilih dengan kebutuhan memori maksimum CMAC dengan kuantisasi 8 bit Tabel 3.3 Alamat-alamat aktif untuk masukan-masukan tertentu pada CMAC dengan dua masukan, 8 bit dan generalisasi = Tabel 3.4 Pemberian nilai pada RD dan WR serta perubahan nilai Pada INTR Tabel 4.1 Hubungan antara banyaknya parameter generalisasi yang dipilih terhadap lama proses komputasi Tabel 4.2 Hubungan antara jumlah fungsi basis yang dipilih terhadap lama proses komputasi Tabel 4.3 Data parameter unjuk kerja sistem dengan kendali CMAC pada referensi 50 C, gain proporsional 1,5, dan generalisasi Tabel 4.4 Data parameter unjuk kerja sistem dengan kendali CMAC pada referensi 50 C, laju konvergensi 0,1, dan generalisasi Tabel 4.5 Data parameter unjuk kerja sistem dengan kendali CMAC pada referensi 50 C, laju konvergensi 0,1, dan gain proporsional Tabel 4.6 Data parameter unjuk kerja sistem dengan kendali RBF pada referensi 50 C, gain proporsional 1,5, dan jumlah fungsi basis Tabel 4.7 Data parameter unjuk kerja sistem dengan kendali RBF pada referensi 50 C, gain proporsional 1,5, dan jumlah fungsi basis Tabel 4.8 Data parameter unjuk kerja sistem dengan kontrol RBF pada referensi 50 C, laju konvergensi 0,1, dan gain proporsional Tabel 4.9 Data unjuk kerja jaringan syaraf CMAC dan RBF terhadap pengujian gangguan... 73

16 BAB I PENDAHULUAN 1.1 Latar Belakang Dalam perancangan sistem kontrol konvensional, parameter-parameter kontrol dihitung berdasarkan parameter plant. Secara praktis, parameter plant tersebut tidak diketahui, sehingga perancangan sistem kontrol harus diawali dengan proses identifikasi plant yang akan dikontrol. Untuk suatu plant yang kompleks, proses untuk mendapatkan parameter plant merupakan proses yang sulit dan memakan banyak waktu. Sebuah pendekatan dalam pengendalian plant yang parameterparameternya tidak diketahui dapat dilakukan dengan menggunakan jaringan syaraf tiruan. Tidak semua jenis jaringan syaraf tiruan cocok untuk mengendalikan plant secara on-line. Setiap jaringan syaraf tiruan memiliki kecepatan beradaptasi atau konvergensi yang berbeda, tergantung pada struktur jaringan dan algoritma pembelajaran yang digunakan. Oleh karena itu, untuk mengendalikan plant secara on-line dengan jaringan syaraf tiruan harus diketahui terlebih dahulu unjuk kerja dari masing-masing jaringan syaraf pada pengendalian plant secara on-line. Pada tugas akhir ini dilakukan pengujian terhadap unjuk kerja jaringan syaraf CMAC dan RBF pada pengendalian plant suhu secara on-line. Pengujian untuk membandingkan unjuk kerja kedua jaringan dilakukan melalui pengujian pengaruh bobot pembelajaran, pengujian referensi naik, pengujian referensi turun dan pemberian gangguan. Struktur pengendalian yang digunakan adalah Fixed Stabilising Controller. Unit kontroller yang digunakan untuk mengimplementasikan algoritma kontrol dengan jaringan syaraf tiruan CMAC dan RBF adalah PC (Personal Computer) karena mampu melakukan proses komputasi yang kompleks, memiliki ukuran memori yang besar dan memungkinkan membuat fasilitas tambahan untuk pengolahan data seperti recording dan monitoring.

17 1.2 Tujuan Tujuan yang ingin dicapai pada tugas akhir ini adalah membandingkan unjuk kerja jaringan syaraf tiruan CMAC dan RBF pada pengendalian plant suhu secara on-line. 1.3 Pembatasan Masalah Dalam pembuatan tugas akhir ini penulis membatasi permasalahan sebagai berikut : 1. Plant yang dikontrol adalah plant suhu dengan PWM Driver. 2. Jaringan syaraf yang diuji adalah CMAC dan RBF. 3. Algoritma yang digunakan untuk pembaharuan bobot jaringan syaraf adalah algoritma LMS. 4. Jangkauan pengaturan suhu yang diperbolehkan adalah 33º C sampai dengan 90º C. 5. Suhu plant dianggap merata di daerah yang diatur suhunya. 6. Suhu yang dijadikan referensi untuk perhitungan pada komputer adalah suhu hasil pembacaan dari sensor suhu LM35, tidak ada kalibrasi dengan peralatan pengukur suhu standar. 7. Perbandingan unjuk kerja dilakukan melalui pengujian pengaruh bobot pembelajaran, pengujian referensi naik, pengujian referensi turun dan pengaruh gangguan terhadap respon sistem. 8. Penentuan batasan nilai gain proporsional dan laju konvergensi yang digunakan pada pengujian dilakukan secara empiris. 9. Pengujian unjuk kerja dilakukan dengan pemilihan laju konvergensi dan gain proporsional secara acak yaitu masing masing sebesar 0,1 dan 2, serta pemilihan generalisasi dan fungsi basis secara trial and error sehingga memberikan kondisi optimal pada jaringan syaraf CMAC dan RBF. 10. Parameter respon yang dijadikan ukuran untuk membandingkan unjuk kerja adalah waktu penetapan dan lonjakan maksimum respon. 11. Pembuatan program bantu menggunakan bahasa visual Delphi 6.0, dan antarmuka melalui komunikasi serial, ADC 0804 dan DAC 0808.

18 12. Mikrokontroller AT89s51 hanya digunakan sebagai pengatur aliran data untuk komunikasi serial dan tidak membahas arsitektur serta pemrograman mikrokontroller secara detail. 13. Tidak membahas handshaking komunikasi serial. 1.4 Sistematika Penulisan Sistematika penulisan laporan tugas akhir adalah sebagai berikut: BAB I PENDAHULUAN Pada bab ini dibahas mengenai latar belakang, tujuan dan pembatasan masalah tugas akhir serta sistematika penulisan laporan. BAB II DASAR TEORI Bab ini berisi teori yang melandasi pembuatan tugas akhir ini, mulai dari teori dasar jaringan saraf tiruan, algoritma LMS, struktur pengendalian, jaringan syaraf CMAC, jaringan syaraf RBF, serta teori yang melandasi pembuatan hardware. BAB III PERANCANGAN Pada bab ini dibahas bagaimana merancang jaringan syaraf CMAC dan RBF, perancangan algoritma untuk kontrol CMAC dan RBF, serta perancangan perangkat lunak dan perangkat keras yang diperlukan untuk pengendalian plant suhu dengan jaringan syaraf CMAC dan RBF. BAB IV PENGUJIAN DAN ANALISIS Pada bab ini dibahas mengenai pengujian terhadap jaringan syaraf CMAC dan RBF serta pengujian untuk membandingkan unjuk kerja kedua jaringan. Pada bab ini juga dilakukan analis terhadap pengaruh masing masing parameter jaringan. BAB V PENUTUP Bab ini berisi kesimpulan terhadap hasil pengujian dan saran.

19 BAB II DASAR TEORI 2.1 Blok Diagram Kontrol Fixed Stabilising Controller Fixed stabilising controller merupakan salah satu arsitektur kontrol adaptif. Arsitektur kontrol ini diusulkan oleh Miller pada tahun 1987 dan Kraft pada tahun Blok diagram kontrol dengan skema fixed stabilising controller ditunjukkan pada Gambar 2.1. Gambar 2.1 Blok diagram kontrol dengan skema fixed stabilising controller Blok diagram fixed stabilising controller merupakan blok diagram sistem kontrol adaptif langsung dengan keluaran kontroller umpan balik penstabil digunakan untuk melatih model inverse. [3] Tujuan dari pembelajaran model inverse adalah memformulasikan sebuah pengendali, sehingga blok diagram kontrol plant secara keseluruhan memiliki fungsi alih satuan. Blok diagram kontrol fixed stabilising controller memiliki dua buah kalang, kalang pertama adalah kalang umpan balik penstabil dan kalang kedua adalah kalang pembelajaran model inverse. Pembelajaran model inverse dapat dilakukan menggunakan jaringan syaraf tiruan dan sebagai kontrol umpan balik penstabil dapat digunakan gain proporsional. Jaringan syaraf tiruan yang dipilih sebagai komponen pengendali harus memiliki laju konvergensi yang cepat,

20 sehingga tidak semua jaringan syaraf tiruan cocok diimplementasikan sebagai komponen pengendali plant secara on- line. [9] 2.2 Algoritma Least Mean Square (LMS) Algoritma LMS merupakan salah satu algoritma yang digunakan untuk pembelajaran atau update bobot jaringan syaraf. Algoritma ini banyak digunakan karena proses komputasinya sederhana. Algoritma LMS akan meminimalkan fungsi rata rata kuadrat error. [5] Secara matematis algoritma LMS untuk pembaharuan bobot jaringan syaraf dituliskan sebagai berikut : w(n+1) = w(n) + η.[d(n) y(n)].x(n)... (2.1) Dimana : w(n+1) : Bobot pada cacah ke n+1 w(n) : Bobot pada cacah ke n η : Laju konvergensi ( 0 < η < 1) x(n) : Masukan yang diboboti d(n) : Keluaran yang diinginkan y(n) : Keluaran aktual d(n) y(n) : Sinyal error yang merupakan data latih 2.3 Jaringan Syaraf Tiruan Jaringan syaraf tiruan merupakan salah satu bidang dalam sistem kontrol cerdas. Jaringan syaraf tiruan pada dasarnya merupakan fungsi pemetaan masukan ke keluaran sistem yang bebas model matematis atau dikenal dengan istilah estimator bebas model. Sistem ini memetakan kondisi ke aksi. Sistem-sistem dinamis yang dimodelkan tidak diekspresikan secara matematis menggunakan fungsi alih, tetapi direpresentasikan dengan menggunakan kotak fungsional yang mengestimasi fungsi-fungsi dari data pelatihan. [9] Jaringan syaraf tiruan dibentuk dengan meniru kerja dari neuron biologis dalam merespon stimulus yang diberikan kepadanya. Sifat ini kemudian di modelkan dalam suatu bentuk model neuron jaringan syaraf. Neuron adalah unit

21 pemroses informasi yang penting dalam operasi jaringan syaraf. Model dari neuron ini ditunjukkan pada Gambar 2.2. Gambar 2.2 Model neuron jaringan syaraf Tiap penghubung diasosiasikan dengan sebuah nilai bobot (w). Seperti pada sinapsis neuron sel saraf biologis, nilai bobot menentukan derajat pengaruh dari sebuah neuron ke neuron lainnya. Pengaruh dari sebuah neuron ke neuron yang lainnya merupakan hasil kali antara nilai keluaran dari neuron neuron yang masuk ke neuron yang bersangkutan dengan nilai bobot yang menghubungkan neuron tadi. Fungsi aktivasi berfungsi sebagai penghubung dari penjumlahan semua nilai masukan dengan nilai keluarannya. Salah satu sifat penting yang dimiliki jaringan syaraf tiruan adalah kemampuan jaringan untuk belajar dari lingkungan dan meningkatkan performansinya melalui pembelajaran. Proses pembelajaran jaringan dilakukan melalui proses iterasi terhadap bobot sinapsis. Idealnya jaringan syaraf menjadi adaptif terhadap perubahan setelah proses ini. Pembelajaran dapat diartikan sebagai proses dimana parameter bebas jaringan syaraf diadaptasi melalui proses kontinyu sebagai hasil pengaruh / stimulasi lingkungan dimana jaringan syaraf berada. [5] Dari definisi tersebut, dapat dicatat kejadian sekuensial sebagai berikut : 1. Jaringan syaraf dipengaruhi oleh lingkungan. 2. Terjadi perubahan dalam jaringan sebagai hasil stimulus pengaruh tersebut. 3. Jaringan syaraf merespon perubahan tersebut dengan cara yang baru, karena adanya perubahan pada struktur internalnya.

22 2.4 CMAC ( Cerrebellar Model Articulation Controller) CMAC merupakan satu jenis jaringan syaraf tiruan yang berusaha meniru pola kerja cerebellum (otak belakang) manusia. Secara teoritis otak belakang manusia ini berfungsi sebagai pengatur dan penyeimbang gerakan-gerakan motorik. Setiap rangsangan yang diterima oleh otak belakang ini dipercayai hanya akan mengaktifkan sekitar satu prosen dari total sel otak belakang yang mungkin jutaan bahkan milyaran jumlahnya. Dalam eksperimennya Albus berhasil mengimplementasikan CMAC ini sebagai pengendali manipulator robot (berkaitan dengan gerakan-gerakan motorik). Dalam perkembangan selanjutnya, CMAC ini banyak diadopsi untuk menyelesaikan permasalahan pada bidangbidang lain yang lebih luas, mulai dari analisis sinyal biologis (Wilson, 1991), pengenalan pola dan pemodelan sistem sampai bidang pengendalian (Miller, 1990). Istilah CMAC kemudian menjadi Cerebellum Model Arithmetic Computer (Miller, 1990). [3] Ditinjau dari jenis arsitektur atau strukturnya, CMAC dapat dimasukkan ke suatu kelas yang dinamakan AMN (Associative Memory Network). Jenis jaringan syaraf ini menyimpan informasi secara lokal. Hal ini menyebabkan laju pembelajaran akan berlangsung relatif lebih cepat dan secara efisien dapat diimplementasikan secara real time Struktur Dasar CMAC Struktur dasar CMAC memiliki banyak kemiripan dengan jaringan Perceptron yang diusulkan oleh Rosenblat (1961). Struktur dasar CMAC ditunjukkan pada Gambar 2.3. Gambar 2.3 Struktur dasar jaringan syaraf tiruan CMAC

23 Operasi CMAC ini dapat direpresentasikan kedalam dua buah pemetaan, f: x a dan g: a y, dengan x adalah vektor ruang masukan berdimensi n, a adalah vektor asosiasi berdimensi m sedangkan y adalah keluaran berdimensi 1. Dalam CMAC fungsi f(x) memetakan setiap titik ruang masukan x ke dalam sebuah vektor asosiasi A (sel-sel asosiasi yang aktif untuk sebuah titik ruang masukan tertentu), sedangkan y = g(a ) besarnya tergantung pada nilai bobot w yang mungkin nilainya berubah selama proses pembelajaran (learning). Keluaran jaringan CMAC dapat dituliskan sebagai berikut : y = g(a ) = w i... (2.2) i 1 Dalam perancangan CMAC, langkah awal yang harus dilakukan adalah menentukan jangkauan nilai ruang masukan, nilai tersebut selanjutnya dikuantisasi. Setelah nilai kuantisasi masukan didapat, langkah selanjutnya adalah memetakan nilai-nilai terkuantisasi ini pada sel-sel asosiasi CMAC berdasarkan parameter generalisasi lokal yang diinginkan. Generalisasi lokal ini berarti untuk setiap nilai masukan CMAC yang berdekatan, maka keluarannya akan berdekatan. Jika jarak nilai masukannya berjauhan, maka keluaran masing-masing akan independen. Secara teknis, penentuan parameter generalisasi ini dilakukan dengan menetapkan jumlah sel asosiasi aktif untuk setiap cacah titik masukan. Misalkan jika generalisasi sama dengan 4, maka untuk tiap titik masukan akan mengaktifkan sejumlah 4 sel asosiasi. Sel-sel asosiasi tertentu dapat diaktifkan oleh titik masukan yang berbeda Pemetaan Titik Ruang Masukan pada CMAC Salah satu permasalahan utama pada CMAC adalah pemetaan titik ruang masukan pada vektor asosiasi Aρ. Dalam hal ini diperlukan sebuah algoritma yang secara efesien dapat secara langsung memetakan titik-titik ruang masukan pada sel-sel asosiasi tertentu. Algoritma pemetaan pada CMAC ini dikenal sebagai generator alamat. Untuk kasus ruang masukan n dimensi, perumusan generator alamat dapat dituliskan sebagai berikut :

24 A ( q, l) 1 n i 2 q 1 l d 1 2 ( l 1) qi l di 2 ( i 1 j 1 n k 1 ( sk 1 1) sj 1 ( 1) )... (2.3) Pertama kali akan ditinjau pemetaan ruang masukan tunggal. Misalkan masukan terkuantisasi CMAC memiliki jangkauan nilai antara q min = 0 sampai q max = 9 (jumlah elemen ruang masukannya s = 10), generalisasi yang dipilih = 3, maka langkah yang harus dilakukan adalah sebagai berikut : 1. Membuat overlay pada ruang masukan sejumlah (dalam hal ini jumlah overlay = 3), kemudian membagi ruang masukan pada overlay pertama sejumlah N kotak (1 kotak penuh berisi elemen). 2. Menentukan vektor penggeseran (d = 1,2,... ) pada overlay pertama. Nilai vektor penggeseran ini menentukan jumlah elemen pada kotak pertama. Dalam kasus ini dipilih d = 1, sehingga kotak pertama berisi satu elemen sedangkan sisa 3 kotak masing-masing berisi 3 elemen (kotak penuh). Untuk overlay kedua dan seterusnya pembagian ruang masukan menjadi kotak-kotak secara langsung diperoleh dengan menggeser kotak pada overlay sebelumnya sepanjang satu elemen. Pemetaan masukan terkuantisasi CMAC 1 dimensi ditunjukkan pada Gambar 2.4. Pada dasarnya kotak-kotak ini merupakan sel-sel asosiasi hasil pemetaan dari nilai q yang dilingkupinya. Masukan terkuantisasi 0 akan mengaktifkan alamat memori a1, a5 dan a9, masukan terkuantisasi 1 akan mengaktifkan alamat memori a2, a5 dan a9 dan seterusnya. Gambar 2.4 Pemetaan masukan CMAC 1 dimensi

25 Dalam kasus ruang masukan dua dimensi atau lebih, pemetaan dapat dilakukan dengan teknik perangkaian (concatenation). [9] Teknik perangkaian dilakukan untuk setiap sel asosiasi pada overlay yang sama dengan urutan concatenation yang konsisten (urutan concatenation variabel masukan tidak boleh berubah ). Misalkan dimensi ruang masukan CMAC adalah 2 yaitu q 1 dan q 2 dengan nilai kuantisasi maksimum = 10 dan generalisasi = 3. Langkah awal untuk melakukan pemetaan adalah memetakan masing-masing masukan terkuantisasi tersebut. Untuk masukan tertentu, maka sel asosiasi yang aktif dihitung dengan merangkai sel-sel aktif pada overlay yang sama dalam format vektor bit. Setiap sel direpresentasikan oleh 4 bit, karena nilai maksimum sel asosiasi = 12. Misalkan untuk masukan terkuantisasi [q1 q2]= [2 3], sel-sel asosiasi aktif untuk masingmasing overlay dapat dihitung sebagai berikut : A (q,l) = A ([2 3],1)=A 2 && B 2 = 2 && 2 = 0010 && 0010 = (34) A (q,l) = A ([2 3],2)=A 6 && B 6 = 6 && 6 = 0110 && 0110 = (102) A (q,l) = A ([2 3],3)=A 9 && B 10 = 9 && 10 = 1001&& 1010 = (154) && adalah operator concatenation. Pemakaian metoda concatenation ini akan menyebabkan 2 hal berikut : 1. Memori yang harus disediakan bergantung terhadap dimensi ruang masukan dan jumlah kuantisasi tiap masukan. Untuk kasus diatas memori fisik yang disediakan untuk menyimpan bobot-bobot harus sama dengan A 12 && B 12 =1100 && 1100 = (204) lokasi. 2. Banyak memori yang tidak terpakai karena tidak pernah mungkin diaktifkan. Pendekatan lain dalam melakukan pemetaan dua atau lebih dimensi yaitu dengan menggunakan metoda pengalamatan langsung (direct addresing) [3]. Gambar 2.5 memperlihatkan bagaimana teknik pemetaan dilakukan untuk kasus yang telah dibahas sebelumnya. Langkah-langkah pemetaan ini sama dengan cara pemetaan satu dimensi, tetapi konsep kotak diperluas menjadi hypercube (untuk kasus multi dimensi). Dari Gambar 2.5 tampak bahwa sebuah titik masukan tertentu akan terpetakan pada sebuah hypercube untuk setiap overlay. Untuk titiktitik masukan yang paling berdekatan akan terpetakan pada maksimal 2 buah hypercube yang sama. Semakin jauh jarak titik masukan, maka hypercube hasil

26 pemetaan akan semakin independen. Misalkan, titik masukan [q 1 q 2 ] =[0 0] akan terpetakan akan terpetakan pada alamat memori [a 1 a 17 a 33 ] dan titik masukan [q 1 q 2 ] =[1 0] akan terpetakan pada alamat memori [a 2 a 17 a 33 ] dan seterusnya Overlay Overlay Overlay Masukan 2 Masukan 1 Gambar 2.5 Pemetaan 2 dimensi untuk tiap titik ruang masukan dengan pemetaan langsung Evaluasi terhadap alamat yang aktif untuk masukan terkuantisasi tertentu pada tiap layer ditunjukkan pada Gambar 2.6, Gambar 2.7 dan Gambar 2.8. Masukan [q1 q2] = [0 0] pada overlay 1 akan mengaktifkan alamat memori 0, pada overlay 2 akan mengaktifkan alamat memori 17 dan pada overlay 3 akan

27 mengaktifkan alamat memori 33. Pada pemetaan ruang masukan dengan metode pemetaan langsung, perbandingan pemakaian memori dengan memori yang harus tersedia (utility ratio) adalah 100 %. Gambar 2.6 Hasil evaluasi generator alamat pada overlay 1 Gambar 2.7 Hasil evaluasi generator alamat pada overlay 2

28 Gambar 2.8 Hasil evaluasi generator alamat pada overlay Kotak Operasi CMAC Kotak operasi CMAC menunjukkan aliran operasi CMAC dari masukan sampai diperoleh keluaran CMAC. Gambar 2.9 menunjukkan kotak operasi CMAC dengan metode pemetaan concatenation dan Gambar 2.10 menunjukkan kotak operasi CMAC dengan metode pemetaan langsung. Gambar 2.9 Aliran operasi CMAC dengan metoda concatenation Pada kotak operasi CMAC dengan metode pemetaan concatenation, setiap masukan terkuantisasi akan mengaktifkan alamat memori tertentu. Pemetaan nilai masing masing masukan terkuantisasi ke alamat memori ini dilakukan dengan

29 metode pemetaan 1 dimensi. Operator concatenation akan menggabungkan memori yang diaktifkan oleh setiap masukan terkuantisasi sehingga diperoleh alamat memori yang akan aktif oleh n masukan. Gambar 2.10 Aliran operasi CMAC dengan metoda pemetaan langsung Pada kotak operasi CMAC dengan metode pemetaan langsung, n masukan akan diolah secara bersamaan dengan algoritma generator alamat tertentu. Hasil pengolahan dengan algoritma generator alamat berupa alamat yang aktif untuk n masukan tersebut Algoritma Pelatihan CMAC secara Iteratif Langkah 1 : Inisialisasi bobot awal jaringan, w = [ ] dan set besarnya laju konvergensi yang digunakan ( 0 < η <1). Langkah 2 : Untuk setiap sinyal latih x : t, kerjakan langkah 3 sampai selesai Langkah 3 : Kuantisasi masukan x, x q. Langkah 4 : Tentukan alamat bobot yang aktif untuk setiap overlay ( l =1,2,... ) dengan generator alamat. Langkah 5 : Hitung keluaran CMAC. Keluaran CMAC dihitung secara langsung dengan menjumlahkan bobot-bobot pada memori yang aktif, y = W i. i 1

30 Langkah 6 Langkah 7 : Hitung kesalahan (error) antara keluaran terharap (d) dengan keluaran CMAC (y), error = d y. : Update bobot-bobot pada alamat yang aktif dengan metoda LMS. 2.5 RBF (Radial Basis Function) RBF (φ) merupakan fungsi dimana keluarannya simetris terhadap center c tertentu atau dinyatakan sebagai φ c = φ x - c, dimana. merupakan vektor normal. Jaringan syaraf yang dibentuk dengan menggunakan fungsi basis berupa fungsi basis radial dinamakan Jaringan Syaraf RBF Strutur Dasar RBF Jaringan RBF terdiri atas 3 layer yaitu layer input, hidden layer / kernel layer (unit tersembunyi) dan layer output. [15] Masing masing unit tersembunyi merupakan fungsi basis radial. Fungsi basis radial ini diasosiasikan oleh lebar dan posisi center dari fungsi basis tersebut. Struktur dasar jaringan RBF ditunjukkan pada Gambar Gambar 2.11 Struktur dasar jaringan syaraf RBF. Jaringan syaraf RBF berbeda dengan jaringan syaraf CMAC. Setiap input dari jaringan ini akan mengaktifkan semua fungsi basis pada hidden layer. Setiap unit dari hidden layer merupakan fungsi basis. Di dalam hidden layer terdapat sejumlah fungsi basis yang sejenis. Setiap fungsi basis akan menghasilkan sebuah

31 keluaran dengan bobot tertentu. Output jaringan ini merupakan jumlah dari seluruh output fungsi basis dikalikan dengan bobot masing masing. Operasi jaringan RBF dengan 2 masukan ditunjukkan oleh struktur pada Gambar [11] Setiap masukan akan mengaktifkan seluruh fungsi basis pada jaringan RBF. Masukan pertama (x1) akan mengaktifkan fungsi basis φ1 sampai fungsi basis ke φn dan masukan kedua (x2) juga akan mengaktifkan fungsi basis φ1 sampai fungsi basis ke φn, sehingga setiap fungsi basis pada jaringan RBF akan diaktifkan oleh 2 masukan. Keluaran fungsi basis yang diaktifkan oleh 2 masukan dihitung dengan mengalikan keluaran fungsi basis akibat masukan x1 dan keluaran fungsi basis akibat masukan x2. Keluaran tiap fungsi basis ini kemudian diboboti dengan bobot tertentu yaitu w1 sampai dengan wn. Keluaran jaringan RBF dihitung dengan menjumlahkan seluruh hasil perkalian antara keluaran tiap fungsi basis dengan bobotnya sendiri. Gambar 2.12 Operasi jaringan syaraf RBF dengan 2 masukan Fungsi basis pada jaringan RBF identik dengan dengan fungsi gaussian yang diformulasikan sebagai berikut : φ j = e _ x 2 c j 2 j 2... (2.4) Dimana :

32 c j = Center fungsi gausiaan ke - j σ j = Lebar fungsi gausiaan ke - j x = Masukan fungsi basis φ j = Keluaran fungsi basis ke j oleh masukan x Representasi grafis fungsi gaussian ditunjukkan pada Gambar σ φ j = e _ x c j 2 2 j 2 Gambar 2.13 Fungsi gaussian Pada setiap jaringan RBF biasanya digunakan lebih dari 1 buah fungsi basis. Tiap tiap fungsi basis mempunyai 1 center dan 1 bobot tertentu sehingga jumlah center dan bobot memori yang digunakan sama dengan jumlah fungsi basis yang digunakan Strategi Pembelajaran Jaringan RBF [12] Berdasarkan rumus fungsi gaussian pada persamaan 2.4 dan struktur dasar jaringan RBF, dapat diusulkan beberapa strategi pembelajaran pada jaringan RBF sebagai berikut : 1. Posisi center pada fungsi basis 2. Lebar dari fungsi basis 3. Bobot keluaran setiap fungsi basis Pada tugas akhir ini strategi pembelajaran yang digunakan adalah pembelajaran bobot keluaran tiap fungsi basis Algoritma Pelatihan RBFN secara Iteratif Langkah 1 : Menentukan jumlah fungsi basis yang akan digunakan. Langkah 2 : Menentukan center tiap fungsi basis. Langkah 3 : Menyediakan bobot sebanyak fungsi basis. Langkah 4: Inisialisasi bobot, w = [ ] dan set laju konvergensi yang

33 digunakan ( 0 < η <1). Langkah 5 : Untuk setiap sinyal latih kerjakan langkah 6 selesai. Langkah 6 : Hitung keluaran tiap fungsi basis. Langkah 7 : Hitung keluaran jaringan RBF. Langkah 8 : Hitung kesalahan (error) antara keluaran terharap (d) dengan keluaran RBF y, error =d y. Langkah 9: Update bobot-bobot tiap fungsi basis dan bobot basis dengan metoda LMS Penguat Operasional (Operasional Amplifier) [4] Penguat operasional adalah rangkaian terpadu (IC) yang mempunyai 5 buah terminal dasar. Dua terminal untuk catu daya, 2 yang lain digunakan untuk isyarat masukan yang berupa masukan membalik (-) dan masukan tak membalik (+) serta 1 terminal digunakan untuk keluaran Penguat Tak Membalik (Non-inverting Amplifier) Penguat tak membalik merupakan suatu penguat dimana tegangan keluarannya atau Vo mempunyai polaritas yang sama dengan tegangan masukan atau Vi. Rangkaian penguat tak membalik ditunjukkan pada Gambar Gambar 2.14 Penguat tak membalik Arus i mengalir ke Ri karena impedansi masukan op amp sangat besar sehingga tidak ada arus yang mengalir pada kedua terminal masukannya. Tegangan pada Ri sama dengan Vi karena perbedaan tegangan pada kedua terminal masukannya mendekati 0 V.

34 Vi i = Ri... (2.5) Tegangan pada R f dapat dinyatakan sebagai V Rf = I R f = Rf Ri xvi... (2.6) Tegangan keluaran Vo didapat dengan menambahkan tegangan pada Ri yaitu Vi dengan tegangan pada Rf yaitu V Rf. Vo = Vi + Rf Ri x Vi... (2.7) Vo Rf 1... (2.8) Vi Ri Penguat Selisih (Differensial amplifier) Penguat selisih merupakan suatu penguat dimana tegangan outputnya merupakan selisih dari tegangan input yang dimasukkan ke kedua terminal masukannnya. Rangkaian penguat selisih ditunjukkan pada Gambar Gambar 2.15 Penguat selisih Nilai tegangan output Vo dapat dihitung dengan teori superposisi sebagai berikut : 1. Saat V2 ditanahkan, maka penguat selisih akan membentuk penguat tak membalik. Tegangan yang masuk ke terminal tak - membaliknya merupakan tegangan yang terbagi yaitu Rb V V1... (2.9) Ra Rb Tegangan ini mengalami penguatan sebesar Rf ( +1), sehingga output Ri akibat V2 ditanahkan (Vo1) adalah

35 Rf Rb Vo1 ( 1) V1... (2.10) Ra Ra Rb 2. Saat V1 ditanahkan, maka akan terbentuk penguat membalik dengan penguatan sebesar Rf adalah Vo2 = - Ri Rf. Tegangan output akibat V1 ditanahkan (Vo2) Ri V2. Tegangan output dari penguat selisih adalah penjumlahan dari tegangan Vo1 dan Vo2. Vo Vo1 Vo2... (2.11) Rf Rb Rf Vo ( 1) V1 V 2... (2.12) Ra Ra Rb Ri Untuk nilai Rf = Ri = Ra = Rb = R maka : Vo V1 V 2... (2.13) Pembanding (Comparator) Pembanding berfungsi untuk membandingkan 2 buah level tegangan yang masuk ke terminal masukan op amp. Pembanding hanya mempunyai 2 level keluaran yaitu +V sat dan V sat. Keluaran pembanding akan berharga +V sat jika level tegangan masukan pada terminal tak - membalik lebih besar dari level tegangan masukan pada terminal membalik, dan akan berharga -V sat jika level tegangan masukan pada terminal tak - membalik lebih kecil dari level tegangan masukan pada terminal membalik.

36 BAB III PERANCANGAN 3.1 Perancangan Kontrol Jaringan Syaraf Tiruan CMAC dan RBF Perancangan kontrol jaringan syaraf tiruan CMAC dan RBF dilakukan untuk memberikan batasan terhadap besarnya parameter kontroller yang digunakan. Parameter kontroller tersebut meliputi gain proporsional, laju konvergensi, generalisasi pada jaringan syaraf CMAC dan jumlah fungsi basis pada jaringan syaraf RBF. Perancangan juga diperlukan untuk menyusun algoritma kontrol CMAC dan RBF yang akan diimplementasikan pada komputer Penentuan Nilai Gain Proporsional Jaringan Syaraf CMAC dan RBF Nilai gain proporsional yang digunakan pada pengontrolan ditentukan secara empiris. Secara praktis nilai gain proporsional yang dipilih dibatasi oleh tegangan maksimum DAC yang digunakan. Karena dalam pengujian ini tegangan maksimum DAC adalah 5 volt, maka diusahakan sinyal kendali proporsional pada saat awal tidak melebihi 5 volt. Pada referensi suhu maksimum yang diperbolehkan ( 90 C ), tegangan yang dikirimkan ke DAC adalah ± 2,99 volt. Pada kondisi awal suhu yang terbaca oleh ADC adalah suhu lingkungan karena pemanas masih mati yaitu ± 30 C. Hasil pembacaan ADC pada kondisi awal ini adalah ± 0,99 V. Besarnya sinyal error adalah 2,99 V 0,99 V = 2,0 V. Agar tidak melampaui batas maksimum DAC maka besarnya gain maksimal yang boleh diberikan adalah sebesar 5 / 2,00 = 2,5. Untuk nilai referensi lebih kecil dari referensi maksimal yang diperbolehkan, besarnya gain proporsional maksimal bisa disesuaikan, sehingga sinyal kontrol pada keadaan awal tidak melebihi 5 volt Penentuan Nilai Laju Konvergensi Jaringan Syaraf CMAC dan RBF Secara teoritis, besarnya laju konvergensi yang dipilih akan menentukan kecepatan pembaharuan bobot jaringan. Jika laju konvergensi yang dipilih relatif kecil, maka kecepatan pembelajaran akan berjalan secara lambat, sedangkan jika

37 laju konvergensi yang dipilih relatif besar, maka dimungkinkan terjadinya over corrected pada bobot-bobot yang diperbaharui. Pemilihan besarnya laju konvergensi yang digunakan pada pengontrolan dilakukan secara empiris. Pada tugas akhir ini nilai laju konvergensi yang dipilih antara 0,05 sampai dengan 0, Perancangan Kontrol Jaringan Syaraf CMAC Perancangan kontrol jaringan syaraf CMAC dilakukan untuk merancang jaringan syaraf CMAC yang akan digunakan. Perancangan jaringan syaraf CMAC meliputi perancangan jangkauan masukan terkuantisasi, perancangan generalisasi dan perancangan algoritma kontrol jaringan syaraf CMAC. A. Penentuan Jangkauan Masukan Terkuantisasi Besarnya jangkauan nilai masukan terkuantisasi secara langsung akan menentukan besarnya memori yang harus disediakan. Semakin besar nilai jangkauan terkuantisasi yang dipilih, kebutuhan memori akan semakin besar. Di lain pihak dengan semakin besarnya nilai jangkauan ini, kemampuan CMAC dalam memodelkan masukan akan semakin halus. Dengan demikian, perlu dilakukan kompromi dalam menentukan jangkauan masukan ini. Faktor lain yang perlu diperhatikan adalah ketelitian dari antarmuka yang digunakan dalam hal ini adalah ADC. Jika digunakan ADC dengan ketelitian 8 bit, maka jangkauan kuantisasi maksimumnya adalah 255. Tabel 3.1 Hubungan kebutuhan memori dengan jangkauan masukan terkuantisasi dengan parameter generalisasi yang dipilih 50. Kuantisasi Jangkauan Masukan Kebutuhan Memori 8 bit bit bit bit bit Pada tugas akhir ini digunakan ADC 8 bit sehingga hasil konversi ADC sudah merupakan masukan terkuantisasi keluaran plant bagi jaringan syaraf CMAC karena berupa byte dengan jangkauan Proses kuantisasi diperlukan untuk masukan suhu referensi dengan perhitungan sebagai berikut :

38 Kuantisasi referensi = ceil [ Suhu referensi *255/150 ).... (3.1) B. Penentuan Generalisasi Besarnya generalisasi yang dipilih juga berpengaruh secara langsung terhadap kebutuhan memori dan kecepatan proses komputasi. Sebagai bahan ilustrasi, hubungan antara nilai generalisasi yang dipilih dengan kebutuhan memori CMAC ditunjukkan pada Tabel 3.2. Secara teknis, besarnya generalisasi yang dipilih adalah bebas karena pada bahasa pemrograman visual tersedia memori yang besar. Beban komputasi juga tidak menjadi masalah karena proses komputasi dilakukan dalam timer dengan sampling waktu tertentu sehingga kecepatan proses tidak berpengaruh. Pertimbangan yang digunakan dalam pemilihan generalisasi adalah jumlah masukan terkuantisasi. Jika generalisasi yang digunakan jauh melebihi jangkauan maksimum masukan terkuantisasi, maka teori generalisasi lokal menjadi tidak berarti. Pada tugas akhir ini generalisasi maksimal yang diperbolehkan adalah 255. Tabel 3.2 Hubungan besarnya generalisasi yang dipilih dengan kebutuhan memori maksimum CMAC dengan kuantisasi 8 bit. Parameter generalisasi Kebutuhan Memori C. Perancangan Algoritma Kontrol Jaringan Syaraf Tiruan CMAC Pembuatan perangkat lunak untuk kontrol jaringan syaraf CMAC dan RBF harus didahului oleh perancangan algoritma kontrol. Selain untuk memudahkan proses pembuatan perangkat lunak, pada kontrol jaringan syaraf CMAC diperlukan beberapa prosedur tambahan seperti prosedur generator alamat dan prosedur untuk update bobot jaringan, sehingga setiap prosedur memerlukan perancangan algoritma tersendiri.

39 Prosedur untuk menghitung generator alamat ditunjukkan oleh diagram alir pada Gambar 3.1. Ada dua buah variabel yang menjadi masukan CMAC, yaitu suhu referensi dan suhu plant. Untuk jumlah generalisasi yang digunakan (generalisasi), maka alamat[i] merupakan vektor yang digunakan untuk menunjukkan alamat yang diaktikan pada layer ke i. Proses perhitungan generator alamat dilakukan oleh prosedur yang merepresentasikan persamaan 2.3. Gambar 3.1. Diagram alir generator alamat Sebagai bahan ilustrasi, Tabel 3.3 memperlihatkan alamat-alamat yang diaktifkan oleh generator alamat dengan spesifikasi jumlah variabel masukan ada 2 yaitu q1 dan q2, masing-masing masukan dikuantisasi sepanjang 8 bit dan generalisasi yang dipilih adalah 5. Untuk nilai-nilai masukan paling berdekatan, maka ada 4 alamat yang saling overlap, sedangkan untuk nilai-nilai masukan yang berjauhan, alamat-alamat yang diaktifkan akan saling tidak overlap. Masukan [q1 q2] = [0 0], akan mengaktifkan memori pada alamat 1, 2075, 5409, 8113 dan 10817, sedangkan masukan [q1 q2] = [0 1], akan mengaktifkan memori pada

40 alamat 53, 2075, 5409, 8113 dan Kondisi ini menunjukkan berlakunya prinsip generalisasi lokal. Tabel 3.3 Alamat-alamat aktif untuk masukan-masukan tertentu pada CMAC dengan dua masukan, 8 bit dan generalisasi = 5. Masukan Terkuantisasi Alamat-alamat yang diaktifkan generator alamat q1 q2 Overlay 1 Overlay 2 Overlay 3 Overlay 4 Overlay Prosedur untuk menghitung keluaran CMAC ditunjukkan oleh diagram alir pada Gambar 3.2. Keluaran CMAC dapat dihitung secara langsung dengan menjumlahkan seluruh bobot-bobot yang tersimpan pada alamat-alamat yang diaktifkan. Dalam hal ini memori_cmac adalah array untuk menyimpan bobotbobot CMAC pada alamat yang diaktifkan. Keluaran CMAC disimpan dalam variabel out_cmac. Gambar 3.2 Diagram alir perhitungan keluaran CMAC untuk alamat-alamat yang aktif

41 Prosedur untuk update bobot jaringan CMAC ditunjukkan oleh diagram alir pada Gambar 3.3. Pembaharuan bobot CMAC dilakukan dengan algoritma LMS. Bobot pada alamat-alamat yang diaktifkan diperbaharui secara proporsional terhadap laju konvergensi dan keluaran gain proporsional. Nilai bobot yang disimpan pada memori_cmac diperbaharui dengan algoritma LMS dan hasil pembaharuan disimpan dengan variabel yang sama yaitu memori_cmac. Gambar 3.3. Diagram alir pembaharuan bobot pada alamat-alamat aktif CMAC Diagram alir proses pengendalian dengan jaringan syaraf CMAC keseluruhan ditunjukkan oleh diagram alir pada Gambar 3.4. Proses awal merupakan proses setting parameter kontrol CMAC yang meliputi setting generalisasi, setting gain proporsional dan setting laju konvergensi yang digunakan. Proses kontrol diawali dengan pembacaan suhu plant (ouput) dan referensi suhu (referensi). Hasil pembacaan suhu plant sudah merupakan masukan terkuantisasi bagi jaringan syaraf CMAC karena berupa byte. Proses kuantisasi diperlukan untuk referensi suhu (intref). Sinyal error yang merupakan selisih antara suhu plant dan suhu referensi digunakan untuk menghitung keluaran gain proporsional. Di sisi lain, suhu plant dan suhu referensi digunakan sebagai masukan untuk jaringan syaraf. Sinyal kontrol yang dikirimkan ke plant adalah penjumlahan dari keluaran jaringan syaraf dan keluaran gain proporsional. Proses

42 selanjutnya adalah pembaharuan bobot jaringan dengan menggunakan algoritma LMS dengan menggunakan data latih berupa keluaran gain proporsional. Gambar 3.4. Diagram alir algoritma kontrol CMAC Perancangan Kontrol Jaringan Syaraf RBF Perancangan kontrol RBF dilakukan untuk merancang jaringan RBF yang akan digunakan. Perancangan jaringan RBF meliputi perancangan fungsi basis yang digunakan dan perancangan algoritma kontrol RBF yang akan diimplementasikan pada komputer.

43 A. Penentuan Fungsi Basis pada Jaringan RBF Pada tugas akhir ini keluaran ADC dinormalisasi dalam masukan jaringan RBF pada dalam jangkauan 0 5. Secara teoritis jumlah fungsi basis yang dipilih bebas, namun dengan adanya normalisasi tersebut diperlukan batasan jumlah maksimum fungsi basis yang digunakan. Jika jumlah fungsi basis yang dipilih terlalu banyak maka lebar fungsi basis yang terjadi akan menjadi sangat sempit, sehingga tiap center jaringan RBF menjadi berimpitan. Jumlah fungsi basis maksimal ditentukan sebesar15. Center dari masing masing fungsi basis dihitung sebagai berikut : for i:=1 to sum_basis do c[i]:=(7/(sum_basis+1))*i; dimana c[i] = Nilai center dari fungsi basis ke [i]. Deviasi yang menentukan kelengkungan dari tiap fungsi basis ditentukan dengan persamaan : Deviasi (σ) = c[1]/3,05... (3.2) Misalkan, jika jumlah fungsi basis yang dipilih adalah 4, maka nilai center tiap fungsi basis adalah : c [ 1 ] = (7/(4 + 1)) * 1 = 1,4 c [ 2 ] = (7/(4 + 1)) * 2 = 2,8 c [ 3 ] = (7/(4 + 1)) * 3 = 4,2 c [ 4 ] = (7/(4 + 1)) * 4 = 5,6 Deviasi dari masing masing fungsi basis yang terbentuk dihitung sebagai berikut : Deviasi (σ) = 1,4 / 3,05 = 0,459 Secara grafis jaringan syaraf RBF yang dibentuk oleh 4 fungsi basis ditunjukkan pada Gambar 3.5. Masukan Gambar 3.5. Grafik jaringan RBF dengan 4 fungsi basis

44 Pada jaringan RBF, 1 fungsi basis mempunyai 1 bobot sehingga jumlah memori yang dibutuhkan untuk menyimpan bobot adalah sebanyak fungsi basis yang digunakan + 1. Tambahan 1 memori adalah untuk menyimpan bobot basis. B. Perancangan Algoritma Kontrol Jaringan Syaraf Tiruan RBF Tahap pertama yang perlu dilakukan pada perancangan algoritma kontrol jaringan syaraf RBF adalah merancang jaringan RBF yang akan digunakan. Untuk membentuk jaringan RBF diperlukan lebih dari 1 fungsi basis. Dengan masukan ternomalisasi antara 0 5 dan jumlah fungsi basis maksimal yang diperbolehkan adalah 15, proses perancangan jaringan RBF yang akan digunakan ditunjukkan oleh diagram alir pada Gambar 3.6. Proses perancangan jaringan RBF meliputi penentuan jumlah fungsi basis yang digunakan, perhitungan center tiap fungsi basis dan penentuan deviasi masing masing fungsi basis. Gambar 3.6. Diagram alir perancangan jaringan RBF yang digunakan Langkah berikutnya adalah menghitung keluaran jaringan RBF dengan masukan yang diberikan yaitu suhu referensi dan suhu plant. Algoritma untuk

45 menghitung keluaran jaringan RBF 2 masukan ditunjukkan oleh diagram alir pada Gambar 3.7. Proses perhitungan keluaran jaringan RBF 2 dimensi diawali dengan proses pembacaan data masukan yang berupa suhu referensi (referensi) dan suhu plant (output). Kedua masukan tersebut kemudian dinormalisasi pada range 0-5. Keluaran fungsi basis yang diaktifkan oleh 2 masukan dihitung dengan mengalikan keluaran fungsi basis akibat masukan suhu referensi dan keluaran fungsi basis akibat suhu plant (outb[i,i]). Setiap keluaran fungsi basis dikalikan dengan bobotnya sendiri dan disimpan pada variabel outputb[i,i]. Proses terakhir adalah menjumlahkan seluruh hasil kali keluaran tiap fungsi basis dengan bobotnya sendiri kemudian ditambahkan dengan bobot basis (wb). Keluaran jaringan syaraf 2 dimensi ini disimpan pada variabel outrbforde2. Gambar 3.7. Diagram alir perhitungan keluaran RBF 2 dimensi Aplikasi algoritma kontrol jaringan syaraf tiruan RBF secara keseluruhan ditunjukkan oleh diagram alir pada Gambar 3.8. Proses kontrol diawali dengan

46 setting parameter jaringan RBF yang meliputi jumlah fungsi basis yang digunakan, gain proporsional dan laju konvergensi jaringan. Berdasarkan data parameter yang telah ditentukan, kemudian dirancang jaringan RBF sesuai dengan algoritma yang sudah ditentukan. Sinyal error yang merupakan selisih antara suhu plant dan suhu referensi dalam level tegangan digunakan untuk menghitung keluaran gain proporsional. Di sisi lain, suhu plant dan suhu referensi digunakan sebagai masukan untuk jaringan syaraf. Sinyal kontrol yang dikirimkan ke plant adalah penjumlahan dari keluaran jaringan syaraf RBF dan keluaran gain proporsional. Proses selanjutnya adalah pembaharuan bobot jaringan dengan menggunakan algoritma LMS menggunakan data latih berupa keluaran gain proporsional. Gambar 3.8. Diagram alir algoritma kontrol RBF

47 3.2 Perancangan Perangkat Lunak (Software) Perangkat lunak yang digunakan adalah bahasa pemrograman Delphi versi 6.0. Perangkat lunak ini berfungsi untuk membuat program aplikasi kontrol dengan jaringan syaraf CMAC dan jaringan syaraf RBF. Disamping itu, juga digunakan untuk membuat program monitor terhadap kondisi suhu plant yang dikontrol dengan menampilkan grafik tanggapan respon. Garis besar program utama kontrol dengan jaringan syaraf CMAC dan RBF yang dibuat ditunjukkan oleh diagram alir pada Gambar 3.9. Gambar 3.9 Diagram alir program utama

48 Gambar 3.9 Diagram alir program utama (Lanjutan) Proses inisialisasi meliputi inisialisasi port serial yang digunakan untuk komunikasi antara PC dengan rangkaian antarmuka yang meliputi: port, baudrate, databits, stopbits dan parity, inisialisasi variabel yang digunakan, dan inisialisasi file yang digunakan untuk penyimpanan. Program inisialisasi ini dimasukkan dalam prosedur Formcreate sebagai berikut : procedure TFjst.FormCreate(Sender: TObject); // Inisialisasi port serial serial.port := pncom1; serial.baudratevalue :=9600; serial.databits := db8bits; serial.stopbits := sb1bits; serial.swflow := sfnone; serial.parity := ptnone; serial.connect; serial.sendbyte(0); // Inisialisasi komponen Mainmenu1.Items.Items[3].Items[0].Enabled:=false; Mainmenu1.Items.Items[3].Items[1].Enabled:=false;

49 Chart1.BottomAxis.Maximum:=15; ScrollBar1.LargeChange:=batas_maks; ScrollBar1.Visible:=true; // Inisialisasi variabel dan bobot dy:=0; dx:=0; datax:=0; hitung:=0; online:=true; // Inisialisasi file yang digunakan untuk penyimpanan assignfile(f_cmac,'d:\data_cmac.txt'); rewrite(f_cmac); closefile(f_cmac); assignfile(f_rbf,'d:\data_rbf.txt'); rewrite(f_rbf); closefile(f_rbf); assignfile(f,'d:\data.xls'); rewrite(f); closefile(f); assignfile(f,'d:\data.xls'); append(f); writeln(f,'sampling',#9,'referensi',#9,'out NN',#9,'Out Gain',#9,'Control u',#9,'output',#9,'error'); closefile(f); Software Jaringan Syaraf CMAC Untuk mengaplikasikan jaringan syaraf CMAC pada komputer diperlukan fungsi atau prosedur tambahan yang mendukung proses komputasi pada jaringan syaraf CMAC. Fungsi atau prosedur tersebut adalah prosedur menghitung jumlah memori maksimal yang harus disediakan, inisialisasi bobot awal, fungsi kuantisasi 8 bit dan fungsi pemetaan masukan terkuantisasi ke alamat memori tertentu (generator alamat). Fungsi atau prosedur pendukung tersebut dituliskan dalam listing program sebagai berikut : // Procedure menghitung memori maksimal yang harus disediakan procedure hitung_memoricmac; referensi := 255; output:=255; memoricmac_maks:=generator_alamat(referensi,output,generalisa si,generalisasi); // Procedure inisialisasi awal bobot cmac procedure initbobot;

50 for i:=1 to memoricmac_maks do bobot[i]:=0; memori_cmac[i]:=0; //Fungsi kuantisasi 8 bit Function kuant8bit(var input:real):real; kuant8bit:=ceil((input*255)/suhu_maks); //Fungsi generator alamat Function generator_alamat(var dref:real;dfback:byte;layer,gen: integer):integer; var temp1,temp2, temp3 : integer; temp1:=1 + ceil((dref-layer+1)/gen); temp2:=(layer-1)*(ceil(255/gen)+1)*(ceil(255/gen)+1); temp3:=(ceil(255/gen)+1)*(ceil((dfback-layer+1)/gen)); generator_alamat:=temp1+temp2+temp3; Prosedur hitung_memoricmac digunakan untuk menghitung kebutuhan memori maksimal yang diperlukan. Prosedur initbobot digunakan untuk inisialisasi bobot awal CMAC. Vektor yang disediakan disesuaikan dengan kebutuhan memori maksimal yang diperlukan. Fungsi kuant8bit digunakan untuk mengkuantisasi referensi yang mempunyai level C ke level byte Fungsi generator_alamat digunakan untuk menentukan alamat memori yang aktif oleh parameter referensi, keluaran plant, dan generalisasi yang digunakan. Program kontrol dengan jaringan syaraf CMAC dituliskan pada prosedur timer_cmac.timer. procedure TFjst.Timer_cmacTimer(Sender: TObject); // Baca output suhu plant---> masukan terkuantisasi serial.sendchar('#'); sleep(1); serial.readbyte(output); // Hitung sinyal error dan output gain proporsional error:= (referensi/pembagi )- (output/51); controlp:=error*gain; // Kuantisasi input referensi intref:=kuant8bit(referensi);

51 // Hitung keluaran cmac out_cmac:=0; for i:=1 to generalisasi do alamat[i]:=generator_alamat(intref,output,i,generalisasi); out_cmac:=out_cmac + memori_cmac[alamat[i]]; // Hitung sinyal kendali plant sinyal_kontrol:=controlp+out_cmac; lama:= hitung_milidetik(durasi); // Catat data ke file str((output*suhu_maks/255):2:2,datay); AssignFile(F,'d:\data.xls'); append(f); Writeln(F,inttostr(lama),#9,floattostr(referensi),#9,floattos tr(out_cmac),#9,floattostr(controlp),#9,floattostr(sinyal_ kontrol),#9,datay,#9,floattostr((referensi/pembagi)- (output/51))); CloseFile(F); // Update bobot jaringan for i:=1 to generalisasi do index:=alamat[i]; memori_cmac[index]:=memori_cmac[index] + laju_cmac * controlp/generalisasi; // Kirim sinyal kontrol sinyalcontrol := round(sinyal_kontrol * 51); if sinyalcontrol > 255 then sinyalcontrol:= 255; if sinyalcontrol < 0 then sinyalcontrol:= 0; serial.sendbyte(sinyalcontrol); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); // Plot grafik respon datax:=datax ; Chart1.series[0].SeriesColor:=clred; Chart1.Series[0].AddXY(datax,output*(suhu_maks/255)); Chart1.series[1].SeriesColor:=clblue; Chart1.Series[1].AddXY(datax,referensi); maksek:=chart1.bottomaxis.maximum; if datax>batas_maks then ScrollBar1.Max:=(Round(datax)-batas_maks)+1; ScrollBar1.Position:=ScrollBar1.Max;

52 3.2.2 Software Jaringan Syaraf RBF Untuk mengaplikasikan jaringan syaraf RBF pada komputer diperlukan fungsi atau prosedur tambahan yang mendukung proses komputasi pada jaringan syaraf RBF. Fungsi atau prosedur tersebut adalah prosedur inisialisasi bobot awal, fungsi membangun jaringan RBF, fungsi menghitung keluaran fungsi basis dengan 2 masukan dan fungsi menghitung keluaran jaringan RBF dengan 2 masukan. Fungsi pendukung tersebut dituliskan dalam listing program sebagai berikut : // Inisialisasi awal bobot RBF procedure init2rbf; var i:integer; for i:=1 to jumlah_basis do w[i,1]:=0; wb:=0; outbasis:=0; // Procedure membuat jaringan Procedure make_rbf; for i:=1 to sum_basis do c[i]:=(7/(sum_basis+1))*i; deviasi :=c[1]/3.05; // Fungsi menghitung keluaran fungsi basis oleh 2 masukan function rbf2dim(var s_rbf,a,b,x1,x2 : real):real; temp1 := -((a-x1)*(a-x1))/(2*s_rbf*s_rbf); temp2 := -((b-x2)*(b-x2))/(2*s_rbf*s_rbf); rbf2dim := exp(temp1)*exp(temp2); // Fungsi menghitung keluaran RBF 2 dimensi Function outrbforde2(var in1,in2:real):real; outbasis:=0; outrbforde2:=0; make_rbf; //Inisialisasi keluaran tiap fungsi basis for i:=1 to sum_basis do outputb[i,i]:=0; //Hitung keluaran tiap fungsi basis oleh 2 masukan for i:=1 to sum_basis do outb[i,i]:=rbf2dim(deviasi,c[i],c[i],in1,in2);

53 // Kalikan keluaran tiap fungsi basis dengan bobotnya sendiri for i:=1 to sum_basis do outputb[i,i]:= outb[i,i]*w[i,i]; // Hitung keluaran jaringan for i:=1 to sum_basis do outbasis:=outbasis+outputb[i,i]; outbasis:=outbasis+wb; outrbforde2:=outbasis; Prosedur init2rbf digunakan untuk inisialisasi bobot awal jaringan syaraf RBF. Prosedur make_rbf digunakan untuk membangun jaringan RBF. Fungsi rbf2dim digunakan untuk menghitung keluaran fungsi basis yang disebabkan oleh adanya 2 masukan. Fungsi outrbforde2 digunakan untuk menghitung keluaran dari jaringan RBF dengan 2 masukan. Program kontrol dengan jaringan syaraf RBF dituliskan pada prosedur timer_rbf.timer. procedure TFjst.Timer_rbfTimer(Sender: TObject); // Baca output suhu plant serial.sendchar('#'); sleep(1); serial.readbyte(output); // Hitung sinyal error dan output gain proporsional error:= (referensi/pembagi )- (output/51); controlp:=error*gain; // berupa Tegangan // Hitung keluaran RBF orde 2 dy:=output/51; dx:=referensi/pembagi; out_rbf:=outrbforde2(dx,dy); // Hitung sinyal kontrol plant sinyal_kontrol:=controlp+out_rbf; // Kirim sinyal kontrol sinyalcontrol := round(sinyal_kontrol * 51); if sinyalcontrol > 255 then sinyalcontrol:= 255; if sinyalcontrol < 0 then sinyalcontrol:= 0; serial.sendbyte(sinyalcontrol); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); lama:= hitung_milidetik(durasi); // Catat data ke file str((output*suhu_maks/255):2:2,datay); AssignFile(F,'d:\data.xls'); append(f); Writeln(F,inttostr(lama),#9,floattostr(referensi),#9,floattos tr(out_rbf),#9,floattostr(controlp),#9,floattostr(sinyal_

54 kontrol),#9,inttostr(round(output*suhu_maks/255)),#9,floattos tr(referensi-(output*suhu_maks/255))); CloseFile(F); // Update bobot RBF for i:=1 to sum_basis do w[i,i]:=w[i,i] +laju_rbf*controlp*outb[i,i]/( sum_basis+1); // Update bobot basis wb wb:=wb+laju_rbf*controlp/(sum_basis+1); // Plot grafik respon datax:=datax ; Chart1.series[0].SeriesColor:=clred; Chart1.Series[0].AddXY(datax,output*(suhu_maks/255)); Chart1.series[1].SeriesColor:=clblue; Chart1.Series[1].AddXY(datax,referensi); maksek:=chart1.bottomaxis.maximum; if datax>batas_maks then ScrollBar1.Max:=(Round(datax)-batas_maks)+1; ScrollBar1.Position:=ScrollBar1.Max; 3.3 Perancangan Perangkat Keras (Hardware) Secara umum blok diagram sistem pengatur suhu yang akan dibuat pada tugas akhir ini ditunjukkan oleh diagram pada Gambar Gambar 3.10 Diagram blok hardware sistem pengatur suhu Rangkaian DAC 0808 berfungsi untuk mengubah data digital berupa masukan referensi suhu dari komputer menjadi data analog berupa tegangan. Pengkondisi sinyal I berfungsi untuk mengubah level tegangan keluaran DAC 0808 dari 0 5 Volt menjadi level tegangan -5 5 Volt. Level tegangan ini digunakan sebagai masukan driver PWM. Pengkondisi sinyal II berfungsi untuk menguatkan tegangan keluaran sensor suhu LM35. Batas maksimal keluaran sensor adalah 1,5

55 V pada suhu 150 C, sedangkan referensi ADC adalah 5 Volt sehingga diperlukan penguatan sebesar 5 / 1,5 = 3,33 kali. Rangkaian ADC 0804 digunakan untuk mengubah besaran analog dari pengkondisi sinyal II ke data digital sehingga dapat diolah di komputer. Mikrokontroller digunakan untuk mengatur aliran data dari ADC ke komputer atau dari komputer ke DAC. Komunikasi yang digunakan adalah komunikasi serial melalui RS 232. Mikrokontroller menerjemahkan perintah dari komputer apakah mengirim data ke DAC atau mengambil data dari ADC dan mengirimkannya ke komputer. Plant suhu didesain dengan menggunakan driver PWM untuk mengatur besarnya daya yang dialirkan ke pemanas. Untuk mengukur besarnya suhu yang terjadi digunakan sensor suhu LM35 yang mempunyai karakteristik keluaran 10 mv / C. Komputer digunakan sebagai unit kontroller untuk mengaplikasikan algoritma jaringan syaraf tiruan CMAC dan RBF. Disamping itu, komputer juga digunakan untuk menampilkan grafik respon dan menyimpan data ke file untuk keperluan analisis Rangkaian Digital to Analog Converter (DAC) DAC pada rancangan ini digunakan untuk mengubah masukan digital 8 bit dari komputer menjadi besaran analog yaitu berupa tegangan. Tipe DAC yang digunakan adalah DAC 0808 yang merupakan DAC 8 bit. Rangkaian lengkap DAC 0808 ditunjukkan pada Gambar Gambar 3.11 Rangkaian DAC 0808

56 3.3.2 Rangkaian Analog to Digital Converter (ADC) ADC pada rancangan ini digunakan untuk mengubah masukan analog keluaran sensor suhu yang sudah dikuatkan menjadi data digital 8 bit. Tipe ADC yang digunakan adalah ADC 0804 pada mode kerja free running. Rangkaian free running ADC 0804 ditunjukkan pada Gambar Gambar 3.12 Rangkaian Free running ADC. Untuk membuat mode kerja ADC 0804 menjadi free running, maka harus diketahui bagaimana urutan pemberian nilai pada RD dan WR serta perubahan nilai pada INTR. Urutan pemberian nilai pada RD, WR perubahan nilai pada INTR ditunjukkan pada Tabel 3.4. Tabel 3.4 Pemberian nilai pada RD dan WR serta perubahan nilai pada INTR Langkah INTR WR RD Mode kerja free running ADC diperoleh jika RD dancs dihubungkan ke ground agar selalu mendapat logika 0 sehingga ADC akan selalu aktif dan siap memberikan data. Pin WR dan INTR dijadikan satu karena perubahan logika INTR sama dengan perubahan logika pada WR, sehingga pemberian logika pada WR dilakukan secara otomatis oleh keluaran INTR.

57 3.3.3 Rangkaian Pengkondisi sinyal I Pengkondisi sinyal I berfungsi untuk mengubah level tegangan keluaran DAC 0808 dari 0 5 Volt menjadi level tegangan -5 5 Volt. Level tegangan ini digunakan sebagai masukan driver PWM. Untuk mendapatkan pengkondisi sinyal tersebut digunakan dua buah penguat. Penguat pertama difungsikan sebagai penguat 2 kali sehingga keluaran penguat ini mempunyai jangkauan 0-10 V. Penguat kedua digunakan sebagai penguat selisih yang mengurangi tegangan masukan pada terminal tak membaliknya dengan 5 V sehingga keluaran penguat ini mempunyai jangkauan -5-5 V untuk jangkauan masukan 0-10 V. Desain rangkaian pengkondisi sinyal I ini ditunjukkan pada Gambar Gambar 3.13 Pengkondisi sinyal 0 5 Volt menjadi -5 5 Volt Rangkaian Pengkondisi sinyal II Pengkondisi sinyal II berfungsi untuk menguatkan tegangan keluaran sensor suhu LM35. Keluaran sensor maksimal pada batas suhu maksimal kemampuan sensor adalah 1,5 V pada suhu 150 C, sedangkan referensi ADC adalah 5 Volt sehingga diperlukan penguatan sebesar 5 / 1,5 = 3,33 kali. Untuk mendapatkan penguatan sebesar ini digunakan penguat tak membalik pada Gambar 2.14 dengan memberikan nilai Rf sebesar 33 kω dan Ri sebesar 10 kω.

58 3.3.5 Plant Suhu dengan PWM Driver Pada tugas akhir ini plant suhu yang dibuat digerakkan dengan sebuah PWM driver. Skema plant suhu yang dibuat ditunjukkan pada Gambar Gambar 3.14 Skema plant suhu dengan PWM driver Tegangan AC keluaran dari trafo disearahkan dengan penyearah jembatan sehingga dihasilkan tegangan DC ± 46 Vdc. Untuk menggerakkan tegangan DC tinggi ini digunakan MOSFET tipe IRFP150. Keluaran dari PWM digunakan untuk menggerakkan Mosfet sehingga tegangan keluaran Mosfet yang masuk ke beban adalah tegangan DC ± 46 Vdc dengan frekuensi dan duty cycle sesuai dengan keluaran PWM driver. PWM driver diperoleh dengan membandingkan keluaran sebuah pembangkit gelombang segitiga dengan sebuah tegangan masukan melalui rangkaian pembanding. Desain rangkaian PWM Driver ditunjukkan pada Gambar Gambar 3.15 Rangkaian PWM driver untuk pemanas

59 Frekuensi gelombang segitiga yang terjadi dapat dihitung dengan menggunakan rumus sebagai berikut : n f... (3.2) 4Ra Ca 3 f 4x7,2x10 5 x10 f 10,4 Hz Mikrokontroller AT89s51 Mikrokontroller AT89s51 digunakan untuk mengatur aliran data dari PC ke DAC atau dari ADC ke PC. Disamping itu, karena antara komputer dan mikrokontroller dihubungkan secara serial, maka mikrokontroller juga berfungsi untuk mengubah data paralel dari ADC menjadi data serial untuk dikirimkan ke komputer dan mengubah dara serial dari komputer untuk dikirimkan ke DAC. IC RS232 digunakan sebagai rangkaian antarmuka antara komputer dan mikrokontroller. Desain rangkain komunikasi serial ini ditunjukkan pada Gambar Vcc Ke ADC 0804 Max 232 At89s51 Ke DAC 0808 Gambar 3.16 Rangkaian minimum mikrokontroller dan RS 232

60 Diagram alir komunikasi antara PC dan mikrokontroller ditunjukkan pada Gambar Saat pertama kali diaktifkan mikrokontroller akan mengeksekusi perintah toggle P1.0 3 kali. Proses ini digunakan untuk indikator bahwa sistem minimum yang digunakan berfungsi. Proses selanjutnya mikrokontroller akan menunggu sampai ada interupsi dari komputer. Jika interupsi berupa data!, maka mikrokontroller akan mengirimkan data Koneksi Ok...! ke PC sebagai indikator bahwa komunikasi serial sudah bisa berjalan. Jika interupsi berupa data #, maka mikrokontroller akan mengambil data dari port 2 yang merupakan hasil konversi ADC dan mengirimkannya ke komputer. Jika data interupsi selain! dan #, maka mikrokontroller akan mengirimkan data yang masuk ke register sbuf ke port 0 yang merupakan input DAC. Data ini merupakan data sinyal kontrol yang diberikan ke driver. Gambar 3.17 Diagram alir komunikasi serial mikrokontroller dan PC

61 Rutin program assembler yang digunakan untuk komunikasi antara mikrokontroller dengan PC adalah sebagai berikut : ;Program komunikasi serial mikro PC ;Baudrate 9600 dan Mode serial = Mode 0 ;By Amin Fauzan / L2F org 0h sjmp main ;Vektor interupsi serial org 23h sjmp serint org 30h ;Toggle p1.0 3x untuk cek system minimum main: setb p1.0 acall delay acall delay clr p1.0 acall delay acall delay setb p1.0 acall delay acall delay clr p1.0 acall delay acall delay setb p1.0 acall delay acall delay clr p1.0 acall delay acall delay setb p1.0 ;Inisialisasi mode serial dan baudrate mov tmod,#20h mov th1,#0fdh mov scon,#50h setb tr1 ;Aktifkan interupsi serial awal: setb es setb ea dead: sjmp dead ;Tunggu sampai ada interupsi serint: jb ri,r_cv clr ti reti ;Rutin pelayanan interupsi r_cv:

62 push psw push acc mov a,sbuf clr ri cjne a,#35,banding mov a,p2 mov sbuf,a sjmp exit banding: cjne a,#'!',send acall deliver sjmp exit send: mov a,sbuf mov p0,a sjmp exit exit: pop acc pop psw reti deliver: mov dptr,#data mov r2,#20 kirim: clr a movc a,@a+dptr mov sbuf,a jnb ti,$ clr ti inc dptr djnz r2,kirim ret ;Rutin delay delay: mov r5,#0ffh delay2: mov r6,#0ffh djnz r6,$ djnz r5,delay2 ret data: db 'Koneksi Ok...',13,10 end

63 BAB IV PENGUJIAN DAN ANALISIS Untuk mengetahui karakteristik dinamis dari plant suhu yang akan dikontrol, dilakukan pengujian secara kalang terbuka. Pengujian dilakukan dengan mengirimkan tegangan tertentu dan mengakuisisi suhu keluaran plant yang terjadi. Hasil pengujian secara kalang terbuka ditunjukkan pada Gambar 4.1. Pengujian secara kalang terbuka menunjukkan bahwa dengan tegangan yang dikirim ke DAC sebesar 1,67 V, plant akan stabil pada suhu 58 C. Dari Gambar 4.1 dapat dihitung konstanta waktu sistem (T), yaitu besarnya waktu yang dibutuhkan oleh respon untuk mencapai suhu keluaran sebesar 0,632 dari suhu keluaran stabilnya atau sekitar (0,632 x (58 C -33 C ) ) + 33 C = 48 C. Hasil akuisisi data menunjukkan bahwa untuk mencapai suhu 48 C dibutuhkan waktu sekitar 40 detik, sehingga konstanta waktu sistem plant suhu yang dikontrol adalah sebesar 40 detik. Gambar 4.1 Respon plant suhu secara kalang terbuka. 4.1 Pengujian Jaringan Syaraf Tiruan CMAC dan RBF secara On-line Proses pengendalian plant secara on-line diawali dengan proses pengambilan data keluaran plant dan data referensi, kemudian data tersebut diproses sesuai dengan algoritma kontrol CMAC atau RBF sehingga diperoleh sinyal kontrol untuk plant. Pada tugas akhir ini, algoritma kontrol CMAC dan

64 RBF dituliskan dalam suatu komponen timer dengan interval waktu 350 ms, sehingga algoritma kontrol CMAC atau RBF tersebut akan dijalankan setiap 350 ms atau dapat dikatakan waktu sampling proses adalah 350 ms. Lama proses komputasi pada kontrol CMAC dan RBF berbeda beda tergantung pada banyaknya memori yang digunakan dalam proses kontrol. Oleh karena itu, diperlukan pengujian jaringan CMAC dan RBF secara on-line untuk memastikan lama komputasi proses lebih kecil daripada waktu sampling proses tersebut. Pengujian dilakukan dengan menghitung waktu proses yang diperlukan pada proses kontrol dengan jaringan syaraf CMAC dan RBF untuk kebutuhan memori yang berbeda. Pada jaringan syaraf CMAC kebutuhan memori ditentukan oleh parameter generalisasi. Hasil perhitungan waktu proses untuk parameter generalisasi yang berbeda ditunjukkan pada Tabel 4.1. Tabel 4.1 Hubungan antara banyaknya parameter generalisasi yang dipilih terhadap lama proses komputasi. Jumlah Parameter Generalisasi Lama Proses Komputasi (ms) 10 10, , , , , Pada jaringan syaraf RBF kebutuhan memori ditentukan oleh jumlah fungsi basis yang digunakan. Hasil perhitungan waktu proses untuk jumlah fungsi basis yang berbeda ditunjukkan pada Tabel 4.2. Tabel 4.2 Hubungan antara jumlah fungsi basis yang dipilih terhadap lama proses komputasi. Jumlah Fungsi Basis Lama Proses Komputasi (ms) 3 10, , , , ,

65 4.2 Pengujian Jaringan Syaraf CMAC Pengujian jaringan syaraf CMAC dilakukan untuk mengetahui pengaruh masing masing parameter jaringan syaraf CMAC terhadap dinamika respon plant suhu. Untuk parameter jaringan yang sama, pengujian dilakukan dalam 2 keadaan yaitu dengan menggunakan bobot awal dan bobot setelah 2 kali pelatihan Pengaruh Laju Konvergensi terhadap Transien Suhu Untuk menunjukkan pengaruh pemilihan nilai laju konvergensi pada dinamika suhu plant yang dikontrol, dipilih 2 buah nilai laju konvergensi yang relatif berbeda jauh, dengan besar gain proporsional dan generalisasi yang sama. Pada pengujian ini dipilih besar gain proporsional sebesar 1,5, generalisasi 60 dan referensi suhu 50 C. Variasi nilai laju konvergensi yang digunakan adalah 0,1 dan 0,5. Hasil pengujian ditunjukkan pada Gambar 4.2 dan Gambar 4.3. Laju konvergensi yang kecil mengakibatkan sistem lama mencapai keadaan tunak karena proses pembelajaran menjadi relatif lama, sedangkan laju konvergensi yang besar mengakibatkan lonjakan yang besar pada respon transien sistem karena adanya koreksi yang berlebih pada bobot jaringan (over corrected. Penggunaan bobot hasil pelatihan akan meningkatkan unjuk kerja sistem yaitu akan mempercepat waktu penetapan sistem dan mengurangi lonjakan. (a) Bobot awal nol Gambar 4.2 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, gain proporsional 1,5, generalisasi 60 dan laju konvergensi 0,1.

66 (b) Bobot hasil 2 kali pelatihan. Gambar 4.2 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, gain proporsional 1,5, generalisasi 60 dan laju konvergensi 0,1 (Lanjutan). (a) Bobot awal nol (b) Bobot hasil 2 kali pelatihan. Gambar 4.3 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, gain proporsional 1,5, generalisasi 60 dan laju konvergensi 0,5.

67 Data parameter unjuk kerja pada pengujian ini ditunjukkan pada Tabel 4.3. Untuk nilai laju konvergensi 0,1, respon sistem mempunyai waktu penetapan sekitar 110 detik. Waktu penetapan dengan nilai laju konvergensi yang relatif kecil ini dapat dipersingkat dengan cara melatih jaringan syaraf CMAC dengan menggunakan bobot hasil pelatihan, sehingga waktu penetapan menjadi lebih singkat yaitu sekitar 16 detik. Untuk laju konvergensi yang relatif besar yaitu 0,5 dengan bobot CMAC awal nol, waktu penetapan respon sekitar 50 detik. Ini berarti laju konvergensi yang besar akan mempercepat waktu penetapan, tetapi respon sistem mengalami lonjakan sebesar 71 %. Penggunaan bobot hasil pelatihan akan mempersingkat waktu penetapan respon menjadi 46 detik dan memperkecil lonjakan transien menjadi 42 %. Tabel 4.3 Data parameter unjuk kerja sistem dengan kontrol CMAC pada referensi 50 C, gain proporsional 1,5, dan generalisasi 60. Parameter Unjuk Kerja Laju konvergensi = 0,1 Gain proporsional = 1,5 Generalisasi = 60 Laju konvergensi = 0,5 Gain proporsional = 1,5 Generalisasi = 60 Bobot awal nol Bobot hasil latih Bobot awal nol Bobot hasil latih Waktu penetapan 110 detik 16 detik 50 detik 46 detik Overshoot transient % 41 % Pengaruh Gain Proporsional terhadap Transien Suhu Keluaran CMAC merupakan fungsi dari keluaran gain proporsional. Keluaran gain proporsional digunakan sebagai data latih jaringan syaraf CMAC, sehingga nilai gain proporsinal yang dipilih akan mempengaruhi keluaran CMAC. Untuk memperlihatkan pengaruh pemilihan nilai gain proporsional, pada pengujian ini dipilih 2 buah nilai gain yang besarnya relatif berbeda, dengan besar nilai laju konvergensi dan besar parameter generalisasi yang sama. Pada pengujian ini dipilih referensi suhu 50 C, generalisasi 60 dan laju konvergensi 0,1. Variasi nilai gain proporsional yang digunakan adalah 0,5 dan 4. Hasil pengujian pengaruh pemilihan gain proporsional terhadap transien suhu ditunjukkan pada Gambar 4.4 dan Gambar 4.5. Hasil pengujian

68 menunjukkan bahwa gain proporsinal berpengaruh terhadap waktu penetapan dan waktu naik respon. Semakin besar gain proporsinal yang dipilih, maka semakin cepat waktu penetapan dan waktu naik respon. Waktu naik respon yang cepat pada transien disebabkan oleh sinyal kontrol yang cukup besar pada saat awal. Sinyal kontrol ini berasal dari keluaran gain proporsional. Sebagai konsekuensinya, respon sistem akan mengalami lonjakan. Penggunaan bobot hasil pelatihan hanya mempercepat waktu naik respon. (a) Bobot awal nol (b) Bobot hasil 2 kali pelatihan Gambar 4.4 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, generalisasi 60, laju konvergensi 0,1 dan gain proporsional 0,5.

69 (a) Bobot awal nol (b)bobot hasil 2 kali pelatihan Gambar 4.5 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, generalisasi 60, laju konvergensi 0,1 dan gain proporsional 4. Data parameter unjuk kerja pada pengujian ini ditunjukkan pada Tabel 4.4. Untuk gain proporsional sebesar 0,5 dan bobot awal jaringan CMAC nol, respon sistem memiliki waktu penetapan sekitar 96 detik. Penggunaan bobot hasil pelatihan tidak meningkatkan unjuk kerja, tetapi memperbesar waktu penetapan menjadi 125 detik dan menimbulkan lonjakan respon sebesar 12 %. Pemberian nilai gain proporsional yang relatif besar pada kontrol CMAC yaitu 4 dengan bobot awal nol, membuat keluaran plant mempunyai waktu penetapan sekitar 40 detik. Ini berarti bahwa pemberian gain proporsional yang besar akan mempercepat waktu penetapan, tetapi akan menimbulkan lonjakan respon yang besar.

70 Tabel 4.4 Data parameter unjuk kerja sistem dengan kontrol CMAC pada referensi 50 C, laju konvergensi 0,1, dan generalisasi 60. Parameter Unjuk Kerja Laju konvergensi = 0,1 Gain proporsional = 0,5 Generalisasi = 60 Laju konvergensi = 0,1 Gain proporsional = 4 Generalisasi = 60 Bobot awal nol Bobot hasil latih Bobot awal nol Bobot hasil latih Waktu penetapan 96 detik 125 detik 40 detik 37 detik Overshoot transien - 12 % 17 % 23 % Pengaruh Generalisasi terhadap Transien Suhu Untuk mengetahui pengaruh nilai generalisasi terhadap transien suhu dilakukan pengujian dengan referensi, gain proporsional dan laju konvergensi yang tetap serta variasi terhadap nilai generalisasi. Pada pengujian ini digunakan referensi 50, gain proporsional 2, laju konvergensi 0,1 dan variasi nilai generalisasi yang dipilih adalah 30 dan 150. Hasil pengujian ditunjukkan pada Gambar 4.6 dan Gambar 4.7. Hasil pengujian menunjukkan bahwa untuk generalisasi yang kecil yaitu 30, respon sistem mempunyai waktu penetapan yang lebih singkat dan tidak ada lonjakan pada respon transiennya. Untuk nilai generalisasi yang besar, respon sistem mengalami lonjakan dan mempunyai waktu penetapan yang lebih lama. Penggunaan bobot hasil pelatihan akan mempersingkat waktu penetapan respon dan mengurangi lonjakan yang terjadi. (a) Bobot awal nol Gambar 4.6 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan generalisasi 30.

71 (b)bobot hasil 2 kali pelatihan Gambar 4.6 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan generalisasi 30 (Lanjutan). (a) Bobot awal nol (b)bobot hasil 2 kali pelatihan Gambar 4.7 Respon transien suhu dengan kontrol CMAC untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan generalisasi 30.

72 Data parameter unjuk kerja pada pangujian ditunjukkan pada Tabel 4.5. Untuk bobot CMAC awal nol dengan generalisasi 30, respon sistem memiliki waktu penetapan sekitar 47 detik. Penggunaan bobot hasil pelatihan akan memperkecil waktu penetapan menjadi sekitar 23 detik, tetapi menimbulkan lonjakan respon sebesar 6 %. Pemilihan nilai generalisasi yang besar yaitu 150 akan memperbesar waktu penetapan menjadi sebesar 68 detik dan lonjakan respon sebesar 23 %. Penggunaan bobot hasil pelatihan tidak berpengaruh terhadap waktu penetapan dan lonjakan respon. Tabel 4.5 Data parameter unjuk kerja sistem dengan kontrol CMAC pada referensi 50 C,laju konvergensi 0,1, dan gain proporsional 2. Parameter Unjuk Kerja Waktu penetapan Overshoot transien Laju konvergensi = 0,1 Gain proporsional = 2 Generalisasi = 30 Laju konvergensi = 0,1 Gain proporsional = 2 Generalisasi = 150 Bobot awal nol Bobot hasil latih Bobot awal nol Bobot hasil latih 47 detik 23 detik 62 detik 63 detik - 6 % 23 % 23 % 4.3 Pengujian Jaringan Syaraf RBF Pengujian jaringan syaraf RBF dilakukan untuk mengetahui pengaruh masing masing parameter jaringan syaraf RBF terhadap dinamika respon sistem. Untuk parameter jaringan yang sama, pengujian dilakukan dalam 2 keadaan yaitu dengan menggunakan bobot awal dan bobot setelah 2 kali pelatihan Pengaruh Laju Konvergensi terhadap Transien Suhu Untuk menunjukkan pengaruh langsung pemilihan nilai laju konvergensi pada dinamika suhu plant yang dikontrol, dipilih 2 buah nilai laju konvergensi yang relatif berbeda, dengan besar gain proporsional dan jumlah fungsi basis yang sama. Pada pengujian ini dipilih besar gain proporsional sebesar 1,5, jumlah fungsi basis 5 dan referensi suhu 50 C. Variasi nilai laju konvergensi yang digunakan adalah 0,1 dan 0,5.

73 Hasil pengujian ditunjukkan pada Gambar 4.8 dan Gambar 4.9. Hasil pengujian menunjukkan bahwa laju konvergensi yang kecil mengakibatkan sistem lama mencapai keadaan tunak karena proses pembelajaran menjadi relatif lama, sedangkan laju konvergensi yang besar mengakibatkan lonjakan yang besar pada respon transien sistem. Lonjakan yang besar disebabkan oleh adanya koreksi yang berlebih pada bobot jaringan (over corrected). Sinyal kontrol yang diberikan ke plant mengalami kenaikan yang besar akibat keluaran jaringan RBF mengalami kenaikan yang besar. (a) Bobot awal nol (b) Bobot hasil 2 kali pelatihan Gambar 4.8 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, gain proporsional 1,5, jumlah fungsi basis 5 dan laju konvergensi 0,1

74 (a) Bobot awal nol (b) Bobot hasil 2 kali pelatihan Gambar 4.9 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, gain proporsional 1,5, jumlah fungsi basis 5 dan laju konvergensi 0,5. Data parameter unjuk kerja pada pengujian ini ditunjukkan pada Tabel 4.6. Untuk nilai laju konvergensi yang relatif kecil yaitu 0,1 dan bobot RBF awal sama dengan nol, respon suhu plant mempunyai waktu penetapan sekitar 116 detik. Penggunaan bobot hasil pelatihan memperbesar waktu penetapan respon menjadi sekitar 125 detik dan menimbulkan lonjakan sebesar 12 %. Untuk laju konvergensi yang relatif besar yaitu 0,5 dengan bobot RBF awal nol, waktu penetapan keluaran lebih cepat dibandingkan dengan nilai laju konvergensi yang kecil yaitu sekitar 63 detik, tetapi respon sistem mengalami lonjakan sebesar 17 %. Penggunaan bobot hasil pelatihan mempercepat waktu penetapan menjadi sekitar 55 detik, tetapi memperbesar lonjakan menjadi 23 %.

75 Tabel 4.6 Data parameter unjuk kerja sistem dengan kontrol RBF pada referensi 50 C, gain proporsional 1,5, dan jumlah fungsi basis 5. Parameter Unjuk Kerja Waktu penetapan Overshoot transien Laju konvergensi = 0,1 Gain proporsional = 1,5 Jumlah fungsi basis = 5 Laju konvergensi = 0,5 Gain proporsional = 1,5 Jumlah fungsi basis = 5 Bobot awal nol Bobot hasil latih Bobot awal nol Bobot hasil latih 116 detik 125 detik 63 detik 55 detik - 12 % 17 % 23 % Pengaruh Gain Proporsional terhadap Transien Suhu Gain proporsional berpengaruh terhadap keluaran jaringan RBF. Hal ini karena keluaran gain proporsional digunakan sebagai data untuk melatih jaringan RBF. Untuk memperlihatkan pengaruh pemilihan nilai gain proporsional, pada pengujian ini dipilih 2 buah nilai gain yang besarnya relatif berbeda dengan besar nilai laju konvergensi dan jumlah fungsi basis yang sama. Pada pengujian ini dipilih referensi suhu 50 C, jumlah fungsi basis 5 dan laju konvergensi 0,1. Variasi nilai gain proporsional yang digunakan adalah 0,5 dan 4. Hasil pengujian ini ditunjukkan pada Gambar 4.10 dan Gambar Gain proporsional berpengaruh terhadap waktu naik dan waktu penetapan respon. Semakin besar gain proporsional yang dipilih, waktu naik dan waktu penetapan respon akan semakin cepat. (a) Bobot awal nol Gambar 4.10 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, jumlah fungsi basis 5, laju konvergensi 0,1 dan gain proporsional 0,5.

76 (b) Bobot hasil 2 kali pelatihan Gambar 4.10 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, jumlah fungsi basis 5, laju konvergensi 0,1 dan gain proporsional 0,5 (Lanjutan). (a) Bobot awal nol (b)bobot hasil 2 kali pelatihan Gambar 4.11 Respon transien suhu dengan kontrol RBF untuk nilai referensi 50 C, jumlah fungsi basis 5, laju konvergensi 0,1 dan gain proporsional 4.

77 Data parameter unjuk kerja pada pengujian ini ditunjukkan pada Tabel 4.7. Untuk gain proporsional yang kecil yaitu 0,5 dan bobot awal nol, respon transien sistem memiliki waktu penetapan sekitar 137 detik dan tanpa lonjakan. Penggunaan bobot hasil pelatihan memperbesar waktu penetapan menjadi 152 detik dan menimbulkan lonjakan respon sebesar 12 %. Untuk nilai gain proporsional yang relatif lebih besar pada kontrol RBF yaitu 4 dan bobot awal nol, waktu penetapan respon lebih singkat dibandingkan dengan gain proporsional yang kecil yaitu menjadi sekitar 51 detik Penggunaan bobot hasil pelatihan memperbesar waktu penetapan menjadi sekitar 75 detik dan menimbulkan lonjakan sebesar 12 %. Tabel 4.7 Data parameter unjuk kerja sistem dengan kontrol RBF pada referensi 50 C, gain proporsional 1,5, dan jumlah fungsi basis 5. Parameter Unjuk Kerja Laju konvergensi = 0,1 Gain proporsional = 0,5 Jumlah fungsi basis = 5 Laju konvergensi = 0,1 Gain proporsional = 0,5 Jumlah fungsi basis = 5 Bobot awal nol Bobot hasil latih Bobot awal nol Bobot hasil latih Waktu penetapan 137 detik 152 detik 51 detik 75 detik Overshoot transien - 12 % - 12 % Pengaruh Jumlah Fungsi Basis terhadap Transien Suhu Untuk mengetahui pengaruh jumlah fungsi basis terhadap transien suhu dilakukan pengujian dengan pemilihan 2 buah jumlah fungsi basis yang berbeda dan laju konvergensi serta gain proporsional yang sama. Pada pengujian ini digunakan referensi suhu 50º C, gain proporsional 2, laju konvergensi 0,1 dan variasi jumlah fungsi basis yang digunakan adalah 3 dan 8. Hasil pengujian ditunjukkan oleh Gambar 4.12 dan Gambar Untuk jumlah fungsi basis sedikit respon sistem mempunyai waktu penetapan yang lebih singkat dan tidak ada lonjakan pada respon transiennya. Untuk jumlah fungsi basis yang lebih banyak, respon sistem mengalami lonjakan dan mempunyai waktu penetapan yang lebih lama.

78 (a) Bobot awal nol (b)bobot hasil 2 kali pelatihan Gambar 4.12 Respon transien suhu dengan kontrol RBF untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan jumlah fungsi basis 3. (a) Bobot awal nol Gambar 4.13 Respon transien suhu kontrol RBF untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan junlah fungsi basis 8

79 (b)bobot hasil 2 kali pelatihan. Gambar 4.13 Respon transien suhu kontrol RBF untuk referensi 50 C, laju konvergensi 0,1, gain proporsional 2 dan junlah fungsi basis 8 (Lanjutan). Data parameter unjuk kerja pada pangujian ini ditunjukkan pada Tabel 4.8. Untuk bobot-bobot RBF awal nol dan jumlah fungsi basis 3, respon transien suhu memiliki waktu penetapan sekitar 37 detik dan tanpa lonjakan. Penggunaan bobot hasil pelatihan akan memperkecil waktu penetapan menjadi sekitar 25 detik. Pemilihan jumlah fungsi basis yang banyak dalam hal ini 8 akan memperbesar waktu penetapan sistem menjadi sebesar 60 detik dan lonjakan respon sebesar 12 %. Penggunaan bobot hasil pelatihan tidak banyak berpengaruh terhadap waktu penetapan dan lonjakan respon. Tabel 4.8 Data parameter unjuk kerja sistem dengan kontrol RBF pada referensi 50 C, laju konvergensi 0,1, dan gain proporsional 2. Parameter Unjuk Kerja Laju konvergensi = 0,1 Gain proporsional = 2 Jumlah fungsi basis = 3 Laju konvergensi = 0,1 Gain proporsional = 2 Jumlah fungsi basis = 8 Bobot awal nol Bobot hasil latih Bobot awal nol Bobot hasil latih Waktu penetapan 37 detik 25 detik 60 detik 60 detik Overshoot transien % 12 %

80 4.4 Perbandingan Unjuk Kerja Jaringan Syaraf CMAC dan RBF Untuk membandingkan unjuk kerja jaringan syaraf CMAC dan jaringan syaraf RBF perlu diperhatikan hal hal sebagai berikut : 1. Struktur pengendalian yang digunakan harus sama. Struktur yang digunakan adalah Fixed Stabilising Controller. 2. Nilai gain proporsional dan laju konvergensi yang digunakan pada kedua jaringan harus sama. 3. Kedua jaringan harus mempunyai respon yang optimal untuk nilai gain proporsional dan laju konvergensi yang dipilih. Karena kedua paramater jaringan yaitu gain proporsional dan laju konvergensi yang dipilih sama, maka kondisi optimal ini ditentukan oleh pemilihan parameter generalisasi pada jaringan CMAC dan jumlah fungsi basis yang digunakan pada jaringan RBF yang tepat. Pemilihan parameter generalisasi dan jumlah fungsi basis tersebut dilakukan secara trial and error sehingga diperoleh respon sistem yang optimal. Pemilihan gain proporsional dan laju konvergensi kedua jaringan dilakukan secara acak namun dengan mempertimbangkan pengaruh masing masing parameter tersebut terhadap transien respon suhu yang terjadi. Pada pengujian ini dipilih nilai laju konvergensi sebesar 0,1 dan gain proporsional sebesar 2. Dari hasil trial and error diperoleh bahwa untuk nilai laju konvergensi dan gain proporsional tersebut, parameter generalisasi yang tepat adalah sebesar 25 sedangkan jumlah fungsi basis yang tepat adalah Pengujian Pengaruh Pembelajaran Untuk menguji pengaruh bobot pembelajaran pada respon sistem dilakukan pengujian dengan cara mengubah referensi sistem pada 2 setting yang berbeda beberapa kali. Dari grafik respon akan diperoleh perbedaan respon kedua jaringan antara respon jaringan dengan bobot awal nol dan respon jaringan dengan menggunakan bobot hasil pelatihan. Pada pengujian ini referensi sistem diubah pada nilai 40 C dan 70 C.

81 Gambar 4.14 Pengujian untuk mengetahui pengaruh bobot pembelajaran terhadap transien suhu pada kontrol CMAC. Gambar 4.15 Pengujian untuk mengetahui pengaruh bobot pembelajaran terhadap transien suhu pada kontrol RBF. Hasil pengujian ditunjukkan pada Gambar 4.14 dan Gambar Pada jaringan CMAC saat pengujian dengan bobot awal nol dan referensi 70 C, respon mempunyai waktu penetapan sebesar 111 detik tanpa lonjakan dan ketika referensi diubah memjadi 40 C respon mempunyai waktu penetapan sebesar 128 detik dengan undershoot sebesar 10 %. Pada referensi 70 C yang kedua waktu penetapan respon menjadi 21 detik atau 81% lebih cepat daripada yang pertama, dan saat diberi referensi 40 C respon mempunyai waktu penetapan sebesar 94 detik atau 26,5 % lebih cepat dari yang pertama dengan lonjakan sebesar 3 %. Pada jaringan RBF saat pengujian dengan bobot awal nol dan referensi 70 C, respon mempunyai waktu penetapan sebesar 40 detik tanpa

82 lonjakan dan ketika referensi diubah menjadi 40 C respon mempunyai waktu penetapan sebesar 116 detik dengan undershoot sebesar 13 %. Pada saat diberi referensi 70 C dan 40 C lagi respon relatif berubah. Kesimpulan yang diperoleh dari pengujian ini adalah respon jaringan syaraf CMAC dengan menggunakan bobot pelatihan akan menjadi semakin baik, sedangkan pada jaringan syaraf RBF respon sistem akan relatif sama. Hal ini karena pada jaringan CMAC ketika menerima referensi yang baru, maka jaringan akan mengambil bobot bobot tertentu sesuai dengan memori yang aktifkan akibat referensi baru tersebut, sedangkan pada jaringan RBF setiap masukan yang baru ia akan mengaktifkan seluruh fungsi basis yang berarti ketika ada referensi baru maka bobot yang digunakan adalah bobot hasil pelatihan terakhir Pengujian Referensi Naik Untuk mengetahui kemampuan jaringan dalam mengikuti perubahan referensi naik dilakukan pengujian dengan memberikan referensi yang berubah naik pada beberapa tahap. Perubahan referensi dilakukan setelah respon mencapai keadaan tunak. Pada pengujian ini dilakukan perubahan referensi mulai dari 33 C, 50 C, 70 C dan 90 C. Hasil pengujian ditunjukkan pada Gambar 4.16 dan Gambar Hasil pengujian menunjukkan bahwa pada saat digunakan bobot awal jaringan nol, ketika referensi dinaikkan kedua jaringan mampu mengikuti perubahan referensi naik. Dengan menggunakan bobot hasil pelatihan waktu penetapan tiap perubahan referensi pada jaringan syaraf CMAC akan semakin cepat, tetapi pada jaringan syaraf RBF penggunaan bobot hasil pelatihan hanya berpengaruh pada respon awal yaitu saat referensi 50 C. Respon suhu mengalami lonjakan yang besar. Pada saat bobot hasil pelatihan digunakan, maka jaringan menggunakan bobot terakhir yang disimpannya yaitu bobot untuk referensi terakhir yang diberikan yaitu 90 C. Sinyal kontrol yang berasal dari keluaran jaringan RBF cukup besar karena bobot awal yang digunakan adalah bobot untuk menghasilkan sinyal kontrol pada referensi 90 C.

83 (a) Bobot awal (b) Bobot hasil 2 kali pelatihan Gambar 4.16 Pengujian referensi naik dengan jaringan syaraf CMAC. (a) Bobot awal Gambar 4.17 Pengujian referensi naik dengan jaringan syaraf RBF.

84 (b) Bobot hasil 2 kali pelatihan Gambar 4.17 Pengujian referensi naik dengan jaringan syaraf RBF (Lanjutan) Pengujian Referensi Turun Untuk mengetahui kemampuan jaringan dalam mengikuti perubahan referensi turun dilakukan pengujian dengan memberikan referensi yang berubah turun pada beberapa tahap. Perubahan referensi dilakukan setelah respon mencapai keadaan tunak. Pada pengujian ini dilakukan perubahan referensi mulai dari 33 C, 90 C, 70 C dan 50 C. Hasil pengujian pada jaringan syaraf CMAC ditunjukkan pada Gambar 4.18 dan hasil pengujian pada jaringan syaraf RBF ditunjukkan pada Gambar Hasil pengujian menunjukkan bahwa pada saat digunakan bobot awal nol, ketika referensi diturunkan kedua jaringan mampu mengikuti perubahan referensi turun. Pada jaringan syaraf CMAC ketika mengikuti perubahan referensi turun, respon akan mengalami undershoot sedangkan pada jaringan syaraf RBF tidak mengalami undershoot. Dengan menggunakan bobot hasil pelatihan undershoot pada jaringan syaraf CMAC dapat dihilangkan sehinggga jaringan mampu mengikuti perubahan referensi dengan baik, tetapi pada jaringan syaraf RBF penggunaan bobot hasil pelatihan hanya berpengaruh pada respon awal yaitu pada saat setting referensi 90 C. Jika dibandingkan respon kedua jaringan setelah mengalami pelatihan, tampak bahwa respon jaringan syaraf CMAC mempunyai waktu penetapan yang lebih singkat daripada jaringan syaraf RBF.

85 (a) Bobot awal (b) Bobot hasil 2 kali pelatihan Gambar 4.18 Pengujian referensi turun dengan jaringan syaraf CMAC. (a) Bobot awal Gambar 4.18 Pengujian referensi turun dengan jaringan syaraf RBF.

86 (b) Bobot hasil 2 kali pelatihan Gambar 4.18 Pengujian referensi turun dengan jaringan syaraf RBF (Lanjutan) Pengujian Gangguan Untuk mengetahui unjuk kerja jaringan syaraf CMAC dan RBF dalam merespon gangguan dari luar dilakukan pengujian dengan memberikan gangguan pada referensi suhu 60 C. Setelah respon suhu mencapai referensi yang diberikan, kipas yang akan menyerap udara ke luar dinyalakan sehingga suhu plant akan turun. Gangguan dihilangkan setelah respon kembali ke keadaan referensi semula. (a) Bobot awal Gambar 4.20 Pengujian gangguan pada jaringan syaraf CMAC.

87 (b) Bobot hasil 2 kali pelatihan Gambar 4.20 Pengujian gangguan pada jaringan syaraf CMAC (Lanjutan). (a) Bobot awal (b) Bobot hasil 2 kali pelatihan Gambar Pengujian gangguan pada jaringan syaraf RBF.

88 Hasil pengujan pada jaringan syaraf CMAC ditunjukkan pada Gambar 4.20 dan hasil pengujian pada jaringan syaraf RBF ditunjukkan pada Gambar Hasil pengujian menunjukkan bahwa pada referensi 60 C ketika diberikan gangguan, respon suhu dengan kontrol jaringan syaraf CMAC akan mengalami penurunan suhu maksimum sebesar sebesar 2 C dan membutuhkan waktu sekitar 33 detik untuk mengatasi gangguan tersebut. Ketika gangguan dihilangkan respon akan mengalami kenaikan suhu maksimum sebesar 1 C dan membutuhkan waktu sekitar 33 detik untuk mengatasi gangguan. Pada jaringan syaraf RBF ketika diberikan gangguan, respon sistem akan mengalami penurunan suhu maksimum sebesar 3 C dan membutuhkan waktu sebesar 57 detik untuk mengatasi gangguan tersebut, sedangkan jika gangguan dihilangkan respon sistem akan mengalami lonjakan suhu maksimum sebesar 3 C dan membutuhkan waktu sekitar 66 detik untuk kembali ke keadaan referensi. Penggunaan bobot hasil pelatihan pada jaringan CMAC akan mengurangi penurunan suhu ketika diberikan gangguan dan mempercepat waktu untuk mengatasi gangguan tersebut yaitu menjadi sekitar 18 detik pada saat diberi gangguan dan 13 detik pada saat gangguan dihilangkan. Pada jaringan syaraf RBF pengunaan bobot hasil pelatihan ini tidak banyak berpengaruh terhadap respon sistem. Data parameter unjuk kerja pada pengujian ini ditunjukkan pada Tabel 4.9. Tabel 4.9 Data unjuk kerja jaringan syaraf CMAC dan RBF terhadap pengujain gangguan. Pengujian Parameter Kerja Unjuk Jaringan CMAC Bobot Awal Syaraf Bobot Pelatihan Jaringan RBF Bobot Awal Syaraf Bobot Pelatihan Pemberian Gangguan Penghilangan Gangguan Waktu untuk mengatasi gangguan Lonjakan suhu maksimum Waktu untuk mengatasi gangguan Lonjakan suhu maksimum 33 detik 18 detik 57 detik 77 detik 2 C 1 C 3 C 3 C 33 detik 13 detik 66 detik 73 detik 1 C 1 C 3 C 4 C

89 Dari keempat pengujian untuk perbandingan unjuk kerja jaringan syaraf CMAC dan RBF diatas dapat disimpulkan hal hal sebagai berikut : 1. Pada jaringan syaraf CMAC penggunaan bobot hasil pelatihan akan meningkatkan unjuk kerja sistem baik terhadap referensi tetap, perubahan referensi maupun gangguan. Pada jaringan syaraf RBF penggunaan bobot hasil pelatihan tidak banyak berpengaruh dalam memperbaiki unjuk kerja sistem. 2. Jaringan syaraf CMAC mempunyai unjuk kerja yang lebih baik dalam mengatasi gangguan karena penurunan suhu akibat pemberian gangguan dan lonjakan suhu akibat gangguan dihilangkan lebih kecil daripada jaringan RBF. Disamping itu, waktu yang dibutuhkan untuk mengatasi gangguan dan kembali pada referensi semula lebih cepat. 3. Secara keseluruhan jaringan syaraf CMAC mempunyai proses pembelajaran yang lebih cepat dibandingkan dengan jaringan syaraf RBF.

90 BAB V PENUTUP 5.1 Kesimpulan Berdasarkan hasil pengujian yang dilakukan didapatkan hal-hal penting sebagai berikut: 1. Kestabilan respon keluaran suhu plant akan sangat tergantung terhadap pemilihan parameter-parameter kendali CMAC dan RBF, yaitu besarnya laju konvergensi, gain proporsional, besarnya parameter generalisasi dan serta jumlah fungsi basis yang digunakan. 2. Pemilihan laju konvergensi yang relatif lebih besar akan menyebabkan keluaran transien mengalami overshoot, overshoot akan semakin tinggi untuk laju konvergensi yang semakin besar. Hal yang sama terjadi pada pemilihan besarnya gain proporsional. Semakin besar gain, transien suhu plant akan mengalami overshoot. 3. Dari hasil trial and error pemilihan acak gain proporsional sebesar 2 dan laju konvergensi sebesar 0,1 memberikan kondisi optimal pada jaringan CMAC untuk generalisasi 25 dan pada jaringan syaraf RBF untuk jumlah fungsi basis Pada jaringan syaraf CMAC penggunaan bobot hasil pelatihan akan meningkatkan unjuk kerja sistem baik terhadap referensi tetap, perubahan referensi maupun gangguan. Pada jaringan syaraf RBF penggunaan bobot hasil pelatihan tidak banyak berpengaruh dalam memperbaiki unjuk kerja sistem. 5. Jaringan syaraf CMAC mempunyai unjuk kerja yang lebih baik dalam mengatasi gangguan karena penurunan suhu akibat pemberian gangguan dan lonjakan suhu akibat gangguan dihilangkan lebih kecil daripada jaringan RBF. Disamping itu, waktu yang dibutuhkan untuk mengatasi gangguan dan kembali pda referensi semula lebih cepat. 6. Secara keseluruhan jaringan syaraf CMAC mempunyai proses pembelajaran yang lebih cepat dibandingkan dengan jaringan syaraf RBF.

91 5.2 Saran 1. Untuk lebih memperbesar range pengaturan suhu sebaiknya digunakan peralatan interface yang mempunyai resolusi yang lebih besar. 2. Untuk meningkatkan proses pembelajaran, dimensi jaringan syaraf dapat dinaikkan dengan menambahkan masukan berupa perubahan suhu yang terjadi pada plant 3. Untuk meningkatkan performansi sistem dapat ditambahkan pengaturan kecepatan kipas pendingin sehingga sistem mepunyai 2 keluaran yaitu pemanas dan kecepatan kipas pendingin.

92 DAFTAR PUSTAKA (1) Albus, A New Approach to Manipulator Control : The Cerrebellar Model Articulation Controller (CMAC), IEEE Journal. (2) Astrom, John and Bjorn Wittenmark, Adaptive Control, Addison-Wesley Publishing Company, Inc. (3) Brown, Martin and Harris, Neurofuzzy Adaptive Modelling and Control, Prentice Hall Inc, (4) Coughlin, Robert and Federick Driscoll, Penguat Operasional dan Rangkaian Terpadu Linier, Jakarta : Erlangga. (5) Haykin, Simon, Neural Nerworks- A Comprehensive Foundation, Macmillan Colege-Publishing Company Inc, (6) Kraff, Gordon and David Campagna, A Comparison Between CMAC Neural Network Control and Two Traditional Adaptive Control Systems, Papers (7) Malvino, Prinsip Prinsip Elektronika, Jakarta : Erlangga, (8) Ogata, Katsuhiko, Teknik Kontrol Otomatik, Jilid 1, Erlangga, Jakarta, (9) Setiawan, Iwan. Pengaturan Kecepatan Motor DC dengan Kendali CMAC secara On-line. Jurusan Teknik Elektro Fakultas Teknik Universitas Gajah Mada Yogyakarta. (10) Widrow and Lehr,30 Years of Adaptive Neural Network : Perceptron, Madaline and Backpropagation, IEEE Journal. (11)..., (12)..., (13)...,www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ ai-repository/ai/ areas/neural/systems/cmac/cmac.txt (14)..., csm10/neuralnetworks/ RBFNetworks.ppt

93 (15)..., (16)..., (17)...,

94 LAMPIRAN A SENARAI PROGRAM

95 A.1 Form Loading (Fload) unit Uload; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls,math; type TFload = class(tform) Image1: TImage; Image3: TImage; ProgressBar1: TProgressBar; Label2: TLabel; Label3: TLabel; Timer1: TTimer; Label4: TLabel; Label5: TLabel; Label1: TLabel; Label6: TLabel; Label7: TLabel; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } var Fload: TFload; posisi:integer; implementation uses Ujst; {$R *.dfm} procedure TFload.FormCreate(Sender: TObject); Timer1.Enabled:=true; posisi:=0; procedure TFload.FormClose(Sender: TObject; var Action: TCloseAction); Timer1.Enabled:=false; procedure TFload.Timer1Timer(Sender: TObject); posisi:= posisi + 1;

96 ProgressBar1.Position:=posisi; if posisi = 100 then Fload.Hide; Fjst.Show; sleep(100); end. A.2 Form Utama (Fjst) unit Ujst; interface uses type Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Menus, StdCtrls, Buttons, ExtCtrls, TeEngine, Series, TeeProcs,Chart,math, ExtDlgs, CPDrv, jpeg, IdGlobal; TFjst = class(tform) MainMenu1: TMainMenu; File1: TMenuItem; Controller1: TMenuItem; Setting1: TMenuItem; Test1: TMenuItem; Online1: TMenuItem; Other1: TMenuItem; LoadWeight1: TMenuItem; LoadPicture1: TMenuItem; SaveWeight1: TMenuItem; SavePicture1: TMenuItem; Exit1: TMenuItem; Test1: TMenuItem; CMAC1: TMenuItem; RBF1: TMenuItem; CloseLoop1: TMenuItem; CMACParameters1: TMenuItem; RBFParameters1: TMenuItem; Connect1: TMenuItem; Disconnect1: TMenuItem; Reset1: TMenuItem; About1: TMenuItem; Help1: TMenuItem; Shape1: TShape; Label3: TLabel; Edit1: TEdit; Label4: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Chart1: TChart; Series1: TLineSeries;

97 ScrollBar1: TScrollBar; Timer_cmac: TTimer; Timer_rbf: TTimer; Edit3: TEdit; Label5: TLabel; SaveDialog1: TSaveDialog; Timer_clp: TTimer; OpenDialog1: TOpenDialog; Series3: TLineSeries; OpenPictureDialog1: TOpenPictureDialog; Setting2: TMenuItem; serial: TCommPortDriver; Timer_akuisisi: TTimer; Image1: TImage; Shape3: TShape; Shape5: TShape; Timer_monitor: TTimer; Button1: TButton; OpenLoop1: TMenuItem; SaveData1: TMenuItem; Button2: TButton; Timer_clock: TTimer; Shape2: TShape; procedure Test1Click(Sender: TObject); procedure CMACParameters1Click(Sender: TObject); procedure RBFParameters1Click(Sender: TObject); procedure LoadPicture1Click(Sender: TObject); procedure About1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure CMAC1Click(Sender: TObject); procedure RBF1Click(Sender: TObject); procedure CloseLoop1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Timer_cmacTimer(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure Connect1Click(Sender: TObject); procedure Disconnect1Click(Sender: TObject); procedure Reset1Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure SaveWeight1Click(Sender: TObject); procedure Timer_rbfTimer(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure LoadWeight1Click(Sender: TObject); procedure SavePicture1Click(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure Setting2Click(Sender: TObject); procedure Timer_clpTimer(Sender: TObject); procedure Timer_akuisisiTimer(Sender: TObject); procedure serialreceivedata(sender: TObject; DataPtr: Poin ter;datasize: Cardinal); procedure Timer_monitorTimer(Sender: TObject); procedure OpenLoop1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure SaveData1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer_clockTimer(Sender: TObject);

98 procedure Help1Click(Sender: TObject); private { Private declarations } public { Public declarations } const graph_maks = 15; ukuran = 4098; suhu_maks = 150; pembagi = 30; batas_maks = 15; var Fjst: TFjst; cmac,rbf,closeloop,openloop : boolean; i,j:integer; datax,panjang:real; maksek,out_rbf,dy,dx,referensi,gain,error,controlp,sinyal_kon trol:real; output : byte; F :textfile; connect:boolean; text_data:string; sinyalcontrol : integer; bagi:integer; hitung:integer; datay:string; waktu,start,stop: TDateTime; Hour, Min, Sec, MSec: Word; berkas_sumber, berkas_target :file; buffer :array[1..ukuran] of byte; sum_baca, sum_rekam : integer; file_report: string; mulai :tdatetime; durasi:tdatetime; lama :integer; online:boolean; //Disini vaiabel untuk kontrol CMAC bobot:array [ ] of real; alamat:array[ ] of integer; memori_cmac:array[ ] of real; data:real; intref,out_cmac:real; generalisasi,lyr,index:integer; F_cmac:textfile; laju_cmac:real; //Disini variabel untuk kontrol RBF w :array[1..15,1..15] of real; wb:real; c:array[1..20] of real; outb:array[1..20,1..20] of real; d,outbasis:real; temp1,temp2:real; //datacontrol:array[1..2] of real; F_rbf:textfile; sum_basis:integer; laju_rbf:real;

99 outputb:array[1..15,1..15] of real; deviasi:real; // variabel untuk port nama_port:tportnumber; baudrate:cardinal; databits:tdatabits; parity:tparity; stopbits:tstopbits; implementation uses Ucmac, Urbf, Userial, Utest, Uabout, Uview, Uload; {$R *.dfm} //Fungsi kuantisasi 8 bit Function kuant8bit(var input:real):real; kuant8bit:=ceil((input*255)/suhu_maks); //Fungsi generator alamat Function generator_alamat(var dref:real;dfback:byte;layer,gen: integer):integer; var temp1,temp2, temp3 : integer; temp1:=1 + ceil((dref-layer+1)/gen); temp2:=(layer-1)*(ceil(255/gen)+1)*(ceil(255/gen)+1); temp3:=(ceil(255/gen)+1)*(ceil((dfback-layer+1)/gen)); generator_alamat:=temp1+temp2+temp3; // Procedure menghitung memori maksimal yang harus disediakan procedure hitung_memoricmac; referensi := 255; output:=255; memoricmac_maks:=generator_alamat(referensi,output,generalisasi,ge neralisasi); // Procedure inisialisasi awal bobot cmac procedure initbobot; for i:=1 to memoricmac_maks do bobot[i]:=0; memori_cmac[i]:=0; // Inisialisasi awal bobot RBF procedure init2rbf; var i:integer;

100 for i:=1 to jumlah_basis do w[i,1]:=0; wb:=0; outbasis:=0; // Procedure buat jaringan Procedure make_rbf; for i:=1 to sum_basis do c[i]:=(7/(sum_basis+1))*i; deviasi :=c[1]/3.05; // Fungsi menghitung keluaran fungsi basis oleh 2 masukan function rbf2dim(var s_rbf,a,b,x1,x2 : real):real; temp1 := -((a-x1)*(a-x1))/(2*s_rbf*s_rbf); temp2 := -((b-x2)*(b-x2))/(2*s_rbf*s_rbf); rbf2dim := exp(temp1)*exp(temp2); // Fungsi menghitung keluaran RBF 2 dimensi Function outrbforde2(var in1,in2:real):real; outbasis:=0; outrbforde2:=0; make_rbf; //Inisialisasi keluaran tiap fungsi basis for i:=1 to sum_basis do outputb[i,i]:=0; //Hitung keluaran tiap fungsi basis oleh 2 masukan for i:=1 to sum_basis do outb[i,i]:=rbf2dim(deviasi,c[i],c[i],in1,in2); // Kalikan keluaran tiap fungsi basis dengan bobotnya sendiri for i:=1 to sum_basis do outputb[i,i]:= outb[i,i]*w[i,i]; // Hitung keluaran jaringan for i:=1 to sum_basis do outbasis:=outbasis+outputb[i,i]; outbasis:=outbasis+wb; outrbforde2:=outbasis; Function hitung_milidetik(waktu: TDateTime): integer; var jam, menit, detik, Mdetik: word; DecodeTime(waktu,jam,menit,detik,Mdetik); hitung_milidetik:=( *jam)+(60000*menit)+1000*detik+mdet ik;

101 procedure TFjst.Test1Click(Sender: TObject); Ftest.Show; procedure TFjst.CMACParameters1Click(Sender: TObject); Fcmac.Show; procedure TFjst.RBFParameters1Click(Sender: TObject); Frbf.Show; procedure TFjst.LoadPicture1Click(Sender: TObject); var nama:string; OpenPictureDialog1.Filter :='Picture File(*.bmp) *.bmp'; Opendialog1.InitialDir :='D:\'; if OpenPictureDialog1.Execute = true then Fview.show; nama := OpenPictureDialog1.FileName; Fview.Image1.Picture.LoadFromFile(nama); procedure TFjst.About1Click(Sender: TObject); Fabout.Show; procedure TFjst.FormClose(Sender: TObject; var Action: TCloseAction); Fload.Close; serial.sendbyte(0); Application.Terminate; procedure TFjst.CMAC1Click(Sender: TObject); with mainmenu1.items do Items[2].Items[0].Checked:=true; Items[2].Items[1].Checked:=false; Items[2].Items[2].Checked:=false; Items[2].Items[3].Checked:=false; Items[3].Items[0].Enabled:=true; Items[3].Items[1].Enabled:=false; cmac:=true; rbf:=false; closeloop:=false; openloop :=false;

102 procedure TFjst.RBF1Click(Sender: TObject); with mainmenu1.items do Items[2].Items[0].Checked:=false; Items[2].Items[1].Checked:=true; Items[2].Items[2].Checked:=false; Items[2].Items[3].Checked:=false; Items[3].Items[0].Enabled:=false; Items[3].Items[1].Enabled:=true; cmac:=false; rbf:=true; closeloop:=false; openloop:=false; procedure TFjst.CloseLoop1Click(Sender: TObject); with mainmenu1.items do Items[2].Items[0].Checked:=false; Items[2].Items[1].Checked:=false; Items[2].Items[2].Checked:=true; Items[2].Items[3].Checked:=false; Items[3].Items[0].Enabled:=false; Items[3].Items[1].Enabled:=false; cmac:=false; rbf:=false; closeloop:=true; openloop:=false; procedure TFjst.FormCreate(Sender: TObject); // Inisialisasi port serial serial.port := pncom1; serial.baudratevalue :=9600; serial.databits := db8bits; serial.stopbits := sb1bits; serial.swflow := sfnone; serial.parity := ptnone; serial.connect; serial.sendbyte(0); // Inisialisasi komponen Mainmenu1.Items.Items[3].Items[0].Enabled:=false; Mainmenu1.Items.Items[3].Items[1].Enabled:=false; Chart1.BottomAxis.Maximum:=15; ScrollBar1.LargeChange:=batas_maks; ScrollBar1.Visible:=true; // Inisialisasi variabel dan bobot initbobot; init2rbf; dy:=0; dx:=0;

103 datax:=0; hitung:=0; online:=true; // Inisialisasi file yang digunakan untuk penyimpanan assignfile(f_cmac,'d:\data_cmac.txt'); rewrite(f_cmac); closefile(f_cmac); assignfile(f_rbf,'d:\data_rbf.txt'); rewrite(f_rbf); closefile(f_rbf); assignfile(f,'d:\data.xls'); rewrite(f); closefile(f); assignfile(f,'d:\data.xls'); append(f); writeln(f,'sampling',#9,'referensi',#9,'out NN',#9,'Out Gain',#9,'Control u',#9,'output',#9,'error'); closefile(f); procedure TFjst.Timer_cmacTimer(Sender: TObject); // Baca output suhu plant---> masukan terkuantisasi serial.sendchar('#'); sleep(1); serial.readbyte(output); // Hitung sinyal error dan output gain proporsional error:= (referensi/pembagi )- (output/51); controlp:=error*gain; // Kuantisasi input referensi intref:=kuant8bit(referensi); // Hitung keluaran cmac out_cmac:=0; for lyr:=1 to generalisasi do alamat[lyr]:=generator_alamat(intref,output,lyr,generali sasi); out_cmac:=out_cmac + memori_cmac[alamat[lyr]]; // Hitung sinyal kendali plant sinyal_kontrol:=controlp+out_cmac; lama:= hitung_milidetik(durasi); // Catat data ke file str((output*suhu_maks/255):2:2,datay); AssignFile(F,'d:\data.xls'); append(f); Writeln(F,inttostr(lama),#9,floattostr(referensi),#9,floattos tr(out_cmac),#9,floattostr(controlp),#9,floattostr(sinyal_ kontrol),#9,datay,#9,floattostr((referensi/pembagi)- (output/51))); CloseFile(F); // Update bobot jaringan

104 for lyr:=1 to generalisasi do index:=alamat[lyr]; memori_cmac[index]:=memori_cmac[index] + laju_cmac * controlp/generalisasi; // Kirim sinyal kontrol sinyalcontrol := round(sinyal_kontrol * 51); if sinyalcontrol > 255 then sinyalcontrol:= 255; if sinyalcontrol < 0 then sinyalcontrol:= 0; serial.sendbyte(sinyalcontrol); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); // Plot grafik respon datax:=datax ; Chart1.series[0].SeriesColor:=clred; Chart1.Series[0].AddXY(datax,output*(suhu_maks/255)); Chart1.series[1].SeriesColor:=clblue; Chart1.Series[1].AddXY(datax,referensi); maksek:=chart1.bottomaxis.maximum; if datax>batas_maks then ScrollBar1.Max:=(Round(datax)-batas_maks)+1; ScrollBar1.Position:=ScrollBar1.Max; procedure TFjst.ScrollBar1Change(Sender: TObject); var NewMax,NewMin:Integer; NewMax:=batas_maks+ScrollBar1.Position; NewMin:=ScrollBar1.Position; with Chart1.BottomAxis do //Kasus Max yang baru < Min yang lama if NewMax<Minimum then Minimum:=NewMin; Maximum:=NewMax; end else //Kondisi lain termasuk kasus Min yang baru > Max yang lama Maximum:=NewMax; Minimum:=NewMin; procedure TFjst.Connect1Click(Sender: TObject); if Edit1.Text='' then messagedlg('isi referensi dulu mas!!',mtinformation,[mbok],0) else

105 if cmac=true then if generalisasi = 0 then messagedlg('setting parameter CMAC dulu', mtinformation,[mbok],0) else initbobot; Timer_cmac.Enabled:=true; connect:=true; end else if rbf=true then if sum_basis = 0 then messagedlg('setting parameter RBF dulu', mtinformation,[mbok],0) else init2rbf; Timer_rbf.Enabled:=true; connect:=true; end else if closeloop=true then Timer_clp.Enabled:=true; connect:=true; end else if openloop=true then Timer_akuisisi.Enabled:=true; connect:=true; end else messagedlg('pilih controller yang digunakan dulu!', mtinformation,[mbok],0); mulai:=now; timer_clock.enabled:=true; serial.connect; procedure TFjst.Disconnect1Click(Sender: TObject); timer_clock.enabled:=false; lama:= hitung_milidetik(durasi); serial.disconnect; if cmac=true then Timer_cmac.Enabled:=false; AssignFile(F_cmac,'d:\data_cmac.txt'); append(f_cmac); for i:=1 to do

106 Writeln(F_cmac,memori_cmac[i]:5:4); CloseFile(F_cmac); end else if rbf=true then Timer_rbf.Enabled:=false; AssignFile(F_rbf,'d:\data_rbf.txt'); append(f_rbf); for i:=1 to sum_basis do Writeln(F_rbf,w[i,i]:5:4); Writeln(F_rbf,wb:5:4); CloseFile(F_rbf); end else if closeloop=true then Timer_clp.Enabled:=false; online:=false; connect:=false; timer_akuisisi.enabled := false; serial.sendbyte(0); procedure TFjst.Reset1Click(Sender: TObject); serial.connect; assignfile(f_cmac,'d:\data_cmac.txt'); rewrite(f_cmac); closefile(f_cmac); assignfile(f_rbf,'d:\data_rbf.txt'); rewrite(f_rbf); closefile(f_rbf); assignfile(f,'d:\data.xls'); rewrite(f); closefile(f); assignfile(f,'d:\data.xls'); append(f); writeln(f,'sampling',#9,'referensi',#9,'out Gain',#9,'Control u',#9,'output',#9,'error'); closefile(f); NN',#9,'Out lama:=0; Chart1.BottomAxis.minimum := 0; Chart1.BottomAxis.maximum :=graph_maks; Chart1.series[0].Clear; Chart1.series[1].Clear; datax :=0; ScrollBar1.Visible := true; initbobot; dy:=0; dx:=0; init2rbf; initbobot; serial.sendbyte(0); timer_monitor.enabled:=true;

107 procedure TFjst.BitBtn4Click(Sender: TObject); if cmac = true then AssignFile(F_cmac,'D:\data_cmac.txt'); Reset(F_cmac); for i:=1 to do Readln(F_cmac,memori_cmac[i]); CloseFile(F_cmac); assignfile(f_cmac,'d:\data_cmac.txt'); rewrite(f_cmac); closefile(f_cmac); end else if rbf=true then AssignFile(F_rbf,'D:\data_rbf.txt'); Reset(F_rbf); for i:=1 to sum_basis do Readln(F_rbf,w[i,i]); Readln(F_rbf,wb); CloseFile(F_rbf); assignfile(f_rbf,'d:\data_rbf.txt'); rewrite(f_rbf); closefile(f_rbf); procedure TFjst.SaveWeight1Click(Sender: TObject); var cmac_weight:string; if cmac = true then SaveDialog1.Title :='Save Weight of CMAC'; SaveDialog1.Filter :='Text File(*.cmac) *.cmac'; SaveDialog1.InitialDir:='D:\'; if Fjst.SaveDialog1.Execute=true then assignfile(f_cmac,fjst.savedialog1.filename + '.cmac'); rewrite(f_cmac); closefile(f_cmac); AssignFile(F_cmac,Fjst.SaveDialog1.FileName + '.cmac'); append(f_cmac); for i:=1 to do Writeln(F_cmac,memori_cmac[i]:5:4); CloseFile(F_cmac); end else if rbf = true then SaveDialog1.Title :='Save Weight of RBF';

108 SaveDialog1.Filter :='Text File(*.rbf) *.rbf'; SaveDialog1.InitialDir:='D:\'; if SaveDialog1.Execute=true then assignfile(f_rbf,savedialog1.filename + '.rbf'); rewrite(f_rbf); closefile(f_rbf); AssignFile(F_rbf,SaveDialog1.FileName + '.rbf'); append(f_rbf); for i:=1 to sum_basis do Writeln(F_rbf,w[i,i]:5:4); Writeln(F_rbf,wb); CloseFile(F_rbf); procedure TFjst.Timer_rbfTimer(Sender: TObject); // Baca output suhu plant serial.sendchar('#'); sleep(1); serial.readbyte(output); // Hitung sinyal error dan output gain proporsional error:= (referensi/pembagi )- (output/51); controlp:=error*gain; // berupa Tegangan // Hitung keluaran RBF orde 2 dy:=output/51; dx:=referensi/pembagi; out_rbf:=outrbforde2(dx,dy); // Hitung sinyal kontrol plant sinyal_kontrol:=controlp+out_rbf; // Kirim sinyal kontrol sinyalcontrol := round(sinyal_kontrol * 51); if sinyalcontrol > 255 then sinyalcontrol:= 255; if sinyalcontrol < 0 then sinyalcontrol:= 0; serial.sendbyte(sinyalcontrol); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); lama:= hitung_milidetik(durasi); // Catat data ke file str((output*suhu_maks/255):2:2,datay); AssignFile(F,'d:\data.xls'); append(f); Writeln(F,inttostr(lama),#9,floattostr(referensi),#9,floattos tr(out_rbf),#9,floattostr(controlp),#9,floattostr(sinyal_ kontrol),#9,inttostr(round(output*suhu_maks/255)),#9,floattos tr(referensi-(output*suhu_maks/255))); CloseFile(F); // Update bobot RBF for i:=1 to sum_basis do w[i,i]:=w[i,i] +laju_rbf*controlp*outb[i,i]/( sum_basis+1);

109 // Update bobot basis wb wb:=wb+laju_rbf*controlp/(sum_basis+1); // Plot grafik respon datax:=datax ; Chart1.series[0].SeriesColor:=clred; Chart1.Series[0].AddXY(datax,output*(suhu_maks/255)); Chart1.series[1].SeriesColor:=clblue; Chart1.Series[1].AddXY(datax,referensi); maksek:=chart1.bottomaxis.maximum; if datax>batas_maks then ScrollBar1.Max:=(Round(datax)-batas_maks)+1; ScrollBar1.Position:=ScrollBar1.Max; procedure TFjst.BitBtn1Click(Sender: TObject); connect1click(sender); procedure TFjst.BitBtn2Click(Sender: TObject); Disconnect1Click(Sender); procedure TFjst.BitBtn3Click(Sender: TObject); Reset1Click(Sender); procedure TFjst.Timer_clpTimer(Sender: TObject); // ambil data referensi dan gangguan referensi:=strtofloat(fjst.edit1.text); // baca output suhu serial.sendchar('#'); sleep(1); serial.readbyte(output); // Hitung sinyal error dan output gain proporsional (level tegangan) error:= (referensi/pembagi )- (output/51); sinyal_kontrol:=error; // Definisikan sinyal kontrol sinyalcontrol := round(sinyal_kontrol * 51); if sinyalcontrol > 255 then sinyalcontrol:= 255; if sinyalcontrol <0 then sinyalcontrol:=0; Serial.SendByte(sinyalcontrol); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); lama:= hitung_milidetik(durasi); // Catat data ke file

110 AssignFile(F,'d:\data.xls'); append(f); Writeln(F,inttostr(lama),#9,floattostr(referensi),#9,floattos tr(sinyal_kontrol),#9,inttostr(round(output*suhu_maks/255)),# 9,floattostr(referensi-(output*suhu_maks/255))); CloseFile(F); // Plot grafik respon datax:=datax ; Chart1.series[0].SeriesColor:=clred; Chart1.Series[0].AddXY(datax,output*(suhu_maks/255)); Chart1.series[1].SeriesColor:=clblue; Chart1.Series[1].AddXY(datax,referensi); maksek:=chart1.bottomaxis.maximum; if datax>batas_maks then ScrollBar1.Max:=(Round(datax)-batas_maks)+1; ScrollBar1.Position:=ScrollBar1.Max; procedure TFjst.LoadWeight1Click(Sender: TObject); Opendialog1.Filter :='Cmac Files (*.cmac) *.cmac Rbf Files (*.rbf) *.rbf'; Opendialog1.InitialDir:='D:\'; OpenDialog1.Title :='Load Weight of NN'; if Opendialog1.Execute = true then if cmac = true then AssignFile(F_cmac,Opendialog1.FileName); Reset(F_cmac); for i:=1 to do Readln(F_cmac,memori_cmac[i]); CloseFile(F_cmac); end else if rbf=true then AssignFile(F_rbf,Opendialog1.FileName); Reset(F_rbf); for i:=1 to sum_basis do Readln(F_rbf,w[i,i]); Readln(F_rbf,wb); CloseFile(F_rbf); procedure TFjst.SavePicture1Click(Sender: TObject); var namafile:string;

111 SaveDialog1.Filter := 'Picture File(*.bmp) *.bmp'; SaveDialog1.InitialDir:='D:\'; SaveDialog1.FileName:=file_report; if SaveDialog1.Execute=true then chart1.bottomaxis.minimum :=0; chart1.bottomaxis.maximum := maksek; namafile := SaveDialog1.FileName; Chart1.SaveToBitmapFile(namafile + '.bmp'); procedure TFjst.Exit1Click(Sender: TObject); application.terminate; procedure TFjst.Setting2Click(Sender: TObject); Fserial.show; procedure TFjst.Timer_akuisisiTimer(Sender: TObject); referensi:=strtofloat(fjst.edit1.text); serial.sendbyte(round(referensi*(255/suhu_maks))); serial.sendchar('#'); sleep(1); serial.readbyte(output); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); lama:= hitung_milidetik(durasi); // Catat data ke file AssignFile(F,'d:\data.xls'); append(f); Writeln(F,floattostr(lama),#9,inttostr(round(output*suhu_maks /255))); CloseFile(F); // Plot grafik respon datax:=datax ; Chart1.series[0].SeriesColor:=clred; Chart1.Series[0].AddXY(datax,output*(suhu_maks/255)); Chart1.series[1].SeriesColor:=clblue; Chart1.Series[1].AddXY(datax,referensi); maksek:=chart1.bottomaxis.maximum; if datax>batas_maks then ScrollBar1.Max:=(Round(datax)-batas_maks)+1; ScrollBar1.Position:=ScrollBar1.Max; procedure TFjst.serialReceiveData(Sender: TObject; DataPtr: Pointer;DataSize: Cardinal); var

112 DataStr : String; BacaData : char; If DataSize = 0 Then Ftest.Button1.Enabled := false;; exit; Repeat BacaData := char(dataptr^); Ftest.Memo1.SelText:=bacadata; Inc(Dword(DataPtr)); Dec(DataSize); inc(i); Until DataSize = 0; Ftest.Button1.Enabled := true;; procedure TFjst.Timer_monitorTimer(Sender: TObject); serial.sendchar('#'); sleep(1); serial.readbyte(output); Edit3.Text:=format('%4.1f',[output*(suhu_maks/255)]); procedure TFjst.OpenLoop1Click(Sender: TObject); with mainmenu1.items do Items[2].Items[0].Checked:=false; Items[2].Items[1].Checked:=false; Items[2].Items[2].Checked:=false; Items[2].Items[3].Checked:=true; Items[3].Items[0].Enabled:=false; Items[3].Items[1].Enabled:=false; cmac:=false; rbf:=false; close loop:=false; openloop:=true; procedure TFjst.Button1Click(Sender: TObject); referensi:=strtofloat(fjst.edit1.text); procedure TFjst.SaveData1Click(Sender: TObject); SaveDialog1.Title :='Save Report'; SaveDialog1.Filter :='Excel File(*.xls) *.xls'; SaveDialog1.InitialDir:='D:\'; if Fjst.SaveDialog1.Execute=true then assignfile(berkas_sumber,'d:\data.xls');

113 reset(berkas_sumber,1); assignfile(berkas_target,savedialog1.filename+'.xls'); rewrite(berkas_target,1); repeat blockread(berkas_sumber,buffer,ukuran,sum_baca); if sum_baca <> 0 then blockwrite(berkas_target,buffer,sum_baca, sum_rekam); until (sum_baca < ukuran ) or (Sum_baca <> sum_rekam); closefile(berkas_sumber); closefile(berkas_target); procedure TFjst.Button2Click(Sender: TObject); serial.sendbyte(200); procedure TFjst.Timer_clockTimer(Sender: TObject); durasi:=now-mulai; procedure TFjst.Help1Click(Sender: TObject); Application.HelpFile := 'ONLINE.hlp'; Application.HelpCommand(HELP_CONTENTS, 0); end. A.3 Form Test Serial (Ftest) unit Utest; interface uses type Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, CPDrv; TFtest = class(tform) Edit1: TEdit; Button1: TButton; Edit2: TEdit; Label3: TLabel; Shape1: TShape; Label1: TLabel; Label2: TLabel; Memo1: TMemo; Button3: TButton; Timer_baca: TTimer; procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject);

114 procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer_bacaTimer(Sender: TObject); private { Private declarations } public { Public declarations } var Ftest: TFtest; i: real; implementation uses Ujst; {$R *.dfm} procedure TFtest.Button3Click(Sender: TObject); Fjst.serial.Connect; Fjst.serial.SendChar('!'); memo1.lines.add('status Koneksi : ') procedure TFtest.FormCreate(Sender: TObject); memo1.clear; memo1.lines.add('status Koneksi : '); Ftest.Button1.Enabled := false; procedure TFtest.FormClose(Sender: TObject; var Action: TCloseAction); memo1.clear; Ftest.Button1.Enabled :=false; procedure TFtest.Button2Click(Sender: TObject); Fjst.serial.SendChar('!'); sleep(1); Fjst.serial.ReadByte(output); edit2.text:=floattostr(output/51); procedure TFtest.Button1Click(Sender: TObject); i:=strtofloat(edit1.text); Fjst.serial.SendByte(round(i*51)); Ftest.Timer_baca.Enabled := true; procedure TFtest.Timer_bacaTimer(Sender: TObject); Fjst.serial.SendChar('#');

115 sleep(1); Fjst.serial.ReadByte(output); Ftest.Edit2.Text:=floattostr((output/51)); end. A.4 Form Setting Serial (Fserial) unit Userial; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls, CPDrv, Ujst; type TFserial = class(tform) Panel1: TPanel; Label1: TLabel; ComboBox1: TComboBox; ComboBox2: TComboBox; ComboBox3: TComboBox; ComboBox4: TComboBox; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; ComboBox5: TComboBox; Label7: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } var Fserial: TFserial; implementation {$R *.dfm} procedure TFserial.Button1Click(Sender: TObject); case combobox1.itemindex of 0 : nama_port := pncom1; 1 : nama_port := pncom2; case combobox2.itemindex of

116 0 : baudrate := 1200; 1 : baudrate := 2400; 2 : baudrate := 9600; case combobox3.itemindex of 0 : databits := db7bits; 1 : databits := db8bits; case combobox4.itemindex of 0 : parity := ptnone; 1 : parity := ptodd; 2 : parity := pteven; case combobox5.itemindex of 0 : stopbits := sb1bits; 1 : stopbits := sb2bits; with Fjst do serial.port := nama_port; serial.baudratevalue :=baudrate; serial.databits := databits; serial.stopbits := stopbits; serial.swflow := sfnone; serial.parity := parity; serial.connect; serial.sendbyte(0); sleep(5); close; procedure TFserial.FormCreate(Sender: TObject); Fjst.serial.Disconnect; end. A.5 Form Setting Parameter CMAC (Fcmac) unit Ucmac; interface uses type Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Spin; TFcmac = class(tform) Shape1: TShape; Label1: TLabel;

117 Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; BitBtn1: TBitBtn; Edit3: TEdit; Label4: TLabel; procedure BitBtn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } var Fcmac: TFcmac; implementation uses Ujst; {$R *.dfm} procedure TFcmac.BitBtn1Click(Sender: TObject); gain:=strtofloat(edit2.text); generalisasi:=strtoint(edit1.text); laju_cmac:=strtofloat(edit3.text); sleep(50); Fcmac.Close; procedure TFcmac.FormCreate(Sender: TObject); Edit1.Text:='25'; Edit2.Text:='2'; Edit3.Text:='0.1'; end. A.6 Form Setting Parameter RBF (Frbf) unit Urbf; interface uses type Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls, Buttons; TFrbf = class(tform) Shape1: TShape; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel;

118 Label3: TLabel; BitBtn1: TBitBtn; Edit3: TEdit; Label4: TLabel; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } var Frbf: TFrbf; i:integer; implementation uses Ujst; {$R *.dfm} procedure TFrbf.BitBtn1Click(Sender: TObject); sum_basis:=strtoint(edit1.text); gain:=strtofloat(edit2.text); laju_rbf:=strtofloat(edit3.text); jumlah_basis:=sum_basis; sleep(50); Frbf.Close; procedure TFrbf.BitBtn2Click(Sender: TObject); Frbf.Close; procedure TFrbf.FormCreate(Sender: TObject); Edit1.Text:='4'; Edit2.Text:='2'; Edit3.Text:='0.1'; end. A.7 Form Load Picture (Fview) unit Uview; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, jpeg, ExtCtrls;

119 type TFview = class(tform) Image1: TImage; private { Private declarations } public { Public declarations } var Fview: TFview; implementation {$R *.dfm} end. A.7 Form About (Fabout) unit Uabout; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, jpeg, ExtCtrls, StdCtrls, Menus; type TFabout = class(tform) Image1: TImage; Shape1: TShape; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; PopupMenu1: TPopupMenu; Close1: TMenuItem; procedure Close1Click(Sender: TObject); private { Private declarations } public { Public declarations } var Fabout: TFabout; implementation {$R *.dfm} procedure TFabout.Close1Click(Sender: TObject); close; end.

120 LAMPIRAN B TAMPILAN PROGRAM

121 B.1 Tampilan Fload B.2 Tampilan Fserial

122 B.3 Tampilan Fjst B.4 Tampilan Ftest

123 B.5 Tampilan Fcmac B.6 Tampilan Frbf B.7 Tampilan Fabout

124 B.8 Tampilan Help

APLIKASI JARINGAN SYARAF TIRUAN RBF PADA SISTEM KONTROL VALVE UNTUK PENGENDALIAN TINGGI MUKA AIR

APLIKASI JARINGAN SYARAF TIRUAN RBF PADA SISTEM KONTROL VALVE UNTUK PENGENDALIAN TINGGI MUKA AIR APLIKASI JARINGAN SYARAF TIRUAN RBF PADA SISTEM KONTROL VALVE UNTUK PENGENDALIAN TINGGI MUKA AIR Wahyudi, Hariyanto, Iwan Setiawan Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jln.

Lebih terperinci

dan RBF pada pengendalian plant suhu secara online. I. PENDAHULUAN

dan RBF pada pengendalian plant suhu secara online. I. PENDAHULUAN Perbandingan Unjuk Kerja Jaringan Syaraf Tiruan CMAC (Cerrebellar Model Articulation Controller) dan RBF (Radial Basis Function) pada Pengendalian Plant Suhu secara On Line Amin Fauzan 1, Iwan Setiawan,ST.

Lebih terperinci

I. PENDAHULUAN. 1.1 Latar Belakang

I. PENDAHULUAN. 1.1 Latar Belakang Perbandingan Unjuk Kerja Kontroller PID Metode Pertama Ziegler-Nichols dan CMAC (Cerrebellar Model Articulation Controller) pada Pengendalian Plant Suhu Deni Juharsyah 1, Iwan Setiawan,ST. MT. 2, Wahyudi,ST.

Lebih terperinci

PERBANDINGAN KINERJA CMAC DENGAN KONTROLLER PID METODE PERTAMA ZIEGLER-NICHOLS PADA PENGENDALIAN PLANT SUHU. Wahyudi 1 ABSTRACT

PERBANDINGAN KINERJA CMAC DENGAN KONTROLLER PID METODE PERTAMA ZIEGLER-NICHOLS PADA PENGENDALIAN PLANT SUHU. Wahyudi 1 ABSTRACT PERBANDINGAN KINERJA CMAC DENGAN KONTROLLER PID METODE PERTAMA ZIEGLER-NICHOLS PADA PENGENDALIAN PLANT SUHU Wahyudi 1 ABSTRACT The 1 st Ziegler-Nichols method usually used in industrial workplace doesn

Lebih terperinci

MAKALAH SEMINAR TUGAS AKHIR

MAKALAH SEMINAR TUGAS AKHIR 1 MAKALAH SEMINAR TUGAS AKHIR APLIKASI JARINGAN SYARAF TIRUAN RBF (RADIAL BASIS FUNCTION) PADA SISTEM KONTROL VALVE UNTUK PENGENDALIAN TINGGI MUKA CAIRAN SECARA ON-LINE Hariyanto 1, Wahyudi, ST, MT 2 Iwan

Lebih terperinci

JARINGAN SYARAF TIRUAN JENIS AMN (Associative Memory Networks): CMAC, B-SPLINE dan RBF UNTUK APLIKASI PEMODELAN DAN PENGONTROLAN

JARINGAN SYARAF TIRUAN JENIS AMN (Associative Memory Networks): CMAC, B-SPLINE dan RBF UNTUK APLIKASI PEMODELAN DAN PENGONTROLAN JARINGAN SYARAF TIRUAN JENIS AMN (Associative Memory Networks): CMAC, B-SPLINE dan RBF UNTUK APLIKASI PEMODELAN DAN PENGONTROLAN (BY IWAN SETIAWAN, ST, MT) setiaone.iwan@gmail.com Office: Automatic Control

Lebih terperinci

Makalah Seminar Tugas Akhir

Makalah Seminar Tugas Akhir Makalah Seminar Tugas Akhir Aplikasi Jaringan Syaraf Tiruan RBF (Radial Basis Fuction) pada Plant Pengaturan Level Cairan Berbasis Mikrokontroler ATmega32 Wahyu Nur Priyanto [1], Wahyudi, S.T, M.T [2],

Lebih terperinci

PENGENDALIAN VALVE UNTUK MENGATUR KETINGGIAN AIR DENGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN B-SPLINE

PENGENDALIAN VALVE UNTUK MENGATUR KETINGGIAN AIR DENGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN B-SPLINE Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) ISSN: 1907-5022 Yogyakarta, 21 Juni 2008 PENGENDALIAN VALVE UNTUK MENGATUR KETINGGIAN AIR DENGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN B-SPLINE

Lebih terperinci

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia APLIKASI JARINGAN SYARAF TIRUAN B-SPLINE PADA SISTEM PENGATURAN SUHU CAIRAN Istichori 1, Iwan Setiawan, ST. MT., Wahyudi, ST. MT. Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jl. Prof.

Lebih terperinci

METODOLOGI PENELITIAN

METODOLOGI PENELITIAN III. METODOLOGI PENELITIAN A. Kerangka Pemikiran Perusahaan dalam era globalisasi pada saat ini, banyak tumbuh dan berkembang, baik dalam bidang perdagangan, jasa maupun industri manufaktur. Perusahaan

Lebih terperinci

PERANCANGAN KENDALI SUHU RUANG MENGGUNAKAN JARINGAN SYARAF TIRUAN JENIS B-SPLINE SECARA ONLINE

PERANCANGAN KENDALI SUHU RUANG MENGGUNAKAN JARINGAN SYARAF TIRUAN JENIS B-SPLINE SECARA ONLINE PERACAGA KEDALI SUHU RUAG MEGGUAKA JARIGA SYARAF TIRUA JEIS B-SPLIE SECARA OLIE oviyanto Prasetyo, Iwan Setiawan,ST. MT., Sumardi,ST. MT. Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro,

Lebih terperinci

IMPLEMENTASI KONTROL PID UNTUK PENGENDALI MICROPUMP GUNA MENJAGA KONTINUITAS ALIRAN FLUIDA LAPORAN TUGAS AKHIR

IMPLEMENTASI KONTROL PID UNTUK PENGENDALI MICROPUMP GUNA MENJAGA KONTINUITAS ALIRAN FLUIDA LAPORAN TUGAS AKHIR IMPLEMENTASI KONTROL PID UNTUK PENGENDALI MICROPUMP GUNA MENJAGA KONTINUITAS ALIRAN FLUIDA LAPORAN TUGAS AKHIR Oleh: ANDIKA PERMADI 02.50.0079 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS

Lebih terperinci

IDENTIFIKASI PARAMETER SISTEM PADA PLANT ORDE DENGAN METODE GRADIENT

IDENTIFIKASI PARAMETER SISTEM PADA PLANT ORDE DENGAN METODE GRADIENT IDENTIFIKASI PARAMETER SISTEM PADA PLANT ORDE DENGAN METODE GRADIENT Larasaty Ekin Dewanta *, Budi Setiyono, and Sumardi Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro Jl. Prof. Sudharto,

Lebih terperinci

APLIKASI JARINGAN SYARAF TIRUAN CERREBELLAR MODEL ARTICULATION CONTROLLER PADA PENGENDALIAN KECEPATAN MOTOR DC PENGUAT TERPISAH 1 HP

APLIKASI JARINGAN SYARAF TIRUAN CERREBELLAR MODEL ARTICULATION CONTROLLER PADA PENGENDALIAN KECEPATAN MOTOR DC PENGUAT TERPISAH 1 HP APLIKASI JARINGAN SYARAF TIRUAN CERREBELLAR MODEL ARTICULATION CONTROLLER PADA PENGENDALIAN KECEPATAN MOTOR DC PENGUAT TERPISAH 1 HP Fredrik Octavianus Parapat 1, Mochammad Facta 2,Iwan Setiawan 2 Jurusan

Lebih terperinci

DAFTAR ISI. Halaman Judul. Lembar Pengesahan Pembimbing. Lembar Pernyataan Keaslian. Lembar Pengesahan Penguji. Halaman Persembahan.

DAFTAR ISI. Halaman Judul. Lembar Pengesahan Pembimbing. Lembar Pernyataan Keaslian. Lembar Pengesahan Penguji. Halaman Persembahan. xi DAFTAR ISI Halaman Judul Lembar Pengesahan Pembimbing Lembar Pernyataan Keaslian Lembar Pengesahan Penguji Halaman Persembahan Halaman Motto Kata Pengantar Abstraksi Daftar Isi Daftar Gambar Daftar

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM 21 BAB III PERANCANGAN SISTEM 3.1 Rangkaian Keseluruhan Sistem kendali yang dibuat ini terdiri dari beberapa blok bagian yaitu blok bagian plant (objek yang dikendalikan), blok bagian sensor, blok interface

Lebih terperinci

Materi-2 SENSOR DAN TRANSDUSER (2 SKS / TEORI) SEMESTER 106 TA 2016/2017

Materi-2 SENSOR DAN TRANSDUSER (2 SKS / TEORI) SEMESTER 106 TA 2016/2017 Materi-2 SENSOR DAN TRANSDUSER 52150802 (2 SKS / TEORI) SEMESTER 106 TA 2016/2017 KONSEP AKUISISI DATA DAN KONVERSI PENGERTIAN Akuisisi data adalah pengukuran sinyal elektrik dari transduser dan peralatan

Lebih terperinci

DAFTAR ISI. Halaman Judul... i. Lembar Pengesahan Pembimbing... ii. Lembar Pernyataan Keaslian...iii. Lembar Pengesahan Pengujian...

DAFTAR ISI. Halaman Judul... i. Lembar Pengesahan Pembimbing... ii. Lembar Pernyataan Keaslian...iii. Lembar Pengesahan Pengujian... xi DAFTAR ISI Halaman Judul... i Lembar Pengesahan Pembimbing... ii Lembar Pernyataan Keaslian...iii Lembar Pengesahan Pengujian... iv Halaman Persembahan... v Halaman Motto... vi Kata Pengantar... vii

Lebih terperinci

JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) ERWIEN TJIPTA WIJAYA, ST, M.KOM

JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) ERWIEN TJIPTA WIJAYA, ST, M.KOM JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) ERWIEN TJIPTA WIJAYA, ST, M.KOM INTRODUCTION Jaringan Saraf Tiruan atau JST adalah merupakan salah satu representasi tiruan dari otak manusia yang selalu

Lebih terperinci

BAB 2 LANDASAN TEORI. Pengenalan suara (voice recognition) dibagi menjadi dua jenis, yaitu

BAB 2 LANDASAN TEORI. Pengenalan suara (voice recognition) dibagi menjadi dua jenis, yaitu BAB 2 LANDASAN TEORI 2.1 Pengenalan Suara. Pengenalan suara (voice recognition) dibagi menjadi dua jenis, yaitu speech recognition dan speaker recognition. Speech recognition adalah proses yang dilakukan

Lebih terperinci

BAB 2 KONSEP DASAR PENGENAL OBJEK

BAB 2 KONSEP DASAR PENGENAL OBJEK BAB 2 KONSEP DASAR PENGENAL OBJEK 2.1 KONSEP DASAR Pada penelitian ini, penulis menggunakan beberapa teori yang dijadikan acuan untuk menyelesaikan penelitian. Berikut ini teori yang akan digunakan penulis

Lebih terperinci

MODEL PEMBELAJARAN JARINGAN SYARAF TIRUAN UNTUK OTOMATISASI PENGEMUDIAN KENDARAAN BERODA TIGA

MODEL PEMBELAJARAN JARINGAN SYARAF TIRUAN UNTUK OTOMATISASI PENGEMUDIAN KENDARAAN BERODA TIGA MODEL PEMBELAJARAN JARINGAN SYARAF TIRUAN UNTUK OTOMATISASI PENGEMUDIAN KENDARAAN BERODA TIGA Ramli e-mail:ramli.brt@gmail.com Dosen Tetap Amik Harapan Medan ABSTRAK Jaringan Syaraf Tiruan adalah pemrosesan

Lebih terperinci

TIMBANGAN BERAT BADAN DAN TINGGI BADAN DENGAN OUTPUT SUARA

TIMBANGAN BERAT BADAN DAN TINGGI BADAN DENGAN OUTPUT SUARA TIMBANGAN BERAT BADAN DAN TINGGI BADAN DENGAN OUTPUT SUARA LAPORAN TUGAS AKHIR Oleh: Hendry Kurniawan 01.50.0008 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS KATOLIK SOEGIJAPRANATA

Lebih terperinci

BAB 1 PENDAHULUAN. Melakukan pengukuran besaran fisik di dalam penelitian, mutlak

BAB 1 PENDAHULUAN. Melakukan pengukuran besaran fisik di dalam penelitian, mutlak 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Melakukan pengukuran besaran fisik di dalam penelitian, mutlak dibutuhkan. Besaran fisik yang senantiasa mempengaruhi objek penelitian diantaranya adalah

Lebih terperinci

Kontrol Keseimbangan Robot Mobil Beroda Dua Dengan. Metode Logika Fuzzy

Kontrol Keseimbangan Robot Mobil Beroda Dua Dengan. Metode Logika Fuzzy SKRIPSI Kontrol Keseimbangan Robot Mobil Beroda Dua Dengan Metode Logika Fuzzy Laporan ini disusun guna memenuhi salah satu persyaratan untuk menyelesaikan program S-1 Teknik Elektro Fakultas Teknik Universitas

Lebih terperinci

LAPORAN PROYEK AKHIR RANCANG BANGUN ALAT PENGERING JAMUR KUPING DENGAN PEMANAS MENGGUNAKAN MIKROKONTROLLER AT89C51

LAPORAN PROYEK AKHIR RANCANG BANGUN ALAT PENGERING JAMUR KUPING DENGAN PEMANAS MENGGUNAKAN MIKROKONTROLLER AT89C51 LAPORAN PROYEK AKHIR RANCANG BANGUN ALAT PENGERING JAMUR KUPING DENGAN PEMANAS MENGGUNAKAN MIKROKONTROLLER AT89C51 Oleh : PRIYO UTOMO NIM. 011903102002 PROGRAM STUDI DIPLOMA III TEKNIK JURUSAN TEKNIK ELEKTRO

Lebih terperinci

ALAT PENDETEKSI DETAK JANTUNG DAN SUHU TUBUH MENGGUNAKAN IC ATMEGA 16

ALAT PENDETEKSI DETAK JANTUNG DAN SUHU TUBUH MENGGUNAKAN IC ATMEGA 16 ALAT PENDETEKSI DETAK JANTUNG DAN SUHU TUBUH MENGGUNAKAN IC ATMEGA 16 TUGAS AKHIR Diajukan Kepada Politeknik Muhammadiyah Yogyakarta untuk Memenuhi Sebagian Persyaratan Guna Memperoleh Gelar Ahli Madya

Lebih terperinci

DAFTAR ISI HALAMAN JUDUL. HALAMAN PENGESAHAN PEMBIMBING. HALAMAN PENGESAHAN PENGUJI... HALAMAN PERSEMBAHAN. HALAMAN MOTTO.. ABSTRAKSI... DAFTAR ISI...

DAFTAR ISI HALAMAN JUDUL. HALAMAN PENGESAHAN PEMBIMBING. HALAMAN PENGESAHAN PENGUJI... HALAMAN PERSEMBAHAN. HALAMAN MOTTO.. ABSTRAKSI... DAFTAR ISI... Xii DAFTAR ISI HALAMAN JUDUL. i HALAMAN PENGESAHAN PEMBIMBING. ii HALAMAN PENGESAHAN PENGUJI... iii HALAMAN PERSEMBAHAN. iv HALAMAN MOTTO.. v KATA PENGANTAR vii ABSTRAKSI..... viii DAFTAR ISI.... x DAFTAR

Lebih terperinci

BOOST PWM RECTIFIER 3 FASA SEBAGAI METODE PERBAIKAN KUALITAS DAYA DAN MENINGKATKAN EFISIENSI DAYA

BOOST PWM RECTIFIER 3 FASA SEBAGAI METODE PERBAIKAN KUALITAS DAYA DAN MENINGKATKAN EFISIENSI DAYA BOOST PWM RECTIFIER 3 FASA SEBAGAI METODE PERBAIKAN KUALITAS DAYA DAN MENINGKATKAN EFISIENSI DAYA TUGAS AKHIR Oleh : Dharnendra Yogi Prabandaru (01.50.0118) PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI

Lebih terperinci

BAB III PERENCANAAN DAN REALISASI SISTEM

BAB III PERENCANAAN DAN REALISASI SISTEM 42 BAB III PERENCANAAN DAN REALISASI SISTEM Pada bab ini dijelaskan pembuatan alat yang dibuat dalam proyek tugas akhir dengan judul rancang bangun sistem kontrol suhu dan kelembaban berbasis mirkrokontroler

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Pengenalan Pola Pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu

Lebih terperinci

IMPLEMENTASI KONTROL PID PADA PENDULUM TERBALIK MENGGUNAKAN PENGONTROL MIKRO AVR ATMEGA 16 ABSTRAK

IMPLEMENTASI KONTROL PID PADA PENDULUM TERBALIK MENGGUNAKAN PENGONTROL MIKRO AVR ATMEGA 16 ABSTRAK IMPLEMENTASI KONTROL PID PADA PENDULUM TERBALIK MENGGUNAKAN PENGONTROL MIKRO AVR ATMEGA 16 Disusun Oleh: Nama : Earline Ignacia Sutanto NRP : 0622012 Jurusan Teknik Elektro, Fakultas Teknik, Universitas

Lebih terperinci

Architecture Net, Simple Neural Net

Architecture Net, Simple Neural Net Architecture Net, Simple Neural Net 1 Materi 1. Model Neuron JST 2. Arsitektur JST 3. Jenis Arsitektur JST 4. MsCulloh Pitts 5. Jaringan Hebb 2 Model Neuron JST X1 W1 z n wi xi; i1 y H ( z) Y1 X2 Y2 W2

Lebih terperinci

PERANCANGAN PENGENDALI POSISI LINIER UNTUK MOTOR DC DENGAN MENGGUNAKAN PID

PERANCANGAN PENGENDALI POSISI LINIER UNTUK MOTOR DC DENGAN MENGGUNAKAN PID PERANCANGAN PENGENDALI POSISI LINIER UNTUK MOTOR DC DENGAN MENGGUNAKAN PID Endra 1 ; Nazar Nazwan 2 ; Dwi Baskoro 3 ; Filian Demi Kusumah 4 1 Jurusan Sistem Komputer, Fakultas Ilmu Komputer, Universitas

Lebih terperinci

RANCANG BANGUN SIMULATOR PENGENDALIAN POSISI CANNON PADA MODEL TANK MILITER DENGAN PENGENDALI PD (PROPOSIONAL DERIVATIVE)

RANCANG BANGUN SIMULATOR PENGENDALIAN POSISI CANNON PADA MODEL TANK MILITER DENGAN PENGENDALI PD (PROPOSIONAL DERIVATIVE) Makalah Seminar Tugas Akhir RANCANG BANGUN SIMULATOR PENGENDALIAN POSISI CANNON PADA MODEL TANK MILITER DENGAN PENGENDALI PD (PROPOSIONAL DERIVATIVE) Heru Triwibowo [1], Iwan Setiawan [2], Budi Setiyono

Lebih terperinci

PENERAPAN JARINGAN SYARAF TIRUAN DALAM MEMPREDIKSI TINGKAT PENGANGGURAN DI SUMATERA BARAT

PENERAPAN JARINGAN SYARAF TIRUAN DALAM MEMPREDIKSI TINGKAT PENGANGGURAN DI SUMATERA BARAT PENERAPAN JARINGAN SYARAF TIRUAN DALAM MEMPREDIKSI TINGKAT PENGANGGURAN DI SUMATERA BARAT Havid Syafwan Program Studi Manajemen Informatika, Amik Royal, Kisaran E-mail: havid_syafwan@yahoo.com ABSTRAK:

Lebih terperinci

BAB III DESAIN DAN IMPLEMENTASI

BAB III DESAIN DAN IMPLEMENTASI BAB III DESAIN DAN IMPLEMENTASI 3.1 Pendahuluan Pada tugas akhir ini akan membahas tentang pengisian batere dengan metode constant current constant voltage. Pada implementasinya mengunakan rangkaian konverter

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.6. Jaringan Syaraf Tiruan Jaringan syaraf tiruan atau neural network merupakan suatu sistem informasi yang mempunyai cara kerja dan karakteristik menyerupai jaringan syaraf pada

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM III PERNCNGN SISTEM Pada bab ini akan dibahas tentang diagram blok sistem yang menjelaskan tentang prinsip kerja alat dan program serta membahas perancangan sistem alat yang meliputi perangkat keras dan

Lebih terperinci

BAB IV JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORK)

BAB IV JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) BAB IV JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) Kompetensi : 1. Mahasiswa memahami konsep Jaringan Syaraf Tiruan Sub Kompetensi : 1. Dapat mengetahui sejarah JST 2. Dapat mengetahui macam-macam

Lebih terperinci

DAFTAR ISI LEMBAR PENGESAHAN... LEMBAR PERSETUJUAN... PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... vii DAFTAR ISI...

DAFTAR ISI LEMBAR PENGESAHAN... LEMBAR PERSETUJUAN... PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... vii DAFTAR ISI... DAFTAR ISI LEMBAR PENGESAHAN... LEMBAR PERSETUJUAN... PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... i ii iv v vi KATA PENGANTAR... vii DAFTAR ISI... ix DAFTAR GAMBAR... xii DAFTAR TABEL... xiv DAFTAR SINGKATAN...

Lebih terperinci

PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI

PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI Oleh Nama : Januar Wiguna Nim : 0700717655 PROGRAM GANDA TEKNIK INFORMATIKA DAN MATEMATIKA

Lebih terperinci

BAB 2 LANDASAN TEORI. fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses

BAB 2 LANDASAN TEORI. fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses 8 BAB 2 LANDASAN TEORI 2.1 Teori Neuro Fuzzy Neuro-fuzzy sebenarnya merupakan penggabungan dari dua studi utama yaitu fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Forecasting Forecasting (peramalan) adalah seni dan ilmu untuk memperkirakan kejadian di masa yang akan datang. Hal ini dapat dilakukan dengan melibatkan data historis dan memproyeksikannya

Lebih terperinci

JARINGAN SARAF TIRUAN UNTUK MENILAI ARANSEMEN MUSIK

JARINGAN SARAF TIRUAN UNTUK MENILAI ARANSEMEN MUSIK JARINGAN SARAF TIRUAN UNTUK MENILAI ARANSEMEN MUSIK LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh: Ali Akbar / 13503095 PROGRAM STUDI INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN

Lebih terperinci

BAB II DASAR TEORI Jaringan Syaraf Tiruan. Universitas Sumatera Utara

BAB II DASAR TEORI Jaringan Syaraf Tiruan. Universitas Sumatera Utara BAB II DASAR TEORI Landasan teori adalah teori-teori yang relevan dan dapat digunakan untuk menjelaskan variabel-variabel penelitian. Landasan teori ini juga berfungsi sebagai dasar untuk memberi jawaban

Lebih terperinci

SISTEM PENGENDALI LEVEL DAN VOLUME AIR PADA PROSES PENGISIAN BAK PENAMPUNG AIR MENGGUNAKAN AT89S51 DENGAN PENAMPIL SEGMENT 7 TUGAS AKHIR

SISTEM PENGENDALI LEVEL DAN VOLUME AIR PADA PROSES PENGISIAN BAK PENAMPUNG AIR MENGGUNAKAN AT89S51 DENGAN PENAMPIL SEGMENT 7 TUGAS AKHIR SISTEM PENGENDALI LEVEL DAN VOLUME AIR PADA PROSES PENGISIAN BAK PENAMPUNG AIR MENGGUNAKAN AT89S51 DENGAN PENAMPIL SEGMENT 7 TUGAS AKHIR Diajukan Untuk Memenuhi Tugas dan Syarat Syarat Guna Memperoleh

Lebih terperinci

PERANCANGAN OSILOSKOP PC MELALUI SOUNDCARD

PERANCANGAN OSILOSKOP PC MELALUI SOUNDCARD PERANCANGAN OSILOSKOP PC MELALUI SOUNDCARD LAPORAN TUGAS AKHIR OLEH: ALBERTUS ENDRY PUTRANTO 02.50.0056 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS KATOLIK SOEGIJAPRANATA SEMARANG

Lebih terperinci

APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI VOLUME PEMAKAIAN AIR BERSIH DI KOTA PONTIANAK

APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI VOLUME PEMAKAIAN AIR BERSIH DI KOTA PONTIANAK APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI VOLUME PEMAKAIAN AIR BERSIH DI KOTA PONTIANAK [1] Meishytah Eka Aprilianti, [2] Dedi Triyanto, [3] Ilhamsyah [1] [2] [3] Jurusan Sistem Komputer, Fakultas

Lebih terperinci

PENIMBANG GULA OTOMATIS BERBASIS MIKROKONTROLER AT89S52

PENIMBANG GULA OTOMATIS BERBASIS MIKROKONTROLER AT89S52 PENIMBANG GULA OTOMATIS BERBASIS MIKROKONTROLER AT89S52 TUGAS AKHIR OLEH : Fendy Wibowo S. 03.50.0014 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS KATOLIK SOEGIJAPRANATA SEMARANG

Lebih terperinci

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Universitas Kristen Maranatha ABSTRAK Perkembangan teknologi yang semakin pesat, menuntut suatu industri dapat menyediakan berbagai tingkat kebutuhan konsumen yang beraneka ragam dengan efisien tanpa menurunkan mutu produksi. Untuk

Lebih terperinci

MAXIMUM POWER POINT TRACKER PADA SOLAR CELL/PHOTOVOLTAIC MODULE DENGAN MENGGUNAKAN FUZZY LOGIC CONTROLLER

MAXIMUM POWER POINT TRACKER PADA SOLAR CELL/PHOTOVOLTAIC MODULE DENGAN MENGGUNAKAN FUZZY LOGIC CONTROLLER MAXIMUM POWER POINT TRACKER PADA SOLAR CELL/PHOTOVOLTAIC MODULE DENGAN MENGGUNAKAN FUZZY LOGIC CONTROLLER TUGAS AKHIR Oleh : Ade Rinovy Dwi Rusdi 05.50.0019 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI

Lebih terperinci

PEMANGGIL ANTRIAN BERBASIS MIKROKONTROLLER AT89S52

PEMANGGIL ANTRIAN BERBASIS MIKROKONTROLLER AT89S52 PEMANGGIL ANTRIAN BERBASIS MIKROKONTROLLER AT89S52 LAPORAN TUGAS AKHIR Oleh: DIDIT SETIAWAN 02.50.0059 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS KATOLIK SOEGIJAPRANATA 2009 HALAMAN

Lebih terperinci

PREDIKSI PRODUKSI PANEN KELAPA SAWIT MENGGUNAKAN JARINGAN SARAF RADIAL BASIS FUNCTION (RBF) SKRIPSI RINI JANNATI

PREDIKSI PRODUKSI PANEN KELAPA SAWIT MENGGUNAKAN JARINGAN SARAF RADIAL BASIS FUNCTION (RBF) SKRIPSI RINI JANNATI PREDIKSI PRODUKSI PANEN KELAPA SAWIT MENGGUNAKAN JARINGAN SARAF RADIAL BASIS FUNCTION (RBF) SKRIPSI RINI JANNATI 101402072 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

PERANCANGAN SISTEM KONTROL POSISI DAN KECEPATAN PADA KAPAL SELAM MENGGUNAKAN JARINGAN SARAF TIRUAN

PERANCANGAN SISTEM KONTROL POSISI DAN KECEPATAN PADA KAPAL SELAM MENGGUNAKAN JARINGAN SARAF TIRUAN ABSTRAK PERANCANGAN SISTEM KONTROL POSISI DAN KECEPATAN PADA KAPAL SELAM MENGGUNAKAN JARINGAN SARAF TIRUAN Agus Syahril / 0322013 Jurusan Teknik Elektro, Fakultas Teknik Universitas Kristen Maranatha Jl.

Lebih terperinci

Neural Network (NN) Keuntungan penggunaan Neural Network : , terdapat tiga jenis neural network Proses Pembelajaran pada Neural Network

Neural Network (NN) Keuntungan penggunaan Neural Network : , terdapat tiga jenis neural network Proses Pembelajaran pada Neural Network Neural Network (NN) adalah suatu prosesor yang melakukan pendistribusian secara besar-besaran, yang memiliki kecenderungan alami untuk menyimpan suatu pengenalan yang pernah dialaminya, dengan kata lain

Lebih terperinci

RANCANG BANGUN ALAT PENGATUR SUHU DAN KELEMBABAN PADA GREENHOUSE UNTUK TANAMAN STROBERI BERBASIS MIKROKONTROLLER ATMEGA 8535 LAPORAN TUGAS AKHIR

RANCANG BANGUN ALAT PENGATUR SUHU DAN KELEMBABAN PADA GREENHOUSE UNTUK TANAMAN STROBERI BERBASIS MIKROKONTROLLER ATMEGA 8535 LAPORAN TUGAS AKHIR RANCANG BANGUN ALAT PENGATUR SUHU DAN KELEMBABAN PADA GREENHOUSE UNTUK TANAMAN STROBERI BERBASIS MIKROKONTROLLER ATMEGA 8535 LAPORAN TUGAS AKHIR Disusun Sebagai Syarat Untuk Menyelesaikan Program Pendidikan

Lebih terperinci

RANCANG BANGUN TOOL UNTUK JARINGAN SYARAF TIRUAN (JST) MODEL PERCEPTRON

RANCANG BANGUN TOOL UNTUK JARINGAN SYARAF TIRUAN (JST) MODEL PERCEPTRON RANCANG BANGUN TOOL UNTUK JARINGAN SYARAF TIRUAN (JST) MODEL PERCEPTRON Liza Afriyanti Laboratorium Komputasi dan Sistem Cerdas Jurusan Teknik Informatika, Fakultas Teknologi Industri,Universitas Islam

Lebih terperinci

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN BAB III METODE PENELITIAN A. DIAGRAM ALUR PENELITIAN Metode penelitian merupakan sebuah langkah yang tersusun secara sistematis dan menjadi pedoman untuk menyelesaikan masalah. Metode penelitian merupakan

Lebih terperinci

TUGAS AKHIR PROTOTIPE ALAT BLOOD WARMER

TUGAS AKHIR PROTOTIPE ALAT BLOOD WARMER TUGAS AKHIR PROTOTIPE ALAT BLOOD WARMER Diajukan untuk memenuhi syarat dalam mencapai gelar Sarjana Strata Satu (S1) Diajukan Oleh : FERY ANDRIYANI 41411110115 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNIK

Lebih terperinci

MAXIMUM POWER POINT TRACKER DENGAN METODE INCREMENTAL CONDUCTANCE TRANSCONDUCTANCE CONTROL BERBASIS. dspic30f4012

MAXIMUM POWER POINT TRACKER DENGAN METODE INCREMENTAL CONDUCTANCE TRANSCONDUCTANCE CONTROL BERBASIS. dspic30f4012 MAXIMUM POWER POINT TRACKER DENGAN METODE INCREMENTAL CONDUCTANCE TRANSCONDUCTANCE CONTROL BERBASIS dspic30f4012 LAPORAN TUGAS AKHIR Oleh : YUNAN WIBISONO 10.50.0011 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS

Lebih terperinci

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Universitas Kristen Maranatha ABSTRAK Perangkat yang dirancang merupakan perangkat tambahan pada motor induksi tiga fasa untuk memperlihatkan performansi motor dengan melihat slip dari motor tersebut. Sistem pengukuran slip yang dirancang

Lebih terperinci

RANCANG BANGUN OTOMASI SISTEM PENGISIAN DAN PENGONTROLAN SUHU AIR HANGAT PADA BATHTUB MENGGUNAKAN DETEKTOR FASA. Tugas Akhir

RANCANG BANGUN OTOMASI SISTEM PENGISIAN DAN PENGONTROLAN SUHU AIR HANGAT PADA BATHTUB MENGGUNAKAN DETEKTOR FASA. Tugas Akhir RANCANG BANGUN OTOMASI SISTEM PENGISIAN DAN PENGONTROLAN SUHU AIR HANGAT PADA BATHTUB MENGGUNAKAN DETEKTOR FASA Tugas Akhir Disusun untuk memenuhi syarat memperoleh gelar Ahli Madya pada program Studi

Lebih terperinci

PENGENALAN POLA HURUF ROMAWI DENGAN JARINGAN SARAF TIRUAN PERSEPTRON LAPIS JAMAK

PENGENALAN POLA HURUF ROMAWI DENGAN JARINGAN SARAF TIRUAN PERSEPTRON LAPIS JAMAK PENGENALAN POLA HURUF ROMAWI DENGAN JARINGAN SARAF TIRUAN PERSEPTRON LAPIS JAMAK Eko Budi Wahyono*), Suzuki Syofian**) *) Teknik Elektro, **) Teknik Informatika - Fakultas Teknik Abstrak Pada era modern

Lebih terperinci

PERANCANGAN DAN PEMBUATAN SISTEM PENGENDALIAN LEVEL AIR DAN SUHU MENGGUNAKAN DTMF BERBASIS MIKROKONTROLLER AT89S51

PERANCANGAN DAN PEMBUATAN SISTEM PENGENDALIAN LEVEL AIR DAN SUHU MENGGUNAKAN DTMF BERBASIS MIKROKONTROLLER AT89S51 PERANCANGAN DAN PEMBUATAN SISTEM PENGENDALIAN LEVEL AIR DAN SUHU MENGGUNAKAN DTMF BERBASIS MIKROKONTROLLER AT89S51 Laporan Tugas Akhir Ditulis Untuk Memenuhi Syarat Menyelesaikan Pendidikan Program Diploma

Lebih terperinci

III. METODE PENELITIAN. Penelitian ini dilaksanakan mulai pada November 2011 hingga Mei Adapun tempat

III. METODE PENELITIAN. Penelitian ini dilaksanakan mulai pada November 2011 hingga Mei Adapun tempat III. METODE PENELITIAN A. Waktu dan Tempat Penelitian Penelitian ini dilaksanakan mulai pada November 2011 hingga Mei 2012. Adapun tempat pelaksanaan penelitian ini adalah di Laboratorium Elektronika Dasar

Lebih terperinci

LAPORAN TUGAS AKHIR PENGENDALIAN MOTOR DC MENGGUNAKAN TACHO GENERATOR DAN METODE HYSTERISIS DENGAN PENSAKLARAN MODUL TERKENDALI

LAPORAN TUGAS AKHIR PENGENDALIAN MOTOR DC MENGGUNAKAN TACHO GENERATOR DAN METODE HYSTERISIS DENGAN PENSAKLARAN MODUL TERKENDALI LAPORAN TUGAS AKHIR PENGENDALIAN MOTOR DC MENGGUNAKAN TACHO GENERATOR DAN METODE HYSTERISIS DENGAN PENSAKLARAN MODUL TERKENDALI OLEH : JEMMY HARIS SETIANTO 02.50.0063 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS

Lebih terperinci

PENGONTROL PID BERBASIS PENGONTROL MIKRO UNTUK MENGGERAKKAN ROBOT BERODA. Jurusan Teknik Elektro, Fakultas Teknik. Universitas Kristen Maranatha

PENGONTROL PID BERBASIS PENGONTROL MIKRO UNTUK MENGGERAKKAN ROBOT BERODA. Jurusan Teknik Elektro, Fakultas Teknik. Universitas Kristen Maranatha PENGONTROL PID BERBASIS PENGONTROL MIKRO UNTUK MENGGERAKKAN ROBOT BERODA Hendrik Albert Schweidzer Timisela Jl. Babakan Jeruk Gg. Barokah No. 25, 40164, 081322194212 Email: has_timisela@linuxmail.org Jurusan

Lebih terperinci

BAB II KONSEP PERANCANGAN SISTEM KONTROL. menyusun sebuah sistem untuk menghasilkan respon yang diinginkan terhadap

BAB II KONSEP PERANCANGAN SISTEM KONTROL. menyusun sebuah sistem untuk menghasilkan respon yang diinginkan terhadap BAB II KONSEP PERANCANGAN SISTEM KONTROL 2.1 Pengenalan Sistem Kontrol Definisi dari sistem kontrol adalah, jalinan berbagai komponen yang menyusun sebuah sistem untuk menghasilkan respon yang diinginkan

Lebih terperinci

BAB IV ANALISA DAN PENGUJIAN SISTEM

BAB IV ANALISA DAN PENGUJIAN SISTEM BAB IV ANALISA DAN PENGUJIAN SISTEM 4.1 Pengujian Perangkat Keras (Hardware) Pengujian perangkat keras sangat penting dilakukan karena melalui pengujian ini rangkaian-rangkaian elektronika dapat diuji

Lebih terperinci

MODUL PENGUAT DAYA RF 15 WATT (RANGKAIAN DRIVER) LAPORAN AKHIR

MODUL PENGUAT DAYA RF 15 WATT (RANGKAIAN DRIVER) LAPORAN AKHIR MODUL PENGUAT DAYA RF 15 WATT (RANGKAIAN DRIVER) LAPORAN AKHIR Disusun Untuk Memenuhi Syarat Menyelesaikan Pendidikan Diploma III Pada Jurusan Teknik Elektro Program Studi Teknik Telekomunikasi OLEH: MENTARI

Lebih terperinci

PERANCANGAN TELEMETRI SUHU DENGAN MODULASI DIGITAL ON-OFF KEYING MODULASI FREKUENSI

PERANCANGAN TELEMETRI SUHU DENGAN MODULASI DIGITAL ON-OFF KEYING MODULASI FREKUENSI SKRIPSI PERANCANGAN TELEMETRI SUHU DENGAN MODULASI DIGITAL ON-OFF KEYING MODULASI FREKUENSI Laporan ini disusun guna memenuhi salah satu persyaratan untuk menyelesaikan program S-1 Teknik Elektro Fakultas

Lebih terperinci

SISTEM KONTROL PENGOPERASIAN AC (AIR CONDITIONING) JARAK JAUH DENGAN SMS (SHORT MESAGGE SERVICE) BERBASIS MIKROKONTROLER ATMEGA8535 TUGAS AKHIR

SISTEM KONTROL PENGOPERASIAN AC (AIR CONDITIONING) JARAK JAUH DENGAN SMS (SHORT MESAGGE SERVICE) BERBASIS MIKROKONTROLER ATMEGA8535 TUGAS AKHIR SISTEM KONTROL PENGOPERASIAN AC (AIR CONDITIONING) JARAK JAUH DENGAN SMS (SHORT MESAGGE SERVICE) BERBASIS MIKROKONTROLER ATMEGA8535 TUGAS AKHIR Diajukan guna memenuhi sebagian persyaratan dalam rangka

Lebih terperinci

PENGONTROLAN DC CHOPPER UNTUK PEMBEBANAN BATERAI DENGAN METODE LOGIKA FUZZY MENGGUNAKAN MIKROKONTROLER ATMEGA 128 TUGAS AKHIR

PENGONTROLAN DC CHOPPER UNTUK PEMBEBANAN BATERAI DENGAN METODE LOGIKA FUZZY MENGGUNAKAN MIKROKONTROLER ATMEGA 128 TUGAS AKHIR PENGONTROLAN DC CHOPPER UNTUK PEMBEBANAN BATERAI DENGAN METODE LOGIKA FUZZY MENGGUNAKAN MIKROKONTROLER ATMEGA 128 TUGAS AKHIR Sebagai salah satu syarat untuk menyelesaikan program strata-1 pada Jurusan

Lebih terperinci

PERANCANGAN SIMULATOR TRAFFIC LIGHT BERBASIS ARDUINO

PERANCANGAN SIMULATOR TRAFFIC LIGHT BERBASIS ARDUINO TUGAS AKHIR PERANCANGAN SIMULATOR TRAFFIC LIGHT BERBASIS ARDUINO Diajukan Oleh : EKO PAMBUDI 41406120110 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS MERCU BUANA JAKARTA 2012 LEMBAR PERNYATAAN

Lebih terperinci

APLIKASI SENSOR RF PT2272 SEBAGAI RECEIVER UNTUK MENGAKTIFKAN LAMPU SEIN DAN LAMPU REM PADA HELM LAPORAN AKHIR

APLIKASI SENSOR RF PT2272 SEBAGAI RECEIVER UNTUK MENGAKTIFKAN LAMPU SEIN DAN LAMPU REM PADA HELM LAPORAN AKHIR APLIKASI SENSOR RF PT2272 SEBAGAI RECEIVER UNTUK MENGAKTIFKAN LAMPU SEIN DAN LAMPU REM PADA HELM LAPORAN AKHIR Disusun Sebagai Salah Satu Syarat Menyelesaikan Pendidikan Diploma III Pada Jurusan Teknik

Lebih terperinci

PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK

PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK OLEH ARIF MIFTAHU5R ROHMAN (2200 100 032) Pembimbing: Dr. Ir Djoko Purwanto, M.Eng,

Lebih terperinci

Penerapan Jaringan Saraf Tiruan Metode Backpropagation Menggunakan VB 6

Penerapan Jaringan Saraf Tiruan Metode Backpropagation Menggunakan VB 6 Penerapan Jaringan Saraf Tiruan Metode Backpropagation Menggunakan VB 6 Sari Indah Anatta Setiawan SofTech, Tangerang, Indonesia cu.softech@gmail.com Diterima 30 November 2011 Disetujui 14 Desember 2011

Lebih terperinci

DESAIN PENGISIAN BATERE METODE CONSTANT CURRENT CONSTANT VOLTAGE BERBASIS dspic30f4012

DESAIN PENGISIAN BATERE METODE CONSTANT CURRENT CONSTANT VOLTAGE BERBASIS dspic30f4012 DESAIN PENGISIAN BATERE METODE CONSTANT CURRENT CONSTANT VOLTAGE BERBASIS dspic30f4012 LAPORAN TUGAS AKHIR Oleh : GALIH CAHYO ADI 12.50.0014 FAKULTAS TEKNIK PROGRAM STUDI TEKNIK ELEKTRO UNIVERSITAS KATOLIK

Lebih terperinci

Farah Zakiyah Rahmanti

Farah Zakiyah Rahmanti Farah Zakiyah Rahmanti Latar Belakang Struktur Dasar Jaringan Syaraf Manusia Konsep Dasar Permodelan JST Fungsi Aktivasi JST Contoh dan Program Jaringan Sederhana Metode Pelatihan Supervised Learning Unsupervised

Lebih terperinci

TUGAS AKHIR PERANCANGAN DAN PEMBUATAN MODEL HUMIDIFIER

TUGAS AKHIR PERANCANGAN DAN PEMBUATAN MODEL HUMIDIFIER TUGAS AKHIR PERANCANGAN DAN PEMBUATAN MODEL HUMIDIFIER Diajukan guna melengkapi sebagian syarat dalam mencapai gelar Sarjana Strata Satu ( S1 ) Disusun Oleh : Nama : Heri Setiawan NIM : 41409110066 Program

Lebih terperinci

I. PENDAHULUAN DASAR TEORI

I. PENDAHULUAN DASAR TEORI Makalah Seminar Tugas Akhir Model Timbangan Digital Menggunakan oad Cell Berbasis Mikrokontroler AT89S51 Jaenal Arifin 1, Sumardi ST,MT 2, Iwan Setiawan ST,MT 2 E-mail: Elektronika@telkom.net 2F 304246

Lebih terperinci

PENGGUNAAN MOTOR DC SERVO SEBAGAI PENGGERAK UTAMA LENGAN ROBOT BERJARI PENGIKUT GERAK LENGAN MANUSIA BERBASIS MIKROKONTROLER LAPORAN AKHIR

PENGGUNAAN MOTOR DC SERVO SEBAGAI PENGGERAK UTAMA LENGAN ROBOT BERJARI PENGIKUT GERAK LENGAN MANUSIA BERBASIS MIKROKONTROLER LAPORAN AKHIR PENGGUNAAN MOTOR DC SERVO SEBAGAI PENGGERAK UTAMA LENGAN ROBOT BERJARI PENGIKUT GERAK LENGAN MANUSIA BERBASIS MIKROKONTROLER LAPORAN AKHIR Disusun Sebagai Salah Satu Syarat Menyelesaikan Pendidikan Diploma

Lebih terperinci

SKRIPSI. Monitoring Kadar ph Air Berbasis Mikrokontroler Arduino Dengan Tampilan LCD dan Grafik Komputer

SKRIPSI. Monitoring Kadar ph Air Berbasis Mikrokontroler Arduino Dengan Tampilan LCD dan Grafik Komputer SKRIPSI Monitoring Kadar ph Air Berbasis Mikrokontroler Arduino Dengan Tampilan LCD dan Grafik Komputer Oleh : CHRISTIAN OEI 5103012005 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS KATOLIK WIDYA

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN 32 BAB III ANALISIS DAN PERANCANGAN Pada bab ini akan dibahas tentang analisis sistem melalui pendekatan secara terstruktur dan perancangan yang akan dibangun dengan tujuan menghasilkan model atau representasi

Lebih terperinci

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika TAKARIR AC (Alternating Current) Adalah sistem arus listrik. Sistem AC adalah cara bekerjanya arus bolakbalik. Dimana arus yang berskala dengan harga rata-rata selama satu periode atau satu masa kerjanya

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Jaringan Syaraf Tiruan (artificial neural network), atau disingkat JST menurut Hermawan (2006, hlm.37) adalah sistem komputasi dimana arsitektur dan operasi

Lebih terperinci

PENGGUNAAN FUZZY INFERENCE SYSTEM MODEL SUGENO PADA PENGENDALIAN SUHU RUANGAN

PENGGUNAAN FUZZY INFERENCE SYSTEM MODEL SUGENO PADA PENGENDALIAN SUHU RUANGAN P P P P PENGGUNAAN FUZZY INFERENCE SYSTEM MODEL SUGENO PADA PENGENDALIAN SUHU RUANGAN Wahyu Herman Susila 1, Wahyudi 2, Iwan Setiawan 2 Abstrak - Teknik kendali dengan menggunakan Fuzzy telah banyak diaplikasikan.

Lebih terperinci

PROTOTYPE PENGATURAN LAMPU RUANG DENGAN JARINGAN SYARAF TIRUAN

PROTOTYPE PENGATURAN LAMPU RUANG DENGAN JARINGAN SYARAF TIRUAN PROTOTYPE PENGATURAN LAMPU RUANG DENGAN JARINGAN SYARAF TIRUAN Fatwa Yuniarti yuniarti_fatwa@yahoo.com Dosen Pembimbing : Dr. Haryanto, M.Pd, MT haryanto.ftuny@gmail.com Jurusan Pendidikan Teknik Elektro,

Lebih terperinci

DESAIN DAN IMPLEMENTASI INVERTER TYPE KONSTAN TEGANGAN FREKUENSI BERUBAH UNTUK SISTEM 3 FASA

DESAIN DAN IMPLEMENTASI INVERTER TYPE KONSTAN TEGANGAN FREKUENSI BERUBAH UNTUK SISTEM 3 FASA DESAIN DAN IMPLEMENTASI INVERTER TYPE KONSTAN TEGANGAN FREKUENSI BERUBAH UNTUK SISTEM 3 FASA TUGAS AKHIR Oleh: Agustinus Dwi Purwanto 01.50.0069 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI

Lebih terperinci

JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI CURAH HUJAN SUMATERA UTARA DENGAN METODE BACK PROPAGATION (STUDI KASUS : BMKG MEDAN)

JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI CURAH HUJAN SUMATERA UTARA DENGAN METODE BACK PROPAGATION (STUDI KASUS : BMKG MEDAN) JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI CURAH HUJAN SUMATERA UTARA DENGAN METODE BACK PROPAGATION (STUDI KASUS : BMKG MEDAN) Marihot TP. Manalu Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma

Lebih terperinci

ALAT PENGUKUR ENERGI LISTRIK BERBASIS MIKROKONTROLLER ATMEL 89C51

ALAT PENGUKUR ENERGI LISTRIK BERBASIS MIKROKONTROLLER ATMEL 89C51 TUGAS AKHIR ALAT PENGUKUR ENERGI LISTRIK BERBASIS MIKROKONTROLLER ATMEL 89C51 Oleh : KUKOH HERMANSYAH NIM. 011903102020 PROGRAM STUDI TEKNIK UNIVERSITAS JEMBER 2004 i LEMBAR PENGESAHAN PROYEK AKHIR ALAT

Lebih terperinci

BAB I PENDAHULUAN. menggerakan belt conveyor, pengangkat beban, ataupun sebagai mesin

BAB I PENDAHULUAN. menggerakan belt conveyor, pengangkat beban, ataupun sebagai mesin 1 BAB I PENDAHULUAN 1.1. Latar Belakang Motor DC atau motor arus searah yaitu motor yang sering digunakan di dunia industri, biasanya motor DC ini digunakan sebagai penggerak seperti untuk menggerakan

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Budi Wicaksono Sardjono Yohan Darmawan Geary

UNIVERSITAS BINA NUSANTARA. Budi Wicaksono Sardjono Yohan Darmawan Geary UNIVERSITAS BINA NUSANTARA Jurusan Sistem Komputer Skripsi Sarjana Komputer Semester Genap tahun 2005/2006 Pengontrolan Suhu dan Ketinggian Air Budi Wicaksono Sardjono 0500587471 Yohan Darmawan 0500591115

Lebih terperinci

TELEROBOTIK MENGGUNAKAN EMBEDDED WEB SERVER UNTUK MEMONITOR DAN MENGGERAKKAN LENGAN ROBOT MENTOR

TELEROBOTIK MENGGUNAKAN EMBEDDED WEB SERVER UNTUK MEMONITOR DAN MENGGERAKKAN LENGAN ROBOT MENTOR TUGAS AKHIR RE1599 TELEROBOTIK MENGGUNAKAN EMBEDDED WEB SERVER UNTUK MEMONITOR DAN MENGGERAKKAN LENGAN ROBOT MENTOR Adib Logys NRP 2206100554 Dosen Pembimbing Ahmad Zaini, S.T., M.T. Diah Puspito Wulandari,

Lebih terperinci

TUGAS AKHIR. Diajukan guna melengkapi sebagai syarat dalam mencapai gelar Sarjana Strata Satu (S1) Disusun Oleh :

TUGAS AKHIR. Diajukan guna melengkapi sebagai syarat dalam mencapai gelar Sarjana Strata Satu (S1) Disusun Oleh : TUGAS AKHIR PERANCANGAN DAN PEMBUATAN ALAT SISTEM MONITORING PARAMETER UTAMA GENERATOR DAN BOILER DI POWER PLANT PT. DIAN SWASTATIKA SENTOSA Tbk. SERANG BERBASIS CLIENT SERVER Diajukan guna melengkapi

Lebih terperinci

Diajukan guna melengkapi sebagian syarat Dalam mencapai gelar Sarjana Strata Satu (S1)

Diajukan guna melengkapi sebagian syarat Dalam mencapai gelar Sarjana Strata Satu (S1) TUGAS AKHIR PERANCANGAN PROTOTYPE SISTEM KONTROL PINTU AIR OTOMATIS Diajukan guna melengkapi sebagian syarat Dalam mencapai gelar Sarjana Strata Satu (S1) Disusun oleh : Nama : Wahyu Hidayat NIM : 41410110057

Lebih terperinci

PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI

PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI Jumiyatun Jurusan Teknik Elektro Fakultas Teknik Universitas Tadolako E-mail: jum@untad.ac.id ABSTRACT Digital control system

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Semakin berkembangnya sistem komunikasi bergerak seluler, yang terwujud seiring dengan munculnya berbagai metode akses jamak (FDMA, TDMA, serta CDMA dan turunan-turunannya)

Lebih terperinci

CLOSED LOOP CONTROL MENGGUNAKAN ALGORITMA PID PADA LENGAN ROBOT DUA DERAJAT KEBEBASAN BERBASIS MIKROKONTROLER ATMEGA16

CLOSED LOOP CONTROL MENGGUNAKAN ALGORITMA PID PADA LENGAN ROBOT DUA DERAJAT KEBEBASAN BERBASIS MIKROKONTROLER ATMEGA16 CLOSED LOOP CONTROL MENGGUNAKAN ALGORITMA PID PADA LENGAN ROBOT DUA DERAJAT KEBEBASAN BERBASIS MIKROKONTROLER ATMEGA16 Diajukan Sebagai Salah Satu Syarat Menyelesaikan Program Studi S-1 Jurusan Teknik

Lebih terperinci