Anda di halaman 1dari 32

Laporan Fuzzy Inference System

Penentuan kecepatan kompresor pada system pendingin ruangan (Air Conditioner) berdasarkan metode Sugeno

OLEH : Taufik A. Samad (1006081033) Daud Meko (1006081036) Monikey Tefnai (1006082008)

Universitas Nusa Cendana NTT Fakultas Sains dan Teknik Jurusan Ilmu Komputer 2012

BAB I PENDAHULUAN
1.1 Latar Belakang

Setelah selalu dipandang sebagai teknologi yang kontroversial selama dua dekade, logika fuzzy akhirnya telah diterima sebagai teknologi yang berkembang sejak akhir 1980-an. Hal ini sebagian besar disebabkan oleh kesuksesan berbagai macam aplikasi mulai dari produk konsumen, kemudian aplikasi untuk pengendalian proses industri, dan untuk aplikasi otomotif. Logika fuzzy lebih dekat dalam semangat manusia untuk berpikir dan bahasa alami daripada sistem logis yang konvensional. Teori kontrol klasik didasarkan pada model matematika untuk penggambaran fisik yang berada di bawah pertimbangan. Inti dari kontrol fuzzy adalah untuk membangun model ahli manusia yang mampu mengendalikan tanpa berpikir dari segi model matematis .Sistem Fuzzy sangat berguna dalam dua konteks umum: (1) dalam situasi yang melibatkan sistem yang sangat kompleks yang perilaku tidak dipahami dengan baik, dan (2) dalam situasi dmana solusi berupa perkiraan, tetapi cepat dan solusi dijamin kebenarannya.

Logika fuzzy diajukan awal tahun 1965 oleh LA Zadeh. Salah satu aplikasi utama logika fuzzy adalah subway system di Sendai kota Jepang. Hasil yang diterapkan menunjukkan bahwa kontrol logika fuzzy lebih unggul daripada kontrol tradisional. Tapi mencari tahu set aturan yang benar dan menentukan esensi dan berbagai variabel fuzzy yang memakan waktu cukup lama. Seperti dalam sistem kereta bawah tanah Sendai, untuk mendapatkan set masukan yang benar, para insinyur menghabiskan beberapa bulan. Demikian pula, dalam system lapangan AC sentral saat ini, masih terdapat jalan yang panjang untuk menemukan dan mengetahui model ahli kontrol fuzzy yang matang dan harus membutuhkan banyak pengalaman proyek. AC tidak hanya nama produk, namun dengan menggunakan ide-ide dan metode pendingin udara untuk menciptakan kenyamanan dan kealamian lingkungan hidup sementara pada saat yang sama mengurangi kerusakan akibat alam dan mencapai keselarasan arti sebenarnya dari manusia dan alam sampai batas maksimum . Saat ini, sistem pendingin udara biasanya ditemukan di rumah dan kantor, dan hampir semua ruangan tertutup.

1.2 Perumusan Masalah

Berdasarkan latar belakang di atas maka rumusan masalah yang akan dibahas pada laporan ini adalah :

1. System yang diteliti adalah system pendingin ruangan (Air Conditioner) 2. Faktor-faktor yang mempengaruhi penentuan kecepatan adalah suhu dan kelembaban ruangan 3. Penalaran fuzzy menggunakan metode sugeno 4. Pembentukan dan penentuan komposisi rule atau aturan

1.3 Tujuan dan Manfaat Penulisan

1.3.1

Tujuan Penulisan

Kegunaan dari penulisan ini adalah agar memiliki hasil yang nanti dapat dimanfaatkan oleh suatu lembaga, departemen, atau siapapun baik sebagai pengetahuan maupun sebagai dasar untuk perancangan system AC berdasarkan metode Sugeno

Begitupun dengan penulisan ini, tentunya memiliki tujuan untuk memenuhi salah satu tugas yang diberikan pada mata kuliah logika fuzzy

1.3.2

Manfaat Penulisan

