• Tidak ada hasil yang ditemukan

TA : Aplikasi Penggunaan Pemrograman Delphi Pada Pembuatan Simulator Untuk Perencanaan Artificial Intelligent Controller Pada Pengaturan Motor.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Aplikasi Penggunaan Pemrograman Delphi Pada Pembuatan Simulator Untuk Perencanaan Artificial Intelligent Controller Pada Pengaturan Motor."

Copied!
75
0
0

Teks penuh

(1)

INTELLIGENT CONTROLLER PADA PENGATURAN MOTOR

Oleh :

Nama : ARIE SUMARTINI NIM : 98.41020.9053 Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA

(2)

vii

Halaman

ABSTRAKSI ……….. iv

KATA PENGANTAR ……… v

DAFTAR ISI ………. vii

DAFTAR TABEL ……….. ix

DAFTAR GAMBAR ………. x

DAFTAR LAMPIRAN ………. xii

DAFTAR SINGKATAN ………... xiii

BAB I PENDAHULUAN ………... 1

1.1 Latar Belakang……… 1

1.2 Perumusan Masalah ………... 3

1.3. Batasan Masalah ……… 4

1.4. Tujuan ……… 4

1.5. Kontribusi... 4

1.6. Sistematika Penulisan ……… 5

BAB II LANDASAN TEORI ……… 7

2.1 Pemrograman Borland Delphi versi 6.0 ………. 7

2.2. Controller PID ……….…... 11

2.3. Himpunan Fuzzy ……….…… 15

2.4. Struktur Dasar Controller Logika Fuzzy ……… 22

(3)

viii

2.7. Motor Induksi ………. 38

BAB III METODE PENELITIAN ………... 42

3.1. Perancangan ………...………. 42

3.2. Pembuatan Software Simulator Artificial Intelligent ……… 45

BAB IV PENGUJIAN DAN EVALUASI SISTEM…….………… 51

4.1. Prosedur Pengujian ………...… 52

4.2. Hasil Pengujian ………... 55

4.3. Analisa………. ………... 67

BAB V PENUTUP ………... 69

5.1. Kesimpulan ………. 69

5.2. Saran ………... 70

DAFTAR PUSTAKA ……….……….……. 71

(4)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi yang semakin pesat dipicu oleh kebutuhan manusia akan teknologi tepat guna. Teknologi tepat guna yang mampu memenuhi “ perintah” user dalam hal ini manusia agar sesuai dengan keinginannya paling tidak hanya memberikan input yang terbatas dan tidak berbelit – belit . Namun output yang diterima atau dihasilkan adalah yang paling memuaskan dan berkualitas. Dengan demikian maka jangkauan yang harus dilakukan teknologi menjadi semakin luas.

Seiring dengan perkembangan teknologi dibidang komputerisasi melesat.

Software untuk melewati interface sebagai penghubung hardware yang dikontrol bersaing. Software sebagai pemberi perintah atau penggerak hardware diharapkan mampu memberikan informasi yang komunikatif, mampu memberikan gambaran yang nyata dari hasil, sampai apa yang sedang dilakukan oleh hardware yang dikontrol.

(5)

tinggi. Hal ini dikarenakan masing – masing memiliki kelebihan dan kekurangan tersendiri.

Penggabungan pada ketiga controller tersebut menjadi sebuah sistem controller tunggal diharapkan akan menutupi kelemahan masing – masing dan memunculkan kelebihan yang diharapkan dan memuaskan.

Dengan munculnya suatu teori himpunan fuzzy, membantu perkembangan teknologi khususnya bidang rekayasa. Ini terlihat dengan banyaknya pemecahan masalah pada perancangan controller dengan teori fuzzy. Dengan model sederhana namun mampu membuktikan unjuk kerja yang tinggi. Jenis controller logika fuzzy sering ditemukan dalam pengaturan motor induksi untuk industri.

Pengaplikasian logika fuzzy sendiri banyak digunakan untuk pentunningan controller PD, controller PI, dan controller PID untuk mengurangi overshoot yang berlebihan, dead time dan rise time yang terlalu lama pada saat awal (start). Sementara itu apabila terjadi pembebanan pada motor maka kecepatan motor tersebut akan turun. Hal ini sangat tidak menguntungkan bagi perindustrian. Dilain hal motor industri memiliki karakteristik unik pada saat start dan settling time - nya.

(6)

Harga parameter Kp, Kidan Kd yang tepat dan sesuai untuk controller PID hingga mampu memperbaiki tanggapan transient serta mengeliminasi error steadystate.

Adapun kelemahan pada pengendalian controller PID adalah diperlukannya penalaan (tunning) ulang untuk parameter controller jika terjadi pengembangan proses yang tidak diharapkan.

Menghindari kelemahan ini diperlukan suatu controller yang baik. Karena itu dikembangkanlah penggabungan beberapa controller, yaitu controller PID dan Neuro fuzzy dengan menggabungkan metode Adaptive NeuroFuzzy Inference System. Controller Neuro fuzzy sendiri bekerja untuk mencari parameter controller PID yang tepat secara tunning hingga controller PID mampu mengontrol kecepatan motor induksi Dilain pihak ANFIS memiliki kemampuan membangun model dengan menggunakan beberapa data dan sample, sample yang digunakan pada ANFIS sebagai sistem target. Sistem target secara kasat mata dapat membantu inisial dari struktur model. Dan semua hasilnya dituangkan pada suatu perangkat lunak yang akan memberikan informasi yang diperlukan oleh

user.

1.2 Perumusan Masalah

(7)

1.3 Batasan Masalah

Ruang lingkup Tugas Akhir ini adalah seputar :

1. Pembuatan Software untuk controller PID dan ANFIS dengan menggunakan bahasa pemrograman Borland Delphi 6.0.

2. Algoritma pengaturan plant dengan PID dan ANFIS dengan menggunakan bahasa pemrograman Borland Delphi 6.0.

3. Motor induksi sebagai plant.

1.4 Tujuan

Tujuan dari Tugas Akhir ini dijabarkan sebagai berikut :

Membuat perangkat lunak yang berfungsi sebagai controller ANFIS dan controller PID untuk pengaturan kecepatan motor induksi.

1.5 Kontribusi

Suatu perangkat lunak (software) dibuat agar dapat memberikan informasi yang berguna. Dapat membantu user mendapatkan data yang dapat diolah kembali mungkin menjadi bentuk lain.

Membuat perangkat lunak (software) agar mampu menampilkan informasi berupa data yang dapat dipercaya adalah merupakan suatu harapan dari

programmer. Karena jika software sudah hampir mendekati real dari perangkat keras (hardware) atau apapun yang ingin diuji, maka software tersebut semakin dipercaya hasil pengolahan datanya.

(8)

induksi . Mesin twisting TFO yang ada di PT.Texmaco Jaya Pemalang misalnya adalah mesin yang menggunakan motor induksi tiga fasa.

Agar dapat mengetahui perilaku alat – alat yang menggunakan motor ac atau motor induksi maka dibuatlah suatu rancangan tampilan yang diharapkan mampu mendekati perilaku motor induksi .

Dengan menggunakan dua jenis controller (PID dan ANFIS) sebagai suatu metode pembelajaran kemudian dapatlah diambil kesimpulan oleh user mana yang lebih tepat penggunaan untuk suatu kondisi tertentu.

Adapun penggunaan kedua controller ini adalah agar dapat membandingkan keadaan motor sebelum terjadi pembelajaran yaitu pada saat menggunakan controller PID. Dan keadaan motor setelah mengalami pembelajaran yaitu saat motor menggunakan controller ANFIS.

Ketika hasil keduanya diperoleh maka dapat dilihat perbedaan dimana kita akan dapat menarik kesimpulan untuk kelebihan dan kekurangan masing – masing controller.

1.6 Sistematika Penulisan

