Implementasi Algoritma Model Predictive Control Dengan Metode Pulse Width Modulation Sebagai Pengontrol Kecepatan Pada Roda Robot Mobil

(1)

PADA RODA ROBOT MOBIL

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

OLEH

ADI SETYO NUGROHO 10107295

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

ii

SEBAGAI PENGONTROL KECEPATAN PADA RODA ROBOT MOBIL

Oleh:

ADI SETYO NUGROHO 10107295

Algoritma pergerakan roda robot mobil konvensional jika menemui jenis lintasan yang menanjak akan menghasilkan pergerakan yang tidak konstan. Kecepatan pada saat lintasan datar akan berbeda dengan kecepatan pada jenis lintasan menanjak. Hal ini disebabkan belum adanya kontrol yang terdapat pada algoritma pergerakan roda robot mobil konvensional.

Algoritma Model Predictive Control (MPC) adalah algoritma kontrol yang dapat mendukung sebuah proses dengan memberikan bantuan berupa perbaikan agar hasil yang didapat menghasilkan nilai mendekati dengan yang diinginkan. Pulse Width Modulation (PWM) merupakan suatu cara mengontrol kecepatan secara digital yang digunakan pada motor penggerak. PWM akan mengatur rasio waktu pemberian tegangan kepada motor penggerak. Implementasi algoritma MPC akan diterapkan pada simulasi perangkat lunak pergerakan roda robot mobil. PWM juga akan diterapkan pada perangkat lunak simulasi dengan melakukan perbaikan kecepatan pada pergerakan roda robot mobil. Simulasi merupakan suatu proses peniruan baik menyerupai sesuatu yang nyata beserta keadaan sekelilingnya atau dapat mewakili sebagian.

Parameter yang akan dibandingkan yaitu : kecepatan, jarak tempuh, dan waktu tempuh. Inputan sistem berupa lintasan dengan jenis lintasan datar dan menanjak. Output sistem berupa waktu tempuh, kecepatan, dan jarak yang dapat ditempuh. Berdasarkan hasil pengujian pada simulasi, algoritma MPC dapat memperbaiki kecepatan pada kondisi lintasan yang berubah menanjak hingga batas elevasi maksimum 250 dan membutuhkan waktu yang relatif lebih sedikit dengan algoritma pergerakan roda robot mobil konvensional.

Kata kunci : Implementasi, Algoritma, Model Predictive Control, Kecepatan, Robot mobil.


(3)

iii

AS SPEED CONTROLLER ON WHEELS ROBOT CAR

By:

ADI SETYO NUGROHO 10107295

Algorithms conventional of wheeled robotic movement when they have an uphill path type will produce a movement that is not constant. Speeds at a flat trajectory will vary with the type of trajectory speed uphill. This is due to the lack of control algorithms contained in the movement of the conventional robot wheels. Algorithm Model Predictive Control (MPC) is a control algorithm that can support a process by providing assistance in the form of improvements to the results obtained with a yield close to the desired value. Pulse Width Modulation (PWM) is a way to digitally control the speed used on the motor. PWM will regulate the timing of the ratio of voltage to the motor. Implementation of the MPC algorithm will be applied to simulation software robot car wheel movement. PWM also be applied to the simulation software by improving speed of wheels on the movement of a robot car. Simulation is a good imitation process resembles the real thing and its surroundings, or may represent in part.

Parameters to be compared, namely: speed, mileage, and travel time. Input system with the kind of trajectory is flat and uphill path. System output in the form of travel time, speed, and distance that can be taken. Based on the results of testing on the simulation, the MPC algorithm can improve the speed on the track conditions changed rising to the limit of a maximum elevation by 250 and takes relatively little with the conventional movement of wheeled robotic algorithms.

Keywords : Implementation, Algorithms, Model Predictive Control, Velocity, Mobile robot


(4)

iv

memberikan rahmat dan segala karuniaNya kepada penulis untuk dapat menyelesaikan skripsi ini dengan judul ”Implementasi Algoritma Model Predictive Control Dengan Metode Pulse Width Modulation Sebagai Pengontrol Kecepatan Pada Roda Robot Mobil”.

Karya ilmiah ini disusun sebagai salah satu syarat kelulusan mata kuliah Tugas Akhir pada Program Strata Satu Jurusan Teknik Informatika. Dengan segala keterbasan pengetahuan, pengalaman dan kemampuan serta hambatan yang mengiringi dalam pembuatan penulisan karya ilmiah skripsi ini jauh dari sempurna, namun berkat doa, bimbingan serta dukungan dari banyak pihak menjadikan penulisan karya ilmiah ini dapat diselesaikan dengan baik.

Pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih yang sebesar-besarnya kepada banyak pihak yang telah membantu dalam menyusun karya ilmiah tugas akhir ini, kepada :

1.

Ayahanda Budi Wibowo, dan Ibunda Rr. Ridiyanti Gantini yang selalu memberikan semangat, dorongan motivasi, kasih sayang dan doa yang tidak henti-hentinya yang selalu menyertai penulis.

2.

Bapak Adam Mukharil Bachtiar,S.Kom. selaku Pembimbing yang senantiasa memberikan bimbingan, ilmu, saran dan waktu luangnya sehingga penulis dapat menyelesaikan karya ilmiah tugas akhir ini.


(5)

3. Ibu Tati Harihayati M., S.T., M.T. dan Bapak Andri Heryandi,S.T.,M.T. selaku Dosen Penguji terima kasih atas segala masukannya.

4.

Eka Julia Purnama Sari, dan Trio Saputra sebagai teman yang telah membantu penulis saat melakukan pencarian literatur.

5.

Teman-teman mahasiswa khususnya IF-7 angkatan 2007 yang telah memberikan dukungan dan bantuan selama masa perkuliahan berlangsung yang tidak bisa penulis sebutkan namanya satu-persatu.

6.

Rekan-rekan mahasiswa yang tergabung dalam komunitas Bike to Campus Bandung yang telah memberikan motivasi. Semoga kita menjadi orang yang dapat berguna bagi nusa, bangsa dan agama.

Dan semua pihak yang membantu penulis baik langsung maupun tidak langsung, semoga Allah SWT membalasnya. Akhir kata sebagai makhluk Tuhan penulis menyadari pasti ada kekurangan dan kelemahan yang terdapat pada karya ilmiah skripsi ini.

Untuk itu penulis mengharapkan adanya masukan berupa kritik dan saran dari semua pihak. Semoga karya ilmiah ini bermanfaat dan kita tidak akan pernah berhenti untuk menuntut ilmu sepanjang hidup kita. Amin.

Bandung, Agustus 2011


(6)

1 I.1 Latar Belakang Masalah

Algoritma pergerakan roda robot mobil konvensional jika menemui jenis lintasan yang menanjak akan menghasilkan pergerakan yang tidak konstan. Kecepatan pada saat lintasan datar akan berbeda dengan kecepatan pada jenis lintasan menanjak. Hal ini disebabkan belum adanya kontrol agar putaran yang dihasilkan relatif sama pada algoritma pergerakan roda robot mobil konvensional.

Oleh sebab itu diperlukan perubahan pada algoritma pergerakkan roda robot mobil konvensional berupa algoritma yang dapat memperbaiki pergerakan, agar kecepatan pada saat lintasan datar dengan lintasan menanjak tidak jauh berbeda. Algoritma Model Predictive Control (MPC) adalah algoritma kontrol yang dapat mendukung sebuah proses dengan memberikan bantuan berupa perbaikan agar hasil yang didapat menghasilkan nilai mendekati dengan yang diinginkan. Pulse Width Modulation (PWM) merupakan suatu cara mengontrol kecepatan secara digital yang digunakan pada motor penggerak. PWM akan mengatur rasio waktu pemberian tegangan kepada motor penggerak.

Diperkirakan algoritma Model Predictive Control(MPC) dapat mendukung sebuah proses pergerakan roda robot mobil dengan melakukan implementasi algoritma Model Predictive Control(MPC) kedalam simulasi perangkat lunak. PWM juga akan diterapkan pada perangkat lunak simulasi dengan melakukan perbaikan kecepatan pada pergerakan roda robot mobil.


(7)

Oleh karena itu dibuatlah perangkat lunak untuk Implementasi Algoritma Model Predictive Control Dengan Metode Pulse Width Modulation Sebagai Pengontrol Kecepatan Pada Roda Robot Mobil.

1.2 Perumusan Masalah

Berdasarkan uraian masalah pada latar belakang dapat dirumuskan, bagaimana membangun perangkat lunak yang dapat mengimplementasikan algoritma Model Predictive Control (MPC) untuk menjaga kecepatan pada pergerakan roda robot mobil dalam bentuk simulasi.

1.3 Maksud dan Tujuan

1.3.1 Maksud

Maksud dari penulisan skripsi ini adalah membangun perangkat lunak yang dapat mengimplementasikan algoritma Model Predictive Control(MPC) pada sebuah rangkaian pergerakkan roda robot mobil yang dimodelkan dalam bentuk simulasi.

1.3.2 Tujuan

Tujuan yang ingin dicapai dalam pembuatan skripsi ini adalah sebagai berikut:

a. Dapat menerapkan algoritma Model Predictive Control ke dalam bentuk simulasi perangkat lunak pergerakan roda robot mobil.

b. Mengetahui apakah algoritma Model Predictive Control dapat memperbaiki pergerakan roda robot mobil saat melewati lintasan menanjak pada simulasi perangkat lunak.


(8)

1.4 Batasan Masalah

Batasan masalah dalam membangun perangkat lunak implementasi algoritma Model Predictive Control diantara lain :

a. Implementasi algoritma Model Predictive Control akan diterapkan pada simulasi perangkat lunak.

b. Pulse Width Modulation akan diimplementasikan berupa pengaturan kecepatan pergerakan roda robot mobil pada simulasi perangkat lunak. c. Objek yang akan disimulasikan berupa :

1. Gambar yang dapat mewakili roda sebagai media penggerak, tanpa ada fitur tambahan.

2. Lintasan dalam bentuk dua dimensi dengan dapat dilihat dari samping. d. Parameter yang dibutuhkan saat perhitungan banyaknya putaran roda robot

mobil pada saat simulasi adalah :

1. Diameter roda robot mobil, dengan satuan piksel. 2. Sudut lintasan, dengan satuan derajat.

