PENGENDALIAN ALAT ELEKTRONIK RUMAH TANGGA MENGGUNAKAN MIKROKONTROLER AT89S52 MELALUI WEB SKRIPSI OLEH : 0631456663 M. ILHAM KURNIAWAN SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER RAHARJA TANGERANG 2010 ABSTRAKSI Sejalan dengan perkembangan teknologi informasi dan komunikasi, peranan peralatan komunikasi dan peralatan kontrol sebagai penunjang dalam peningkatan produksi dalam suatu industri maupun rumah tangga semakin besar. Pengontrolan peralatan listrik telah menghasilkan beberapa metode yang juga berkembang seiring dengan perkembangan teknologi. Tidak lagi secara manual, yang membutuhkan seorang operator dalam mengoperasikannya, namun sudah saatnyalah peralatan tersebut diotomatisasi pengoperasiannya, walaupun dalam keadaan yang sibuk sekalipun seseorang mampu mengawasi keberlangsungan keadaan alat – alat rumah tangga maupun industrinya. Seperti yang kita semua tau, bahwasanya pada saat ini hanyalah internet yang mampu melakukan hal tersebut, dari pada itu pada penelitian kali ini penulis mencoba mengaplikasian sebauh pengontrolan alat – alat rumah tangga maupun industri melalui website yang dapat terhubung oleh jaringan lokal maupun internet. Ada beberapa komponen yang sangat penting pada pembuatan alat saat ini, yaitu antar muka website dengan HTML sebagai Front end, dan bahasa pemrograman PHP yang berfungsi mengirimkan command, serta mikrokontroller AT89S52 yang menjadi otak pengendalian yang masing – masing saling terkait satu dengan yang lainnya. Melalui komponen – komponen tersebutlah alat – alat seperti lampu, kipas angin, dan alat – alat lainnya dapat di kontrol dimanapun dan kapanpun selama masih ada jaringan internet. Dengan adanya alat ini, penulis berharap dapat menjadi inspirasi bagi Mahasiswa/i Perguruan Tinggi Raharja khususnya dan Perguruan Tinggi lain pada umumnya untuk dapat dikembangkan dan memiliki fungsi serta manfaat yang lebih baik lagi, serta dapat bermanfaat dalam kemajuan negara Indonesia tercinta. Kata kunci : Website, Mikrokontroller, Internet, Kontrol. i KATA PENGANTAR Puji syukur kehadirat Allah SWT karena atas limpahan dan karunianya yang di berikan penulis dapat menyelesaikan laporan Skripsi ini, dengan judul “PENGENDALIAN ALAT ELEKTRONIK RUMAH TANGGA MENGGUNAKAN MIKROKONTROLLER AT89S52 MELALUI WEB”. Adapun maksud dari pembuatan Laporan Skripsi ini adalah untuk memenuhi persyaratan jenjang akademik Strata Satu (SI) jurusan Sistem Komputer di Sekolah Tinggi Manajemen dan Ilmu Komputer Raharja. Selama pembuatan Laporan Kuliah Kerja Praktek ini penulis menyadari banyak mendapat bantuan dari berbagai pihak, tanpa adanya bantuan ini tidak mampu menyusunnya dan laporan Skripsi ini masih terdapat banyak kekurangan dan bukan merupakan suatu pembahasan yang sempurna, untuk itu kritik dan saran dari berbagai pihak penulis sangat harapkan untuk kesempurnaan laporan ini khususnya dan untuk yang akan datang umumnya. Pada kesempatan ini penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah banyak memberikan bantuan dalam penulisan laporan Kuliah Kerja Praktek ini antra lain : 1. Bapak Ir. Untung Rahardja, M.T.I, selaku ketua STMIK Raharja. 2. Bapak. Ign. Agus Supriono, S.kom, MM, selaku Kepala Jurusan Sistem Komputer Perguruan Tinggi Raharja dan pembimbing II. 3. Bapak Indrianto,M.T. selaku pembimbing I, yang telah membantu dalam melakukan observasi atas waktu dan informasinya. 4. Kepada kedua orang tua dan keluarga tercinta, yang telah mendukung baik secara moril atau materil. ii DAFTAR TABEL Halaman Tabel 2.1. Tabel 2.2. Tabel 2.3. Tabel 2.4. Tabel 2.5. Tabel 2.6. Tabel 3.1. Tabel 4.1. Tabel 4.2. Fasilitas Spesial Port 3 AT89S5 ................................................... Peta Memori RAM dan Special Function Register (SFR) ......... Alokasi Bit SCON ......................................................................... Konfigurasi Pin dan Nama Sinyal Konektor Serial DB-9 .......... Nama Register yang Digunakan Beserta Alamatnya .................. Kelas IP Address ........................................................................... Data Input Mikrokontroler ............................................................ Pengujian Rangkaian Catu Daya .................................................. Pengujian Mikrokontoler .............................................................. vi 30 40 48 56 58 73 96 113 116 DAFTAR GAMBAR Halaman Gambar 2.1. Gambar 2.2. Gambar 2.3. Gambar 2.4. Gambar 2.5. Gambar 2.6. Gambar 2.7. Gambar 2.8. Gambar 2.9. Gambar 2.10. Gambar 2.11. Gambar 2.12. Gambar 2.13. Gambar 2.14. Gambar 2.15. Gambar 2.16. Gambar 2.17. Gambar 2.18. Gambar 2.19. Gambar 2.20. Gambar 2.21. Gambar 2.22. Gambar 2.23. Gambar 2.24. Gambar 3.1. Gambar 3.2. Gambar 3.3. Gambar 3.4. Gambar 3.5. Gambar 3.6. Gambar 3.7. Gambar 3.8. Gambar 3.9. Gambar 3.10. Gambar 3.11. Gambar 3.12. Gambar 3.13. Gambar 3.14. Gambar 3.15. Gambar 3.16. Gambar 3.17. Gambar 3.18. Gambar 3.19. Gambar 3.20. Simbol-simbol System Flowchart .............................................. Simbol-simbol Program Flowchart ........................................... Sistem Kontrol Loop Terbuka .................................................... Sistem Kontrol Loop Tertutup .................................................... Prinsip Kerja Web Server ........................................................... Contoh Bahasa HTML ................................................................ Contoh 1 bahasa CSS .................................................................. Contoh 2 bahasa CSS .................................................................. Contoh 3 bahasa CSS .................................................................. Contoh 4 bahasa CSS .................................................................. Contoh Bahasa PHP .................................................................... Contoh 1 bahasa JavaScript ........................................................ Contoh 2 bahasa JavaScript ........................................................ Bentuk Fisik IC AT89S52 PDIP 40 Pin .................................... Blok Diagram AT89S52 ............................................................. Bentuk Program Sumber Assembly ............................................ Struktur Komunikasi Chip Serial Keluarga 8051 ..................... Tegangan RS232 pada pengiriman huruf “A” tanpa bit paritas Konektor serial DB-9 (Female) ................................................. Konektor serial DB-9 (Male)...................................................... Jenis-jenis topologi...................................................................... Perbandingan Arsitektur OSI dan TCP/IP ................................. Proses VPN .................................................................................. Konsep SSL ................................................................................. Diagram Blok Perancangan ....................................................... Rangkaian Catu Daya.................................................................. Rangkaian Mikrokontroller ........................................................ Rangkaian Programmer ISP 89SXXX Konektor Male DB-25 Rangkaian Hardware Downloader Mikrokontroler .................. Penulisan baris program.............................................................. Mengubah file .asm menjadi .hex .............................................. File .hex Tidak Ada yang Salah.................................................. ATMEL Microcontroller ISP Software. .................................... Pilihan Mikrokontroler yang akan diisi program. ..................... Pembacaan Data Pada IC Mikrokontroler. ................................ Open File HEX Dialog. ............................................................... Proses Pengisian. ......................................................................... Pembacaan Data Pada Mikrokontroler Setelah di program ...... Membandingkan Program dengan Code Buffer. ....................... Perencanaan halaman login ........................................................ Perencanaan Halaman Splash Screen ........................................ Perencanaan Halaman Utama Pengontrolan.............................. Perencanaan Halaman About...................................................... Form Registrasi Easy VPN ......................................................... vii 13 14 15 16 18 21 22 23 23 24 25 26 26 28 28 35 47 54 55 56 62 67 77 88 90 92 93 95 95 96 97 98 98 99 99 100 100 101 101 103 104 104 105 106 DAFTAR SIMBOL 1. SIMBOL FLOWCHART (DIAGRAM ALIR) No. 1. Simbol Nama Simbol Keterangan Input/Output Sebagai media masukan dan keluaran dari data 2. Process Menggambarkan proses transformasi dari data masuk menjadi data keluar 3. Predifined Menggambarkan proses yang masih Proses berisi proses lain didalamnya. 4. Preparation Sebagai pemberian nilai awal 5. Start/End Sebagai awal dan akhir program 6. Connector Sebagai penghubung satu halaman 7. 8. Sebagai media untuk melakukan Decision pemilihan Off-page Sebagai penghubung beda halamn Connector 9. Data Flow Simbol yang menggambarkan arus data yang mengalir iix DAFTAR ISI Halaman HALAMAN JUDUL LEMBAR PENGESAHAN LEMBAR PERSETUJUAN PEMBIMBING LEMBAR PERSETUJUAN DEWAN PENGUJI LEMBAR KEASLIAN SKRIPSI ABSTRAKSI ...................................................................................................... i KATA PENGANTAR ........................................................................................ ii DAFTAR ISI ....................................................................................................... iv DAFTAR TABEL .............................................................................................. vi DAFTAR GAMBAR ......................................................................................... vii DAFTAR SIMBOL ............................................................................................ iix BAB I 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. PENDAHULUAN ........................................................................... Latar Belakang ................................................................................. Perumusan Masalah ........................................................................ Tujuan dan Manfaat Penelitian ....................................................... 1.3.1 Tujuan Penelitian ................................................................ 1.3.2 Manfaat Penelitian ............................................................... Ruang Lingkup Penelitian ............................................................... Metode Penelitian ........................................................................... Sistematika Penulisan ...................................................................... 1 1 2 3 3 3 4 4 5 BAB II 2.1. LANDASAN TEORI ..................................................................... 7 Pengertian Sistem ........................................................................... 7 2.1.1. Karakteristik Sistem ............................................................ 8 2.1.2. Kriteria Sistem Yang Baik .................................................. 11 2.1.3. Diagram Alir (FlowChart).................................................... 12 2.2. Konsep Dasar Pengontrolan ............................................................. 14 2.2.1. Jenis-Jenis Pengontrolan ...................................................... 15 2.3. Web Server ...................................................................................... 17 2.3.1. Apa Itu Web Server .............................................................. 17 2.3.2. Cara Kerja Web Server ........................................................ 17 2.4. Definisi Website .............................................................................. 19 2.4.1. Sejarah Website ................................................................... 19 2.4.2. Bahasa Pemrograman Web .................................................. 21 2.5. Mikrokontroler AT89S52 ............................................................... 2.5.1. Perangkat Keras (Hardware) ............................................... 2.5.2. Register AT89S52 ............................................................... 2.5.3. Perangkat Lunak (Software) Mikrokontroler AT89S52 ....... 2.5.4. Mode Pengalamatan Mikrokontroler AT89S52 .................. iv 27 27 32 34 37 BAB I PENDAHULUAN 1.1. Latar Belakang Sejalan dengan perkembangan teknologi informasi dan komunikasi, peranan peralatan komunikasi dan peralatan kontrol sebagai penunjang dalam peningkatan produksi dalam suatu industri maupun rumah tangga semakin besar. Pengontrolan peralatan listrik telah menghasilkan beberapa metode yang juga berkembang seiring dengan perkembangan teknologi. Tidak lagi secara manual, yang membutuhkan seorang operator dalam mengoperasikannya, namun sudah saatnyalah peralatan tersebut diotomatisasi pengoperasiannya. Beberapa metode otomatisasi yang ada pada saat ini antara lain otomatisasi jarak dekat maupun jarak jauh (remote), dengan menggunakan aplikasi berbasis desktop. Dari penilaian yang didapat, pengoperasian berbasis desktop kurang efisien, karena dalam penerapannya aplikasi ini harus terinstalasi pada setiap PC (Personal Computer) pengguna. Dengan pertimbangan tersebut, dalam penelitian ini akan diimplementasikan sebuah sistem pengontrolan yang tidak lagi membutuhkan resource hardisk setiap PC pengguna aplikasi tersebut, solusinya adalah aplikasi berbasis web. Sebagaimana diketahui, sebuah aplikasi berbasis web hanya membutuhkan sebauh server untuk penempatan aplikasi, yang dapat diakses oleh setiap penggunanya tanpa harus di instalasi. Aplikasi berbasis 2 web ini juga dapat diakses melaui jaringan lokal maupun internet, sesuai dengan kebutuhannya. Dari kesimpulan inilah rancangan aplikasi “Pengendalian Alat – Alat Rumah Tangga Menggunakan Mikrokontroler AT89S52 melalui Web” ini di implementasikan, dengan harapan dapat mempermudah penggunanya dalam memantau dan mengendalikan keadaan alat – alatnya di rumah maupun di industri, dari segala tempat yang terhubung dengan jaringan lokal maupun internet. 1.2. Perumusan Masalah Berdasarkan latar belakang di atas, maka permasalahan tersebut dapat dirumuskan sebagai berikut : a. Bagaimana membuat sistem pengontrolan dari jarak jauh tanpa penginstalasian program pada setiap client. b. Bagaimana membuat sebuah komunikasi web yang pribadi (private) dan relatif aman (secure) melalui jaringan umum (public). c. Bagaimana sebuah halaman website dapat berkomunikasi dengan perangkat keras (Hardware). 3 1.3. Tujuan dan Manfaat Penelitian 1.3.1. Tujuan Penelitian Tujuan pokok dari penelitian adalah untuk menerangkan faktafakta yang telah ditemukan, serta menerapkan berbagai teori yang didapat selama ini. Adapun beberapa tujuan lain dari penelitian ini adalah sebagai berikut : a. Sebagai persyaratan untuk menyelesaikan Skripsi. b. Dari hasil penelitian yang dilakukan agar bisa dimanfaatkan serta menjadi dasar acuan dalam pengembangan serta perancangan sistem kontrol jarak jauh berbasis web. c. Merupakan keingintahuan penulis untuk menganalisa ataupun meneliti teknik komunikasi jarak jauh dengan menggunakan media internet. 1.3.2. Manfaat Penelitian Adapun manfaat yang dihasilkan dari penelitian ini adalah : a. Dapat menghemat energi listrik untuk setiap alat yang tinggalkan keberlangsungannya. Seperti meninggalkan lampu menyalah, ketika pengguna rumah bepergian. b. Dapat mengetahui cara kerja ataupun karakteristik dari mikrokontroller dan komputer dalam proses pengolahan data digital melewati web. c. Dapat mengetahui cara interaksi antara perangkat keras (software) dengan (hardware). 4 1.4. Ruang Lingkup Penelitian Penelitian yang dilakukan penulis meliputi kinerja serta karakteristik dari Mikrokontroller AT89S52 dan komputer, pengiriman dan penerimaan data digital, Antar muka serial Port ( RS-232), dan komponen pendukung yang digunakan, serta Flowchart program. 1.5. Metode Penelitian Dalam melakukan penelitian terhadap alat ini maka metode yang penulis gunakan adalah: a. Metode Perencanaan Metode ini dimaksudkan untuk menghasilkan suatu rangkaian alat yang tepat sehingga diperoleh hasil rancangan yang sesuai dengan yang diingin b. Metode Studi Kepustakaan Metode ini dilakukan untuk mencari dan mendapatkan sumber-sumber kajian, landasan teori yang mendukung, data-data, atau informasi sebagai acuan dalam melakukan perencanaan, percobaan, pembuatan, dan penyusunan laporan. c. Metode Konsultasi Metode ini dilakukan untuk memahami teori-teori yang berkaitan dengan pembuatan alat-alat kerja, mendapatkan masukan dengan perencanaan, pemilihan komponen, metode perancangan guna 5 mendapatkan informasi praktis yang berkaitan dengan proses pembuatannya. d. Metode Studi Laboratorium Metode ini dilakukan dalam perencanaan, pembuatan, dan pengujian alat kerja sehingga didapatkan alat yang benar-benar sesuai dan baik. 1.6. Sistematika Penulisan Untuk mempermudah penyusunan dan pemahaman, maka penulis membuat sistematika penulisan. Penulisan ini terdiri dari empat bab dan beberapa lampiran. BAB I PENDAHULUAN Bab ini berisi tentang uraian latar belakang, perumusan masalah, pembatasan masalah, metode penelitian, tujuan perancangan, manfaat perancangan, dan sistematika penulisan. BAB II LANDASAN TEORI Bab ini berisi tentang uraian mengenai teori-teori dasar yang akan mendukung pembahasan masalah, serta cara berfikir dalam penyusunan Skripsi ini. Uraian tersebut menjelaskan tentang Website, Mikrokontroller, Port Serial,Virtual Private Network (VPN) serta komponen pendukung lainnya. 6 BAB III PEMBAHASAN Pada bab perancangan ini berisikan sistem, tentang perancangan pembahasan perangkat dan keras (hardware) dan perancangan perangkat lunak (software). BAB IV IMPLEMENTASI DAN ANALISA Bab ini berisi tentang uji coba alat dan analisa hasil dari uji coba alat. BAB V KESIMPULAN DAN SARAN Bab ini merupakan bab penutup yang berisi tentang kesimpulan dan saran dari hasil pengamatan dan penelitian yang dilakukan pada penulisan Skripsi ini. DAFTAR PUSTAKA LAMPIRAN BAB II LANDASAN TEORI 2.1. Pengertian Sistem Suatu sistem dapat terdiri dari beberapa subsistem atau sistemsistem bagian. Komponen-komponen atau subsistem-subsistem dalam suatu sistem tidak dapat berdiri lepas sendiri-sendiri. Komponenkomponen 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 suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu.” 1 Pendekatan sistem yang lebih menekankan pada komponennya mendefinisikan sebagai berikut : “Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu.”2 Sistem adalah suatu kumpulan elemen-elemen yang saling berkaitan dan bertanggung jawab untuk memproses masukan (input) sehingga menghasilkan keluaran (output). 3 1 Jogiyanto.HM.Akt.MBA.Ph.D, Analisis dan Desain, Penerbit Andi Yogyakarta,2001, Hal 1 IBID Hal 2 3 Tavri D Mahyuzir, Analisa dan Perancangan Sistem Pengolahan Data, Cetakan Ke 5, PT. Elex 2 8 2.1.1 Karakteristik Sistem “Suatu sistem pempunyai karakteristik atau sifat-sifat tertentu yaitu mempunyai komponen (boundary), mempunyai (components), mempunyai lingkungan (environments), batas sistem 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).” 4 1. Komponen sistem (components system) Komponen sistem adalah segala sesuatu yang menjadi bagian penyusun sistem. Komponen sistem dapat berupa benda nyata ataupun abstrak. 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. 4 Media Komputindo, Jakarta 1995, Hal 1 Edhy Sutanta,ST, Sistem Informasi Manajemen, Graha Ilmu, Yogyakarta 2001, Hal 4 9 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 masingmasing 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. 10 6. Mempunyai Pengolahan (processing) Pengolahan merupakan komponen sistem yang mempunyai peran utama mengolah masukan agar menghasilkan keluaran yang berguna bagi para pemakainya. Dalam sistem informasi manajemen, pengolahan adalah berupa program aplikasi komputer yang dikembangkan untuk keperluan khusus. Program aplikasi tersebut mampu menerima masukan, mengolah masukan, dan menampilkan hasil olahan sesuai dengan kebutuhan para pemakai. 7. Mempunyai Keluaran (output) Keluaran merupakan komponen sistem yang 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 para 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 11 tertentu yang mendukung upaya pencapaian tujuan. 9. Mempunyai Kendali (control) Setiap komponen dalam sistem perlu selalu dijaga agar tetap bekerja sesuai dengan peran dan fungsinya masing-masing. Hal ini bias dilakukan jika ada bagian yang berperan menjaganya, yaitu bagian kendali. 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. 12 b. Ekonomis Dalam merancang atau membangun sebuah sistem sebisa mungkin hemat pada biaya perancangan, perawatan maupun operasional sistem tersebut. c. Keandalan 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. 2.1.3 Diagram Alir (Flowchart) Tujuan utama penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai rapi dan jelas dengan menggunakan simbol-simbol yang standar. Tahap penyelesaian masalah yang disajikan harus jelas, sederhana efektif dan tepat. Dalam penulisan flowchart dikenal dua model, yaitu system flowchart dan Program flowchart. 13 a. System Flowchart System flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. System flowchart ini tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk. Dibawah ini merupakan gambar-gambar System flowchart. P ro s e s In p u t/ O u tp u t M a n u a l I n p u t/ K e y b o a rd P aper Tape O n L in e D a ta S t ro r e d D okum en M a g n e tic D ru m M a g n e t ic T a p e A r a h A lir a n D a t a O f f L in e S t o r a g e P r o s e s S o rt ir P ro s e s M e rg e Gambar 2.1. Simbol-simbol System Flowchart. b. Program Flowchart Program flowchart adalah diagram alir yang menggambarkan urutan logika suatu prosedur pemecahan masalah. Untuk menggambarkan program flowchart telah tersedia symbol-simbol standar, berikut ini 14 adalah gambar dari simbol-simbol standar yang digunakan pada program flowchart. Proses Input/Output Keterangan Pernyataan/Kondisi Pemberian Nilai Awal Awal/Akhir Program Konektor Pada Satu Halaman Konektor Pada Lain Halaman Arah Aliran Data Gambar 2.2. Simbol-simbol program flowchart. 2.2. Konsep Dasar Pengontrolan Konsep dasar pengontrolan sudah ada sejak abad-18 yang dipelopori James Watt yang membuat kontrol mesin uap, kemudian berkembang menjadi pesat pada abad-19 diantaranya Minosky (1992) membuat mesin kontrol untuk mrngemudikan kapal, Nyquis (1932) membuat sistem pengendali uang tertutup, Hazem (1943) membuat Servo mekanik dan masih banyak yang lainnya. 15 Berdasarkan Ejaan Yang Disempurnakan (EYD) pengontrolan berasal dari kontrol. Kontrol sama dengan pengawasan, pemeriksaan dan pengendalian. 5 Sedangkan pengontrolan itu sendiri adalah proses, cara pembuatan mengontrol (mengawasi, memeriksa); pengawasan, pemeriksaan. 6 2.2.1 Jenis-Jenis Pengontrolan Berdasarkan sifat pengontrolan, sistem pengontrolan dibagi menjadi dua macam, adalah sebagai berikut : a. Sistem Kontrol Loop Terbuka Input Controller Proses Output Gambar 2.3. Sistem kontrol Loop Terbuka b. Sistem Kontrol Loop Tertutup Sistem kontrol loop tertutup adalah suatu sistem kontrol dimana sinyal keluarannya mempunyai pengaruh langsung pada aksi pengontrolan. Sistem kontrol loop tertutup sering juga disebut sistem kontrol umpan balik. Jadi jelas perbedaannya antara sistem kontrol terbuka dengan sistem kontrol tertutup, yaitu apakah keluarannya mempengaruhi aksi pengontrolan atau tidak. 5 6 Depdikbud, Kamus Besar Bahasa Indonesia, Balai Pustaka, 1989, halaman 459 IBID, halaman 459 (output) 16 Input Controller Proses Output Elemen Ukur Gambar 2.4. Sistem kontrol Loop Tertutup Keistimewaan pada sistem pengontrolan loop tertutup/umpan balik adalah sebagai berikut : 1. Meningkatkan ketelitian karena kemampuan terus menghasilkan kembali masukkannya. 2. Mengurangi kepekaan perbandingan keluaran terhadap masukan untuk perubahan ciri-ciri sistem. 3. Mengurangi akibat-akibat ketidaklinearan. 4. Memperbesar lebar pita/jangkauan frekuensi dari masukannya dimana sistem tersebut akan memberikan tanggapan secara memuaskan. Selain berdasarkan sifat pengontrolannya, sistem pengontrolan juga dapat dikelompokan berdasarkan cara pengoperasiannya, yaitu dibagi menjadi dua cara adalah sebagai berikut : a. Secara Manual Sistem pengontrolan secara manual adalah suatu pengontrolan yang biasa dilakukan. Misalkan menghidupkan dan mematikan lampu listrik dengan menggunakan saklar. 17 b. Secara Otomatis Sistem pengontrolan secara otomatis bisa dibagi menjadi dua yaitu secara mekanik dan secara elektrik (komputer) Adapun pengontrolan yang penulis lakukan adalah dengan menggunakan sistem pengontrolan loop terbuka dengan pengoperasian secara otomatis yaitu dengan komputer. 2.3 Web Server 2.3.1 Apa itu Web Server Web server atau server web merupakan sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari client yang dikenal dengan browser web, dan mengirimkan kembali hasilnya dalam bentuk halaman – halaman web yang umum dalam bentuk HTML7. Jadi pada dasarnya web server hanyalah sebuah perangkat lunak yang bisa saja berada di komputer manapun, termasuk PC biasa. 2.3.2 Cara Kerja Web Server Cara kerja kerja web server pada dasarnya hanya 2 (dua) yaitu : 1. Menerima permintaan (request) dari client. 2. Mengirimkan apa yang diminta oleh client (response). Secara sederhana dapat digambarkan sebagai berikut : 7 http://id.wikipedia.org/wiki/Web_server 18 Gambar 2.5. Prinsip kerja Web server Penjelasan gambar : 1. Client disini dapat berupa komputer desktop, dengan minimal komputer tersebut memiliki browser dan terhubung melalui jaringan lokal maupun internet. 2. Komputer yang berfungsi sebagai server, dimana didalamnya terdapat perangkat lunak web server, agar komputer ini dapat diakses oleh client. 3. Client / user akan meminta suatu halaman kepada web server dengan mengetikan alamat web atau IP (Internet Protocol) pada URL di browser untuk ditampilkan di komputer client. 4. Web server mendapatkan permintaan dari client, kemudian server akan mencari sesuai permintaan tersebut, jika ada maka server akan segera menampilkannya, namun jika tidak ada maka server akan memberi pesan kesalahan kepada client yang berupa “Error 404. Page Not Found” yang artinya halaman tidak ditemukan. 19 2.4. Definisi Website Secara terminologi, web atau 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 8. Sebuah web page adalah dokumen yang ditulis dalam format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP, yaitu protokol yang menyampaikan informasi dari server website untuk ditampilkan kepada para pemakai melalui web browser. 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. 2.4.1 Sejarah Website 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 8 http://id.wikipedia.org/wiki/Situs_web.html 20 mempermudah tukar menukar dan memperbarui informasi kepada sesama peneliti di tempat dia bekerja. Pada tanggal 30 April 1993, CERN (tempat dimana Tim bekerja) menginformasikan bahwa WWW dapat digunakan secara gratis oleh semua orang. Sebuah website bisa berupa hasil kerja dari perorangan atau individu, atau menunjukkan kepemilikan dari sebuah organisasi, perusahaan, dan biasanya website itu menujukkan beberapa topik khusus, atau kepentingan tertentu. Sebuah website bisa berisi hyperlink yang menghubungkan ke website lain, jadi kadangkala perbedaan antara website yang dibuat oleh individu perseorangan dengan website yang dibuat oleh organisasi bisnis bisa saja tidak kentara. 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 Personal Computer, Laptop Computer, PDA ataupun Cellphone. Sebuah website dibuat didalam sebuah sistem komputer yang dikenal dengan Web Server, 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 Server (IIS). 21 2.4.2 Bahasa Pemrograman Web Web Design bukan hanya tentang gambar. Selain harus dapat menciptakan gambar-gambar kreatif Anda juga harus dapat mengerti dan menggunakan bahasa-bahasa pemrograman yang umum digunakan dalam Web Design. Dalam mendesain theme sebuah blog maupun website setidaknya ada 4 bahasa utama yang harus Anda pelajari yaitu HTML, PHP, CSS, dan JavaScript. A. HTML HTML (Hyper Text Markup Language) merupakan format dokumen yang digunakan dalam WWW (World Wide Web). Tugasnya adalah untuk menampilkan data dalam browser seperti teks, gambar, link, dan elemen lainnya. Format penulisannya sebagai berikut <namasintaks> ... </namasintaks>. Secara umum cara penulisan urutan tag standar HTML dalam sebuah halaman Web adalah sebagai berikut: Gambar 2.6. Contoh Bahasa HTML HTML juga bisa digunakan untuk membuat berbagai macam efek pada teks seperti tebal, miring, garis bawah, jenis huruf dan juga mengatur warna. Kode HTML dalam sebuah halaman web 22 bisa dilihat dengan mudah. Jika Anda menggunakan Mozilla Firefox cukup dengan menekan tombol Ctrl+U, ekstensi file HTML ini bertipe *.html atau *.htm. B. CSS Dalam mendesain web/blog, CSS (Cascading Style Sheet) memakan porsi yang cukup besar mungkin sekitar 50-60%. Maka kelihaian Anda dalam mengolah skrip CSS sangat penting. Tugasnya sangat penting yaitu mengatur layout halaman, format teks, dan pewarnaan dan lain-lain. Secara umum cara penulisan fungsi style dalam CSS adalah sebagai berikut: Gambar 2.7. Contoh 1 bahasa CSS Setiap nama style harus ditambahkan tanda . (titik) didepannya. Misalnya membuat style untuk teks dengan nama "huruf_arial" font Arial dan ukuran 18px, skripnya adalah sebagai berikut: 23 Gambar 2.8. Contoh 2 bahasa CSS Untuk menggunakan style yang telah kita buat dalam CSS kehalaman HTML, skrip perintahnya adalah sebagai berikut: Gambar 2.9. Contoh 3 bahasa CSS Anda juga bisa meletakkan skrip CSS dan HTML dalam 1 halaman, namun bagi kebanyakan orang hal itu dapat cukup merepotkan karena baris skrip bisa menjadi sangat panjang. Maka untuk memisahkannya copy saja skrip CSS tersebut mulai dari tag <style type="text/css" media="screen"> hingga </style> lalu meyimpannya dalam satu file dengan format namafile.css. Untuk memanggil skrip CSS tersebut cukup dengan perintah: 24 Gambar 2.10. Contoh 5 bahasa CSS Letakkan skrip diatas, 1 folder bersama dengan file html yang ingin menggunakan style tersebut. Ekstensi file CSS ini bertipe *.css. C. PHP Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. 25 Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek, berikut adalah contoh dari penulisan kode php : Gambar 2.11. Contoh bahasa PHP penulisan kode php ini diawali dengan tanda <? atau <?php dan di tutup dengan tanda ?>. tipe ekstensi file php ini adalah *.php . 26 D. JavaScript Bahasa pemrograman JavaScript lebih sering ditemukan pada plugin website maupun blog dari pada template. Tetapi ada juga template web maupun blog yang menggunakan JavaScript agar tampilannya terlihat lebih atraktif. Contoh dari pengaruh JavaScript pada sebuah website atau blog adalah jika pointer mouser diarahkan keatas icon maka tulisan halaman utama akan berubah sesuai dengan nama icon yang ditunjuk. Itu semua bisa terjadi berkat kecanggihan JavaScript, namun masih banyak lagi yang dapat dilakukan oleh JavaScript. Berikut adalah contoh penulisan JavaScript : Gambar 2.12. Contoh 1 bahasa JavaScript Jika ingin menyimpan skript dalam satu file, copy semua skrip tersebut lalu simpan dengan ektensi *.js. misalnya skripgoogle.js. untuk memanggil skript yang ada didalamnya cukup dengan menggunakan perintah ini : Gambar 2.13. Contoh 2 bahasa JavaScript 27 2.5. Mikrokontroler AT89S52 2.5.1. Perangkat Keras (Hardware) Mikrokontroler AT89S51 dan AT89S52 merupakan seri terbaru dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini. Mikrokontroler AT89S52 merupakan mikrokomputer CMOS 8 bit dengan 8 Kbyte Flash Programmable and Erasable Read Only Memory. Mikrokontroler ini berteknologi memori non volatile kerapatan tinggi dari Atmel yang kompatibel dengan mikrokontroler standar industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah. Pada AT89S52 selain lebih cepat dalam pengisian program juga lebih powerfull. Spesifikasi penting AT89S52 antara lain: Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya. 8 Kbyte In-system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis. Tegangan kerja 4-5 Volt. Bekerja dengan rentang 0-33 MHz. 256 x 8 bit RAM internal. 32 jalur I/O yang dapat diprogram. Tiga buah 16 bit timer/counter. Delapan sumber interrupt. Saluran full-duplex serial UART. Watchdog timer Dual data pointer. 28 Mode pemrograman ISP yang fleksibel (Byte dan Page Mode). Gambar 2.14. Bentuk Fisik IC AT89S52 PDIP 40 Pin (Sumber: AT89S52 Data Sheet, hal 1) Gambar 2.15. Blok Diagram AT89S52 (Sumber: AT89S52 Data Sheet, hal 2) 29 AT89S52 mempunyai empat buah port yang masing-masing mempunyai 8 jalur data, yaitu P0, P1, P2 dan P3. Tersedia dalam beberapa macam bentuk fisik, antara lain; TQFP, PLCC, PDIP 40 Kaki, dan PDIP 42 kaki. Pada IC mikrokontoler diatas, penulis mengambil bentuk fisik yang secara umum sering dipergunakan, yaitu PDIP 40 kaki. Fungsi dari tiap-tiap kaki AT89S52 adalah sebagai berikut : VCC (40) Tegangan catu daya (5 Volt) GND (20) Ground Port 0 (39-32) Port 0 merupakan sebuah port 8 bit, bersifat open drain dan dapat digunakan untuk masukan dan keluaran. Port 0 dapat digunakan sebagai high input impedance, ketika logika 1 diberikan ke kaki port tersebut. P0 mempunyai internal pullups. Port 1 (1-8) Port ini merupakan 8 bit jalur I/O dengan internal pull-ups. Keluaran Port 1 dapat dihubungkan ke empat buah TTL. Port 1 juga dapat menerima alamat dan data selama penulisan dan pembacaan flash. Port 2 (21-28) Port ini merupakan 8 bit jalur I/O, dengan internal pull-ups. Keluaran Port 2 dapat dihubungkan ke empat buah TTL. Port 2 30 mengeluarkan alamat data tinggi selama pengambilan data menuju external memory. Selama pengaksesan ke external memory menggunakan 16 bit alamat (MOVX @DPTR). Port 3 (10-17) Mempunyai 8 bit saluran I/O dengan internal pull-ups. Port 3 mempunyai fungsi sampingan, yaitu: Tabel 2.1. Fasilitas Spesial Port 3 AT89S52 (Sumber: Interfacing Komputer dan Mikrokontroler, 2004) Port Pin Fungsi sampingan P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input) P3.6 WR (external data memory write strobe) P3.7 RD (external data memory read strobe) RST (9) Aktif selama dua siklus pada kondisi high ALE/PROG(3) Pada pelaksanaan instruksi.ALE, digunakan untuk menahan alamat external memory akan aktif hanya selama perintah MOVX atau MOVC. 31 PSEN (29) Program Store Enable (PSEN), berfungsi untuk mengesekusi external memory. EA/VPP (31) External Access Enable (EA). Mikrokontroler akan menjalankan instruksi-instruksi yang berada pada memory external yang terletak pada alamat 0000H-FFFFH pada kondisi low. Dan menjalankan instruksi internal saat kaki ini diberi high. XTAL 2 (18) Sebagai masukan dari oscilator XTAL 1 (19) Sebagai keluaran dari oscilator AT89S52 mempunyai sumber detak dalam (on chip oscilator), yang digunakan untuk clock bagi AT89S52. Diperlukan tambahan kristal atau resonator keramik dalam penggunaan internal oscillator, yang diletakkan antara pin XTAL1 dan XTAL2 dengan sebuah kapasitor menuju ground. Kristal yang digunakan memiliki frekwensi antara 3-24 MHz. Sedangkan kapasitornya bernilai 30 pF. Bila menggunakan external clock, maka sumber dihubungkan dengan XTAL1 dan XTAL 2 tidak berhubungan. 32 2.5.2. Register AT89S52 Register-register mikrokontroler AT89S52 adalah sebagai berikut: 1). Central Processing Unit (CPU) Berfungsi sebagai tempat pemrosesan perintah program, serta pengendali semua kinerja mikrokontroler. Terdapat dua bagian, pertama adalah bagian control unit, yang berfungsi sebagai pengendali semua komponen yang terdapat dalam mikrokontroler. Bagian kedua adalah arithmetic and logical unit (ALU), yang berfungsi melakukan semua perhitungan arithmatika, matematika, dan logika sesuai dengan perintah program. Data atau instruksi dari memori diambil dan dibawa oleh control unit menuju ke ALU saat terjadi perhitungan-perhitungan tersebut. 2). Program Counter (PC) Merupakan register yang berfungsi untuk menyimpan alamat lokasi memori yang sedang mengalami pemrosesan. Register ini berkapasitas 16 bit. Pada saat reset atau power-up, PC selalu bernilai 000H, dan nilai tersebut akan bertambah setiap sebuah perintah diproses. Penambahan tersebut tergantung pada jumlah byte dari perintah yang sedang diproses. 3). Decoder Instruksi Berfungsi untuk menerjemahkan setiap perintah yang ditunjuk oleh program counter, dan menghasilkan sinyal yang mengontrol fungsi dari setiap bagian dalam processor. 33 4). Stack Pointer (SP) Adalah sebuah register 8 bit yang berperan khusus dalam penunjukan alamat atau data yang berada paling atas (stack) pada operasi penumpukkan di RAM. Register ini terletak pada alamat 81H. Penunjukan penumpukkan selalu berkurang dua, setiap kali data didorong masuk menuju lokasi penumpukkan dan selalu bertambah dua setiap kali data ditarik dari lokasi penumpukan. 5). Power Control Register (PCON) Power Control Register PCON berfungsi sebagai pengontrol kebutuhan daya mikrokontroler. Register PCON ini tidak dapat dialamati per bit. Berada di alamat 87H. Keterangan bit-bit PCON adalah sebagai berikut: SMOD, apabila ingin melipatgandakan baud rate port serial, maka bit ini harus bernilai 1. General Purpose Flag (GF1 dan GF0), untuk aplikasi user. Power Down (PD), bernilai 1 untuk menghasilkan mode power down. Idle (IDL), bernilai 1 untuk mengaktifkan mode idle. 6). Register Timer Mode (TMOD) Register Timer Mode (TMOD) yang berfungsi sebagai pengontrol pemilihan mode operasi untuk timer/counter. Sedangkan untuk pengontrol kerja timer/counter adalah register timer control (TCON). 34 7). Serial Control Register (SCON) Serial Control Register yang berfungsi untuk mengontrol kerja port serial. Port serial pada Mikrokontroller AT89C51 bersifat full duplex, yang berarti dapat mengirim dan menerima data secara bersamaan. Register penerima dan pengirim pada port serial diakses pada SBUF (serial buffer). 8). Port AT89S52 mempunyai empat buah port, yaitu port 0, port 1, port 2, dan port 3, yang masing terletak di alamat 80H, 90H, A0H, dan B0H. Kesemua port tersebut dapat diakses dengan pengalamatan secara bit, sehingga dapat dilakukan perubahan input maupun output pada tiap-tiap pin tanpa mempengaruhi pin-pin lainnya. 9). Data pointer (DPTR) Adalah register 16 bit yang mempunyai dua bagian register, yaitu data pointer low byte (DPL), dan data pointer high byte (DPH). Masing-masing berada di alamat 82H dan 83H. Digunakan untuk membentuk alamat berukuran 16 bit dalam mengakses memori dari luar. 2.5.3. Perangkat Lunak (Software) Mikrokontroler AT89S52 Perangkat lunak (software) ini berguna untuk mendukung perangkat keras (hardware) agar dapat bekerja dengan normal. Didalamnya terdapat perintah atau instruksi penyusun program yang - 35 nantinya akan dijalankan oleh hardware. 1). Pengenalan Bahasa Assembly Dalam mikrokontroler terdapat banyak deretan bit “1“ dan “0“ yang memiliki arti sangat penting, karena merupakan sumber informasi yang tersimpan dalam memori dan diproses dalam mikrokontroler tersebut. Karena dalam pelaksanaannya bit-bit tersebut susah dihafalkan, maka dibuatlah bahasa rakitan (assembly), dan merupakan bahasa yang dipakai dalam menulis program sumber pada mikrokontroler. Program sumber assembly ini berupa kumpulan baris-baris perintah yang ditulis pada perangkat lunak teks editor semisal Notepad ataupun Editor DOS. Biasanya disimpan dalam extension.ASM. Contoh bentuk program sumber assembly secara umum adalah sebagai berikut: Gambar 2.16. Bentuk Program Sumber Assembly (Sumber: Perancangan Sistem dan Aplikasi Mikrokontroler, 2005) Penjelasan bagian-bagian dari mode pengalamatan assembly diatas dan istilah-istilah yang sering terdapat pada program assembly adalah sebagai berikut: 36 a). Label (isi memori) Berguna mewakili nomor memori program dari perintah pada baris yang bersangkutan. Syarat-syarat dalam pembuatan label tersebut adalah: Harus diawali dengan huruf Tidak boleh ada label yang sama dalam satu program assembly Maksimal 16 karakter Tidak boleh adanya karakter spasi dalam label b). Mnemonic (opcode) Dapat juga disebut sebagai kode operasi, yang berarti kode-kode yang akan dikerjakan oleh program assembly. Terdapat dua macam mnemonic, yaitu yang dipakai sebagai perintah, misalnya ADD, dan MOV, serta mnemonic untuk mengatur kinerja program assembly, misalnya ORG, EQU, dan DB, sehingga dinamakan assembler directive. c). Operand (1 dan 2) Merupakan bagian yang terdapat di belakang sekaligus sebagai pelengkap mnemonic. Merupakan suatu objek yang harus dikerjakan oleh mnemonic. Jumlah operand yang dibutuhkan oleh mnemonic dapat berbeda pada setiap penyusunan program. Dapat berjumlah lebih dari satu atau bahkan tidak ada sama sekali. 37 d). Komentar Berguna sebagai bagian penjelasan dari proses kerja ataupu adanya catatan tertentu pada bagian-bagian program. Namun keberadannya tidak mutlak ada, tergantung dari pembuat program itu sendiri. e). Program Objek Adalah hasil utama dari sebuah proses assembly, berupa kode-kode yang hanya dikenali oleh mikrokontroler. Program objek ini dapat berupa kode heksa ataupun biner. f). Assembly Listing Merupakan hasil dari proses assembly, yang berupa campuran dari program objek, program sumber assembly, dan alamat-alamatnya. Tersimpan dalam file dalam ekstensi LST. 2.5.4. Mode Pengalamatan Mikrokontroler AT89S52 Mikrokontroler AT89S52 memiliki lima teknik pengalamatan, yang menunjukkan cara pengisian suatu lokasi memori, yaitu: 1). Pengalamatan Langsung Teknik pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung. Untuk melaksanakan teknik pengalamatan langsung digunakan tanda #. Contoh instruksi : MOV A,#25H (Mengisi akumulator dengan bilangan 25H). 38 2). Pengalamatan Tak Langsung Teknik pengalamatan tidak langsung menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Lokasi yang sebenarnya tergantung pada isi register saat perintah dijalankan. Untuk melaksanakan pengalamatan tidak langsung digunakan simbol @. Contoh instruksi: ADD A,@R1 (menambahkan isi RAM yang lokasinya ditunjukkan oleh register R1 ke akumulator). 3). Pengalamatan Bit Teknik pengalamatan bit adalah penunjukkan alamat lokasi bit baik dalam RAM internal atau perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.), misalnya FLAGS.3, 40.5, 21H.5, dan ACC.7. Contoh instruksi: SETB TR1 (mengaktifkan TR1atau timer 1 on). 4). Pengalamatan data Terjadi pada perintah saat nilai operand merupakan alamat dari data yang akan diproses. Contoh instruksi: Mov A, 00100010b (isi akumulator dengan data yang ada) 5). Pengalamatan kode Merupakan pengalamatan yang terjadi ketika operand berfungsi sebagai alamat dari perintah JUMP dan CALL. 39 2.5.5. Memory Mikrokontroler AT89S52 Secara umum AT89S52 mempunyai empat buah memori, yaitu internal memory, special function register, flash perom, dan eksternal memory. Struktur memori antara flash perom dengan ram internal terpisah satu sama lain, sehingga walaupun suatu ketika keduanya mempunyai alamat awal yang sama (00h), akan tetapi secara fisik tidak saling berhubungan. RAM internal dialamati oleh ram address register, sedangkan flash perom yang berfungsi menyimpan perintah-perintah mikrokontroler dialamati oleh program address register. 1). Memori internal (on chip memori) Berupa RAM internal dengan kapasitas 256 byte, yang berfungsi menyimpan variabel atau data yang bersifat sementara. Memori ini menempati alamat 00H-7FH dan dapat diakses menggunakan RAM address register. RAM internal terdiri atas: a). Register Banks Terdiri atas delapan buah register (R0-R7) yang menempati alamat 00H-07H, setiap kali sistem direset. b). Bit Addressable RAM Setiap bit dari RAM yang menempati daerah alamat 20H2FH dapat diakses secara pengalamatan bit (bit addressable). Dengan pengalamatan bit ini maka bit-bit tersebut akan dapat diset, clear, AND, dan OR hanya dengan satu perintah saja. 40 c). RAM Keperluan Umum Menempati alamat mulai dari 30H hingga 7FH. Kelebihan dari memori ini adalah dapat diakses dengan pengalamatan langsung maupun tak langsung. Pengalamatan langsung digunakan apabila salah satu operand merupakan bilangan yang menunjukkan lokasi data yang dialamati. Sedangkan pengalamatan tak langsung pada lokasi dari RAM internal ini adalah akses data dari memori ketika alamat memori tersebut tersimpan dalam suatu register R0 atau R1. 2). Special Function Register (SFR) Merupakan sebuah peta memori pada mikrokontroler. Pada AT89S52 SFR memiliki alamat dari 80H sampai FFH, sehingga terdapat 128 lokasi alamat. SFR pada mikrokontroler Atmel keluarga 51 ditunjukkan pada tabel 4. Pada bagian sisi kiri dan kanan dituliskan alamat-alamatnya dalam format hexadesimal Alamat Alamat Byte Byte Alamat Bit Alamat Bit 7F FF General purpose RAM 30 F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D55 D4 D3 D2 D0 PSW BC BB BA B9 B8 IP B4 B3 B2 B1 B0 P3 AC AB AA A9 A8 IE A4 A3 A2 A1 A0 P2 B8 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 B0 B7 A8 AF A0 A7 B6 A6 B5 A5 41 28 47 46 45 44 43 42 41 40 99 Bukan Bit Yang Dapat Teralamati SBUF 27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B 9A 99 98 SCON 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 8D Bukan Bit Yang Dapat Teralamati TH1 22 17 16 15 14 13 12 11 10 8C Bukan Bit Yang Dapat Teralamati TH0 21 0F 0E 0D 0C 0B 0A o9 o8 8B Bukan Bit Yang Dapat Teralamati TL1 20 o7 O6 o5 o4 o3 o2 o1 oo 8A Bukan Bit Yang Dapat Teralamati TL0 89 Bukan Bit Yang Dapat Teralamati TMOD 1F Bank 3 18 88 17 8F 8E 8D 8C 8B 8A 89 88 TCON 87 Bukan Bit Yang Dapat Teralamati PCON 83 Bukan Bit Yang Dapat Teralamati DPH 82 Bukan Bit Yang Dapat Teralamati DPL 81 Bukan Bit Yang Dapat Teralamati SP Bank 2 10 0F Bank 1 0B 7 Default Register bank for R0-R7 0 80 87 86 85 84 83 82 81 80 Tabel 2.2. Peta Memori RAM dan Special Function Register (SFR) (Agvianto Eko Putra, Belajar Mikrokontroler AT89C51/ 52/ 55, Edisi I. Penerbit Gava Media, Yogyakarta, 2002) SFR terdiri dari beberapa macam register-register sebagai berikut: a). Register A Accumulator adalah sebuah register 8 bit yang merupakan pusat dari semua operasi aritmatika dan operasi logika. Digunakan sebagai register untuk menyimpan data sementara dan terletak pada alamat E0h b). Register B Register ini memiliki fungsi yang hampir sama dengan register A. Sehingga besama-sama dengan akumulator digunakan dalam proses aritmatika dan logika. Selain itu juga digunakan sebagai register scratch pad. P0 42 c). Program Status Word (PSW) Berisikan beberapa bit status yang mencerminkan keadaan mikrokontroler. Berikut merupakan bit-bit penyusun PSW dan penjelasan fungsinya. d). Carry Flag (CY) Adalah bit ke-8 yang berfungsi sebagai pendeteksi terjadinya sisa (carry) pada operasi penjumlahan atau terjadinya pinjam (borrow) pada operasi pengurangan. Apabila operasi mengandung carry maka bit diset 1, dan apabila mengandung borrow maka bit diset 0. e). Auxiliary Carry (AC) Menunjukkan adanya carry dari bit ketiga menuju bit keempat pada operasi aritmatika, atau dari 4 bit terendah ke 4 bit tertinggi. Sehingga bit ini akan selalu pada saat proses penjumlahan terjadi carry dari bit ketiga hingga bit keempat. f). Flag 0 (F0) Menunjukkan hasil operasinya apakah nol atau tidak Bit ini akan diset 1 jika hasil operasi adalah 0. Dan akan diset 0 jika hasil operasinya tidak 0. Fungsi lainnya adalah untuk membandingkan dua buah data. Bila keduanya sama maka bit akan diset 1, dan jika tidak sama maka bit akan diset 0. 43 3). Flash Perom (Programmable And Erasable Read Only Memory) Berbeda dengan seri-seri sebelumnya, AT89S52 mempunyai 8 kbyte flash perom, yang berarti memori sebesar itu dapat ditulis atau dihapus dengan perangkat programmer. Dengan teknologi dari ATMEL, membuat mokrokontroler ini memiliki kemampuan dihapus dan ditulis ulang sebanyak 1000 kali serta berisikan perintah standard MCS-51. Flash perom baru akan menjalankan program yang ada di dalamnya apabila terjadi reset pada sistem, yang membuat pin EA/VP berlogika satu sehingga mengaktifkan mikrokontroler dengan program yamg berasal dari flash perom. Tetapi apabila pin tersebut berlogika nol, maka mikrokontroler akan aktif dari program pada memori eksternalnya. 4). External Memory External memory dibutuhkan keberadaannya pada saat mikrokontroler harus menyimpan atau menjalankan program yang melebihi kapasitas internal memorynya. Dalam hal ini dibutuhkan suatu memori tambahan yng memiliki kapasitas cukup besar untuk menyimpan ataupun menjalankan program tersebut. Memori eksternal yang bersifat programable-eraseble berguna juga dalam mengemulasikan program yang sedang dalam taraf pengembangan. Dengan artian bahwa program yang bersifat sementara tersebut masih bisa dirubah dengan mudah. Contoh adalah external memory IC 74HC573. 44 2.5.6. Timer dan Counter dalam Mikrokontroler AT89S52 Mikrokontroler AT89S52 mempunyai dua buah timer, yaitu timer 0 dan timer 1. Keduanya dapat digunakan sebagai timer ataupun counter, yang berfungsi sebagai pengatur waktu kerja yang dibutuhkan AT89S52. Timer yang dipergunakan sebagai timer digunakan untuk menghitung waktu dari sebuah kejadian. Sedangkan penggunaan timer sebagai counter berfungsi untuk menghitung munculnya kejadian yang ditandai dengan adanya trigger. Masing-masing timer mempunyai counter 16 bit yang dapat diatur keaktifan dan mode operasinya. Pada mikrokontroler, pengaturan timer melalui beberapa register yang terdapat pada Special Function Register (SFR). Register-register timer tersebut adalah: 1) Register Timer Mode (TMOD) TMOD adalah register delapan bit yang tidak dapat diakses secara bit. Beralamat di 89H. 2) THx dan TLx Merupakan register yang menunjukan nilai dari timer, di mana masing-masing timer mempunyai dua buah register, yaitu: a). THx untuk high byte TH0 : Timer 0 high byte terletak pada alamat 8AH TH1 : Timer 1 high byte terletak pada alamat 8CH b). TLx untuk low byte TL0 : Timer 0 low byte terletak pada alamat 8BH. TL1 : Timer 1 low byte terletak pada alamat 8DH. 45 3) TCON (Timer Control Register) Register ini hanya terdiri atas empat bit, yaitu TCON.4, TCON.5, TCON.6, dan TCON.7 yang berhubungan dengan fungsi timer. TCON.7 atau TF. Timer 1 Overflow Flag set bila timer overflow. Bit ini dapat di clear oleh software atau peralatan saat program menuju ke alamat yang ditunjuk oleh vector interrupt. TCON. 6 atau TR1, 1 = Timer 1 aktif, 0 = Timer 1 tidak aktif. TCON. 5 atau TF0. Sama dengan TF1. TCON. 4 atau TR0: Sama dengan TR1 Jenis-jenis Mode Timer adalah sebagai berikut: a). Mode. 0 Timer 13 bit Timer mode 0, menggunakan register TLx (TL0 atau TL1) hanya pada lima bit terendahnya saja, sedangkan penggunaan register THx ( TH0 atau TH1) tetap sebesar 8 bit. b). Mode 1 Timer 16 bit Timer mode 1 mikrokontroler AT89S52 menggunakan semua bit TLx, sehingga mode 1 merupakan timer/counter 16 bit. TLx akan bertambah hingga bernilai FFH. Pada saat ada perubahan nilai TLx dari FFH ke 00H, maka THx 46 akan- bertambah 1. c). Mode 2 Timer 16 bit Merupakan timer/counter 16 bit, yang digunakan sebagai timer atau event counter. Timer 2 mempunyai tiga mode, yaitu capture, auto-reload, dan baud rate generator. Timer 2 terdiri dari dua buah register 8 bit, yaitu TH2 dan TL2. d). Mode 3 Pada mode 3, timer/counter 0 menjadi 2 buah timer/counter 8 bit, sedangkan timer/counter 1 akan berhenti. TL0 akan menjadi timer/counter 0 (meliputi GATE, C/T’, TR0, INT0, dan TF0). TH0 akan menjadi timer 8 bit (bukan counter) yang dikendalikan oleh bit control timer/counter 1 (meliputi TR1 dan TF1). Timer/counter 1 masih dapat dioperasikan dalam mode selain di mode 3. 2.5.7. Operasi Port Serial Mikrokontroler AT89S52 Terdapat on chip serial port pada mikrokontroler AT89S52. Hal ini membuatnya dapat melakukan komunikasi data serial secara full duplex, sehingga port tersebut masih dapat menerima data, pada saat proses pengiriman data berlangsung. Untuk keperluan penampungan data yang diterima maupun yang akan dikirim, didalam AT89S52 tersedia register SBUFF, yang terletak di alamat 99H. SBUFF berfungsi sebagai buffer, sehingga pada saat pembacaan data pertama oleh mikrokontroler sedangkan data kedua belum diterima, data yang dibaca pertama tersebut 47 tidak hilang. Proses komunikasi data serial dalam mikrokontroler AT89S52, digambarkan dalam diagram di bawah ini: Gambar 2. 17. Struktur Komunikasi Chip Serial Keluarga 8051 (Sumber: Teknik Antarmuka Dan Pemrograman Mikrokontroler AT89C51, 2003) Pada saat proses pembacaan register SBUFF, data yang masuk dari port serial akan diterima dan ditampung pada receive buffer register, lalu diteruskan ke jalur internal bus. Sedangkan pada proses penulisan register SBUFF, data yang ditulis dari internal bus ditampung dalam transmit buffer register dahulu, sebelum dikirimkan menuju port serial. Port serial mikrokontroler AT89S52 dapat mendukung komunikasi data serial secara synkron maupun asynkron. Pada komunikasi synkron, clock dari sumber data dikirimkan bersama sama dengan data serialnya, sedangkan pada komunikasi asynkron, tidak ada pengiriman clock dari sumber datanya. Untuk memenuhi kebutuhan clock dalam cara komunikasi ini maka masing masing sumber data maupun penerima data membangkitkan clocknya sendiri sendiri. Komunikasi data asynkron menggunakan “start bit” sebagai tanda memulai pengiriman, dan menggunakan “stop bit” sebagai tanda selesainya pengiriman setiap 1 byte 48 data. Keduanya berasal dari bagian sumber data, yang dikirimkan menuju bagian penerima datanya. Komunikasi synkron pada port serial mikrokontroler AT89S52 selalu digunakan untuk mengakses shift register PISO (pararel input serial output) untuk penerimaan data, dan SIPO (serial input pararel output) untuk proses pengiriman data. Shift register tersebut biasanya berupa IC shift register ataupun dari mikrokontroler lain. Sedangkan komunikasi asinkron selalu digunakan untuk mengakses komponenkomponen yang memiliki fasilitas UART (universal asynchronous receiver/transmitter), seperti pada port serial PC atau port serial mikrokontroler lain. 1) Mode kerja Port Serial Register yang dipakai oleh mikrokontroler 89S52 untuk mengatur komunikasi serialnya dinamakan SCON (Serial Control). Tabel 2.3. Alokasi Bit SCON (Sumber: Teknik Antarmuka Dan Pemrograman Mikrokontroler AT89C51, 2003) Keterangan: SM0: Serial Port Mode bit 0 SM1: Serial Port Mode bit 1 Kedua bit diatas berfungsi sebagai pengatur mode serial. SM2: Serial Port Mode bit 2, merupakan bit untuk komunikasi pada kondisi set. 49 REN: Receive Enable, adalah bit yang berperan dalam mengaktifkan penerimaan data dari port serial pada kondisi set. TB8: Transmit bit 8, bit ke 9 yang akan dikirimkan pada mode 2 atau 3. Bit REN dan TB8 diatas di set dan clear oleh perangkat lunak. RB8: Receive bit 8, bit ke 9 yang diterima pada mode 2 atau 3. Pada Mode 1 bit ini berfungsi sebagai stop bit. TI: Transmit Interrupt Flag, bit yang akan set pada akhir pengiriman karakter. RI: Receive Interrupt Flag, bit yang akan set pada akhir penerimaan karakter. Bit TI dan RI diatas diset oleh perangkat keras dan diclear oleh perangkat lunak. 2). Mode operasi port serial: a). Mode 0 Shift Register 8 bit Mode ini menggunakan komunikasi data sinkron pada Port Serialnya, sehingga memerlukan sinyal clock sebagai sinkronisasi. Pada mikrokontroler 89C51, P3.0/RXD untuk jalur pengiriman maupun penerimaan data, sedangkan P3.1/TXD berfungsi sebagai saluran clocknya. Pengiriman data dilakukan secara sinkron dengan menuliskan data yang akan dikirimkan ke dalam register SBUF, dengan menggunakan frekwensi sebesar 1/12 dari frekwensi kristal yang digunakan oleh 50 oscilator pada mikrokontroler. b). Mode 1 UART 8 bit Dengan Baud Rate Yang Dapat Diatur Komunikasi data serial dilakukan secara asinkron menggunakan 8 bit data. Terdiri atas satu bit start, delapan bit data dan satu bit stop, jadi keseluruhan data yang digunakan adalah sepuluh bit. Pada mode ini Baud Rate diatur menggunakan Timer 1. Mode ini merupakan mode UART, sehingga menggunakan fungsi alternatif dari P3.0 yang berfungsi sebagai kaki untuk penerimaan data serial (RXD) dan P3.1 yang berfungsi sebagai pengiriman data serial (TXD). c). Mode 2 UART 9 bit Dengan Baud Rate Permanen Komunikasi data serial dilakukan menggunakan sebelas bit secara asinkron. Yang terdiri dari satu bit start, delapan bit data, satu bit ke-9 yang dapat diatur, dan satu bit stop. Pada proses pengiriman data, bit ke 9 diambil dari bit TB8 dan pada proses penerimaan data bit ke 9 diletakkan pada RB8. d). Mode 3 UART 9 bit Dengan Baud Rate Yang Dapat Diatur Baud rate pada mode ini diatur oleh timer 1. Sedangkan karakteristik lainnya sama dengan mode 2. 2.5.8. Kode Instruksi Mikrokontroler Pada mikrokontroler AT89S51 terdapat 256 kode instruksi, yang kesemuanya dapat dikelompokkan menjadi empat bagian yang terdiri atas instruksi 1 byte sampai 4 byte. Menurut fungsinya instruksi tersebut dapat dibagi menjadi lima kelompok, yaitu: 51 1) Instruksi Pemindahan Data Fungsi instruksi ini hanya menyalin data dari suatu lokasi memori (sumber) ke lokasi lain (tujuan), tanpa terjadi perubahan isi data dari sumber. Selain lokasi memori, data juga dapat dipindahkan dari suatu register ke register lain. 2) Instruksi Aritmatika Berfungsi untuk melakukan operasi aritmatika yang meliputi penjumlahan, pengurangan, penambahan satu (increment), pengurangan satu (decrement), perkalian dan pembagian. 3) Instruksi Logika dan Manipulasi Bit Instruksi yang berhubungan dengan operasi logika pada akumulator dan manipulasi bit. Instruksi ini terdiri atas AND, OR, XOR, perbandingan, pergeseran, dan komplemen data. 4) Instruksi Percabangan Instruksi percabangan berfungsi untuk mengubah urutan normal pelaksanaan suatu program. Dengan adanya instruksi ini maka program yang sedang berjalan dapat mencabang ke suatu alamat yang lain. Terdiri atas percabangan bersyarat (misalnya CJNE) dan percabangan tanpa syarat (misalnya ACALL). 5) Instruksi Stack, I/O, dan Kontrol. Instruksi ini mengatur penggunaan stack, membaca atau menulis port I/O, serta pengontrolan-pengontrolan. 52 2.6. Serial Port 2.6.1. Konsep Komunikasi Serial pada Komputer Komunikasi serial adalah komunikasi yang dilakukan dengan mengirimkan dan menerima data 8 bit secara satu per satu. Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data secara sinkron dan komunikasi data secara asinkron. Komunikasi data secara sinkron adalah clock dikirimkan bersama-sama dengan data serial. Sedangkan komunikasi data serial secara asinkron adalah clock tidak dikirimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (Transmitter) maupun pada sisi penerima (Receiver). Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver/Transmitter). IC UART khusus dibuat untuk mengubah data paralel menjadi data serial dan menerima data serial yang kemudian dirubah kembali menjadi data paralel. Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit Start dan bit Stop. Ketika saluran transmisi dalam keadaan idle, output UART adalah dalam keadaan logika 1. Ketika transmitter ingin mengirimkan data, output UART akan diset lebih dulu ke logika 0, untuk waktu satu bit. Sinyal ini pada receiver akan dikenal sebagai sinyal Start yang digunakan untuk mensinkronkan fase clocknya sehingga sinkron dengan fase clock transmitter. Selanjutnya, data akan dikirimkan secara 53 serial dari bit yang paling rendah (bit 0) sampai bit tertinggi. Selanjutnya akan dikirimkan sinyal Stop sebagai akhir dari pengiriman data secara serial. Cara pemberian kode data yang disalurkan tidak ditetapkan secara pasti. Kecepatan pengiriman data (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/detik). Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada kecepatan yang sama. Selanjutnya harus ditentukan panjang data (6,7 dan 8 bit), paritas (genap, ganjil atau tanpa paritas), dan jumlah bit Stop (1, 11/2, atau 2 bit). 2.6.2. Karakteristik Sinyal Port Serial Standard sinyal komunikasi serial yang banyak digunakan adalah Standard RS232 yang dikembangkan oleh Electronic Industry Association and the Telecomunication Industry Association (EIA/TIA) yang pertama kali dipublikasikan pada tahun 1962. ini terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standard ini hanya menyangkut komunikasi data antara komputer (Data Terminal Equipment – DTE) dengan alat-alat pelengkap komputer (Data Circuit-Terminating Equipment – DCE). Standard RS232 inilah yang biasa digunakan pada port serial IBM PC kompatibel. Standard sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut: 1). Logika ‘1’ disebut ‘mark’ terletak antara -3 volt hingga -25 volt. 54 2). Logika ‘0’ disebut ‘space’ terletak antara +3 volt hingga +25 volt. 3). Tegangan antara -3 volt hingga +3 volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level tegangan lebih negatif dari -25 volt atau lebih positif dari +25 volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS232. Gambar berikut ini adalah contoh level tegangan RS232 pada 0V 1 0 0 0 0 0 1 0 STOP + 25 V START pengiriman huruf “A” dalam format ASCII tanpa bit paritas. - 25 V Gambar 2.18. Level tegangan RS232 pada pengiriman huruf “A” tanpa bit paritas (Sumber: Teori dan Praktek Intervacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, 2004) 2.6.3 Flow Control Berfungsi untuk mengontrol kecepatan transfer data dari DTE (Data Terminal Equipment) ke DCE (Data Circuit Terminating Equipment) agar tidak mengalami Overflow. Dikenal dua macam flow control, yaitu secara software dan secara hardware. Flow control secara software sering disebut Xon/Xoff Flow Control menggunakan karakter 55 Xon (tipikalnya karakter ASCII 17) dan karakter Xoff (tipikalnya karakter ASCII 19) untuk melakukan kontrol. Flow control secara hardware atau sering disebut RTS/CTS Flow Control menggunakan dua kabel untuk mengirimkan data ke DCE. Jika buffer di DCE siap komputer akan membalas dengan menset saluran Clear to Send dan komputer akan mulai mengirimkan data. Jika buffer telah penuh, maka saluran akan direset dan komputer akan menghentikan pengiriman data sampai saluran ini diset kembali. 2.6.4 Konfigurasi Port Serial Pada komputer IBM PC kompatibel biasanya kita dapat menemukan konektor port serial DB-9 seperti terlihat pada gambar 2 dan 3. Komputer memiliki dua port serial biasa dinamai Com1 dan Com2, tetapi ada beberapa komputer yang hanya memiliki satu port serial DB-9 yaitu Com1. Nama-nama pin port DB-9 terdapat pada tabel 1. Gambar 2.19. Konektor serial DB-9 (Female) (Sumber: Teori dan Praktek Intervacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, 2004) 56 Gambar 2.20. Konektor serial DB-9 (Male) (Sumber: Teori dan Praktek Intervacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, 2004) Nomor Nama Pin Sinyal Direction Keterangan Data Carrier Ditect / Received Line 1 DCD In 2 RXD In Receive Data 3 TXD Out Transmit Data 4 DTR Out Data Terminal Ready 5 GND - Ground 6 DSR In Data Set Ready 7 RST Out Request to Send 8 CTS In Clear to Send 9 RI In Ring Indicator Signal Detect Tabel 2.4. konfigurasi pin dan nama sinyal konektor serial DB-9 Keterangan mengenai fungsi register-register tersebut adalah sebagai berikut: Receiver Line Signal Ditect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data masuk. Receive Data, digunakan DTE menerima data dari DCE. Trasmit Data, digunakan DTE mengirimkan data ke DCE. 57 Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya. Signal Ground, saluran ground. Ring Indikator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mengirim data. Reques To Send, dengan saluran ini DCE diminta mengirim data oleh DTE. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap. Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base Address COM1 biasanya adalah 1016 (3F8H) dan COM2 biasanya 760 (2F8H). Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang digunakan, tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2. Setelah kita mengetahui base address-nya, maka kita dapat menentukan alamat register-register yang digunakan untuk komunikasi port serial. Berikut adalah tabel register-register tersebut beserta alamatnya. 58 Nama Register COM1 COM2 TX Buffer 3F8h 2F8h RX Buffer 3F8h 2F8h Baud rate Divisor Latch LSB 3F8h 2F8h Baud rate Divisor Latch MSB 3F9h 2F9h Interupt Enable Register 3F9h 2F9h Interupt Identification Register 3Fah 2Fah Line Control Register 3FBh 2FBh Modem Control Register 3FCh 2FCh Line Status Register 3FDh 2FDh Modem Status Register 3Feh 2Feh Tabel 2.5. Nama register yang digunakan beserta alamatnya 2.7. Teori Jaringan Jaringan adalah suatu teknologi pengiriman data dari satu titik ketitik yang lain. Jaringan merupakan sekumpulan peralatan komputer yang dihubungkan agar dapat saling berkomunikasi dengan tujuan membagi sumber daya. Dalam jaringan pengiriman data dapat dilakukan melalui media nirrkabel (Wireless), dan media kabel. 2.7.1. Topologi jaringan Tujuan dari suatu jaringan adalah menghubungkan jaringanjaringan yang telah ada dalam jaringan tersebut sehingga informasi dapat ditransfer dari satu lokasi ke lokasi yang lain. Adapun struktur jaringan yang digunakan dalam menghubungkan koneksi antar lokasi yaitu : Bus Ring 59 Star Extended Star Hierarchical topology Mesh Setiap topologi memuliki karakteristik yang berdeda-beda dan masing-masing juga memiliki keuntungan dan kerugian. Topologi tidak tergantung kepada medianya dan setiap topologi biasanya menggunakan media sebagai berikut : Twisted Pair Coaxial Cable Optical Cable Wireless Topologi dibagi menjadi dua jenis yaitu Physical Topology dan Logical Topologi. Dibawah ini adalah jenis-jenis Physical Topologi. a. Topologi Bus atau Daisy Chain. Topologi ini memiliki karakteristik sebagai berikut: 1. Merupakan satu kabel yang kedua ujung nya ditutup, dimana sepanjang kabel terdapat node-node 2. Umum digunakan karena sederhana dalam instalasi 3. Signal melewati kabel dalam dua arah dan mungkin terjadi collision 4. Problem terbesar pada saat kabel putus. Jika salah satu segmen kabel putus, maka seluruh jaringan akan terhenti. b. Topologi Ring. Topologi ini mempuyai karakteristik sebagai berikut: 60 1. Llingkaran tertutup yang berisi node-node 2. Sederhana dalam layout 3. Signal mengalir dalam satu arah, sehingga dapat menghindarkan terjadinya collision (dua paket data bercampur), sehingga memungkinkan pergerakan data yang cepat dan collision detection yang lebih sederhana 4. Problem: sama dengan topologi bus 5. Biasanya topologi ring tidak dibuat secara fisik melainkan direalisasikan dengan sebuah consentrator dan kelihatan seperti topologi star c. Topolog Star. Topologi ini mempunyai karakteristik sebagai berikut: 1. Setiap node berkomunikasi langsung dengan central node, traffic data mengalir dari node ke central node dan kembali lagi. 2. Mudah dikembangkan, karena setiap node hanya memiliki kabel yang langsung terhubung ke central node. 3. Keunggulannya adalah jika satu kabel node terputus yang lainnya tidak terganggu. 4. Dapat digunakan kabel yang “lower grade” karena hanya menghandel satu traffic node, biasanya digunakan kabel UTP. d. Topologi Extended Star Topologi Extended Star merupakan perkembangan lanjutan dari topologi star dimana karakteristiknya tidak jauh berbeda dengan topologi star yaitu : 61 1. Setiap node berkomunikasi langsung dengan sub node, sedangkan sub node berkomunikasi dengan central node. traffic data mengalir dari node ke sub node lalu diteruskan ke central node dan kembali lagi. 2. Digunakan pada jaringan yang besar dan membutuhkan penghubung yang banyak atau melebihi dari kapasitas maksimal penghubung. 3. Keunggulan : jika satu kabel sub node terputus maka sub node yang lainnya tidak terganggu, tetapi apabila central node terputus maka semua node disetiap sub node akan terputus 4. Tidak dapat digunakan kabel yang “lower grade” karena hanya menghandel satu traffic node, karena untuk berkomunikasi antara satu node ke node lainnya membutuhkan beberapa kali hops. e. Topologi hierarchical Topologi ini biasa disebut sebagai topolodi tree. Dibangun oleh seperti halnya topologi extended star yang dihubungkan melalui sub node dalam satu central node. Topologi ini dapat mensupport baik baseband maupun broadband signaling dan juga mensupport baik contention maupun token bus access. f. Topologi Mesh MESH topologi dibangun dengan memasang link diantara atation-station. Sebuah ‘fully-connected mesh’ adalah sebauh jaringan dimana setiap terminal terhubung secara langsung ke semua terminalterminal yang lain. Biasanya digunakan pada jaringan komputer kecil. Topologi ini secara teori memungkinkan akan tetapi tidak praktis dan biayanya cukup tinggi untuk di-implementasikan. Mesh topologi 62 memiliki tingkat redundancy yang tinggi. Sehingga jika terdapat satu link yang rusak maka suatu station dapat mencari link yang lainnya. Gambar 2.21. Jenis-jenis topologi Sedangkan Logical Topology adalah FDDI, Token Ring, dan Ethernet. 2.7.2. Tipe Jaringan Dalam jaringan terdapat tiga buah peran yang dijalankan. Yang pertama adalah client. Peran ini hanya sebatas pengguna tetapi tidak menyediakan sumber daya (sharing), informasi, dan lain-lain. Peran kedua adalah sebagai peer, yaitu client yang menyediakan sumber daya untuk dibagi kepada client lain sekaligus memakai sumber daya yang tersedia pada client yang lain (peer to peer). Sedangkan peran yang terakhir adalah sebagai server, yaitu menyediakan sumber daya secara maksimal untuk digunakan oleh client tetapi tidak memakai sumber daya yang disediakan oleh client. Dibawah ini akan dijelaskan jenis-jenis jaringan yang ada. 63 a. Jaringan Berbasis Server Jaringan berbasis server atau client-server diartikan dengan adanya server didalam sebuah jaringan yang menyediakan mekanisme pengamanan dan pengelolaan jaringan tersebut. Jaringan ini terdiri dari banyak client dari satu atau lebih server. Client juga biasa disebut frontend meminta layanan seperti penyimpanan dan pencetakan data ke printer jaringan, sedangkan server yang sering disebut back-end menyampaikan permintaan tersebut ke tujuan yang tepat. Pada Windows NT, Windows 2000, dan Windows Server 2003, jaringan berbasis server diorganisasikan di dalam domaindomain. Domain adalah koleksi jaringan dan client yang saling berbagi informasi. Keamanan domain dan perizinan log on dikendalikan oleh server khusus yang disebut domain controller. Terdapat satu pengendali domain utama atau Primary Domain Controller (PDC) dan beberapa domain controller pendukung atau backup Domain Controller (BDC) yang membantu PDC pada waktu-waktu sibuk atau pada saat PDC tidak berfungsi karena alasan tertentu. Primary Domain Controller juga diterapkan di dalam jaringan yang menggunakan server Linux. Software yang cukup andal menangani masalah ini adalah samba yang sekaligus dapat digunakan sebagai penyedia layanan file dan print yang membuat computer Windows dapat mengakses file-file di mesin Linux dan begitu pula 64 sebaliknya. Jaringan berbasis server memiliki beberapa keuntungan diantaranya adalah : 1. Media penyimpanan data yang terpusat memungkinkan semua user menyimpan dan menggunakan data di server dan memberikan kemudahan melakukan back-up data di saat kritis. Pemeliharaan data juga menjadi lebih mudah karena data tidak tersebar di beberapa computer. 2. Kemampuan server untuk menyatukan media penyimpanan di satu tempat akan menekan biaya pembangunan jaringan. Server yang telah dioptimalkan membuat jaringan berjalan lebih cepat daripada jaringan peer-to-peer. Membebaskan user dari pekerjaan mengelola jaringan. 3. Kemudahan mengatur jumlah pengguna yang banyak. Kemampuan untuk sharing peralatan mahal seperti printer laser. Mengurangi masalah keamanan karena pengguna harus memasukkan password untuk setiap peralatan jaringan yang akan digunakan. b. Jaringan Peer-to-peer Setiap computer di dalam jaringan peer mempunyai fungsi yang sama dan dapat berkomunikasi dengan computer lain yang telah memberi izin. Jadi, secara sederhana setiap komputer pada jaringan peer berfungsi sebagai client dan server. Jaringan peer digunakan di sebuah kantor kecil dengan jumlah computer sedikit, dibawah sepuluh workstation. 65 c. Jaringan Hybrid Jaringan hybrid memiliki semua yang terdapat pada tiga tipe jaringan di atas. Ini berarti pengguna dalam jaringan dapat mengakses sumber daya yang dishare oleh jaringan peer, sedangkan di waktu bersamaan juga dapat memanfaatkan seumber daya yang disediakan oleh server. Keuntungan jaringan hybrid adalah sama dengan keuntungan menggunakan jaringan berbasis server dan berbasis peer. Jaringan hybrid memiliki kekurangan seperti pada jaringan berbasis server. 2.8. TCP/IP 2.8.1. Sejarah TCP/IP Sejarah TCP/IP dimulainya dari lahirnya ARPANET yaitu jaringan paket switching digital yang didanai oleh DARPA (Defence Advanced Research Projects Agency) pada tahun 1969. Sementara itu ARPANET terus bertambah besar sehingga protokol yang digunakan pada waktu itu tidak mampu lagi menampung jumlah node yang semakin banyak. Oleh karena itu DARPA mendanai pembuatan protokol komunikasi yang lebih umum, yakni TCP/IP. Ia diadopsi menjadi standard ARPANET pada tahun 1983. Untuk memudahkan proses konversi, DARPA juga mendanai suatu proyek yang mengimplementasikan protokol ini ke dalam BSD UNIX, sehingga dimulailah perkawinan antara UNIX dan TCP/IP.. Pada awalnya internet digunakan untuk menunjukan jaringan yang menggunakan internet protocol (IP) tapi dengan semakin berkembangnya jaringan, istilah ini 66 sekarang sudah berupa istilah generik yang digunakan untuk semua kelas jaringan. Internet digunakan untuk menunjuk pada komunitas jaringan komputer worldwide yang saling dihubungkan dengan protokol TCP/IP. Perkembangan TCP/IP yang diterima luas dan praktis menjadi standar de-facto jaringan komputer berkaitan dengan ciri-ciri yang terdapat pada protokol itu sendiri yang merupakan keunggulun dari TCP/IP, yaitu : a. Perkembangan protokol TCP/IP menggunakan standar protokol terbuka sehingga mengembangkan tersedia secara luas. Semua orang bisa 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, misalnya Ethernet, token ring, dial-up line, X-25 net dan lain lain. c. Cara pengalamatan memungkinkan bersifat komputer dapat unik dalam skala mengidentifikasi global, 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. 67 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 lapisanlapisan ( 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.22. 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, 68 arus, dsb. Lapisan ini dapat bervariasi bergantung pada media komunikasi pada jaringan yang bersangkutan. TCP/IP bersifat fleksibel sehingga dapat mengintegralkan mengintegralkan berbagai jaringan dengan media fisik yang berbeda-beda. 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. Beberapa contoh protokol yang digunakan pada lapisan ini adalah X.25 jaringan publik, Ethernet untuk jaringan Etehernet, AX.25 untuk jaringan Paket Radio dsb. 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. Oleh karena itu, lapisan ini memiliki peranan penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas (worldwide Internet). Beberapa tugas penting pada lapisan ini adalah: Addressing, yakni melengkapi setiap datagram dengan alamat Internet dari tujuan. Alamat pada protokol inilah yang dikenal dengan Internet Protocol Address ( IP Address). Karena 69 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 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 70 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. Untuk beberapa hal yang menyangkut efisiensi dan penyederhanaan, beberapa aplikasi memilih menggunakan UDP sebagai protokol transport. Contohnya adalah aplikasi database yang hanya bersifat query dan response, atau aplikasi lain yang sangat sensitif terhadap delay seperti video conference. Aplikasi seperti ini dapat mentolerir sedikit kesalahan (gambar atau suara masih bisa dimengerti), namun akan tidak nyaman untuk dilihat jika terdapat delay yang cukup berarti. 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 71 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.8.2 Internet Protocol 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 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 72 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.0.1 IP Address : 192 .168 .0.1 Dalam Biner : 11000000 11001000 00000000 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. 73 2.8.3. Kelas Dalam IP Address 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.6. Kelas IP Address 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.8.4. 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 komputerkomputer 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 komputer-komputer tersebut tidak 74 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 Kelas C : 255.255.255.0 11111111.11111111.11111111.00000000 Lebih jauh mengenai teori Network ID, Host dan Subnet dan segala perhitungannya dapat anda pelajari melalui buku-buku tentang jaringan, TCP/IP, maupun browsing melalui internet. Dikarenakan keterbatasan ruang untuk pembahasan. 2.9. 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. Untuk lebih melengkapi akan di jelaskan beberapa protokol pada wireless lan sebagai berikut : a. 802.11b Pertama digunakan sekitar akhir tahun 1999 dengan menggunakan frekuensi 2,4 GHz, maksimum bandwidth yang dapat di capai adalah 75 11 Mbps (Mega bit per second), radio sinyal yang di gunakan adalah DSSS ( Direct Sequence Spread Spectrum ). Kanal yang tidak overlapping ada 3.( yaitu kanal 1, kanal 6, dan kanal 11). Kompatibel dengan tipe g jika tipe g dijalankan pada mode mixed. b. 802.11a Digunakan pada akhir tahun 2001 dengan menggunakan frekuensi 5,8 GHz, Maksimum bandwidth yang bisa di capai 54 Mbps, radio sinyal yang di gunakan adalah OFDM (Orthogonal Frequency Division Multiplexing). Kanal yang tidak overlapping 12 (bisa lebih). Tidak kompatibel dengan tipe b dan g. Tentunya anda bisa menyimak kenapa tidak kompatibel dengan tipe a ataupun g. Betul! Yaitu frekwensi kerjanya yang berbeda. Kurang populer digunakan karena tidak kompatibel dengan tipe a ataupun g, meskipun memiliki kelebihan kanal yang tidak overlap. c. 802.11g Digunakan pada pertengahan tahun 2003 dengan mengunakan frekuensi 2, 4 GHz, maksimum bandwidth yang bisa di capai pada awal pertama kali keluar sebesar 54 Mbps, dengan berkembangnya teknologi, sekarang ini tipe g sudah bisa mencapai 108 Mbps. Radio sinyal yang digunakan adalah OFDM. Kanal yang tidak overlapping 3. Kompatibel dengan type b namun kinerja ataupun kecepatan transfernya akan turun mengikuti kecepatan pada tipe b yaitu 11 Mbps. 76 d. 802.11a/g Digunakan mulai pertengahan tahun 2003 dengan menggunakan frekuensi 2,4 GHz dan 5,8 GHz, maksimum bandwidth yang bisa di capai 54 Mbs, modulasi sinyal yang di gunakan OFDM. Kanal yang tidak overlapping 16. Bila jalan pada tipe a tidak kompatibel dengan type b dan g. Bila jalan pada modus g kompatibel dengan type b. Berarti pada tipe a/g ini kita diberi keleluasaan untuk menggunakan salah satu dari protokol yang dapat digunakan pada jaringan WiFi ini. e. 802.11n Pada tahun 2006, 802.11n dikembangkan dengan menggabungkan teknologi 802.11b dan 802.11g. Teknologi yang diusung dikenal dengan istilah MIMO (Multiple Input Multiple Output) merupakan teknologi Wi-Fi terbaru. MIMO dibuat berdasarkan spesifikasi Pre802.11n. Kata ”Pre-” menyatakan “Prestandard versions of 802.11n”. MIMO menawarkan peningkatan throughput (transfer data), keunggulan reabilitas, dan peningkatan jumlah klien yg terkoneksi. Daya tembus MIMO terhadap penghalang lebih baik, selain itu jangkauannya lebih luas sehingga Anda dapat menempatkan laptop atau klien Wi-Fi sesuka hati. Access Point MIMO dapat menjangkau berbagai perlatan Wi-Fi yg ada disetiap sudut ruangan. Secara teknis MIMO lebih unggul dibandingkan saudara tuanya 802.11a/b/g. Access Point MIMO dapat mengenali gelombang radio yang dipancarkan oleh adapter Wi-Fi 802.11a/b/g. MIMO mendukung 77 kompatibilitas mundur dengan 802.11 a/b/g. Peralatan Wi-Fi MIMO dapat menghasilkan kecepatan transfer data sebesar 108Mbps. 2.10. Virtual Private Network (VPN) 2.10.1. Pengertian VPN Virtual private network atau disingkat VPN adalah variasi lain dari skema jaringan yang dibangun sebagai jaringan khusus dengan menggunakan jaringan internet umum. Karena menggunakan jaringan internet, sebuah perusahaan yang membuat WAN (Wide Area Network) berbasis VPN ini mampu menjangkau area yang sangat luas dan lintas geografi. VPN menyediakan koneksi poin-to-poin baik kepada kantor cabang maupun kepada seorang karyawan yang sedang bertugas ditempat lain. Gambar 2.23. Proses VPN Menghubungkan antar kantor pusat/cabang dengan menggunakan VPN jauh lebih ekonomis dengan keamanan yang dapat diandalkan daripada menyewa jaringan khusus (leased lines) atau dengan panggilan jarak jauh melalui modem (dial-up). VPN dapat menjadi jaringan khusus yang besar dan tidak terbatas. Sebuah WAN khusus yang jauh lebih efisien, aman dan berbiaya 78 ekonomis dari WAN atau LAN tradisional. Sehingga telah banyak perusahaan-perusahaan yang menggunakan VPN sebagai infrastruktur jaringanya yang menghubungkan antara kantor pusat dengan kantor cabang dan dengan agent serta client nya. Tidak ada standar tertentu untuk VPN, namun secara umum dapat disebut bahwa VPN menggunakan jaringan internet umum untuk satu atau beberapa keperluan dengan membentuk lorong khusus (jaringan khusus / tunnelling) secara virtual. Dalam penggunaan sebagai jaringan khusus ini, VPN diset sedemikian rupa dengan sebuah software dan hardware dengan protocol tertentu yang akan digunakan untuk otentikasi antar user dan untuk penyandian jaringannya. Umumnya VPN dipasangi firewall di dekat server-nya yang berfungsi untuk menyaring sehingga hanya client yang telah terdaftar saja yang dilayani. 2.10.2. Fungsi VPN Teknologi VPN menyediakan tiga fungsi utama untuk penggunanya. Fungsi utama tersebut adalah sebagai berikut: a. Confidentiality (Kerahasiaan) Teknologi VPN memiliki sistem kerja mengenkripsi semua data yang lewat melaluinya. Dengan adanya teknologi enkripsi ini, maka kerahasiaan data menjadi lebih terjaga. Biarpun ada pihak yang dapat menyadap data yang lalu-lalang, namun belum tentu mereka bisa membacanya dengan mudah karena memang sudah diacak/ enkrip. Dengan menerapkan sistem enkripsi ini, tidak ada satupun 79 orang yang dapat mengakses dan membaca isi jaringan data dengan mudah. b. Data Integrity (Keutuhan Data) Ketika melewati jaringan Internet, data sebenarnya sudah berjalan sangat jauh melintasi berbagai negara. Di tengah perjalanannya, apapun bisa terjadi terhadap isinya. Baik itu hilang, rusak, bahkan dimanipulasi isinya oleh orang lain. VPN memiliki teknologi yang dapat menjaga keutuhan data yang dikirim agar sampai ke tujuannya tanpa cacat, hilang, rusak, ataupun dimanipulasi oleh orang lain. c. Origin Authentication (Autentikasi Sumber) Teknologi VPN memiliki kemampuan untuk melakukan autentikasi terhadap sumber-sumber pengirim data yang akan diterimanya. VPN akan melakukan pemeriksaan terhadap semua data yang masuk dan mengambil informasi source datanya. Kemudian alamat source data ini akan disetujui jika proses autentikasinya berhasil. Dengan demikian, VPN menjamin semua data yang dikirim dan diterima berasal dari sumber yang semestinya. Tidak ada data yang dipalsukan atau dikirimkan oleh pihak-pihak lain. 2.10.3. Jenis-jenis Remote Access VPN Pada dasarnya, VPN merupakan sebuah proses remote access yang bertujuan mendapatkan koneksi ke jaringan private tujuannya. Proses remote access VPN ini dipisahkan menjadi dua jenis lagi berdasarkan oleh 80 siapa proses remote access VPN tersebut dilakukan. Berikut ini adalah jenis-jenisnya: a. Client-initiated Client-initiated mengandung arti pihak klien yang berinisiatif untuk melakukan sesuatu. VPN jenis ini merupakan jenis VPN yang paling umum digunakan. Jadi ketika suatu PC ingin membangun koneksi VPN, maka PC tersebutlah yang berusaha membangun tunnel dan melakukan enkripsi hingga mencapai tujuannya dengan aman. Namun, proses ini tetap mengandalkan jaringan ISP yang digunakan secara umum. Client-initiated VPN sering digunakan oleh PC-PC umum dengan mengandalkan VPN server atau VPN concentrator pada jaringan tujuannya b. Network Access Server-initiated Lain hal dengan client-initiated, VPN jenis ini tidak mengharuskan client-nya membuat tunnel dan melakukan enkripsi sendiri. VPN jenis ini hanya mengharuskan penggunanya melakukan dial-in ke Network Access Server (NAS) ISP. Kemudian NAS inilah yang membangun tunnel menuju ke jaringan private yang dituju oleh client tersebut. Dengan demikian, koneksi VPN dapat dibangun oleh banyak client dari manapun karena biasanya NAS milik ISP tersebut memang sering kali dibuka untuk umum. 81 2.10.4. Konsep VPN Perpaduan teknologi tunneling dan enkripsi membuat VPN (Virtual Private Network) menjadi teknologi yang luar biasa dan membantu banyak sekali pekerjaan penggunanya. Kedua teknologi ini tidak bisa ditawar dan diganggu-gugat lagi dalam membentuk sebuah komunikasi VPN. Kedua teknologi ini harus dipadukan untuk mendapatkan hasil yang sempurna, yaitu komunikasi data aman dan efisien. Aman berarti data yang ada tetap terjaga kerahasiaan dan keutuhannya, tidak sembarang pihak dapat menangkap dan membaca data tersebut, meskipun data tersebut lalu-lalang di jalur komunikasi publik. Keutuhan yang tetap terjaga maksudnya tidak sembarang orang dapat mengacaukan isi dan alur data. Hal ini perlu dijaga karena jika sudah lewat jalur publik, banyak sekali “orang iseng” yang mungkin saja menghancurkan data tersebut di tengah jalan. Untuk itulah, mengapa kedua teknologi ini sangat berperan penting dalam terbentuknya solusi komunikasi VPN. 1. Teknologi Tunneling Untuk membuat sebuah tunnel, diperlukan sebuah protokol pengaturnya sehingga tunnel secara logika ini dapat berjalan dengan baik bagaikan koneksi point-to-point sungguhan. Saat ini, tersedia banyak sekali protokol pembuat tunnel yang bisa digunakan. Namun, tunneling protocol yang paling umum dan paling banyak digunakan terdiri dari tiga jenis di bawah ini: 82 a. Layer 2 Tunneling Protocol (L2TP) L2TP adalah sebuah tunneling protocol yang memadukan dan mengombinasikan dua buah tunneling protocol yang bersifat proprietary, yaitu L2F (Layer 2 Forwarding) milik Cisco Systems dengan PPTP (Point-to-Point Tunneling Protocol) milik Microsoft. Pada awalnya, semua produk Cisco menggunakan L2F untuk mengurus tunneling-nya, sedangkan operating system Microsoft yang terdahulu hanya menggunakan PPTP untuk melayani penggunanya yang ingin bermain dengan tunnel. Namun saat ini, Microsoft Windows NT/2000 telah dapat menggunakan PPTP atau L2TP dalam teknologi VPN-nya. L2TP biasanya digunakan dalam membuat Virtual Private Dial Network (VPDN) yang dapat bekerja membawa semua jenis protokol komunikasi didalamnya. Selain itu, L2TP juga bersifat media independen karena dapat bekerja di atas media apapun. L2TP memungkinkan penggunanya untuk tetap dapat terkoneksi dengan jaringan lokal milik mereka dengan policy keamanan yang sama dan dari manapun mereka berada, melalui koneksi VPN atau VPDN. Koneksi ini sering kali dianggap sebagai sarana memperpanjang jaringan lokal milik penggunanya, namun melalui media publik. Namun, teknologi tunneling ini tidak memiliki mekanisme untuk menyediakan fasilitas enkripsi karena memang benar-benar murni hanya membentuk jaringan tunnel. Selain itu, apa yang 83 lalu-lalang di dalam tunnel ini dapat ditangkap dan dimonitor dengan menggunakan protocol analizer. b. Generic Routing Encapsulation (GRE) Protokol tunneling yang satu ini memiliki kemampuan membawa lebih dari satu jenis protokol pengalamatan komunikasi. Bukan hanya paket beralamat IP saja yang dapat dibawanya, melainkan banyak paket protokol lain seperti CNLP, IPX, dan banyak lagi. Namun, semua itu dibungkus atau dienkapsulasi menjadi sebuah paket yang bersistem pengalamatan IP. Kemudian paket tersebut didistribusikan melalui sistem tunnel yang juga bekerja di atas protokol komunikasi IP. Dengan menggunakan tunneling GRE, router yang ada pada ujung-ujung tunnel melakukan enkapsulasi paket-paket protokol lain di dalam header dari protokol IP. Hal ini akan membuat paket-paket tadi dapat dibawa ke manapun dengan cara dan metode yang terdapat pada teknologi IP. Dengan adanya kemampuan ini, maka protokol-protokol yang dibawa oleh paket IP tersebut dapat lebih bebas bergerak ke manapun lokasi yang dituju, asalkan terjangkau secara pengalamatan IP. Aplikasi yang cukup banyak menggunakan bantuan protokol tunneling ini adalah menggabungkan jaringan-jaringan lokal yang terpisah secara jarak kembali dapat berkomunikasi. Atau dengan kata lain, GRP banyak digunakan untuk 84 memperpanjang dan mengekspansi jaringan lokal yang dimiliki si penggunanya. Meski cukup banyak digunakan, GRE juga tidak menyediakan sistem enkripsi data yang lalu-lalang di tunnel-nya, sehingga semua aktivitas datanya dapat dimonitor menggunakan protocol analyzer biasa saja. c. IP Security Protocol (IPSec) IPSec adalah sebuat pilihan tunneling protocol yang sangat tepat untuk digunakan dalam VPN level korporat. IPSec merupakan protokol yang bersifat open standar yang dapat menyediakan keamanan data, keutuhan data, dan autentikasi data antara kedua peer yang berpartisipasi di dalamnya. IPSec menyediakan sistem keamanan data seperti ini dengan menggunakan sebuah metode pengaman yang bernama Internet Key Exchange (IKE). IKE ini bertugas untuk menangani masalah negosiasi dari protokol-protokol dan algoritma pengamanan yang diciptakan berdasarkan dari policy yang diterapkan pada jaringan si pengguna. IKE pada akhirnya akan menghasilkan sebuah sistem enkripsi dan kunci pengamannya yang akan digunakan untuk autentikasi pada sistem IPSec ini. 2. Teknologi Enkripsinya Selain teknologi tunneling, teknologi enkripsi dalam VPN juga sangat bervariasi. Sebenarnya teknologi enkripsi bukan hanya milik VPN saja, namun sangat luas penggunaannya. Enkripsi bertugas untuk 85 menjaga privasi dan kerahasiaan data agar tidak dapat dengan mudah dibaca oleh pihak yang tidak berhak. Secara garis besar teknik enkripsi terbagi atas dua jenis, yaitu: a. Symmetric Encryption Symmetric Encryption dikenal juga dengan nama sebutan secret key encryption. Enkripsi jenis ini banyak digunakan dalam proses enkripsi data dalam volume yang besar. Selama masa komunikasi data, perangkat jaringan yang memiliki kemampuan enkripsi jenis ini akan mengubah data yang berupa teks murni (cleartext) menjadi berbentuk teks yang telah diacak atau istilahnya adalah ciphertext. Teks acak ini tentu dibuat dengan menggunakan algoritma, teks acak ini sangat tidak mudah untuk dibaca, sehingga keamanan data terjaga. Pertanyaan selanjutnya, bagaimana data acak tersebut dibuka oleh pihak yang memang ditujunya ? Untuk membuka data acak ini, algoritma pengacak tadi juga membuat sebuah kunci yang dapat membuka semua isi aslinya. Kunci ini dimiliki oleh si pengirim maupun si penerima data. Kunci inilah yang akan digunakan dalam proses enkripsi dan dekripsi ciphertext ini. Digital Encryption Standar (DES) merupakan sebuah algoritma standar yang digunakan untuk membuat proses symmetric encryption ini. Algoritma ini diklaim sebagai yang 86 paling umum digunakan saat ini. Algoritma DES beroperasi dalam satuan 64-bit blok data. Maksudnya, algoritma ini akan menjalankan serangkaian proses pengacakan 64-bit data yang masuk untuk kemudian dikeluarkan menjadi 64-bit data acak. Proses tersebut menggunakan 64-bit kunci di mana 56-bit-nya dipilih secara acak, 8 bit nya berasal dari parity bit dari data anda. Kedelapan bit tersebut diselipkan di antara ke 56-bit tadi. Kunci yang dihasilkan kemudian dikirimkan ke si penerima data. Dengan sistem enkripsi demikian, DES tidaklah mudah untuk ditaklukkan, namun seiring perkembangan teknologi, DES sudah bisa dibongkar dengan menggunakan superkomputer dalam waktu beberapa hari saja. Alternatif untuk DES adalah triple DES (3DES) yang melakukan proses dalam DES sebanyak tiga kali. Jadi kunci yang dihasilkan dan dibutuhkan untuk membuka enkripsi adalah sebanyak tiga buah. b. Asymmetric Encryption Enkripsi jenis ini sering disebut sebagai sistem public key encryption. Proses enkripsi jenis ini bisa menggunakan algoritma apa saja, namun hasil enkripsi dari algoritma ini akan berfungsi sebagai pelengkap dalam mengacakan dan penyusunan data. Dalam enkripsi jenis ini diperlukan dua buah kunci pengaman yang berbeda, namun saling berkaitan dalam proses algoritmanya. Kedua kunci pengaman ini sering disebut dengan 87 istilah Public Key dan Private Key. Sebagai contoh, Andi dan Budi ingin berkomunikasi aman dengan menggunakan sistem enkripsi ini. Untuk itu, keduanya harus memiliki public key dan private key terlebih dahulu. Andi harus memiliki public dan private key, begitu juga dengan Budi. Ketika proses komunikasi dimulai, mereka akan menggunakan kunci-kunci yang berbeda untuk mengenkrip dan mendekrip data. Kunci boleh berbeda, namun data dapat dihantarkan dengan baik berkat algoritma yang sama. Mekanisme pembuatan public dan private key ini cukup kompleks. Biasanya key-key ini di-generate menggunakan generator yang menjalankan algoritma RSA (Ron Rivest, Adi Shamir, Leonard Adleman) atau EL Gamal. Hasil dari generator ini biasanya adalah dua buah susunan angka acak yang sangat besar. Satu angka acak berfungsi sebagai public key dan satu lagi untuk private key. Angka-angka acak ini memang harus dibuat sebanyak dan seacak mungkin untuk memperkuat keunikan dari key-key tersebut. Menggenerasi key-key ini sangat membutuhkan proses CPU yang tinggi. Maka itu, proses ini tidak bisa dilakukan setiap kali melakukan transaksi data. Dengan kata lain, enkripsi jenis ini tidak pernah digunakan untuk mengamankan data yang sesungguhnya karena sifatnya yang kompleks ini. Meskipun demikian, enkripsi ini akan sangat efektif dalam proses 88 autentikasi data dan aplikasinya yang melibatkan sistem digital signature dan key management. 3. SSL Tunneling SSL (Secure Socket Layer) dan TLS (Transport Layer Security) merupakan kelanjutan dari protokol kriptografi yang menyediakan komunikasi yang aman di internet. Baik SSL dan TLS melibatkan beberapa langkah dasar : Negosiasi dengan ujung klien atau server untuk dukungan algoritma. Public key, encryption-based-key, dan certificate-based authentication. Enkripsi lalu lintas symmetric-cipher-based. Gambar 2.24. Konsep SSL SSL dan TLS berjalan pada layer di bawah application protocol seperti HTTP, SMTP, NNTP dan di atas layer TCP Transport Protocol, yang juga merupakan bagian dari TCP/IP protocol. Jadi dapat dikatakan kalau SSL merupakan protokol yang aman karena 89 dapat menjamin kerahasiaan data dari endpoint ke endpoint. Data apapun yang dilewatkan melalui SSL dijamin aman dari pengintip ditengah jalan karena semua data dikirim dalam keadaan terenkripsi. Karena itu SSL sering di jadikan Tunnel untuk membuat protokol lain yang tidak secure menjadi secure. Contoh pemakaian SSL sebagai tunnel adalah https. Https merupakan protokol yang sering di sebut-sebut dalam internet banking maupun e-commerce. Http asalnya adalah protokol cleartext, artinya semua request dan response http yang lewat tidak terenkripsi dan bisa saja disadap. karnanya untuk web-web yang memerlukan jaminan kerahasiaan seperti bank dan e-commerce, protokol http ini di bungkus dan dilewatkan melalui tunnel SSL, jadi https yaitu http tunneled over SSL. Bukan http saja protokol yang bisa dilewatkan SSL, masih banyak protokol lain yang bisa dilewatkan melalui SSL, diantaranya IMAP, SMTP, POP, LPAD, dll. BAB III PERANCANGAN DAN PEMBAHASAN Pada perancangan ini terdiri dari dua perangkat, yaitu perangkat keras (Hardware) dan perangkat lunak (Software). Dimana perangkat keras merupakan rangkaian elektronika yang terdiri dari rangkaian catu daya, mikrokontroller, dan rangkaian keluaran (Output). Sedangkan perangkat lunaknya merupakan program assembly, PHP, css dan software VPN. Pada bagian pembahasan ini, kedua perangkat tersebut akan dibahas secara terpisah. 3.1 Perangkat Keras (Hardware) Agar mempermudah dalam melakukan pembahasan dan memahami kinerja rancangan alat yang dibuat, maka dapat dilihat pada diagram rangkaian berikut : Gambar 3.1. Diagram Blok Perancangan 91 Rancangan alat ini pada intinya menggunakan beberapa bagian utama yaitu: tampilan antar muka / interface yang juga berfungsi untuk memberikan instruksi/input, mikrokontroler AT89S52 termasuk di dalamnya rangkaian catu daya dan IC ULN2803 sebagai pengendali, dan rangkaian output. Rancangan ini berfungsi sebagai pengendali alat – alat elektronik rumah tangga yang dapat dikendalikan dari jarak jauh melalui sebuah jaringan komputer yang terhubung oleh Local Area Network (LAN) dan jaringan internet dengan memanfaatkan koneksi VPN. Sedangkan perancangan tampilan (interface) berfungsi untuk memberikan informasi dan instruksi tentang alat yang dikendalikan. 3.1.1. Notebook / PC (Personal Computer) Dalam pengontrolan aplikasi ini, bisa digunakan notebook / PC (personal computer) digunakan untuk Client dan server, dengan spesifikasi yang harus dipenuhi oleh masing – masing PC adalah mempunyai port usb, terhubung oleh jaringan LAN, serta perangkat lunak VPN jika terhubung dengan jaringan internet. 3.1.2. Sistem Catu Daya Agar alat yang dibuat dapat beroperasi sesuai dengan fungsinya maka diperlukan sumber tegangan sebagai catu daya. Rangkaian catu daya mendapatkan sumber tegangan sebesar 220 Volt AC. Tegangan bolakbalik (AC) ini kemudian diturunkan menjadi 12 Volt AC melalui trafo penurun tegangan (StepDown Trafo). 92 Tegangan AC 12 Volt ini disearahkan oleh dioda menjadi tegangan DC. Keluaran dari dioda ini kemudian masuk ke IC regulator yang berfungsi untuk menstabilkan tegangan. IC regulator ini yaitu IC LM 7805 yang menghasilkan tegangan DC sebesar +5 Volt ke baris tampilan. Sedangkan kapasitor yang digunakan bertujuan untuk mengurangi noise pada tegangan DC. Pada alat ini catu daya yang digunakan untuk rangkaian pengontrol (mokrokontroler). Gambar 3.2. Rangkaian Catu Daya 3.1.3. Rangkaian Kontrol Mikrokontroler Sistem kontrol pada rangkaian ini menggunakan mikrokontroler AT89S52 yang merupakan tempat pengolahan data yang kemudian diteruskan untuk pengoperasian alat pada rangkaian keluaran (output). Dalam rancangan ini mikrokontroler ini berfungsi sebagai pusat dari seluruh sistem. Dari 16 port control yang dimiliki oleh mikrokontroler ini, hanya digunakan lima buah, lima buah port inilah digunakan untuk menampung masukan atau keluaran data yang kemudian diteruskan kepada IC ULN2803 untuk dapat mengaktifkan output yang berupa peralatan elektronik rumah tangga. 93 Gambar 3.3. Rangkaian Mikrokontroller Pin XTAL, sumber detak mikrokontroler ini digunakan sumber detak internal yang menggunakan kristal 11,0592 MHz dan dua buah kapasitor 33pF (C1 dan C2) yang diparalel dengan kristal yang berfungsi untuk menstabilkan frekuensi. Mikrokontroler menyediakan sarana reset yang terletak pada pin 9. kapasitor 10F dan resistor 680Ω akan mereset rangkaian mikrokontroler. Reset dapat dilakukan dengan cara manual maupun otomatis saat power diaktifkan (Power On Reset). Saat terjadi reset, isi dari register akan berubah. Reset akan terjadi dengan adanya logika 1 selama minimal 2 cycle pada kaki RST. Setelah kondisi pin RST kembali low, mikrokontroler akan mulai menjalankan program dari alamat 0000H. Kondisi pada internal RAM tidak terjadi perubahan selama reset. Untuk mengaktifkan memori internal pada mikrokontroler AT89S52 maka kaki EA (External Acces Enable) harus dihubungkan ke VCC 94 3.1.4. Rangkaian Keluaran (Output) Rangkaian penerima pada perancangan ini menggunakan IC ULN2803 keluaran TOSHIBA. IC ini digunakan untuk meneruskan instruksi yang diberikan oleh mikrokontroler yang kemudian digunakan untuk menghidupkan rangkaian output. ini. 3.2. Perangkat Lunak (Software) Dalam penerapannya, perancangan perangkat lunak ini terbagi menjadi dua bagian, perancangan untuk tampilan pada website / interface dan juga perancangan listing program untuk mikrokontroler. 3.2.1. Perancangan Perangkat Lunak Pada Mikrokonrtoller Perangkat memberikan lunak pada instruksi-instruksi mikrokontroler pada dibutuhkan mikrokontroler, untuk sehingga mikrokontroler dapat bekerja sesuai dengan yang diinginkan. Dalam membuat suatu perangkat lunak atau program pada mikrokontroler harus mengikuti prosedur-prosedur sesuai dengan ketentuan yang berlaku. Jadi, agar mikrokontroler tersebut dapat bekerja untuk mendukung sistem peralatan seperti yang diinginkan, maka harus terlebih dahulu diisikan program assembly yang benar, baik dari segi bahasa program maupun cara pengisiannya. 1). Pengisian program pada IC mikrokontroler AT89S52 Sebelum mikrokontroler digunakan dalam sistem elektronika, harus terlebih dahulu diisikan program. Hal ini 95 bertujuan agar IC tersebut dapat bekerja sesuai dengan yang diinginkan. Sedangkan hardware-nya menggunakan rangkaian penerjemah data, yang sebelumnya telah ditambahkan hubungan dengan konektor DB-25 sebagai penghubung dengan port PC. Gambar 3.4. Rangkaian Programmer ISP 89SXXX Konektor Male DB-25 Gambar 3.5. Rangkaian Hardware Downloader Mikrokontroler Tabel 3.1. Data Input Mikrokontroler 96 NO Input Instruksi pada Mikrokontroler NO Input Instruksi pada Mikrokontroller 1. a SETB P0.0 9. e SETB P0.4 2. A CLR P0.0 10. E CLR P0.4 3. b SETB P0.1 11. f - 4. B CLR P0.1 12. F - 5. c SETB P0.2 13. g - 6. C CLR P0.2 14. G - 7. d SETB P0.3 15. h - 8. D CLR P0.3 16 H - Secara umum, penulisan baris program pada mikrokontroler adalah seperti isi dari table 3.1 diatas. Untuk memasukan program assembly dapat menggunakan beberapa tools atau software teks editor yang mendukung penulisan bahasa assembly. Adapun langkah – lanakahnya adalah sebagai berikut : a). Menuliskan barisan program dengan software MIDE-51. Gambar 3.6. Penulisan baris program 97 Setelah penulisan listing program selesai, kemudian text tersebut disimpan kedalam file dengan nama webInterfacing.asm. Hal ini harus dilakukan, karena software hanya bekerja pada file dengan ekstensi .asm. Bila file telah tersimpan maka akan tampak teks instruksi berwarna-warni seperti ditunjukan pada gambar 3.6. b). Mengubah (compile) bentuk file webInterfacing.asm menjadi webInterfacing.hex dengan menekan tombol Build -> Build and Run. Karena file .hex ini yang akan digunakan oleh mikrokontroler. Gambar 3.7. Mengubah file .asm menjadi .hex Software mampu memberikan peringatan jika terjadi kesalahan pada proses ini, yang biasanya disebabkan karena kesalahan pada penulisan daftar program. Apabila tidak ada kesalahan pada penilisan daftar program, maka dibawah tampilan akan ada petunjuk no errors sebagai hasil dari perubahan tersebut. Seperti terlihat pada gambar dibawah ini. 98 Gambar 3.8. File .hex Tidak Ada Yang Salah. c). Memasukan file webInterfacing.hex kedalam IC mikrokontroler AT89S52. Pada langkah ketiga ini, IC mikrokontroler yang awalnya kosong mulai diisi dengan program. Sedangkan untuk IC yang sebelumnya telah terisi program lain, maka program tersebut dihapus dahulu sebelum diisi dengan program yang baru. Kedua program tersebut dilakukan secara otomatis oleh software yang ada. Untuk memulainya, buka terlebih dahulu program ATMEL microcontroller ISP software. Kemudian pilih menu options -> select device seperti terlihat pada gambar dibawah ini. Gambar 3.9. ATMEL Microcontroller ISP Software Selanjutnya setelah memilih menu select device, kemudian pilih tipe mikrokontroler AT89S52 seperti terlihat pada gambar dibawah ini. 99 Gambar 3.10. Pilihan Mikrokontroler yang akan diisi program. Selanjutnya pilih page mode untuk pembacaan dan penulisan dari device in page mode (read/write a page at a time). Masukan nilai external clock frekuensi 12 MHz. Kemudian klik OK. Setelah selesai kita dapat melihat tampilan code buffer. Code buffer ini cocok dengan sistem program flash memori. Gambar 3.11. Pembacaan Data Pada IC Mikrokontroler Setelah ditentukan programnya, kemudian dapat langsung load program dengan cara pilih load buffer pada menu File. Pilih file HEX yang akan di masukan pada IC mikrokontroler. 100 Gambar 3.12. Open File HEX Dialog. File .hex yang telah dimasukan dikenali oleh software tersebut kemudian code buffer akan berubah seperti pada gambar 3.13 dibawah Gambar 3.13 Proses Pengisian. Untuk memerintah software dalam mengisikan File .hex ke IC mikrokontroler, pilih menu instruction, kemudian pilih menu auto program untuk pengisian File .hex ke IC mikrokontroler secara otomais. Selanjutnya muncul tampilan yang memperlihatkan proses pengisian tersebut. Seperti pada gambar 3.14. 101 Gambar 3.14. Pembacaan Data Pada Mikrokontroler Setelah di program IC mikrokontroler sudah terisi seiring dengan bertambahnya persentase. Proses pengisian berlangsung diawali dengan “Erase Flash & EEPROM memory”. Yang berarti software melakukan penghapusan terhadap memori internal IC mikrokontroler terlebih dahulu sebelum mengisikan program kedalam IC tersebut. Setelah terisi pada IC mikrokontroler kemudian mencocokan file yang telah diisikan dengan buffer, yaitu dengan cara pilih menu instructions setelah itu pilh kembali menu very chip with buffer. Selanjutnya apabila tidak ada kesalahan pada pengkodean maka akan muncul tampilan yang memperlihatkan proses menyamakan kode berhasil. Gambar 3.15. Membandingkan Program dengan Code Buffer 102 Setelah langkah-langkah diatas berjalan dan selesai, maka IC mikrokontroler yang dalam rancangan alat ini memakai jenis AT89S52, sudah bisa berhubungan dengan antar muka (interface) dan rancangan keluaran (output). 2). Daftar Program Assembly Dalam pembuatan rancangan alat ini, mikrokontroler merupakan komponen utama. Seperti telah dijelaskan sebelumnya bahwa mikrokontroler termasuk perangkat keras dari rancangan ini. Mikrokontroler ini berfungsi sebagai tempat pengolahan data dan pengoperasian alat yang harus bekerja dengan baik. Agar mikrokontroler ini dapat bekerja sesuai dengan yang diinginkan, maka terlebih dahulu diisikan program kedalam memorinya. Karena perangkat keras mikrokontroler akan berfungsi jika perangkat lunak yang berupa intruksi-intruksi telah diisikan kedalam memorinya. 3.2.2. Perangkat Lunak Tampilan Monitor Langkah – langkah dalam membuat tampilan program aplikasi Web Interfacing adalah sebagai berikut : Membuat rancangan tampilan dengan Adobe Photoshop CS2. Membuat halaman web dengan Adobe Dremawever CS3. Menuliskan kode program dengan bahasa PHP, dan Membercantik tampilan website dengan CSS dan JavaScript. 103 Dalam perancangan halaman antar muka program ini, terdiri dari beberapa halaman web yang akan di tampilkan. Halaman tersebut terdiri dari : Halaman Login untuk autentikasi Halaman utama pengontrolan, dan Halaman About Penjelasan : 1. Halaman Login Halaman Login ini akan tampil saat program pertama kali di akses, Halaman ini menggunakan autentikasi Username dan Password yang bertujuan agar program tidak dapat digunakan oleh orang yg tidak dizinkan. Adapun gambaran dari halaman ini adalah sebagai berikut : Gambar 3.16. Perencanaan halaman login Pada halaman login ini, ada dua kondisi yang akan ditampilkan, kondisi pertama apabila username dan password salah, maka program menampilkan halaman berisi pesan kesalahan. Namaun apabila username dan password yang dimasukan benar, maka program pada halaman login ini akan membawa pengguna ke tampilan splash 104 screen seperti yang ditunjukan oleh gambar dibawah ini. Gambar 3.17. Perencanaan Halaman Splash Screen 2. Halaman Utama Pengontrolan Halaman ini merupakan halaman inti, dimana pengendalian dan status alat ditampilkan pada halaman ini. Secara garis besar halaman ini berisi beberapa buah radio button dan command button yang masing – masingnya mewakili alat yang dikendalikan. Dibawah ini merupakan gambar perencanaan dari halaman tersebut. Gambar 3.18. Perencanaan Halaman Utama Pengontrolan 105 3. Halaman About Halaman ini berisi beberapa informasi tentang penulis dan alasan serta tujuan penulis membuat alat tersebut. Dan sebagai tambahannya disertakan juga pemutar music pada halaman ini. Berikut perancangannya. Gambar 3.19. Perencanaan Halaman About 3.2.3. Perangkat Lunak VPN Seperti yang di bahasa pada bab sebelumnya, dimana perangkat lunak VPN ini berfungsi untuk membuat hubungan antara client dan server secara private dengan menggunakan jalur public. Untuk itu pada perancangan kali ini, menggunakan perangkat lunak / software yang dikeluarkan oleh Comodo Group, Inc. perangkat lunak tersebut ialah Comodo EasyVPN, berikut adalah langkah - langkah penggunaannya. 1. Unduh EasyVPN client dan ikuti langkah – langkahnya dalam menginstalasikan kedalam komputer anda. EasyVPN tersedia untuk 106 mesin 32bit dan 64bit dengan dukungan sistem operasi WinXP dan Vista 2. Kemudian buatlah account EasyVPN melalui menu File > Register a new account, dan isi beberapa data diri pada form tersebut. Gambar 3.20. Form Registrasi EasyVPN 3. Setelah berhasil mendaftar, anda akan dapat login kedalam layanan EasyVPN, dan juga mendapatkan IP statis EasyVPN. Alamat inilah yang digunakan oleh server dan menjadi referensi client untuk membuat peer-to-peer network. Gambar 3.21. Mendapatkan IP Static EasyVPN 4. Langkah selanjutnya adalah membuat Network dengan cara mengklik pada menu Networks > Create a new network, dan tentukan nama 107 network-nya serta isikan password untuk network tersebut. Gambar 3.22. Membuat Netwok sendiri 5. Setelah network baru terbentuk, langkah selanjutnya adalah menggabungkan komputer penggunak kedalam network tersebut, dengan cara mengklik menu Networks > Join a network, kemudian masukan nama network dan password yang sebelumnya digunakan untuk membuat network tersebut. Gambar 3.23. Gabung kedalam Network 6. Setelah berhasil bergabung kedalam network, berarti jaringan VPN telah terbentuk antar sesama komputer yang terhubung dalam satu network yang sama. EasyVPN juga menyediakan beberapa fasilitas yang siap digunakan seperti Chat, Desktop Control, dll, tanpa harus menginstalasi aplikasi tambahan. 108 Gambar 3.24. Tampilan EasyVPN dan Fasilitasnya 3.3. Flow Chart Pada pembuatan sebuah sistem kontrol diperlukan sebuah gambar yang dapat menjelaskan alur ataupun langkah – langkah dari suatu sistem yang dibuat, Sehingga dapat memberikan penjelasan dalam bentuk gambar. Pembuatan penjelasan yang berupa proses ini merupakan gambar dari flowchart sistem yang akan dibuat. Tujuan dari pembuatan flowchart ini adalah untuk mempermudah pembaca dan si pembuat sistem itu sendiri untuk dapat memahami langkah – langkah serta kemungkinan – kemungkinan dari beberapa keputusan. Dalam pembuatan aplikas ini digunakan beberapa buah flowchart program yang menjelaskan proses 109 pada komputer client yang mengakses aplikasi dari internet, maupun client yang mengakses aplikasi dari LAN serta flowchart sistem pada alat. Dari penelitian yang dilakukan menghasilkan flowchart - flowchart sebagai berikut : a. Flowchart Sistem Aplikasi Melalui LAN Gambar 3.25. Flowchart Sistem dari LAN 110 b. Flowchart Sistem Aplikasi Melalui Internet Gambar 3.26. Flowchart Sistem dari Internet 111 c. Flowchart Program Start Konfigurasi com port Terima karakter input Ya Sesuai Karakter 1 Tidak Ya Sesuai Karakter 2 Tidak Ya Sesuai Karakter 3 Tidak Ya Sesuai Karakter 4 Tidak Ya Sesuai Karakter 5 Isi nilai port sesuai karakter input Finish Gambar 3.27. Flowchart Program Tidak BAB IV IMPLEMENTASI DAN ANALISA 4.1. Uji Coba Setelah melakukan perancangan dan pemasangan komponen, selanjutnya adalah melakukan serangkaian uji coba pada masing – masing blok rangkaian yang bertujuan untuk mendapatkan kesesuaian spesifikasi dan hasil yang diinginkan. Untuk lebih jelas mengenai pembahasan hasil uji coba yang akan dilakukan dapat di lihat pada sub bab berikut. 4.1.1. Pengujian Rangkaian Catu Daya Catu daya sebagai suplai tegangan kerja merupakan bagian yang sangat penting. Dalam realisasi perangkat keras yang berupa lampu LED, kipas DC dan Relay disini membutuhkan catu daya yang besarnya adalah +5 volt. Gambar 4.1 adalah merupakan gambar rangkaian catu daya berikut dengan titik yang berikan dengan tanda angka yang kemudian akan ditampilkan dari hasil pengujian tersebut berdasarkan angka yang tertera pada rangkaian tersebut. Gambar 4.1. Pengujian Rangkaian Catu Daya Dari hasil pengujian pada rangkaian diatas didapatkan hasil yang terukur sebenarnya adalah sebagai berikut : 113 Hasil yang Pengujian Target yang harus dicapai didapat Hasil pengukuran pada Output tegangan Output tegangan 12 Volt point (1A) dan (1B) 12,67 Volt Hasil pengukuran pada Output tegangan Output tegangan +12 Volt point (2A) +12,67 Volt Pengukuran pada point Output tegangan Output tegangan +5 Volt (3A) +4,93 Volt Tabel 4.1. Pengujian Rangkaian Catu Daya 1. Hasil pengukuran antara Point (1A) dengan (1B) yang merupakan keluaran dari kumparan sekunder transformator yang masih berupa tegangan AC sebesar 12 volt. Setelah dilakukan pengukuran mendapat 12,67 volt AC. 2. Hasil pengukuran keluaran dari komponen dioda, yaitu point (2A) dengan Ground ( - ) adalah sebesar 12,67 volt. 3. Hasil untuk pengukuran catu daya +12 volt dari keluaran IC regulator LM7805 adalah +4,93 volt. Dari hasil pengujian rangkaian catu daya didapatkan hasil yang masih dalam batas toleransi yang diizinkan (2,2 - 5,5 V), sehingga pada rangkaian catu daya ini sudah dapat digunakan dengan baik. 114 4.1.2. Pengujian Rangkaian USB To Serial Rangkaian USB To Serial digunakan untuk menkonversikan komunikasi dalam pengiriman maupun penerimaan data dari mikrokontroller dan ke mikrokontroller. Pada rangkaian ini terdapat tiga pasang pin yang digunakan untuk menghubungkan antara mikrokontroller dengan output serta program aplikasi yang dibuat dengan bahasa php. Ketiga pin ini yaitu : 1. Pin RX (1), pin ini dihubungkan ke port 3.0 pada mikrokontroller yang berfungsi untuk menerima data yang diberikan oleh program. Pin RX (2), pin ini dihubungkan pada konektor B USB yang digunakan sebagai perantara untuk menerima data. 2. Pin TX (1), pin ini dihubungkan ke port 3.1 pada mikrokontroller yang berfungsi untuk mengirimakan data yang akan diberikan ke mikrokontroller. Pin TX (2), pin ini dihubungkan pada konektor B USB yang digunakan sebagai perantara untuk mengirimkan data yang diberikan oleh program. 3. Pin Ground (1,2) , kedua pin ini dihubungkan ke jalur negatif. Pengujian rangkaian ini dilakukan menggunakan perangkat lunak Serial Port Monitor, dengan target jika rangkaian terhubung maka akan mendapatkan respon dari mikrokontroler. Dari hasil uji coba rangkaian didapat hasil yang baik, terlihat pada gambar dibawah status koneksi mikrokontroler sukses. Gambar 4.2. Pengujian Rangkaian USB to Serial 115 4.1.3. Pengujian Rangkaian Output Rangkaian pengendali output digunakan untuk menghidupkan dan mematikan peralatan yang dihubungkan dengan rangkaian output ini, yang mana terdapat tiga buah lampu LED dan kipas DC, serta relay DC yang kontak pointnya dihubungkan dengan tegangan AC. Dari pengujian ketiga alat tersebut didapatkan hasil sebagai berikut : 1. Lampu LED yang dirangkai dengan resistor 133ohm dan diberikan tegangan sumber +5v, dapat menyalah dengan baik, adapun perhitungan resistor tersebut adalah sebagai berikut: tegangan sumber sebesar +5v, dan tegangan yang di butuhkan LED sebesar +2.2v, serta arus yang di izinkan untuk mengaliri LED sebesar 20mA (0.02A), jika tegangan sumber adalah +5v maka besar VLED adalah 5 - 2.2 = 2.8v, jadi besaran resistor yang digunakan adalah : R=V/I R = 2.8 / 0.02 R = 140 Ohm, atau 133 Ohm untuk nilai resistor di pasaran. 2. Rangkaian kipas DC 5 volt, diberikan tegangan DC 5 volt, membuat kipas tersebut berputar dengan baik. 3. Terakhir adalah rangkaian relay DC 6 volt, walaupun diberikan tegangan DC 5 volt, namun relay masih dapat bekerja dengan baik. Sedangkan kontak point relay dihubungkan dengan dengan tegangan AC 220V, yang dipakai untuk stop kontak, sehingga stop kontak tersebut dapat menghidupkan setiap alat yang di sambungkan kedalam stop kontak tersebut. 116 Setelah melakukan beberapa tahapan pengujian pada rangkaian output, hasil pengujian tersebut sesuai dengan apa yang diinginkan, berarti rangkain output yang dibuat dapat dikatakan berhasil. 4.1.4. Pengujian Rangkaian Mikrokontroler Pengujian pada rangkaian mikrokontroler ini dilakukan untuk dapat memastikan apakah rangkaian ini dapat bekerja sesuai dengan instruksi yang sudah diberikan. Untuk dapat mengaktifkan rangkaian ini, pertama yang dilakukan adalah memberikan teganan kerja sebesar 5 volt pada mikrokontroller. Dan memastikan rangkaian ini terhubung dengan baik ke rangkaian USB To Serial. Uji coba selanjutnya yaitu dengan mencoba memasukkan listing program sederhana untuk mengeluarkan data pada output. Setelah listing program dimasukkan kedalam mikrokontroler, langkah selanjutnya adalah memastikan apakah hasil output sesuai dengan yang diharapkan. Adapun hasil dari serangkaian uji coba tersebut adalah sebagai berikut : Table 4.2 Pengujian Mikrokontroler Pengujian Target yang harus dicapai Hasil yang didapat Pemberian karakter ‘a’ Lampu Led 1 menyalah Lampu Led 1 menyalah Pemberian karakter ‘b’ Lampu Led 2 menyalah Lampu Led 2 menyalah Pemberian karakter ‘c’ Lampu Led 3 menyalah Lampu Led 3 menyalah Pemberian karakter ‘d’ Kipas menyalah Kipas menyalah Pemberian karakter ‘e’ Relay menyalah Relay menyalah Pemberian karakter ‘A’ Lampu Led 1 mati Lampu Led 1 mati Pemberian karakter ‘B’ Lampu Led 2 mati Lampu Led 2 mati Pemberian karakter ‘C’ Lampu Led 3 mati Lampu Led 3 mati 117 Pemberian karakter ‘D’ Kipas mati Kipas mati Pemberian karakter ‘E’ Relay mati Relay mati Dengan melihat hasil target yang harus dicapai dengan hasil yang didapat sudah sesuai, maka rangkaian Mikrokontroler siap untuk digunakan. 4.1.5. Pengujian Aplikasi Pengendalian Alat Melalui Web Pengujian pada aplikasi ini dilakukan untuk dapat memastikan apakah pengiriman data yang dilakukan aplikasi sesuai dengan data yang diterima oleh mikrokontroller. Untuk dapat memastikannya dilakukan beberapa tahap yaitu : 1. Memastikan terhubungnya koneksi antara aplikasi dengan mikrokontroller melalui USB To Serial, hal ini bertujuan agar aplikasi ini dapat mengirimkan instruksi – instruksi secara langsung ke mikrokontroller. 2. Memastikan tersedianya comm port yang kosong untuk dapat memfungsikan USB To Serial dengan baik. 3. Memastikan konfigurasi port serial pada port 1 (comm 1), sesuai dengan kebutuhan yang terdapat pada program aplikasi ini. Setelah melakukan langkah – langkah seperti diatas maka sudah dapat dipastikan aplikasi ini dapat digunakan. Untuk pengujian rangkaian mikrokontroler, masih menggunakan aplikasi Serial Port Monitor, yang mana target yang harus dicapai adalah memastikan bahwa karakter yang dikirim oleh halaman antar muka / interface sama dengan yang diterima oleh mikrokontroler. Setelah di lakukan uji coba, didapatkan hasil pada gambar di bawah ini : 118 Gambar 4.3. Pengujian Mengirim Indikasi OFF Melalui Halaman Website Gambar 4.4. Pengujian Mengirim Indikasi ON Melalui Halaman Website 119 4.1.6. Pengujian Koneksi Client ke Server Melalui LAN Pengujian koneksi antara client ke server melalui jaringan LAN dilakukan dengan cara memberikan paket data dari client menuju server dengan perintah ping. Target yang harus di capai pada pengujian ini adalah server harus dapat me-reply data yang dikirimkan oleh client. Hasil tersebut dapat dilihat pada gambar dibawah ini. Gambar 4.5. Pengujian Koneksi Client ke Server Melalui LAN Terlihat bahwa paket data yang dikirimkan client dengan alamat IP 192.168.137.2 menuju server dengan alamat IP 192.168.137.1, diterima dengan baik dan di-reply oleh server. Dari data ini menunjukan bahwa client dan server terhubung dengan baik dan dapat digunakan untuk mengakses program yang berada pada komputer server. 120 4.1.7. Pengujian Koneksi Client ke Server Melalui Internet Pada pengujian koneksi melalui internet ini masih sama dengan pengujian koneksi melalui LAN dengan menggunakan perintah ping, dan target yang harus dicapai juga sama, yaitu server harus dapat me-reply paket data yang dikirimkan oleh komputer client. Perbedaan yang terjadi pada situasi ini, terletak pada penggunaan perangkat lunak EasyVPN. Dikarenakan koneksi internet penulis tidak mempunyai IP Public yang static dari provider pada komputer server, sehingga client yang ingin terhubung harus mencatat setiap perubahan IP public pada komputer server, karena IP tersebut yang digunakan untuk menghubungkan komputer client. Hal tersebut tidak diinginkan, karena IP static dapat berubah sewaktu – waktu, dari permasalahan tersebutlah digunakan perangkat lunak EasyVPN. Perangkat lunak ini akan memberikan IP static pada komputer server, dan membuat jaringan pribadi (private network) pada jaringan internet, sehingga client yang ingin terhubung hanya perlu satu kali mencatat IP komputer server dan tidak akan berubah untuk selanjutnya. Untuk hasil pengujian dapat dilihat pada gambar di bawah ini. Gambar 4.6. Detail Pengujian Koneksi Client ke Server Melalui Internet 121 Gambar 4.7. Pengujian Koneksi Client ke Server Melalui Internet Pada gambar yang diberi nomer 1 menunjukan IP dari client, sedangkan gambar yang diberi nomer 2 menunjukan IP dari server. Pengujian ping antara client menuju server ditunjukan oleh gambar yang diberi nomer 3 dengan hasil yang baik, dengan indikasi komputer server dapat me-reply paket data yang dikirimkan oleh client, sedangkan gambar yang diberi tanda nomer 4 menunjukan bahwa komputer client terhubung ke alamat IP 5.1.109.169 yang tidak lain adalah alamat IP komputer server. Dari keterangan diatas, membuktikan bahwa komputer client dan server sudah terhubung, dan program aplikasi sudah dapat digunakan. 122 4.2. Analisa Proses analisa dilakukan untuk mendapatkan kesesuaian antara perangkat keras yang sudah di uji coba dengan perangkat lunak yang telah dimasukkan kedalam mikrokontroler, kemudian hasil dari listing program ini akan ditampilkan dalam bentuk Graphical User Interface (GUI) yang berjalan diatas web browser. Pada listing program utama dalam pemograman assembly ditampilkan sebagai berikut : SERI_INT: JB RI,YA CLR TI RETI YA: MOV A,SBUF CLR RI CJNE A,#'a',CEK_1 SETB P0.0 SJMP LOOP CEK_1: CJNE A,#'b',CEK_2 SETB P0.1 SJMP LOOP CEK_2: CJNE A,#'c',CEK_3 SETB P0.2 SJMP LOOP .......... dan seterusnya sampai CEK_16: END SJMP LOOP 123 Pada listing ini pertama akan dilakukan penanganan terhadap interupsi serial, jika interupsinya adalah penerimaan data maka program akan lompat pada variable ”YA” begitu juga ketika interupsinya adalah pengiriman data maka akan dilakukan proses penghapusan pada Interupsi ”TI”. Saat program melompat pada variabel ”YA” maka akan dilakukan pembacaan karakter yang diterima pada register A, kemudian akan dilakukan penghapusan pada ”RI” hal ini dimaksudkan agar karakter yang dikirim dapat diterima lagi pada register. Kemudian bandingkan isi register A, jika nilainya sesuai dengan karakter yang ditentukan maka jalankan, sedangkan jika tidak sesuai dengan karakter yang di tentukan, lompat ke perintah selanjutnya hingga mendapatkan hasil yang sesuai dengan karakter yang dikirim oleh input. Pengujian selanjutnya adalah menguji listing program file Agent untuk menghidupkan mikrokontroler, listing tersebut adalah : @echo off mode com1:9600,n,8,1 echo "a">com1 @cls @exit Listing program ini dibuat dengan bahasa Batch Programming yang berisi perintah konfigurasi dan instruksi untuk serial port, yang mana akan mengirimkan kepada port serial atau lebih tepatnya com1 karakter ”a” dan oleh mikrokontroler akan menjalankan perintah SETB P0.0 yang kemudian menghidupkan rangkaian output 1, begitu seterusnya sesuai dengan karakter yang diberikan. Selanjutnya adalah pengujian listing program inisialisasi Variable pada halaman website, berikut adalah potongan listing programnya : 124 switch($_POST['radio']){ case "on1": echo exec('Agent1'); set_time_limit(10); break; Pada listing ini dibuat dengan bahasa php yang bertujuan untuk mendeklarasikan variable, yang mana variable tersebut berisi file Agent yang akan dipanggil oleh suatu perintah melalui command button sesuai dengan instruksi yang diberikan. Terakhir adalah pengujian listing program pemanggilan file Agent yang juga dipanggil melalui halaman web, berikut adalah sebagian listing programnya : <input type="submit" switch($_POST['radio']){case name="button" 'on1': id="button" echo("submit");break; value="<? case 'off1': echo("submit"); break; default: echo('submit');break;}?>" Pada listing ini akan membuat suatu command button yang berfugsi memanggil variable, kemudian variable yang telah berisi file Agent tersebut, akan mengirimkan nilainya pada port serial, dan kemudian diteruskan ke mikrokontroler yang mengolah perintah dari port serial sehingga menghasilkan instruksi untuk rangkaina output. 4.3. Model atau Prototype Setelah pada bab sebelumnya di bahas bagaimana bentuk perancangan alat ini, pada bab ini akan di muat gambar dari implementasi alat maupun program antar mukanya. Berikut adalah gambar tersebut : 125 Gambar 4.8. Prototype Alat Gambar 4.9. Splash Screen Program Gambar 4.10. Antarmuka Program Pengendalian Gambar 4.10. Halaman About Program BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan 1. Web interfacing ini merupakan program aplikasi yang dapat digunakan tanpa penginstalasian software pada sisi client, karena program ini berjalan di atas browser dan dapat di jalankan hanya dengan menggunakan web browser. 2. Web interfacing ini dapat diakses melalui internet dengan menggunakan VPN, sehingga menciptakan koneksi yang relatif aman walaupun berjalan pada public network (internet). 3. Web interfacing ini menggunakan sebuah file agent sebagai penghubung aplikasi web untuk berkomunikasi dengan hardware. 5.2. Saran 1. Dengan adanya alat ini, maka mahasiswa di Sekolah Tinggi Manajemen dan Ilmu Komputer RAHARJA khususnya pada jurusan Sistem komputer dan umumnya untuk jurusan lain, agar dapat mengetahui lebih banyak tentang teknik pengendalian secara remote melalui web sehingga alat ini dapat dikembangkan dan memiliki fungsi serta manfaat yang lebih baik lagi. 2. Untuk meningkatkan kecepatan respon dari web server kepada penerima, maka dapat dilakukan optimalisasi gambar dan penambahan script serta pemilihan bahasa pemrograman. LAMPIRAN 1. SOURCE CODE PROGRAM <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Web Interfacing</title> <style type="text/css"> <!-body { background-image: url(file:///D|/xampp/htdocs/eskulweb/web800X600_01.jpg); background-color: #F9D5BF; background-repeat: repeat-x; } #layout { position: relative; height: 500px; width: 700px; top: 20px; border: thin solid #F4AA83; z-index: 1; margin: auto; } .footer { font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 10px; padding: 5px; color: #FFFFFF; } #top { font-family: "Times New Roman", Times, serif; font-size: 14px; font-style: oblique; line-height: 15px; height: 205px; width: 170px; position: absolute; z-index: 2; top: 2px; left: 500px; color: #000000; } #nav-menu { position: absolute; height: auto; width: 200px; left: 20px; top: 200px; z-index: 3; } #nav-menu a:link { text-decoration: none; color: #000000; } #nav-menu a:hover { color: #F68E56; text-decoration: underline; } .nav-menu { font-family: Georgia, "Times New Roman", Times, serif; font-size: 12px; line-height: 35px; font-weight: bold; list-style-position: outside; list-style-type: circle; } #nav-menu a:visited { color: #FF0000; text-decoration: underline; } #nav-menu a:active { color: #CCCCCC; text-decoration: underline; } #marque { position:absolute; left:223px; top:335px; width:474px; height:109px; z-index:2; } #apDiv1 { position:absolute; left:10px; top:110px; width:486px; height:19px; z-index:2; } .style1 { color: #FFFFFF; font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; } --> </style> <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script> </head> <body> <div class="footer" id="layout"> <table width="700" border="0"> <tr> <td height="120" valign="top" background="file:///D|/xampp/htdocs/eskulweb/web800X600_06.gif"><div class="style1" id="apDiv1"><marquee>:: Easy To Control Your Home Appliance ::</marquee></div> <img src="file:///D|/xampp/htdocs/eskulweb/web800X600_04.gif" alt="" width="351" height="99" align="top" /> <div id="top"> <p><img src="file:///D|/xampp/htdocs/eskulweb/Anonymous_light_bulb.png" width="173" height="172" alt="" /><br /> <br /> Web Interfaing, Allow you to control your home devices Anytime, and Anywhere...!!!</p> </div></td> </tr> <tr> <td><div class="nav-menu" id="nav-menu"> <ul> <li> <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c ab#version=5,0,0,0','width','100','height','23','src','button2','quality','high','pluginsp age','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Versio n=ShockwaveFlash','movie','button2' ); //end AC code </script><noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c ab#version=5,0,0,0" width="100" height="23"> <param name="BGCOLOR" value="" /> <param name="movie" value="button2.swf" /> <param name="quality" value="high" /> <embed src="button2.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Pro d_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="23" ></embed> </object> </noscript> </li> <li> <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c ab#version=5,0,0,0','width','100','height','23','src','button3','quality','high','pluginsp age','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Versio n=ShockwaveFlash','movie','button3' ); //end AC code </script><noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c ab#version=5,0,0,0" width="100" height="23"> <param name="BGCOLOR" value="" /> <param name="movie" value="button3.swf" /> <param name="quality" value="high" /> <embed src="button3.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Pro d_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="23" ></embed> </object> </noscript> </li> <li> <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c ab#version=5,0,0,0','width','100','height','23','src','button4','quality','high','pluginsp age','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Versio n=ShockwaveFlash','movie','button4' ); //end AC code </script><noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c ab#version=5,0,0,0" width="100" height="23"> <param name="BGCOLOR" value="" /> <param name="movie" value="button4.swf" /> <param name="quality" value="high" /> <embed src="button4.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Pro d_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="23" ></embed> </object> </noscript> </li> </ul> </div> <img src="file:///E|/KKP&amp;skripsi/KKP of Me/design/images/web800X600_11.jpg" width="694" height="350" /></td> </tr> <tr> <td height="20" bgcolor="#F26522" class="footer"><div align="left">| Home | About | Copyright &copy; M. Ilham Kurnian - STMIK Raharja 2009</div></td> </tr> </table> </div> </body> </html> LAMPIRAN 2. DATA IC MIKROKONTROLER AT89S52 LAMPIRAN 3. SIMBOL FLOWCHART (DIAGRAM ALIR) No. 1. Simbol Nama Simbol Keterangan Input/Output Sebagai media masukan dan keluaran dari data 2. Process Menggambarkan proses transformasi dari data masuk menjadi data keluar 3. Predifined Menggambarkan proses yang masih Proses berisi proses lain didalamnya. 4. Preparation Sebagai pemberian nilai awal 5. Start/End Sebagai awal dan akhir program 6. Connector Sebagai penghubung satu halaman 7. Sebagai media untuk melakukan Decision 8. Off-page pemilihan Sebagai penghubung beda halamn Connector 9. Data Flow Simbol yang menggambarkan arus data yang mengalir LAMPIRAN 4. SIMBOL ELEKTRONIKA Resistor Tetap Kapasitor Bipolar AC R esistor Variabel Trimmer Potensio (Trimpot) Light Dependent Resistor (LDR) Kapasitor Nonpolar Variabel Kapasitor Trim mer Kapasitor (Varco) Transformer Induktor Kristal Pilot Light Ground Sikring DC Sumber Arus Bolak-Balik (AC) Sumber Arus Searah (DC) Battrey Chasis Mosfet Type P (Positif) M osfet Type N (Negatif) Transistor Type PNP Transistor Type NPN Transistor Unjunction Type P Transistor Unjunction Type N Photo Transistor Type N Light Emiting Diode (LED) Transistor Junction Transistor Junction Type P Type N Diode Zener Varactor + - DIAC TRIAC DIODE SCR Operational Am plifier Amplifier Sakelar SPST Sakelar SPDT Sakelar DPST Sakelar DPDT Relay SPST Relay SPDT 28/06/2010 “Pengendalian Alat – Alat Rumah Tangga Menggunakan Mikrokontroler AT89S52 melalui Web” : FINAL PRESENTATION : Oleh: M. Ilham Kurniawan [0631456663] STMIK Raharja Sistem Komputer Pendahuluan ; 1. Latar Belakang • • • • • • Latar Belakang Perumusan Masalah Tujuan Penelitian Rancangan dan Pembahasan Kesimpulan dan Saran • • • Sejalan dengan perkembangan teknologi informasi dan komunikasi, per anan peralatan komunikasi dan peralatan kontrol sebagai penunjang dalam peningkatan produksi dalam suatu industri maupun rumah tangga semakin besar. Pengontrolan peralatan listrik telah menghasilkan beberapa metode yang juga berkembang seiring dengan perkembangan teknologi. Tidak lagi secara manual, yang membutuhkan seorang operator dalam mengoperasikannya, namun sudah saatnyalah peralatan tersebut diotomatisasi pengoperasiannya, walaupun dalam keadaan yang sibuk sekalipun seseorang mampu mengawasi keberlangsungan keadaan alat – alat rumah tangga maupun industrinya. Seperti yang kita semua tau, bahwasanya pada saat ini hanyalah internet yang mampu melakukan hal tersebut, dari pada itu pada penelitian kali ini penulis mencoba mengaplikasian sebauh pengontrolan alat – alat rumah tangga maupun industri melalui website yang dapat terhubung oleh jaringan lokal maupun internet. Ada beberapa komponen yang sangat penting pada pembuatan alat saat ini, yaitu antar muka website dengan HTML sebagai Front end, dan bahasa pemrograman PHP yang berfungsi mengirimkan command, serta mikrokontroller AT89S52 yang menjadi otak pengendalian yang masing – masing saling terkait satu dengan yang lainnya. Melalui komponen – komponen tersebutlah alat – alat seperti lampu, kipas angin, dan alat – alat lainnya dapat di kontrol dimanapun dan kapanpun selama masih ada jaringan internet. Dengan adanya alat ini, penulis berharap dapat menjadi inspirasi bagi Mahasiswa/i Perguruan Tinggi Raharja khususnya dan Perguruan Tinggi lain pada umumnya untuk dapat dikembangkan dan memiliki fungsi serta manfaat yang lebih baik lagi, serta dapat bermanfaat dalam kemajuan negara Indonesia tercinta. 2. Perumusan Masalah 3. Tujuan Penelitian • Bagaimana membuat sistem pengontrolan dari jarak jauh tanpa penginstalasian program pada setiap client. • Sebagai persyaratan untuk menyelesaikan Skripsi. • Bagaimana membuat sebuah komunikasi web yang pribadi (private) dan relatif aman (secure) melalui jaringan umum (public). • Dari hasil penelitian yang dilakukan agar bisa dimanfaatkan serta menjadi dasar acuan dalam pengembangan serta perancangan sistem kontrol jarak jauh berbasis web. • Bagaimana sebuah halaman website dapat berkomunikasi dengan perangkat keras (Hardware). • Merupakan keingintahuan penulis untuk menganalisa ataupun meneliti teknik komunikasi jarak jauh dengan menggunakan media internet. 1 28/06/2010 4. Rancangan dan Pembahasan 4. Rancangan dan Pembahasan • Diagram Block • Rangkaian Catu Daya 4. Rancangan dan Pembahasan 4. Rancangan dan Pembahasan • Rangkaian Mikrokontroller • Tabel Input Mikrokontroller NO Input Instruksi pada Mikrokontroller NO Input Instruksi pada Mikrokontroller 1. a SETB P0.0 9. e SETB P0.4 2. A CLR P0.0 10. E CLR P0.4 3. b SETB P0.1 11. f - 4. B CLR P0.1 12. F - 5. c SETB P0.2 13. g - 6. C CLR P0.2 14. G - 7. d SETB P0.3 15. h - 8. D CLR P0.3 16 H - 4. Rancangan dan Pembahasan 4. Rancangan dan Pembahasan • Flowchart program • Cara menjalankan Program a. Buka Web Browser b. Masukan URL c. Muncul Splash Screen, kemudian tekan tombol “Enter” pada pojok kanan bawah d. Pada tampilan utama, klik pada radio button untuk menghidupkan atau mematikan alat e. Selesai 2 28/06/2010 4. Rancangan dan Pembahasan 4. Rancangan dan Pembahasan • Tampilan Program - Splash Screen • Tampilan Program - Halaman kontrol Klik disini 4. Rancangan dan Pembahasan • Tampilan Program - Halaman About 5. Kesimpulan dan Saran - Kesimpulan • Web interfacing ini merupakan program aplikasi yang dapat digunakan tanpa penginstalasian software pada sisi client, karena program ini berjalan di atas browser dan dapat di jalankan hanya dengan menggunakan web browser. • Web interfacing ini dapat diakses melalui internet dengan menggunakan VPN, sehingga menciptakan koneksi yang relatif aman walaupun berjalan pada public network (internet). • Web interfacing ini menggunakan sebuah file agent sebagai penghubung aplikasi web untuk berkomunikasi dengan hardware. 5. Kesimpulan dan Saran - Saran • • Dengan adanya alat ini, maka mahasiswa di Sekolah Tinggi Manajemen dan Ilmu Komputer RAHARJA. Khususnya pada jurusan Sistem komputer dan umumnya untuk jurusan lain. agar dapat mengetahui lebih banyak tentang teknik pengendalian secara remote melalui web, sehingga alat ini dapat dikembangkan dan memiliki fungsi serta manfaat yang lebih baik lagi. Untuk meningkatkan kecepatan respon dari web server kepada penerima, maka dapat dilakukan optimalisasi gambar dan penambahan script serta pemilihan bahasa pemrograman. Thanks For Your Attention Easy to control your device 3