analisis sensor ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya...

7
8 y = 0.950x - 0.982 0 5 10 15 20 25 0 5 10 15 20 25 Jarak (cm) Data pengukuran (cm) Grafik hubungan antara Jarak (cm) terhadap Data pengukuran (cm) dapat bekerja tetapi tidak sempurna. Oleh karena itu, agar USART bekerja dengan baik dan sempurna, maka error harus diperkecil sekaligus dihilangkan. Cara menghilangkan error tersebut digunakan frekuensi osilator sebesar 11059200 Hz (11,059200 MHz). Pada perhitungan yang sama dihasilkan error 0,00%. Beberapa nilai frekuensi osilator beserta error yang dihasilkan dapat dilihat pada Lampiran 8. Analisis Hasil Percobaan Pengujian selalu disertai dengan analisis. Analisi meliputi baik tidaknya sensor sebagai masukan, serta faktor-faktor apa saja yang memengaruhinya. Hal ini dilakukan karena dapat memengaruhi keputusan dari logika fuzzy yang telah dibuat. Selain itu, analisis dari rangkaian hardware pada setiap komponen yang rentan terhadap panas yang menyebabkan dapat mengurangi kinerja dari rangkaian komponen pengendali sistem. Lingkungan Pengembangan Sistem Spesifikasi perangkat keras dan perangkat lunak komputer yang digunakan dalam penelitian ini adalah sebagai berikut: Perangkat lunak : Microsoft Windows XP Professional, Matlab 7.7.0 R2008b, CodeVisionAVR C Compiler Version 1.25.9 Profesional, Notepad ++, AVRDude Gui. Perangkat keras : Prosesor Intel Core 2 Duo CPU 2.0 GHz, Memori 2 GB DDR3, hardrive 320 GB, Mikrokontroler ATMega16, LCD karakter 16x2. HASIL DAN PEMBAHASAN Analisis Permasalahan Analisis Sistem Fuzzy Sistem fuzzy pada gerak robot meliputi kecepatan dan sudut belok. Sistem pengendali kecepatan berfungsi mengatur kecepatan robot Di sisi lain, sistem pengendali sudut belok berfungsi untuk mengatur arah belok robot sesuai dengan kesesuaian jarak yang dideteksi oleh ketiga buah sensor. Analisis Sensor Ultrasonik Dalam perancangan dan implementasi logika fuzzy untuk robot penghindar halangan, hal pertama yang harus dilakukan adalah menentukan jarak objek terhadap sensor. Jarak ini dihasilkan dari suatu rancangan kalibrasi pada sensor. Kalibrasi dilakukan untuk menyesuaikan jarak yang diukur manual dengan keluran dari bacaan sensor. Kemudian dilakukan proses pemograman untuk mengukur jarak melalui compiler CodeVison AVR ke mikrokontroler. Perancangan kalibrasi sensor Port yang digunakan adalah Port A untuk LCD, Port C.0 untuk sensor, dan Port D.0 untuk buzzer. Objek yang digunakan adalah satu buah buku sebagai halangan. Kemudian dilakukan pengukuran pada jarak minimal sampai dengan jarak maksimal yang dapat dibaca oleh sensor. Jarak sensor ke objek diukur kembali menggunakan penggaris, sehingga hasilnya dapat langsung dibandingkan dengan hasil pengukuran sensor. Data hasil pengukuran, terdapat adanya ketidaksamaan nilai jarak sensor terhadap objek dengan jarak pada penggaris, sehingga perhitungan sensor harus dikalikan dengan persamaan gradien hasil pengukuran. Nilai gradien yang dihasilkan dari data hasil pengukuran sebesar 0.950 yang ditunjukkan pada Gambar 9. Perhitungan untuk mendapatkan nilai gradien dapat dilihat pada Lampiran 9. Gambar 9 Grafik fungsi persamaan gradien

Upload: ngonga

Post on 09-Mar-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

8

y = 0.950x - 0.982

05

10152025

0 5 10 15 20 25

Jara

k (c

m)

Data pengukuran (cm)

Grafik hubungan antara Jarak (cm) terhadap Data pengukuran (cm)

