Selamat datang di sonoku.com

Kontrol Lampu 220VAC dan LED Menggunakan Aplikasi Android

lampu_android_8

Pada perancangan sistem controller lampu AC dan LED menggunakan aplikasi android ini menggunakan 4 bagian yaitu input, mikrokontroller, driver actuator dan actuator, dimana masukan dari sistem ini menggunakan smartphone android, kemudian pengontrol-nya menggunakan mikrokontroller Arduino Uno, rangkaian relay sebagai driver actuator, dan lampu sebagai actuator dari sistem ini. Berikut blok diagram sistem. Read More

Implementasi Fuzzy Logic Controller untuk Kontrol Kecepatan Motor DC pada Prototype Kipas Angin

Artikel ini membahas perancangan sebuah aplikasi dengan menggunakan mikrokontroler Arduino yang dapat berguna sebagai alat untuk mengaktifkan atau menonaktifkan kipas angin pada suatu ruangan. Perancangan sistem ini dilengkapi dengan beberapa perangkat keras yaitu sebuah motor DC 1000 rpm, baling-baling, sensor ultrasonic, sensor suhu LM35, Arduino Uno, rangkaian driver motor dan baterai 10 Volt. Rancangan dari sistem ini digunakan untuk mengatur putaran kipas angin yang disesuaikan dengan temperatur dan jarak dari suatu objek. Adapun diagram hardware nya sebagai berikut : Read More

Kendali Motor Pada Prototipe Overhead Crane Menggunakan Metode Fuzzy Logic Controller

Pada artikel ini dirancang kendali motor pada prototype overhead crane dengan Fuzzy Logic Controller (FLC). Kontrol motor menggunakan implementasi fuzzy logic dengan input berupa sensor ultrasonik dan potensiometer. Nilai dari kedua sensor ini yang akan mempengaruhi kecepatan motor pada plant. Sensor ultrasonik akan dipasang pada salah satu ujung crane dan sensor potensiometer akan dipasang pada tali crane untuk mengontrol motor guna mempertahankan sudut pergerakan tali. Read More

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.3/3)

Melanjutkan dari artikel sebelumnya.

4. Kode Program Defuzzifikasi

Metode defuzzifikasi yang digunakan pada program ini adalah metode WA (Weighted Average) atau COA (center of area) dengan persamaan sebagai berikut:

COA

Potongan program untuk metode CoA ditulis sebagai berikut: Read More

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.1/3)

Pada artikel ini akan dirancang sebuah sistem yang mengimplementasikan metode Fuzzy Logic Controller pada sebuah lengan robot 1 DOF. Berdasarkan blok diagram pada Gambar 1, dapat dilihat bahwa terdapat 2 nilai input yang akan masuk ke proses fuzzifikasi. Input yang pertama yaitu nilai error yang didapatkan dari selisih antara nilai set point (posisi lengan actual) dan nilai present value (posisi lengan target). Nilai posisi tersebut didapatkan dari nilai potensiometer yang di-couple pada lengan. Input yang kedua yaitu nilai delta error (error – last error). Output dari proses fuzzy logic controller berupa nilai PWM (pulse width modulation) yang akan mengatur pergerakan motor dari posisi lengan robot (actual). Nilai dari sensor potensiometer yang ada pada lengan robot (actual) akan digunakan sebagai feedback untuk mengetahui nilai error pada setiap iterasi yang telah dijalankan.
Read More

Kinematik Maju untuk Robot Planar 2 Sendi

Semua sumbu z pada gambar tidak ditampilkan karena tegak lurus dengan arah pandang kita. Dari gambar diatas kita tetapkan frame dasar-nya (base frame) adalah o0z0y0x0. Titik origin O0 kita tentukan pada titik dimana sumbu z0 pada pangkalnya (bayangkan titik z0 menembus kedalam halaman ini), dan penentuan x0 dan y0 mengikuti aturan tangan kanan seperti pada gambar.

