• Tidak ada hasil yang ditemukan

TA : Analisa Perbandingan Metode Fuzzy Logic Control dan Metode Virtual Force Field (VFF) Untuk Dynamic Obstacle Avoidance.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Analisa Perbandingan Metode Fuzzy Logic Control dan Metode Virtual Force Field (VFF) Untuk Dynamic Obstacle Avoidance."

Copied!
110
0
0

Teks penuh

(1)

i

ANALISA PERBANDINGAN METODE FUZZY LOGIC CONTROL DAN METODE VIRTUAL FORCE FIELD (VFF) UNTUK DYNAMIC

OBSTACLE AVOIDANCE

TUGAS AKHIR

Nama : Shochibah Yatimatul Asmak

Nim : 11.41020.0039

Program : S1 (Strata Satu)

Fakultas : Teknologi dan Informatika Jurusan : Sistem Komputer

INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA

(2)

x DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN SYARAT ... ii

MOTTO ... iii

HALAMAN PERSEMBAHAN ... iv

HALAMAN PENGESAHAN ... v

HALAMAN PERNYATAAN ... vi

ABSTRAK ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 3

1.4 Tujuan ... 3

1.5Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Visual Basic.Net ... 6

(3)

xi

2.1.2 Tipe Data ... 7

2.1.3 Operator Matematika ... 8

2.1.4 Koordinat Form ... 9

2.2 Grafis ... 9

2.2.1 GDI+ ... 9

2.2.2 Koordinat Tampilan Layar ... 10

2.2.3 Gambar Grafis Vektor 2 Dimensi ... 11

2.3 Penampilan Gambar ... 11

2.4 Posisi Awal Robot ... 12

2.5 Kesalahan Arah ... 13

2.6 Obstacle Avoidance ... 15

2.6.1 Metode Analisa Ujung Tepi Object ... 15

2.6.2 Kepastian Gerak Terhadap Obstacle ... 16

2.7 Fuzzy Logic Control ... 17

2.7.1 Himpunan Fuzzy ... 19

2.7.2 Fungsi Keanggotaan ... 19

2.7.3 Operator Dasar ... 19

2.7.4 Penalaran Monoton ... 20

2.7.5 Fungsi Implikasi ... 21

2.7.6 Metode Sugeno ... 21

2.8 Metode Virtual Force Field ... 22

BAB III METODE PENELITIAN ... 25

(4)

xii

3.1.1 Alat Penelitian ... 27

3.1.2 Bahan Penelitian ... 28

3.2.Tahap Penelitian ... 28

3.2.1 Studi Literatur ... 28

3.2.2 Perancangan Perangkat Lunak ... 29

BAB IV PENGUJIAN SISTEM ... 57

4.1.Pengujian Perangkat Lunak ... 57

4.1.1. Pengujian Target Robot ... 57

4.1.2. Pengujian Derajat Sensor ... 60

4.1.3. Pengujian Pergerakan Kemudi ... 63

4.1.4. Pengujian Output Metode Fuzzy Logic Controller ... 65

4.1.5. Pengujian Output Metode Virtual Force Field (VFF) ... 70

4.2.Pengujian Keseluruhan Sistem ... 75

4.2.1 Gerak Robot Terhadap Koordinat Target Menggunakan Metode Fuzzy Logic Controller ... 76

4.2.2 Gerak Robot Terhadap Koordinat Target Menggunakan Metode Virtual Force Field (VFF) ... 85

4.3 Analisa Perbandingan Keseluruhan Sistem Menggunakan Metode Fuzzy Logic Controller (Fuzzy) dan Metode Virtual Force Field (VFF) ... 95

4.3.1 Pengujian Perbandingan Waktu Tempuh Robot ... 95

4.3.2 Pengujian Perbandingan Jarak Tempuh Robot ... 98

(5)

xiii

5.1.Kesimpulan ... 101

5.2.Saran ... 102

DAFTAR PUSTAKA ... 104

LAMPIRAN ... 106

(6)

1

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

Pada era global ini teknologi telah berkembang pesat bahkan dalam segala bidang. Teknologi sering dimanfaatkan guna meringankan pekerjaan manusia, mengatasi kelalaian manusia serta mengerjakan pekerjaan dengan resiko tinggi apabila dikerjakan oleh manusia. Seperti misalnya dalam bidang militer. Sistem pertahanan negara telah mengembangkan teknologi yang memiliki kecerdasan dan keakuratan yang cukup tinggi dalam membantu mempertahankan negara agar lebih optimal. Dalam bidang militer, tentunya dibutuhkan kendaraan tempur yang mampu beradaptasi dengan cepat terhadap lingkungan yang belum diketahui sehingga apabila terdapat halangan, kendaraan tempur tersebut akan dapat menghindar dan menentukan jalur lain untuk menuju target. Namun pekerjaan tersebut tentunya terlalu berbahaya apabila dilakukan oleh manusia. Untuk mengurangi resiko kecelakaan, maka dibuatlah robot yang dapat menggantikan kendaraan tempur, sehingga robot tersebut dapat berjalan tanpa ada manusia di dalamnya.

(7)

Telah ada penelitian dengan topik sama, yaitu “Simulasi Trajectory

Planning dan Pembentukan Formasi pada Robot Obstacle Avoidance”. Simulasi pada penelitian tersebut menggunakan metode Fuzzy Logic Control untuk mengendalikan kecepatan robot apabila mendeteksi adanya halangan. Namun pada penelitian tersebut, hanya dilakukan percobaan untuk obstacle diam saja. Sehingga belum dilakukan percobaan untuk obstacle bergerak. Sedangkan dalam proses pergerakannya, robot harus dapat mendeteksi segala bentuk obstacle, baik obstacle diam maupun bergerak, dan menghindari obstacle tersebut. Robot harus

mampu menghindari obstacle dan memilih jalur yang sesuai untuk menuju target. Pada penelitian ini, akan dilakukan analisa perbandingan antara metode Fuzzy Logic Control dan metode Virtual Force Field (VFF) untuk menghindari obstacle bergerak, serta mampu mencapai target yang sudah ditentukan.

1.2 Rumusan Masalah

Dari latar belakang yang telah diuraikan, dapat ditarik beberapa rumusan masalah sebagai berikut :

1. Bagaimana menentukan dan mendesain metode Fuzzy Logic Control dan metode Virtual Force Fiels (VFF) menentukan sudut belok ketika terdapat obstacle.

(8)

3

3. Bagaimana perbandingan jarak yang ditempuh robot menuju target menggunakan metode Fuzzy Logic Control dan metode Virtual Force Fiels (VFF).

1.3 Batasan Masalah

Dalam perancangan dan pembuatan simulasi ini, terdapat beberapa batasan masalah, antara lain :

1. Menggunakan 1 robot simulasi.

2. Menggunakan skala perbandingan ukuran objek simulasi dengan keadaan nyata 1 : 5

3. Dimensi maksimal objek penghalang 60 x 60 pixel. 4. Dimensi robot 10 x 10 pixel.

5. Sensor ultrasonic hanya terdapat pada bagian depan robot. 6. Jarak baca sensor ultrasonic 60 pixel.

1.4 Tujuan

Adapun tujuan dari pembuatan simulasi ini yaitu :

1. Menentukan dan mendesain metode Fuzzy Logic Control dan metode Virtual Force Fiels (VFF) menentukan sudut belok ketika terdapat obstacle.

(9)

3. Menentukan perbandingan jarak yang ditempuh robot menuju target ketika menggunakan metode Fuzzy Logic Control dan metode Virtual Force Fiels (VFF).

1.5 Sistematika Penulisan

Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut:

1 BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang masalah, perumusan masalah, pembatasan masalah, tujuan penulisan laporan tugas akhir, dan sistematika penulisan tugas akhir.

2 BAB II : LANDASAN TEORI

Bab ini membahas tentang berbagai teori yang mendukung tugas akhir ini. Hal tersebut meliputi Visual Basic.Net, Obstacle Avoidance, Odometry, Fuzzy Logic Controller, dan Virtual Force Field (VFF).

3 BAB III : METODE PENELITIAN

Dalam bab ini dijelaskan tentang metode penelitian serta alasan penggunaan metode tersebut dalam penelitian. Pada bab ini dijelaskan pula tentang pembuatan perangkat lunak (software) dengan menggunakan Visual Basic.net sebagai pengontrol grafis pada simulasi, serta penerapan metode

(10)

5

4 BAB IV : PENGUJIAN DAN ANALISIS SISTEM

Bab ini berisi tentang pengujian simulasi secara keseluruhan. Pengujian yang dilakukan meliputi sudut peletakan sensor, pergerakan menuju koordinat tujuan, arah belok robot, penentuan parameter Fuzzy dan VFF untuk pergerakan robot, serta analisa perbandingan jarak tempuh dan waktu tempuh robot menuju target menggunakan metode Fuzzy dan VFF.

5 BAB V : PENUTUP

(11)

6

BAB II

LANDASAN TEORI

2.1 Visual Basic.Net

Visual Basic.Net 2008 (VBNet 2008) adalah salah satu program berorientasi objek yang diproduksi oleh Microsoft Corp. Program ini biasanya dipaketkan bersama-sama dengan Visual C# 2008 dan Visual C++ 2008 dalam paket Visual Studio 2008. Teknik pemrograman pada VBNet 2008 dapat dibuat lebih terstruktur dibandingkan dengan versinya yang terdahulu, yaitu Visual Basic 6 (VB 6) (Wardana, 2008:11).

2.1.1 Variable

Variable berguna sebagai penyimpan nilai sementara untuk dapat dipergunakan kembali. Dikatakan sementara karena nilai variable akan disimpan dalam memori komputer yang bersifat tidak permanen. Menurut Leong M, (2004:51) Visual Basic Net memiliki beberapa aturan dalam memberikan nama pada sebuah variable, diantaranya :

1. Nama variable harus diawali dengan karakter huruf, dan penamaannya tidak boleh menggunakan tambahan karakter khusus lain kecuali dengan menggunakan underscore (_).

2. Panjang maksimal karakter adalah 255.

3. Sifatnya unik sehingga tidak boleh ada dua deklarasi variable yang sama dalam prosedur.

(12)

7

VBNet menyediakan pustaka yang berisi fungsi konversi untuk mempermudah melakukan konversi variable dengan tipe data tertentu ke tipe data lain. Beberapa fungsi dalam pustaka VBNet tersebut adalah:

Tabel 2.1. Fungsi dalam Pustaka VBNet Fungsi Hasil Konversi Cbool Boolean huruf, angka, ataupun tanggal. Tipe data diperlukan agar VBNet dapat mengenali jenis data yang tersimpan dalam variable. Menurut Leong M, (2004:48) berikut beberapa jenis tipe data dan jangkauan nilai yang didukung oleh VBNet:

Tabel 2.2. Nilai dan Tipe Data Tipe Data Range

Boolean Hanya dapat diisi dengan TRUE (benar) atau FALSE (salah) Byte 0 – 255

Char 0 – 65535

Date

Merupakan nilai sebuah tanggal dan waktu 1 januari 0001 – 31 desember 9999, contoh: Dim Tgl as Date

Tgl = #9/16/2008 19:20:20#

Decimal

0 - +/- 79.228.162.514.264.337.593.543.950.

335 (tanpa bilanagn decimal di blakang koma) atau 0 - +/- 7,9228162514.264337593543950

335 (dengan bilangan decimal di blakang koma), contoh: Dim Nilai as Decimal

Nilai = 100,5

(13)

Tipe Data Range

Integer -2.147.483.648 - 2.147.483.648.

Long -9.223.372.036.854.775.808 - 9.223.372.036.854.775.807 Sbyte -128 – 127.

Short -32.768 - 32.767.

Single -3,4028235E+38 - -1,401298E-45 (untuk bilangan negatif) 1,401298E-45 - 3,4028235E+38 (untuk bilangan positif). String 0 – 2 milyar karakter.

Object Tipe data umum (sama seperti varian) yang dapat menampung berbagai tipe data lainnya.

2.1.3 Operator Matematika

Menurut Leong M (2004:163) VBNet telah merangkum fungsi matematika secara lengkap dalam class khusus yaitu class Math. Di dalam class Math dapat ditemukan banyak fungsi matematika yang berguna, misalnya fungsi

trigonometri, logaritma, dan lain-lain. Beberapa fungsi pada class Math dapat dilihat pada Tabel 2.3.

Tabel 2.3. Fungsi pada Class Math E Bilangan natural atau e = 2,7182818284590452354

PI Konstanta diameter lingkaran yaitu phi = 3,14159265358979323846 Abs Fungsi absolut dari bilangan

Acoc Fungsi sudut dari cosinus bilangan Asin Fungsi sudut dari sinus bilangan Atan Fungsi sudut dari tangent bilangan

Atan2 Fungsi sudut dari tangen yang ditetapkan dari 2 bilanagn spesifik Ceiling Fungsi mencari bilangan terkecil dari angka yang lebih besar atau

sama dengan angka yang ditentukan Cos Fungsi cosines

Cosh Fungsi cosinus hiperbola dari suatu sudut Exp Fungsi eksponensial

Floor Fungsi mencari bilangan terbesar dari angka yang lebih besar atau sama dengan angka yang ditentukan

Log Fungsi log Log10 Fungsi log10

(14)

9

Sign Mencari tanda dari bilangan Sin Fungsi sinus

Sinh Fungsi sinus hiperbola dari sudut Sqrt Akar kuadrat dari bilangan Tan Fungsi tangent

Tanh Fungsi tangent hiperbola dari sudut

2.1.4 Koordinat Form

Seluruh form pada VBNet memiliki sebuah koordinat yang berguna untuk menentukan posisi gambar atau graphic pada form. Koordinat tersebut terdiri atas dua bagian yaitu koordinat horizontal dan koordinat vertikal yang biasa dilambangkan sebagai x dan y. Satuan yang digunakan dalam korrdinat form adalah pixel. Koordinat dimulai dari bagian kiri atas form yang merupakan koordinat dasar dari form yang memiliki nilai 0 pada koordinat x dan nilai 0 pada koordinat y (Priyanto, 2009:226).

2.2 Grafis

Grafis pada VBNet membutuhkan sistem operasi GDI+ (Graphic Device Interface) yang digunakan digunakan sebagai media yang dapat menjadi kanvas untuk menampilkan atau membuat gambar.

2.2.1 GDI+

(15)

mengetahui detail masing-masing peralatan untuk menampilkan grafis diatasnya, tetapi cukup menggunakan fasilitas yang telah disediakan oleh GDI+ class.

2.2.2 Koordinat Tampilan Layar

GDI+ menggunakan sistem koordinat, sehingga koordinat tersebut akan ditampilkan di layar (x, y), mulai dari titik koordinat 0, 0.

Gambar 2.1. Koordinat x,y (0, 0) (Hendra, 2011).

Tampilan pada layar komputer koordinat tersebut terbentuk dari pixel yang terdapat pada layar komputer.

(16)

11

Gambar 2.3. Proses Pembuatan Garis Koordinat 4,2 sampai 12,8

2.2.3 Gambar Grafis Vektor 2 Dimensi

Grafis vektor 2D merupakan proses penggambaran bentuk-bentuk seperti garis, kurva dan bentuk berdasarkan sekumpulan titik tertentu (pixel). Penggambaran objek 2D pada VBNet dapat menggunakan Object Pen dimana pen dibuat untuk proses pembentukan garis.

2.3 Penampilan Gambar

Proses penampilan gambar pada VBNet dari file gambar ke layer, dapat menggunakan objek yang berada pada VBNet yang berupa bitmap dan objek graphics. Objek bitmap (class bitmap) hanya mendukung beberapa format seperti BMP, GIF, JPEG, PNG, dan TIFF.

Contoh pemrograman :

Dim bitmap As New Bitmap (“Grapes.jpg”)

(17)

Gambar 2.4. Tampilan Contoh Program (Hendra, 2011)

2.4 Posisi Awal Robot

Posisi awal atau proses memperkirakan posisi robot, pada dasarnya menggunakan perhitungan dengan mengakumulasikan data jarak tempuh robot, yang dihasilkan dari sensor robot berupa rotary encoder di mana pulsa dari sensor tersebut akan digunakan untuk memperhitungkan jarak tempuh robot. Misalnya dengan menggunakan satuan milimeter. Untuk mendapatkan jumlah pulsa setiap satu kali putaran roda, digunakan rumus sebagai berikut (Ardilla, 2011):

... (2.1) pulsa_per_mm = resolusi encoder / K roda ... (2.2)

Pada sistem penggerak differential terdapat dua roda yaitu roda kanan dan roda kiri dan dimisalkan jumlah pulsa_per_mm untuk roda kanan adalah right_encoder dan roda kiri adalah left_encoder dan jarak antara dua roda adalah

wheel_base, maka didapatkan jarak tempuh (distance) dan sudut orientasi ( ).

Rumusnya adalah sebagai berikut.

distance = (left_encoder+right_encoder)/2 ... (2.3)

(18)

13

Karena θ adalah sudut dalam radian maka untuk mengetahui sudut dalam derajat (heading) digunakan rumus sebagai berikut :

... (2.5).

Dari ketentuan di atas didapatkan bahwa nilai heading akan bernilai negatif (-) ketika robot berputar melawan arah jarum jam dan akan bernilai positif (+) ketika robot berputar searah dengan jarum jam. Dengan mengetahui jarak dan sudut (distance dan θ) maka kita dapat mengetahui koordinat x dan koordinat y dengan persamaan trigonometri sebagai berikut :

distan ce

(Xpos, Ypos)

Gambar 2.5. Panjang Jarak Koordinat.

Dari ilustrasi pada Gambar 2.5, koordinat dari robot dapat kita ketahui dengan rumus:

... (2.6) ... (2.7)

2.5 Kesalahan Arah

(19)

X = X_tujuan – X_pos ... (2.8) Y = Y_tujuan – Y_pos ... (2.9) Target_distance = ... (2.10)

Dari heading robot yang telah diketahui kita dapat menghitung error arah hadap (heading error) robot terhadap titik tujuan.

Gambar 2.6. Sudut α, β, dan £ (Ardilla, 2011).

Gambar 2.6 menunjukkan ilustrasi untuk mencari heading error (α) di mana β adalah target bearing yaitu sudut antara posisi robot saat ini terhadap titik

tujuan. Sedangkan garis berwarna biru adalah garis bantu yang masing-masing sejajar dengan sumbu x dan sumbu y. Untuk mendapat nilai β, digunakan rumus sebagai berikut :

... (2.11)

(20)

15

2.6 Obstacle Avoidance

Bagian ini menjelaskan tentang metode yang digunakan untuk menghindari halangan dengan cukup relevan yaitu menggunakan deteksi ujung tepi object, tahap kepastian pergerakan terhadap obstacle, metode yang support terhadap relevansi obstacle avoidance.

2.6.1 Metode Analisa Ujung Tepi Object

Metode obstacle avoidance yang lebih umum dan sering digunakan untuk menghindari rintangan adalah deteksi ujung tepi. Dalam metode ini, algoritma dicoba untuk menentukan posisi dari sisi kendala vertikal dan kemudian mengarahkan robot pada salah satu sisi ujung tepi obstacle. Metode ini digunakan dalam penelitian, serta beberapa proyek lainnya semua menggunakan sensor jarak meliputi sensor sharp dan sensor ultrasonic untuk mendeteksi obstacle. Kelemahan dalam menghindari rintangan yang berbasis pendeteksian ujung tepi adalah robot akan berhenti terlebih dahulu di depan halangan karena proses pengeksekusian perintah terlalu lama. Untuk menanggulangi kelemahan dari pendeteksian tersebut sebaiknya komputer yang digunakan lebih cepat dalam pengeksekusian program agar robot tidak berhenti terlebih dahulu ketika pengambilan data.

(21)

2.6.2 Kepastian Gerak Terhadap Obstacle

Sebuah metode untuk merepresentasikan probabilitas halangan dalam jenis model jaringan telah dikembangkan di Carnegie-Mellon University (CMU). Model metode ini sering disebut dengan kepastian jaringan (certainty grid). Secara khusus metode ini sangat cocok untuk akomodasi data sensor yang kurang akurat seperti jarak pengukuran dari sensor ultrasonic.

Dalam metode jaringan, area kerja robot diwakili oleh array dua dimensi, yang dilambangkan sebagai sel. Setiap sel berisi nilai yang pasti (CV) nilai tersebut menunjukkan bahwa halangan berada dalam wilayah sel tersebut. Dalam perkembangannya metode ini dikembangkan oleh CMU, dengan memperbarui nilai kepastian CV dengan fungsi probabilitas yang memperhitungkan karakteristik sensor yang diberikan. Sebagai contoh sensor ultrasonic, yang memiliki pandangan seperti bidang yang berbentuk kerucut. Sebuah sensor ultrasonic hanya akan memantulkan gelombang untuk mendapatkan jarak ke objek dalam bidang baca berbentuk kerucut, dan sensor tidak dapat menentukan lokasi sudut objek. (Gambar menunjukkan area A di mana sebuah obstacle harus berada dalam range untuk menghasilkan pengukuran jarak d).

(22)

17

Jika benda terdeteksi oleh sensor ultrasonic, hal ini dimungkinkan bahwa objek ini lebih dekat dengan sumbu akustik (gelombang) sensor, daripada bidang kerucut pembacaan sensor ultrasonic. Dengan alasan tersebut CMU membuat nilai fungsi Cx dengan meningkatkan nilai CV pada sel yang terdekat pada sumbu akustik lebih dari nilia CV pada sel-sel yang terdapat di pinggir bidang kerucut (pembacaan sensor).

Dalam aplikasi metode CMU ini, mobile robot akan diam saat pembacaan panorama lingkungannya dengan 24 sensor ultrasonic. Selanjutnya, fungsi Cx diterapkan pada masing-masing sensor ultrasonic dalam upayanya memperbarui informasi jaringan pergerakan. Sehingga, robot dapat bergerak menuju lokasi baru, dan robot akan berhenti kembali untuk mengulangi prosedur tersebut. Setelah robot melintasi ruangan dengan cara ini, kepastian jaringan yang dihasilkan merupakan jalur atau peta yang cukup akurat dari ruangan.

2.7 Fuzzy Logic Controler

Logika fuzzy adalah cabang dari sistem kecerdasan buatan (Artificial Intelegent) yang memanipulasi kemampuan manusia dalam berpikir ke dalam bentuk

algoritma yang kemudian dijalankan oleh mesin. Logika fuzzy merupakan cara yang tepat untuk memetakan ruang input ke dalam ruang output. Sebagai contoh: a. Manajer pergudangan mengatakan pada manajer produksi, seberapa

(23)

b. Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu akan memberikan tip yang sesuai atas baik tidaknya pelayan yang diberikan.

c. Anda mengatakan pada saya seberapa sejuk ruangan yang anda inginkan, saya akan mengatur putaran kipas yang ada pada ruangan ini.

d. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang diinginkan, sopir taksi akan mengatur pijakan gas taksinya.

Contoh pemetaan input-output dalam bentuk grafis terlihat pada Gambar 2.8 berikut.

Gambar 2.8 Pemetaan Input Output .

Ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain: a. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari

penalaran fuzzy sangat sederhana dan mudah dimengerti. b. Logika fuzzy sangat fleksibel.

c. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.

(24)

19

e. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan. f. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara

konvensional.

2.7.1 Himpunan Fuzzy

Pada himpunan tegas (crisp), nilai keanggotan suatu item x dalam himpunan A yang sering ditulis dengan μA[x], memiliki 2 kemungkinan yaitu:

1. Satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan.

2. Nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.

2.7.2 Fungsi Keanggotaan

Fungsi keanggotaan adalah kurva yang menunjukkan pemetaan titik – titik input data kedalam nilai keanggotaannya (derajat keanggotaan) yang memiliki interval antara 0 sampai 1.

2.7.3 Operator Dasar

(25)

a. Operator AND

Operator ini berhubungan dengan operasi interseksi pada himpunan. α -predikat sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan – himpunan yang bersangkutan.

μA∩B = min(μA[x], μB[y]) ... (2.13)

b. Operator OR

Operator ini berhubungan dengan operasi union pada himpunan. α -predikat sebagai hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan – himpunan yang bersangkutan.

μAUB = max(μA[x], μB[y]) ... (2.14)

c. Operator NOT

Operator ini berhubungan dengan operasi komplemen pada himpunan. α -predikat sebagai hasil operasi dengan operator NOT diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan – himpunan yang bersangkutan.

μA’= 1-μA[x] ... (2.15)

2.7.4 Penalaran Monoton

(26)

21

IF x is A THEN y is B transfer function:

Y = f ((x, A), B)

Maka system fuzzy dapat berjalan tanpa harus melalui komposisi dan dekomposisi fuzzy. Nilai output dapat diestimasi secara langsung dari nilai keanggotaan yang berhubungan dengan antesedennya.

2.7.5 Fungsi Implikasi

Bentuk umum aturan yang digunakan dalam fungsi implikasi: IF x is A THEN y is B

Dengan x dan y adalah skalar, A dan B adalah himpunan fuzzy. Proposisi yang mengikuti IF disebut anteseden, sedangkan proposisi yang mengikuti THEN disebut konsekuen. Secara umum, ada dua fungsi implikasi, yaitu:

1. Min (minimum), fungsi ini akan memotong output himpunan fuzzy 2. Dot (product), fungsi ini akan menskala output himpunan fuzzy.

2.7.6 Metode Sugeno

(27)

1. Model Fuzzy Sugeno Orde-Nol

Secara umum bentuk model fuzzy SUGENO Orde-Nol adalah: IF (x1 is A1) • (x2 is A2) • (x3 is A3) • ... • (xN is AN) THEN z=k

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

2. Model Fuzzy Sugeno Orde-Satu

Secara umum bentuk model fuzzy SUGENO Orde- Satu adalah: IF (x1 is A1) • ... • (xN is AN) THEN z =p1 * x1 + … + pN * xN + q

Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan pi adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen. Apabila komposisi aturan menggunakan metode SUGENO, maka deffuzifikasi dilakukan dengan cara mencari nilai rata-ratanya.