dapat bekerja tetapi tidak sempurna. Oleh karena itu, agar USART bekerja dengan baik dan sempurna, maka error harus diperkecil sekaligus dihilangkan. Cara menghilangkan error tersebut digunakan frekuensi osilator sebesar 11059200 Hz (11,059200 MHz). Pada perhitungan yang sama dihasilkan error 0,00%. Beberapa nilai frekuensi osilator beserta error yang dihasilkan dapat dilihat pada Lampiran 8.

Analisis Hasil Percobaan

Pengujian selalu disertai dengan analisis. Analisi meliputi baik tidaknya sensor sebagai masukan, serta faktor-faktor apa saja yang memengaruhinya. Hal ini dilakukan karena dapat memengaruhi keputusan dari logika fuzzy yang telah dibuat. Selain itu, analisis dari rangkaian hardware pada setiap komponen yang rentan terhadap panas yang menyebabkan dapat mengurangi kinerja dari rangkaian komponen pengendali sistem.

Lingkungan Pengembangan Sistem

Spesifikasi perangkat keras dan perangkat lunak komputer yang digunakan dalam penelitian ini adalah sebagai berikut:

Perangkat lunak : Microsoft Windows XP Professional, Matlab 7.7.0 R2008b, CodeVisionAVR C Compiler Version 1.25.9 Profesional, Notepad ++, AVRDude Gui.

Perangkat keras : Prosesor Intel Core 2 Duo CPU 2.0 GHz, Memori 2 GB DDR3, hardrive 320 GB, Mikrokontroler ATMega16, LCD karakter 16x2.

HASIL DAN PEMBAHASAN

Analisis Permasalahan

Analisis Sistem Fuzzy

Sistem fuzzy pada gerak robot meliputi kecepatan dan sudut belok. Sistem pengendali

kecepatan berfungsi mengatur kecepatan robot Di sisi lain, sistem pengendali sudut belok berfungsi untuk mengatur arah belok robot sesuai dengan kesesuaian jarak yang dideteksi oleh ketiga buah sensor.

Analisis Sensor Ultrasonik

Dalam perancangan dan implementasi logika fuzzy untuk robot penghindar halangan, hal pertama yang harus dilakukan adalah menentukan jarak objek terhadap sensor. Jarak ini dihasilkan dari suatu rancangan kalibrasi pada sensor.

Kalibrasi dilakukan untuk menyesuaikan jarak yang diukur manual dengan keluran dari bacaan sensor. Kemudian dilakukan proses pemograman untuk mengukur jarak melalui compiler CodeVison AVR ke mikrokontroler. Perancangan kalibrasi sensor Port yang digunakan adalah Port A untuk LCD, Port C.0 untuk sensor, dan Port D.0 untuk buzzer.

Objek yang digunakan adalah satu buah buku sebagai halangan. Kemudian dilakukan pengukuran pada jarak minimal sampai dengan jarak maksimal yang dapat dibaca oleh sensor. Jarak sensor ke objek diukur kembali menggunakan penggaris, sehingga hasilnya dapat langsung dibandingkan dengan hasil pengukuran sensor. Data hasil pengukuran, terdapat adanya ketidaksamaan nilai jarak sensor terhadap objek dengan jarak pada penggaris, sehingga perhitungan sensor harus dikalikan dengan persamaan gradien hasil pengukuran. Nilai gradien yang dihasilkan dari data hasil pengukuran sebesar 0.950 yang ditunjukkan pada Gambar 9. Perhitungan untuk mendapatkan nilai gradien dapat dilihat pada Lampiran 9.

Gambar 9 Grafik fungsi persamaan gradien

Page 2: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

9

Berdasarkan Gambar 9, keseluruhan data mengalami ketidaksesuaian dengan jarak sensor terhadap objek. Hal ini dikarenakan modul dari sensor sensitif terhadap suhu di sekitarnya, sehingga nilai cepat rambat suara berubah dan memengaruhi hasil pembacaan sensor.