e. Parameter yang membantu agar dapat memperlihatkan informasi saat simulasi pergerakkan putaran roda robot mobil dilakukan berupa :

1. Waktu tempuh yang sedang dilalui, dengan satuan detik. 2. Sudut lintasan yang sedang dilalui, dengan satuan derajat.

3. Kecepatan putaran roda robot mobil, dengan satuan sentimeter per detik.


(9)

f. Pemodelan analisis perangkat lunak berupa pemodelan terstruktur dengan alat bantu Data Flow Diagram (DFD) dalam menggambarkan model kebutuhan fungsional.

g. Lintasan yang akan digunakan pada simulasi perangkat lunak berupa lintasan menanjak.

h. Tidak membahas rumus turunan secara matematis.

i. Perangkat lunak dibangun dengan menggunakan bahasa pemrograman Borland Delphi 7.

1.5 Metodologi Penelitian

Metodologi yang dilakukan dalam penelitian perangkat lunak berupa metodologi analisis deskriptif, dengan tahapan sebagai berikut:

1. Tahap Pengumpulan Data a. Studi literatur

Studi literatur adalah tahap pengumpulan data dengan mencari referensi yang berkaitan dengan permasalahan mulai dari mencari dari buku-buku, jurnal maupun arikel-artikel yang terdapat di internet, dengan subjek literatur yang berkaitan dengan simulasi, analisis algoritma dan segala yang berkaitan dengan perhitungan pergerakan robot.

b. Observasi langsung

Observasi langsung adalah tahap pengumpulan data dengan mengamati hasil dari percobaan – percobaan yang dilakukan, berupa hasil simulasi perangkat lunak dengan hasil pergerakkan roda pada robot mobil.


(10)

Requirements definition

System and software design

Implementation and unit testing

Integr ation and system testing

Operation and maintenance

2. Tahap Pembangunan Perangkat Lunak

Model yang digunakan untuk tahap pembangunan perangkat lunak adalah model waterfall. Tahap pembangunan perangkat lunak dengan model waterfall[1] dapat dilihat pada gambar I.1, dengan penjelasan sebagai berikut.

Tahapan-tahapan dari model waterfall ini adalah sebagai berikut: a. Requirements definition

Tahap requirements definition akan melakukan analisis terhadap proses perancangan dari teori yang ada dalam pelaksanaan proyek pembuatan atau pengembangan perangkat lunak.


(11)

b. System and software design

Tahap system and software design akan melakukan perancangan simulasi perangkat lunak yang dapat mewakili skema rangkaian pergerakkan roda robot mobil.

c. Implementation and unit testing

Tahap implementation and unit testing adalah tahap menterjemahkan perancangan ke dalam bentuk bahasa pemrograman yang telah ditentukan. d. Integration and system testing

Tahap integration and system testing adalah tahap untuk memastikan bahwa semua pernyataan sudah diuji yang selanjutnya akan mengarahkan penguji untuk menemukan kesalahan yang mungkin terjadi dan juga memastikan bahwa hasil yang diharapkan dapat tercapai.

e. Operation and maintenance

Tahap operation and maintenance adalah tahap pemeliharaan melakukan penyesuaian apabila sistem pergerakkan roda robot mobil mengalami perubahan. Seperti perubahan yang diakibatkan dikarenakan kondisi lingkungan sekitar lintasan dengan kemiringan tertentu.

Tahap pemeliharaan, tidak dapat dilakukan karena tahap pembangunan perangkat lunak pergerakkan roda robot mobil hanya akan sampai tahap integration and system testing.


(12)

1.6 Sistematika Penulisan

Sistematika dari penulisan skripsi ini dibagi dalam beberapa bab dengan pokok pembahasan secara umum sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi mengenai latar belakang masalah, maksud dan tujuan, perumusan masalah, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Bab ini menjelaskan mengenai konsep dasar dan teori-teori pendukung dalam membangun perangkat lunak.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis kebutuhan dalam membangun perangkat lunak, analisis proses pergerakan roda robot mobil pada perangkat lunak sesuai dengan metode pemodelan perangkat lunak terstruktur, yaitu dengan analisis kebutuhan fungsional atau DFD. Selain itu terdapat juga perancangan simulasi untuk perangkat lunak yang akan dibangun sesuai dengan hasil analisis yang sedang dibuat.


(13)

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi teknik algoritma Model Predictive Control, menjelaskan analisa data yang diperoleh dari hasil percobaan dan efktifitas hasil yang telah dilakukan.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan hasil pengujian dari perangkat lunak yang telah dibangun berdasarkan tujuan yang ingin dicapai dan saran yang dapat diberikan untuk perangkat lunak ini untuk kemudian dapat dikembangkan kembali.


(14)

9

II.1 Landasan Teori

Landasan teori adalah teori-teori yang relevan dan dapat digunakan untuk menjelaskan variabel-variabel penelitian. Landasan teori ini juga berfungsi sebagai dasar untuk memberi jawaban sementara terhadap rumusan yang diajukan serta membantu dalam penyusunan instrument penelitian.

II.1.1 Pengenalan Algoritma Model Predictive Control

Gambar II.1 identifikasi model proses berikut akan menjelaskan secara umum langkah kerja dari proses identifikasi. Dalam beberapa kasus, model proses yang didapat terkadang tidak sesuai dengan kondisi proses sesungguhnya. Akibatnya, optimalisasi dari pengontrol MPC sangat bergantung dari kualitas model proses yang didapat. Sehingga terkadang perlu dilakukan identifikasi proses secara berulang untuk dapat memastikan akurasi model proses yang dihasilkan. Walaupun demikian, akurasi model proses tidak akan pernah mencapai kesempurnaan dikarenakan teknik linierisasi suatu elemen proses yang taklinier. Untuk lebih menyempurnakan model proses yang dihasilkan, diperlukan perbaikan model proses identifikasi dengan pengetahuan tentang proses sebenarnya. Model proses identifikasi dilinierisasi dengan model Finite Impulse Response (FIR) dan Auto-Regressive (ARX) untuk respon masukan step. Perbaikan model dilakukan dengan membandingkan hasil yang didapat pada


(15)

model FIR dan ARX serta menggabungkan data informasi pengetahuan tentang proses. [4]

II.1.1.1 Langkah - langkah algoritma Model Predictive Control

Saat pengidentifikasian proses dilakukan, pengontrol MPC akan bekerja berdasarkan model proses yang dihasilkan. Dari alur diagram blok berikut ini, yang terpenting adalah kemampuan pengontrol MPC dalam mengestimasi adanya gangguan untuk keadaan sekarang dan selanjutnya, sehingga kualitas (performance) dari sistem kontrol dapat terjaga pada kondisi kestabilan yang maksimal.

Bahasan berikut, menekankan bagaimana perancangan dan tahap-tahapan implementasi strategi kontrol Model Predictive Control.


(16)

1. Analisis Proses

Tujuan melakukan kajian ilmiah mengenai objek plant yang akan dikontrol adalah mendapatkan persamaan dinamika dari proses. Analisis proses akan memberikan formulasi yang jelas dari objektif sistem kontrol dan keterbatasan (limitations) yang sesuai dengan pengertian MPC sebenarnya. Atau dengan kata lain, analisis proses akan memberikan konfigurasi kontrol proses dalam terminologi MPC. Input dan Output proses digolongkan dalam 4 katagori yang berbeda. Penggolongan ini berdasarkan penggunaannya dalam pengontrolan proses:

a. Manipulated Variabel (MV) – input proses yang diatur untuk menjaga output proses tetap pada setpoint.

b. Controller Variabel (CV) -- output proses yang ingin dijaga pada harga setpoint.

c. Disturbance Variabel (DV) – input proses yang memberi efek terhadap proses dan output variabel tertentu.

d. Constraint (AV) – output proses yang harus dijaga dalam suatu definisi batas jangkauan operasi yang berlawanan dengan setpoint.Proses input dan output dapat juga didefinisikan sebagai teroptimisasi jika pada proses input atau output tersebut terdapat sebuah pertimbangan ekonomis atau kinerja untuk menekan proses variabel dalam arah yang diinginkan hingga beberapa constraint (batasan) proses menjadi aktif. Pada langkah ini juga akan didefinisikan variabel Manipulated (MV) , Disturbance (DV),


(17)

Controlled (CV) dan Constraint (AV) yang berkaitan dengan proses yang ingin dikontrol.

2. Membuat modul program MPC. Modul dapat berisikan informasi algoritma, kondisi, alarm, display, historical information, dan karakteristik lainnya yang menyatakan perlengkapan proses.

3. Setelah modul program dirancang dalam suatu area project, langkah selanjutnya adalah asignment program ke data historian yang terdapat dalam memori sebuah mikro yang disimulasikan menjadi perangkat lunak.

4. Melakukan tes terhadap proses dan data yang didapat akan disimpan secara otomatis dalam data historian. Berdasarkan data-data yang tersimpan dalam data historian, selanjutnya akan dibangkitkan model dari proses dan sinyal kontrol prediksi.

5. Setelah identifikasi model proses dan membangkitkan sinyal kontrol prediksi, dilakukan perbaikan model sehingga lebih mendekati model proses yang sebenarnya.

6. Melakukan tes simulasi untuk memastikan algoritma program sudah berjalan dengan benar. Jika unjuk kerja respon pengontrolan kurang baik, dapat dilakukan tuning parameter pengontrol sehingga didapatkan respon terbaik. Langkah ketujuh ditandai dengan garis terputus-putus, dimaksudkan jika dikehendaki adanya commisioning pada proses sebenarnya (real plant) maka dilakukan proses download dan menjalankan controller. Pada penerapan ini, langkah yang dilakukan hanya sebatas pada point 6 saja (simulasi) dan setelahnya dilakukan evaluasi terhadap perancangan pengontrolan dan simulasi yang dibuat.


(18)

Gambar II.2 adalah bentuk umum algoritma Model Predictive Control.


(19)

II.1.2 Pengertian Pulse Width Modulation