Sebagai masukan atau informasi bagi perusahaan dalam perancangan system smart AC Tambahan ilmu pengetahuan dalam penerapan konsep logika fuzzy terhadap bidang bidang baru yang belum di pelajari

BAB II LANDASAN TEORI

2.1 Logika Fuzzy

Fuzzy mungkin merupakan suatu kata yang agak asing bagi kita. Dalam terjemahan menurut kosa katanya fuzzy berari kabur. Logika berarti penalaran. Jika digabungkan menjadi satu kalimat berarti Penalaran Yang Kabur. Benarkah demikian? Mengapa penalaran yang kabur justru perlu untuk dipelajari? Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam suatu ruang output. Ada beberapa cara atau metode yang mampu bekerja di kotak hitam tersebut, seperti sistem fuzzy, jaringan syaraf tiruan, sistem linier, sistem pakar, persamaan diferensial, dan sebagainya. Namun menurut Prof. Lotfi A. Zadeh seorang profesor dari Universitas California, Berkeley, yang adalah penemu Logika fuzzy pada tahun 1960-an menyatakan bahwa setiap kasus dapat saja diselesaikan tanpa menggunakan logika fuzzy, tetapi pemanfaatan logika fuzzy akan mempercepat dan mempermudah hasil dalam setiap kasus. Pada himpunan klasik (crisp), keanggotaan elemen (X) dalam suatu himpunan (A), sering dinotasikan dengan, hanya ada 2 nilai keanggotaan , yaitu untuk x menjadi anggota A dan untuk x bukan anggota dari A (Chak, 1998).