2.8 Metode Virtual Force Field

(28)

23

Metode Virtual Force Field (VFF) yang disederhanakan adalah berbasis vektor, bukan grid, sehingga dari metode VFF diambil konsepnya sebagian, yaitu pada perhitungan vektor. Perhitungan vektor digunakan untuk mengetahui arah yang harus dituju robot. Sedangkan untuk pemetaan obstacle, digunakan range tertentu untuk menentukan apakah pada area tersebut terdapat halangan atau tidak. Jika terdapat halangan maka robot akan bergerak ke arah resultan antara halangan dan target. Jika tidak, maka ia akan langsung bergerak menuju target. Untuk perhitungan besar dan arah resultan digunakan perhitungan vektor dengan metode jajar genjang dengan persamaan seperti di bawah ini.

Gambar 2.10. Metode Jajar Genjang (Jonifan, 2008)

... (2.16) ... (2.17) ... (2.18) ... (2.19)

A

B

F

( )

( )

( )

Y

X

(29)

Dimana, dan merupakan koordinat (x,y) dari vektor A. Sedangkan dan adalah koordinat (x,y) dari vektor B. Karena , maka akan bernilai 1, dan akan bernilai 0.

... (2.20) ... (2.21)

Dimana, merupakan penjumlahan koordinat x kedua vektor, dan merupakan penjumlahan koordinat y kedua vektor.

... (2.22)

Dimana F merupakan besar vektor hasil penjumlahan vektor A dan vektor B. Hasil penjumlahan tersebut memiliki arah vektor yang dapat diketahui nilainya dengan rumus sebagai berikut :

... (2.23) Sehingga,

(30)

25

BAB III

METODE PENELITIAN

Metode penelitian yang digunakan meliputi studi kepustakaan dan penelitian laboratorium. Studi kepustakaan merupakan pengumpulan materi atau teori yang berkaitan dengan permasalahan, terutama metode penelitian yang akan digunakan, yang diperoleh dari buku, jurnal, maupun informasi dari internet. Dari informasi studi kepustakaan yang diperoleh, maka dilakukan penelitian laboratorium. Penelitian laboratorium adalah perancangan sistem keseluruhan seperti pada Gambar 3.1 dan Gambar 3.2, uji coba dan pengambilan data sistem yang akan dibahas pada Bab IV.

Gambar 3.1. Blok Diagram Sistem Menggunakan Metode Fuzzy Logic Control

(31)

Dari blok diagram pada Gambar 3.1 dan Gambar 3.2 dapat dijelaskan bahwa robot memiliki sensor ultrasonic, sensor posisi, dan sensor tujuan sebagai masukan. Dimana masukan-masukan ini akan disimulasikan pada program. Untuk sensor ultrasonic yang dimanfaatkan untuk sensor jarak, akan digambarkan sebagai suatu garis yang memiliki koordinat-koordinat dan membentuk suatu vektor garis yang telah ditentukan (x1, y1, z1).

Gambar 3.3. Pembentukan koordinat sensor Ultrasonic

Pada gambar 3.3, terdapat garis vektor yang berwarna hijau, merah, dan biru (x1, y1, z1). Garis-garis tersebut merupakan range 3 sensor ultrasonic yang terdapat pada robot yang nilainya ditentukan menggunakan rumus theorema phytagoras. Ketiga garis tersebut akan menghasilkan nilai yang kemudian akan diolah menggunakan metode Fuzzy Logic Control dan metode Virtual Force Field (VFF), sehingga robot dapat menentukan sudut belok robot ketika terdapat obstacle, serta sebagai sensor yang dapat mendeteksi adanya obstacle. Selain

(32)

27

koordinat (x, y) robot. Koordinat robot digunakan sebagai titik acuan untuk menggerakkan robot.

Gambar 3.4. Pembentukan Garis Bantu Menuju Target

Kemudian masukan selanjutnya adalah koordinat (xt, yt) tujuan. Koordinat tujuan adalah koordinat yang akan dituju robot. Untuk menuju ke target, dibuatlah garis bantu (tu1 dan tu2). Nilai dari garis bantu tersebut akan diolah menggunakan metode Fuzzy Logic Controller dan Virtual Force Field bersama dengan nilai yang terhitung dari sensor ultrasonic. Sehingga robot dapat menentukan sudut belok menuju target maupun untuk menghindar ketika menemukan obstacle.

3.1 Alat dan Bahan Penelitian 3.1.1 Alat Penelitian

Alat yang digunakan untuk proses pengerjaan penelitian ini adalah Personal Computer (PC) / Laptop. Alat tersebut bertujuan untuk membuat

(33)

3.1.2 Bahan Penelitian

Bahan penelitian yang akan diteliti oleh penulis dalam penelitian ini adalah sebagai berikut :

1. Simulasi robot pada Microsoft Visual Studio 2008 dapat bergerak di setiap koordinat layer.

2. Koordinat target difungsikan sebagai titik acuan arah pergerakan dan pemberhentianpergerakan robot.

3. Pembentukan garis sensor ultrasonic pada simulasi sebagai pendeteksi obstacle.

4. Kemampuan robot untuk menghindari obstacle obstacle yang bergerak.

5. Perbandingan hasil perhitungan sudut belok robot ketika mendeteksi adanya obstacle menggunakan metode Fuzzy Logic Controller dan Virtual Force Field untuk menentukan jarak terpendek dan waktu tercepat menuju target.

3.2 Tahap Penelitian

Langkah-langkah yang dilakukan untuk menyelesaikan penelitian ini dibagi menjadi beberapa bagian yaitu:

3.2.1 Studi Literatur

(34)

29

3.2.2 Perancangan Perangkat Lunak

Perancangan perangkat lunak dibagi menjadi beberapa bagian pengerjaan yaitu sebagai berikut :

1. Desain Robot

Pada simulasi ini, robot didesain dengan ukuran 10 x 10 pixel dengan skala perbandingan 1 : 5. Sehingga jika simulasi diterapkan di kehidupan nyata, robot berukuran 50 x 50 cm. Kemudian robot mempunyai 3 sensor ultrasonic yang dipasang pada bagian depan robot yaitu kiri, tengah, dan kanan. Posisi sensor kiri dan kanan mempunyai sudut 300 dari sensor tengah. Setiap sensor didesain dengan jarak baca sensor maksimal sebesar 60 pixel. Artinya, dalam kondisi sebenarnya, jarak baca sensor ultrasonic maksimal 300 cm. Pada penelitian ini sensor digunakan untuk mengetahui adanya obstacle pada sudut dan jarak tertentu dari robot. Hasil tampilan yang diharapkan dapat dilihat pada Gambar 3.8.

2. Perancangan Arena Simulasi

(35)

Gambar 3.5. Penggambaran Picture Box untuk Arena Simulasi

Hasil dari penggambaran arena menggunakan picture box dapat dilihat pada Gambar 3.5. Langkah-langkah penggambaran tersebut adalah sebagai berikut :

1. Setelah form siap, arahkan kursor pada panel Toolbox. 2. Pilih komponen Picture Box.

3. Arahkan kursor pada lembar form.

4. Klik pada koordinat tertentu, tahan kemudian drag kursor sampai ukuran tententu.

(36)

31

mendesain arena dengan ukuran 1100 x 700 pixel. Artinya, ukuran sebenarnya adalah 5500 x 3500 cm. Ukuran tersebut sudah cukup untuk pergerakan robot dengan ukuran robot 10 x 10 pixel serta sesuai dengan resolusi pada Personal Computer (PC) / Laptop. Selain mengatur ukuran, diperlukan pula pengaturan gambar yang akan disisipkan pada picture box.

Gambar 3.6. Pengaturan Location dan Ukuran Picture Box

Penjelasan untuk pengaturan location dan ukuran picture box dapat dilihat pada Gambar 3.6. Location merupakan koordinat (x, y) dimana picture box akan diletakkan. Disini, penulis mengatur koordinat location untuk picture box adalah pada koordinat (12,12). Berikut adalah langkah-langkah untuk pengaturan location dan ukuran picture box :

(37)

3. Klik pada item location, dan ubah nilainya menjadi 12:12 seperti yang ditandai dengan poin “a” pada Gambar 3.6.

4. Kemudian tetap pada properties picture box, klik pada item size, dan ubah nilainya menjadi 1100:700 seperti yang ditandai dengan poin “b” pada

Gambar 3.6.

Gambar 3.7. Pengaturan Properties Picture Box untuk Menyisipkan Gambar

Berikut adalah langkah-langkah yang dilakukan untuk menyisipkan gambar pada picture box seperti pada Gambar 3.7 :

1. Klik pada picture box yang telah dibuat dalam form. 2. Arahkan kursor pada panel Properties.