Sistematika yang digunakan dalam penyusunan Tugas Akhir ini terbagi menjadi beberapa bab, yaitu :

BAB I : PENDAHULUAN

(9)

BAB II : LANDASAN TEORI

Membahas landasan teori yang mengupas teori penunjang yang diperlukan dalam penyelesaian tugas akhir ini yang meliputi, controller logika fuzzy, controller PID dan teori sistem kontrol automatik.

BAB III : METODE PENELITIAN

Membahas bagaimana merancang dan membuat simulator pengaturan motor induksi dengan PID dan ANFIS menggunakan bahasa pemrograman Borland Delphi 6.0 BAB IV : PENGUJIAN DAN EVALUASI SISTEM

Pada bab ini menguji perangkat lunak yang telah dibuat dan hasil – hasilnya secara simulasi.

Menampilkan hasil – hasil dari pengujian untuk di evaluasi.

BAB V : PENUTUP

(10)

7

2.1 Pemrograman Borland Delphi versi 6.0 2.1.1 Sejarah bahasa pemrograman Delphi

Beberapa tahun lalu seorang programmer harus benar - benar memeras otak untuk bisa memebuat program berbasis Windows. Kesulitan ini mengilhami Charlie Calvert dan Zack Urlocker, dua programmer Borland International, untuk membuat pemrograman Windows menjadi lebih mudah.

Berawal dari bahasa pemrograman Pascal muncullah ide untuk mengembangkan bahasa pemrograman ini yang nantinya lebih dikenal dengan

sebutan “DELPHI”, mampu memberikan tampilan visual dari pemrograman Pascal. Pada saat bahasa pemrograman Windows dengan Pascal dirasa cukup sulit maka Borland International Incoporation merilis Delphi 1 untuk memenuhi kebutuhan tersebut pada tahun 1995.

(11)

2.1.2 IDE Delphi

Secara umum tampilan bidang kerja dalam lingkungan Delphi atau yang

lebih lazim dikenal dengan IDE mempunyai 6 bagian utama yaitu :

1. Menu Bar

Menyediakan kelompok perintah – perintah yang berhubungan dengan

IDE Delphi.

2. ToolBar

Berisi kumpulan tombol sebagai pengganti beberapa item menu yang

sering digunakan, bertujuan untuk meringkas atau mempercepat

pekerjaan.

3. Component Pallete

Berisi kumpulan icon yang melambangkan komponen – komponen

pada VCL .

4. Object Inspector

Adalah sarana yang digunakan untuk mengubah karakteristik sebuah

komponen.

5. Window Form

Tempat untuk merancang jendela pada aplikasi windows. 6. Code Editor

(12)

2.1.3 Program dan proyek A. Susunan program

Dalam pemrograman Delphi sepenuhnya menerapkan metode

pemrograman Object Oriented Programming dimana segala sesuatu yang dimanipulasi dalam Prgram adalah objek.

Delphi memilah program menjadi dua bagian utama yaitu bagian primer dan sekunder. Bagian primer berupa file program yang mengkoordinasi keseluruhan program, file ini disebut file proyek. Secara umum bentuk urutan program primer Delphi sebgai berikut :

Program nama program

Uses { kumpulan unit – unit }

Const { kumpulan konstanta }

Type { kumpulan type }

Var { kumpulan variable }

Begin

{ Statement – statement }

End

Sedangkan bagian sekunder disebut sebagai unit, secara umum sebuah unit terdiri atas

Unit { nama unit }

Interface

Uses { daftar unit }

Implementation

{ implementasi procedure dan function }

(13)

B. Susunan proyek

Sebuah proyek adalah suatu kumpulan file yang bersama – sama membentuk sebuah aplikasi.

File Source kode proyek ( *.dpr )

File *.dpr adalah file program utama yang digunakan Delphi untuk mengkompilasi semua unit – unit. Contoh kode proyek sebagai berikut :

program Project1;

uses

Forms,

Unit1 in ‘Unit1.pas’ {Form1};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(Tform1, Form1);

Application.Run;

end.

Filesource kode *.pas

Ekstensi *.pas menunjukkan bahwa file tersebut adalah file unit, dimana unit adalah bagian proyek yang berfungsi sebagai bahan utama pembangunan

(14)

2.2. Controller PID

Controller jenis ini merupakan kombinasi dari tiga jenis controller yaitu Proportional, Integral dan Derivative.

Controller PID merupakan kombinasi dari tiga jenis controller. Jika ketiga jenis controller tersebut berdiri sendiri, maka hasil yang dicapai kurang bagus . Sebab masing – masing memilki kelebihan dan kelemahan sendiri –

sendiri. Dikombinasikannya ketiga jenis controller tersebut menjadi satu sistem kontrol tunggal yang diharapkan memberikan kontribusi dari kelebihannya

masing – masing.

Controller Padalah suatu penguat linier yang dapat diatur penguatannya. Controller PI merupakan perubahan dari output kontrol integral, berubah dengan fungsi waktu yang sebanding dengan sinyal kesalahan.Dimana sinyal kesalahan

adalah sama dengan Error E(t) yang merupakan selisih antara output dan setpoint.

Controller D sering disebut disebut kontrol laju, karena besar output controller sebanding dengan laju perubahan sinyal kesalahan. Tetapan waktu turunan adalah

Controller PLANT Input + E (t) U (t)

Output M(t)

Gambar 2.1. Blok Diagram Controller PID ¯

(15)

selang waktu bertambah majunya respon controller P yang disebabkan oleh aksi laju.

Gabungan controller proportional, controller integral dan controller

derivative memiliki keunggulan dalam memperbaiki kesalahan sinyal dibandingkan dengan jika ketiga controller tersebut berdiri sendiri. Adapun persamaan PID adalah sebagai berikut :

   t i p d p

p et dt

T K T K t e K t M

0 ( )

dt de(t) ) ( )

( ( 2.1 )

atau fungsi alihnya :

       

 1 1

) ( ) ( s T s T K s E s M i d

p ( 2.2 )

dimana :

Kp = proportional gain Td = waktu turunan Ti = waktu integral

Kp akan memberikan efek mengurangi waktu naik, tetapi tidak menghapus kesalahan keadaan tunak. Ki akan memberi efek menghapus kesalahan keadaan tunak, tetapi berakibat memburuknya respon transient. Kd akan memberikan efek meningkatnya stabilitas sistem, mengurangi overshoot, dan

menaikkan respon transfer. Efek dari setiap controller (Kp, Ki, Kd) dalam sistem

(16)

Tabel 2.1. Efek masing – masing controller

Respon Loop

Tertutup Waktu Naik Overshoot Waktu Turun

Kesalahan Keadaan

Tunak Kp Menurun Meningkat Perubahan

kecil Menurun Ki Menurun Meningkat Meningkat Hilang

Kd Perubahan

kecil Menurun Menurun

Perubahan kecil

Dari tabel 2.1, terlihat bahwa hubungan korelasi tersebut mungkin tidak

sepenuhnya akurat, karena Kp, Ki dan Kd saling bebas. Pada kenyataannya, mengubah salah satu variabel dapat mengubah dua yang lainnya. Karena alasan

tersebut, tabel hanya digunakan sebagai referensi saat kita menentukan nilai untuk

Kp, Ki dan Kd.

2.2.1 Controller P

Untuk controller P , hubungan antara output M(t) dan sinyal error E(t) adalah :

) ( )

(t K E t

Mp ( 2.3 )

dalam besaran trasformasi Laplace

p

K s E

s M

) (

)