Jika X adalah kumpulan objek yang dinotasikan dengan x, maka himpunan fuzzy dalam X adalah himpunan pasangan berurutan : {( Himpunan Fuzzy ( )) | Semesta pembicaraan

Membership function

2.2 Fungsi Keanggotaan

Fungsi keanggotaan ( membership function ) adalah suatu kurva yang menunjukan pemetaan titik titik input data ke dalam nilai keanggotaanya ( derajat keanggotaan ) yang memiliki interval antara 0 sampai 1

Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi

Ada beberapa fungsi yang bisa digunakan, antara lain :

Representasi linear, representasi kurva segitiga, representasi kurva trapesium, representasi kurva bentuk bahu, representasi kurva-s, representasi kurva bentuk lonceng.

2.3 Fuzzy Inference Sistem (FIS) Metode Sugeno

Penalaran dengan metode SUGENO hampir sama dengan penalaran MAMDANI, hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. Pada metode penalaran atau rule evaluatian Takegi Sugeno, output sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear. Secara umum bentuk model fuzzy Sugeno adalah:

IF (x1 is A1) and (x2 is A2) and (x3 is A3) .... and (xN is AN) THEN z=k (4)

dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu konstanta (tegas) sebagai konsekuen.

BAB III PEMBAHASAN

2.4 Pengumpulan Data

Data yang digunakan dalam proses penelitian adalah data bilangan yang diinputkan. Yang menjadi inputan adalah suhu ( berkisar dari 0C sampai 45C) dan kelembaban (berkisar dari 0% sampai 100%), dan yang akan menjadi keluarannya adalah berupa kecepatan kompresor (off, low, medium, fast).

2.5 Identifikasi Data

Identifikasi data dilakukan untuk menetukan variable dan semesta pembicaraan yang diperlukan dalam melakukan perhitungan dan analisis masalah.

2.6 Pengolahan Data

Tabel variable dan semesta pembicaraan

Fungsi

Variable

Semesta pembicaraan

Keterangan

Input

Suhu

[0-45]

tingkat ketinggian suhu dalam ruangan (C)

Kelembaban

[0-100]

Tingkat ketinggian kelembaban dalam ruangan (%)

Output

Kecepatan kompresor

[0-100]

Tingkat kecepatan kompresor AC (%)

Tabel Himpunan Fuzzy Fungsi Variable fuzzy Himpunan fuzzy Semesta pembicaraan Input Suhu Very low Low High Very high Kelembaban Dry Comfortable Humid Sticky Output Kecepatan kompresor Off Low Medium fast [0-100] [0-100] [0-45] [0-15] [10-30] [25-35] [30-45] [0-30] [20-50] [40-70] [60-100] [0-30] [30-60] [50-80] [70-100] domain

2.7 Fungsi keanggotaan

Input Variabel Suhu

Input Variabel Kelembaban

Output Variabel Kecepatan Kompressor

2.8 Pembentukan Aturan Logika Fuzzy

Berdasarkan data yang ada, maka dapat dibentuk 16 aturan : Rules Suhu Kelembaban Kecepatan kompresor 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Very low Very low Very low Very low Low Low Low Low High High High High Very high Very high Very high Very high Dry Comfortable Humid Sticky Dry Comfortable Humid sticky Dry Comfortable Humid Sticky Dry Comfortable Humid sticky Off Off Off Low Off Off Low Medium Low Medium Fast Fast Medium Fast Fast Fast

Juga ditetapkan table untuk kecepatan kompressor: Kecepatan Kompresor Off Low Medium Fast 0 0.3333 0.6667 1 Nilai Konstan

BAB IV KESIMPULAN DAN SARAN

3.1 Kesimpulan

1. Fuzzy Inference System (FIS) dengan metode Sugeno yang telah dibangun dapat digunakan untuk membuat system smart AC 2. Untuk mengetahui pola system pada AC ini, dapat dilakukan pengolahan data dengan menggunakan aplikasi yang telah dibuat

3.2 Saran

1. Bagi para peneliti lain yang tertarik pada permasalahan yang sama diharapkan untuk dapat meneliti lebih lanjut faktor-faktor yang mempengaruhi perubahan kecepatan AC dengan metode yang berbeda, agar penelitian penelitian yang akan dating memiliki ruang lingkup yang lebih luas. 2. Untuk memperbaiki akurasi perhitungan, dapat dilakukan dengan cara mengubah aturan aturan dan pendefinisian himpunan fuzzy.

DAFTAR PUSTAKA

[1] [2]

http://www.ijsce.org Sri Kusumadewi dan Hari Purnomo, Aplikasi Logika Fuzzy untuk pendukung keputusan

LAMPIRAN
Screen Shot Program :

Source Code Program

Public dbs_input As Database Public rst_input As Recordset Dim off, loww, medium, fast As Variant Dim X, range, verylow, veryhigh, loow, hiigh As Variant Dim Y, dryy, comfortablee, humidd, stickyy As Variant Dim apred(0 To 15), z(0 To 15), z_total As Variant

Sub very_low() up = 1 down = 0 range = (15 - X) / (15 - 0)

If X <= 0 Then verylow = up Else If X >= 15 Then verylow = down Else If X >= 0 And X <= 15 Then verylow = range

End If End If End If

range = 0 End Sub

Sub low() up = 1 down = 0

If X >= 10 And X <= 20 Then range = (X - 10) / (20 - 10) Else If X >= 20 And X <= 30 Then range = (30 - X) / (30 - 20) End If End If

If X <= 10 Or X >= 30 Then loow = down Else

loow = range End If

range = 0 End Sub

Sub high() up = 1 down = 0

If X >= 25 And X <= 30 Then range = (X - 25) / (30 - 25) Else If X >= 30 And X <= 35 Then range = (35 - X) / (35 - 30) End If End If

If X <= 25 Or X >= 35 Then hiigh = down Else hiigh = range

End If

range = 0 End Sub

Sub very_high() up = 1 down = 0 range = (X - 30) / (45 - 30)

If X <= 30 Then veryhigh = down Else If X >= 45 Then veryhigh = up Else If X >= 30 And X <= 45 Then veryhigh = range End If End If End If

range = 0 End Sub

Sub dry() up = 1 down = 0 range = (30 - Y) / (30 - 0)

If Y <= 0 Then dryy = up Else If Y >= 30 Then dryy = down Else If Y >= 0 And Y <= 30 Then dryy = range End If End If End If

range = 0 End Sub

Sub comfortable() up = 1 down = 0

If Y >= 20 And Y <= 35 Then range = (Y - 20) / (35 - 20) Else If Y >= 35 And Y <= 50 Then range = (50 - Y) / (50 - 35) End If End If

If Y <= 20 Or Y >= 50 Then comfortablee = down Else comfortablee = range End If

range = 0 End Sub

Sub humid() up = 1 down = 0

If Y >= 40 And Y <= 55 Then range = (Y - 40) / (55 - 40) Else If Y >= 55 And Y <= 70 Then range = (70 - Y) / (70 - 55) End If End If

If Y <= 40 Or Y >= 70 Then humidd = down Else humidd = range End If

range = 0 End Sub

Sub sticky()

up = 1 down = 0 range = (Y - 60) / (100 - 60)

If Y <= 60 Then stickyy = down Else If Y >= 100 Then stickyy = up Else If Y >= 60 And Y <= 100 Then stickyy = range End If End If End If

range = 0 End Sub

Private Function min(p As Variant, q As Variant) As Variant If p < q Then min = p

Else min = q End If End Function

Sub penguji() Dim a, b As Variant

a=0 b=0 i=0

apred(0) = min(verylow, dryy): z(0) = off apred(1) = min(verylow, comfortablee): z(1) = off apred(2) = min(verylow, humidd): z(2) = off apred(3) = min(verylow, stickyy): z(3) = loww

apred(4) = min(loow, dryy): z(4) = off apred(5) = min(loow, comfortablee): z(5) = off apred(6) = min(loow, humidd): z(6) = loww apred(7) = min(loow, stickyy): z(7) = medium

apred(8) = min(hiigh, dryy): z(8) = loww apred(9) = min(hiigh, comfortablee): z(9) = medium apred(10) = min(hiigh, humidd): z(10) = fast apred(11) = min(hiigh, stickyy): z(11) = fast

apred(12) = min(veryhigh, dryy): z(12) = medium apred(13) = min(veryhigh, comfortablee): z(13) = fast apred(14) = min(veryhigh, humidd): z(14) = fast apred(15) = min(veryhigh, stickyy): z(15) = fast

Do While i < 16 a = a + (apred(i) * z(i)) b = b + apred(i) i=i+1 Loop

z_total = a / b

End Sub

Sub kosong() txt_x.Text = "": txt_y.Text = ""

lbl_vl.Caption = "": lbl_l.Caption = "": lbl_h.Caption = "": lbl_vh.Caption = "" lbl_d.Caption = "": lbl_c.Caption = "": lbl_hd.Caption = "": lbl_s.Caption = "" lbl_indikator.Caption = "NONE": lbl_indikator.BackColor = vbHighlight: lbl_indikator.ForeColor = vbWhite txt_summ = "Kesimpulan : ": lbl_nilaiz.Caption = "" End Sub

Private Sub cmd_info_Click() MsgBox "Aplikasi ini dibuat untuk memenuhi tugas yang telah diberikan, dikerjakan oleh : " & vbNewLine & _ vbNewLine & _ "- Taufik A. Ali Samad (1006081033)" & vbNewLine & _ "- Daud A. Meko "- Monikey Tefnai (1006081036)" & vbNewLine & _ (1006082008)" & vbNewLine

End Sub

Private Sub cmd_proses_Click() penguji lbl_nilaiz.Caption = Round(z_total, 4)

If z_total <= 0 Then

lbl_indikator.Caption = "OFF" lbl_indikator.BackColor = vbRed lbl_indikator.ForeColor = vbWhite Else If z_total >= 0 And z_total <= 0.3333 Then lbl_indikator.Caption = "LOW" lbl_indikator.BackColor = vbYellow lbl_indikator.ForeColor = vbGreen Else If z_total >= 0.3333 And z_total <= 0.6667 Then lbl_indikator.Caption = "MEDIUM" lbl_indikator.BackColor = vbGreen lbl_indikator.ForeColor = vbWhite Else If z_total >= 0.6667 And z_total <= 1 Then lbl_indikator.Caption = "FAST" lbl_indikator.BackColor = vbBlue lbl_indikator.ForeColor = vbWhite End If

End If End If

End If txt_summ.Text = "Kesimpulan : " & vbNewLine & "Jadi nilai Z untuk set kecepatan kompressor adalah senilai = " & lbl_nilaiz.Caption End Sub

Private Sub cmd_reset_Click() kosong cek End Sub

Sub cek() If Trim(txt_x.Text) = "" And Trim(txt_y.Text) = "" Then cmd_proses.Enabled = False Else cmd_proses.Enabled = True

End If End Sub

Private Sub cmd_show_Click() On Error GoTo ErrorHandler records

Exit Sub

ErrorHandler: MsgBox "ERROR !!!!" & vbNewLine & vbNewLine & "Ada komponen yang hilang dari komputer anda atau komputer anda belum terinstal beberapa komponen Visual Basic 6 untuk menampilkan data repport", vbCritical End Sub

Private Sub cmd_simpan_Click() If Trim(lbl_nilaiz.Caption) = "" Then MsgBox "Mohon proses data untuk diuji terlebih dulu!", vbCritical + vbOKOnly txt_x.SetFocus Else

Set rst_input = dbs_input.OpenRecordset("select * from record") With rst_input

.AddNew .Fields(0) = X .Fields(1) = Y .Fields(2) = verylow .Fields(3) = loow

.Fields(4) = hiigh .Fields(5) = veryhigh .Fields(6) = dryy .Fields(7) = comfortablee .Fields(8) = humidd .Fields(9) = stickyy .Fields(10) = z_total .Update

MsgBox "Data berhasil di input ke dalam database", vbInformation + vbOKOnly kosong cek End With

End If

End Sub

Private Sub Form_Load() Set dbs_input = OpenDatabase(App.Path & "\db.mdb") cek off = 0

loww = 0.3333 medium = 0.6667 fast = 1 End Sub

Private Sub txt_x_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then proses_suhu End If End Sub

Sub proses_suhu() If Trim(txt_x) = "" Then MsgBox "input suhu tidak boleh kosong !", vbCritical + vbOKOnly txt_x.SetFocus Else range = 0 X = Val(txt_x.Text)

very_low low high

very_high

lbl_vl.Caption = Round(verylow, 4) lbl_l.Caption = Round(loow, 4) lbl_h.Caption = Round(hiigh, 4) lbl_vh.Caption = Round(veryhigh, 4) txt_y.SetFocus

End If End Sub

Private Sub txt_x_LostFocus() proses_suhu End Sub

Private Sub txt_y_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then proses_lembab End If End Sub

Sub proses_lembab() If Trim(txt_y) = "" Then MsgBox "input kelembaban tidak boleh kosong !", vbCritical + vbOKOnly txt_y.SetFocus Else range = 0 Y = Val(txt_y.Text)

dry comfortable humid sticky

lbl_d.Caption = Round(dryy, 4) lbl_c.Caption = Round(comfortablee, 4) lbl_hd.Caption = Round(humidd, 4) lbl_s.Caption = Round(stickyy, 4) cek cmd_proses.SetFocus End If End Sub

Sub records() Dim css As New ADODB.Recordset Dim con As ADODB.Connection

Set con = New ADODB.Connection Set css = New ADODB.Recordset con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4. 0;Data Source = " & App.Path & "\db.mdb" con.Open css.CursorLocation = adUseClient css.Open ("select * from record order by suhu"), con, adOpenKeyset, adLockOptimistic Set DataReport1.DataSource = css DataReport1.Refresh DataReport1.Show End Sub

Private Sub txt_y_LostFocus() proses_lembab End Sub

Anda mungkin juga menyukai