Pulse Width Modulation (PWM) merupakan suatu cara proses pengaturan kecepatan secara digital yang digunakan pada motor DC dengan memberikan pulsa - pulsa untuk waktu on dan off atau yaitu sebuah cara pengalihan daya dengan menggunakan sistem lebar pulsa untuk mengemudikan kecepatan putaran motor DC, jadi sebenarnya yang diatur adalah rasio waktu pemberian tegangan kepada motor DC. Perbandingan panjang waktu on (high) yang lebih lama dari pada waktu off (low) akan membuat motor DC berputar lebih cepat. Waktu periode dapat terjadi pada saat Ton dan Toff mempunyai frekuensi yang sama pada kecepatan yang berbeda. Gambar II.3 adalah gambar perbandingan pulsa high dan low pada gelombang digital.

Semakin rapat periode antar pulsa, maka frekuensi yang dihasilkan akan semakin tinggi, dengan ini berarti kecepatan akan dapat bertambah. Semakin lebar jarak antar pulsa, maka frekuensi semakin rendah ini berarti kecepatan berkurang atau menurun. Kondisi pemberian kecepatan harus disesuaikan dengan


(20)

kondisi lintasan sekitar yang akan dilewati. Misal pada saat jalan lurus, naik atau turun tentunya harus mendapatkan nilai PWM yang cukup tepat.

II.1.2.1 Pengenalan Optocoupler

Opto berarti optik dan coupler berarti pemicu. Jadi, dapat diartikan bahwa optocoupler adalah komponen yang bekerja berdasarkan picu cahaya optik. Optocoupler termasuk dalam sensor yang terdiri dari dua bagian, yaitu pemancar dan penerima. Optocoupler adalah kombinasi dari LED inframerah dengan fototransistor yang dibungkus ke dalam satu kemasan tunggal. Gambar II.4 adalah contoh bentuk fisik optocoupler.

Gambar II.4 Optocoupler

Bagian pemancar (transmitter) dibangun dari sebuah LED inframerah untuk mendapatkan ketahanan yang lebih baik daripada menggunakan LED biasa. Sinar inframerah termasuk pada gelombang elektromagnetik yang tidak terlihat oleh mata. Cahaya ini tidak muncul ke mata karena panjang gelombang cahaya ini terlalu panjang untuk respon mata manusia. Sinar infra merah memiliki wilayah frekuensi 1 x 1012 Hz sampai dengan 1 GHz atau 1014 x frekuensi wilayah dengan panjang gelombang 1μm-1mm. Cahaya inframerah yang terkandung dalam optocoupler tidak perlu lensa untuk memfokuskan cahaya karena pemancarnya memiliki jarak yang dekat ke penerima.


(21)

Bagian optocoupler yang berfungsi sebagai penerima (receiver) adalah fototransistor. Fototransistor adalah komponen elektronik yang berfungsi sebagai detektor cahaya inframerah. Fototransistor mengubah cahaya menjadi sinyal listrik. Sinyal listrik (arus) pada input menjadi sinyal optik dengan menggunakan sumber cahaya yaitu LED dan sinyal optik tersebut dapat diterima detektor untuk diubah menjadi sinyal listrik kembali. Gambar II.5 adalah gambar blok optocoupler untuk kontrol motor DC

Gambar II.5Blok Optocoupler untuk kontrol Motor DC

Penggunaan optocoupler dapat diterapkan untuk mendeteksi perputaran motor. Dengan meletakkan piringan sensor pada celah optocoupler, maka kita akan mendapatkan data kecepatan putaran dari setiap roda. Agar semakin presisi pembacaan datanya, piringan sensor tersebut dibuat selang-seling berwarna hitam dan transparan. Prinsip kerjanya adalah jika antara transistor dan LED dihalangi atau mendapatkan warna hitam pada piringan, maka fototransistor akan ON sehingga output dari kolektor akan berlogika high. Sebaliknya jika antara transistor dan LED tidak dihalangi atau mendapatkan warna putih pada piringan, maka transistor akan OFF sehingga output akan berlogika low.


(22)

II.1.3 Tool Analisis

Pada tingkat teknik, rekayasa perangkat lunak dimulai dengan serangkaian tugas pemodelan yang membawanya kepada suatu spesifikasi lengkap dari persyaratan representasi desain yang komprehensif bagi perangkat lunak yang akan dibangun. Model analisis, yang sebenarnya merupakan serangkaian model representasi teknis dari sistem. Saat ini ada dua yang mendominasi landscape pemodelan analisis. Yang pertama analisis terstruktur, adalah pemodelan klasik dan yang kedua adalah analisis berorientasi objek.

II.1.3.1 DFD

DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut.

DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau dimana data tersebut akan disimpan.


(23)

DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur. Kelebihan utama pendekatan alir data, yaitu :

1. Kejelasan dari menjalankan implementasi teknis sistem.

2. Pemahaman lebih jauh mengenai keterkaitan satu sama lain dalam sistem dan subsistem.

3. Mengkomunikasikan pengetahuan sistem yang ada dengan pengguna melalui diagram alir data.

4. Menganalisis sistem yang diajukan untuk menentukan apakah data-data dan proses yang diperlukan sudah ditetapkan.

DFD terdiri dari context diagram dan diagram rinci (DFDleveled), context diagram berfungsi memetakan model lingkungan (menggambarkan hubungan antara entitas luar, masukan dan keluaran sistem), yang direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. DFD leveled menggambarkan sistem jaringan kerja antara fungsi yang berhubungan satu sama lain dengan aliran data penyimpanan data, model ini hanya memodelkan sistem dari sudut pandang fungsi.

Beberapa simbol yang akan digunakan di dalam DFD antara lain adalah sebagai berikut :

1. Kesatuan luar ( External Entity )

Setiap sistem pasti mempunyai batas sistem yang memisahkan suatu sistem dengan lingkungan luarnya. Sistem akan menerima input dan menghasilkan output kepada lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan dilingkungan luar sistem dapat berupa orang, organisasi atau sistem


(24)

lainnya yang berada dilingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Kesatuan luar ini kebanyakan adalah salah satu dari berikut ini :

a. Suatu kantor, departemen atau divisi dalam perusahaan tetapi di luar sistem yang sedang dikembangkan.

b. Orang atau sekelompok orang di organisasi tetapi di luar sistem yang sedang dikembangkan.

c. Suatu organisasi atau orang di luar organisasi.

d. Sistem informasi yang lain di luar sistem yang sedang dikembangkan. e. Sumber asli dari suatu transaksi.

f. Penerimaan akhir dari suatu laporan yang dihasilakn oleh sistem. 2. Aliran Data ( DataFlow )

Aliran data di DFD diberi simbol suatu panah. Aliran data ini mengalir diantara proses (process), simpan data (data store) dan kesatuan luar (external entity). Aliran data ini menunjukkan aliran dari data yang dapat berupa masukkan untuk sistem atau hasil dari proses sistem.

3. Proses

Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses yang digambarkan secara umum. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut – sudutnya tumpul.


(25)

4. Berkas atau Simpanan Data ( Data Store )

Berkas atau simpanan data merupakan simpanan dari data yang dapat berupa : a. Suatu file atau database di sistem komputer.

b. Suatu arsip atau catatan manual.

c. Suatu kotak tempat data di meja seseorang. d. Suatu tabel acuan manual.

II.1.3.2 ERD

ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpanan. ERD digunakan untuk memodelkan struktur data dan hubungan antar data, karena hal ini relatif kompleks. Dengan ERD kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. ERD menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar data, pada dasarnya ada 3 macam simbol yang digunakan yaitu :

1. Entity

Entity adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat.

2. Atribut

Entiti mempunyai elemen yang disebut atribut, dan berfungsi mendeskripsikan karakter entiti.


(26)

3. Hubungan

Relationship sebagaimana halnya entiti maka dalam hubungan pun harus dibedakan antara hubungan atau bentuk hubungan antar entiti dengan isis dari hubungan itu sendiri. Relasi antara dua file atau dua tabel dapat dikategorikan menjadi tiga macam, yaitu :

a. One to One Relationship

Yang berarti entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas B, dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak dengan satu entitas pada himpunan entitas A.

b. One to Many Relationship

Yang berarti entitas pada himpunan entitas A berhubungan dengan banyak entitas pada satu himpunan entitas B, tetapi tidak sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak dengan satu entitas pada himpunan entitas A.

c. Many to Many Relationship

Yang berarti entitas pada himpunan entitas A berhubungan dengan banyak entitas pada satu himpunan entitas B dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan banyak entitas pada himpunan entitas A.


(27)

II.1.4 Pengertian robot

Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan). Robot biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan bawah air dan luar angkasa, pertambangan, pekerjaan "cari dan tolong" (search and rescue), dan untuk pencarian tambang. Dewasa ini robot mulai memasuki pasaran konsumen di bidang hiburan, dan alat pembantu rumah tangga, seperti penggunaan dalam alat yang membantu untuk penyedot debu, dan alat yang membantu untuk pemotong rumput.

II.1.4.1 Macam – macam robot

Secara fisik umumnya robot dalam dunia pendidikan digunakan sebagai alat bantu menerangkan prinsip ilmu alam atau engineering. Tetapi sebenarnya robot dapat berfungsi selain dari itu. Robot dapat membantu untuk membuat perencanaan, pengerjaan, pencapaian sesuatu, keyakinan, serta mengekspresikan kreativitas.


(28)

Berikut ini akan dibahas macam – macam bentuk robot pada umumnya : 1. Robot Mobile

Gambar II.6 adalah gambar robot beroda. Robot Mobil atau Mobile Robot adalah konstruksi robot yang ciri khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik yang lain.

Robot mobil ini sangat disukai bagi orang yang mulai mempelajari robot. Hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang berat. Untuk dapat membuat sebuah robot mobile minimal diperlukan pengetahuan tentang mikrokontroler dan sensor-sensor elektronik.

Base robot mobil dapat dengan mudah dibuat dengan menggunakan plywood atau triplek, akrilik hingga menggunakan logam ( aluminium ). Robot mobil dapat dibuat sebagai pengikut garis ( LineFollower ) atau pengikut dinding ( WallFollower ) ataupun pengikut dinding.


(29)

2. Robot jaringan

Robot jaringan adalah pendekatan baru untuk melakukan kontrol robot menggunakan jaringan internet dengan protokol TCP/IP. Perkembangan robot jaringan dipicu oleh kemajuan jaringan dan internet yang pesat. Dengan koneksi jaringan, proses kontrol dan monitoring, termasuk akuisisi data bila ada, seluruhnya dilakukan melalui jaringan. Keuntungan lain, koneksi ini bisa dilakukan secara nirkabel. Gambar II.7 adalah gambar robot jaringan.