( ( 2.4 )

Dimana :

(17)

Berdasarkan tabel 2.1 kita ketahui bahwa Kp mengurangi waktu naik

(rise time ) dan meningkatkan overshoot dan mengurangi kesalahan keadaan tunak .

Apapun wujud mekanisme yang sebenarnya dan apapun jenis daya

penggeraknya, controller P pada dasarnya merupakan penguat dengan penguatan yang dapat diatur.

2.2.2 Controller I

Pada aksi kontrol ini akan terjadi pengubahan harga output M(t) menjadi laju yang sebanding dengan sinyal error E(t).

E(s) M(s)

+

¯

Gambar 2.3. Diagram blok controller I Ki

s

input output

Kp

E(s) M(s)

+

¯

Gambar 2.2. Diagram blok controller P

(18)

) ( )

( K E t

dt t dm

i

 ( 2.5 )

atau

t

i E t dt

K t M

0 ( )

)

( ( 2.6 )

Dimana :

Ki = integral gain

Jika harga E(t) diduakalikan, maka harga M(t) berubah dengan laju

perubahan menjadi dua kali semula. Jika kesalahan penggerak atau error sama dengan nol, maka harga M(t) tetap stationer.

2.2.3 Controller D

Controller D adalah jenis sinyal yang menghasilkan sinyal output berbanding langsung dengan sinyal error. Controller ini dikenal sebagai rate kontrol atau anticipatory kontrol. Kontrol jenis ini tidak dapat digunakan tersendiri karena ketika perubahan sinyal error sama dengan nol, maka controller menghasilkan sinyal kontrol sebesar nol. Jadi controller derivative efektif selama periode transient. Hubungan sinyal kontrol dan sinyal error sebagai berikut :

dt t dE T K t

M()  p d () ( 2.7 )

2.3 Himpunan Fuzzy

Suatu himpunan fuzzy (fuzzy set) A dalam semesta pembicaraan (universe

of discourse) U dinyatakan dengan fungsi keanggotaan (membership function) µA, yang harganya berada dalam interval [0,1]. Secara matematika hal ini dinyatakan

(19)

µA : U → [0,1] ( 2.8 ) Himpunan fuzzy A dalam semesta pembicaraan U biasa dinyatakan sebagai sekumpulan pasangan elemen u(u anggota U) dan besar derajat

keanggotaan (grade of membership) elemen tersebut, µA, sebagai berikut:

A { (u, µA(u) / u  U) } ( 2.9 )

Tanda ‘/’ digunakan untuk menghubungkan sebuah elemen dengan derajat keanggotaannya. Jika U adalah diskrit, maka A biasanya dinyatakan dengan :

A µA ( u1 ) / u1+ …+ µA ( uu ) /un ( 2.10 )

atau

1

1 1

/

)

(

n

n A

A

( 2.11 )

Dan jika U adalah diskrit , maka A biasanya dinyatakan dengan : A  µA

(u) u. Sebagai contoh, untuk semesta pembicaraan ‘bilangan cacah yang kurang dari 10’ dan himpunan fuzzy A yang didefinisikan sebagai bilangan yang dekat dengan 5’, dinyatakan :

A = 0/0 + 0.2/1 + 0.4/2 + 0.6/3 + 0.8/4 + 1.0/5 + 0.8/6 + 0.6/7 + 0.4/8 + 0.2/9

(20)

Gambar 2.4. Definisi himpunan fuzzy A secara diagram

Penentuan keanggotaan suatu himpunan fuzzy tidak dibatasi oleh aturan-aturan tertentu. Pada umumnya terdapat tiga macam fungsi keanggotaan

himpunan fuzzy yaitu

1. S-function; menurut Kuswadi (2000:29) dinyatakan dengan persamaan berikut ini

                                              b u b u b a a b u b b a u a a b a u a u b a u S ; 1 2 ; 2 1 2 ; 2 ; 0 ) , , ( 2 2

( 2.12 ) A Domain 1 0.8 0.6 0.4 0.2 0

2 4 6 8 10

(21)

Definisi S-funtion

2. -Function menurut Kuswadi (2000:29) adalah

                           c u b c b c c u S c u c b c b c u S c b u ; , 2 , ; 1 ; , 2 , ; , ,

 ( 2.13 )

Definisi  - Function

D er aj at K ea ngg ota an b

a c

0.5 1 u S(u,a,b) a b

Gambar 2.5. Diagram S – function

Gambar 2.6. Diagram  -Function

D

er

aj

at k

ea ngg ota an u 0.5 1 c+b/2 c+b c-b/2

c-b c

∏(u,b,c)

(22)

3. T- Function menurut Kusumadewi (2002:49-50) adalah                     c u c u b b c u c b u a a b a u a u c b a u T ; 0 ; ; ; 0 ) , , ;