Setelah frame dasar kita tentukan, kemudian kita bisa tentukan frame berikutnya yaitu o1z1y1x1 dengan origin o1, sumbu x1 searah dengan lengan 1 dan y1 tegak lurus dengan sumbu x1 mengikuti aturan tangan kanan. Kemudian frame terakhir yaitu pada o2z2y2x2 dengan origin o2 di akhir ruas (link) 2 seperti pada gambar.

Langkah berikutnya membuat tabel parameter ruas seperti berikut:

Ruas/Link ai αi di θi
1 a1 0 0 θ1*
2 a2 0 0 θ2*

Keterangan:

*variabel
a1 dan a2 adalah panjang masing-masing ruas 1 dan ruas 2.
α1 dan α2 masing-masing bernilai nol, dikarenakan tidak ada perubahan sudut yang terbentuk antara z1 dengan z0, dan z2 dengan z1 (semua sumbu z tetap sejajar).
d1 dan d2 bernilai nol, tidak ada translasi frame terjadi (bukan joint prismatik).

Matrik A dapat ditentukan sebagai berikut

Karena d1=0 maka matrik transz,d1 menjadi matrik identitas I, sehingga persamaan menjadi

Matrik A1 juga dapat ditentukan dari persamaan berikut:

Selanjutya dengan cara yang sama kita cari matrik A2

Dengan demikian kita bisa tentukan matrik transformasi frame 1 ke frame 0, ,  sebagai berikut,

Sedangkan untuk matrik transformasi frame 2 ke frame 0, , sebagai berikut

Kolom terakhir dari matrik diatas adalah komponen x dan y di origin o2  pada frame dasar, jadi

adalah koordinat dari end-effector terhadap frame dasar.

Bagian matrik rotasi pada matrik T2 diatas merupakan orientasi frame o2z2y2x2 relatif terhadap frame dasar.

Data Logger (bagian 2)

5. Power Supply

Kelebihan yang ada pada data logger yang tidak dimiliki PC adalah kebutuhan akan daya yang kecil. Data logger didesain untuk berkerja pada lokasi remote untuk periode waktu yang lama tanpa menggantungkan pada daya jala-jala listrik AC (Alternating Current). Kebanyakan data logger membutuhkan catu daya 12 Volt DC. Catu daya ini berupa baterai.

Kapasitas baterai diukur dalam mili-ampere hours (mAh) yang menunjukkan lama waktu baterai dapat menyediakan daya pada beban yang diberikan. Berikut beberapa tipe baterai yang digunakan untuk data logger.

  1. Non-Rechargeable Batteries (Non-isi-ulang)

    Baterai Lithium

    Baterai non-isi-ulang yang terbaik saat ini, tersedia dalam berbagai ukuran AAA, AA, C, D. Baterai ini memiliki kapasitas yang besar dengan ukuran yang relatif kecil, berkerja baik pada temeratur dingin. Harganya lebih mahal dibanding baterai alkaline dan tidak tersedia dalam ukuran yang besar.

    Baterai Alkaline

    Salah satu sumber daya yang baik untuk data logger. Baterai alkaline memilii kapasitas yang besar, bekerja baik pada temperatur dingin dan tersedia dalam berbagai ukuran dengan harga yang wajar.

  2. Rechargeable Batteries

    Sealed Lead Acid Batteries

    Baterai ini tersedia dalam kapasitas yang besar, bekerja baik pada temperatur dingin dan mempunyai karakterstik pengisian kembali yang baik (bebas memory effect). Baterai ini tersedia secara luas dalam berbagai ukuran dengan harga yang wajar, biasanya digunakan banyak data logger dan membutuhkan sedikit perawatan. Sebuah panel surya dapat dihubungkan pada baterai untuk menjaga agar tetap terisi.

Gambar 5. Sealed-Lead Acid Battery