Objek kedua yang digunakan adalah dua buah buku sebagai halangan, dan komponen Buzzer sebagai tanda peringatan. Tujuannya adalah untuk menentukan jangkauan objek dalam derajat. Jangkauan objek terhadap sensor disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta sebuah busur derajat untuk mengukur besar sudut. Kemudian dilakukan pengukuran objek pada jarak tidak lebih dari 120 cm dengan sudut dari 00 sampai dengan 900. Untuk mengetahui seberapa besar sudut elevasi sensor, Buzzer akan menyala jika objek masih terdeteksi dan sebaliknya jika tidak terdeteksi maka Buzzer akan mati. Hasil pengujian sudut elevasi dapat dilihat pada Gambar 10.

Gambar 10 Sudut elevasi sensor ultrasonik

Dari hasil pengukuran, kemampuan sudut elevasi sensor dalam mendeteksi objek sebesar 40o. Nilai ini sudah cukup mendekati dengan karakteristik dari sensor yang mampu mendeteksi objek kurang dari 450.

Analisis Perangkat Lunak

Sebelum program fuzzy ditanamkan dalam mikrokontroler, pemilihan komponen hardware sangat mempengaruhi keluaran data seperti internal memory untuk kecepatan proses. Hal ini dilakukan untuk mengurangi error yang besar. Selain itu, untuk mencapai keakuratan dan ketepatan data, proses pemograman pada kompilator CodeVision AVR selalu disertai dengan perhitungan secara manual.

Perancangan

Perancangan sistem fuzzy

1. Masukan crisp

Masukan yang berupa jarak dari sensor ultrasonik meliputi jarak dekat (Near), jarak sedang (Medium,) dan jarak jauh (Far) yang didefinisikan sebagai berikut (Zarkasih 2007):

Dekat : 0 cm < jarak_objek ≤ 6 cm Sedang : 6 cm < jarak_objek ≤ 12 cm Jauh : 12 cm < jarak_objek ≤ 18 cm

2. Fuzzifikasi

Setelah mendapatkan nilai masukan dari sensor, kemudian dilakukan proses fuzzifikasi untuk mendapatkan nilai derajat keanggotaan. Untuk itu, diperlukan fungsi keanggotaan masukan. Fungsi keanggotaan masukan dibagi menjadi tiga buah variabel, yaitu sensor kiri, tengah, dan kanan. Setiap variabel masukan terdiri atas tiga fungsi himpunan, yaitu dekat, sedang, dan jauh. Fungsi keanggotaan untuk sensor kiri, tengah dan kanan adalah sama. Ketiga fungsi keanggotaan sensor diwakili oleh sensor kiri seperti ditunjukan pada Gambar 11.

Gambar 11 Fungsi keanggotaan masukan dari

sensor kiri.

Fungsi keanggotaan untuk representasi pada Gambar 11 berdasarkan Persamaan 4 dan 5 adalah:

휇 (푥) =

1 ;푥 ≤ 612 − 푥

6 ; 6 ≤ 푥 ≤ 12

0 ;푥 ≥ 12

휇 =

⎩⎪⎨

⎪⎧

0 ;푥 ≤ 6푥 − 6

6 ; 6 ≤ 푥 ≤ 12

18 − 푥6

; 12 ≤ 푥 ≤ 18⎭⎪⎬

⎪⎫

휇 =

0 ;푥 ≤ 12푥 − 12

6 ; 12 ≤ 푥 ≤ 18

1 ; 푥 ≥ 18

Fungsi keanggotaan masukan secara lengkap dapat dilihat pada Lampiran 1.

Berikut diberikan contoh kasus. Misalkan nilai jarak terhadap objek yang dihasilkan oleh

Page 3: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

10

sensor_kiri sebesar 4 cm, sensor_tengah sebesar 12 cm, dan sensor_kanan sebesar 10 cm.

Untuk proses perhitungan fuzzy, diberikan contoh pada sensor kiri sebesar 4 cm. Nilai tersebut dimasukkan ke dalam fungsi keanggotaan fuzzy pada tiap-tiap himpunan, antara lain:

Himpunan fuzzy dekat, 휇 [4] = 1 diperoleh dari: f(4) = 1 ; 4<6