( ( 2. 14 )

Definisi T - Function

2.3.1 Operasi Himpunan Fuzzy

Menurut Kuswandi (2000:30) operasi himpunan fuzzy dapat disimpulkan sebagai berikut :

1. Equality

µA = µB (u),uU ( 2.15 )

2. Union

µ(AU B)(u) = max {µA(u), µB(u)}, u U ( 2.16 )

0 De ra jat K ea ngg ota an 1

0.5 1.5

0.5 1 u a b c T(u,a,b,c)

(23)

3. Intersection

µ(AU B)(u) = min {µA(u), µB(u)}, u U ( 2.17 )

4. Complement

µA (u) = 1 - µA (u), u U ( 2.18 )

Jika himpunan A dan Ā adalah komplemen, maka berlaku aturan sebagai

berikut:

( ) min

( ) , ( )

 0,5

A u A u A u

A  

 ( 2.19 )

( ) max

( ) , (u)

 0,5 A

u A u

A

A  

 ( 2.20 )

5. Normalization

µNORMAL(A)(u) = µA (u)/max(µA(u)), u U ( 2.21 )

6. Consentration

µCONV(A) (u) = (µA (u))2 , uU ( 2.22 )

7. Dilation

µDIL(A) (u) = (µA (u))0.5 , uU ( 2.23 )

8. Algebric product.

µ(A •B) (u) = µA (u) •µB (u), uU ( 2.24 ) 9. Bounded sum

 

AB (u) min 1 , A(u)  B(u) , u ( 2.25 ) 10. Bounded product

 ( ) max

0, ( )  ( ) 1

, 

AB uA uB uu ( 2.26 )

11. Intensification

 

 

          1 ) ( 5 . 0 )) ( 1 ( 2 1 5 . 0 ) ( 0 )) ( ( 2

u 2 u

u u u A A A A A

INT  

 

(24)

12. Drastic Product           1 ) ( ), ( 0 1 ) ( ) ( 1 ) ( ) ( ) ( ) ( u u u u u u u u B A A B B A B A       

 ( 2.28 )

2.3.2 Variabel lingusitik

Suatu himpunan fuzzy biasa didefinisikan sebagai (u, T(u), U, R, S) dengan u adalah nama variabel linguistik, T(u) adalah himpunan term (Linguistic

Value / Linguistik Label) pada u dan masing-masing term didefinisikan dengan fungsi keanggotaan yang normal (mempunyai harga maksimum sama dengan 1)

dan convex pada U; R adalah sintetis untuk menghasilkan nama nilai-nilai pada u; dan S adalah aturan semantik untuk menghubungkan tiap nilai dengan artinya. Suatu contoh variabel linguistik misalnya kecepatan, maka himpunan term

T(kecepatan) yang mungkin misalnya : T(kecepatan) = {lambat,sedang,cepat}

Lambat, sedang, cepat adalah harga linguistik (linguistic value) dari variabel linguistic kecepatan, dan masing-masing didefinisikan dalam suatu himpunan

(25)

2.4 Struktur Dasar Controller Logika Fuzzy

2.4.1 Fuzzyfikasi

Proses fuzzyfikasi merupakan proses untuk mengubah variabel non fuzzy (variabel numeric) menjadi variabel fuzzy (variabel linguistic). Nilai

masukan-input yang masih dalam bentuk variabel numerik yang telah dikuantisasi sebelum diolah oleh pengendali logika fuzzy harus diubah terlebih dahulu kedalam variabel

fuzzy. Melalui fungsi keanggotaan yang telah disusun maka dari nilai-nilai input tersebut menjadi informasi fuzzy yang berguna nantinya untuk proses pengolahan secara fuzzy pula. Proses ini disebut fuzzyfikasi.

Dengan kata lain fuzzyfikasi merupakan pemetaan titik numerik (crisp

points) x(x1,....,xn )T

U ke himpunan fuzzy A di U . U adalah semesta pembicaraan. Paling tidak ada dua kemungkinan pemetaan, yaitu:

 Fuzzyfikasi singleton : A adalah fuzzy singleton dengan mendukung  x,

artinya, ( ' ) 1  x

A

 untuk

   x x ' dan

-Input +

PLANT Output Rule Base

Inference Fuzzy

fication

Defuzzy fication FUZZY LOGIC CONTROL

(26)

0 ) ' (   x A

 untuk selain ' 

x U dengan

 

x

x

'

 Fuzzyfikasi nonsingleton : ( )1  x

A

 dan ( ) '  x

A

 menurunkan dari 1

sebagaimana x ' bergerak menjauh dari x.

sebagai contoh :

 

                                  2 ' ' exp '   x x T x x X

A ( 2.29 )

Dimana 2 adalah parameter yang menentukan bentuk dari ( )'x

A

.

Sejauh ini yang banyak digunakan adalah fuzzyfikasi singleton, tetapi pemakaian non singleton juga telah dirintis terutama untuk masukan-inputyang banyak dimasukioleh derau (noise).

2.4.2 Inference dan Penyusunan Rule Base

Pada umumnya, aturan-aturan fuzzy dinyatakan dalam bentuk ‘IF-THEN’ yang merupakan inti dari relasi fuzzy, dinyatakan dengan R, juga disebut implikasi fuzzy. Relasi fuzzy dalam pengetahuan dasar dapat didefinisikan sebagai himpunan pada implikasi fuzzy.

Aturan dasar fuzzy adalah dalam bentuk umum:

R(1): IF x1 is F11 AND … AND … xn is Fn1, THEN y is G11

Dimana Fi1 dan G1 adalah himpunan fuzzy masing-masing di U1 R dan V  R,

dan )

n

T n XU X U x x

(27)

Untuk mendapatkan aturan IF-THEN di atas ada dua cara utama, yaitu:

(1) Menanyakan ke operator manusia yang dengan cara manual telah mampu

mengendalikan sistem tersebut dikenal dengan istilah “Human Expert” . (2) Dengan menggunakan algoritma pelatihan berdasarkan data-data input dan

output.

Cara pertama tersebut merupakan cara langsung seluruh aturan-aturan

tersebut, karena seringkali terjadi bahwa operator tersebut mengendalikan sistem

atas dasar perasaan semata dan refleks yang sulit dijelaskan. Karena

keterbatasan-keterbatasan tersebut maka banyak rekayasawan menawarkan ide untuk

menggunakan data output dan input sebagai dasar penyusunan aturan secara otomatik.

Dalam penalaran logika fuzzy, ada dua tipe utama untuk pengambilan keputusan fuzzy, yaitu generalized modus ponens (GMP) dan generalized modus

tollens (GMT). Generalized modus ponens disebut juga dengan direct reasoning, sedangkan generalized modus tollens disebut juga indirect reasoning.

Jika himpunan fuzzy dinotasikan dengan A, A’, B, B’ dan variabel linguistic dinotasikan dengan x dan y, maka GMP dan GMT dapat dinyatakan sebagai

berikut :

Generalized Modus Ponens (GMP)

Pernyataan 1 (aturan) : if x is A then y is B Pernyataan 2 (fakta) : x is A’

___________________________________________________________

Penyelesaian : y is B’

(28)

B’ = A’  R

Dengan R adalah relasi fuzzy dari implikasi fuzzy ‘if A then B’, tanda ˚ adalah

operator komposisi, dan A’ adalah himpunan fuzzy yang mana mempunyai bentuk : A, sangat A, lebih atau kurang A, tidak A dan lain sebagainya.

Generalizes Modus Tollens (GMT)

Pernyataan 1 (aturan) : if x is A then y is B Pernyataan 2 (fakta) : y is B’

____________________________________________________________ Penyelesaian : y is A’

Dalam hal ini penyelesaian B’ dapat dinotasikan dengan :

A’ = R 

B’

Bermacam-macam pendekatan dapat digunakan menentukan hubungan

(29)

Table 2.2. Fungsi-fungsi Implikasi Fuzzy

Tipe

Operasi Fungsi-fungsi implikasi untuk ‘IF x is A THEN y is B’ Mini Rule

[Mamdani] RcAB uvA

 

u B

   

v /u,v

Product Rule [Larsen]

 

u

   

v u v B

A

Rp   uvA B / ,

Max-min Rule [Zadeh]

A B

 

notA V

 

u

 

v

 

u

  

u v Rm     uvA B  1A / ,

Arithmetic rule [Zadeh]

notA V

 

U B

 

u

 

u

  

u v

Ra     uv1 1A B / ,

Boolean Rb

notAV

 

UB

uv1

1A

 

u B

 

u

  

/u,v

2.4.3 Defuzzyfikasi

Dalam sistem kontrol secara umum, terdapat suatu hubungan

sebab-akibat yang spesifik antara input dan output sistem tersebut. Karakteristik hubungan inilah yang membedakan satu sistem dengan sistem yang lain.

Pengendali yang menggunakan logika fuzzy juga membutuhkan spesifikasi hubungan antara inputdan output, yang secara umum dinyatakan dengan :

IF (A1) THEN (B1)

IF (An) THEN (Bn)

(30)

antecedent dan consequent disebut aturan (rule), dan antara satu rule dengan yang lain tidak terdapat hubungan sebab-akibat.

Proses untuk mendapatkan aksi output dari suatu kondisi input dengan mengikuti rule-rule yang telah ditetapkan disebut inference atau reasoning (pengambilan keputusan).

Keputusan yang dihasilkan dari proses penalaran ini masih dalam bentuk

fuzzy, yaitu berupa derajat keanggotaan output. Hasil ini harus diubah kembali menjadi variabel numerik non-fuzzy melalui proses defuzzifikasi. Dua metode defuzzifikasi yang umum digunakan menurut Kuswadi (2000:37) adalah :

A. Maximum of Mean (MOM) Metode ini didefinisikan sebagai :

  j j j J v v 1

0 (2.30)

max

μ

v

 

v

V

v

j

v

(2.31)

0

v = nilai output

J = jumlah harga maksimum Vj = nilai output maksimum ke-j

 

v

v

 = derajat keanggotaan elmen-elemen pada fuzzy set v

V = semesta pembicaraan

B. Centre of Area (COA) Metode ini didefinisikan sebagai :

 

 

     m

k v vk m

k vk v vk v

1 1

0

(31)

vo = nilai output m = tingkat kuantisasi

vk = elemen ke-k

 

k

v v

 = derajat keanggotaan elmen-elemen pada fuzzy set v

V = semesta pembicaraan

Kesulitan yang ada adalah dalam penentuan MF dalam rule base yang

akan kita buat. Nilai yang kita masukkan haruslah sesuai, untuk itu kita perlu

mengadakan suatu eksperimen sampai kita mendapat nilai MF yang paling sesuai

untuk sistem kita. Semakin sesuai MF yang kita masukkan dengan sistem yang

kita buat maka output atau output yang dihasilkan sistem akan semakin baik.

2.5 Adaptive Neuro Fuzzy Inference System

ANFIS adalah arsitktur yang secara fungsional sama dengan fuzzy rule

base Sugeno. Arsitektur ANFIS juga sama dengan jaringan syaraf dengan fungsi radial dengan sedikit batasan tertentu. Bisa dikatakan bahwa ANFIS adalah suatu

metode yang mana dalam melakukan penyetelan aturan digunakan algoritma

pembelajaran terhadap sekumpulan data. Pada ANFIS juga memungkinkan aturan

– aturan untuk beradaptasi.

Pada jaringan syaraf kita pasti telah mengenal adanya fungsi aktivasi.

Sebenarnya fungsi aktivasi itu sendiri dapat dikatakan seperti fungsi keanggotaan

pada logika fuzzy. Misalkan kita memiliki aturan – aturan sebagai berikut :

(32)

Dengan input eadalahh error dan output uadalah sinyal kontrol. Metode Inferensi dapat digambarkan digambarkan sebagai diagram blok yang menyerupai

jaringan syaraf.

Jaringan memiliki satu lapisan input, satu lapisan tersembunyi, dan satu lapisan output. Input yang terhubung dengan lapisan tersembunyi ini berkaitan dengan bagian IF dari aturan. Tiap – tiap neuron pada lapisan tersembunyi berisi

fungsi aktivasi, disini tidak terjadi penjumlahan, sebab setiap neuron hanya

menerima satu input-an. Bobot untuk setiap neuron pada lapisan berupa nilai - 100, 0 dan 100. Neuron pada lapisan output merupakan hasil rata – rata terbobot sebagai metode centroid dalam defuzzy.

W1

W3 W2

Lapisan Output

e

POS

NOL

NEG

Lapisan Input

Lapisan Tersembunyi

[image:32.612.103.509.163.505.2]

u

(33)

Jaringan Backpropagation dapat diaplikasikan untuk kasus ini jika setiap lapisan bersifat differentiable. Ada 2 pembelajaran yang akan dilakukan. Pertama,

pengaturan bobot pada lapisan output hingga tercapai error minimum. Kedua, mengatur bentuk fungsi keanggotaan dengan cara mengatur parameter –

parameter yang bersesuaian. Jaringan ini dapat digambarkan sebagai jaringan

feedforward dengan satu jaringan lapisan input, satu lapisan tersembunyi dan satu lapisan output. Pada jaringan tesebut ada pemetaan nonlinier dari lapisan input kelapisan tersembunyi, kemudian dilanjutkan dengan pemetaan linier dari lapisan

tersembunyi ke lapisan output. Lebih tepatnya, jaringan ini mirip dengan jaringan dengan fungsi basis radial ( radial basis function ).

Beberapa jaringan yang menggunakan fungsi basis radial digunakan

untuk pencocokan kurva pada ruangan multidimensi. Teknik yang digunakan oleh

fungsi basis radial adalah memilih F sedemikian sehingga :

F(u) =

k

T u u f w  =

             u -u f u -u f u -u f k 2 1 2

1wwk

w ( 2.33 )

dengan umadalah vektor input , m

k

w  ( k = 1,2,…,k ) adalah vektor yang berisi data – data yang akan dilatih, wk adalah vektor bobot,

k u u

f

(34)

Tiap – tiap uk harus memenuhi persamaan :

 

uk dk f

WT  ( 2.34 )

Dengan dkadalah respon yang diharapkan yang berhubungan dengan uk, dengan demikian nilai bobot W yang belum diketahui dapat dicari melalui persamaan :

d d d

f f f f f f f f f

1 2 k

kk k2 k1 2k 22 21 1k 12 11 2

1   

            k w w

w ( 2.35 )

yang dapat dinotasikan sebagai:

T

T d

W   ( 2.36 )

dengan vektor d menunjukkan vektor respon yang diharapkan

j k

jk f u u

f   ; dengan j,k = 1,2,…,K ( 2.37 )

Matrik 

 

fjk disebut sebagai matriks interpolasi, Pada fungsi basis radial (khususnya fungsi Gauss), matriks interpolasi ini bersifat definit positif. Dengan demikian kita bisa menyelesaikan dengan

1   T

T

d

w ( 2.38 )

2.5.1 Arsitektur ANFIS

Misalkan ada 2 input u1, u2dan satu output y. Ada 2 aturan yang harus diperhatikan yaitu :

If u1 is A1 and u2 is B1 Then y1 = c11u1 + c12u2 + c10

If u1 is A2 and u2 is B2 Then y2 = c21u1 + c22u2 + c20

Jika  predikat untuk aturan kedua aturan adalah 1 dan 2, maka dapat dihitung rata – rata terbobot :

y = 2 1 2 2 1 1       y y

(35)

Jaringan ANFIS pada gambarr 2.10 terdiri dari lapisan – lapisan sebagai

berikut :

1. Tiap –tiap node i pada lapisan pertama adadtif terhadap parameter suatu fungsi aktivasi. Output dari tiap node berupa derajat keanggotaan yang

diberikan oleh fungsi keanggotaan input, yaitu A1[u1], B1[u2], A2[u1]

atau B2[u2]. Sebagai contoh, misalkan fungsi keanggotaan diberikan sebagaimana dicontohkan pada buku Kusumadewi (2002:209).

[x] = b

a c

x 2

1 1  

( 2.40 )

dimana {a,b,c} adalah parameter – parameter input. Jika nilai parameter – parameter ini berubah, maka bentuk kurva yang terjadi pun ikut berubah. U1

U2

A1

A2

AND

B2

AND

B1

N

u1,u2

N

+

u1,u2

y

Lapisan

[image:35.612.104.511.77.488.2]

1 Lapisan 2 Lapisan 3 Lapisan 4 Lapisan 5

(36)

Parameter – parameter pada lapisan itu biasanya kenal dengan nama

primise parameter.

2. Tiap – tiap node pada lapisan kedua berupa node tetap yang output-nya adalah hasil input. Biasanya digunakan operator AND. Tiap – tiap node

mempresentasikan  predikat dari aturan ke-i.

3. Tiap – tiap node pada lapisan ketiga berupa node tetap yang merupakan

hasil perhitungan perbandingan dari  predikat dari aturan ke-i terhadap

jumlah dari keseluruhan  predikat.

i

 =

2

1 

 

i , dengan i =1,2. ( 2.41 )

Hasil ini dikenal dengan nama normalized firing strength.

4. Tiap – tiap node pada lapisan keempat merupakan merupakan node adaptif terhadap suatu output.

) ( i1 1 i2 2 i0 i

i

iy  c uc uc

 ,dengan i = 1,2. ( 2.42 )

dengan i adalah normalized firing strength pada lapisan ketiga dan {ci1, ci2, ci0 }adalah parameter – parameter pada node tersebut. Parameter – parameter pada lapisan tersebut tersebut disebut dengan nama consequent

parameters.

(37)

2.5.2 Algoritma pembelajaran ANFIS

Pada saat premise parameter ditemukan output yang terjadi akan merupakan kombinasi liniear dari consequent parameters, yaitu :

y = 2

2 1

2 1

2 1

1 y y

 

 

 

 

 ( 2.43 )

= 1

c11u1c12u2c10

2

c21u1c22u2c20

( 2.44 )

=

1u1

c11

1u2

c121c10

2u2

c21

2u2

c222c20 ( 2.45 )

adalah linear terhadap parameter cij ( i = 1,2 dan j = 0,1,2).

Algoritma hybrid akan mengatur parameter – parameter cij secara maju

(forward)dan akan mengatur parameter – parameter {ai, bi, ci} secara mundur (backward).

Pada langkah maju (forward), input jaringan akan merambat maju sampai pada lapisan keempat, dimana parameter – parameter cij akan diidentifikasi dengan menggunakan metode least-square. Sedangkan pada langkah mundur (backward), error sinyal akan merambat mundur dan parameter – parameter {ai, bi, ci} akan diperbaiki dengan menggunakan metode

gradient-decent.

2.6 AlgoritmaBackpropagasi

Obyektif dari algoritma ini : mendapatkan bentuk persamaan dan nilai

(38)

1. Dimulai dengan lapisan input, hitung output dari setiap elemen pemroses melalui lapisan output.

2. Hitung kesalahan pada lapisan output yang merupakan selisih antara data aktual dan target.

3. Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi

input elemen pemroses.

4. Propagasi balik kesalahan – kesalahan tersebut ke lapisan tersembunyi.

Transformasikan kesalahan ini pada output setiap elemen pemroses ke kesalahan yang terdapat pada masukan. Ulangi proses ini sampai lapisan

input tercapai.

5. Ubah seluruh bobot dengan menggunakan kesalahan pada sisi input elemen pemroses dan output elemen pemroses yang terhubung.

Tujuan dari perubahan bobot untuk setiap lapisan, bukan merupakan hal

yang sangat penting. Perhitungan kesalahan merupakan pengukuran bagaimana

jaringan dapat belajar dengan baik. Kesalahan pada output dari jaringan merupakan selisih antara output aktual (currentoutput) dan output target (desired

output).

Berikut ini akan dipaparkan penurunan dari teknik ‘back -

propagation’ tersebut. Misalkan dimiliki pasangan inputoutput (x p , d p) , x pU

Rn, d p V

R . Tugas kita menentukan sistem logika fuzzy dalam bentuk persaman sedemikian rupa sehingga:

 

2

2

1 p p p f x d

(39)
[image:39.612.100.512.76.692.2]

Gambar 2.11. Jaringan dari Sistem logika fuzzy

Diminimalkan bila diasumsikan bahwa M (jumlah aturan ) dapat ditentukan,maka masalahnya adalah bagaimana mendapatkan harga-harga dari parameter sistem logika fuzzy ,yaitu yl ,x1l dan1l sedemikian rupa

sehingga p

e dapat diminimalkan. Berikut ini digunakan e, f dan d untuk

menyatakan p

e , f

 

xp dan dp. Untuk melatih y  l digunakan :

 

k y

e k

y k

yl l l

   

1  (2.47)

dimana l = 1,2,…,M, k = 0,1,2,… dan  adalah suatu konstanta

pembelajaran (learning constan ). Dari gambar 2.11 maka dapat dilihat f (demikian pula e ) tergantung kepada yl hanya melalui

a,dimana fa bdan

a=

Ml1

 

yl zl ( 2.48 ) 1

y ym b a f

a b

X1

Xn

Lapis3

Lapis2

(40)

M

z

b l 1 ( l ) ( 2.49 )

dan zl =

                   2 1 1

exp l l

x

x ( 2.50 )

sehingga dengan menggunakan dalil rantai (chain rule ) maka didapat :

l

l

l y f d bz

a a f d f y

e 1

      

( 2.51 )

Subsitusikan persamaan (2.50) ke persamaan (2.51) maka akan didapatkan algoritma pembelajaran untuk yl :

l

 

l

l z b d f k y k

y 1    ( 2.52 )

dimana l = 1,2,….,M, dan k = 0,1,2,… untuk melatih x1l digunakan

 

k x e k x k x 1 1 1

1l l l

   

  ( 2.53 )

dimana i = 1,2,…..,N , l = 1,2,….., M dan k = 0,1,2,….

Dapat dilihat dari gambar bahwa f (demikian pula e ) tergantung pada x1l hanya

melalui zl ; sehingga dengan dalil rantai kita dapatkan :

 

 

 

2 1 1 1 1 1 2 k k x x z f k y b d f x z z f d f x e l l l l l l l l             (2.54)

Dengan mensubtitusikan persamaan (2.54) ke dalam persamaan (2.55) maka akan didapatkan :

 

 

 

 

2 1

1 1 1

1

1 1 2

k k x x z f k y b d f k x k x l l l l l l       

(41)

Dimana i = 1,2,….,N , l = 1,2,….,M dan k = 0,1,2,… Dengan menggunakan

metode pembelajaran yang sama maka dapat diperoleh algoritma pembelajaran untuk l

1  :

 

 

 

 

2 1 1 1 1 1 2 1 k k x x z f k y b d f k k l l l l l l   

       (2.56)

dimana i = 1,2,…,N ; l = 1,2,……,M dan k = 0,1,2,… Algoritma pembelajran

persamaan (2.52), (2.54), dan (2.56). menggunakan prosedur ‘error back propagation’. Pembelajaran dari sistem logika fuzzy diatas meliputi dua

langkah.Pertama, dengan menggunakan input xp yang tersedia hitung output

sistem logika fuzzy untuk memperoleh z l (l = 1,2,…..,M), a, b dan f. Kemudian

melatih parameter jaringan secara mundur menggunakan persamaan (2.52),(2.53), dan (2.56).

Metode pemilihan harga-harga awal parameter secara on-line merupakan hal yang sangat penting ,mengingat teknik ‘back-propagation’ memiliki

kelemahan yaitu mudahnya ia terperangkap dalam harga optimum yang lokal. Dengan pemilihan harga awal yang tepat maka kelemahan tersebut sangat mungkin untuk dihindari. Juga, proses pembelajaran akan menjadi lebih cepat.

2.7 Motor Induksi

Pada prinsipnya motor induksi tiga fasa bekerja berdasarkan induksi elektromagnet dan induksi tegangan. Putaran pada motor induksi tiga fasa ditmbulkan oleh karena adanya medan putar (fluks yang berputar) yang dihasilkan

(42)

2.7.1 Tegangan stator

Persamaan tegangan stator motor induksi tiga fasa dapat dituliskan sebagai berikut

s s s

s

s s j

dt d I R

V      

( 2.57 )

Dimana :

qs ds

s v jv

V   ( 2.58 )

qs ds

s i ji

i   ( 2.59 )

qs ds

sj

   ( 2.60 )

2.7.2 Tegangan rotor

Persamaan tegangan rotor motor induksi tiga fasa dapat dituliskan sebagai berikut

s r

r

r r r r j dt d I R

V        ( 2.61 )

Dimana :

qr dr

r v jv

V   ( 2.62 )

qr dr

r i ji

i   ( 2.63 )

qr dr

rj

   ( 2.64 )

2.7.3 Torsi elektormagnetik

Torsi Elektromagnetik (Te) merupakan fungsi dari arus stator dan arus rotor, yang dituliskan sebagai berikut :

(43)

dimana : p = Jumlah pasangan kutub

M = Induktansi gandeng (H)

idr = Arus rotor pada sumbu d (A)

iqs = Arus stator pada sumbu q (A)

iqr = Arus rotor pada sumbu q (A)

ids = Arus stator pada sumbu d (A) 2.7.4 Kecepatan angular

Kecepatan putaran rotor, dinyatakan sebagai fungsi dari torsi beban, dan torsi elektromagnetik, yang dinyatakan sebagai berikut :

l e r g

r K T T

dt d p J

 

 

 ( 2.66 )

dimana : Kg = Konstanta gesekan (kg.m2/dt)

J = Momen inersia(kg.m2)

r = Kecepatan Angular

2.7.5 Flux linkage

Flux linkage didefinisikan sebagai besarnya medan putar (fluks) pada

kumparan (baik stator maupun rotor) dengan jumlah N lilitan. Masing-masing harga flux linkage baik pada rangkaian stator dan rotor adalah :

r s s

sL IMI

 ( 2.67 )

r r r

rL IMI

(44)

dimana : s = Fluks Linkage pada kumparan stator dengan N lilitan

r = Fluks Linkage pada kumparan rotor dengan N lilitan

Ls = Induktansi diri kumparan stator (H)

Lr = Induktansi diri kumparan rotor (H)

ir = Arus rotor (A)

is = Arus stator (A)

persamaan arus stator dan arus rotor dapat dinyatakan dalam persamaan berikut

) ( 1 2 1 MA A L D i dt d r

ds   ( 2.69 )

) ( 1 2 1 MB B L D i dt d r

qs   ( 2.70 )

) (

1

2

1 L A

MA D i dt d s

ds    ( 2.71 )

) (

1

2

1 L B

MB D i dt d s

qs    ( 2.72 )

Sedangkan persamaan sudut (posisi) dan kecepatan dari putaran rotor, dinyatakan

dengan : r r dt d

  ( 2.73 )

r g l e

r T T K

J dt

d

(45)

42

3.1 Perancangan

Pada softwareArtificial Intelligent ini menggunakan dua jenis controller

yaitu controller PID dan ANFIS. Kedua jenis controller ini penggunaannya tidak

secara bersamaan. User harus memilih salah satu controller yang dikehendaki.

Jika user memilih controller PID maka user akan diberi kesempatan

mengisi kotak setpoint, Konst.Prop untuk controller P, Konst.Int untuk controller

I, Konst.Der untuk controller D. Berbeda dengan pemilihan ANFIS user hanya

mengisi kotak setpoint saja.

Hasil respon sistem akan ditampilkan bagian output, berupa data overshoot, Settling Time, Rise Time, Error, Error S S, Kp, Ki, Kd. Data ini akan

tampil untuk kedua jenis controller.

Tampilan yang akan diberikan berupa informasi dengan grafik yang

terdiri dari 3 jenis. Grafik untuk tampilan Error & Delta Error, Respon Sistem

dan Konstanta PID. Untuk kedua controller akan sama – sama memberikan

informasi tersebut.

Dan untuk tampilan grafik tersebut dapat disimpan dalam bentuk ektensi

BMP Image. Penentuan grafik yang akan disimpan dapat disesuaikan dengan

(46)

3.1.1 Perancangan Aplikasi Perangkat Lunak Artificial Intelligent

Controller

A. Diagram Alir

Start

Baca Data

Motor Induksi

Inisialisasi

Inputsetpoint

Error = setpointoutput DError = ErrorError1

Error dan DError

terkuantisasi

Neurofuzzy / PID

Sinyal kontrol Perhitungan Motor Induksi

Tampilan Grafik dan Controller

Performance

[image:46.612.100.514.123.646.2]

End

(47)

Uraian dari diagram alir diatas yaitu sebagai berikut

 Proses diawali dengan pemberian setpoint

 Pembacaan data karakteristik dari motor induksi.

 Proses Inisialisasi .

 Perhitungan motor induksi secara matematis yang hasilnya merupakan

output dari motor induksi tersebut.

 Setelah didapatkan error antara setpoint dengan output dan juga

didapatkan deltaerror, maka selanjutnya menghitung besar sinyal kontrol

dengan menggunakan Neurofuzzy PID.

Error dan delta error terkuantisasi menjadi input controller Neurofuzzy

PID untuk diproses sehingga menghasilkan nilai Kp, Ki, Kd dan setelah

di-input kedalam persamaan berikut :

) ( ) ( ) ( ) ( 1 t de T K t e T K t e Kp t m s d n i s i   

( 3.1 )

maka akan menghasilkan sinyal control yang akan di-inputkan ke dalam plant.

 Dengan perubahan kecepatan motor akan menimbulkan error dan delta error yang baru yang akan menjadi inputcontroller Neurofuzzy PID. Dari

perubahan error dan delta error tersebut menyebabkan update parameter

(48)

3.2 Pembuatan Software Simulator Artificial Intelligent

3.2.1 Algoritma ANFIS

Pertama kali neurofuzzy PID menerima input dari error dan deltaerror

sebagai input untuk diproses sehingga didapatkan nilai Kp, Ki, Kd .

 Lapisan input

Lapisan input digunakan untuk membentuk fungsi kenggotaan error dan delta error sebagai akibat dari input error dan delta error serta

meyebarkan informasi pada lapisan berikutnya untuk diproses. Penggalan

listing membership untuk error, programnya adalah sebagai berikut :

// Perhitungan KP

// layer 1 : membership Function Error if x[1] >= 1.5 then

Begin mf1[7]:=1; for s:=1 to 6 do mf1[s]:=0; End;

if ((x[1] >= -1.5) and (x[1] < 1.5)) then Begin

for s:=1 to 7 do

mf1[s]:=exp(-(sqr((x[1]-a11[s])/b11[s]))); End;

if x[1] < -1.5 then Begin

mf1[1]:=1; for s:=2 to 7 do mf1[s]:=0; End;

Untuk membershipdeltaerror, prinsipnya sama dengan penggalan listing

diatas yang nantinya akan menghasilkan suatu variable mf2[s].

 Lapisan dalam

Lapisan ini berfungsi mengolah informasi yang diberikan oleh lapis

sebelumnya, serta menyebar informasi pada lapis berikutnya untuk

(49)

for r:=1 to 7 do Begin

for s:=1 to 7 do

cz1[r,s]:=c1[r,s]*z1[r,s]; End;

 Lapisan output

Lapisan ini berfungsi untuk mengeluarkan hasil yang telah diproses pada

lapisan dalam sehingga menghasilkan nilai Kp, Ki, Kd .

g1_bukanArray:=0; for r:=1 to 7 do begin

for s:=1 to 7 do begin

g1[r,s]:=g1_bukanArray + cz1[r,s]; g1_bukanArray:=g1[r,s];

end; end;

x1:=g1_BukanArray/h1_BukanArray;

for r:=1 to 7 do Begin

for s:=1 to 7 do

cz1[r,s]:=c1[r,s]*z1[r,s]; End;

dst …..

Penggalan program diatas hanya mencakup pencarian nilai Kp saja dan

pada prinsipnya untuk mencari nilai Ki dan Kd sama seperti dalam pencarian nilai

Kp.

Normalisasi nilai Kp, Ki dan Kd

// normaslisasi dari rumus PID kpn:=((3-0.5)*kp)+0.5;

kin:=(((1e-6)-(1e-7))*ki)+1e-7; kdn:=(((8e-3)-(1e-6))*kd)+1e-6;

sig_er:=sig_er1+er;

realisasi dari rumus PID yang akan menjadi input untuk plant

// sinyal yang dikirmkan ke plant

ter:=ter_1 + kpn * er + kin * tsc *sig_er + (kdn * der) / tsc;

(50)

3.2.2 Algoritma Proportional Integral Derivative Controller

Pada controller ini saat user mengisikan data konstanta controller maka

hasil ketiga controller pada kotak output akan sama dengan yang diisikan.

Namun untuk hasil performance output akan sama prosesnya dengan

ANFIS.

3.2.3 Performansi Output

Pada tampilan data output dapat kita lihat informasi yang diberikan yaitu

berupa overshoot, settling time, rise time, error, error S S, Kp, Ki dan Kd.

Adapun hasil tersebut didapatkan adalah merupakan hasil pengolahan dari input

yang diberikan oleh user.

Untuk overshoot atau lewatan maksimum (persen) yang merupakan

harga puncak maksimum dari kurva respon tidak sama dengan satu, maka biasa

digunakan persen lewatan maksimum.

Persen lewatan maksimum = 100% )