Berikut adalah baterai yang tidak direkomendasikan untuk digunakan pada data logger.

  1. Nickel Cadmium (Ni-Cd)

    Merupakan baterai yang agak mahal dan biasanya digunakan pada ponsel, kamera video, laptop, dan perangkat portable lainnya pada tahun 1980-an hingga 1990-an. Masalah utama pada baterai Ni-Cd adalah sangat rentan depresi pada tegangan, yang dikenal dengan “memory effect“. Hal ini timbul saat mengisi baterai sebelum baterai benar-benar kosong, sehingga menyebabkan baterai “mengingat” sebagian tingkat pengisian sebelumnya dan akhirnya tidak dapat terisi dengan kapasitas penuh.

    Kekurangan lain adalah baterai Ni-Cd tidak memiliki kapasitas yang besar, dan dapat rusak oleh panas disebabkan pengisian berlebih.

  2. Nickel Metal Hydride (Ni-MH)

    Menggantikan baterai Ni-Cd pada tahun awal 1990-an, lebih baik dari bateri Ni-Cd karena karena tersedia dalam kapasitas yang lebih tinggi dan bebas memory effect, namun bisa rusak oleh panas yang berlebihan dari pengisian yang berlebihan.

  3. Lithium Ion (Li-ion)

    Adalah baterai isi ulang terbaik untuk peralatan portabel. Baterai ini memberikan umur panjang dan kapasitas besar dan “bebas-memori”. Baterai Li-ion banyak digunakan ponsel, PDA dan komputer laptop.

     

Penyebab utama kegagalan data logger adalah dari kegagalan baterai.

 

6. Port Data Keluaran (Saluran Komunikasi)

Kebanyakan data logger berkomunikasi dengan PC melalui port serial, dimana dapat mentransmisikan data dalam serial. RS-232 merupakan standar antarmuka antara peralatan terminal data, seperti PC, dan peralatan komunikasi data dengan menggunakan pertukaran data biner, seperti data logger ataupun modem. Data dapat ditransmisikan dalam dua arah, dan banyak logger menggunakan baudrate 9600 sebagai standar kecepatan transmisi. Sejak RS-232 menjadi populer, beberapa modem dapat dikoneksikan dengan data logger untuk mendapatkan data secara remote atau dapat digunakan untuk memprogram data logger. Baik saluran telepon maupun ponsel dapat digunakan bersamaan dengan data logger, seperti penerima GOES (Geostationary Orbitting Environmental Satellite), penerima dan pemancar satelit LOE (Low Earth Orbiting) dan radio pemancar-penerima.

Selain RS232 terdapat jenis komunikasi lain yang digunakna data logger untuk berhubungan dengan komputer yaitu:

  1. Direct backplane interface
  2. RS422
  3. ST485
  4. USB
  5. IEEE 1394
  6. GPIB
  7. SCSI
  8. TTL
  9. Parallel
  10. Ethernet
  11. Modem
  12. radio / telemetry

 

Gambar 6. USB data logger

Gambar 7. Koneksi Parallel

Gambar 8. Data logger dilengkapi dengan modem GSM

Gambar 9. Komunikasi data logger menggunakan Telemetery/Radio

 

7. Pelindung/Kemasan

Kebanyakan data logger dikemas dalam wadah plastik tahan air. Intrusi air ke dalam sirkuit data logger merupakan penyebab utama data logger kegagalan. Oleh karena itudata logger harus dipasang pada lokasi yang sekering mungkin.


Gambar 10. Berbagai macam pelindung data logger


Gambar 11. Berbagai macam software untuk data logger

 

8. Perangkat Lunak

Perangkat lunak digunakan untuk memprogram dan mengunduh data dari data logger. Fungsi perekaman data seperti kecepatan scan dan skala sensor, waktu rekam, protokol komunikasi dan format keluaran (Excel, ASCII, plot, dll) diprogram menggunakan perangkat lunak pada PC. Kebanyakan logger saat ini menggunakan paket perangkat lunak berbasis Windows dan beberapa telah dikembangkan perangkat lunak untuk dijalankan pada Palm atau perangkat lain. Biasanya satu lisensi berlaku untuk satu logger yang beroperasi.