Himpunan fuzzy sedang, 휇 [4] = 0 Himpunan fuzzy jauh, 휇 [4] = 0

3. Evaluasi aturan

Aturan fuzzy pada robot penghindar halangan sebanyak 27 aturan. Aturan tersebut dapat dilihat pada Tabel 1.

Tabel 1 Aturan fuzzy.

Rule

Masukan (antecedent) Keluaran (consequent) Sensor Sensor Sensor

Kecepatan Sudut_ beok Kiri

(L) Tengah

(F) Kanan

(R) 1 Dekat Dekat Dekat Berhenti Tetap 2 Dekat Dekat Sedang Berhenti Kanan0 3 Dekat Dekat Jauh Sangat_pelan Kanan0 4 Dekat Sedang Dekat Sangat_pelan Tetap 5 Dekat Sedang Sedang Pelan Kanan1 6 Dekat Sedang Jauh Pelan Kanan1 7 Dekat Jauh Dekat Normal Tetap 8 Dekat Jauh Sedang Normal Tetap 9 Dekat Jauh Jauh Normal Tetap 10 Sedang Dekat Dekat Berhenti Kiri0 11 Sedang Dekat Sedang Berhenti Kiri0 12 Sedang Dekat Jauh Sangat_pelan Kanan0 13 Sedang Sedang Dekat Pelan Kiri1 14 Sedang Sedang Sedang Pelan Tetap 15 Sedang Sedang Jauh Pelan Kanan1 16 Sedang Jauh Dekat Normal Tetap 17 Sedang Jauh Sedang Normal Tetap 18 Sedang Jauh Jauh Normal Tetap 19 Jauh Dekat Dekat Berhenti Kiri1 20 Jauh Dekat Sedang Berhenti Kiri1 21 Jauh Dekat Jauh Berhenti Kiri1 22 Jauh Sedang Dekat Pelan Kiri1 23 Jauh Sedang Sedang Pelan Tetap 24 Jauh Sedang Jauh Pelan Kiri1 25 Jauh Jauh Dekat Normal Tetap 26 Jauh Jauh Sedang Cepat Tetap 27 Jauh Jauh Jauh Cepat Tetap

Kembali pada contoh kasus yang diberikan, berdasarkan nilai masukan (antecedent), terdapat dua aturan yang berkaitan dengan nilai masukan yaitu: aturan ke4 dan ke-5. Berikut contoh perhitungan pada aturan ke-4:

Operator yang digunakan adalah AND, berdasarkan Persamaan 4 diperoleh: 휇 = min (휇 [4], 휇 [12],

휇 [10]

= min(1;1;0,33) = 0,33

Perhitungan secara lengkap dapat dilihat pada Lampiran 7.

4. Operasi Implikasi dari masukan (antecedent) ke keluaran (consequent).

Setelah didapatkan nilai derajat kebenaran dari antecedent, kemudian dilakukan implikasi untuk mendapatkan nilai keluaran (consequent). Untuk mendapatkan nilai keluaran, terlebih dahulu ditentukan fungsi himpunan keanggotaan dari setiap fungsi keanggotaan keluaran.

Fungsi keanggotaan untuk keluaran kecepatan terdiri atas lima fungsi, yaitu: berhenti, sangat_pelan, pelan, normal, dan cepat.

Kecepatan menggunakan rentang mulai dari 0 hingga 110. Rentang ini digunakan berdasarkan persentase dari kecepatan motor. Kecepatan minimum dari putaran motor sebesar 0% dan maksimum adalah 100%. Nilai 10 merupakan tambahan nilai ketika motor berputar lebih dari kemampuan motor untuk berputar.

Fungsi keanggotaan keluaran kecepatan dapat dilihat pada Gambar 12.

Gambar 12 Fungsi keanggotaan keluaran

kecepatan

Fungsi keanggotaan untuk representasi pada Gambar 12 berdasarkan Persamaan 4 dan 5 adalah:

휇 _ =

⎩⎪⎨

⎪⎧

0 ; 푥 ≤ 0푥 − 0

15 ; 0 ≤ 푥 ≤ 15

30 − 푥15

; 15 ≤ 푥 ≤ 30⎭⎪⎬

⎪⎫

Fungsi keanggotaan keluaran untuk kecepatan secara lengkap dapat dilihat pada Lampiran 2.

Fungsi kenggotaan sudut belok terdiri dari lima fungsi, yaitu kiri0, kiri1, lurus, kanan1, dan kanan0. Fungsi keanggotaan keluaran sudut belok dapat dilihat pada Gambar 13.

Page 4: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

11

Gambar 13 Fungsi keanggotaan keluaran sudut belok

Sudut belok menggunakan rentang mulai dari -90 hingga 90. Rentang ini digunakan karena minimum dari putaran roda pada robot adalah 0 dan maksimum adalah 180 berdasarkan nilai derajat. Nilai derajat dibagi menjadi dua, rentang 0 hingga 90 diubah menjadi -90 hingga 0 dan 90 hingga 180 menjadi 0 hingga 90.

Fungsi keanggotaan untuk representasi pada Gambar 13 adalah:

휇 =

⎩⎪⎨

⎪⎧

0 ;푥 ≤ −90푥 + 90

30 ;−90 ≤ 푥 ≤ −60

−푥 − 3030

;−60 ≤ 푥 ≤ −30⎭⎪⎬

⎪⎫

Fungsi keanggotaan keluaran untuk sudut_belok secara lengkap dapat dilihat pada Lampiran 2.

Berikut diberikan contoh proses perhitungan untuk mendapatkan nilai keluaran (consequent) pada aturan ke-4 adalah sebagai berikut:

Untuk keluaran Kecepatan :

Pada saat 휇 _ [x] = 0,33, nilai x dapat ditentukan sebagai berikut:

= 0,33; x = 4,95; atau

= 0,33; x = 25,05

Dengan demikian, fungsi himpunan sangat_pelan yang baru adalah:

휇 _ =

⎩⎪⎨

⎪⎧

0 ; 푥 ≤ 0푥 − 0

15 ; 0 ≤ 푥 ≤ 4,95

0,33 ; 4,95 ≤ 푥 ≤ 25,0530 − 푥

15 ; 25,05 ≤ 푥 ≤ 30⎭

⎪⎬

⎪⎫

Untuk keluaran Sudut_belok

Pada saat 휇 [x] = 0,33, nilai x dapat ditentukan sebagai berikut:

= 0,33; x = -10,05, atau = 0,33; x = 4,95

Sehingga fungsi himpunan tetap yang baru adalah:

휇 =

⎩⎪⎨

⎪⎧

0 ; 푥 ≤ −15푥 + 15

15 ; −15 ≤ 푥 ≤ −10,05

0,33;−10,05 ≤ 푥 ≤ 4,95푥

15 ; 4,95 ≤ 푥 ≤ 15 ⎭

⎪⎬

⎪⎫

Proses perhitungan untuk mendapatkan nilai keluaran secara lengkap dapat dilihat pada Lampiran 7.

5. Defuzzifikasi

Setelah dilakukan evaluasi atas masukan dan ditetapkan basis aturannya, pengendali logika fuzzy menghasilkan keluaran untuk diberikan kepada sistem yang dikendalikan. Pengendali logika fuzzy harus mengubah variabel keluaran samar menjadi nilai-nilai tegas yang dapat digunakan untuk mengatur sistem. Proses ini disebut sebagai defuzzifikasi. Komposisi aturan menggunakan metode Mamdani, maka defuzzifikasi dilakukan dengan cara mencari nilai rata-rata.

Sebelum dilakukan defuzzifikasi, terlebih dahulu ditentukan komposisi semua keluaran yang dihasilkan dari proses implikasi dengan menggunakan metode Max.

Titik potong antara aturan ke-4 dan aturan ke-5 terjadi pada saat 휇 _ [x] = 휇 [x] = 0,33.

(x-15)/15 = 0,33; x = 19,95

Sehingga: 휇 =

⎩⎪⎪⎨

⎪⎪⎧ ; 15 ≤ 푥 ≤ 4,95

0,33 ; 4,95 ≤ 푥 ≤ 19,95 ; 19,95 ≤ 푥 ≤ 25,05

0,67 ; 25,05 ≤ 푥 ≤ 38,25 ; 38,25 ≤ 푥 ≤ 55 ⎭

⎪⎪⎬

⎪⎪⎫

Selanjutnya dihitung titik pusat dari semua komposisi semua keluaran yang didapat dengan menggunakan Persamaan 6.

Hasil defuzzifikasi untuk keluaran kecepatan:

푧 =푀1 + 푀2 + 푀3 + 푀4 + 푀5퐴1 + 퐴2 + 퐴3 + 퐴4 + 퐴5

=38,17 + 61,63 + 60,46 + 279,91 + 214,78

0,82 + 4,95 + 0,87 + 8,84 + 5,61

=654,9521,12

= 31,01

Proses perhitungan defuzifikasi secara lengkap dapat dilihat pada Lampiran 7.

Page 5: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

12

Perancangan Program Simulasi

Tampilan program simulasi logika fuzzy dapat dilihat pada Gambar 14.

Gambar 14 Tampilan simulasi sistem fuzzy

Pada tampilan simulasi, terdapat panel input dan output serta dua tombol. Pada panel input, pengguna memasukkan nilai-nilai numerik untuk jarak sensor kiri, tengah, dan kanan. Panel output berfungsi untuk menampilkan hasil dari proses fuzzy. Tombol Fuzzy Mamdani berfungsi untuk memproses data dengan metode Mamdani, dan tombol reset berfungsi untuk membersihkan data dari semua panel input dan output.

Perancangan hardware

Perancangan hardware pada sistem fuzzy dapat dibagi menjadi tiga blok, yaitu Blok I sebagai rangkaian input, Blok II sebagai rangkaian pengendali sistem, dan Blok III sebagai rangkaian output. Bentuk fisik dari rangkaian sistem fuzzy robot yang telah selesai dibangun ditunjukkan oleh Gambar 15.

Gambar 15 Bentuk fisik perancangan

hardware

Blok I terdiri atas tiga buah sensor ultrasonik, yang digunakan untuk mendeteksi objek pada jarak 2 cm sampai dengan 20 cm. Port yang digunakan adalah Port C.0 untuk sensor kiri (L), Port C.1 untuk sensor tengah (F), dan Port C.2 untuk sensor kanan (R).

Blok II terdapat komponen Mikrokontroler ATMega16 yang berfungsi sebagai pengolah keseluruhan data input analog pada sensor ultrasonik untuk mendapatkan nilai jarak objek terhadap sensor. Data yang diperoleh sebagai masukan fuzzy kemudian diolah oleh mikrokontroler, sehingga dihasilkan keluran fuzzy. Terdapat beberapa rangkaian pada Blok II, antara lain rangkaian power supply, pengendali sistem, dan buzzer (digunakan pada analisis sensor).

Blok III adalah rangkaian Driver Motor L298, yang berfungsi pengendali motor DC untuk kecepatan robot (motor belakang) dan motor servo untuk derajat belok (motor depan). Nilai yang dikeluarkan bergantung pada hasil fuzzifikasi. Penelitian ini dibatasi sampai dengan tampilan pada LCD karakter. Port yang digunakan Port A untuk LCD. LCD 16x2, artinya terdapat 16 kolom dan 2 baris ruang karakter. Ruang karakter dibagi menjadi dua bagian, yaitu:

1. Baris ke-1 untuk hasil pembacaan sensor (masukan fuzzy)

2. Baris ke-2 untuk keluran fuzzy (keluaran fuzzy) dan waktu proses fuzzy

Implementasi

Pada tahap ini dilakukan pemrograman sistem fuzzy ke dalam mikrokontroler ATMega16 dengan kompilator CodeVision AVR dalam bahasa pemrograman C. Alur pemrograman ini terdiri atas desain program C, proses compile, download program, dan tes. Alur dari pemograman dapat dilihat pada Gambar 16.

Gambar 16 Alur pemrogramam pada mikrokontroler

Pada kompilator CodeVision AVR perlu dilakukan konfigurasi awal pemrograman. Seperti penentuan chip sesuai kebutuhan sistem dan port-port berdasarkan fungsinya, sebagai input atau output.

Setelah dilakukan konfigurasi, kemudian program ditulis menggunakan bahasa C, setelah

I

II III

Page 6: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

13

itu di-download pada mikrokontroler setelah dilakukan proses compile untuk mengetahui apakah ada error atau tidak. Jika tidak ada error maka program siap ditanamkan pada mikrokontroler. Program yang di-download pada mikrokontroler berupa file dengan format .hex, file ini disimpan di memori flash mikrokontroler ATMega16.

Pengujian

Pengujian dilakukan dengan memasukkan data jarak pada setiap sensor. Kemudian dilakukan pengulangan dengan kombinasi data yang berbeda. Sebagai contoh dilakukan pengujian sebanyak 9 kali. Pemilihan data dilihat pada jarak dekat, sedang, dan jauh terhadap objek. Hasil pengujian dapat dilihat pada Tabel 2.

Tabel 2 Contoh kasus pada pengujian sistem

No Input Output Ket. SenKi SenTeng SenKa Kec. Drj 1 6 cm 6 cm 6 cm 0 0 OK 2 6 cm 12 cm 6 cm 15 0 OK 3 6 cm 18 cm 6 cm 56.7 0 OK 4 6 cm 6 cm 18 cm 0 -60 OK 5 6 cm 12 cm 18 cm 33.3 30 OK 6 6 cm 18 cm 18 cm 56.7 0 OK 7 12 cm 6 cm 6 cm 0 -60 OK 8 12 cm 12 cm 6 cm 33.3 30 OK 9 12 cm 18 cm 6 cm 56.7 0 OK

Pada pengujian ini yang diutamakan adalah kesesuain akhir keputusan fuzzy yang akan diberlakukan pada perancangan robot dengan human expert. Berdasarkan kasus pengujian pada Tabel 2, untuk semua kasus telah berhasil didapatkan keputusan yang sesuai dengan human expert. Seperti pada kasus 1, human expert mengatakan jika ketiga sensor jaraknya adalah dekat, maka robot akan berhenti atau berkecepatan 0 dan diam pada posisinya dengan sudut belok tetap. Kasus lain yaitu kasus 9, robot akan bergerak cepat dan tetap pada posisinya. Hal ini dikarenakan robot mendeteksi penghalang yang berada di depannya adalah jauh dan lebih diprioritaskan jarak penghalang dari depan dibandingkan pada penghalang samping kiri atau kanan.

Perancangan Percobaan

Perancangan percobaan tidak jauh berbeda dengan proses perancangan. Perbedaannya terletak pada pengujian sistem. Proses perancangan dilakukan pada pengujian sistem fuzzy, sedangkan perancangan percobaan dilakukan perbandingan pada data hasil keluran sistem fuzzy dengan embedded system mikrokontroler. Rancangan fuzzy untuk

embedded system diperoleh dari data hasil pengujian sistem fuzzy Matlab dari semua kemungkinan kasus percobaan yang diberikan. Bentuk perancangan percobaan ditunjukkan pada Gambar 17.

Gambar 17 Bentuk perancangan percobaan

Percobaan

Pada tahapan ini dilakukan percobaan sebanyak 27 kali untuk mendapatkan akurasi dari error dan waktu proses fuzzy pada keluaran kedua sistem. Percobaan dilakukan pada data yang mewakili setiap aturan fuzzy. Hal ini bertujuan untuk mengetahui kesesuaian keluaran pada sistem fuzzy Matlab dengan embedded system. Apabila terdapat perbedaan yang cukup besar, maka dilakukan perbaikan pada pengelompokan data pada perancangan percobaan. Hasil percobaan dapat dilihat pada Gambar 18 dan 19.

Gambar 18 Grafik akurasi kecepatan dari error

hasil percobaan

Page 7: Analisis Sensor Ultrasonik - repository.ipb.ac.id · disebut juga sudut elevasi sensor, besarnya adalah 450. Sensor yang digunakan sebanyak satu buah dan digunakan seutas tali serta

14

0

0.1

0.2

0.3

0.4

0.5

0.6

1 3 5 7 9 11 13 15 17 19 21 23 25 27

wak

tu (m

s)

Rule ke-

Grafik Rata-rata waktu proses fuzzy pada embedded system

Gambar 19 Grafik akurasi sudut belok dari

error hasil percobaan

Percobaan selanjutnya adalah menghitung waktu proses fuzzy pada embedded system. Percobaan dilakukan sebanyak tiga kali pengulangan dengan kombinasi jarak yang berbeda dan mewakili setiap aturan sebanyak 27. Waktu proses fuzzy dihitung pada saat proses fuzzy dalam mikrokontroler. Hasil dari perhitungan waktu proses dapat dilihat pada Gambar 20.

Analisis Hasil Percobaan

Pada percobaan ini yang diutamakan adalah kesesuaian akhir keputusan fuzzy yang diberlakukan pada perancangan robot berdasarkan tingkat akurasi sistem. Berdasarkan kasus pengujian pada Gambar 18 dan 19, rata-rata error untuk kecepatan sebesar 0,44% dan sudut belok sebesar 0,22%, sehingga memiliki tingkat akurasi yang besar hampir pada setiap kasusnya. Contoh pada kasus ketiga pada Gambar 18, error yang dihasilkan cukup besar dibandingkan dengan kasus-kasus yang lain. Hal ini dikarenakan pada proses perhitungan

fuzzy pada masing-masing sistem terdapat perbedaan seperti proses pembulatan angka. Pembulatan untuk kecepatan dilakukan hanya di embedded system karena kecepatan motor pada robot hanya mendefinisikan angka dengan rentang 0-255. Selain itu, keterbatasan memori pada mikrokontroler menyebabkan proses perhitungan fuzzy dibatasi dengan dua angka desimal. Pembulatan untuk sudut belok dilakukan pada hasil dari kedua sistem, yakni Matlab dan embedded system. Hasil dari pembulatan sudut belok menghasilkan satu kesalahan yaitu pada kasus ke-23. Hal ini dikarenakan pada aturan ke-23 diprioritaskan sudut belok adalah tetap sehingga terjadi ketidaksamaan keputusan fuzzy pada kedua sistem.

Berdasarkan pada Gambar 20, rata-rata waktu proses fuzzy pada setiap aturan bervariasi. Waktu proses pada aturan ke-1 adalah cepat. Sesuai dengan aturan ke-1, yaitu ketiga jarak sensor adalah dekat, maka waktu untuk mendapatkan nilai jarak bisa dengan cepat dibaca oleh ketiga sensor, sehingga proses fuzzy tidak terlalu lama untuk menerima masukan jarak dari sensor. Begitu juga pada aturan ke-27, yaitu jarak ketiga sensor adalah jauh, sehingga waktu untuk mendapatkan jaraknya pun lebih lama dibandingkan dengan aturan ke-1. Namun demikian, terdapat aturan ke-10 dan aturan ke-19 dengan waktu proses fuzzy sama dengan aturan ke-1. Hal ini dikarenakan pada aturan ke-10 dan 19 terdapat komponen jarak yang bernilai dekat, sehingga proses fuzzy nya pun bisa cepat. Untuk waktu proses fuzzy pada setiap aturan dengan tiga pengulangan adalah sama. Hal ini menunjukkan bahwa mikrokontroler merupakan hardware yang bersifat dedicated dan melakukan looping yang sama, sehingga dengan kondisi apapun hasilnya akan bersifat sama sejauh tidak ada kesalahan pada aliran arus listrik.

KESIMPULAN DAN SARAN

Kesimpulan

Berdasarkan hasil penelitian, dapat disimpulkan bahwa penelitian berhasil mengimplementasikan logika fuzzy dalam rancang bangun dengan menggunakan Pengendali Sistem mikrokontroler ATMega16. Beberapa hal yang dapat disimpulkan antara lain:

1. Pada pengukuran sensor ultrasonik, jarak terdekat yang dapat diukur 2 cm dan terjauh

Gambar 20 Rata-rata waktu proses fuzzy pada embedded sysem