(

) (

)

(

 

c

c

c waktupuncak

( 3.2 )

Besarnya overshoot atau persen lewatan maksimum secara langsung

menunjukkan relatif sistem.

Waktu yang diperlukan kurva respon untuk mencapai dan menetap dalam

daerah sekitar harga akhir dan ukurannya ditentukan dengan presentase mutlak

harga akhirnya (biasanya 2% atau 5%) yang merupakan suatu settling time respon

(51)

sistem kontrol. Kriteria presentase kesalahan yang digunakan ditentukan dari

sasaran disain sistem yang ditanyakan.

Pada rise time yang merupakan waktu yang diperlukan oleh respon

untuk naik dari 10% menjadi 90%, 5% menjadi 95% atau 0% menjadi 100% dari

nilai akhir yang biasa digunakan. Untuk sistem diatas rise time yang biasa

digunakan 10% menjadi 90%

C (t )

1

0 .5

0

tr

tp

ts

[image:51.612.101.515.242.588.2]

t

Gambar 3.2. Kurva respon sistem yang menunjukan overshoot (Mp), Settling time( ts ), rise time( tr )

Mp

td

T ole ra nsi ya ng diizink a n

(52)

Seperti yang telah dijelaskan diatas pada tampilan tabel output akan

memberikan beberapa jenis data untuk melengkapi informasi yang yang

dibutuhkan oleh user.

Dan penggalan program yang ada pada simulator pada tugas akhir ini

adalah sebagai berikut :

// arus torsi

It:=(lr/(p*lm*lm*Im))*ter;

// kecepatan slip

wsl:=(rr/(lr*Im))*It;

// tranformasi arus stator ke sumbu abc

ir_dq2abc(IM,It,y_kecil[7]);

is_dq2abc(y_kecil[1], y_kecil[2], y_kecil[5]);

// switching PWM Inverter

PWM_Inv;

IF PIDNeuroFuzzy1.Checked = True then Update_NFPID;

//hasil rise time

rt:=rt2-rt1;

// mencari omega_r ( respon sistem) terbesar

if looping = 1 then

omega_r_terbesar := omega_r

else

begin

if omega_r_terbesar < omega_r Then omega_r_terbesar := omega_r

end;

// output

// Perhitungan overshoot

mov := ((omega_r_terbesar-setpoint)/setpoint)*100;

// pemilihan overshoot

if mov > 0 then

lblOvershoot.Caption := ': ' + floattostr(mov) + ' %'

else

lblOvershoot.Caption := ': ' + 'Tidak Terjadi';

// harga mutlak error yang terjadi

Error := abs(er);

Untuk menampilakan data yang ada pada kolom output digunakan cara

sederhana. Dengan menuliskan langsung pada kolom yang sudah dibuat.

Perhatikan tampilan program berikut:

// output performa sistem

lblSettlingtime.Caption := ': ' + floattoStr(st) + ' dt';

(53)

lblError.Caption := ': ' + floattostr(Error)+ ' rpm';

lblErrorSS.Caption := ': ' + floattostr(pe) + ' rpm';

lblKp.Caption := ': ' + floattostr(Kpn);

lblKi.Caption := ': ' + Floattostr(Kin); // * 1000000 );

lblKd.Caption := ': ' + floattostr(Kdn); // * 100 );

lblTime.Caption := ': ' + floattostr(Waktu) + ' dt';

// waktu dalam millisecond

waktu := Looping * Ts;

// banyak iterasi

inc(looping);

(54)

51

Hasil running program simulator dilakukan dalam Tugas Akhir ini akan

dibandingkan dengan hasil running program dari penelitian yang telah dicoba

langsung menggunakan plant yang sebenarnya, yaitu motor induksi.

Sementara pada program yang akan di-running saat ini motor induksi

hanya berupa suatu tetapan dimana tidak akan ada input yang berubah – ubah dari

motor induksi.

Parameter – parameter yang digunakan pada motor induksi diprogram ini

adalah sebagai berikut :

 Parameter – parameter proses kerja motor induksi

Time sampling proses(Ts) = 0.00005 detik  Time sampling controller (Ts) = 0.001 detik  Batas ketelitian (ierr) = 0.005 pada PWM inverter

 Parameter – parameter penelitian

 Parameter untuk controller ANFIS  Setpoint : 250, 500, 1000  Parameter untuk controller PID

Setpoint : 250,500, 1000

(55)

4.1 Prosedur Pengujian

4.1.1 Langkah – langkah Penggunaan Simulator

1. Pada saat membuka file yang ada di-CD, pilih file Utama dengan

tipe Application. Lalu akan muncul window loading program.

Tunggu sebentar.

2. Tampil window utama. Pada saat ini anda akan menentukan controller apa yang dikehendaki, dengan memilih pada menu Tool

Controllerlalu pilih salah satu controller.

3. Jika user memilih controller PID maka akan diminta untuk

mengisi kolom input sebanyak 4 jenis yaitu setpoint, Konst Prop, Konst Int dan Konst Der.

4. Jika user memilih controller ANFIS maka user hanya mengisi satu

[image:55.612.100.515.98.649.2]

jenis input yaitu setpoint.

(56)

5. Isikan data input sesuai dengan kebutuhan. Lalu klik untuk

memulai proses kerja simulator. Atau klik menu lalu pilih Start. Atau cukup dengan menekan tombol Enter pada keyboard.

4.1.2 Melihat Hasil dari Respon Sistem

1. Setelah menjalankan simulator maka program akan melakukan

proses sesuai pilihan user. Hasil respon sistem dapat dilihat

melalui grafik dan pada kolom output.

2. Untuk melihat grafik silahkan klik . Semua tanda gambar

seperti ini jika di-klikakan menampilkan gambar baik yang berada

[image:56.612.104.514.77.511.2]
(57)

3. Untuk melihat hasil respon sistem berupa data nominal, cukup

melihat disisi kanan kolom input terdapat kolom output.

4. Untuk menyimpan data berupa grafik, simulator telah disediakan

fasilitas tersebut. Klik menu File pilih Save Chart. Akan

disediakan tiga jenis grafik yang diinginkan untuk disimpan.

5. Klikgrafik mana yang dipilih untuk menentukan grafik mana yang

akan disimpan, klik Save. Lalu akan muncul window Browse for Folder. Tentukan folder tempat untuk menyimpan data tersebut.

Data tersimpan dengan bentuk BMP Image.

[image:57.612.100.508.158.564.2]

Gambar 4.3. Pilihan untuk menyimpan grafik

(58)

4.2 Hasil Pengujian

Pembuatan simulator ini bertujuan untuk menirukan keadaan yang

Gambar

Gambar 2.1. Blok Diagram Controller PID
Tabel  2.1.  Efek masing – masing controller
Gambar  2.3.  Diagram blok controller I
Gambar 2.4. Definisi himpunan fuzzy A
+7

Referensi

Dokumen terkait

Berdasarkan respon kecepatan motor induksi, seperti yang ditunjukkan pada Gambar 6, dapat dilakukan analisa untuk menentukan parameter respon sistem dengan

kecepatan motor induksi yang digunakan pada kendaraan listrik menggunakan metoda Direct Torque Control berbasis Fuzzy Logic Controller.. Ada banyak metode untuk pengaturan

Dari hasil simulasi diperoleh bahwa dengan kontroler neuro fuzzy pada pengaturan kecepatan motor spindle mesin CNC, kontroler dapat mengikuti kecepatan referensi dengan beberapa

Pada penelitian yang telah dilakukan [14], mendesain kontroler neural fuzzy untuk mengatur kecepatan motor induksi, kontroler neural digunakan mengidentifikasi parameter sistem

Metode Fuzzy Logic Cross-Coupling Controller (FLCCC) dan PID Controller mampu meningkatkan kontrol posisi motor AC servo yang disebabkan oleh perbedaan beban pada tiap

Berdasarkan respon kecepatan motor induksi, seperti yang ditunjukkan pada Gambar 6, dapat dilakukan analisa untuk menentukan parameter respon sistem dengan

PENUTUP Berdasarkan hasil simulasi dan analisi yang dilakukan pada pengaturan kecepatan motor Brushlless direct current menggunakan Cuk converter berbasis Fuzzy logic controller

Riski, Studi Pengaturan Kecepatan Motor Induksi Tiga Phasa Menggunakan Variable Speed Drive Vsd Berbasis Programmable Logic Controller Plc 100.07 R8 Pengalamatan Input dan Output