(38)

33

4. Kemudian akan muncul jendela Select Resources, pilih Project resources file seperti yang ditandai sebagai poin “b” pada Gambar 3.7.

5. Klik tombol Import pada jendela Select Resources seperti yang ditandai sebagai poin “c” pada Gambar 3.7.

6. Selanjutnya akan muncul jendela Open untuk memilih gambar yang akan disisipkan. Masuk pada directory letak gambar disimpan, kemudian pilih gambar seperti yang ditandai sebagai poin “d” pada Gambar 3.7. kemudian klik tombol Open.

Tampilan arena simulasi yang dimasukkan pada picture box ketika program dijalankan dapat dilihat pada Gambar 3.8.

3. Perancangan Robot

(39)

Gambar 3.8. Tampilan Robot pada Arena Simulasi

4. Perancangan Program untuk Sensor Ultrasonic

Perancangan program untuk sensor ultrasonic merupakan proses penggambaran jarak baca maksimal sensor ultrasonic yang disimulasikan dengan pola garis. Garis tersebut memiliki panjang dan sudut tertentu, dimana garis tersebut akan digunakan untuk menghitung nilai jarak yang terbaca oleh sensor ultrasonic. Kemudian nilai tersebut akan digunakan sebagai titik acuan untuk

(40)

35

Gambar 3.9. Penggambaran Sensor Ultrasonic

Penggambaran sensor ultrasonic pada robot adalah seperti Gambar 3.9, dimana terdapat 3 sensor dengan jarak setiap sensor 300. Berikut adalah penulisan program untuk membentuk ketiga sensor tersebut :

Dim TENGAH As Double = VEKTOR(0, X1, Y1, T1) 'GARIS SENSOR DeRAJAT 0

Dim KANAN As Double = VEKTOR(1, X1, Y1, T1) 'GARIS SENSOR DERAJAT 30

Dim KIRI As Double = VEKTOR(2, X1, Y1, T1) 'GARIS SENSOR DERAJAT -30

Variable TENGAH, KANAN, dan KIRI adalah variable yang digunakan untuk menampung nilai jarak baca sensor. Sedangkan VEKTOR merupakan sebuah function yang berisi proses penggambaran jarak baca sensor serta proses perhitungan nilai tiap sensor. Berikut adalah isi program dalam function VEKTOR :

RS = 0

If ID = 0 Then

TS = T

End If

If ID = 1 Then

TS = T + ((30 / 180) * Math.PI)

End If

If ID = 2 Then

300

(41)

TS = T - ((30 / 180) * Math.PI)

End If

Program diatas merupakan proses penentuan sudut peletakan sensor menggunakan rumus radian.

