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.
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.
9
BAB II TINJAUAN PUSTAKA
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
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.
Gambar II.1 Identifikasi Model Proses
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,
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.
Gambar II.2 adalah bentuk umum algoritma Model Predictive Control.
Gambar II.2 Bentuk umum algoritma MPC
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 T
on
dan T
off
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
Gambar II.3
Perbandingan pulsa high dan low pada gelombang digital
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.
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.5 Blok 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.
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.
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 DFD leveled, 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
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 Data Flow
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.
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.
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.
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.
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 Line Follower atau pengikut dinding Wall Follower ataupun pengikut dinding.
Gambar II.6 Robot Beroda
2. Robot jaringan
Robot jaringan adalah pendekatan baru untuk melakukan kontrol robot menggunakan jaringan internet dengan protokol TCPIP. 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
Gambar II.7 Robot Jaringan
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
Gambar II.9 Robot Humanoid
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 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. Under Water 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
Gambar II.12 Robot dalam air
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 penyimpangandeviasi terhadap masukan
yang diketahui c.
Repeatability adalah kemampuan robot untuk mengembalikan end effector pemeganggriper 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.
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
ajegmantap dari suatu sistem dapat diperkirakan. Informasi-informasi ini berguna bagi seorang sistem enjiner dalam melakukan analisis dan teknik disain
suatu sistem.
[4]
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.
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.
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 Borland Delphi 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
d. Kompatibel dengan berbagai macam jenis database
33
BAB III ANALISIS DAN PERANCANGAN SISTEM
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 umu
mnya
Gambar III.1 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 tetap atau stabil.
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
Gambar
III
.2 Piringan hitam - putih
hitam dan putih 16, maka ketelitian minimumnya merupakan kelipatan 116 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 14
atau 0,25 hingga 18 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 := TimeToInttimer;
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; End If;
Gambar
III
.3 Flowchart saat membaca piringan pada proses membaca putaran
Kelebihan : 1. Waktu untuk mengeksekusi relatif lebih cepat.
2. Tidak membutuhkan banyak variabel untuk melakukan pergerakan roda.
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.
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 kembalilooping 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.
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
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 waktulaging untuk mengeksekusi pergerakan roda.
2. Perlunya variabel tambahan untuk menjaga kondisi pergerakan roda agar tetap stabil.
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.
Mulai
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. Disturbance Variabel DV
– input proses yang memberi efek terhadap proses dan output variabel tertentu.
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.
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 α
F
blk
= gaya ke belakang sebuah benda m
= bobot benda g
= gravitasi α
= sudut elevasi tanjakan sebagai contoh, diketahui :
m = 1kg
g = 32.6
α = 15
F
blk
= 1 x 32.6 x 15 F
blk
= 489 Newton
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 α
f
k
= 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
μ
k
= koefisien gesek 0,2
maka kecepatan akhir mobil tersebut bisa didapat menggunakan rumus GLBB :
atau dimana s = h .
sin α Vt
= kecepatan pada waktu tertentu V
= 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 :
f
k
= μ
k
.N = μ
k
.M.g.sin α, dengan M adalah massa total benda
4. Setiap roda mendapatkan beban yang sama dari bobot robot mobil, atau setiap roda mendapatkan bobot mobil dibagi 4, jadi :
f
k
= μ
k
.14 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
V = 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
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 227 atau 3.14 rps = rotational per second atau putaran per detik
sebagai contoh, diketahui :
φ
= 1,8 cm
π
= 227 atau 3.14 rps = 2 rps
V =
φ π
rps
dengan menggunakan rumus V =
φ π
rps maka :
V = 1,8 x 3,14 x 2 V = 11,304 cms
Untuk melakukan perhitungan mengukur perubahan putaran yang terjadi pada roda robot juga dapat berdasarkan sudut elevasi dengan menggunakan rumus
perhitungan seperti berikut.
A = V
2
sin
α π
180
Keterangan :
A = Acceleration atau Percepatan V = Velocity atau Kecepatan
α
= angle atau sudut elevasi
Gambar
III
.6 P
arameter lain yang dapat membantu informasi saat simulasi
π
= phi, konstanta dengan nilai 227 atau 3.14 sebagai contoh, diketahui :
V = 1,8
α
= 15
π
= 227 atau 3.14 dengan menggunakan rumus
A = V
2
sin
α π
180 maka :
A = V
2
sin
α π
180 A = 1,8
2
x sin 15 x 3,14 180 A = 3,24 x sin 47,1180
A = 3,24 x sin 0,26 A = 0,015 cms
2
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 cms. 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 cms saja. Dalam penerapan kedalam simulasi perangkat lunak. Didalam layar
yang digunakan juga bisa dikatakan tidak efisien jika menggunakan satuan cms 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
Percepatan Cm s
2
Piksel detik
2
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.
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.
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. Harddisk 20GB.
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
minimal setara SMA
III.1.5 Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional ini meliputi Entity Relationship DiagramERD 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.
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,
Gambar
III
.8 Diagram Konteks implementasi algoritma Model Predicitve Control
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.
1.0 Pemilihan
lintasan
2.0 Penggambaran
pengguna info_putaran,
info_sudut sekarang
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
Gambar III.9 DFD Level 1
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
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
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
time float
temporary waktu
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 data
output Robot mobil
bantuan
Pilih lintasan
Gambar
III
.10 Perancangan Struktur Menu
III.2.2.3.2 Perancangan Antarmuka
F01 Antarmuka layar utama. Gambar III.11 adalah perancangan antarmuka layar utama.
Gambar III.11 Antarmuka layar utama
F02 Menu pilih lintasan. Gambar III.12 adalah perancangan antarmuka pilih lintasan.
Gambar III.12 Antarmuka pilih lintasan
F03 Antarmuka infomasi robot mobil. Gambar III.13 adalah perancangan antarmuka informasi robot mobil.
Gambar
III
.13 Antarmuka informasi robot mobil
F04 Antarmuka hasil output dari canvas yang sedang digunakan. Gambar III.14 adalah perancangan antarmuka output berupa data realtime.
Gambar
III
.14 Antarmuka output
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
Gambar III.16 Antarmuka Bantuan
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
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.
Gambar
III
.18 Jaringan semantik perangkat lunak
mulai Piksel
berubah
timestep = 0.07 Fv = FvZero
dist = Fv+Fv+Fgravitytimestep2timestep
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
III.2.3.2 Tahap Perhitungan Sudut
Gambar III.20 adalah algoritma yang digunakan untuk flowchart perhitungan sudut.
mulai piksel
berubah
angleright =arctan2rpoints[nbrpoints].y-y, rpoints[nbrpoints].x-x
selesai rpoints = array of ttrackpoint
nbrpoints = integer x,y = float
Display angleright
sinangleright = sinangleright cosangleright = cosangleright
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
sinangleright : fungsi untuk mengetahui titik koordinat dengan fungsi sinus cosangleright : fungsi untuk mengetahui titik koordinat dengan fungsi cosinus
III.2.3.3 Tahap perhitungan percepatan
Gambar III.21 adalah algoritma yang digunakan untuk flowchart perhitungan percepatan.
mulai piksel
berubah
Fa:=Fgravityrec.sinangle- signvxfrictionabsrec.cosangle
Y
selesai rpoints = array of ttrackpoint
nbrpoints = integer x,y = float
Display Fa, an
rec.radius0 and rec.radius1e6
an = FvFvrec.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
sinangleright : fungsi untuk mengetahui titik koordinat dengan fungsi sinus
cosangleright : 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 = Fvabsrec.cosangleFgravitymass vy = Fvabsrec.sinangleFgravitymass
selesai vx, vy, Fv, sinangle,sinangleright = float
cosangle, cosangleright, Fgravity, mass = float
Display vx, vy
sinangleright = sinangleright cosangleright = cosangleright
Gambar III.22 flowchart algoritma perhitungan kecepatan
Keterangan gambar III.22 :
Mass : bobot objek bergerak Fv : kecepatan awal
Fgravity : nilai grafitasi angleright : sudut objek sebelah kanan
sinangleright : fungsi untuk mengetahui titik koordinat dengan fungsi trigonometri sinus
cosangleright : fungsi untuk mengetahui titik koordinat dengan fungsi trigonometri cosinus
76
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
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.
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 := TimeToInttimer;
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;