Di Indonesia, pengembang robot jaringan belum banyak, meski pengembang dan komunitas robot secara umum sudah banyak. Hal ini disebabkan tuntutan teknis yang jauh lebih kompleks. Salah satu robot jaringan yang sudah berhasil dikembangkan adalah LIPI Wireless Robot yang dikembangkan oleh Grup Fisika Teoritik dan Komputasi–GFTK LIPI.

Seperti ditunjukkan di LIPI Wireless Robot, seluruh proses kontrol dan monitoring bisa dilakukan melalui perambah internet. Lebih jauh, seluruh sistem dan protokol yang dikembangkan untuk LIPI Wireless Robot ini telah


(30)

dibuka sebagai open-source dengan lisensi GNU Public License (GPL) oleh SourceForge dengan nama openNR.

3. Robot Manipulator ( tangan )

Gambar II.8 adalah gambar robot tangan. Robot bertangan hanya memiliki satu tangan namun fungsinya tidak jauh seperti tangan manusia yang fungsinya untuk memegang atau memindahkan barang, contoh robot ini adalah robot las di Industri mobil, robot merakit elektronik.

4. Robot Humanoid

Gambar II.9 adalah gambar robot humanoid. Robot yang memiliki kemampuan menyerupai manusia, baik fungsi maupun cara bertindak, contoh

Gambar II.8 Robot Tangan


(31)

robot ini adalah Ashimo yang dikembangkan oleh Honda. Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan). Robot biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan bawah air dan luar angkasa, pertambangan, pekerjaan “cari dan tolong” (search and rescue), dan untuk pencarian tambang. Belakangan ini robot mulai memasuki pasaran konsumen di bidang hiburan, dan alat pembantu rumah tangga, seperti penyedot debu, dan pemotong rumput.

5. Robot Berkaki


(32)

Gambar II.10 adalah gambar robot berkaki. Robot berkaki memiliki kaki seperti hewan atau manusia, yang mampu melangkah, seperti robot serangga, robot kepiting, baik untuk berkaki enam maupun delapan.

6. Flying Robot (Robot Terbang)

Gambar II.11 adalah gambar robot yang memiliki kemampuan dapat terbang diudara. Robot yang mampu terbang ini menyerupai pesawat model yang di program khusus untuk memonitor keadaan di tanah dari atas, dan juga untuk meneruskan komunikasi.

7. UnderWater Robot (Robot dalam air)

Gambar II.12 adalah gambar robot dalam air. Robot ini digunakan di bawah laut untuk memonitor kondisi bawah laut dan juga untuk mengambil sesuatu di bawah laut.

Gambar II.11 Robot Terbang


(33)

Ada beberapa unjuk kerja robot yang perlu diketahui, antara lain: a. Resolusi, adalah perubahan gerak terkecil yang dapat diperintahkan

oleh sistem kontrol pada lingkup kerja manipulator.

b. Akurasi adalah besarnya penyimpangan/deviasi terhadap masukan yang diketahui

c. Repeatability adalah kemampuan robot untuk mengembalikan end effector (pemegang/griper) pada posisinya semula

d. Fleksibilitas merupakan kelebihan yang dimiliki oleh robot secara umum jika dibandingkan dengan mesin konvensional. Hal inipun tergantung kepada pemrogram dalam merencanakan pola geraknya.


(34)

Gambar II.13 Bagan model Proses

II.1.5 Pengertian model proses

Model suatu sistem dapat direpresentasikan dalam suatu bentuk ekspresi matematik. Ekspresi matematik tersebut dapat diturunkan dari hukum-hukum fisika maupun dari hubungan output terhadap input yang diberikan.Berdasarkan ekspresi matematik tersebut, maka informasi dinamik serta kondisi steadystate (ajeg/mantap) dari suatu sistem dapat diperkirakan. Informasi-informasi ini berguna bagi seorang sistem enjiner dalam melakukan analisis dan teknik disain suatu sistem.[4]


(35)

Dalam hubungannya dengan sistem kontrol, sebuah model harus berisi informasi prediksi perilaku suatu sistem sebagai konsekuensi dari perubahan kondisi operasi suatu proses. Keterkaitannya dengan konteks ini,berarti sebuah model dapat berupa fungsi matematika maupun informasi statistik yang dapat menjelaskan aspek khusus suatu proses tertentu. Selain tinjauan matematika dan statistik, sebuah model dapat juga dipandang sebagai deskripsi kualitatif dari perilaku suatu proses. Pengklasifikasian ini ditunjukkan pada gambar II.13 bagan model proses.

II.1.6 Pengertian Embedded Software

Embedded software adalah sistem komputer dengan tujuan khusus, yang seluruhnya dimasukkan ke dalam alat yang di kontrol. Embedded software menunjukkan bahwa sistem ini merupakan bagian yang tidak dapat berdiri sendiri. Sebuah embedded software memiliki kebutuhan tertentu dan melakukan tugas yang telah diset sebelumnya, tidak seperti komputer pribadi serba guna. Contoh sistem atau aplikasinya antara lain adalah instrumentasi medik, process control, automated vehicles control, dan perangkat komunikasi. Embedded software biasanya diimplementasikan dengan menggunakan mikrokontroler.

II.1.7 Pengenalan Mikroprocessor

Sebuah mikroprosesor (sering dituliskan: µP) adalah sebuah central processing unit (CPU) komputer elektronik yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor.


(36)

Berikut adalah karakteristik penting dari mikroprosesor :

1. Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.

2. Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuk transfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.

3. Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.

4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.

5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.

II.2 Pengenalan Borland Delphi 7

Bahasa pemrograman Delphi merupakan pemrograman visual (berbasis windows) yang dibuat oleh sebuah Perusahaan Software Borland .Inc. Bahasa pemrograman Delphi merupakan bahasa pemrograman yang dikembangkan dari bahasa pemrograman Pascal. Fungsi dari aplikasi ini sama dengan fungsi aplikasi visual lainnya.


(37)

Delphi 7.0 dapat menangani pembuatan aplikasi sederhana hingga aplikasi berbasis jaringan. Delphi 7.0 dapat dimanfaatkan untuk membuat aplikasi berbasis teks, grafis, angka, database maupun web.

Bahasa pemrograman visual memiliki dua hal yaitu object dan kode program. Objek berbentuk komponen yang dapat dilihat (visual), sedangkan kode program merupakan sekumpulan teks yang digunakan sebagai perintah yang telah diatur dengan suatu aturan.

Keunggulan yang dimiliki oleh BorlandDelphi yaitu :

a. Memiliki banyak fitur berupa component yang dapat ditambahkan. b. Dapat merancang dan membuat tampilan perangkat lunak yang bagus c. Mudah dalam penulisan coding


(38)

33 III.1 Analisis Sistem

Sistem rangkaian pada perangkat lunak sebelumnya merupakan proses berkesinambungan (looping), dimana memiliki rangkaian elektronik berbasis mikrokontroler berupa sistem kontrol yang menangani seluruh proses dari proses akuisisi data berupa data perubahan posisi dan proses pengendalian gerakan robot melalui aktuator. Aktuator sendiri adalah komponen penggerak seperti motor DC yang akan memindahkan posisi robot itu sendiri terhadap lingkungan yang dalam hal ini adalah environment, yang pada akhirnya informasi ini dijadikan masukan bagi sistem kontrol. Gambar III.1 adalah bagan sistem perangkat lunak pergerakkan roda robot mobil pada umumnya


(39)

III.1.1 Analisis Masalah

Sistem pada perangkat lunak yang telah terdefinisikan akan memudahkan dalam perencanaan perancangan rangkaian. Keluaran atau hasil dari sistem adalah kecepatan putaran motor DC cenderung stabil, artinya pada saat robot melewati lintasan berupa tanjakkan, umumnya sinyal Pulse Width Modulation pada motor DC akan menyempit sehingga robot cenderung berjalan lambat atau tidak kuat bergerak. Perlunya prediksi gangguan berupa data historian sebelum menyelesaikan looping sistem. Sehingga nilai banyaknya putaran yang dikehendaki dapat dicapai.

III.1.2 Analisis Algoritma Konvensional

Dalam keadaan nyata membutuhkan media atau alat yang dapat membaca atau mendeteksi putaran yang sedang berjalan. Media atau alat ini juga dapat membantu dalam mengatur putaran yang sedang berlangsung agar menghasilkan putaran yang konstan. Alat ini bernama optocoupler, alat ini nantinya juga akan membantu jika pada penerapan algoritma Model Predicitve Control diterapkan pada sisi hardware. Kondisi awal optocoupler akan mendeteksi putaran motor DC. Data yang terbaca oleh sensor berupa tegangan digital, kemudian diproses oleh mikrokontroler. Data tersebut dibandingkan dengan set point, untuk menjadi data keluaran sinyal Pulse Width Modulation. Jika data lebih kecil dari set point, maka sinyal Pulse Width Modulation tersebut diperlebar. Setelah itu, sinyal tersebut akan menggerakkan motor DC sehingga robot dapat berjalan dengan kecepatan tetap atau stabil.


(40)

Pada penerapan ke dalam sistem atau dalam hal ini berupa algoritma yang nantinya akan disimpan dalam mikrokontroler pada robot mobil beroda membutuhkan bantuan alat yang bernama optocoupler yang berfungsi agar dapat membaca bahwa telah terjadi putaran pada roda robot. Namun perlu ada pembacaan pada algoritma yang tertanam pada robot berupa menghitung putaran yang sedang terjadi. Dengan melakukan pengidentifikasian akan dimisalkan berupa piringan yang diberi warna selang – seling hitam dan putih seperti pada gambar III.2 piringan hitam putih. Piringan tersebut dapat dipasangkan pada roda robot. Jadi jika pada roda robot mengalami pergerakkan, piringan tersebut juga ikut berputar mengikuti putaran yang sama dengan roda pada robot mobil.

Piringan hitam putih berguna jika pada saat membutuhkan parameter yang berkaitan dengan putaran roda. Semakin banyak jumlah warna hitam dan putih pada piringan, semakin teliti pula dalam hal pencatatan putaran. Dikarenakan semakin besar nilai pembaginya. Misal mengunakan piringan dengan jumlah


(41)