Fungsi umum dari perangkat lunak data logger adalah:

  • Mengambil data dari sensor secara berkala. Hal ini dimungkinkan untuk mengambil banyak pembacaan pada interval waktu mulai dari beberapa mikrodetik, jam, bahkan berhari-hari.
  • Menyajikan data dalam bentuk tampilan yang sesuai pada layar PC. Fasilitas mem-plot grafik akan sangat berguna karena komputer dapat menghasilkannya dengan cepat dan emungkinkan perangkat lunak dapat membandingkan beberapa data. Selain itu, perangkat lunak ini dapat menganalisis hasil dan melakukan perhitungan data.
  • Mencetak data tabel atau grafik pada kertas menggunakan printer yang terhubung pada komputer tersebut.
  • Menyimpan data pada hardisk komputer untuk penggunaan masa depan.

Bagaimana Data Logger Bekerja

Sebuah proses data logging secara umum paling tidak terdiri beberapa bagian berikut seperti pada gambar.

Gambar 12. Proses data logging

 

Akuisisi– pada langkah ini melibatkan sensor. Data logger bekerja menggunakan sensor untuk mengkonversikan fenomena fisik dan stimuli kedalam sinyal seperti tegangan maupun arus. Sinyal elektronik ini kemudian didigitalisasi kedalam bentuk data biner oleh ADC (Analog to Digital Converter). Data biner sangat mudah dianalisa oleh perangkat lunak (software) dan disimpan dalam memori.

Online Analysis – pada langkah ini termasuk analisis yang akan dilakukan sebelum menyimpan data. Salah satu contohnya adalah mengkonversi tegangan hasil pengurkuran kedalam bentuk satuan yang lebih spesifik, misalnya temperatur – Celsius. Kita dapat melakukan kalkulasi yang komplek dan kompresi data sebelum menyimpannya (logging).

LogLangkah ini mengacu pada penyimpanan data dianalisis termasuk format yang diperlukan untuk file data. Biasanya data dari hasil analisis online disimpan dalam memory card untuk kemudian disimpan ke database di komputer.

Offline Analysis – langkah ini mencakup analisis yang dilakukan setelah menyimpan data. Sebuah contoh umum adalah mencari tren data historis atau reduksi data, smoothing, estimasi, atau prediksi.

Displaying, Sharing, Reporting – langkah ini mencakup pembuatan laporan yang kita butuhkan untuk menyajikan data. Namun, perhatikan bahwa gambar di atas menunjukkan kita juga dapat menyajikan data langsung dari analisis online. Ini merupakan kemampuan untuk memantau dan melihat data saat kita memperoleh dan menganalisis itu disamping untuk hanya melihat data historis.

 

Topologi Data Logger

  1. Stand Alone

Perangkat stand alone dapat secara kontinyu mengukur dan menyimpan data tanpa koneksi ke PC. Data yang disimpan oleh stand-alone data logger biasanya diunduh ke komputer untuk analisis yang lebih rinci dan pelaporan, meskipun beberapa data logger terintegrasi degan pengolah data yang canggih dan kemampuan analisa dan dapat melaksanakan beberapa fungsi kontrol seperti mengaktifkan alarm atau saklar.

Karena keterbatasan masa baterai dan ruang penyimpanan, stand alone data logger cenderung memiliki jumlah saluran yang lebih sedikit. Salah satu fitur utama dari data logger portabel adalah bahwa mereka menggunakan daya yang lebih kecil dan dikemas dalam pelindung yang kuat.

 

Gambar 19. Stand Alone Data Logger

  1. PC-Based

Data logger berbasis PC (PC-Based data logger) menggunakan komputer, biasanya PC, untuk mengumpulkan data melalui sensor dalam rangka menganalisis dan menampilkan hasilnya. Sistem data logger juga dapat menyediakan fitur tambahan seperti perhitungan waktu proses pemantauan alarm nyata dan kontrol. SCADA (Supervisory Control Dan Data Acquisition) merupakan evolusi lebih lanjut dari sistem data logger berbasis komputer, dimana data disajikan dalam bentuk grafis sehingga operator dapat mengawasi percobaan atau proses.

Karena fleksibilitas dari data logger berbasis komputer, mereka sekarang digunakan dalam berbagai aplikasi dan industri. Sistem data logger memiliki skalabilitas yang tinggi dan setidaknya 8 input hingga ribuan.
Peralatan dasar untuk pengukuran berbasis komputer terdiri dari sensor, unit scanner atau pengukuran komputer dan beberapa perangkat lunak aplikasi yang dirancang untuk data logging aplikasi. Biasanya, sensor yang dipasang ke perangkat sinyal input-output yang pada gilirannya dihubungkan ke komputer menggunakan port standar seperti RS232, Ethernet atau USB. Atau dipasang langsung ke bus komputer. Sebagai tambahan, printer juga berguna untuk membuat grafik cetak atau laporan. Perangkat lunak yang teradapat pada komputer biasanya digunakan untuk mengelola pengumpulan data, display, penyimpanan dan analisis dan transmisi data. Sistem data logger berbasis komputer dapat sub kategori untuk menjadi baik terpusat atau terdistribusi

Gambar 20. PC-Based Data Logger

Aplikasi Data Logger

Beberapa aplikasi yang menerapkan data logger antara lain:

  • Industri
    • SCADA (Supervisory Control and Data Acquisition)
  • Lingkungan
    • Perekaman data hidrografi , seperti level air, kedalaman sungai, aliran air, ph, konduktivitas air,dll.
  • Kendaraan
    • Uji kendaraan

Gambar 21. Uji kendaraan

  • Weather / meteorology
    • Stasiun cuaca (weather station) misalnya untuk merekam kecepatan angin, arah angin, temperatur, kelembaban relatif, radiasi matahari, dll

    Gambar 22. Weater station

 

Daftar Pustaka

[1] http://en.wikipedia.org/wiki/Data_logger

[2] http://www.data-acquisition.us/data-loggers-recorders.html

[3] http://www.hydroserv.com.au/products/mpdf/mml1.pdf

[4] http://www.ekopower.nl/pdf/EKO21-sheet.pdf

[5] http://www.measurementsystems.co.uk/Data-Logging/Introduction-to-Data-Logging_c68_72/

[6] http://www.buzzle.com/articles/what-is-data-logger.html

Merancang Kendali Fuzzy Sederhana

Untuk memahami bagaimana Fuzzy Logic Controler (FLC) dirancang dan bagaimana bekerja, dapat dimulai dengan beberapa contoh kasus sederhana seperti salah satunya berikut ini. Akan dirancang kontroler untuk mengatur kecepatan motor DC dengan merubah besar tegangan masukan motor. Pada saat motor berputar terlalu cepat dari set point yang ditetapkan, maka untuk memperlambat putaran motor tegangan motor DC perlu dikurangi. Jika motor terlalu lambat, maka tegangan masukan motor harus ditambah agar kecepatan motor mencapai nilai set point.


Gambar 1. Diagram Blok Sistem Kendali Kecepatan Motor

Menentukan masukan dan keluaran kontroler

Sesuai dengan Gambar 1 diatas masukan kontroler fuzzy hanya satu yaitu error (Error). Error merupakan selisih antara kecepatan motor saat ini dengan kecepatan yang diinginkan (setpoint). Dalam kasus ini kecepatan motor diatur agar mempunyai kecepatan yang stabil pada 260 rpm.

Keluaran kontroler yaitu besar tegangan kontrol motor (Teg). Tegangan kerja yang diberikan pada motor mempunyai rentang antara 0 Volt hingga 5 volt. Motor akan berputar dengan kecepatan 260 rpm (yg diinginkan) jika tegangan yang diberikan pada motor sebesar 2.5 volt.

Menentukan Membership Function (MF)

Langkah berikutnya adalah menentukan fungsi keanggotaan (membership function), baik masukan maupun keluaran. Fungsi keanggotaan masukan Error ditentukan terdiri dari 3 himpunan yaitu, Negatif (Neg), Zero (Zero), dan Positif (Pos).


Gambar 2. MF Error (error)

Secara matematis fungsi keanggotaan Error dapat dituliskan sebagai berikut.




Sedangkan untuk keluaran kontroler Teg dibagi menjadi 3 himpunan juga yaitu, Kecil (K), Sedang (S), Besar (B).


Gambar 3. MF Tegangan (Teg)

Secara matematis fungsi keanggotaan Tegangan dapat dituliskan sebagai berikut.




