PENDAHULUAN TINJAUAN PUSTAKA ANALISIS DAN PERANCANGAN SISTEM IMPLEMENTASI DAN PENGUJIAN SISTEM KESIMPULAN DAN SARAN ANALISIS DAN PERANCANGAN SISTEM

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;