hitam dan putih 16, maka ketelitian minimumnya merupakan kelipatan 1/16 atau 0,0625. Jika jumlah piringan tersebut dibandingkan dengan piringan yang memiliki jumlah warna hitam dan putihnya lebih sedikit misal 4 atau 8 maka ketelitian minimum perhitungan waktu untuk hasil putaran menjadi sebesar 1/4 atau 0,25 hingga 1/8 atau 0,125.

Tabel III.1 Pseudocode membaca piringan hitam putih pada proses membaca putaran Procedure hitung putaran()

deklarasi :

putih, hitam, putaran, t, Rps := integer; timer := time;

deskripsi :

putih := 0; hitam := 0; putaran := 0; t := 0;

rps := 0;

t := TimeToInt(timer);

If putih < 1 then //piringan putaran pertama

putih += 1;

Else If (putih >= 1 AND putih <= 15) then

//piringan putih

putih += 2;

Else If putih > 15 then //looping

putih  1; End If;

If hitam <= 16 then //piringan hitam

hitam += 2;

Else If hitam > 16 then //looping

hitam  2; End If;

If hitam == 16 then //per satu kali putaran

putaran += 1; End If;

/* pencatatan timer per 1 detik */

If (t – (t – 1)) == 1 then If putih > hitam then

Write putih;

Rps  putaran + (putih / 16); Else If hitam > putih then

Write hitam;

Rps  putaran + (hitam / 16); Else If putih == hitam then

Rps  null; End If;


(42)

Gambar III.3 Flowchart saat membaca piringan pada proses membaca putaran

Kelebihan :

1. Waktu untuk mengeksekusi relatif lebih cepat.


(43)

Kekurangan :

1. Jika dengan kondisi lintasan berubah, dalam hal ini menanjak. Kecepatan putaran roda akan tidak stabil. Dikarenakan belum adanya kontrol yang dapat menjaga nilai banyaknya putaran pada roda.

2. Waktu tempuh akan lebih lama pada kondisi lintasan menanjak.

3. Tidak adanya variabel yang menampung untuk mengkontrol putaran roda.

III.1.3 Analisis Algoritma Model Predictive Control

Proses pada algoritma Model Predictive Control yang digunakan pertama kali dilakukan robot mobil beroda adalah start dimana akan menjadi masukan untuk optocoupler. Optocouler berfungsi untuk membaca putaran roda robot, putaran ini yang akan menjadi masukan pada mikrokontroller untuk kemudian dilakukan proses selanjutnya berupa perbaikan agar nilai putaran dapat sesuai dengan yang diinginkan, berupa putaran yang konstan.

Pada gambar III.4 flowchart implementasi algoritma Model Predictive Control akan menjelaskan proses kerja rangkaian untuk mengatur kecepatan roda robot, yaitu:

1. Menentukan terlebih dahulu diameter roda, dan sudut elevasi yang akan disimulasikan.

2. Proses kerja selanjutnya ialah memutar roda, dengan masukan diameter roda dan sudut yang akan dilewati.


(44)

3. Saat roda telah berputar, maka akan ada proses pembacaan putaran roda dengan menghasilkan data berupa kecepatan, percepatan atau akselerasi dan informasi berupa sudut yang sedang dilalui.

4. Setelah mendapatkan kecepatan dan percepatan atau akselerasi. Akan dilakukan proses perhitungan yang menghasilkan rata – rata yang diambil dari kecepatan maupun percepatan yang telah dilalui sebelumnya.

5. Selama roda melakukan perputaran, nilai dari kecepatan sekarang akan dibandingkan dengan kecepatan rata – rata yang telah dihasilkan pada proses sebelumnya.

6. Dalam proses perbandingan putaran, akan didapat bahwa putaran yang sedang terjadi sekarang apakah konstan atau tidak. Jika putaran yang dinilai adalah konstan maka proses akan kembali(looping) pada proses memutar roda. Karena mempertahankan putaran yang ada agar putaran yang dihasilkan konstan. Namun jika dinilai putaran yang ada belum konstan sesuai dengan rata – rata putaran sebelumnya, maka akan melewati proses naik dan turunkan sinyal.

7. Proses dinyatakan selesai jika tidak terjadi putaran roda. Namun proses akan terus menerus berulang dimana putaran roda terus terjadi.

Pada perangkat lunak simulasi algoritma Model Predictive Control tidak akan membahas bagaimana cara menambahkan dan mengurangi sinyal agar putaran roda berubah. Karena proses tersebut ada pada level hardware berupa Pulse Width Modulation yang memang di luar dari bahasan algoritma Model Predictive Control itu sendiri.


(45)

Gambar III.4 Flowchart implementasi algoritma MPC

Pada proses naik dan menurunkan sinyal Pulse Width Modulation berupa proses di luar algoritma Model Predictive Control namun juga turut dijelaskan pada flowchart gambar III.4 di atas karena juga dapat membantu menjelaskan proses yang sedang berjalan, jika algoritma Model Predictive Control ini diterapkan pada proses pergerakkan putaran roda pada level hardware berupa


(46)

Pulse Width Modulation. Pulse Width Modulation akan mengatur cepat atau lambatnya robot berjalan dengan cara jika nilai Pulse Width Modulation yang berupa sinyal, lebih kecil daripada set point, maka pada mikrokontroller akan memperlebar sinyal Pulse Width Modulation, begitu juga sebaliknya. Jika nilai Pulse Width Modulation yang berupa sinyal, lebih besar daripada set point, maka pada mikrokontroller akan mempersempit sinyal. Sehingga robot dapat berjalan stabil. Sinyal yang dimaksud adalah berupa frekuensi listrik pada motor DC. Sedangkan set point yang dimaksud didapat dari sinyal rata-rata yang diperoleh saat kecepatan hampir konstan atau memliki percepatan yang tidak berubah.

Kelebihan :

1. Kecepatan putaran roda akan relatif stabil dalam kondisi lintasan yang berubah, dalam hal ini menanjak. Karena adanya penambahan kontrol pada putaran yang sedang terjadi.

2. Waktu tempuh relatif lebih cepat pada kondisi lintasan menanjak. 3. Terdapat variabel yang menampung untuk mengkontrol putaran roda. Kekurangan :

1. Adanya jeda waktu(laging) untuk mengeksekusi pergerakan roda.

2. Perlunya variabel tambahan untuk menjaga kondisi pergerakan roda agar tetap stabil.


(47)

Gambar III.5 Bagan sistem perangkat lunak pergerakkan roda robot mobil setelah implementasi algoritma MPC

Pada gambar III.5 Bagan sistem perangkat lunak pergerakkan roda robot mobil setelah implementasi algoritma Model Predictive Control program pada mikro 2 berisi implementasi algoritma Model Predictive Control yang dirancang untuk menghitung data masukan dari roda yang berputar, lalu mengirimkannya ke mikro 1 secara paralel. Program pada mikro 1 berisi implementasi algoritma Model Predictive Control yang dirancang untuk membandingkan masukan serial dari sistem minimum mikrokontroller dengan masukan dari mikro 2 lalu mengatur lebar sinyal Pulse Width Modulation, kemudian data dikirim ke motor driver sehingga roda robot dapat berjalan stabil.


(48)

III.1.3.1 Analisis Keterkaitan Algoritma Model Predictive Control dengan metode Pulse Width Modulation

Pada gambar III.4 sebelumnya yang membahas mengenai flowchart algoritma Model Predicitve Control namun belum menjelaskan bagaimana proses atau cara menaikan meupun menurunkan sinyal agar memperoleh hasil putaran yang mendekati dengan yang diharapkan. Dengan membahas keterkaitan atau relasi antara algoritma Model Predictive Control dengan metode Pulse Width Modulation diharapkan dapat memperjelas bagaimana cara kerja maupun sistem yang akan digunakan pada simulasi perputaran roda robot mobil.

Analisis proses akan memberikan pengaturan kontrol proses dalam terminologi Model Predictive Control. Input dan Output proses digolongkan dalam 4 katagori yang berbeda. Penggolongan ini berdasarkan penggunaannya dalam pengontrolan proses[3], yaitu :

a. Manipulated Variabel (MV) – input proses yang diatur untuk menjaga output proses tetap pada setpoint.

Berupa hasil putaran sebelumnya, untuk menjadi patokan atau set point agar mendapatkan perbaikan.

b. Controller Variabel (CV) – output proses yang ingin dijaga pada harga setpoint.

Hasil putaran saat itu, putaran yang didapat akan disimpan untuk kemudian dibandingkan dengan putaran berikutnya.

c. DisturbanceVariabel (DV) – input proses yang memberi efek terhadap proses dan output variabel tertentu.


(49)

Dapat berupa sudut elevasi pada lintasan, diameter roda pada robot mobil, dan bobot mobil.

d. Constraint (AV) – output proses yang harus dijaga dalam suatu definisi batas jangkauan operasi yang berlawanan dengan set point.

Proses input dan output dapat juga didefinisikan sebagai teroptimisasi jika pada proses input atau output tersebut terdapat sebuah pertimbangan ekonomis atau kinerja untuk menekan proses variabel dalam arah yang diinginkan hingga beberapa constraint (batasan) proses menjadi aktif. Dalam hal ini yaitu Pulse Width Modulation (PWM), dengan melihat kembali pada gambar III.4 flowchart algoritma Model Predicitve Control yaitu proses menaikan atau menurunkan sinyal. Agar didapatkan hasil putaran yang mendekati konstan. Jika pada simulasi algoritma Model Predicitve Control dengan cara melakukan penambahan kecepatan namun sedikit-sedikit atau tidak terlalu signifikan dalam melakukan perubahan kecepatan.


(50)

III.1.3.2 Analisis Perhitungan yang Berhubungan Dengan Keadaan Riil

Pada perancangan perangkat lunak simulasi algoritma Model Predictive Control memerlukan analisis mana-mana saja perhitungan yang dapat mewakili dengan keadaan sebenarnya. Begitupun juga pula pada algoritma Model Predictive Control yang akan diembed pada perangkat lunak simulasi ini. Jika melihat kasus lintasan yang menjadi bahasan pada tugas akhir skripsi berupa tanjakan, maka pasti ada gaya ke belakang robot mobil beroda karena benda tersebut mempunyai berat, dengan memiliki persamaan yaitu :

F

blk

= m.g.cos α

Fblk = gaya ke belakang sebuah benda

