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
ii
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,
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,
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 selalumemberikan semangat, dorongan motivasi, kasih sayang dan doa yang
tidak henti-hentinya yang selalu menyertai penulis.
2.
Bapak Adam Mukharil Bachtiar,S.Kom. selaku Pembimbing yangsenantiasa memberikan bimbingan, ilmu, saran dan waktu luangnya
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 telahmembantu penulis saat melakukan pencarian literatur.
5.
Teman-teman mahasiswa khususnya IF-7 angkatan 2007 yang telahmemberikan 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 CampusBandung 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
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
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
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
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
Requirements
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.
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
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
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
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.
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
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
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
Gambar II.2 adalah bentuk umum algoritma Model Predictive Control.
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
If putih < 1 then //piringan putaran pertama
putih += 1;
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 */
Gambar III.3 Flowchart saat membaca piringan pada proses membaca putaran
Kelebihan :
1. Waktu untuk mengeksekusi relatif lebih cepat.
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
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
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
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
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.
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.
kemudian dibandingkan dengan putaran berikutnya.
c. DisturbanceVariabel (DV) – input proses yang memberi efek terhadap proses
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
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
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 α
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
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 :
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
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.14rps = rotational per second atau putaran per detik
sebagai contoh, diketahui :
φ
= 1,8 cmπ
= 22/7 atau 3.14rps = 2 rps
dengan menggunakan rumus
V =
φ
*π
* rpsmaka :
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π
= phi, konstanta dengan nilai 22/7 atau 3.14sebagai contoh, diketahui :
V = 1,8
α
= 150π
= 22/7 atau 3.14dengan 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
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
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
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.
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
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
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,
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