Membuat rule (aturan)

Setelah menenutukan fungsi keanggotaan masing-masing masukan dan keluaran, selanjutnya ditentukan rules (aturan) yang akan diterapkan kontroler. Aturan dibuat untuk mengendalikan motor agar kecepatannya stabil pada 260 rpm. Jadi ketika kecepatan motor sekarang dinilai terlalu cepat (>260rpm) daripada nilai setpoint maka nilai error-nya bernilai negatif (-). Dengan demikian kontroler harus menurunkan tegangan motor agar motor melambat. Sebaliknya jika kecepatan motor terlalu lambat maka nilai error-nya positif (+) maka tegangan motor perlu dinaikkan. Jika kecepatan telah tepat pada 260 rpm maka kontroler mengeluarkan tegangan sebesar 2.5 volt. Diharapkan dengan aturan tersebut motor akan berputar dengan kecepatan yang stabil pada 260 rpm.

Dari penjelasan diatas dapat ditentukan ada 3 aturan pengendalian sebagai berikut:

Aturan #1:

IF error IS negatif THEN teg IS kecil

Aturan #2:

IF error IS zero THEN teg IS sedang

Aturan #3:

IF error IS positif THEN teg IS besar

Menganalisa bagaimana FLC bekerja

Diambil contoh ketika kecepatan motor 285 rpm, dimana lebih besar dari kecepatan yang diinginkan yaitu 260 rpm, berapakah tegangan yang dikeluarkan kontroler agar motor berputar pada kecepatan normalnya (260 rpm)?

Sesuai kasus diatas, nilai error adalah sebesar -25 rpm. Langkah pertama yang dilakukan kontroler adalah menentukan derajat keanggotaan dari -25 rpm terhadap fungsi error (fuzzyfikasi). Nilai -25 rpm masuk dalam keanggotaan dari Zero dan Neg (Gambar 4), untuk itu ada dua proses fuzzyfikasi untuk menentukan derajat keanggotaannya.




Gambar 4. Fuzzyfikasi masukan error

Dari dua nilai derajat keanggotaan Error kemudian kita tentukan nilai derajat keanggotaannya terhadap keluaran Tegangan. Untuk menentukan termasuk fungsi keanggotaan keluaran yang mana, sebelumnya kita tentukan aturan (rule) yang aktif. Karena nilai masukan Error masuk dalam keanggotaan Zero dan Pos, maka setelah dievaluasi aturan yang aktif adalah Aturan #1 dan Aturan #2. Untuk itu selanjutnya dilakukan inmplikasi untuk memperoleh consequent/keluaran sebuah aturan IF THEN
berdasarkan derajat keanggotaan antecedent.


Gambar 5. Proses Implikasi

Langkah selanjutnya adalah melakukan agregasi, yaitu mengombinasikan keluaran aturan IF-THEN menjadi fuzzy set tunggal. Pada kasus ini ditentukan menggunakan fungsi max sehingga menghasilkan fuzzyset seperti gambar berikut.

Gambar 6. Proses Agregasi


Hasil dari proses agregasi masih merupakan informasi fuzzy, untuk itu perlu dilakukan perhitungan yang menghasilkan bilangan tunggal sebagai nilai keluaran kontroler (defuzzyfikasi). Proses defuzzifikasi pada kasus ini menggunakan metode COG (Center of Gravity), dengan perhitungan seperti berikut.


Dengan metode COG (Center of Gravity) didapat nilai defuzzifikasi (nilai teg) sebesar 1.87 Volt. Jadi dapat disimpulkan bahwa pada saat kecepatan motor 285 rpm (terlalu cepat), kontroler harus memberikan tegangan pada motor lebih kecil dari tegangan normalnya (2.5Volt) yaitu sebesar 1.87 Volt agar kecepatan motor melambat.


Membuat Adaptive Neuro Fuzzy Inference System (ANFIS) di MATLAB

Akan dibuat rancangan FIS (Fuzzy Inference System) dengan proses training Adaptive Neuro Fuzzy Inference System (ANFIS) di MATLAB.

TRAINING DATA