m = bobot benda g = gravitasi

α = sudut elevasi tanjakan sebagai contoh, diketahui :

m = 1kg g = 32.6

α = 15 0

Fblk = 1 x 32.6 x 15


(51)

jika diambil dalam kondisi nyata, maka akan ada gaya gesek, yang arahnya melawan arah benda, dengan rumus gaya gesekan :

f

k

= μ

k

.m.g.sin α

fk = gaya gesek

μk = koefisien gesek (0,2) m = massa benda

g = gravitasi

α = sudut elevasi tanjakan

namun dapat pula pada simulasi algoritma Model Predictive Control tidak dikerjakan gaya apapun, atau memang pada algoritma Model Predictive Control tidak memperhitungkan gaya yang terjadi. Karena memang tidak ada masukan berupa tenaga atau usaha agar robot mobil beroda dapat melaju dan memang tidak ada alat atau media yang dapat terpasang dan menghitung usaha yang sedang terjadi. Karena hal ini diluar cakupan kontrol algoritma Model Predictive Control. Perhitungan percepatan laju roda dapat diwakili oleh perubahan sudut, dengan rumus percepatan benda yaitu :

a = percepatan g = gravitasi

α = sudut elevasi tanjakan


(52)

maka kecepatan akhir mobil tersebut bisa didapat menggunakan rumus GLBB : atau dimana s = h . sin α

Vt = kecepatan pada waktu tertentu V0 = kecepatan awal

s = jarak; h = tinggi

t = waktu

Dalam kondisi nyata bobot merupakan faktor yang dapat memengaruhi cepat atau lambatnya sebuah benda dapat melaju. Namun dapat pula bobot sebuah benda tidak memengaruhi dalam perhitungan pada simulasi. Dengan asumsi benda atau robot mobil beroda pada perangkat lunak simulasi adalah benda titik. Hal ini dapat diterapkan pada simulasi berupa piksel, dengan menganggap masukan pada perhitungan diwakili oleh piksel yang sedang dilalui. Selanjutnya faktor yang kurang lebih juga memengaruhi perhitungan adalah diameter roda. Jika akan memasukkan diameter roda didalam perhitungan perangkat lunak simulasi, maka langkah selanjutnya harus memperhitungkan torsi perputaran roda dengan anggapan sebagai berikut :

1. Roda robot mobil yang akan disimulasikan ada empat buah atau berapapun dengan ukuran yang sama pada masing-masing roda.

2. Roda dianggap berbentuk silinder dengan jari-jari yang diwakilkan oleh R.

3. Satu-satunya gaya yang bekerja pada setiap roda hanyalah gaya gesekan :


(53)

4. Setiap roda mendapatkan beban yang sama dari bobot robot mobil, atau setiap roda mendapatkan bobot mobil dibagi 4, jadi :

fk= μk.1/4 N = ¼ μk.M.g.sin α

Jadi jika memperhitungkan semua torsi yang bekerja pada keempat roda, menjadi:

Sisanya untuk mencari kecepatan robot mobil beroda dapat menggunakan rumus GLBB seperti di bawah ini :

atau dimana s = h sin α Vt = kecepatan pada waktu tertentu

V0 = kecepatan awal

α = sudut elevasi t = waktu

ternyata jika melibatkan ukuran diameter roda, massa total mobil dan massa roda harus diperhitungkan selain gaya gesek dan sudut elevasinya. Hal ini dapat menjadikan rumit, karena harus memperhitungkan titik berat benda dan jarak titik pusat kedua roda. Maka untuk memudahkan pembacaan informasi serta menjalankan yang hanya dapat berhubungan dengan algoritma yang berada pada pergerakan roda robot mobil dibuatkanlah analisis yang berisi parameter namun


(54)

dari luar sistem perputaran roda untuk kemudian diterapkan pada perangkat lunak simulasi.

III.1.3.2 Analisis Parameter Eksternal yang Digunakan pada Simulasi

Pada gambar 3.4 flowchart implementasi algoritma Model Predictive Control terdapat simbol – simbol masukan berupa data yang memerlukan penjelasan yaitu berupa faktor perhitungan lain yang berkaitan dengan putaran roda, salah satunya yaitu perhitungan kecepatan berdasarkan besar kecilnya diameter pada roda robot. Berikut merupakan rumus yang dapat menghasilkan kecepatan dengan diketahui di awal dari banyaknya putaran per detik, dan diameter roda.

Keterangan :

V = Velocity atau Kecepatan

φ

= diameter atau diameter roda

π

= konstanta dengan nilai 22/7 atau 3.14

rps = rotational per second atau putaran per detik sebagai contoh, diketahui :

φ

= 1,8 cm

π

= 22/7 atau 3.14 rps = 2 rps


(55)

dengan menggunakan rumus V =

φ

*

π

* rps maka :

V = 1,8 x 3,14 x 2 V = 11,304 cm/s

Untuk melakukan perhitungan mengukur perubahan putaran yang terjadi pada roda robot juga dapat berdasarkan sudut elevasi dengan menggunakan rumus perhitungan seperti berikut.

A = V2 *

sin

((

α

*

π

) / 180)

Keterangan :

A = Acceleration atau Percepatan V = Velocity atau Kecepatan

α

= angle atau sudut elevasi


(56)

π

= phi, konstanta dengan nilai 22/7 atau 3.14 sebagai contoh, diketahui :

V = 1,8

α

= 150

π

= 22/7 atau 3.14 dengan menggunakan rumus

A = V2 *

sin

((

α

*

π

) / 180) maka :

A = V2 *

sin

((

α

*

π

) / 180)

A = 1,82 x sin ((15 x 3,14) / 180) A = 3,24 x sin (47,1/180)

A = 3,24 x sin 0,26 A = 0,015 cm/s2


(57)

III.1.3.3 Analisis Korelasi Satuan yang Digunakan pada Simulasi

Analisis satuan yang digunakan pada kejadian sebenarnya adalah satuan yang umum digunakan dan sesuai dengan environment atau hal-hal sekitarnya, seperti halnya dengan penggunaan satuan untuk kecepatan benda adalah cm/s. Menggunakan sentimeter per detik dikarenakan environment sekelilingnya lintasan yang dilalui tidak lebih jauh dari satuan meter bahkan kilometer. Jarak yang dilalui tidak mencapai angka puluhan meter ataupun kilometer, maka tepat dan efisien dengan menggunakan satuan cm/s saja.

Dalam penerapan kedalam simulasi perangkat lunak. Didalam layar yang digunakan juga bisa dikatakan tidak efisien jika menggunakan satuan cm/s atau sentimeter per detik. Hal ini bisa dianalisis dengan melihat layar yang digunakan pada saat simulasi memiliki lebar yang terbatas. Maka agar satuan kecepatan pada saat simulasi tepat dan efisien jika menggunakan satuan piksel, sesuai dengan karakteristik layar. Satuan kecepatan yang akan digunakan menggantikan satuan jarak pada kondisi nyata diwakili dengan satuan piksel per detik.

Tabel III-2 Korelasi Satuan antara Riil dengan Simulasi

Satuan Kondisi real Layar

Jarak Sentimeter Piksel

Kecepatan Cm / s Piksel / detik


(58)

Dengan layar antarmuka, dan spesifikasi yang dimiliki oleh perangkat keras yang digunakan pada pembangunan perangkat lunak memiliki karakteristik sebagai berikut :

Resolusi : 1366 x 768 piksel Kedalaman : 96 Pixel Per Inch (PPI)

Pada Kedalaman 96 PPI dengan artian bahwa setiap 1 inch pada layar memiliki 96 piksel, namun satuan jarak pada perangkat lunak yang akan digunakan ialah sentimeter. Perlu adanya perubahan satuan agar penggunaan jarak pada layar dapat mendekati keadaan nyata.

1 inch≈ 2,54 sentimeter 1 inch≈ 96 piksel

= 37,8 piksel per sentimeter

Maka didapat kedalaman layar dengan 37,8 PPC atau setara dengan 96 PPI. Didalam penggunaan perangkat lunak perhitungan jarak, kecepatan, dan percepatan sudah dapat menggunakan satuan sentimeter, namun diharuskan memberikan pembagi pada setiap hasil piksel dengan nilai 37,8.


(59)

III.1.4 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional merupakan bagian penting lainnya agar simulasi perangkat lunak dapat berjalan dengan baik. Untuk mengetahui elemen-elemen yang berhubungan dengan sistem yang sedang berjalan.

III.1.4.1 Kebutuhan Karakteristik Perangkat Keras Pembangun Simulasi

Perangkat keras pendukung dalam membangun simulasi perangkat lunak ini membutuhkan seperangkat komputer dengan spesifikasi minimum :

1. Processor 1.7 Ghz 2. RAM 1 GB.

3. Harddisk 80 GB.

4. Monitor dengan resolusi minimum 1366 x 768 piksel

III .1.4.2 Kebutuhan Karakteristik Perangkat Lunak Pembangun Simulasi

Perangkat lunak pendukung dalam membangun perangkat lunak simulasi algoritma Model Predictive Control adalah :

1. Sistem operasi windows xp sp2. 2. Borland delphi 7.


(60)

III.1.4.3 Kebutuhan Karakteristik Perangkat Keras Pengguna Simulasi

Perangkat keras pendukung agar dapat menggunakan simulasi perangkat lunak algoritma Model Predictive Control kurang lebih membutuhkan seperangkat komputer dengan spesifikasi minimum :

1. Processor intel 1.7 Ghz. 2. RAM 512 MB.

3. Harddisk20GB.

4. Monitor dengan resolusi minimum 1366 x 768 piksel

III.1.4.4 Kebutuhan Karakteristik Perangkat Lunak Pengguna Simulasi

Perangkat lunak pendukung agar dapat menggunakan simulasi perangkat lunak algoritma Model Predictive Control dengan spesifikasi minimum sistem operasi windows xp sp2.

III.1.4.5 Karakteristik Pengguna

Dalam menggunakan simulasi perangkat lunak dibutuhkan pengguna yang sudah berpengalaman dalam menggunakan komputer atau yang telah mengikuti training simulasi perangkat lunak ini dengan karakteristik sebagai berikut :

Tabel III.3 Karakteristik Pengguna

Pengguna Tanggung Jawab Hak Akses Tingkat Pendidikan

