Senin, 30 April 2012
tugas bahasa indonesia contoh proposal penulisan ilmiah
ini merupakan contoh penulisan ilmiah yang saya kutip dari library.gunadarma.ac.id
nama saya rian purwo pambudi
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Di salah satu universitas terkemuka di Australia yaitu University of New South Wales, salah satu laboratorium tekniknya sering menggunakan komputer untuk mengendalikan robot-robot buatan mereka. Interface yang mereka gunakan biasanya port paralel komputer, karena konfigurasi port ini adalah yang paling sederhana dibandingkan dengan port lain.
Dari salah satu rancangan robot mereka, kami kemudian menyederhanakan rangkaiannya sampai didapat suatu rangkaian robot yang sangat sederhana sehingga biaya pembuatannya pun juga cukup murah. Inti dari robot kami adalah pengendalian motor DC dengan bantuan relay dan transistor melalui port paralel yang dikembangkan lebih jauh dengan penambahan sistem mekanis yang tepat, sehingga dapat menjadi sebuah robot berjalan.
1.2 Rumusan Masalah
Robot yang kami buat bukanlah robot-robot canggih yang berbentuk menyerupai manusia dan dapat berjalan dengan kaki-kakinya serta mempunyai AI seperti yang banyak dibayangkan oleh orang awam, melainkan hanya sebuah base yang diberi roda yang dapat bergerak maju-mundur dan ke kiri-kanan dan pergerakannya diatur oleh perintah-perintah dari komputer. Adapun penggeraknya hanya dua buah motor 12 volt jenis CW/CCW (Full Stepper). Kami tidak menggunakan motor stepper pada robot kami.
Prinsip pergerakan robot kami serupa dengan prinsip pergerakan sebuah tank, dimana jika ingin berbelok maka roda-roda di salah satu sisinya berhenti dan roda-roda di sisi yang lain tetap bergerak. Misalnya jika ingin belok kanan maka roda disebelah kanan berhenti dan roda di sebelah kiri bergerak.
1.3 Batas Permasalahan
Batasan permasalahan dalam makalah ini, yaitu tentang bagaimana cara kerja dan analisa rangkaian dari alat yang telah dibuat yaitu Robot Berjalan dengan Interface Port pada Komputer beserta komponen-komponennya. Kami juga akan membahas cara kerja mekanis dari sistem kontrol ini, tetapi tidak secara detail. Lebih jauh kami membahas cara kerja rangkaiannya, dan bagaimana sebuah komputer dapat mengendalikan rangkaian ini.
1.4 Maksud dan Tujuan Penulisan
Maksud kami mengambil rancangan sebuah “Robot Berjalan dengan Interface Port pada Komputer” adalah agar kami dapat dapat mengetahui dan memahami prinsip dasar bagaimana sebuah robot dapat bekerja dengan perintah-perintah yang diberikan melalui sebuah komputer. Tujuannya adalah untuk menerapkan teori-teori yang telah diperoleh di bangku kuliah dan selama melakukan praktikum-praktikum yang diikuti di Laboratorium.
1.5 Metode Penelitian
Data yang digunakan dalam makalah ini diperoleh dari berbagai sumber, yaitu :
a) Studi Lapangan dan Observasi, yaitu kegiatan pengamatan yang dilakukan selama pembuatan alat dan selama praktikum berupa teori dan praktek.
b) Studi Pustaka, yaitu mengambil data dari berbagai sumber buku dan sumber informasi lainnya (internet) untuk menjadi acuan dalam penulisan.
c) Konsultasi, yaitu mendiskusikan dan bertanya mengenai bagaimana cara pembuatan makalah dan alat ini kepada dosen pembimbing.
1.6 Sistematika Penulisan
Sistematika penulisan makalah ini adalah sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini dibahas tentang latar belakang, maksud dan tujuan penulisan, batas penulisan, metode penulisan, dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini diuraikan tentang teori-teori dasar dan cara kerja komponen-komponen yang digunakan dalam rangkaian.
BAB III ANALISA DAN PERANCANGAN ALAT
Pada bab ini dijelaskan tentang analisa dari rangkaian yang telah dibuat, yaitu Robot Berjalan dengan Interface Port pada Komputer secara blok diagram dan secara detail (per komponen), serta penjelasan mengenai cara perancangan dan pengujian dan cara kerja alat secara menyeluruh.
BAB IV PENUTUP
Pada bab ini dikemukakan kesimpulan dan saran-saran selama pembuatan alat dan makalah Robot Berjalan dengan Interface Port pada Komputer.
DAFTAR PUSTAKA
Berisi daftar referensi yang digunakan dalam penulisan ilmiah ini, seperti buku, majalah, modul ataupun situs-situs internet.
BAB II
LANDASAN TEORI
Untuk memahami alat yang kami buat, sekaligus untuk lebih mendalami apa yang akan dibahas lebih lanjut, kami akan menjelaskan dasar-dasar pengertian yang menjadi acuan kami dalam membuat alat atau rangkaian Robot Berjalan dengan Interface Port pada Komputer.
2.1 Transistor
Transistor biasanya terdiri dari tiga buah kaki yang masing - masing diberi nama yaitu : emitor, basis dan kolektor.
Transistor merupakan suatu piranti semi konduktor yang memiliki sifat khusus. Secara ekivalensi transistor dapat dibandingkan dengan dioda yang dihubungkan dengan suatu konfigurasi. Pada dasarnya transistor bekerja berdasarkan prinsip pengendalian arus kolektor dengan menggunakan arus basis. Dengan kata lain arus basis mengalami penguatan sehingga menjadi sebesar arus kolektor. Penguatan ini bergantung pada faktor penguatan masing - masing transistor ( Alpha & Beta ).
Konfigurasi dasar dari rangkaian transistor sebagai penguat adalah common base, common colector dan common emitor. Sifat transistor yang akan saturasi pada nilai tegangan tertentu antara basis dan emitor menjadikan transistor dapat berfungsi sebagai saklar elektronik.
Transistor memiliki 3 daerah kerja yaitu :
1). Saturasi : bila basis emitor (BE) diberi forward bias dan basis kolektor (BC) diberi forward bias.
2). Aktif : bila basis emitor (BE) diberi forward bias dan basis kolektor (BC) diberi reverse bias.
3). Cutoff : bila basis emitor (BE) diberi reverse bias dan basis kolektor (BC) diberi reverse bias.
(a) (b) (c)
(d) (e) (f)
Gambar 2.1 : Daerah kerja (a) Saturasi, (b) Aktif, (c) Cutoff untuk transistor NPN
Daerah kerja (d) Saturasi, (e) Aktif, (f) Cutoff untuk transistor PNP
Transistor ditemukan pada 23 Desember tahun 1947. Transistor ditemukan oleh tiga orang sarjana dari laboraturium Bell Telephone di Amerika Serikat. Nama - nama penemu transistor antara lain : William Sholey, Walter Bardeen, John Bardeen.
Transistor termasuk komponen aktif, dan memiliki dua jenis yaitu : Transistor Bipolar dan Transistor Unipolar.
1. Transistor Bipolar, adalah transistor yang memiliki dua persambungan kutub. Transisitor Bipolar dapat diibaratkan dengan dua buah dioda.
(a) (b)
Gambar 2.2 : Simbol Transistor (a) NPN, (b) PNP
2. Transistor Unipolar, adalah transistor yang hanya memiliki satu buah persambungan kutub. Transistor Unipolar adalah FET ( Field Effect Transistor ) yang terdiri dari JFET kanal N, JFET kanal P, MOSFET kanal N, dan MOSFET kanal P.
2.2 Resistor
Resistor adalah suatu komponen elektronika yang fungsinya untuk menghambat arus listrik. Satuan yang digunakan adalah Ohm.
Berdasar bahan pembuatnya resistor dapat dibedakan menjadi dua bagian, yaitu sebagai berikut :
a) Karbon
Resistor yang dibuat dengan bahan arang yang berupa bubuk, dan selanjutnya dicampur hingga menjadi bubur. Kemudian dicetak dengan pipa isolator, dan disesuaikan dengan nilai yang dikehendaki. Pada ujung pipa dipasang penghantar setelah ditutup dengan timah. Kemudian diberi cat sesuai dengan kode warna dan nilai hambatannya.
b) Lilitan Kawat Nikel Resistor dibuat dari bahan nikelin yang dicampur dengan marmer atau kaca.
Resistor arang mempunyai kemampuan arus listrik yang sangat rendah, sedangkan resistor yang terbuat dari kawat nikelin mempunyai kemampuan arus listrik yang sangat tinggi. Sedangkan wujud resistor yang berdaya listrik rendah nilai hambatannya digambarkan dengan kode warna. Sedangkan untuk resistor yang berdaya listrik besar ditulis dengan bentuk angka di badan resistor tersebut.
Resistor dapat dibagi menjadi dua, yaitu :
1. Resistor Tetap
Resistor tetap adalah resistor yang memiliki nilai hambatan yang tetap. Resistor memiliki batas kemampuan daya misalnya: 1/16 watt, 1/8 watt, ¼ watt, ½ watt dsb.Artinya resistor hanya dapat dioperasikan dengan daya maksimal sesuai kemampuan dayanya.
Gambar 2.3 : Simbol Resistor Tetap
2. Resistor Tidak Tetap (Variabel)
Resistor tidak tetap adalah resistor yang nilai hambatannya atau resistansinya dapat diubah – ubah. Jenisnya antara lain : hambatan geser, trimpot dan potensiometer. Yang banyak digunakan ialah trimpot dan potensiometer.
a. Trimpot
Resistor yang nilai resistensinya dapat diubah – ubah dengan cara memutar porosnya dengan menggunakan obeng. Untuk mengetahui nilai hambatan dari suatu trimpot dapat dilihat dari angka yang tercantum pada badan trimpot tersebut.
Gambar 2.4 : Simbol Trimpot
b. Potensiometer
Resistor yang nilai resistansinya dapat diubah – ubah dengan memutar poros yang telah tersedia. Potensiometer pada dasarnya sama dengan trimpot secara fungsional.
Gambar 2.5 : Simbol Potensiometer
2.3 Relay
Relay adalah saklar ( switch ) elektrik yang bekerja berdasarkan medan magnet. Relay terdiri dari suatu lilitan dan switch mekanik. Switch mekanik akan bergerak jika ada arus listrik yang mengalir pada lilitan, maka medan magnet yang dibangun akan menarik armatur berporos, gerakan ini dipakai untuk menutup atau membuka kontak. Satu relay dapat memiliki banyak kontak yang bekerja secara serempak.
Susunan kontak pada relay adalah :
Normally Open : Relay akan menutup bila dialiri arus listrik.
Normally Close : Relay akan membuka bila dialiri arus listrik.
Changeover : Relay ini memiliki kontak tengah yang akan melepaskan diri dan membuat kontak lainnya berhubungan.
Gambar 2.6 : Simbol Relay
2.4 Teori Dasar Motor
Bentuk dasar yang paling sederhana terdiri dari atas sebuah rotor, yang merupakan magnet permanen, dan sebuah stator, yang dililiti kumparan sehingga dapat membentuk magnet listrik. Jika stator diberi arus listrik, sisi-sisi rotor akan membentuk kutub-kutub magnet. Jika kutub magnet stator dan rotor sama kedua magnet akan saling tolak menolak sehingga mengakibatkan rotor berputar. Arah perputaran ini dapat dua arah, tergantung dari faktor mekanik motor stepper itu sendiri. Besarnya perputaaran adalah 180 derajat.
Perhatikan motor yang terdiri atas dua buah stator dengan sebuah rotor (Gambar 2.7b). Prinsip kerja motor ini sama dengan motor yang hanya terdiri dari sebuah rotor dan stator. Jika arah arus listrik dan arah rotor sedemikian rupa sehingga membentuk konfigurasi listrik magnet seperti pada gambar 2.7b, rotor akan berputar berlawanan arah dengan jarum jam (ccw) sebesar 90 derajat. Perputaran ini disebut full step.
Jika magnet permanen dan magnet dan listrik membentuk konfigurasi seperti gambar , motor akan berputar 45 derajat cw. Perputaran ini disebut half step (Gambar 2.7c). Jika motor terdiri atas 4 pasang stator, besar full step adalah 45 derajat dan half step sebesar 22,5 derajat.
Gambar 2.7 : Skema Penampang Dalam Motor DC
2.5 Paralel port PC dan Programmingnya pada Pascal
Paralel port pada PC memiliki lebar jalur data 8 bit yang dikirim secara bersamaan, sehingga pada jalur transmisi diperlukan 8 buah jalur data. Keuntungan memakai paralel port sebagai jalur komunikasi adalah kecepatan transmisi dan kesederhanaan proses pengiriman. Kerugiannya adalah banyaknya jalur data yang diperlukan pada suatu transmisi. Bila jarak transmisi makin jauh, penggunaan paralel port menjadi tidak efektif. Susunan pena pada paralel port di IBM PC adalah sebagai berikut :
Nomor Pin Fungsi
1
2
3
4
5
6
7
8
9
18-25 Strobe
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
Gnd
Pin 2-8 adalah jalur data 8-bit yang disediakan oleh LPT. Bernilai +3 volt ketika kondisi high. Sedang pada pin 10 sampai dengan 17 merupakan 8 bit input ke komputer.
Alamat absolut sebuah port LPT pada komputer 80x86 0040h:0008h. Pada PASCAL, kita dapat meminta langsung ke alamat tersebut ke lokasi 378h, karena oleh PASCAL nilai yang terkandung dalam alamat absolut tersebut disimpan dalam variabel address yang bernilai 378h. Gambarannya dasarnya adalah dengan perintah :
Port [$378]:= d;
Dimana d adalah kode sandi yang mirip dengan pengkodean BCD 8 bit dengan nilai yang diinginkan untuk membuat jalur data yang kita inginkan bernilai high atau low. Berikut adalah bentuk jalur pengkodean pada paralel port :
Pin 2 3 4 5 6 7 8 9
Bit D0 D1 D2 D3 D4 D5 D6 D7
Nilai 1 2 4 8 16 32 64 128
Sebuah contoh sederhana adalah apabila kita menginginkan pin 2,4,dan 9 bernilai high, berarti 1 + 4 + 128 = 133, lalu berarti kita berikan perintah :
Port [$378] := 133;
Perintah itu akan membuat pin 2, 4 dan 9 bernilai high.
2.6 Borland Delphi
Borland Delphi merupakan bahasa pemrograman berbasis Windows yang menyediakan fasilitas pembuatan aplikasi visual (seperti Visual Basic). Delphi memberikan kemudahan dalam menggunakan kode program, proses kompilasi yang cepat, pengembangan software, pola desain yang menarik, serta diperkuat dengan bahasa pemrograman yang terstruktur dalam bahasa pemrograman Object Delphi memiliki tampilan khusus yang didukung suatu lingkup kerja komponen Delphi untuk membangun suatu aplikasi dengan menggunakan Visual Component Library (VCL).
2.7 Macromedia Flash
Macromedia Flash adalah suatu software yang mempunyai kemampuan untuk menampilkan multimedia, yaitu gabungan antara grafis, animasi, suara, dan interaktivitas yang menarik bagi user. Pada Flash versi 3 ke atas, terdapat suatu script yng terintegrasi di dalam Flash yaitu ActionScript. ActionScript mengambil sintaks pada JaveScript sehingga melalui fungsi-fungsi standarnya, kini bisa dihasilkan fungsi animasi interaktif dengan ukuran yang relatif kecil.
BAB III
ANALISA DAN PERANCANGAN ALAT
Robot yang kami buat bukanlah berupa umumnya pengertian robot, dimana bentuk fisiknya menyerupai makhluk hidup atau bagian tertentu darinya (mis : tangan, kaki, dll). Robot yang kami kembangkan mempunyai bentuk fisik lebih mirip mobil-mobilan, dengan bentuk pergerakan yang mirip tank, dengan pengendali motor DC sederhana, tanpa motor stepper ataupun motor Servo. Piranti lunak yang kami pakai pun tidak menggunakan sistem AI sendiri, sehingga robot kami dapat dikategorikan sebagai robot manual, karena pergerakan robot ini tergantung dari masukan pengguna piranti tersebut. Pada dasarnya ‘Robot berjalan dengan Interface Port pada Komputer’ ini terdiri atas tiga bagian penting, yaitu :
1. Alat penggerak motor DC, yaitu bagian utama dari keseluruhan robot karena dari alat inilah motor bergerak. Alat ini akan menangkap sinyal high dan low yang diberikan oleh program dan menggunakan sinyal tersebut untuk kemudian menggerakkan motor, yang kemudian akan menggerakkan robot.
2. Program, yaitu piranti lunak yang berfungsi sebagai pengendali alat penggerak motor DC. Program akan menerima input yang kita masukkan dan akan mengirimkan sinyal tersebut ke alat penggerak motor DC.
3. Kasis robot, yaitu bodi dari robot itu sendiri. Di bagian ini akan diletakkan motor yang dikendalikan oleh penggerak motor DC dan motor tersebut akan menggerakkan roda yang akan membuat robot berjalan.
Tiga sistem individual ini akan saling bekerja sama untuk membentuk sistem kontrol untuk robot berjalan ini. Masing-masing sistem ini menggunakan penghubungnya masing-masing untuk dapat ‘berkomunikasi’ dengan yang lainnya. Dari program ke alat penggerak motor DC, digunakan konektor male DB25, yaitu konektor LPT ke periferal lain. Sedang dari penggerak motor DC ke kasis robot dihubungkan dengan empat kabel untuk menggerakkan dua motor, masing-masing motor dua kabel. Untuk hubungan sistem kontrol robot ini, lebih jelasnya dapat dilihat pada skema gambar 3.1.
Gambar 3.1 Skema kerja Robot Berjalan
3.1. Analisa Alat Penggerak Motor DC
Rangkian menggunakan komponen-komponen sederhana berupa transistor, resistor dan relay.
Alat ini mempunyai sistem kerja yang cukup sederhana, karena tidak menggunakan motor servo ataupun motor stepper. Pada dasarnya, alat ini berfungsi untuk mengatur arah gerak motor sesuai keinginan kita, secara ClockWise(CW) atau CounterClockWise(CCW). Jadi kita harus dapat mengatur sisi ground dan +12 (Power motor) agar dapat bertukar posisi dengan memanfaatkan sinyal high dan low, yang diberikan oleh program melalui LPT.
Gambar 3.2 Skema rangkaian penggerak motor DC
Transistor pada rangkaian berfungsi sebagai saklar yang akan mengalirkan arus dari collector ke emitor bila ada arus di basis. Resistor berfungsi sebagai tahanan standar, sekedar mengurangi arus ke basis. Sedangkan yang berperan pada rangkaian ini adalah relay, sebagai saklar yang mengatur hubungan +12v dan ground ke motor. Relay yang digunakan adalah normaly open, dan dihubungkan ke ground, jadi pada keadaan non-aktif, relay akan menghubungkan motor pada kedua sisinya dengan ground. Sedangkan motor yang digunakan adalah motor DC tipe CW dan CCW.
Gambar 3.2. menjelaskan cara kerja rangkaian. Kaki 2, 3, 4, dan 5 pada LPT menjadi sinyal penggerak motor, bisa bernilai low (0v) atau high (+ 3v). Sinyal high akan mengaktifkan transistor(T1,T2-motor kiri dan T3,T4 untuk motor kanan), yang pada rangkaian ini berfungsi sebagai saklar untuk kemudian mengalirkan arus pada relay yaitu ketika ada arus pada basis, maka transistor akan mengalirkan arus dari Colector ke Emitor, membuat relay aktif, dan menghubungkan +12v ke motor. Dengan mengatur ke-4 sinyal input pengendali tersebut, kita bisa mengatur arah putaran motor, apakah CW maupun CCW. Lebih jelasnya dapat dilihat pada tabel 3.1. Sinyal dari data 2 dan 3 berperan untuk mengatur motor kiri(M1), dan sinyal dari data 3 dan 4 berfungsi mengatur motor kanan(M2).
Tabel 3.1. Sinyal data paralel yang diberikan dan hasilnya pada motor
Data
2 Data
3 Data
4 Data
5 Hasil
Motor kiri
(CW) Motor kanan(CCW)
0 0 0 0 Stop Stop
0 0 0 1 Stop CW
0 0 1 0 Stop CCW
0 0 1 1 Stop Stop
0 1 0 0 CCW Stop
0 1 0 1 CCW CW
0 1 1 0 CCW CCW
0 1 1 1 CCW Stop
1 0 0 0 CW Stop
1 0 0 1 CW CW
1 0 1 0 CW CCW
1 0 1 1 CW Stop
1 1 0 0 Stop Stop
1 1 0 1 Stop CW
1 1 1 0 Stop CCW
1 1 1 1 Stop Stop
Tabel di atas menyimpulkan, untuk keadaan satu motor, sinyal 00 dan 11 akan menyebabkan motor non-akftif/stop. Hal ini disebabkan karena kedua sisi motor terhubung hanya ke ground atau ke +12 saja. Sedangkan sinyal 10 menyebabkan motor bergerak sesuai keadaan normalnya (Motor CW bergerak CW dan motor CCW bergerak CCW). Dan terakhir, sinyal 01 menyebabkan motor bergerak berlawanan dari keadaan normalnya (motor CW bergerak CCW dan motor CCW bergerak CW).
3.2. Analisa Program
3.2.1. Penggunaan Delphi
Pengembangan program peranti lunak pengendali motor DC untuk Robot berjalan ini menggunakan lingkungan pengembangan Bordland Delphi Ver 7.0. Pada landasan teori kami jadikan Turbo Pascal sebagai landasan teori pemrograman, hal ini karena bahasa Pascal adalah dasar dari bahasa pemrograman Delphi. Mereka memiliki kebanyakan sintaks bahasa yang mirip, perbedaannya hanya terletak pada Object Oriented Programming dan Graphical User Interface (GUI) pada Delphi yang tidak dimiliki oleh Pascal. Karena dua alasan inilah kami menggunakan Delphi daripada Pascal. Dengan Delphi, akan lebih mudah bagi kami untuk menciptakan sebuah program yang user friendly.
Diluar semua keunggulan Delphi, ternyata Delphi tidak memberikan perintah dasar untuk mengendalikan sebuah port bila diketahui alamat memorinya. Untuk itu digunakan prosedur yang memanfaatkan bahasa assembler, menggantikan perintah PORT[$address] := const; yang sebelumnya terdapat pada Pascal. Kemudian prosedur ini dapat dipanggil setiap program membutuhkan pengendalian Port. Lebih jauh mengenai bagian prosedur assembler ini akan dijelaskan pada sub-bab 3.2.3.
3.2.2. Analisa Program
Inti program kami adalah menggunakan delapan tombol arah untuk mengendalikan roda robot berjalan. Masing-masing tombol akan memberikan perintah tertentu pada port LPT untuk kemudian menghasilkan gerakan yang diinginkan. Representasi dari delapan tombol tersebut adalah sebuah file Macromedia Flash yang menjadi interface dari program kami. Delphi kemudian akan menangkap variabel flag dari kedelapan tombol tersebut. Bila flag dari salah satu tombol bernilai satu, maka akan dijalankan prosedur sesuai dengan tombol yang ditekan.
Sesuai dengan tabel 3.1. , ada delapan keadaan yang kita pakai. Berikut adalah tabel kedelapan keadaan yang dipakai beserta perintah pin yang dipakai.
Tabel 3.2. Delapan arah Robot dan Perintah program
Motor Hasil pergerakan robot Perintah
yang
dipakai
Kiri Kanan
CW CCW Maju Outport(888,10)
CCW CW Mundur Outport(888,5)
CW CW Rotasi CW Outport(888,9)
CCW CCW Rotasi CCW Outport(888,6)
CW Stop Kanan maju Outport(888,8)
CCW Stop Kiri mundur Outport(888,4)
Stop CCW Kiri Maju Outport(888,2)
Stop CW Kiri Mundur Outport(888,1)
Stop Stop Berhenti Outport(888,0)
Ketika tombol ditekan, yaitu keadaan mousedown pada tombol, variabel flag pada tombol tersebut akan bernilai satu, yang kemudian akan ditangkap oleh delphi yang kemudian akan menjalankan prosedur sesuai dengan flag yang dimasukkan, perintah outport sesuai dengan tabel 3.2. di atas. Sedangkan pada keaadan/event MouseUp pada tiap tombol port LPT direset datanya menjadi 0 (robot berhenti). Agar lebih jelasnya, listing program dapat dilihat pada lampiran.
3.2.3. Prosedur Asembler Pengendali Port LPT
Seperti telah dijelaskan terdahulu bahwa delphi tidak memiliki perintah port[address]:=const; sebagaimana halnya Pascal, sesuai dengan landasan teori. Untuk mengendalikan port pada Delphi sebenarnya terdapat dua cara.
Cara pertama adalah dengan menggunakan component library yang telah ada. Component library adalah kumpulan objek yang dapat dipakai pada form Delphi. Namun masalahnya component library ini tidak diberikan secara langsung oleh paket Delphi ketika menginstall, sehingga cara ini cukup merepotkan karena kita harus mencari dahulu component library ini. Adapun cara ini tidak akan dibahas lebih jauh karena kami bahkan belum sempat bereksperimen mengendalikan LPT port dengan cara ini.
Kelebihan bahasa Delphi dan Pascal salah satunya adalah dapat merngintegrasikan bahasa assembler ke dalam source codenya. Kelebihan inilah yang kami manfaatkan untuk mengendalikan port LPT dari Delphi, yang juga merupakan cara kedua. Dengan membuat sebuah prosedur berbasis assembler, kita dapat membuat sistem pengendalian yang praktis. Berikut adalah prosedur yang dipakai untuk menggantikan perintah port[] pada Pascal :
procedure outport(port:longint;data:integer);
begin
asm //mulai bahasa assembler
push ax //tekan stack ax
push dx //tekan stack dx
mov ax,data // ax = data
mov dx,port // dx = port
out dx,ax //Keluarkan data!
pop dx // kembalikan ax
pop ax // kembalikan dx
end;
end;
Langkah pertama dalam prosedur adalah mendorong ax dan dx (sekedar berjaga seandainya ax dan dx dipakai oleh sistem) dengan perintah push. Dilanjutkan dengan mengisi ax dan dx dengan parameter prosedur, dalam hal ini data pada ax dan port pada dx dengan perintah mov. Lalu dengan perintah out kita mengeluarkan nilai yang terdapat pada nilai parameter data ke port pada alamat parameter port. Dan terakhir kita mengembalikan nilai yang terdapat di ax dan dx dengan perintah pop.
Bila pada Pascal kita menggunakan alamat 378h, maka sama halnya untuk nilai parameter port disini kita menggunakan nilai 888, yaitu 378h dalam desimal. Sedangkan untuk parameter data, bisa dibuka kembali pada landasan teori, aturan yang digunakan sama halnya dengan perintah port[], sehingga bisa dikatakan bahwa perintah port[$378]:=16; pada Pascal identik dengan outport(888,16); pada program kami.
3.2.4. Penggunaan Macromedia Flash Sebagai Interface dan Komunikasinya dengan Delphi.
Macromedia Flash, seperti yang telah dituturkan pada landasan teori ialah program yang dapat mengintegrasikan multimedia, seperti animasi grafis, suara, dan actionscript yang berfungsi menambah keinteraktifan dari sebuah file Flash sendiri. Uniknya, selain dari semua itu, Flash dapat saling berkirim nilai variabel dengan program luar yang memakainya (Delphi, VB, Java, dll). Dalam hal ini tentu saja kami akan membahas komunikasi antara Delphi dengan Flash.
Alasan kami menggunakan Macromedia Flash untuk keinteraktifan sistem perangkat lunak kami. Akan tampak sangat membosankan apabila tampilan program kami hanya memunculkan delapan tombol arah panah sebagai penggerak robot kami. Untuk itu kami menambahkan beberapa animasi untuk memberi keterangan pergerakan robot ketika tombol tertentu ditekan. Animasi tersebut akan muncul ketika tombol dilewati oleh mouse.
Cara delphi mengkomunikasikan diri dengan flash sebagai salah satu component di delphi cukup sederhana. Pada component Flash terdapat properti .GetVariable, berfungsi sebagai function dengan sintaks sebagai berikut :
ShockwaveFlash.Getvariable(’FlashVarName’);
Dimana FlashVarName adalah nama variabel yang ingin diambil nilainya dari Macromedia Flash. Ide utama dari program adalah memanfaatkan Timer untuk mengambil variabel flag dari Flash dalam satuan waktu terkecil (1 ms), karena Flash tidak bisa mengirim variabelnya ke delphi secara otamatis melainkan Delphilah yang harus aktif untuk menangkap variable pada flash apabila ada perubahan, dalam hal ini flag variable dari delapan tombol arah. Untuk lebih jelasnya, dapat dilihat pada gambar 3.3.
Gambar 3.3 Gambaran kerja komunikasi Delphi - Flash
3.3. Analisa Mekanis
Robot kami mempunyai 6 buah roda penggerak yang terpisah, 3 untuk masing-masing sisi. Roda tengah di masing-masing sisi dikendalikan oleh sebuah motor DC. Kami rancang demikian supaya robot dapat berputar pada porosnya.
Robot kami dapat bergerak maju, mundur, ke kiri dan ke kanan. Adapun untuk pergerakan membeloknya kami mengambil prinsip sebuah tank, sehingga didapat pergerakan ke 8 arah yang berbeda, yaitu maju, maju belok ke kanan, maju belok ke kiri, belok kanan tajam, belok kiri tajam, mundur, mundur belok kiri, dan mundur belok ke kanan.
Belok kanan tajam dan kiri tajam merupakan perutaran pada porosnya tetapi tidak 100 % sempurna pada porosnya. Hal ini disebabkan karena prinsip motor dimana kecepatan berputar maju dan mundurnya tidak sama, kecepatan mundur lebih lambat dibanding kecepatan maju(prinsip dasar motor DC normal).
Gerak robot kami cukup cepat karena kami mnggunakan motor DC 12 volt, sehingga kadang-kadang terjadi kesulitan ketika ingin membelokkan robot secara tepat. Sebenarnya kecepatan robot kami dapat diperlambat dengan menggunakan gear untuk bekerja seperti sebuah katrol, tapi kami tidak menggunakannya dikarenakan kami cukup kesulitan untuk memposisikan motor DC tersebut di kasis agar gear motor saling bersentuhan dengan gear roda. Kami juga kesulitan untuk mendapatkan gear yang tepat, sehingga motor kami hubungkan langsung dengan roda tengah robot. Karena yang bergerak hanya roda tengah (roda yang lain hanya sebagai penyetabil rangkaian), maka robot kami juga mempunyai kesulitan ketika bertemu tanjakan atau melalui gundukan kecil. Ini disebabkan karena ketika menanjak roda depan akan terangkat lebih dulu dan juga menyebabkan roda tengah terangkat sehingga roda tengah tidak meyentuh permukaan.
3.4. Kinerja Alat
Tabel 3.3. Tombol pada program dan hasil pergerakan
Tampilan Tombol pada Program Hasil Gerakan
Tampilan Tombol pada Program Hasil Gerakan
DAFTAR PUSTAKA
[1]. Anonim, Modul Tutorial Praktikum Elektronika Dasar 1, Lab. Elektronika Dasar - Universitas Gunadarma, Depok, 2002
[2]. Arianto Widyatmo, Haryono Eduard, & Fendy, Belajar Mikroprosesor-Mikrokontroler melalui Komputer PC, Edisi I, PT. Elexmedia Komputindo, Jakarta, 1994
[3]. Didik Wijaya, Tip & Trik Macromedia Flash 5.0 dengan ActionScript, PT. Elexmedia Komputindo, Jakarta, 2001
[4]. MADCOMS, Seri Penduan Pemrograman Borland Delphi 7 (Jilid 1), Edisi I, Penerbit ANDI, Yogyakarta, 2002
[5]. Stallings, William, Komunikasi Data dan Komputer : Dasar-dasar Komunikasi Data, Edisi I, Salemba Teknika, Jakarta, 2001
[6]. URL : http://electronics.howstuffworks.com/motor.htm, 1998
[7]. URL : http://www.srl.gatech.edu/education/ME3110/design-reports/RSVP/DR4/catalog/motors.htm, 1997
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar