BAB II LANDASAN TEORI
2.1
Pengertian Sistem Suatu sistem dapat terdiri dari beberapa subsistem atau sistem-sistem
bagian. Komponen-komponen atau subsistem-subsistem dalam suatu sistem tidak dapat berdiri sendiri-sendiri. Komponen-komponen atau subsistem-subsistem saling berinteraksi dan saling berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat tercapai. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem sebagai berikut : “Suatu sistem adalah jaringan daripada elemen-elemen yang saling berhubungan, membentuk satu kesatuan yang untuk melaksanakan suatu tujuan pokok dari sistem tersebut. Pendekatan
sistem
yang
lebih
menekankan
pada
komponennya
mendefinisikan sebagai berikut : “Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu.
2.1.1 Karakteristik Sistem “Suatu sistem pempunyai karakteristik atau sifat-sifat tertentu yaitu mempunyai komponen (components), mempunyai batas sistem (boundary), mempunyai lingkungan (environments), mempunyai penghubung/antar muka (interface) antar komponen, mempunyai masukan
(input), mempunyai
pengolahan (processing), mempunyai keluaran (output), mempunyai sasaran (objective) dan tujuan (goal), mempunyai kendali (control), dan mempunyai umpan balik (feed back). 1. Komponen sistem (components sistem) Komponen sistem adalah segala sesuatu yang menjadi bagian penyusun sistem. Komponen sistem dapat berupa benda nyata ataupun abstrak.
7
8
Komponen sistem disebut sebagai subsistem, dapat berupa orang, benda, hal atau kejadian yang terlibat didalam sistem. 2. Mempunyai Batas sistem (boundary) Batas sistem diperlukan untuk membedakan satu sistem dengan sistem lain. Tanpa adanya batas sistem maka sangat sulit untuk menjelaskan suatu sistem. Batas sistem akan memberikan batasan scope tinjauan terhadap sistem. 3. Mempunyai Lingkungan (environment) Lingkungan sistem adalah segala sesuatu yang berada di luar sistem. Lingkungan sistem dapat menguntungkan ataupun merugikan. Umumnya, lingkungan yang menguntungkan akan selalu dipertahankan untuk menjaga keberlangsungan sistem. Sedangkan lingkungan sistem yang merugikan akan diupayakan agar mempunyai pengaruh seminimal mungkin, bahkan jika mungkin ditiadakan. 4. Mempunyai Penghubung/antar muka (interface) antar komponen Penghubung/antar muka merupakan komponen sistem, yaitu segala sesuatu yang bertugas menjembatani hubungan antar komponen dalam sistem. Penghubung/antar muka merupakan sarana yang memungkinkan setiap komponen saling berinteraksi dan berkomunikasi dalam rangka menjalankan fungsi masing-masing komponen. Dalam dunia komputer, penghubung/antar muka dapat berupa berbagai macam tampilan dialog layar monitor yang memungkinkan seseorang dapat dengan mudah mengoperasikan sistem aplikasi komputer yang digunakannya. 5. Mempunyai Masukan (input) Masukan merupakan komponen sistem, yaitu segala sesuatu yang perlu dimasukkan ke dalam sistem sebagai bahan yang akan diolah lebih lanjut untuk menghasilkan keluaran yang berguna. Dalam sistem Informasi Manajemen, masukan di sebut sebagai data. 6. Mempunyai Pengolahan (processing) Dalam sistem informasi manajemen, pengolahan adalah berupa program aplikasi komputer yang dikembangkan untuk keperluan khusus. Program aplikasi tersebut mampu menerima masukan, mengolah masukan, dan
9
menampilkan hasil olahan sesuai dengan kebutuhan para pemakai. 7. Mempunyai Keluaran (output) Keluaran merupakan komponen sistem berupa berbagai macam bentuk keluaran yang dihasilkan oleh komponen pengolahan. Dalam sistem informasi manajemen, keluaran adalah informasi yang dihasilkan oleh program aplikasi yang akan digunakan oleh pemakai sebagai bahan pengambilan keputusan. 8. Mempunyai Sasaran (objective) dan Tujuan (goal) Setiap komponen dalam sistem perlu dijaga agar saling bekerja sama dengan harapan agar mampu mencapai sasaran dan tujuan sistem. Sasaran berbeda dengan tujuan. Sasaran sistem adalah apa yang ingin dicapai oleh sistem untuk jangka waktu yang relative pendek. Sedangkan tujuan merupakan kondisi/hasil akhir yang ingin dicapai oleh sistem untuk jangka waktu yang panjang. Dalam hal ini, sasaran merupakan hasil pada setiap tahapan tertentu yang mendukung upaya pencapaian tujuan. 9. Mempunyai Kendali (control) Bagian kendali mempunyai peran utama menjaga agar proses dalam sistem dapat berlangsung secara normal sesuai batasan yang telah ditetapkan sebelumnya. Dalam sistem informasi manajemen, kendali dapat berupa validasi masukan, validasi proses, maupun validasi keluaran yang dapat dirancang dan dikembangkan secara terprogram. 10. Mempunyai Umpan Balik (feed back) Umpan balik diperlukan oleh bagian kendali (control) sistem untuk mengecek
terjadinya
penyimpangan
proses
dalam
sistem
dan
mengembalikannya ke dalam kondisi normal.
2.1.2 Kriteria Sistem Yang Baik Kriteria sistem yang baik antara lain: a.
Kegunaan Sistem harus menghasilkan informasi yang tepat pada waktunya, relevan yang berarti sistem tersebut mempunyai manfaat bagi pemakainya.
b.
Ekonomis
10
Dalam merancang atau membangun sebuah sistem sebisa mungkin hemat pada biaya perancangan, perawatan maupun operasional sistem tersebut. c.
Kehandalan Keluaran (output) sistem harus memiliki tingkat ketelitian yang sangat tinggi dan sistem itu sendiri harus mampu beroperasi secara efektif dan efisien.
d.
Kapasitas Sistem harus mempunyai kapasitas yang memadai untuk menangani periode-periode operasi puncak seperti pada saat sistem beroperasi pada puncak.
e.
Fleksibilitas Sistem harus cukup fleksibilitas untuk menampung perubahan yang akan muncul sewaktu-waktu.
f.
Kecepatan Sistem harus mempunyai tingkat kecepatan yang memadai agar dapat mendukung kinerja sebuah sistem agar dapat menghasilkan informasi yang diinginkan dan tepat waktu, didalam sistem alat pendeteksi kecepatan gerak benda, tolak ukur dari kerja sistem mengacu pada rumus dasar kecepatan, yaitu : T=v/s dimana satuan jarak dibagi dengan satuan waktu, karena arah vektor kecepatan sama dengan arah vektor perpindahan.
2.2
Metode Prototyping Metode Pengembangan adalah sebuah cara yang tersistem atau teratur
yang bertujuan untuk melakukan analisa pengembangan suatu sistem agar sistem tersebut dapat memenuhi kebutuhan (nur ichsan) Dalam
melakukan
pengembangan
system
yang
terkomputerisasi
melakukan langkah-langkah dalam mengimplementasikannya, salah satu metode pengembangan rekayasa perangkat lunak yaitu metode prototyping. Metode prototyping ini sering digunakan pada dunia riil, karena metode ini secara keseluruhan akan mengacu kepada kepuasan user. Bisa dikatakan bahwa metode ini merupakan metode waterfall yang dilakukan secara berulang-ulang.
11
2.2.1 Tahapan Metode Prototyping Tahapan-tahapan dalam Prototyping adalah sebagai berikut: a. Pengumpulan kebutuhan Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat. b. Membangun prototyping Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pengguna yaitu dengan membuat format input dan output. c. Evaluasi protoptyping Evaluasi ini dilakukan oleh pengguna apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pengguna. Jika sudah sesuai maka langkah berikutnya akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah sebelumnya. d. Mengkodekan sistem Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai. e. Menguji sistem Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan metode Black Box. f. Evaluasi Sistem Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . g. Menggunakan Sistem Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
2.2.2
Jenis - Jenis Prototyping
a. Feasibility prototyping. Digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
12
b. Requirement prototyping. Digunakan untuk mengetahui kebutuhan aktivitas bisnis user. Misalnya dalam sebuah perusahaan terdapat user direktur, manajer, dan karyawan. Maka penggunaan sistem dapat dibedakan berdasarkan user tersebut sesuai dengan kebutuhannya. c. Desain Prototyping. Digunakan untuk mendorong perancangan system informasi yang akan digunakan. d. Implementation prototyping. Merupakan lanjutan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.
2.3
Robot
2.3.1
Definisi Robot Pertamanya kata Robot berasal dari bahasa Chekoslowakia “Robota” yang
berarti budak, pelayan atau kerja paksa. Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu. Robot biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang. 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. 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 mobil minimal diperlukan pengetahuan tentang mikrokontroler dan sensor – sensor elektronik.
13
Basis dari robot mobil dapat dengan mudah dibuat dengan menggunakan Plywood atau triplek, akrilik sampai menggunakan logam (aluminium). Robot jaringan adalah pendekatan baru untuk melakukan kontrol robot menggunakan jaringan internet dengan protokol TCP/IP. Perkembangan robot jaringan dipicu oleh kemajuan jaringan dan internet yang pesat. Dengan koneksi jaringan, proses kontrol dan monitoring, termasuk akuisisi data bila ada, seluruhnya dilakukan melalui jaringan. Keuntungan lain, koneksi ini bisa dilakukan secara nirkabel. Encyclopedia Britannica memberikan definisi sebagai berikut : “Peralatan robot adalah sebuah mekanisme instrumentasi baik dalam bidang ilmu pengetahuan atau dunia industri untuk menggantikan peran dari manusia. Secara fisik, robot dapat menyerupai manusia dan melakukan tugas – tugas yang manusiawi.
2.3.2
Sejarah robot
Tahun 1890
: Nikola Tesla mendesain pertama kali sebuah alat remote control kendaraan. Tesla juga dikenal sebagai penemu radio, motor industri dan kumparan tesla
Tahun 1892
: Di USA, Seward Babbit mendesain derek bermotor yang dilengkapi dengan cengkeraman (Gripper)
Tahun 1921
: Referensi pertama kata robot muncul dalam pembukaan drama di London, berjudul Rossum's Universal Robots. Kata robot berasal dari kata Ceko, robota, yang berarti membosankan atau budakseperti tenaga kerja. Istilah ini pertama kali digunakan oleh Dramawan Ceko, Karel Capek, untuk yang
membantu
memudahkan
menggambarkan robot
pekerjaan
manusia
dan
mengerjakan pekerjaan yang berulang. Dalam drama ini diceritakan ketika berada dalam medan pertempuran, robot malah berbalik melawan manusia dan mengambil alih kekuasaan dunia. Tahun 1938
: Seorang berkebangsaan Amerika Willard Pollard dan Harold Roselund membuat mekanisme penyemprotan cat yang dapat diprogram untuk perusahaan De Vilbiss
14
Tahun 1940
: Grey Walters "Machina Speculatrix" berhasil menciptakan robot pertama kali yang diberi nama Elsie si- kura-kura.
Tahun 1941
: Penulis fiksi ilmiah pertama Isaac Asimov menggunakan kata "robot" untuk menggambarkan teknologi robot dan memprediksi bangkitnya industri robot yang kuat
Tahun 1942
: Asimov menulis cerita tentang robot dengan judul “Runaround” yang didalamnya terdapat tiga hukum perilaku robot (Three Law of Robotics).
2.3.3 Jenis – jenis robot Secara umum robot dibedakan menjadi 3 kategori : a. Robot Industri Robot industri didedikasikan untuk mengerjakan pekerjaan dalam industri manufaktur atau industri yang lain yang berbahaya apabila dilakukan oleh pekerja manusia. Robot ini juga digunakan untuk mengerjakan proses – proses yang berulang secara terus menerus tanpa perubahan. Dalam industri modern, robot industri dapat secara mudah diprogram untuk mengerjakan aplikasi yang baru. b. Robot Research/ Service Robot ini digunakan untuk eksplorasi dan pengumpulan data. Biasanya digunakan pada aplikasi luar angkasa, bidang kedokteran, dan peralatan rumah tangga. Robot research tidak hanya digunakan untuk berinteraksi dengan lingkungan, tetapi mampu bereaksi dengan cepat sehingga biasa disebut “Artifical Intelligence”. c. Robot Edukasi Robot edukasi didesain se-interaktif mungkin menyerupai mainan sehingga dapat digunakan sebagai bahan atau peralatan pembelajaran. Biasanya robot ini juga digunakan dalam pertandingan robotika sebagai implementasi dari pembelajaran ilmu pengetahuan tentang robot. Banyak jenis – jenis yang berkembang dari ketiga kategori robot di atas antara lain :
15
2.3.3.1 Robot Mobile Mobile robot adalah robot yang di disain dengan menggunakan sistem gerak (locomotion) dengan menggunakan roda. Jenis mobile robot meliputi Rover (robot mobil penjelajah), Line Follower (robot pengikut garis) dan lain – lain. Salah satu jenis robot Rover adalah Rocky 7. Ia adalah penyempurnaan Robot Sojourner (Rocky 4) yang telah sampai ke planet Mars menggunakan wahana antariksa PathFinder. Pada Rocky 7 terdapat suatu tangkai pada ujungnya terdapat suatu corong yang dapat dipakai untukmengambil contoh bebatuan Mars. Disain yang menawan Rocky 7 atau Sojourner adalah adanya panel surya (solar cell) yang dipakai untuk mengisi baterai robot. Ia juga menggunakan roda yang penuh dengan duri – duri sehingga mampu berjalan pada daerah yang tidak rata. Robot Rover merupakan salah satu mobile robot yang cukup menarik. Rover didesain agar dapat menempuh jalan yang berbelok – belok seperti pada planet Mars. Untuk itu biasanya para ilmuwan menguji Rover buatannya menggunakan contoh tanah Mars. Rover biasanya memiliki roda empat sampai enam, dimana masing – masing roda sangat fleksibel sehingga dapat berjalan di jalan bebatuan dengan mudah tanpa terbalik.
Gambar 2.1. Robot Rover Sojourner Selain itu ada juga robot Octopus yang didisain menyerupai gurita sehingga seperti memiliki tentakel. Ia dapat berjalan pada tempat yang berbatu – batu bahkan dapat menaiki tembok yang lebih tinggi.
16
2.3.3.2 Robot Six Legged Walking Robot (Hexapod) Hexapod merupakan robot yang popular dikalangan penggemar robot. Ia merupakan robot berkaki enam. Untuk menggerakkan kaki – kakinya diperlukan suatu servo motor. Namun disain lain memungkinkan menggunakan sebuah servo motor untuk menggerakkan kedua kakinya seperti pada Karl William Hexapod (Insectronic). Pada hexapod dapat ditambahkan beragam sensor untuk mendukung otomasi pada robot ini. Sensor lain yang dapat dipasang misalnya sistemsonar atau
menggunakan remote control. Pada robot ini dapat ditambahkan suatu
gripper (penjepit) sehingga dapat mengambil sebuah benda. Robot Insectronic karya Karl William menggunakan 3 buah servo motor. Robot ini dibuat menggunakan bahan aluminium. Pada robot ini di pasang sensor infra merah untuk mendeteksi keberadaan benda didepan robot. Hexapod 2 yang dibuat oleh Christian Vlaskowits menggunakan 12 hitec servo motor. Robot ini dikontrol oleh Basic Stamp 2 SX (BS2SX) dari Parallax dengan 2 serial servo controller. Catu daya yang dipakai adalah 9 Volt untuk kontroler dan servo. Hexapod 2 milik Math Vos menggunakan
C Controller dari Conrad. Untuk
memprogram dilakukan hanya dengan menghubungkan ke serial port sebuah komputer (PC). Jika robot ini membentur sebuah benda, ia akan bergerak mundur lima langkah kemudian merubah arah ke kiri atau ke kanan. Menggunakan 3 buah HITEC HS700/700BB servo dimana masing – masing servo memiliki torsi sekitar 9,8 kg/cm. Baterai yang digunakan adalah 4,8V/4Ah accumulator. Hexapod Walker Per Lindquist di kontrol oleh mikrokontroler PIC16F628 dan empat PIC16F84. untuk mengerakkannya digunakan standard servo. Namun robot ini tidak memiliki sensor. Robot Hexapodo dibuat oleh Jairo VB dengan menggunakan kontrol PIC16F84 dan tiga standard servo. Didayai dengan menggunakan 4 buah standard baterai. Pada bagian muka dipasang LED dan sensor. Sedangkan HexaTron yang dibuat oleh Tobias Reneskog menggunakan fiberglass bersama–sama dengan menggunakan screw yang panjang. Ia menggunakan 12 buah JR591RC Servos untuk kakinya, 2 servo untuk gripper dan micro servo untuk sistem sonar yang dapat berputar. HexaTron memiliki full duplex radio data link untuk menerima perintah dan mengirimkan data. Pada 2,4Ghz video link mentransmisikan suara
17
dan gambar dari kamera yang terpasang pada robot. Robot ini diotaki oleh Atmel AT89S8252 yang bekerja pada 11,059 MHz dan memiliki 32kB Ram yang didayai baterai untuk menyimpan kode dan data dan digunakan 6V 4Ah NiMH baterai camcorder. Jenis lain Hexapod adalah Minihex2 oleh Math Vos. Robot ini berukuran kecil. Menggunakan 3 buah servo motor untuk
bergerak. Ia dikontrol
menggunakan PNCFREE uCore (BEAM) hanya tiga IC dan beberapa resistor dan kapasitor. Ia dapat berputar dan bahkan bergerak mundur.
Gambar 2.2. Robot Hexapod
2.3.3.3 Robot Humanoid Robot Humanoid adalah robot yang memiliki bentuk seperti manusia (human). Oleh karena itu ia memiliki kemampuan seperti layaknya manusia, yaitu dapat berjalan dengan kedua kaki (bi-pedal), memiliki tangan dengan jari – jari tangan. Robot humanoid yang cerdas biasanya dilengkapi dengan kamera yang membuatnya dapat mengenali orang. Honda ASIMO adalah robot yang di buat oleh Honda Motor Company. Perusahaan ini telah melakukan penelitian
rahasia tentang humanoidrobot
beberapa tahun lalu dan hasilnya adalah Asimo. Asimo kini tersedia versi yang berukuran lebih kecil. Penelitian robot ini telah dimulai tahun 1986. Kelebihan khusus Asimo adalah lebih kecil dan ringan, teknologi gerak yang lebih baik, operasional yang sederhana, berdesain seperti orang (human-like robot).
18
Gaambar 2.3. Robot Hum manoid
2.3.3.4 Roobot jaringan Padda dasarnyaa robot jarinngan sama dengan d prinnsip kerja roobot – robott yang lain. Hall yang meenjadi perrbedaan ad dalah sistem m kontrol robot deengan menggunaakan jaringgan interneet baik Wireless W ataau Wired. Robot jaringan memanfaaatkan Embeedded TCP//IP Web Seerver sebagaai media koomunikasi antara a Website interface i deengan Mikrrokontroler.. LIPI Wireeless Robott (LWR) adalah a salah satuu robot jarinngan yang berhasil dikembangkaan oleh Grooup Fisika Teori dan Kompputer Lembaga Ilmu Peengetahuan n Indonesia (GFTK, LIPI) dikendaalikan melalui website w unntuk berinteraksi lang gsung dengan lingkuungan sekaaligus menganaliisanya.
Gaambar 2.4. LIPI Wirelless Robot
19
2.4
Hukum Robotika Isaac Asimov, sebagai Bapak Robotika, mengeluarkan “Three Law of
Robotics” pada tahun 1942. Kemudian menambahkan satu poin hukum robotika sehingga dikenal menjadi “The Zeroth Law” sebagai berikut : a. Hukum 0 : sebuah robot tidak boleh menyakiti manusia atau tanpa aksi sehingga mengijinkan manusia untuk datang menyakiti b. Hukum 1 : sebuah robot tidak boleh menyakiti manusia atau tanpa aksi sehingga mengijinkan manusia untuk datang menyakiti, kecuali jika melanggar hukum yang lebih tinggi c. Hukum 2 : sebuah robot harus menuruti perintah manusia kecuali jika perintah tersebut melanggar hukum d. Hukum 3 : sebuah robot harus melindungi eksistensinya selama tidak bertentangan dengan hukum
2.5
Protokol TCP/IP TCP/IP (Transmission Control Protocol/Internet Protokol) adalah
serangkaian protokol dimana setiap protokol melakukan sebagian dari keseluruhan tugas komunikasi jaringan. Pengimplementasi jaringan memilih diantara protokol-protokol ini untuk mencapai fungsi jaringan yang diinginkan. Komputer – komputer yang terhubung ke internet berkomunikasi dengan protokol ini. Perkembangan TCP/IP yang diterima luas dan praktis menjadi standar defacto jaringan komputer berkaitan dengan ciri-ciri yang terdapat pada protokol itu sendiri yang merupakan keunggulan dari TCP/IP, yaitu : a. Perkembangan protokol TCP/IP menggunakan standar protokol terbuka sehingga tersedia secara luas. Semua orang bisa mengembangkan perangkat lunak untuk dapat berkomunikasi menggunakan protokol ini. Hal ini membuat pemakaian TCP/IP meluas dengan sangat cepat, terutama dari sisi pengadopsian oleh berbagai sistem operasi dan aplikasi jaringan. b. Tidak tergantung pada perangkat keras atau sistem operasi jaringan tertentu sehingga TCP/IP cocok untuk menyatukan bermacam -macam network, seperti : Ethernet, token ring, dial-up line, X-25 net dan lain-lain.
20
c. Cara pengalamatan bersifat unik dalam skala global, memungkinkan komputer dapat mengidentifikasi secara unik komputer yang lain dalam seluruh jaringan, walaupun jaringannya sebesar jaringan Worldwide Internet. Setiap komputer yang tersambung dengan jaringan TCP/IP (Internet) akan memiliki address yang hanya dimiliki olehnya. d. TCP/IP memiliki fasilitas routing dan jenis-jenis layanan lainnya yang memungkinkan diterapkan pada internetwork. e. Arsitektur dan Protokol Jaringan TCP/IP Dalam arsitektur jaringan komputer, terdapat suatu lapisan-lapisan ( layer ) yang memiliki tugas spesifik serta memiliki protokol tersendiri. ISO (International Standard Organization) telah mengeluarkan suatu standard untuk arsitektur jaringan komputer yang dikenal dengan nama Open System Interconnection (OSI). Standard ini terdiri dari 7 lapisan protokol yang menjalankan fungsi komunikasi antara 2 komputer. Dalam TCP/IP hanya terdapat 5 lapisan sbb :
Gambar 2.5. Perbandingan Arsitektur OSI dan TCP/IP
Walaupun jumlahnya berbeda, namun semua fungsi dari lapisan-lapisan arsitektur OSI telah tercakup oleh arsitektur TCP/IP. Adapun rincian fungsi masing-masing layer arsitektur TCP/IP adalah sbb : 1. Physical Layer (lapisan fisik) merupakan lapisan terbawah yang mendefinisikan besaran fisik seperti media komunikasi, tegangan, arus,
21
dsb. Pada lapisan ini terjadi proses pengiriman data dalam bentuk binary. Lapisan ini dapat bervariasi bergantung pada media komunikasi pada jaringan yang bersangkutan. 2. Network Access Layer mempunyai fungsi yang mirip dengan Data Link Layer pada OSI. Lapisan ini mengatur penyaluran data frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan servis untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan. 3. Internet Layer mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada. Addressing, yakni melengkapi setiap datagram dengan alamat Internet dari tujuan. Alamat pada protokol inilah yang dikenal dengan Internet Protocol Address ( IP Address). Karena pengalamatan (Addressing) pada jaringan TCP/IP berada pada level ini (Software), maka jaringan TCP/IP independen dari jenis media dan komputer yang digunakan. Routing, yakni menentukan ke mana datagram akan dikirim agar mencapai tujuan yang diinginkan. Fungsi ini merupakan fungsi terpenting dari Internet Protocol (IP). Sebagai protokol yang bersifat Connectionless, proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali terhadap paket yang dikirimkannya untuk bisa mencapai tujuan. Router-router pada jaringan TCP/IP lah yang sangat menentukan dalam penyampaian datagram dari penerima ke tujuan. 4. Transport Layer mendefinisikan cara-cara untuk melakukan pengiriman data antara End To End Host secara handal. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima adalah sama dengan informasi yang dikirimkan pada pengirim. Untuk itu, lapisan ini memiliki beberapa fungsi penting antara lain : Flow Control. Pengiriman data yang telah dipecah menjadi paket-paket tersebut harus diatur sedemikian rupa agar pengirim tidak sampai
22
mengirimkan data dengan kecepatan yang melebihi kemampuan penerima dalam menerima data. Error Detection. Pengirim dan penerima juga melengkapi data dengan sejumlah informasi yang bisa digunakan untuk memeriksa data yang dikirimkan bebas dari kesalahan. Jika ditemukan kesalahan pada paket data yang diterima, maka penerima tidak akan menerima data tersebut. Pengirim akan mengirim ulang paket data yang mengandung kesalahan tadi. Namun hal ini dapat menimbulkan Delay yang cukup berarti. Pada TCP/IP, protokol yang dipergunakan adalah Transmission Control Protocol (TCP) atau User Datagram Protocol ( UDP ). TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data, sedangkan UDP digunakan untuk aplikasi yang membutuhkan panjang paket yang pendek dan tidak menuntut keandalan yang tinggi. TCP memiliki fungsi flow control dan error detection dan bersifat connection oriented. Sebaliknya pada UDP yang bersifat connectionless tidak ada mekanisme pemeriksaan data dan flow control, sehingga UDP disebut juga unreliable protocol. 5. Application Layer merupakan lapisan terakhir dalam arsitektur TCP/IP yang berfungsi mendefinisikan aplikasi-aplikasi yang dijalankan pada jaringan. Karena itu, terdapat banyak protokol pada lapisan ini, sesuai dengan banyaknya aplikasi TCP/IP yang dapat dijalankan. Contohnya adalah SMTP ( Simple Mail Transfer Protocol ) untuk pengiriman e-mail, FTP (File Transfer Protocol) untuk transfer file, HTTP (Hyper Text Transfer Protocol) untuk aplikasi web, NNTP (Network News Transfer Protocol) untuk distribusi news group dan lain-lain. Setiap aplikasi pada umumnya menggunakan protokol TCP dan IP, sehingga keseluruhan keluarga protokol ini dinamai dengan TCP/IP.
2.5.1
Internet Protokol Internet Protocol (IP) berfungsi menyampaikan paket data ke alamat yang
tepat. Oleh karena itu Internet Protokol memegang peranan yang sangat penting dari jaringan TCP/IP. Karena semua aplikasi jaringan TCP/IP pasti bertumpu
23
kepada Internet Protocol agar dapat berjalan dengan baik. Suatu datagram bisa saja tidak sampai dengan selamat ke tujuan karena beberapa hal berikut: a. Adanya bit error pada saat pentransmisian datagram pada suatu medium b. Router yang dilewati mendiscard datagram karena terjadinya kongesti dan kekurangan ruang memori buffer c. Putusnya rute ke tujuan untuk sementara waktu akibat adanya router yang down d. Terjadinya kekacauan routing, sehingga datagram mengalami looping Setiap protokol memiliki bit-bit ekstra diluar informasi/data yang dibawanya. Selain informasi, bit-bit ini juga berfungsi sebagai alat kontrol. Dari sisi efisiensi, semakin besar jumlah bit ekstra ini, maka semakin kecil efisiensi komunikasi yang berjalan. Sebaliknya semakin kecil jumlah bit ekstra ini, semakin tinggi efisiensi komunikasi yang berjalan. Disinilah dilakukan trade-off antara keandalan datagram dan efisiensi. Sebagai contoh, agar datagram IP dapat menemukan tujuannya, diperlukan informasi tambahan yang harus dicantumkan pada header ini. IP (Internet Protocol) address (alamat IP) adalah suatu identitas yang unik dari suatu host atau komputer pada jaringan (network). Format alamat dari IP adalah W.X.Y.Z. Di mana masing masing huruf tersebut terdiri dari 8 bit, sehingga apabila di tampilkan dalam desimal menjadi berupa angka dari 0 – 255 dan di pisahkan oleh notasi titik (dot). Contoh
: 192.168.2.1
IP Address
: 192 .168 .2.1
Dalam Biner : 11000000 11001000 00000010 00000001 Aturan penggunaan IP tidak di perbolehkan penggunaan semua nilai 0 dan juga tidak boleh menggunakan semua nilai 1 dalam bentuk binari, baik pada Network ID maupun Host ID. Angka 255 dalam desimal sama dengan 11111111 dalam binari (angka 1 semua) dan angka 0 dalam desimal sama dengan 00000000 (angka 0 semua ) dalam binari. Kelas dari address dan subnet mask, yang akan memisahkan, mana bagian dari network ID, dan mana yang menjadi host ID.
2.5.2
Kelas dalam IP Address
24
Ada 5 kelas IP Address yang berbeda. Kita dapat menyebutkan IP itu termasuk dalam kelas yang mana dengan cara melihat pada 4 bit pertama dari IP address yang kita akan cari kelasnya. Aturan untuk kelas A nilai binari-nya selalu di mulai dengan 0, kelas B dimulai dari 10, kelas C 110, kelas D 1110, dan kelas E 1111.
Tabel 2.1. Kelas IP Address Kelas A B C D E
Biner (binery) 0XXX 10XX 110X 1110 1111
Desimal 1 sampai 126 desimal 128 sampai 191 desimal 192 sampai 223 desimal 224 sampai 239 desimal 240 sampai 254 desimal
Kelas A 0XXX atau Kelas B address di mulai dari 10XX atau Kelas C address di mulai dari 110X atau Kelas D address di mulai dari 1110 atau Kelas E address di mulai dari 1111.
2.5.3
Network, Host dan Subnet IP address dibagi lagi ke dalam 2 bagian yaitu Network ID dan Host ID.
Network ID bertugas membedakan antara Network (jaringan), dan Host ID memiliki tugas membedakan antara host (node) atau komputer. Agar komputer dapat saling berhubungan maka pada komputer-komputer tersebut harus memiliki Network ID yang sama tetapi harus mempunyai Host ID yang berbeda. Jika 2 komputer atau lebih mempunyai perbedaan pada Network ID, berarti komputerkomputer tersebut tidak berada pada satu jaringan dan tidak dapat berhubungan secara langsung (kecuali melalui router). Subnet merupakan suatu metode untuk memperbanyak network ID yang berasal dari satu Network ID. Caranya yaitu sebagian host ID dikorbankan untuk di gunakan didalam membuat network ID tambahan. Default dari subnet mask kelas -kelas IP adalah : Kelas A : 255.0.0.0 11111111.00000000.00000000.00000000 Kelas B : 255.255.0.0 11111111.11111111.00000000.00000000
25
Kelas C : 255.255.255.0 11111111.11111111.11111111.00000000
2.6
Website dan Web Server Situs web (sering pula disingkat menjadi situs saja; web site, site) adalah
sebutan bagi sekelompok halaman web (web page), yang umumnya merupakan bagian dari suatu nama domain (domain name) atau subdomain di World Wide Web (WWW) di Internet. WWW terdiri dari seluruh situs web yang tersedia kepada publik. Halaman-halaman sebuah situs web diakses dari sebuah URL yang menjadi "akar" (root), yang disebut homepage (halaman induk; sering diterjemahkan menjadi "beranda", "halaman muka"), dan biasanya disimpan dalam server yang sama. Secara terminologi, website adalah kumpulan dari halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya berada di dalam World Wide Web (WWW) di Internet. Sebuah halaman web adalah dokumen yang ditulis dalam format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP. Semua publikasi dari website-website tersebut dapat membentuk sebuah jaringan informasi yang sangat besar. Halaman-halaman dari website akan bisa diakses melalui sebuah URL yang biasa disebut Homepage. URL ini mengatur halaman-halaman situs untuk menjadi sebuah hirarki, meskipun, hyperlink-hyperlink yang ada di halaman tersebut mengatur para pembaca dan memberitahu mereka sususan keseluruhan dan bagaimana arus informasi ini berjalan. Beberapa website membutuhkan subskripsi (data masukan) agar para user bisa mengakses sebagian atau keseluruhan isi website tersebut. Contohnya, ada beberapa situs-situs bisnis, situs-situs e-mail gratisan, yang membutuhkan subkripsi agar kita bisa mengakses situs tersebut. Penemu website adalah Sir Timothy John ¨Tim¨ Berners-Lee, sedangkan website yang tersambung dengan jaringan, pertamakali muncul pada tahun 1991. Maksud dari Tim ketika membuat website adalah untuk mempermudah tukar menukar dan memperbarui informasi kepada sesama peneliti di tempat dia bekerja. Pada tanggal 30 April 1993, CERN (tempat dimana Tim bekerja)
26
menginformasikan bahwa WWW dapat digunakan secara gratis oleh semua orang. Website ditulis, atau secara dinamik di konversi menjadi HTML dan diakses melalui sebuah program software yang biasa disebut dengan web browser, yang dikenal juga dengan HTTP Client. Halaman web dapat dilihat atau diakses melalui jaringan komputer dan internet, perangkatnya bisa saja berupa komputer pribadi, laptop, PDA ataupun telepon selular. Sebuah website dibuat didalam sebuah sistem komputer yang dikenal dengan server web, juga disebut HTTP Server, dan pengertian ini juga bisa menunjuk pada software yang dipakai untuk menjalankan sistem ini, yang kemudian menerima lalu mengirimkan halaman-halaman yang diperlukan untuk merespon permintaan dari pengguna. Apache adalah piranti lunak yang biasa digunakan dalam sebuah webserver, kemudian setelah itu adalah Microsoft Internet Information Services (IIS). Selain Apache dan ISS sebenarnya masih banyak aplikasi yang lain yang dapat membuat computer dapat melakukan sharing website melalui jaringan internet yaitu dengan mensharingkan komputer ke internet. Dalam hal ini user yang terkoneksi dengan computer server dapat secara langsung melihat apa yang terjadi dalam komputer server dan melakukan pengontrolan dengan seizin server tentunya. Proses ini dinamakan Remote Desktop
yang secara ringkas dapat
diartikan memberikan sharing Desktop dari komputer server untuk dilihat dan dijalankan dari komputer lain melalui jaringan internet tentunya dengan sistem keamanan. Sebuah Website statik, adalah salah satu bentuk website yang isi didalam website tersebut tidak dimaksudkan untuk di update secara berkala, dan biasanya di maintain secara manual oleh beberapa orang yang menggunakan software editor. Ada 3 tipe kategori software editor yang biasa dipakai untuk tujuan maintaining ini, mereka adalah : Elemen 1 Penyunting teks. Contohnya adalah Notepad atau TextEdit, dimana HTML diubah didalam program editor tersebut. Elemen 2 WYSIWYG editor. Contohnya Microsoft Frontpage dan Macromedia Dreamweaver, dimana situs di edit menggunakan GUI (Graphical User Interface) dan format HTML ini secara otomatis di generate oleh editor ini.
27
Elemen 3 Editor yang sudah memiliki templat, contohnya Rapidweaver dan iWeb, dimana, editor ini membolehkan user untuk membuat dan mengupdate websitenya langsung ke server web secara cepat, tanpa harus mengetahui apapun tentang HTML. Mereka dapat memilih templat yang sesuai dengan keinginan mereka, menambah gambar atau obyek, mengisinya dengan tulisan, dan dengan sekejap mereka sudah dapat membuat situs web tanpa harus melihat sama sekali kode-kode HTML. Sebuah website dynamic adalah website yang secara berkala, informasi didalamnya berubah, atau website ini bisa berhubungan dengan user dengan berbagai macam cara atau metode (HTTP cookies atau Variabel Database, sejarah kunjungan, variabel sesi dan lain-lain) bisa juga dengan cara interaksi langsung menggunakan form dan pergerakan mouse. Ketika web server menerima permintaan dari user untuk memberikan halaman tertentu, maka halaman tersebut akan secara otomatis di ambil dari media penyimpanan sebagai respon dari permintaan yang diminta oleh user. Sebuah situs dapat menampilkan dialog yang sedang berlangsung diantara dua user, memantau perubahan situasi, atau menyediakan informasi yang berkaitan dengan sang user. Ada banyak jenis sistem software yang dapat dipakai untuk meng-generate Dynamic Web System dan Situs Dynamic, beberapa diantaranya adalah ColdFusion (CFM), Active Server Pages (ASP), Java Server Pages (JSP) dan PHP, bahasa program yang mampu untuk meng-generate Dynamic Web System dan Situs Dinamis. Situs juga bisa termasuk didalamnya berisi informasi yang diambil dari satu atau lebih database atau bisa juga menggunakan teknologi berbasis XML, contohnya adalah RSS. Plugin tersedia untuk menambah banyaknya feature dan kemampuan dari web browser, dimana, plugin ini dipakai untuk membuka content yang biasanya berupa cuplikan dari gambar bergerak (active content) contohnya adalah Flash, Shockwave atau applets yang ditulis dalam bahasa JAVA. Dynamic HTML juga menyediakan untuk user supaya dia bisa secara interaktif dan realtime, mengupdate di web page tersebut (catatan; halaman yang dirubah, tak perlu di load atau di reloaded agar perubahannya dapat dilihat), biasanya perubahan yang dilakukan
28
mereka memakai DOM dan Javascript yang sudah tersedia pada semua Web Browser sekarang ini. Seperti yang tertulis di atas, di luar sana ada beberapa perbedaan dalam penulisan dari terminologi website. Walaupun ¨Website¨ sudah secara umum dipakai, namun untuk Associated Press Stylebook, Reuters, Microsoft, Academia, dan kamus-kamus yang ada, penulisan yang mereka pakai adalah dengan menggunakan 2 kata, yaitu Web site. Hal ini karena ¨Web¨ bukanlah terminilogi umum, namun kependekan dari World Wide Web.
Gambar 2.6 Prinsip World Wide Web
2.7
Embedded System Sistem tertanam adalah sebuah sistem dan aplikasi yang mengandung
sedikitnya sebuah Central Information Processing Unit (CPU) yang dapat diprogram umumnya dalam bentuk Microcontroller, Microprocessor atau pun digital signal prosesor chip yang digunakan oleh individu yang seringkali tidak menyadari keberadaannya. Sistem ini dapat pula didefinisikan sebagai peralatan elektronis berukuran relatif kecil dan berbasis komputer dalam bentuk chip. Komputer atau CPU sebagai ‘otak’ sistem inilah yang berperan sentral memberikan kemudahan dalam pengoperasian serta meningkatkan fungsi dinamis dan otomasi sistem. Sistem tertanam biasanya digunakan sebagai komponen inti dari produk lain, dan umumnya berada di dalam atu tertanam pada komponen atau peralatan yang lebih besar. Sistem tertanam dirancang untuk tujuan khusus melakukan satu atau banyak tugas dalam komputasi yang real-time. Diantara karakteristik sistem ini adalah:
29
1. didesain dalam satu perangkat terintegrasi antara satu komponen dengan komponen lainnya 2. dirancang untuk melakukan tugas yang khusus, dan tidak untuk tugastugas yang umum 3. perangkat lunak untuk sistem ini umumnya berupa
firmware, yaitu
perangkat lunak untuk berkomunikasi dan berinteraksi secara real-time dengan perangkat keras Untuk mempelajari dan mengembangkan sistem tertanam ini diperlukan disiplin ilmu yang kuat untuk bidang: elektronika, instrumentasi, algoritma & pemrograman, dan kemampuan aritmatika. Penggunan sistem ini dapat ditemui diantaranya pada peralatan-peralatan: Elektronika konsumen (Consumer Electronics) seperti telepon genggam, peralatan Global Positioning System (GPS), pemutar MP3 (MP3 Player), serta alat rumah tangga semisal microwave dan rice cooker 1. Peralatan Industri (Industrial Electronic Devices) dimana sistem tertanam menjadi komponen penting untuk tugas-tugas produksi dan otomasi fabrikasi produk yang kompleks. Contoh aplikasinya terdapat pada Programmable Logic Controller (PLC) dan sensor cerdas 2. Alat-alat elektromedis (Medical Electronic Devices) semisal peralatan Ultrasonography (USG), detektor denyut jantung,dan alat pengukur gula darah elektronis, maupun alat pencitraan medis (Medical Imaging) 3. Jaringan komputer (Computer Networks) seperti pada Routers, Switches Dan Wireless Access Points. Sistem tertanam menggunakan perangkat lunak firmware yang bersifat Real-Time (Real-Time Operating System, RTOS). Berbagai jenis RTOS telah dikembangkan, baik yang proprietary atau pun open source seperti Integrity, Velocity, u-velOSity, QNX, VxWorks dan eCos. Sistem
digital,
termasuk
didalamnya
sistem
tertanam,
dapat
diimplementasikan dengan dua macam cara yaitu melalui rangkaian gerbang logika menggunakan Register Transfer Language (RTL), dan menggunakan prosesor dengan perangkat lunak. Prosesor berbasis RTL yang cukup banyak
30
digunakan diantaranya adalah Field Programmable Gate Array (FPGA) dan Application Specific Integrated Circuits (ASICs). FPGA tersusun atas modul-modul logika independen yang dapat di konfigurasi oleh pemakai yang di hubungkan melalui kanal-kanal routing yang dapat di program. FPGA mempunyai kelebihan seperti dapat dikonfigurasi oleh pengguna, tidak memerlukan proses fabrikasi, tersedia solusi yang mendukung pengembangan chip VLSI, mampu mengimplementasikan sirkuti logika logic, manufaktur cepat, prototipe berbiaya rendah, dan pemrograman yang singkat untuk fungsi dan kemampuan yang setara dengan ASIC. Application Specific Integrated Circuits (ASICs) adalah adalah microchip atau semikonduktor yang dirancang untuk aplikasi dengan fungsi yang sangat spesifik atau prosesor untuk keperluan khusus sesuai dengan tujuan chip tersebut dibuat. ASIC biasanya digunakan pada produk elektronik seperti kamera, handycam, printer, switch dan lain - lain. Rancangan ASIC melibatkan banyak fungsi dari sebuah library dan mengintegrasikannya kedalam sebuah sirkuit, dan biasanya didesain dalam format yang dirancang secara khusus untuk tujuan yang khusus. Dengan menggunakan format ini ada beberapa keuntungan yang didapatkan, antara lain penggunaan area yang lebih sedikit, peningkatan performa serta kemampuan pengintegrasian dengan komponen analog. ASIC modern saat ini biasanya terdiri dari processor 32 bit, blok memori seperti ROM, RAM, EEPROM, dan Flash serta komponen lainnya. Prinsip kerja chip ASIC pada umumnya sama dengan cara kerja IC lainnya yaitu dengan menggunakan sel logika. Sel logika biasanya diimplementasikan secara elektronis menggunakan dioda atau transistor, akan
tetapi dapat pula
dibangun menggunakan susunan komponen - komponen yang memanfaatkan sifat - sifat elektromagnetik (relay). Tiap-tiap sel logika mempunyai beberapa jumlah masukan. Biasanya berjumlah dua hingga sepuluh masukan. Sel-sel logika juga mempunyai keluaran yang berjumlah satu atau dua, tergantung dari jenis fungsinya. Sel logika dan komponen lainnya disusun sedemikian rupa sehingga bisa digunakan untuk keperluan khusus sesuai dengan tugas yang dikerjakannya, dan
31
instruksi yang ditempatkan pada chip tersebut adalah instruksi yang benar - benar bermanfaat dengan tugas yang akan dilaksanakannya. Biaya teknologi tersebut akan lebih rendah, baik dari segi perancangan maupun proses fabrikasi.
2.8
Mikrokontroler Suatu kontroler digunakan untuk mengontrol suatu proses atau aspek –
aspek dari lingkungan. Satu contoh aplikasi dari mikrokontroler adalah untuk memonitor rumah kita. Ketika suhu naik kontroler membuka jendela dan sebaliknya. Pada masanya, kontroler dibangun dari komponen-komponen logika secara keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah dipergunakan mikrokprosesor sehingga keseluruhan kontroler masuk kedalam PCB yang cukup kecil. Hingga saat ini masih sering kita lihat kontroler yang dikendalikan oleh mikroprosesor biasa (Zilog Z80, Intel 8088, Motorola 6809, dsb). Proses pengecilan komponen terus berlangsung, semua komponen yang diperlukan guna membangun suatu kontroler dapat dikemas dalam satu keping. Maka lahirlah komputer keping tunggal (one chip microcomputer) atau disebut juga mikrokontroler. Mikrokontroler adalah suatu IC dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari : 1. CPU (Central Processing Unit) 2. RAM (Random Access Memory) 3. EEPROM/EPROM/PROM/ROM 4. I/O, Serial & Parallel 5. Timer 6. Interupt Controller Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengan kata lain mikrokontroler adalah "One Chip Solution" yang secara drastis mengurangi jumlah komponen dan biaya disain (harga relatif rendah) Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu
32
komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemenelemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi - instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi - aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.
Gambar 2.7. Contoh pengunaan Mikrokontroler
2.8.1
EEPROM - Electrically Erasable Programmable Read Only Memory Beberapa mikrokontroler memiliki EEPROM yang terintegrasi pada
chipnya. EEPROM ini dugunakan untuk menyimpan sejumlah kecil parameter yang dapat berubah dari waktu ke waktu. Jenis memori ini bekerja relatif pelan, dan kemampuan untuk dihapus/tulis nya juga terbatas.
2.8.2
FLASH (EPROM) FLASH meberikan pemecahan yang lebih baik dari EEPROM ketika
dibutuhkan sejumlah besar memori non-volatile untuk program. FLASH ini bekerja lebih cepat dan dapat dihapus/tulis lebih sering dibanding EEPROM.
2.8.3 Battery Backed-Up Static Ram
33
Memori ini sangat berguna ketika dibutuhkan memori yang besar untuk menyimpan data dan program. Keunggulan utama dari RAM statis adalah sangat cepat dibanding memori non-volatile, dan juga tidak terdapat keterbatasan kemampuan hapus/tulis sehingga sangat cocok untuk aplikasi untuk menyimpan dan manipulasi data secara lokal.
2.8.4
Field Programming/Reprogramming Dengan menggunakan memori non-volatile untuk menyimpan program
akan memungkinkan mikrokontroler tersebut untuk diprogram ditempat, tanpa melepaskan dari sistem yang dikontrolnya. Dengan kata lain mikrokontroler tersebut dapat diprogram setelah dirakit diPCBnya.
2.8.5
OTP - One Time Programmable Mikrokontroler OTP adalah mikrokontroler yang hanya dapat diprogram
satu kali saja dan tidak dapat dihapus atau dimodifikasi. Biasanya digunakan untuk produksi dengan jumlah terbatas. OTP menggunakan EPROM standard tetapi tidak memiliki jendela untuk menghapus programnya.
2.8.6
Software protection Dengan "encryption" atau proteksi fuse, software yang telah diprogramkan
akan terlindungi dari pembajakan, modifikasi atau rekayasa ulang. Kemampuan ini hanya dipunyai oleh komponen OTP atau komponen yang dapat diprogram ulang. Pada komponen jenis Mask ROM tidak diperlukan proteksi, hal ini dikarenakan untuk membajak isi programnya seseorang harus membacanya (visual) dari chip nya dengan menggunakan mikroskop elektron. Walaupun demikian pabrik mikrokontroler masih dapat membaca isi program guna memastikan bahwa mikrokontroler diprogram dengan tepat, atau biasa disebut "test mode". test mode memungkinkan kita membaca keseluruhan isi ROM , tetapi hal ini tidak perlu dibesar-besarkan karena test mode ini bersifat sangatsangat- sangat dirahasiakan dan hanya diketahui oleh pabrikan yang memproduksi mikrokontroler tersebut. Test mode hanya dapat dilakukan pada komponen Mask ROM.
34
2.8.7
Input/Output Mikrokontroler UART (Universal Asynchronous Receiver Transmitter) adalah adapter
serial port adapter untuk komunikasi serial asinkron. USART (Universal Synchronous/Asynchronous Receiver Transmitter) merupakan adapter serial port untuk komunikasi serial sinkron dan asinkron. Komunikasi serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi pada click yang lebih tinggi dibanding asinkron. SPI (serial peripheral interface) merupakan port komunikasi serial sinkron. SCI (serial communications interface) merupakan enhanced UART (asynchronous serial port) I2C bus (Inter-Integrated Circuit bus) merupakan antarmuka serial 2 kawat yang dikembangkan oleh Philips. Dikembangkan untuk aplikasi 8 bit dan banyak digunakan pada consumer electronics, automotive dan indistri. I2C bus ini berfungsi sebagai antarmuka jaringan multi-master, multi-slave dengan deteksi tabrakan data. Jaringan dapat dipasangkan hingga 128 titik dalam jarak 10 meter. Setiap titik dalam jaringan dapat mengirim dan menerima data. Setiap titik dalam jaringan harus memiliki alamat yang unik. Analog to Digital Conversion (A/D). Fungsi ADC adalah merubah besaran analog (biasanya tegangan) ke bilangan digital. Mikrokontroler dengan fasilitas ini dapat digunakan untuk aplikasi-aplikasi yang memerlukan informasi analog (misalnya voltmeter, pengukur suhu dll). D/A (Digital to Analog) Converters. Kebalikan dari ADC seperti diatas. Comparator. Mikrokontroler tertentu memiliki sebuah atau lebih komparator. Komparator ini bekerja seperti IC komparator biasa tetapi sinyal input/outputnya terpasang pada bus mikrokontroler. Interupsi, interupt merupakan metode yang efisien bagi mikrokontroler untuk memproses periperalnya, mikrokontroler hanya bekerja memproses periperal tersebut hanya pada saat terdapat data diperiperal tersebut. Pada saat terjadi interupt, mikrokontroler menunda operasi yang sedang dilakukan kemudian mengidentifikasi interupsi yang datang dan menjalankan rutin pelayanan interupsi.
35
Rata-rata mikrokontroler memiliki setidak-tidaknya sebuah interupsi eksternal, interupsi yang dimiliki bisa dipicu oleh "edge" atau "level". Edge triggered interupt bekerja tidak tergantung pada pada waktu terjadinya interupsi, tetapi interupsi bisa terjadi karena glitch. Sedangkan Level triggered interupt harus tetap pada logika high atau low sepanjang waktu tertentu agar dapat terjadi interupsi, interupsi ini tahan terhadap glitch. Maskable Interrupts , dengan maskable interupt kita dapat bebas memilih untuk menggunakan satu atau lebih interupsi. Keuntungan maskable interupt inin adalah kita dapat mematikan interupsi pada saat mikrokontroler sedang melakukan proses yang kritis sehingga interupsi yang datang akan diabaikan. Vectored Interrupts , pada saat terjadi interupsi, interupt handler secara otomatis akan memindahkan program pada alamat tertentu yang telah ditentukan sesuai dengan jenis interupsi yang terjadi.
2.8.8
I2C (Inter-Intregrated Circuit) Mengatasi terbatasnya jumlah kaki IC prosesor, berapa perusahaan IC
mengembangkan teknik transfer data secara seri untuk menghubungkan IC prosesor ke IC pendukungnya, transfer data secara seri antar IC ini tidak ada hubungannya dengan transfer data seri yang biasa dipakai untuk modem. Sebuah IC memori dengan kapasitas 2 KiloByte yang dibentuk dengan teknik transfer data secara pararel paling tidak mempunyai 24 kaki, yaitu : • 8 kaki untuk jalur data, • 11 kaki untuk jalur penomoran memori (jalur alamat), •
3 kaki untuk jalur kontrol,
•
2 kaki untuk catu daya. Memori yang sama kalau dibentuk dengan teknik transfer data secara seri
mempunyai 8 kaki, dan hanya 2 atau 3 kaki yang perlu dihubungkan ke prosesor. Dengan demikian IC dengan teknik transfer data secara seri banyak dipakai dalam rancang bangun peralatan berbasis prosesor. Teknik transfer data secara seri antar IC dikembangkan oleh 3 perusahaan IC, yang pertama adalah teknik I2C (Inter Integrated Circuit) yang dikenalkan
36
oleh Philips, teknik SPI (Serial Peripheral Interface) dari Motorola dan teknik MicroWire ciptaan National Semiconductor. Teknik I2C memakai 2 jalur untuk keperluan transfer data secara seri, sedangkan SPI dan MicroWire memakai 3 jalur. Semua teknik mempunyai 1 jalur untuk Clock, I2C hanya punya satu jalur data 2 arah, sedangkan SPI dan MicroWire mempunyai 2 jalur data satu arah, masing-masing untuk jalur data masuk dan jalur data keluar.
2.8.9 Konsep I2C I2C termasuk jenis komunikasi serial dengan tipe protokol Synchronous, dimana setiap bit data masuk atau data keluar seirama atau sinkron dengan perubahan clock. Hal ini sangat beda dengan RS-232 dan tipe protrocol Asynchronous yang lain yang tidak mempunyai clock, akan tetapi pada tipe Asynchronous data masuk dan data keluar berdasarkan pada kecepatan tertentu yang konstan. I2C versi 1.0 dikenalkan oleh Philips pada tahun 1992, direvisi menjadi versi 2.0 pada tahun 1998, setahun kemudian direvisi lagi menjadi versi 2.1. Komunikasi data secara I2C dilakukan melalui dua saluran, masing-masing adalah : • saluran data secara seri (SDA) = Serial Data • saluran clock (SCL) = Serial Clock
kedua saluran ini dikenal sebagai I2C Bus yang dipakai menghubungkan banyak IC I2C untuk berbagai macam keperluan. IC-IC I2C itu dibedakan menjadi induk (master) dan anak buah (slave), yang dimaksud dengan induk adalah peralatan I2C yang memulai transfer data dan yang membangkitkan clock (SCK). Yang bertindak sebagai master adalah Mikrokontroler / Komputer yang bertugas mengendalikan I2C Bus.
2.9
Bahasa Pemrograman BASCOM AVR Bahasa pemprograman basic merupakan bahasa pemrograman yang
terkenal sebagai bahasa pemrograman handal, cepat, mudah dipelajari dan dikonfigurasi karena pemrograman ini menyediakan program simulasi yang mempermudah kita dalam pembuatan program, bahasa pemrograman ini juga
37
sangat kompatibel dengan semua jenis mikrokontroler bertipe AVR. Program Bascom juga disertai dengan flash program sehingga memudahkan kita untuk memasukan program yang telah dibuat terlebih dahulu ke dalam mikrokontroler. Pemrograman BASCOM AVR adalah salah satu bahasa pemprograman yang banyak digunakan untuk aplikasi mikrokontroler karena kemudahan dan kompatibel terhadap mikrokontroler jenis AVR dan didikung oleh compiler software berupa BASCOM-AVR. bahasa pemrograman ini compatible dengan mikrokontroler AVR Atmega 8535. Simulator, fungsi simulator adalah mensimulasikan atau menirukan kerja mikrokontroler pada PC. Langkah-langkah yang dikerjakan serta apa yang terjadi ketika program dijalankan dapat diamati dilayar PC. Disamping itu juga isi dari register atau variabel dapat diisi atau diubah ketika program djalankan. Simulator tidak dapat mensimulasi kehadiran interupsi secara baik, dan biasanya program yang dijalankan jauh lebih lambat dibandingkan pada keadaan sebenarnya. Debuger
Residen,
Debuger
residen
menjalankan
program
di
mikrokontroler itu sendiri, dan pada saat bersamaan menampilkan hasilnya pada komputer induknya (PC). Alat bantu ini memiliki beberapa keunggulan seperti pada simulator dengan kelebihan lain yaitu kita dapat melihat bagaimana program tersebut bekerja pada target yang sebenarnya. Namun disisi lain, alat bantu ini memakai sebagian sumber daya yang dimiliki oleh mikrokontroler seperti port komunikasi (untuk komunikasi dgn PC), interupsi untuk untuk menjalankan program perlangkah (single step) dan sejumlah memori untuk menyimpan program dari debugger (bagian residen yang ditempatkan di target). Emulator , emulator adalah peralatan yang bekerja dengan berpura-pura sebagai mikrokontroler dan pada saat bersamaan dia mengambil informasi untuk ditampilkan. Emulator memberikan kontrol penuh pada target. Emulator ini bisa berupa perangkat dengan display tersendiri atau merupakan pengantar muka PC. Jika cukup banyak dana yang dimiliki, emulator ini adalah alat yang benar-benar diperlukan dalam mengembangkan suatu sistem.
2.10
Motor Servo Servo motor banyak digunakan sebagai aktuator pada mobile robot atau
38
lengan robot. Servo motor umunya terdiri dari servo continuous dan servo standar. Servo motor continuous dapat berputar sebesar 360 derajat.. Sedangkan servo motor tipe standar hanya mampu berputar 180 derajat. Servo motor yang umum digunakan ialah Continuous Parallax. Namun jika Anda ingin servo motor yang berkekuatan besar dan cepat, idealnya Anda milliki servo HS-311 (continuos ) dan servo HS-322HD(standar). Untuk menggerakkan motor servo ke kanan atau ke kiri, tergantung dari nilai delay yang kita berikan. Untuk membuat servo pada posisi center, berikan pulsa 1.5ms. Untuk memutar servo ke kanan, berikan pulsa <=1.3ms, dan pulsa >= 1.7ms untuk berputar ke kiri dengan delay 20ms, seperti ilustrasi berikut:
Gambar 2.8. Gerakan motor servo
2.11
Wireless Wireless atau jaringan nirkabel merupakan suatu jaringan yang dalam
melakukan suatu proses pertukaran data tanpa menggunakan kabel. Standar yang di gunakan pada perangkat wireless yang di pakai IEEE ( Institute of Electrical and Electronics Engineers ) adalah 802.11
39
2.12
Wireless Access Point Access-point adalah peralatan yang paling umum ditemui oleh
administrator wireless LAN. Seperti namanya, access-point menyediakan kepada client jalan masuk kedalam jaringan. Sebuah access-point adalah sebuah peralatan half-duplex dengan kemampuan setara dengan switch pada ethernet. Gambar 2.21 akan memperlihatkan contoh dari access-point dan gambar 2.22 memberikan ilustrasi dimana access-point digunakan dalam wireless LAN.
Gambar 2.9. Access-point
2.13
Adaptor Adaptor digunakan sebagai sumber tegangan mainboard dan penggerak
serta perangkat lain seperti acess point. Adaptor adalah suatu alat yang dapat menurunkan tegangan dan merubah arus listrik AC ke DC. Salah satu kelebihan yang dimiliki oleh rangkaian ini adalah arus yang dihasilkan cukup stabil dan besarnya tegangan yang dihasilkan bisa kita atur dengan cara menyesuaikan komponen yang digunakan dengan output tegangan yang kita kehendaki. Spesifikasi AC/DC Adapter yang dipergunakan : Iinput : AC 110V-240V 50/60 Hz 1.3A Max / DC 12 (9-15V) 10 A Max Output : 12/15/16/18V 5.5A Max / 19/20/22/24V 4A Max
Gambar 2.10. AC/DC Adapter