Gambar 3.10. Radian Dalam Lingkaran. (http://math.rice.edu/).

Sedangkan untuk mengubah nilai dari radian ke derajat dapat menggunakan rumus 3.1 sebagai berikut:

... (3.1)

Setelah menentukan sudut baca sensor, langkah selanjutnya adalah membuat pola garis baca sensor. Berikut adalah penulisan program pembuatan pola garis baca sensor :

Do Until WARNA <> WARNA_REF Or PLUS = 300

RS = RS + 0.2

XS = X + RS * Math.Cos(TS)

YS = Y + RS * Math.Sin(TS)

(42)

37

PLUS = PLUS + 1

Loop

PLUS = 0

VEKTOR = Math.Sqrt((XS - X) * (XS - X) + (YS - Y) * (YS - Y))

Program diatas merupakan proses pembentukan pola garis jarak baca sensor, pola garis dibentuk berdasarkan titik-titik koordinat yang ditentukan menggunakan rumus trigonometri. Penarikan garis dilakukan setiap 0.2 pixel dan diulang selama 300 kali. Sehingga, panjang garis akan sama dengan 60 pixel. Untuk mengetahui jarak baca masing-masing sensor, digunakan rumus phytagoras seperti pada rumus 2.10. Sedangkan untuk menampilkan pola garis

jarak baca sensor, menggunakan penulisan program seperti berikut :

If ID = 0 Then

G.DrawLine(New Pen(Color.Red), CSng(X), CSng(Y), CSng(XS), CSng(YS))

End If

If ID = 1 Then

G.DrawLine(New Pen(Color.Green), CSng(X), CSng(Y), CSng(XS), CSng(YS))

End If

If ID = 2 Then

G.DrawLine(New Pen(Color.Blue), CSng(X), CSng(Y), CSng(XS), CSng(YS))

End If

(43)

Gambar 3.11. Proses Penggambaran Sensor Ultrasonic

5. Perancangan Program Pergerakan Robot

Agar dapat menggerakkan robot, dibutuhkan komponen Timer yang digunakan sebagai penghitung waktu secara otomatis yang disediakan oleh Microsoft Visual Studio 2008. Komponen timer terletak pada panel toolbox, sama seperti picture box. Ada beberapa properties yang harus disesuaikan, seperti yang terlihat pada Gambar 3.12 berikut.

300

300

300

300

300

(44)

39

Gambar 3.12. Tampilan Properties Timer

Properties pada timer yang perlu disesuaikan adalah :

1. Enabled diubah menjadi False, ini dimaksudkan agar pada awal program dijalankan, timer tidak langsung berjalan.

2. Nilai interval diubah menjadi 10 ms atau 0.01 detik. Nilai interval dibuat sekecil mungkin agar pergerakan robot terlihat lebih halus.

Berikut merupakan penulisan program untuk menggerakkan robot menggunakan timer :

X = X + 1 * Math.Cos(TR)

Y = Y + 1 * Math.Sin(TR)

(45)

halnya membuat titik-titik pada pola garis jarak baca sensor ultrasonic. Sehingga robot dapat bergerak mengikuti titik-titik koordinat tersebut.

6. Perancangan Program untuk Menentukan Koordinat Target Robot dan Koordinat Obstacle

Koordinat target yang dituju robot ditentukan oleh user, namun hanya bisa dilakukan sekali saja. Yaitu dengan cara mengarahkan kursor ke koordinat tertentu, kemudian klik kiri pada mouse, maka akan terbentuk objek yang merupakan target yang dituju robot. Berikut adalah penulisan program untuk menentukan koordinat target :

If e.Button = Windows.Forms.MouseButtons.Left Then

c = Color.Red

End If

If e.Button = Windows.Forms.MouseButtons.Right Then

c = Color.White

End If

If c <> Color.Green Then

PictureBox1.Image = ARENA.Clone

TextBox6.Text = CInt(e.X)

TextBox5.Text = CInt(e.Y)

XT = CInt(TextBox6.Text)

YT = CInt(TextBox5.Text)

PictureBox3.BackColor = Color.Red

PictureBox3.Location = UPDATE_LOKASI(XT, YT)

TUJUAN = 1

End If

(46)

41

Gambar 3.13. Penggambaran Koordinat Target

Selanjutnya adalah menentukan koordinat obstacle pada jalur yang akan dilalui oleh robot. Sehingga robot mendapatkan kendala dalam proses bergerak menuju target, selain itu obstacle juga digunakan sebagai sarana untuk mengetahui respon robot terhadap obstacle. Berikut adalah penulisan program untuk menentukan koordinat target dan obstacle diam :

If e.Button = Windows.Forms.MouseButtons.Right Then

c = Color.Black End If

If e.Button = Windows.Forms.MouseButtons.Left Then

c = Color.White End If

If c <> Color.Green Then

g.FillEllipse(New SolidBrush(c), New Rectangle(e.X - 10, e.Y - 10, 60, 60))

XO(j) = e.X YO(j) = e.Y

g.FillEllipse(New SolidBrush(d), New Rectangle(e.X - 10, e.Y - 10, 60, 60))

g.DrawImage(ARENA, 0, 0)

PictureBox1.Image = ARENA.Clone TUJUAN = 3

(47)

End If

Proses pembuatan target dan obstacle diam ini diletakkan pada event mouse move yang dimiliki oleh picture box yang menampung gambar arena simulasi. Mouse move merupakan event yang akan aktif ketika mouse melewati picture box.

. Untuk menentukan koordinat obstacle diam, caranya hampir sama dengan menentukan koordinat terget. Namun, user hanya dapat menentukan koordinat obstacle diam apabila koordinat target sudah ditentukan. Dengan cara mengarahkan kursor ke koordinat yang diinginkan, kemudian klik kanan pada mouse. Apabila user menekan klik kanan pada mouse, maka akan tercipta sebuah objek berwarna hitam. Objek inilah yang disimulasikan sebagai obstacle diam. Sedangkan apabila user klik kiri pada mouse, akan tercipta objek berwarna putih. Tidak akan terlihat karena arena simulasi juga berwarna putih. Sehingga ini berfungsi sebagai penghapus obstacle.

(48)

43

Gambar 3.14. Penggambaran Koordinat Obstacle

7. Perancangan Program untuk Menentukan Arah yang Dituju Robot Untuk menentukan arah yang dituju robot, penulis memanfaatkan jarak dari koordinat tepi sensor (sensor ultrasonic kanan dan kiri) menuju koordinat target. Untuk lebih jelasnya dapat dilihat pada Gambar 3.15 berikut.

Gambar 3.15. Garis Bantu Menuju Target

Garis bantu kiri (jarak ujung tepi terhadap target)

Garis bantu kanan (jarak ujung tepi terhadap target) Ujung tepi sensor kiri

(koordinat awal (x,y))

(49)

Berikut adalah penulisan program untuk membuat garis bantu menuju target :

G = Graphics.FromImage(DIS_ARENA)

If ID = 1 Then

G.DrawLine(New Pen(Color.Green), CSng(X1), CSng(Y1), CSng(XS1), CSng(YS1))

PTR = TARGET1(1, XS1, YS1)

End If

If ID = 2 Then

G.DrawLine(New Pen(Color.Blue), CSng(X1), CSng(Y1), CSng(XS1), CSng(YS1))

PTL = TARGET1(2, XS1, YS1)

End If

Private Function TARGET1(ByVal ID As Integer, ByVal X1 As Double, ByVal Y1 As

Double) As Double

TARGET1 = Math.Sqrt((XT - X1) * (XT - X1) + (YT - Y1) * (YT - Y1))

End Function

Cara yang digunakan untuk menarik garis dari setiap ujung sensor kanan dan kiri menuju target adalah menggunakan rumus theorema phytagoras. Setiap ujung sensor akan memiliki nilai koordinat x dan y. Nilai tersebut yang akan dimasukkan ke perhitungan dalam function TARGET1 sebagai X1 dan Y1. Sementara XT dan YT adalah nilai koordinat x dan y dari target.

8. Perancangan Program untuk Menuju Target dan Menghindari Halangan

(50)

45

START

Inisialisasi: Sensor kanan, kiri, tengah, target kanan,

target kiri

(51)

Ketika simulasi dijalankan, pertama kali robot melakukan inisialisasi (konfigurasi sensor dan penentuan koordinat tujuan). Setelah inisialisasi, diperoleh nilai yang digunakan sebagai penggerak dan penentuan arah belok robot. Jika jarak dari posisi robot menuju target masih jauh maka robot akan memprioritaskan sensor tengah sebagai acuan pergerakan robot. Robot akan memeriksa arah robot terhadar target tujuan menggunakan jarak dari ujung sensor kanan dan kiri terhadap koordinat target, ketika terdapat obstacle robot akan lebih memprioritaskan sensor kanan dan kiri untuk menentukan arah belok robot guna menghindari obstacle. Setelah robot dapat menghindari obstacle, robot akan kembali menentukan arah dengan menggunakan parameter jarak antara ujung tepi sensor terhadap koordinat target (target kanan dan target kiri). Berikut merupakan program untuk arah target dan proses penghindaran obstacle:

Program menggunakan metode Fuzzy : eror1 = KANAN1 - KIRI1

eror11 = PTL1 - PTR1

belok1 = belok1 + fuzzy_eror(eror1, eror11) TR1 = (Math.PI / 350) * belok1

XR1 = XR1 + KECEPATAN1 * Math.Cos(TR1) YR1 = YR1 + KECEPATAN1 * Math.Sin(TR1)

Program menggunakan metode VFF : eror1 = KANAN1 - KIRI1

eror11 = PTL1 - PTR1

belok1 = belok1 + Math.Atan(eror1) + Math.Atan(eror11) TR1 = (Math.PI / 350) * belok1

(52)

47

9. Perancangan Program Kontrol Sistem

Perancangan program kontrol sistem merupakan perancangan program untuk mengontrol jalannya simulasi. Dimana simulasi akan dikontrol oleh 3 tombol. Diantaranya adalah tombol START, STOP, dan CLEAR. Pembuatan 3 tombol tersebut memanfaatkan komponen button yang disediakan oleh Microsoft Visual Studio 2008.

Gambar 3.17. Letak Komponen Button dan Penempatan pada Form

Proses pembuatan 3 tombol pada Gambar 3.17 sama dengan pembuatan picture box, yakni komponen button diambil dari panel toolbox kemudian di klik

pada form. Berikut adalah fungsi dari masing-masing tombol :

a. Tombol START

Tombol START merupakan tombol yang digunakan untuk memulai menjalankan robot. Berikut adalah penulisan program pada tombol START :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

(53)

Timer1.Enabled = True

End Sub

Terlihat bahwa ketika tombol START di tekan, maka Timer1 dijalankan. Dimana program untuk menjalankan robot telah ditulis di dalam function Timer1. Sehingga, ketika tombol START ditekan, maka robot akan berjalan sesuai dengan interval yang diatur pada Timer1.

b. Tombol STOP

Tombol STOP merupakan tombol yang digunakan untuk menghentikan jalannya robot. Berikut adalah penulisan program pada tombol STOP :

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

Timer1.Enabled = False

End Sub

Tombol STOP adalah kebalikan dari tombol START. Jika di dalam tombol START terdapat perintah mengaktifkan Timer1, maka di dalam tombol STOP terdapat perintah untuk menon-aktifkan Timer1. Sehingga ketika tombol STOP ditekan, maka robot akan berhenti bergerak.

c. Tombol CLEAR

(54)

49

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

Picture box1.Image = Picture box1.InitialImage

PictureBox5.BackColor = Color.White

ARENA = Picture box1.Image.Clone

DIS_ARENA = ARENA.Clone

End Sub

Picturebox1 kembali diisi dengan gambar inisialisasi, dimana gambar inisialisasi adalah gambar arena yang masih kosong tanpa koordinat target. Kemudian picturebox5 yang merupakan picturebox yang menampung obstacle diubah menjadi warna putih yang berarti menghapus obstacle.

10. Perancangan Program untuk Metode Fuzzy Logic Controller

Metode Fuzzy Logic Controller adalah metode yang mempunyai rule, dimana rule tersebut dapat didesain sendiri oleh peneliti. Sehingga sistem dapat berjalan sesuai dengan konsep pemikiran yang dituangkan peneliti ke dalam algoritma Fuzzy Logic Controller. Dalam simulasi ini, Fuzzy Logic Controller dimanfaatkan sebagai metode penelitian untuk menentukan nilai sudut belok robot untuk berjalan menuju target, maupun untuk menghindari obstacle. Terdapat toga langkah dalam pengerjaan metode Fuzzy Logic Controller, diantarana sebagai berikut :

A. Fuzzifikasi

(55)

(selisih_benda) dan selisih jarak dari ujung sensor ultrasonic kanan dan kiri menuju target (selisih_target). Berikut adalah fungsi keanggotaan selisih_benda dan selisih_target :

Gambar 3.18. Fungsi Keanggotaan Input Selisih (Delta) Jarak Sensor

Gambar 3.19. Fungsi Keanggotaan Input Selisih (Delta) Jarak Target

Keterangan :

BSN = Benda Sangat Negatif TSN = Target Sangat Negatif

BN = Benda Negatif TN = Target Negatif

BS = Benda Sedang TS = Target Sedang

BP = Benda Positif TP = Target Positif

BSP = Benda Sangat Positif TSP = Target Sangat Positif

(56)

51

Langkah perhitungannya adalah dengan menghitung selisih antara jarak dari ujung sensor ultrasonic kanan dan kiri menuju target. Kemudian menghitung selisih nilai jarak yang terbaca sensor ultrasonic kanan dan kiri. Selanjutnya, kedua hasil tersebut akan dipetakan dalam fungsi keanggotaan Fuzzy. Berikut adalah penulisan perhitungan dalam program :

selisih_benda = KANAN - KIRI

selisih_target = TKIRI – TKANAN

Setelah mendapatkan kedua nilai input untuk Fuzzy, langkah selanjutnya adalah menghitung nilai derajat keanggotaan dari masing-masing fungsi keanggotaan. Berikut adalah penulisan program untuk proses perhitungan nilai derajat keanggotaan :

‘---selisih_benda---

BSN = FUZZYFIKASI(-100, -70, -60, -15, selisih)

BN = FUZZYFIKASI(-60, -15, -15, 0, selisih)

BS = FUZZYFIKASI(-15, 0, 0, 15, selisih)

BP = FUZZYFIKASI(0, 15, 15, 60, selisih)

BSP = FUZZYFIKASI(15, 60, 70, 100, selisih)

‘---selisih_target---

TSN = FUZZYFIKASI(-1500, -1500, -60, -15, dselisih)

TN = FUZZYFIKASI(-60, -15, -15, 0, dselisih)

TS = FUZZYFIKASI(-15, 0, 0, 15, dselisih)

TP = FUZZYFIKASI(0, 15, 15, 60, dselisih)

TSP = FUZZYFIKASI(15, 60, 1500, 1800, dselisih)

Private Function FUZZYFIKASI(ByVal A As Double, ByVal B As Double, ByVal C As

Double, ByVal D As Double, ByVal X As Double) As Double

(57)

FUZZYFIKASI = 0

Jumlah variable yang digunakan untuk membuat Fuzzy belok berjumlah dua, dan masing-masing variable memiliki lima himpunan fuzzy dalam fungsi keanggotaannya. Sehingga, terdapat dua puluh lima aturan. Untuk lebih jelasnya dapat dilihat pada Tabel 3.1 :

(58)

53

KAS = Kanan Sedang KAB = Kanan Besar

C. Defuzzifikasi

Defuzzifikasi merupakan kebalikan dari fuzzifikasi. Jika fuzzifikasi adalah proses mengubah nilai input yang bersifat pasti ke dalam input Fuzzy, defuzzifikasi adalah proses mengubah output himpunan Fuzzy menjadi output pasti atau tegas (crisp). Hal ini perlu dilakukan karena konstanta kendali Fuzzy hanya mengenal nilai tegas sebagai variable sinyal kontrol. Nilai dari crisp output inilah yang menjadi penentu arah robot. Proses pembentukan crisp output menggunakan metode sugeno menjadi bentuk crisp output dapat dituliskan dalam bentuk rumus sebagai berikut :

Berikut ini adalah output Fuzzy setelah melalui tahap proses defuzzifikasi:

(59)

Output Fuzzy, yang dapat dilihat pada Gambar 3.20, adalah nilai yang akan menjadi sudut belok untuk pergerakan robot menuju target maupun menghindari obstacle.

11. Perancangan Program untuk Metode Virtual Force Field

Metode Virtual Force Field (VFF) yang digunakan dalam penelitian ini adalah metode VFF yang telah disederhanakan. Sehingga hanya diambil konsepnya sebagian yang berkaitan dengan vektor. Untuk mencapai target yang dituju dan dapat menghindari obstacle, ada beberapa parameter input yang akan diolah oleh metode VFF. Diantaranya adalah koordinat sensor kanan, koordinat sensor kiri, koordinat target kanan, dan koordinat target kiri.

Gambar 3.21. Penggambaran Input VFF

A

B

C

D

(XR, YR) (XS1, YS1)

(XS2, YS2)

(60)

55

Keterangan :

XR = Koordinat X Robot XS1 = Koordinat X Sensor Kiri YR = Koordinat Y Robot YS1 = Koordinat Y Sensor Kiri

XT = Koordinat X Target XS2 = Koordinat X Sensor Kanan YT = Koordinat Y Target YS2 = Koordinat Y Sensor Kanan

Dari beberapa nilai input tersebut, akan diolah menggunakan rumus berikut :

... (3.3)

... (3.4)

Vektor A merupakan jarak baca sensor kiri, vektor B merupakan jarak baca sensor kanan. Vektor C merupakan jarak dari ujung sensor kiri menuju target, dan vektor D merupakan jarak dari ujung sensor kanan menuju target.

... (3.5) ... (3.6) ... (3.7) ... (3.8)

Untuk menentukan arah belok robot ketika robot mendeteksi adanya obstacle, digunakan perhitungan selisih vektor A dan B. Sedangkan untuk

(61)

Gambar 3.22. Sensor Robot Mendeteksi Obstacle

Untuk menghitung sudut arah belok robot untuk menghindari obstacle : ... (3.9)

Gambar 3.22. Garis Bantu Menuju Target

Untuk menghitung sudut arah belok robot untuk menuju target :

... (3.10)

A

B

R

C

D

(62)

57

BAB IV

PENGUJIAN SISTEM

4.1 Pengujian Perangkat Lunak

Diperlukan tahap pengujian sistem guna mengetahui hasil dari simulasi. Berikut alat dan bahan yang dibutuhkan dalam proses pengujian sistem :

1. Microsoft Visual Studio 2008. 2. Personal Computer (PC) / Laptop.

Berikut merupakan tahap-tahap pengujian sistem :

4.1.1 Pengujian Target Robot A. Tujuan

Pengujian target robot dilakukan dengan tujuan untuk mengetahui apakah robot berjalan menuju target yang telah ditentukan oleh user atau tidak baik menggunakan metode Fuzzy Logic Controller (Fuzzy) maupun metode Virtual Force Field (VFF).

B. Prosedur Pengujian

1. Run program yang menggunakan metode Fuzzy (user / manual).

(63)

3. Klik kanan pada mouse pada koordinat yang telah ditentukan (akan terlihat titik merah pada koordinat tersebut sebagai koordinat target).

4. Klik button START pada program (user / manual).

5. Robot akan membuat garis bantu kanan dan kiri menuju koordinat target sebagai acuan arah belok robot menggunakan rumus theorema phytagoras (auto).

6. Ulangi langkah nomor 1 sampai langkah nomor 6, namun menggunakan program dengan metode VFF.

C. Hasil Pengujian

Dari hasil pengujian target robot, diperoleh hasil dari pembentukan garis bantu dari ujung sensor kanan dan kiri menuju target. Garis bantu tersebut digunakan untuk menentukan arah belok robot menuju target. Hasil dari pergerakan robot menuju target dengan letak koordinat target yang berbeda-beda menggunakan metode Fuzzy dan metode VFF dapat dilihat pada Tabel 4.1 dan Tabel 4.2.

Tabel 4.1. Pengujian Target Robot Menggunkan Metode Fuzzy

Pengujian

Jarak Garis

Bantu (Pixel) Error

(64)

59

Pengujian

Jarak Garis

Bantu (Pixel) Error

Garis

Tabel 4.2. Pengujian Target Robot Menggunkan Metode VFF

Pengujian

Jarak Garis

Bantu (Pixel) Error

Garis

Gambar 4.1. Tampilan Simulai Robot Menuju Target

Koordinat

(65)

D. Pembahasan

Dari hasil pengujian pada Tabel 4.1 dan Tabel 4.2, peneliti membuat garis bantu yang digambarkan dari ujung sensor kanan dan kiri menuju target menggunakan theorema phytagoras. Garis bantu tersebut digunakan untuk membantu robot mencapai target. Selanjutnya, dihitung selisih jarak dari ujung sensor kanan dan kiri menuju target. Nilai selisih tersebut yang akan diolah oleh Fuzzy dan VFF untuk mendapatkan arah belok robot menuju target.

4.1.2 Pengujian Derajat Sensor A. Tujuan

Pengujian derajat sensor dilakukan untuk mengetahui sudut dari sensor kanan dan sensor kiri terhadap sensor tengah dalam pendeteksian obstacle. Sehingga robot dapat menentukan sudut belok yang tepat untuk menghindari obstacle.

B. Prosedur Pengujian

1. Run program yang menggunakan metode Fuzzy (user / manual).

2. Arahkan pointer mouse pada koordinat yang diinginkan dalam koordinat arena untuk menentukan koordinat target (user / manual).

3. Klik kanan pada mouse pada koordinat yang telah ditentukan (akan terlihat titik merah pada koordinat tersebut sebagai koordinat target).

4. Klik button START pada program (user / manual).

(66)

61

6. Klik kanan pada mouse (akan terlihat lingkaran hitam yang disimulasikan sebagai obstacle).

7. Amati pergerakan robot serta sudut sensor kanan dan kiri robot terhadap sensor tengah, apakah sudah sesuai dengan yang diharapkan atau belum. 8. Peletakan obstacle dilakukan diulang beberapa kali untuk mengetahui

hasil yang sesuai dari sudut sensor kanan dan kiri terhadap sensor tengah robot.

9. Ulangi langkah nomor 1 sampai langkah nomor 8, namun menggunakan program dengan metode VFF.

C. Hasil Pengujian

Dengan ukuran obstacle bergerak sebesar 60x60 pixel dan jarak baca maksimal sensor sebesar 60 pixel, diperoleh hasil pengujian seperti pada Tabel 4.3 dan Tabel 4.4 berikut :

(67)

Tabel 4.4. Pengujian Sudut Sensor Kanan dan Sensor Kiri Menggunakan Metode

(Derajat) Robot Menyentuh Obstacle Bergerak Gambar 4.2 adalah tampilan robot ketika merespon adanya obstacle.

Gambar 4.2. Respon Robot Terhadap Obstacle

D. Pembahasan

Dari hasil pengujian sudut sensor pada Tabel 4.3 dan Tabel 4.4, diperoleh kesimpulan bahwa peletakan sensor kiri pada -300, sensor tengah pada 00, dan

sensor kanan pada 300 sudah sesuai. Karena dengan peletakan sudut sensor pada Obstacle

(68)

63

posisi tersebut, robot dapat memdeteksi obstacle dan dapat meminimalisasi kegagalan robot menghindari obstacle.

4.1.3 Pengujian Pergerakan Kemudi A. Tujuan

Pengujian pergerakan kemudi dilakukan dengan tujuan untuk mengetahui pergerakan robot ketika menghindari obstacle.

B. Prosedur Penelitian

1. Run program yang menggunakan metode Fuzzy (user / manual).

2. Arahkan pointer mouse pada koordinat yang diinginkan dalam koordinat arena untuk menentukan koordinat target (user / manual).

3. Klik kanan mouse pada koordinat yang telah ditentukan (akan terlihat titik merah pada koordinat tersebut sebagai koordinat target).

4. Klik button START pada program (user / manual).

5. Robot membentuk sensor ultrasonic secara otomatis (auto).

6. Arahkan pointer mouse pada koordinat yang akan dilalui robot dalam arena untuk meletakkan obstacle bergerak(user / manual).

7. Klik kanan pada mouse (akan terlihat lingkaran hitam yang disimulasikan sebagai obstacle).

(69)

C. Hasil Pengujian

Dengan peletakan sudut sensor kanan dan kiri sebesar 300 terhadap sensor tengah dan sesuai dengan prosedur pengujian yang dilakukan, maka diperoleh hasil pengujian seperti pada Tabel 4.5 dan Tabel 4.6 berikut :

Tabel 4.5. Pengujian Pergerakan Kemudi Menggunakan Metode Fuzzy Sensor

(pixel) Halangan (Obstacle) Kemudi

60 60 60 Tidak ada halangan Lurus

kiri kanan Belok Kiri 10

30 20 Halangan di depan

kiri kanan Belok Kanan

Tabel 4.6. Pengujian Pergerakan Kemudi Menggunakan Metode VFF Sensor

(pixel) Halangan (Obstacle) Kemudi

60 60 60 Tidak ada halangan Lurus

kiri kanan Belok Kiri

10 30 20 Halangan di depan

kiri kanan Belok Kanan

D. Pembahasan

(70)

65

obstacle. Sebaliknya, robot dapat bergerak ke kiri ketika sensor kanan mengenai obstacle. Apabila sensor depan mendeteksi adanya obstacle, robot akan membandingkan jarak sensor kanan dan kiri. Apabila lebih besar jarak sensor kanan, maka robot akan belok ke kanan. Sebaliknya, apabila lebih besar jarak sensor kiri, maka robot akan berbelok ke kiri. Sehingga, dari pengujian pergerakan kemudi, dapat disimpulkan bahwa kemudi dapat berjalan sesuai dengan yang diharapkan.

4.1.4 Pengujian Output Metode Fuzzy Logic Controller A. Tujuan

Pengujian metode Fuzzy Logic Controller (Fuzzy) ini dilakukan untuk mengetahui apakah robot bisa berjalan sesuai harapan apabila arah belok robot ditentukan menggunakan metode Fuzzy.

B. Prosedur Penelitian 1. Run program (user/manual).

2. Arahkan pointer mouse pada koordinat yang diinginkan dalam koordinat arena (user/manual).

3. Klik kanan mouse pada koordinat yang telah ditentukan (akan terlihat titik merah pada koordinat tersebut sebagai koordinat target).

4. Klik button START pada simulasi (user/manual).

(71)

6. Klik kanan pada mouse (akan terlihat lingkaran hitam yang disimulasikan sebagai obstacle).

7. Sensor ultrasonic membaca obstacle yang ada di depannya kemudian memberikan input data pada Fuzzy (auto).

8. Amati pergerakan robot dan parameter data Fuzzy.

9. Lakukan pengujian beberapa kali untuk mengetahui hasil dari parameter Fuzzy yang sesuai.

C. Hasil Pengujian

Sesuai dengan prosedur pengujian, diperoleh hasil output Fuzzy untuk menentukan arah belok robot seperti pada Tabel 4.7 dan Tabel 4.8. Input yang digunakan untuk menentukan arah belok robot adalah delta sensor (selisih nilai jarak sensor kanan dan kiri) dan delta target (selisih nilai garis bantu dari ujung sensor kanan dan kiri menuju target).

Tabel 4.7. Pengujian Output Arah Belok Metode Fuzzy Logic Controller Berdasarkan Sensor Kanan dan Arah Target

(72)

67

No Waktu Delta Sensor Delta Target Output Pergerakan (derajat)

Tabel 4.8. Pengujian Output Arah Belok Metode Fuzzy Logic Controller Berdasarkan Sensor Kiri dan Arah Target

No Waktu Selisih Sensor Selisih Target Output Pergerakan (derajat)

1 0,01 0,000 24,685 3

(73)
(74)

69

No Waktu Selisih Sensor Selisih Target Output Pergerakan (derajat)

47 0,47 39,000 0,857 124,818

48 0,48 40,000 -0,464 129,475

49 0,49 40,800 -1,966 134,149

50 0,5 42,600 -2,520 138,904

Dari pengujian yang telah dicatat pada Tabel 4.7 dan Tabel 4.8, dapat digambarkan grafik respon sensor kanan dan sensor kiri ketika mendeteksi adanya obstacle menggunakan metode Fuzzy pada Gambar 4.3 dan Gambar 4.4.

(75)

Gambar 4.4. Grafik Arah Robot Ketika Sensor Kiri Mendeteksi Obstacle Menggunakan Fuzzy

D. Pembahasan

Dari pengujian yang telah dilakukan, robot dapat berbelok ke kanan apabila sensor kiri mendeteksi adanya obstacle. Sebaliknya, robot dapat berbelok ke kiri apabila sensor kanan mendeteksi adanya obstacle. Sehingga dapat disimpulkan bahwa robot dapat menghidari obstacle sesuai dengan yang diharapkan.

4.1.5 Pengujian Output Metode Virtual Force Field (VFF) A. Tujuan

(76)

71

B. Prosedur Penelitian 1. Run program (user/manual).

2. Arahkan pointer mouse pada koordinat yang diinginkan dalam koordinat arena (user/manual).

3. Klik kanan mouse pada koordinat yang telah ditentukan (akan terlihat titik merah pada koordinat tersebut sebagai koordinat target).

4. Klik button START pada simulasi (user/manual).

5. Arahkan pointer mouse pada koordinat yang akan dilalui robot dalam arena untuk meletakkan obstacle bergerak(user / manual).

6. Klik kanan pada mouse (akan terlihat lingkaran hitam yang disimulasikan sebagai obstacle).

7. Sensor ultrasonic membaca obstacle yang ada di depannya kemudian memberikan input data pada VFF (auto).

8. Amati pergerakan robot dan parameter data VFF.

9. Lakukan pengujian beberapa kali untuk mengetahui hasil dari parameter VFF yang sesuai.

C. Hasil Pengujian

(77)

Tabel 4.9. Pengujian Output Arah Belok Metode Virtual Force Field Berdasarkan Sensor Kanan dan Arah Target

(78)

73

No Waktu Selisih Sensor Selisih Target Output Pergerakan (derajat)

Tabel 4.10. Pengujian Output Arah Belok Metode Virtual Force Field Berdasarkan Sensor Kiri dan Arah Target

Gambar

Gambar 3.2. Blok Diagram Sistem Menggunakan Metode Virtual  Force Field (VFF)
Gambar 3.3. Pembentukan koordinat sensor Ultrasonic
Gambar 3.4. Pembentukan Garis Bantu Menuju Target
Gambar 3.8.
+7

Referensi

Dokumen terkait

Sebagai pengganti bahan baku pembuat kertas Beberapa Mahasiswa Fakultas Teknik Pertanian (FTP) UGM berhasil memanfaatkan limbah tongkol jagung sebagai sumber karbon untuk

a) Editing yaitu mengatur tampilan media sedemikian rupa sehingga terlihat menarik. b) Validasi dilakukan untuk mengetahui dan memastikan bahwa media pembelajaran yang

Penanganan limbah cair untuk industri pembuatan cat terutama dilakukan pada saat pencucian peralatan pada pembuatan cat solvent-based yang tidak boleh tercecer dan masuk

Tujuan dari penelitian ini adalah untuk menganalisis kesulitan matematika yang dialami siswa SMP dalam memecahkan masalah dalam materi statistik pembelajaran. Penelitian ini

Gambar 3.24 Hasil Jawaban Kuesioner Game Developer Pada Pertanyaan 10

Rini Kurniasih. Pengembangan Bahan Ajar dengan Edmodo untuk Meningkatkan Level Berpikir Probabilistik Siswa Kelas VIII SMP Negeri 12 Surakarta. Imam Sujadi, M.Si., Kopembimbing:

µi = µi + RT ln ai dimana ai adalah aktivitas solut dalam pelarut pada suatu kesetimbangan kecepatan solut yang keluar dari pelarut yang satu sama dengan kecepatan solut yang keluar