Untuk membuat training data mulailah dengan membuat matrik pada command window MATLAB sesuai tabel dibawah ini (atau dapat disesuaikan).

Ketik perintah berikut pada command window MATLAB

>> trainData=[1 20 0; 1.1 25.6 0.146;…dst]

Untuk me-load kita bisa lakukan di ANFIS editor. Ketik anfisedit pada command window MATLAB. Kemudian pada kolom Load Data pilih type Training, dan kita bisa ambil dari file atau workspace. Klik Load Data, kemudian pada window kecil yang muncul ketikkan nama file training data yang kita buat tadi (trainData). Hasil plot trainData akan tampak seperti gambar berikut.

GENERATE ANFIS

Selanjutnya menentukan parameter-parameter fungsi keanggotaan dalam ANFIS. Untuk melakukannya, pada kolom generate ANFIS kita pilih GridPartition. Kemudian kita tentukan banyaknya input MF sebanyak 5 dengan type trapesium masing-masing untuk input 1 dan 2, sedangkan type MF ouput kita pilih constant.

Untuk melihat struktur model ANFIS yang kita buat, pada bagian ANFIS info klik Structure. Hasil ANFIS yang kita buat akan tampak seperti berikut.

Pada gambar diatas tampak bahwa ANFIS terdiri dari dua input, dengan masing-masing terdiri dari 5 Membership Function. Terdapat rule sebanyak 25 buah, dengan operator and. ANFIS terdiri dari satu output dengan output MF yang terbentuk sebanyak 25 buah. Garis-garis yang menghubungkan antar node menunjukkan sebuah rule yang bersesuaian.

TRAINING ANFIS

Untuk pelatihan FIS, ANFIS menyediakan dua metode optimasi parameter fungsi keanggotaan yaitu Backpropagation dan Hybrid (gabungan backpropagation dan least square). Untuk kali ini akan dicoba menggunakan optimasi Hybrid.

Untuk menghentikan proses training, ANFIS menggunakan nilai error tolerance, sehingga jika setelah training data error memasuki daerah error tolerance ini maka training akan berhenti. Dipilih error tolerance sebesar 0 (default). Kemudian banyaknya epoch (iterasi) proses training ditentukan sebanyak 40.

Untuk memulai proses training, klik train now. Hasilnya akan seperti gambar berikut.

Jika diperhatikan, training error grafiknya semakin menurun dan mencapai titik erorr tetap pada angka 0.0083152 pada saat epoch mencapai 20. Artinya bahwa proses training menghasilkan error minimum pada nilai 0.0083152 yaitu selisih 0.0016848 dari toleransi error yang kita definisikan (tidak pernah mencapai nilai 0), untuk itu proses training dibatasi dengan banyaknya iterasi (epoch), yaitu 40 kali.

PENGUJIAN PASCA TRAINING ANFIS

Untuk mengetahui performance ANFIS yang telah ditraining dengan data awal (trainData), kita bisa lakukan test dengan melakukan ploting data trainData dan ANFIS dengan nilai input yang sama. Pada kolom Test FIS di ANFIS editor klik Test Now dengan sebelumnya memilih training data.

Jika kita perhatikan gambar diatas tampak bahwa hasil ploting trainData (o) dan ANFIS output (*) pada beberapa nilai berhimpitan. Artinya ANFIS yang kita training telah dapat memetakan masukan terhadap keluaran dengan baik. Pada saat tertentu hasil ploting FIS output tampak bergeser dari trainData, ini menunjukkan ada error yang relatif besar ketika ANFIS diberi masukan pada masukan sekitar nilai tersebut.


Pada perancangan FIS sebelumnya didasarkan pada IF-THEN rules yang sudah didefinisikan sebelumnya. Jadi pendekatan yang dipakai sebelumnya diasumsikan kita sudah memiliki IF-THEN rules, dengan kata lain kita sudah mengetahui lebih dulu bagaimana kelakukan dari sistem yang dimodelkan. Tujuannya adalah mentransfer pengetahuan kita tersebut kedalam sistem fuzzy dalam bentuk FIS.