Umum -- berinteraksi dengan perangkat lunak


(61)

III.1.5 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional ini meliputi Entity Relationship Diagram(ERD) dan Data Flow Diagram (DFD). Entity Relationship Diagram menjelaskan kardinalitas antara entitas – enitas dan menjelaskan pula relasi antar entitas – entitas yang berada pada simulasi perangkat lunak algoritma Model Predictive Control. Data Flow Diagram berikut ini merupakan alat yang dapat menggambarkan suatu proses di dalam sistem secara terstruktur dan jelas, serta dokumentasi dari perangkat lunak yang baik. DFD suatu level dapat diturunkan menjadi level berikutnya jika memang terdapat proses yang masih dapat dijelaskan.

III.1.5.1 ERD Perangkat Lunak Implementasi Algoritma MPC

Pembangunan perangkat lunak implementasi algoritma Model Predictive Control tidak menghasilkan tabel. Data akan ada jika proses perhitungan dilakukan yaitu disaat proses menghitung kecepatan, percepatan dan sudut lintasan.


(62)

III.1.5.2 Diagram Konteks Perangkat Lunak Implementasi Algoritma MPC

Untuk menggambarkan analisis perangkat lunak secara umum digunakan alat bantu yaitu diagram konteks dan data flow diagram. Diagram konteks dari perangkat lunak simulasi algoritma Model Predictive Control yang akan dibangun adalah sebagai berikut :

IMPLEMENTASI ALGORITMA

MODEL PREDICTIVE CONTROL

SEBAGAI PENGONTROL KECEPATAN PADA RODA

ROBOT MOBIL

pengguna

info_putaran, info_sudut sekarang

data_permintaan_lintasan data_diameter_roda,

berat_objek,


(63)

III.1.5.3 DFD Level 1

Pada DFD Level 1 akan dibagi menjadi tiga garis besar proses utama, yaitu pemilihan lintasan, pemilihan diameter roda, dan simulasi.

1. Pemilihan lintasan

Dimana dengan memilih lintasan, dengan sekaligus pengguna memilih sudut yang akan diperlihatkan pada simulasi perangkat lunak.

2. Penggambaran

Menginputkan jika akan melakukan perubahan diameter roda, dan melakukan perubahan bentuk berupa letak titik koordinat pada kanvas.

3. Perhitungan

Dalam proses ini akan menampilkan perubahan pergerakan setelah diameter roda diatur, dan memilih lintasan agar mendapatkan informasi yang terjadi dari perbandingan antara algoritma Model Predictive Control dengan algoritma robot konvensional. hasil berupa kecepatan, akselerasi, dan sudut yang sedang dilaluiakan ditampilkan sebagai bahan informasi.


(64)

1.0 Pemilihan

lintasan

2.0 Penggambaran

pengguna info_sudut sekaranginfo_putaran,

d a ta _ p e rmi n ta a n _ lin ta s a n data_diameter_roda, berat_objek data_piksel_koordinat 3.0 Perhitungan d a ta _ p iks e l

Berikut adalah spesifikasi proses dari DFD untuk menjelaskan perilaku – perilaku yang ada didalam DFD secara lebih rinci. Berikut spesifikasi proses pada simulasi perangkat lunak algoritma Model Predictive Control yang dapat dilihat pada tabel III.4:

Tabel III.4 Spesifikasi Proses DFD level 1

no Spesifikasi Keterangan

1 No 1.0

Nama Pemilihan lintasan

Input data_permintaan_lintasan Output data piksel koordinat,

data_diameter_roda, berat_objek

Logika proses - Pengguna akan memilih lintasan berdasarkan nama file:sudut_algoritma.coaster

- Pengguna mendapatkan data diameter roda dan berat objek.

2 No 2.0

Nama Penggambaran


(65)

no Spesifikasi Keterangan

Input data_piksel_koordinat Output data_piksel

Logika proses Setelah pemilihan lintasan berdasarkan file yang dibuka, akan melakukan proses penggambaran pada kanfas.

3 No 3.0

Nama Perhitungan Input data_piksel

Output Info_putaran, info_sudut_sekarang

Logika proses Setiap perubahan pergerakan piksel akan dihitung, baik dari sudut elevasi yang sedang dilalui, kecepatan pergerakan setiap satuan waktu.

III.1.5.5 Kamus Data

Kamus data dapat membantu mendefinisikan dengan lengkap data yang mengalir diantara proses, penyimpanan data, dan entitas luar. Data yang mengalir tersebut dapat berupa masukan untuk sistem atau hasil dari proses sistem. Kamus data dibuat berdasarkan arus data yang mengalir pada konteks diagram dan DFD.

Tabel III.5 Kamus data pada simulasi perangkat lunak implementasi algoritma MPC

No Data Keterangan

1 Nama data_permintaan_lintasan

Struktur data file berekstensi .coaster dengan format penamaan file sudut_algoritma.coaster

2 Nama data_diameter_roda Struktur data carty

Deskripsi berasal dari pemilihan lintasan yang sudah tersimpan 3 Nama berat_objek

Struktur data mass

Deskripsi berasal dari pemilihan lintasan yang sudah tersimpan 4 Nama data_piksel_koordinat


(66)

No Data Keterangan

Struktur data x, y

Deskripsi titik satu-satu sebelum memulai penggambaran, baik penggambaran lintasan maupun roda robot mobil

5 Nama data_piksel Struktur data x, y

Deskripsi titik saat perhitungan piksel, digunakan saat menghitung sudut, kecepatan dan percepatan

6 Nama info_putaran

Struktur data v,vmax,vmin,a,amax,amin,

Deskripsi hasil perhitungan piksel sementara saat roda robot mobil bergerak

7 Nama info_sudut_sekarang Struktur data theta

Deskripsi hasil perhitungan piksel sementara saat roda robot mobil bergerak

III.2 Perancangan Sistem

Perancangan merupakan tahap lanjutan setelah tahap analisis perangkat lunak dimana pada perancangan perangkat lunak digambarkan rancangan perangkat lunak yang akan dibangun sebelum dilakukan pengkodean kedalam bahasa pemrograman.

III.2.2 Perancangan Data

Perancangan data terdiri dari perancangan diagram relasi berdasarkan analisis basis data dan struktur tabel yang dibangun dalam sistem.

III.2.2.1 Diagram Relasi

Pada pembangunan simulasi perangkat lunak algoritma Model Predictive Control tidak ditemui adanya tabel data hasil perhitungan yang memiliki relasi khusus. Dikarenakan menghasilkan satu tabel hasil perhitungan saja dimana isi


(67)

dari tabel tersebut hanya berisi dan jika hanya pada pengguna telah melakukan perhitungan kecepatan, percepatan, dan sudut lintasan.

III.2.2.2 Struktur Tabel

Tabel III.6 adalah struktur tabel berdasarkan analisis basis data. Meskipun pada simulasi perangkat lunak tidak menyimpan struktur tabel, namun ada hasil perhitungan yang dimasukan kedalam perangkat lunak maka pada tabel III.6 akan menjelaskan tipe data dari hasil perhitungan simulasi perangkat lunak.

Tabel III.6 struktur tabel simulasi perangkat lunak

Nama field Tipe Panjang Keterangan

x float

y float

mass float bobot objek

carty float [2 .. 20] default = 18,

diameter roda

v,vmax,vmin float kecepatan

a,amax,amin float percepatan

theta float sudut

dist float jarak


(68)

III.2.2.3 Perancangan Arsitektur

Perancangan arsitektur terdiri dari perancangan struktur menu, perancangan antarmuka dan jaringan semantik pada sistem yang dirancang.

III.2.2.3.1 Perancangan Struktur Menu

Perancangan struktur menu yang terdapat pada perangkat lunak simulasi algoritma Model Predictive Control dapat dijelaskan pada gambar III.10 perancagan struktur menu.

Layar utama

Lintasan Robot mobil output data bantuan

Pilih lintasan


(69)

III.2.2.3.2 Perancangan Antarmuka

F01 Antarmuka layar utama. Gambar III.11 adalah perancangan antarmuka layar utama.


(70)

F02 Menu pilih lintasan. Gambar III.12 adalah perancangan antarmuka pilih lintasan.


(71)

F03 Antarmuka infomasi robot mobil. Gambar III.13 adalah perancangan antarmuka informasi robot mobil.


(72)

F04 Antarmuka hasil output dari canvas yang sedang digunakan. Gambar III.14 adalah perancangan antarmuka output berupa data realtime.


(73)

F05 Antarmuka Menu Data. Gambar III.15 adalah perancangan antarmuka menu data.

F06 Antarmuka Menu Bantuan. Gambar III.16 adalah perancangan antarmuka menu bantuan.

Gambar III.15 Antarmuka menu data


(74)

M01 Antarmuka pesan simpan perubahan. Gambar III.17 adalah perancangan antarmuka pesan simpan perubahan lintasan.

- Tekan ‘yes’ jika akan menyimpan

perubahan lintasan.

- Tekan ‘no’ jika tidak melakukan perubahan lintasan.

- Tekan ‘cancel’ jika ingin menutup pesan, tanpa menyimpan perubahan.

keterangan :

ukuran halaman : autosize jenis tulisan : arial, 8px

background : abu - abu

Simpan perubahan lintasan ?

cancel yes no

Gambar III.17 Antarmuka pesan simpan perubahan

III.2.2.3.3 Jaringan Semantik

Dengan keterangan : F01 : layar utama

F02 : antarmuka pilih lintasan

F03 : antarmuka informasi robot mobil F04 : antarmuka informasi output dari kanvas F05 : antarmuka menu data

F06 : antarmuka menu bantuan M01 : pesan simpan perubahan


(75)

F01

F04 F03

F06 F05

F02

M01

III.2.3 Perancangan Prosedural

Perancangan prosedural merupakan perancangan yang dilakukan untuk menetapkan detail algoritma yang akan dinyatakan ke dalam suatu perangkat lunak. Adapun perancangan prosedural untuk perangkat lunak yang akan dinyatakan ke dalam suatu perangkat lunak.

III.2.3.1 Tahap Perhitungan Jarak

Gambar III.19 adalah algoritma yang digunakan untuk flowchart perhitungan jarak.


(76)

mulai

Piksel berubah

timestep = 0.07 Fv = FvZero

dist = (Fv+Fv+Fgravity*timestep)/2*timestep

Fdistance = Fdistance+dist

selesai dist, timestep, Fv = float

Display Fdistance

Gambar III.19 flowchart algoritma perhitungan jarak

Keterangan gambar III.19: Dist : jarak perubahan piksel Timestep : waktu berubah Fv : kecepatan awal Fgravity : nilai grafitasi Fdistance : total jarak


(77)

III.2.3.2 Tahap Perhitungan Sudut

Gambar III.20 adalah algoritma yang digunakan untuk flowchart perhitungan sudut. mulai piksel berubah angleright =arctan2(rpoints[nbrpoints].y-y, (rpoints[nbrpoints].x-x)) selesai

rpoints = array of ttrackpoint nbrpoints = integer

x,y = float

Display angleright

sinangleright = sin(angleright) cosangleright = cos(angleright)

perhitungan kecepatan

Gambar III.20 flowchart algoritma perhitungan sudut

Keterangan gambar III.20 :

Rpoints : array untuk kumpulan titik objek Nbrpoints : titik objek bergerak

x,y : titik-ttik koordinat

arctan2 : fungsi untuk mengetahui sudut titik koordinat dengan fungsi tan angleright : sudut objek sebelah kanan

sin(angleright) : fungsi untuk mengetahui titik koordinat dengan fungsi sinus cos(angleright) : fungsi untuk mengetahui titik koordinat dengan fungsi cosinus


(78)

III.2.3.3 Tahap perhitungan percepatan

Gambar III.21 adalah algoritma yang digunakan untuk flowchart perhitungan percepatan. mulai piksel berubah Fa:=Fgravity*(rec.sinangle-sign(vx)*friction*abs(rec.cosangle)) Y selesai rpoints = array of ttrackpoint

nbrpoints = integer x,y = float

Display Fa, an (rec.radius<>0) and

(rec.radius<1e6) an = Fv*Fv/rec.radius

an = 0 N

Gambar III.21 flowchart algoritma perhitungan percepatan

Keterangan gambar III.21 :

Rpoints : array untuk kumpulan titik objek Nbrpoints : titik objek bergerak

x,y : titik-ttik koordinat

arctan2 : fungsi untuk mengetahui sudut titik koordinat dengan fungsi tan angleright : sudut objek sebelah kanan


(79)

cos(angleright) : fungsi untuk mengetahui titik koordinat dengan fungsi cosinus

III.2.3.4 Tahap perhitungan kecepatan

Gambar III.22 adalah algoritma yang digunakan untuk flowchart perhitungan kecepatan.

mulai

piksel berubah

vx = Fv*abs(rec.cosangle)*Fgravity*mass vy = Fv*abs(rec.sinangle)*Fgravity*mass

selesai

vx, vy, Fv, sinangle,sinangleright = float cosangle, cosangleright, Fgravity, mass =

float

Display

vx, vy

sinangleright = sin(angleright) cosangleright = cos(angleright)


(80)

Keterangan gambar III.22 : Mass : bobot objek bergerak Fv : kecepatan awal

Fgravity : nilai grafitasi

angleright : sudut objek sebelah kanan

sin(angleright) : fungsi untuk mengetahui titik koordinat dengan fungsi trigonometri sinus

cos(angleright) : fungsi untuk mengetahui titik koordinat dengan fungsi trigonometri cosinus


(81)

(82)

76

IV.1 Implementasi

Pada tahap implementasi merupakan hasil penerapan algoritma Model Predictive Control, menjelaskan analisa data yang diperoleh dari hasil percobaan dan efktifitas hasil yang telah dilakukan dari tahap perancangan yang diterjemahkan ke dalam bahasa pemrograman. Wujud dari hasil tahap implementasi ini nantinya adalah sebuah perangkat lunak yang siap untuk diuji dan dijalankan. Dimana akan terlihat kekurangan-kekurangan pada perangkat lunak untuk selanjutnya diadakan pengembangan sistem.

IV.2 Perangkat Lunak Yang Digunakan Dalam Pembangunan Sistem

Perangkat lunak yang digunakan untuk pembangunan simulasi perangkat lunak algortima Model Predictive Control adalah sebagai berikut :

1. Sistem operasi windows xp profesional sp 2. 2. Borland delphi 7

IV.2.1 Perangkat Keras Yang Digunakan Dalam Pembangunan Sistem

Kebutuhan minimum perangkat keras (hardware) yang diperlukan untuk mengimplementasikan perangkat lunak simulasi yang dibuat adalah perangkat keras komputer PC dengan spesifikasi yang akan disebutkan berikut. Semakin tinggi spesifikasi komputer yang digunakan untuk menjalankan perangkat lunak akan semakin baik.


(83)

Kebutuhan minimumnya yaitu : 1. Processor : CPU 1.7 GHz 2. Memory : RAM 128 MB 3. Harddisk : 20 GB (Free Space) 4. VGA : 32 MB

5. Monitor dengan resolusi minimum 1366 x 768 piksel

IV.2.2 Implementasi Algoritma

Berikut adalah pseudocode untuk melakukan perhitungan banyaknya putaran yang dihasilkan oleh piringan hitam – putih pada gambar IV.1 piringan hitam - putih.

Algoritma perhitungan putaran per satu detik:

Tabel IV.1 pseudocode algoritma perhitungan putaran roda

Procedure hitung putaran() deklarasi :

putih, hitam, putaran, t, Rps := integer; timer := time;

deskripsi :

putih := 0; hitam := 0; putaran := 0; t := 0;

rps := 0;

t := TimeToInt(timer);

If putih < 1 then //piringan putaran pertama

putih += 1;

Else If ( putih >= 1 AND putih <= 15 ) then

//piringan putih

putih += 2;

Else If putih > 15 then //looping

putih  1; End If;

If hitam <= 16 then //piringan hitam

hitam += 2;

Else If hitam > 16 then //looping

hitam  2; End If;


(84)

If hitam == 16 then //per satu kali putaran

putaran += 1; End If;

/* pencatatan timer per 1 detik */

If (t – (t – 1)) == 1 then If putih > hitam then

Catat putih;

Rps  putaran + (putih / 16); Else If hitam > putih then

Catat hitam;

Rps  putaran + (hitam / 16); Else If putih == hitam then

Rps  null; End If;

End If;

Pada tahap analisis algoritma yang akan digunakan sebagai parameter yang membantu menjelaskan dalam proses simulasi akan diimplementasikan kedalam bahasa yang dapat dimengerti oleh mesin.


(85)

IV.2.3 Implementasi Perangkat Lunak

Pembuatan perangkat lunak dilakukan dengan menggunakan Borland Delphi 7. Berikut adalah tabel implemntasi perangkat lunak yang terdapat pada perangkat lunak simulasi algoritma Model Predictive Control.

Tabel IV.2 implemetasi perangkat lunak

IV.3 Penggunaan Perangkat Lunak

1. Pertama jalankan Simulasi.exe. Kemudian akan muncul tampilan halaman utama seperti pada gambar IV.2.

.

No. Proses Nama Proses Nama Page Control 1 Pemilihan Lintasan TrackPage

2 Pemilihan Diameter Roda CartPage

3 Simulasi RunPage


(86)

2. Kemudian pengguna dapat memilih lintasan dengan menekan tombol buka.


(87)

3. Setelah muncul dialog box open file, pengguna dapat memilih satu lintasan yang mewakili sudut elevasi.


(88)

4. Setelah memilih lintasan, pada gambar IV.4 pengguna dapat berpindah ke page control bernama robot mobil untuk mengetahui berapa diameter roda yang akan disimulasikan.

5. Setelah memilih lintasan, pada gambar IV.6 pengguna mengaktifkan simulasi terlebih dahulu dengan menekan tombol proses.


(1)

89

Gambar IV.10 Lintasan 150


(2)

90

Gambar IV.12 Lintasan 250


(3)

91


(4)

90

BAB V

KESIMPULAN DAN SARAN

V.1 Kesimpulan

Berikut ini adalah kesimpulan yang dapat diambil dari hasil pengujian perangkat lunak implementasi algoritma Model Predictive Control :

1. Algoritma Model Predictive Control dapat dimodelkan dalam bentuk simulasi perangkat lunak pergerakan roda robot mobil berdasarkan waktu tempuh.

2. Algoritma Model Predictive Control kurang lebih dapat memperbaiki pergerakan roda robot mobil saat melewati lintasan menanjak dengan batasan elevasi lintasan hingga sudut 250.

V.2 Saran

Berikut merupakan saran yang dapat digunakan dalam pengembangan perangkat lunak implementasi algoritma Model Predictive Control selanjutnya:

1. Dapat memperlihatkan perbedaan dengan menggunakan dua simulasi dan dengan dua algoritma yang berbeda.

2. Dengan dibuat perangkat lunak simulasi algoritma Model Predictive

Control diharapkan mampu diterapkan pada algoritma yang berada pada

robot mobil beroda dan mampu memperbaiki sistem pergerakan putaran roda saat kondisi lintasan menanjak.


(5)

91

DAFTAR PUSTAKA

[1] Bachtiar, Adam M. Diktat Kuliah Rekayasa Perangkat Lunak. Unikom. 2011.

[2] http://www.intechopen.com/books/show/title/model-predictive-control, 3 Februari 2011, 8:35 WIB

[3] Tao, Zheng. Model Predictive Control. Sciyo. Agustus 2010.

[4] http://iarg.tf.itb.ac.id/index.php?option=com_content&task=view&id=137&ItemiI=1, 3 Februari 2011, 11:54 WIB

[5] http://en.wikipedia.org/wiki/Model_predictive_control, 2 Februari 2011, 7:07 WIB [6] http://sciyo.com/books/show/title/model-predictive-control


(6)

BIODATA PENULIS

Nama : Adi Setyo Nugroho

NIM : 10107295

Tempat, Tanggal lahir

: Bandung, 9 Oktober 1989

Jenis Kelamin : Laki-laki

Agama : Islam

Alamat di Bandung : Griya Cempaka Arum A3, Gedebage, Bandung

No Hp : 0857 2012 5328

Email : AdiS.Nugroho@Live.com

Judul Skripsi : Implementasi Algoritma Model Predictive Control Dengan Metode Pulse Width Modulation Sebagai Pengontrol Kecepatan Roda Robot Mobil

Jurusan : Teknik Informatika