Sedangkan pada ANFIS, pemodelan didasarkan pada pasangan input dan output. Jadi diasumsikan kita mempunyai data input dan output dari sistem sebelumnya, kemudian baru mencari IF-THEN rules yang bisa memetakan input menjadi output. ANFIS mengandaikan bahwa data input dan output dari suatu Blackbox system telah ada, kemudian kita menebak model apa yang cocok pada blackbox tersebut.

ANFIS dapat mengatasi kesulitan menentukan prameter-parameter fungsi keanggotaan untk mendapatkan FIS yang memetakan input ke output dengan benar pada pemodelan yang didasarkan pada data.

Kontrol Lampu Akuarium

Anda punya akuarium dirumah? Dulu barang pajangan ini hanya terdapat dirumah orang yang gemar dengan bentuk kehidupan di dalam air, yang dengan kasih sayang memelihara ikan hias, mengontrol suhu airnya, memberinya makan dua kali sehari, membersihkan, mengatur kadar pH dan seterusnya. Seiring dengan popularitasnya, alat-alat yang meringankan pekerjaan ini mulai bermunculan di pasaran. Nah tidak ada salahnya jika mencoba untuk mengontrol lampu yang meneranginya, sehingga tidak terkesan boros listrik.

Gambar 1. Aquarium (from: http://imyfish.wordpress.com/2009/02/18/hello-world/)

Sebagai tambahan disediakan tiga fungsi kontrol. Yang pertama adalah tombol reset yang digunakan untuk mengawali kembali periode penentu waktunya. Bila tamu datang, atau bila akuarium perlu diberi penerangan terus, dari keadaan sedang menyala atau padam, menekan sebuah tombol memulai lagi periode delay mejelang dipadamkannya. Yang kedua, memungkinkan dipilihnya dua periode setelah matahari terbenam sebelum lampu dipadamkan. Dan yang ketiga, ada kalanya perlu menghentikan perngoperasian sama sekali seperti pada waktu airnya dikuras.

Berikut adalah sebuah skema rangkaian elektronik digunakan untuk mengontrol nyala padamnya lampu akuarium. Alat ini cukup sederhana, akan menyalakan lampu pada waktu matahari terbenam dan memadamkannya ketika matahari mulai terbit.

Cara kerja:

Pada saat cahaya mengenai sensor (LDR) melampaui suatu level preset, katakanlah pada saat fajar, lampu dinyalakan. Ketika level cahaya mulai turun lagi dibawah level ini, dimulai periode delay,lampu dipadamkan. waktu delay dapat dipilih untuk dua kondisi, misalnya, musim kemarau atau musim hujan.

Pada awalnya, angap saja LDR menerima cahaya yang cukup terang. Pada saat ini resistansinya rendah sekali, hanya sekitar 1-2k. IC 741 dikonfigurasikan sebgai Schmitt Trigger dengan beberapa persen histeresis. Dalam kondisi diberikan cahaya, outputnya menahan isi pencacah 4024 pada nol melalui rangkaian resetnya. IC NE555 dihubungkan sebagai multivibrator astabil dengan osilasi sebesar 255 second dan 85 second dalam 2 kondisi yang diberikan. Kecepatannya dapat kita atur dengan mengubah nilai kapasitor C2 dan C3. Jika cahaya mengenai sensor LDR turun mengakibatkan output dari 741 menjadi rendah, 555 mulai meng-“clock” counter (pencacah 4024). Counter 4024 merupakan suatu ripple counter tujuh keluaran, dengan demikian oleh pulsa ke-64 keluaran ke-7 akan berlogika “1”. Bila ini terjadi, relay akan menutup dan lampu akan padam. Secara simultan saluran reset 555 berlogika “0” dan 555 akan berhenti berosilasi. KOndisi ini stabil, dan alat tetap tidak aktif sampai pencacah direset kembali dan putaran akan dimulai lagi. Saklar reset untuk sesaat mereset pencacah, sehingga alat dapat berkerja kembali. Saklar Cancel berfungsi untuk “memaksa” alat untuk tidak aktif (lampu padam), jadi jika posisi saklar ini terbuka maka alat akan bekerja kembali seperti semula.