VOLUME MINYAK PADA TANKI DIESEL DENGAN
MENGGUNAKAN SENSOR ULTRASONIK PING)))
PARALLAX BERBASIS MIKROKONTROLLER
AT89S51
SKRIPSI
MUHAMMAD FAJAR
111421031
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
SIMULASI SISTEM OTOMASI POMPA UNTUK PENGUKURAN VOLUME
MINYAK PADA TANKI DIESEL DENGAN MENGGUNAKAN SENSOR
ULTRASONIK PING))) PARALLAX BERBASIS
MIKROKONTROLLER AT89S51
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
MUHAMMAD FAJAR 111421031
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : SIMULASI SISTEM OTOMASI POMPA UNTUK
PENGUKURAN VOLUME MINYAK PADA
TANKI DIESEL DENGAN MENGGUNAKAN SENSOR ULTRASONIK PING))) PARALLAX BERBASIS MIKROKONTROLLER AT89S51
Kategori : SKRIPSI
Nama : MUHAMMAD FAJAR
Nomor Induk Mahasiswa : 111421031
Program Studi : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFOMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Dahlan Sitompul M. Eng Dr. Poltak Sihombing, M.Kom NIP. 19670725 200501 1 002 NIP. 19620317 199103 1 001
Diketahui/Disetujui Oleh S1- Ilmu Komputer Ketua,
PERNYATAAN
SIMULASI SISTEM OTOMASI POMPA UNTUK PENGUKURAN VOLUME MINYAK PADA TANKI DIESEL DENGAN MENGGUNAKAN SENSOR
ULTRASONIK PING))) PARALLAX BERBASIS MIKROKONTROLLER AT89S51
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan,
PENGHARGAAN
Puji dan syukur penukis ucapkan kekhadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta karunia sehingga skripsi ini berhasil penulis selesaikan dalam waktu yang telah ditetapkan. Dimana skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara. Shalawat beriring salam penulis hadiahkan ke Nabi besar Muhammad SAW.
Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada Bapak Dr. Poltak Sihombing, M.Kom selaku pembimbing I dan Bapak Drs. Dahlan Sitompul, M.Eng selaku pembimbing II yang telah memberikan bimbingan, kritik dan saran yang membangun untuk menyempurkan kajian penelitian ini serta panduan ringkas, dan padat telah diberikan kepada penulis untuk menyelesakan skripsi ini. Selanjutnya kepada para dosen penguji Bapak Dr. Marhaposan Situmorang selaku pembanding I dan Bapak Handrizal S,Si, M.Comp, Sc selaku pembanding II atas kritikan dan saran yang sangat berguna untuk skripsi ini. Ucapan terima kasih juga penulis tujukan kepada jajaran dosen dan staf karyawan ILKOM.
Penulis juga ucapakan terima kasih yang sedalam-dalamnya kepada Ayahanda (Drs.H.M Nurdin) dan Ibunda (Hj. Lili Yuliana), serta kakak dan adik-adik yang selalu memberikan doa, motivasi dan dukungannya baik materi maupun spiritual serta semangat yang diberikan selama kuliah dan menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, karena kesempurnaan hanya milik Allah SWT. Oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga bermanfaat bagi kita semuanya. Akhir kata penulis mengucapkan terima kasih sebanyak-banyaknya.
Medan, Januari 2015
ABSTRAK
Pengukuran volume minyak pada tanki diesel biasanya dilakukan secara manual yaitu dengan cara melihat ketinggian minyak secara langsung ke tanki penampung yang tertulis pada dinding tanki atau dengan media tongkat sebagai meteran yang dimasukkan kedalam tanki untuk melihat ketinggian permukaan minyak dan untuk laporan masih dicatat secara manual dengan menggunakan buku laporan harian. Namun metode ini tidak efisien karena hal tersebut sering menimbulkan permasalahan bagi petugas operasional pabrik bahan bakar dilapangan untuk mengawasi pengukuran secara langsung dengan jumlah tanki yang lebih banyak akibatnya sering terjadi hal yang merugikan seperti meluapnya minyak dari tanki penampung akibat kurangnya ketelitian pengukuran. Pada penelitian ini penulis membuat suatu alat yang dapat mengukur volume minyak pada tanki diesel melalui kontrol pompa otomatis dengan menggunakan sensor ping sebagai alat ukur dan mikrokontroler sebagai pusat pengendali, kemudian hasilnya akan ditampilakan pada komputer serta data hasil pengukuran disimpan dalam database. Pada penelitian ini alat sudah mampu mengukur volume minyak pada tanki disel dengan persen kesalahan 0.44 %.
ABSTRACT
SIMULATION OF AUTOMATION SYSTEM FOR MEASUREMENT OF VOLUME OIL PUMP IN DIESEL TANK BY USING THE SENSOR
ULTRASONIC PING))) PARALLAX BASED MICROCONTROLLER AT89S51
The measurement the volume of oil in the diesel tank is usually done manually, by looking at an altitude of oil directly to the storage tanks are inscribed on the walls of the tank or the media as a meter stick that is inserted into the tank to see the height of the oil surface and to report still recorded manually by using daily report book. But this method is not efficient because it often causes problems for plant operations personnel to monitor fuel field measurements directly with the number of tanks which consequently more frequent adverse things like overflow of oil from storage tanks due to lack of measurement accuracy. In this study, the authors make a device that can measure the volume of oil in the diesel tank with automatic pump control using ping as a measurement sensor and a microcontroller as the central controller, then the results will be displayed on the computer as well as the measurement result data stored within the database. In this research, the tools are able to measure the volume of oil in the diesel tank with 0,51% error.
DAFTAR ISI
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 4
BAB 2 LANDASAN TEORI 6
2.1 Pengukuran 6
2.2 Gelombang Ultrasonik 7
2.3 Perangkat Keras (Hardware) 7
2.3.2.2.2 Timer/Counter 17
2.4 Perangkat Lunak (Software) Sistem 24
2.4.1 Bahasa Assembly 24
2.4.2 Software 8051 Editor, Assembler, Simulator (IDE) 28
2.4.3 Software Downloader 29
2.4.4 Visual Basic 6.0 30
2.4.4.1 Konsep Dasar Pemrograman Dalam Visual Basic 6.0 31
2.5 Bagan Alir Sistem (System Flowchart) 31
2.5.1 Data Flow Diagram (DFD) 32
2.5.1.1 Diagram Konteks 33
2.5.1.2 Diagram Nol 33
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 34
3.1 Analisis Permasalahan 34
3.2 Pemecahan Masalah 34
3.3 Perangkat Keras (Hardware) 34
3.3.1 Diagram Blok 34
3.3.2 Perancangan Power Supply 36
3.3.3 Minimum Sistem AT89S51 37
3.3.4 Perancangan Sensor 39
3.3.5 Perancangan Koneksi Serial RS232 40
3.3.6 Perancangan Relay 41
3.4 Perancangan Software 42
3.4.1 Perancangan Permodelan Sistem dengan Use Case Diagram 43 3.4.2 Perancangan Data Flow Diagram (DFD) 46
3.4.2.1 Data Flow Diagram Level 0 47
3.4.3 Perancangan Antar Muka (Interface) 48
3.4.3.1 Rancangan Menu Utama 48
3.4.3.2 Rancangan Form Koneksi Port 49
3.4.3.3 Rancangan Form Hasil Pengukuran Acquisition Data 50 3.4.3.4 Rancangan Form Tentang (About) 51
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 51
4.1 Pengujian Perangkat Keras (Hardware) 51
4.1.1 Pengujian Mikrokontroler AT89S51 51
4.1.2 Pengujian Sensor Ultrasonik 54
4.1.2.1 Analisis Ketelitian Alat 58
4.1.3 Pengujian Power Supply 60
4.2 Pengujian Perangkat Lunak 60
4.2.1 Spesifikasi Kebutuhan Perangkat Keras (Hardware) 61 4.2.2 Spesifikasi Kebutuhan Perangkat Lunak (Software) 61
4.2.3 Tampilan Interface Sistem 61
4.2.3.1 Tampilam Menu Utama 62
4.2.3.2 Tampilan Form Koneksi Port Serial 62 4.2.3.3 Tampilan Hasil Pengukuran Acquisition Data 63
4.2.3.4 Tampilan About 64
4.3 Hasil Implementasi dan Pengujian 64
4.3.1 Hasil Pengujian Keseluruhan Sistem dan Alat 64
BAB 5 KESIMPULAN DAN SARAN 65
5.1 Kesimpulan 65
5.2 Saran 65
DAFTAR TABEL
Hal.
Tabel 2.1 Fungsi Pin DB9 dan Pin DB25 19
Tabel 2.2 Simbol –simbol Flowchart Program 32
Tabel 2.3 Simbol-simbol DFD 33
Tabel 3.1 Data Eksekusi Program Dalam Satu Siklus 38 Tabel 3.2 Dokumentasi Naratif Use Case Sistem Akuisisi Data
Pengukuran Volume Minyak 45
Tabel 4.1 Hasil Data bit Aktual Dari Jarak Sensor 300cm – 274cm 56
Tabel 4.2 Hasil Analisa ketelitian alat 59
DAFTAR GAMBAR
Hal. Gambar 2.1 Pembagian Rentang Frekuensi Gelombang Akustik 7
Gambar 2.2 Sensor Ultrasonic PING))) 9
Gambar 2.3 Prinsip Kerja Sensor Ultrasonic 11
Gambar 2.4 Diagram Waktu Sensor Ultrasonic PING))) 12 Gambar 2.5 Jarak Ukur Sensor Ultrasonic PING))) 13 Gambar 2.6 Arsitektur dan Susunan Pin Mikrokontroler AT89S51 14
Gambar 2.7 Susunan Pin DB9 21
Gambar 2.8 Skema Diagram Dan Bentuk Fisik IC-Max232 22
Gambar 2.9 Skema Relay Elektromagnetik 23
Gambar 2.10 Motor Pendorong (Pompa) 24
Gambar 2.11 Editor, Assembler, Simulator (IDE) 28
Gambar 2.12 Tampilan Software Downloader 29
Gambar 2.13 Interface Antar Muka Visual Basic 6.0 30
Gambar 3.1 Diagram Blok Rangkaian 35
Gambar 3.2 Rangkaian Sistem Power Supply 36
Gambar 3.3 Rangkaian Minimum Sistem Mikrokontroler AT89S51 37
Gambar 3.4 Sensor Ultrasonic PING))) 39
Gambar 3.5 Driver Sensor Ultrasonic PING))) 40
Gambar 3.6 Susunan PIN DB9 41
Gambar 3.7 Skema Relay 41
Gambar 3.8 Diagram Alir Sistem 42
Gambar 3.9 Use Case Diagram Aplikasi 44
Gambar 3.10 Activity diagram sistem akuisisi data pengukuran volume minyak 46 Gambar 3.11 DFD Level 0 Proses Sistem Pengukuran Voolume Minyak 47 Gambar 3.12 DFD Level 1 Proses Tampilan Data Volume Minyak
Dan Database 47
Gambar 3.13 Rancangan Tampilan Utama 48
Gambar 3.14 Rancangan Form Koneksi Port 49
Gambar 3.15 Rancangan Form Acquisition Data 50
Gambar 4.1 Pengujian Rangkaian Mikrokontroler AT89S51 52 Gambar 4.2 Rangkaian Pengujian Sensor Ultrasonik 54
Gambar 4.3 Grafik Data Teori vs Jarak 57
Gambar 4.4 Grafik Data Aktual Praktek vs Teori 58
Gambar 4.5 Tampilan Menu Utama 62
Gambar 4.6 Tampilan Form Menu Koneksi Port 63
Gambar 4.7 Tampilan Form Menu Acquisition Data 63
Gambar 4.8 Tampilan Menu About 64
DAFTAR LAMPIRAN
ABSTRAK
Pengukuran volume minyak pada tanki diesel biasanya dilakukan secara manual yaitu dengan cara melihat ketinggian minyak secara langsung ke tanki penampung yang tertulis pada dinding tanki atau dengan media tongkat sebagai meteran yang dimasukkan kedalam tanki untuk melihat ketinggian permukaan minyak dan untuk laporan masih dicatat secara manual dengan menggunakan buku laporan harian. Namun metode ini tidak efisien karena hal tersebut sering menimbulkan permasalahan bagi petugas operasional pabrik bahan bakar dilapangan untuk mengawasi pengukuran secara langsung dengan jumlah tanki yang lebih banyak akibatnya sering terjadi hal yang merugikan seperti meluapnya minyak dari tanki penampung akibat kurangnya ketelitian pengukuran. Pada penelitian ini penulis membuat suatu alat yang dapat mengukur volume minyak pada tanki diesel melalui kontrol pompa otomatis dengan menggunakan sensor ping sebagai alat ukur dan mikrokontroler sebagai pusat pengendali, kemudian hasilnya akan ditampilakan pada komputer serta data hasil pengukuran disimpan dalam database. Pada penelitian ini alat sudah mampu mengukur volume minyak pada tanki disel dengan persen kesalahan 0.44 %.
ABSTRACT
SIMULATION OF AUTOMATION SYSTEM FOR MEASUREMENT OF VOLUME OIL PUMP IN DIESEL TANK BY USING THE SENSOR
ULTRASONIC PING))) PARALLAX BASED MICROCONTROLLER AT89S51
The measurement the volume of oil in the diesel tank is usually done manually, by looking at an altitude of oil directly to the storage tanks are inscribed on the walls of the tank or the media as a meter stick that is inserted into the tank to see the height of the oil surface and to report still recorded manually by using daily report book. But this method is not efficient because it often causes problems for plant operations personnel to monitor fuel field measurements directly with the number of tanks which consequently more frequent adverse things like overflow of oil from storage tanks due to lack of measurement accuracy. In this study, the authors make a device that can measure the volume of oil in the diesel tank with automatic pump control using ping as a measurement sensor and a microcontroller as the central controller, then the results will be displayed on the computer as well as the measurement result data stored within the database. In this research, the tools are able to measure the volume of oil in the diesel tank with 0,51% error.
BAB 1
PENDAHULUAN
2.1 Latar Belakang
Pengendalian dengan pengukuran didalam operasional pabrik bahan bakar minyak secara konvensional memiliki banyak keterbatasan terutama menyangkut masalah mutu dan efisiensi. Pengontrolan yang dilakukan oleh petugas setiap pengisian minyak pada tanki diesel harus memonitoring dan mencatat setiap ketinggian minyak yang tertampung di tangki. Namun untuk pengukuran, petugas masih melakukan tugasnya secara manual dengan cara melihat ketinggian minyak pada tangki dengan melihat langsung ke bak ukur yang tertulis pada dinding tangki dan tidak jarang menggunakan tiang sebagai meteran yang dimasukkan ke tanki untuk mengukura ketinggian permukan minyak , dalam pencatatan sebagai laporan masih dicatat secara manual dengan menggunakan buku laporan harian.
Sistem operasional dalam pengukuran volume dan tinggi permukaan minyak pada tanki diesel secara manual diatas tidaklah efisien, hal tersebut sering menimbulkan permasalahan bagi petugas dilapangan yang jumlahnya terbatas untuk mengawasi dengan jumlah tangki yang lebih banyak dari petugas, sebab dengan sistem manual tersebut bisa menimbulkan cukup masalah serta produksi terganggu, nilai kerugianpun akan muncul, untuk itu perlu dipilih teknologi yang tepat, mudah dan berdayaguna dalam operasional.
Dari keterangan dan kendala di atas, maka dirancang perangkat teknologi otomasi untuk membantu meringankan kinerja bagi petugas untuk pengontrolan debit minyak agar mempermudah operasional pabrik bahan bakar minyak terutama dalam otomasi pompa pengukuran volume dan tinggi permukaan minyak agar tidak terjadi kendala yang dapat merugikan.
ultrasonik sebagai alat untuk mendeteksi dan mengukur penggunaan volume dan tinggi permukaan minyak yang berada di dalam tanki sehingga didapatlah besaran-besaran parameter tersebut secara real time dari keluaran sensor. Berdasarkan dari kebutuhan real time ini didapatlah data akurat yang selanjutnya mengirimkan informasi secara tepat dan berkelanjutan pada pusat sistem.
Dengan adanya sistem ini diharapkan dapat menginformasikan volume penggunaan minyak. Sehingga sistem mampu mengoptimalkan penggunaan minyak dengan tepat guna dan mengurangi kerugian – kerugian yang ada dalam pengisian dan penggunaan minyak.
2.2 Rumusan Masalah
Berdasarkan uraian pada latar belakang di atas, masalah dirumuskan adalah bagaimana membuat suatu alat yang dapat mengukur penggunaan volume dan tinggi permukaan minyak dalam tanki diesel dengan pengisian minyak melalui kontrol pompa otomatis sehingga dapat menggantikan kinerja alat otomatis yang sudah ada sebelumnya.
2.3 Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah :
1. Hanya membahas mengenai otomasi pompa untuk pengukuran volume dan tinggi permukaan minyak pada tanki diesel.
2. Hasil pengukuran yang disimpan ke database adalah hasil volume permukaan minyak yang terpakai yaitu pada saat pompa mati (off).
3. Pada percobaan ini untuk pengukuran volume minyak dihitung berdasarkan range yang sudah ditentukan.
5. Alat dapat mengukur volume dan tinggi permukaan semua jenis larutan, pada pembahasan minyak sebagai parameter pengukuran dan air sebagai media simulasi.
6. Sensor yang digunakan untuk mengukur volume permukaan minyak adalah sensor ultrasonic PING)))buatan PARALLAX.
7. Mikrokontroler yang digunakan pada alat ini jenis MCS-51 tipe AT89S51. 8. Bahasa pemrograman yang digunakan adalah bahasa assembly untuk
mikrokontroler dan visual basic 6.0 untuk interface pada PC.
2.4 Tujuan Penelitian
Merancang suatu alat yang dapat dioperasikan untuk mematikan dan menghidupkan pompa minyak secara otomatis dan mengukur penggunaan volume dan tinggi permukaan minyak yang sudah diukur berdasarkan ruang yang kosong pada tanki (terpakai) dan ruang yang terisi pada tanki (tersisa), serta melakukan pengiriman data menggunakan RS232 dan menampilkan hasilnya pada PC sehingga data penggunaan volume dan tinggi permukaan minyak lebih akurat.
2.5 Manfaat Penelitian
Manfaat penelitian ini adalah sebagai berikut:
1. Mempermudah pemantauan volume dan tinggi permukaan minyak yang sudah diukur berdasarkan ruang yang kosong pada tanki (terpakai) dan ruang yang terisi pada tanki (tersisa).
2. Memberikan data secara akurat dari hasil pengukuran volume permukaan minyak baik dari yang terpakai maupun yang tersisa.
3. Pengisian minyak pada tanki diesel dilakukan secara otomatis sesuai dengan batas maksimum dan minimum dari permukaan minyak pada tanki yang telah ditentukan.
2.6 Metodologi Penelitian
Untuk mempermudah pemahaman serta pembahasan bagaimana sebenarnya sistem kerja dari simulasi sistem otomasi pompa minyak pada tanki diesel dengan menggunakan sensor PING))) parallax berbasis mikrokontroller AT89S51, maka sistematika metodologi penelitian skripsi ini adalah sebagai berikut:
1. Studi Literatur
Melakukan studi kepustakaan melalui hasil penelitian berupa buku, jurnal, dan artikel – artikel yang terkait, serta mempelajari lebih dalam teori – teori tentang sensor dan mikrokontroler.
2. Pengumpulan Data
Dalam tahapan selanjutnya adalah pengumpulan data yang valid dalam mengukur volume minyak. Minyak sebagai parameter pengumpulan data.
3. Analisis dan Perancangan Sistem
Melakukan analisis terhadap permasalahan yang terjadi untuk mendapatkan solusi terbaik untuk permasalahan tersebut dan membuat perencanaan struktur rangkaian dasar seperti blok diagram, flowchart dan sistematis untuk rangkaian alat.
4. Pengujian Sistem
Pada tahapan ini akan dilakukan pengujian sistem secara keseluruhan baik dari perangkat keras maupun dari perangkat lunak untuk melihat apakah sistem sudah sesuai dengan perancangan.
2.7 Sistematika Penulisan
Susunan penulisan Tugas Akhir ini disajikan dalam beberapa bab, yaitu:
BAB 1 : PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja rangkaian. Teori pendukung yang di bahas antara lain: sensor Ping))), Mikrokontroler, bahasa pemograman yang digunakan, serta karakteristik dari komponen-komponen pendukung.
BAB 3 : PERANCANGAN ALAT DAN PROGRAM
Pada bagian ini akan dibahas sistem perancangan alat yaitu: diagram blok rangkaian, flowchart (diagram alir) dari rangkaian, skematik dari masing-masing sub rangkaian, serta program yang akan diisikan ke mikrokontroller AT89S51.
BAB 4 : PENGUJIAN DAN ANALISA
Dalam bab ini akan dibahas tentang hasil pengujian dan analisa dari alat untuk membuktikan kebenaran dari alat yang dibuat.
BAB 5 : PENUTUP
BAB 2
LANDASAN TEORI
2.1. Pengukuran
Pengukuran volume dan tinggi permukaan minyak sangat berguna untuk diterapkan diberbagai bidang disiplin ilmu lainnya dalam kehidupan setiap hari. Dalam segi pengukuran dan pemantauan yang dilakukan secara manual oleh manusia memiliki keterbatasan. Maka perlu dilakukan perancangan dan realisasi sistem pengukuran volume permukaan minyak dikarenakan untuk mendapatkan perbandingan terhadap suatu keadaan. Salah satu contohnya yaitu mengukur volume dan tinggi permukaan minyak pada tanki diesel sehingga didapat suatu definisi tertentu dari keadaan yang diukur yaitu berapa banyak minyak terpakai dan yang tersisa pada tanki tersebut.
Dilihat dari tinjauan tujuan pengukuran, setidaknya dapat memenuhi tiga aspek diantaranya yaitu :
1. Ketelitian (presision)
Ketelitian alat menyatakan derajat kepastian hasil pengukuran. Suatu alat ukur dikatakan memiliki tingkat ketelitian yang tinggi jika dilakukan pengukuran beberapa kali, dimana nilai yang didapat mendekati sama atau konstan terhadap besaran acuan.
2. Ketepatan (Akurasi)
Akurasi adalah kesesuaian antara hasil pengukuran dengan nilai yang sebenarnya (standar). Dengan kata lain suatu alat ukur harus memiliki kehandalan terhadap ketepatan nilai hasil pengukuran.
3. Sensitivitas (kepekaan)
2.2 Gelombang Ultrasonic
Gelombang ultrasonik merupakan gelombang suara yang memiliki frekuensi mulai 20KHz–20MHz. Frekuensi kerja yang digunakan dalam gelombang ultrasonik bervariasi tergantung pada medium yang dilalui, mulai dari kerapatan rendah pada fasa gas, cair hingga padat.
Gambar 2.1 Pembagian Rentang Frekuensi Gelombang Suara[11]
Gelombang ultrasonik merupakan gelombang mekanik dengan frekuensi diatas 20 kHz sehingga tidak terdengar oleh telinga manusia. Gelombang ini banyak dimanfaatkan dalam bidang dunia industri, maritim, dan kedokteran. Dalam dunia industri sering dijumpai pengukuran ketinggian atau sound test untuk melihat retakan pada material, sedangkan didunia kedokteran gelombang ultrasonik digunakan sebagai ultrasonografi pada alat USG.
2.3 Perangkat Keras (Hardware)
Hardware merupakan perangkat fisik dari sebuah sistem sehingga dapat dilihat oleh mata. Hardware yang dibuat dapat dikelompokkan menjadi dua bagian yaitu:
1. Bagian Mekanis
dieksekusi melaui sensor ultrasonic yang di dapat dari hasil ukur jarak objek terhadap sensor menurut ukuran yang telah ditetapkan sebelumnya.
2. Bagian Elektronis
Bagian elektronis terbuat dari komponen-komponen elektronika yang dirangkai sedemikian rupa sehingga bisa mendukung kinerja mekanis. Bagian elektronis terdiri dari dua bagian penting yaitu:
a. Sensor
b. Pengendali mikro atau mikrokontroler
2.3.1 Sensor
Sensor adalah suatu variabel yang digunakan untuk mengubah besaran fisik menjadi tegangan dan arus listrik. Sensor sering digunakan untuk mendeteksi pada saat melakukan pengukuran atau pengendalian.[10]
Adapun jenis-jenis dari sensor diantaranya: 1. Sensor Suhu
Sensor suhu merupakan sebuah sensor yang digunakan untuk mengubah besaran panas menjadi besaran listrik yang dapat dianalisis besarnya. Komponen elektronika untuk keperluan pengukuran suhu yang paling mudah ditemukan adalah Negative Temperature Coefficient (NTC) dan Positive Temperature Coefficient (PTC). Keduanya adalah resistor yang hambatannya dapat berubah sesuai dengan suhu di sekitarnya. Hambatan NTC akan turun apabila suhu di sekitarnya naik, sedangkan hambatan PTC akan naik apabila suhu di sekitarnya naik.
2. Sensor Mekanik
Sensor mekanis digunakan untuk mendeteksi posisi, pergerakan, kecepatan, atau tekanan pada suatu benda. Contohnya adalah strain gauge dan bourdon tube (untur mengukur tekanan) potensiometer (untuk mengukur sudut putaran), dan load cell (untuk mengukur gaya).
3. Sensor Cahaya atau Optik
Sensor cahaya merupakan suatu sensor yang digunakan untuk mengubah besaran cahaya menjadi besaran listrik. Sensor cahaya yang paling mudah ditemukan dan digunakan adalah Light Dependent Resistor (LDR), yakni resistor khusus yang nilai hambatannya dapat berubah sesuai dengan intensitas cahaya. Jika cahaya makin terang (intensitas cahaya naik), nilai hambatan LDR mengecil. Sebaliknya, bila intensitas cahayanya berkurang, nilai hambatan LDR akan membesar.
4. Sensor Jarak
Sensor jarak adalah sebuah sensor yang mampu mendeteksi keberadaan benda di dekatnya tanpa kontak fisik. Sensor jarak sering memancarkan elektromagnetik atau berkas radiasi elektromagnetik (inframerah, misalnya), dan mencari perubahan dalam bidang atau sinyal kembali. Salah satunya adalah sensor Ultrasonic PING))) buatan PARALLAX.
2.3.1.1 Sensor ultrasonic PING))) parallax
Sensor PING))) merupakan sensor ultrasonic yang dapat mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonic dengan frekuensi 40 KHz dan kemudian mendeteksi pantulannya. Tampilan sensor jarak PING))) ditunjukkan pada gambar 2.2.
Gambar 2.2 Sensor Ultasonic PING)))[10] Spesifikasi sensor:[10]
2. Input trigger – positive TTL pulse, 2 uS min., 5 uS tipikal. 3. Echo hold off 750 uS dari fall of trigger pulse.
4. Delay before next measurement 200 uS.
Burst indicator LED menampilkan aktifitas sensor. Sensor ini dapat mengukur jarak antara 3 cm sampai 300 cm. Keluaran dari sensor ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai 18,5 mS. Pada dasanya, PING))) terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonic dan sebuah mikropon ultrasonic. Speaker ultrasonic mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonic berfungsi untuk mendeteksi pantulan suaranya. Sensor ultrasonic memiliki 3 kaki (pin) yang berfungsi sebagai berikut: [10]
1. Pin Ground 2. Pin Supply
3. Pin Input dan Output
Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. PING))) hanya akan mengirimkan suara ultrasonic ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5 uS). Suara ultrasonic dengan frekuensi sebesar 40 KHz akan dipancarkan selama 200 uS. Suara ini akan merambat di udara dengan kecepatan 344 m/detik, mengenai objek untuk kemudian terpantul kembali ke PING))). Selama menunggu pantulan, PING))) akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh PING))). Oleh karena itu lebar pulsa tersebut dapat merepresentasikan jarak antara PING))) dengan objek. [10]
2.3.1.2 Prinsip kerja sensor ultrasonic PING)))
Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda di depannya (bidang pantul). Prinsip kerja dari sensor ultrasonic dapat ditunjukkan dalam gambar 2.3 berikut.
Gambar 2.3 Prinsip Kerja Sensor Ultrasonic [11]
Prinsip kerja dari sensor ultrasonic adalah sebagai berikut[10]:
1. Sinyal dipancarkan oleh pemancar ultrasonic. Sinyal tersebut berfrekuensi diatas 20 kHz, biasanya yang digunakan untuk mengukur jarak benda adalah 40 kHz. Sinyal tersebut di pancarkan oleh rangkaian pemancar ultrasonic.
2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal/gelombang bunyi dengan kecepatan bunyi yang berkisar 344 m/s. Sinyal tersebut kemudian akan dipantulkan dan akan diterima kembali oleh bagian penerima Ultrasonic.
3. Setelah sinyal tersebut sampai di penerima ultrasonic, kemudian sinyal tersebut akan diproses untuk menghitung jaraknya. Jarak dihitung berdasarkan rumus:
... (1) Dimana:
S = Jarak pantulan (m)
Dari rumus tersebut maka dapat dihitung berapa lama waktu yang dibutuhkan untuk jarak tiap 1 cm yaitu:
Maka didapat setiap 1 cm gelombang ultrasonik akan membutuhkan waktu tempuh (t) yaitu sebesar . Sehingga untuk menentukan jarak objek dari sensor dapat dihitung dengan membandingkan waktu pantulan (tp) dengan waktu per cm (t) lalu
dikalikan dengan 1 cm.
Gambar 2.4 Diagram waktu sensor PING)))[11]
hight pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa Hight (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek. Maka jarak yang diukur adalah :
...(2)
Gambar 2.5 Jarak Ukur Sensor PING)))[10]
2.3.2 Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output.
2.3.2.1 Arsitektur dan susunan pin mikrokontroler AT89S51
Mikrokontroler AT89S51 adalah mikrokontroler keluaran ATMEL.Inc. Mikrokontroler ini kompatibel dengan keluaran mikrokontroler 80C51. Mikrokontroler AT89S51 terdiri dari 40 pin dan sudah memiliki memori flash di dalamnya, sehingga sangat praktis untuk digunakan. Berikut diagram blok AT89S51 secara umum terdapat 4 port untuk I/O serta tersedianya akumulator, RAM, Stac pointer, ALU, pengunci (latch) dan rangkaian osilasi[3].
Gambar 2.6 Arsitektur dan Susunan Pin Mikrokontroler AT89S51[3]
Beberapa kemampuan (fitur) yang dimiliki mikrokontroler AT89S51 adalah sebagai berikut :[3]
1. Memiliki 4K FlashErasable Programmable Read Only Memory (EPROM) yang digunakan untuk menyimpan program.
Flash Erasable Programmable Read Only Memory (EPROM) dapat ditulis dan dihapus sebanyak 1000 kali (menurut manual).
Random Access Memory (RAM), suatu memori yang datanya akan hilang bila catu padam, diakses secara random, tidak sekuensial, artinya dialamat mana saja dapat dicapai secara langsung dengan cepat.
3. 4 buah 8-bit I/O (Input/Output) port
Port ini berfungsi sebagai terminal input dan output. Selain itu, dapat digunakan sebagai terminal komunikasi paralel, serta komunikasi serial (pin10 dan 11). 4. Dua buah timer/counter 16 bit.
5. Operasi clock dari 0 hingga 24 MHz
6. Program bisa diproteksi, sehingga tidak dapat dibaca oleh orang lain. 7. Menangani 6 sumber interupsi.
Keterangan fungsi dari masing-masing pin adalah sebagai berikut : 1. Pin 40 Vcc, Masukan catu daya +5 volt DC
2. Pin 20 Gnd, Masukan catu daya 0 volt DC
3. Pin 32-39 P0.0-P0.7, Port input/output delapan bit dua arah yang juga dapat berfungsi sebagai bus data dan bus alamat bila mikrokontroler menggunakan memori luar (eksternal).
4. Pin 1-8 P1.0-P1.7, Port input/output dua arah delapan bit dengan internal pull up. 5. Pin 10-17 P3.0-P3.7Port input/output delapan bit dua arah, selain itu Port 3 juga
memiliki alternativef fungsi sebagai : 6. RXD (pin 10) Port komunikasi input serial 7. TXD (pin 11) Port komuikasi output serial
8. INT0 (pin 12) Saluran Interupsi eksternal 0 (aktif rendah) 9. INT1 (pin 13) Saluran Interupsi eksternal 1 (aktif rendah)
12.WR(pin 16) Berfungsi sebagai sinyal kendali tulis, saat prosesor akan menulis data ke memori I/O luar.
13.RD (pin 17) Berfungsi sebagai sinyal kendali baca, saat prosesor akan membaca data dari memori I/O luar.
14.Pin 9 RESET, Pin yang berfungsi untuk mereset mikrokontroller AT89S51 ke keadaan awal.
15.Pin 30 ALE (Address Latch Enable), berfungsi menahan sementara alamat byte rendah pada proses pengalamatan ke memori eksternal.
16.Pin 29 PSEN (Program Store Enable), Sinyal pengontrol yang berfungsi untuk membaca program dari memori eksternal.
17.Pin 31 EA, Pin untuk pilihan program, menggunakan program internal atau
eksternal. Bila „0‟, maka digunakan program eksternal.
18.Pin 19 X1, Masukan ke rangkaian osilator internal. Sumber osilator eksternal atau quartz crystal kristal dapat digunakan.
19.Pin 18 X2, Masukan ke rangkaian osilator internal, koneksi quartz crystal atau tidak dikoneksikan apabila digunakan eksternal osilator.
2.3.2.1.1 Spesifikasi mikrokontroler AT89S51
Untuk mendukung fungsi pengendalian, mikrokontroler AT89S51 memiliki spesifikasi yaitu:
1. Tegangan kerja 4 – 5.0V.
2. Bekerja dengan rentang 0 – 33MHz. 3. 256x8 bit RAM internal.
7. Saluran full dupleks serial UART yang dapat digunakan sebagai media transfer data serial atau pun parallel ke PC.
8. Dua data pointer.
2.3.2.2 Struktur pengoperasian port Struktur pengendalian port terdiri dari: 2.3.2.2.1 Port input/output
One chip mikrokontroler ini memiliki 32 jalur port yang dibagi menjadi 4 buah port 8 bit. Masing-masing port ini bersifat bidirectional sehingga dapat digunakan sebagai input port atau output port. Pada blok diagram AT89C51 dapat dilihat latch tiap bit pada keempat port : port 0, port 1, port 2, port 3. Masing-masing jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port 2 dapat digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data, sedangkan port 2 sebagai saluran data dan alamat sekaligus yang dimultipleks. Untuk mengakses memory eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal yang dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port 2 mengeluarkan bagian atas memory eksternal sehingga total alamat semuanya 16 bit.
Latch yang digunakan dapat dipresentasikan dengan D-FlipFlop. Data dari bus internal di-latch saat CPU memberi sinyal tulis ke latch dan output latch diberikan ke bus internal sebagai respon dari sinyal baca pin dari CPU. Beberapa instruksi yang berfungsi membaca port mengaktifkan sinyal baca latch dan yang lain mengaktifkan sinyal baca pin. Port 1, port 2, dan port 3 mempunyai pull-up internal, sedangkan port 0 dengan open drain. Masing-masing jalur I/O dapat digunakan sebagai input atau output. Bila digunakan sebagai input, port latch harus 1. Untuk port 1, 2 dan 3, pin-pin akan di pull-up tinggi oleh pull-up internal, dan bisa juga di pull-up rendah dengan sumber eksternal.
2.3.2.2.2 Timer/Counter
ditambah 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi register akan bertambah 1 setiap ada transisi sinyal pada pin input eksternal.
Pada pemanfaatan sebagai counter, sinyal input yang dimaksudkan dapat berupa low level atau falling edge trigger. Counter akan mencacah setiap masukan yang ada sesuai inisialisasi harga awal dari counter pada nilai hitungan untuk tiap sampling. Inisialisasi harga awal ini berupa nilai preset negatif counter yang diatur sebelum counter dijalankan.
Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi awal berupa konstanta waktu yang menentukan sampai berapa lama akan terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi clock dari sistem penentu waktu sampling dari counter untuk mencacah suatu pulsa masukan dari luar dengan memanfaatkan kontrol interupsi yang ada serta pengaturan program. Sebagai tambahan pada pemilihan countr/timer, timer 0 dan timer 1 mempunyai 4 buah modul yang dapat dipilih dengan menentukan pasangan bit M0 dan M1 pada register TMOD. Untuk pemilihan timer/counter dikontrol dengan bit C/T di TMOD.
Mode 0 Pada mode ini timer register dikonfigurasikan sebagai register 13 bit. Ke-13 bit register tersebut terdiri dari 8 bit TH1 dan 5 bit TL1. Selama perhitungan roll over dari semua 1 ke semua 0, TF1 (Timer Interrupt Flag) di set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer .
Mode 1 Mode 1 adalah timer register 16 bit dan dapat generator boudrate. Operasi mode 1 sama dengan mode 0.
Mode 2 Mode 2 adalah timer register dengan konfigurasi 8 bit counter (TL1) auto reload. Overflow dari TL1 tidak hanya menset TF1 tapi juga mereload TL1 dengan isi TH1. Setelah reload isi TH1 tidak akan berubah. Operasi mode ini juga sama dengan timer/counter 0.
2.3.3 Komunikasi Serial RS232
RS232 adalah standar komunikasi serial yang digunakan untuk koneksi periperal ke periperal. Biasa juga disebut dengan jalur I/O. Contohnya adalah koneksi antara komputer dengan modem, atau komputer dengan mouse bahkan bisa juga antara komputer dengan komputer, semua biasanya dihubungkan lewat jalur port serial RS232.
Standar ini menggunakan beberapa piranti dalam implementasinya. Paling umum yang dipakai adalah plug/konektor DB9 atau DB25. Untuk RS232 dengan konektor DB9, biasanya dipakai untuk mouse, modem, kasir register dan lain sebagainya, sedang yang konektor DB25, biasanya dipakai untuk joystik game.
Standar RS232 ditetapkan oleh Electronic Industry Association (EIA) dan Telecomunication Industry Association (TIA) pada tahun 1962. Nama lengkapnya adalah EIA/TIA-232 Interface Between Data Terminal Equipment dan Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange.
Fungsi dari serial port RS232 adalah untuk menghubungkan/koneksi dari perangkat yang satu dengan perangkat yang lain, atau peralatan standar yang menyangkut komunikasi data antara komputer dengan alat-alat pelengkap komputer. Perangkat lainnya itu seperti modem, mouse, cash register dan lain sebagainya. Serial port RS232 pada konektor DB9 memiliki pin 9 buah dan pada konektor DB25 memiliki pin 25 buah. Adapun fungsi dari masing-masing pin seperti pada table 2.1.
Tabel 2.1 Funsi Pin DB9 dan Pin DB25 Pin DB9 Pin DB25 Singkatan Keterangan Fungsi
memberitahukan bahwa perangkat siap melakukan pertukaran data
Pin 6 Pin 6 DSR Data Set
Ready
Memberitahukan UART bahwa perangkat siap melakukan pertukaran data
Ada dua hal pokok yang diatur pada standar RS232 diantaranya adalah: 1. Bentuk sinyal
2. Level tegangan yang dipakai
RS232 dibuat pada tahun 1962, jauh sebelum IC TTL populer, oleh karena itu level tegangan yang ditentukan untuk RS232 tidak ada hubungannya dengan level tegangan Transistor Transistor Logic (TTL).
sering dipakai dalam standard RS232, untuk sinyal yang lengkap dipakai konektor DB25, sedangkan konektor DB9 hanya bisa dipakai untuk 9 sinyal yang umum dipakai seperti gambar 2.7 berikut.
Gambar 2.7 Susunan pin DB9[4].
Sinyal-sinyal tersebut ada yang menuju ke Data Circuit Equipment (DCE) ada juga yang berasal dari DCE. Bagi sinyal yang menuju ke DCE artinya Data Terminal Equiepment (DTE) berfungsi sebagai output dan DCE berfungsi sebagai input, misalnya sinyal Transmitter Data (TD), pada sisi DTE kaki TD adalah output, dan kaki ini dihubungkan ke kaki TD pada DCE yang berfungsi sebagai input. Kebalikan sinyal TD adalah Receive Data (RD), sinyal ini berasal dari DCE dan dihubungkan ke kaki RD pada DTE yang berfungsi sebagai output.
2.3.4 IC-Max232
MAX232 adalah saluran driver/receiver ganda yang termasuk pembangkit tegangan kapasitip yang menyediakan level tegangan RS232 dari sebuah sumber tegangan 5V. Setiap receiver pada IC MAX232 ini mengkonversikan level tegangan RS232 ke level tegangan TTL/CMOS sebesar 5 V. Dan setiap receiver ini mempunyai ambang batas sebesar 1.3 V, dan histeresis sebesar 0.5 V, serta dapat menerima masukan level tegangan ±30 V. Sedangkan untuk setiap driver pada IC MAX232 ini mengkonversikan level tegangan masukan TTL/CMOS menjadi level tegangan RS232[13].
Gambar 2.8 Skema Diagram dan Bentuk Fisik IC MAX232[13]
2.3.5 Relay
pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay elektromekanis ini didefinisikan sebagai berikut:
1. Alat yang menggunakan gaya elektromagnetik untuk menutup (atau membuka) kontak saklar.
2. Saklar yang digerakkan (secara mekanis) oleh daya/energi listrik.
2.3.5.1 Prinsip Kerja Relay dan Simbol
Relay terdiri dari coil dan contact. Coil adalah gulungan kawat yang mendapat arus listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil. Contact ada 2 jenis: Normally Open (kondisi awal sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan close). Secara sederhana berikut ini prinsip kerja dari relay: ketika Coil mendapat energi listrik (energized), akan timbul gaya elektromagnet yang akan menarik armature yang berpegas, dan contact akan menutup seperti yang terlihat pada gambar 2.8 berikut.
Gambar. 2.9 Skema relay elektromagnetik[12]
2.3.6 Motor Pendorong (Pompa)
maksimal pompa mati. Bentuk fisik dari motor pendorong dapat di lihat pada gambar 2.10.
Gambar 2.10. Motor Pendorong (pompa)[8]
2.4 Perangkat Lunak (Software) Sistem
2.4.1 Bahasa assembly
Secara fisik, kerja dari sebuah mikrokontroller dapat dijelaskan sebagai siklus pembacaan intruksi bahasa mesin (Assembly) yang tersimpan di dalam memori. Mikrokontroller menentukan alamat dari memori program yanng akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterpretasikan sebagai intruksi. Alamat intruksi disimpan oleh mikrokontroler di register atau yang sering disebut sebagai program counter. Di sisi lain perbedaan bahasa assembly untuk mikrokontroller yaitu seperti intruksi MOV untuk Byte pada pengalamatan bit dikelompokkan sesuai dengan metode pengalamatan (addressing modes). Mode pengalamatan menjelaskan bagaimana operand dioprasikan. Berikut bentuk program bahasa assembly secara umum:
Mnemonic Operan 1 operan 2 komentar
(opcode)
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan hanya 10 instruksi. Instruksi –instruksi tersebut antara lain:
1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.
Contoh : pengisian nilai secara langsung MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.
Contoh pengisian nilai secara tidak langsung MOV 20h,#80h
... ... MOV R0,20h
Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.
2. Instruksi DJNZ
Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh, MOV R0,#80h
Loop: ... ...
R0 - 1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.
3. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh:
...
ACALL TUNDA ...
TUNDA: ...
4. Instruksi RET
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,
ACALL TUNDA ...
TUNDA: ... RET
5. Instruksi JMP (Jump)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh: Loop:
... ... JMP Loop
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1).
Contoh: Loop:
JB P1.0,Loop ...
7. Instruksi JNB (Jump if Not bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0).
Contoh: Loop:
JNB P1.0,Loop ...
8. Instruksi CJNZ (Compare Jump If Not Equal)
Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu.
Contoh: Loop: ...
CJNE R0,#20h,Loop ...
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya. 9. Instruksi DEC (Decreament)
Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1.
MOV R0,#20h R0 = 20h ...
DEC R0 R0 = R0 – 1 ...
10. Instruksi INC (Increament)
Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1.
Contoh:
MOV R0,#20h R0 = 20h ...
INC R0 R0 = R0 + 1 ...
2.4.2 Software 8051 editor, assembler, simulator (IDE)
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti pada gambar 2.11.
Setelah program selesai ditulis, kemudian di-save dan selanjutnya di-compile. Pada saat di-compile akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi. Software 8051IDE ini berfungsi untuk merubah program yang dibuat di-converter ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat meng-compile program. Bilangan heksadesimal inilah yang akan di-download ke mikrokontroller.
2.4.3 Software downloader
Untuk men-download bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a berupa software open source dandapat didownload dari internet. Tampilannya seperti pada gambar 2.12.
Gambar 2.12 Tampilan software downloader[3]
2.4.4 Visual basic 6.0
Pada projek sistem akuisisi data pada SCADA, Grapic User Interface (GUI) sangat diperlukan sebagai antar muka keluaran data output objek yang dikontrol. Rancang bangun dari interfacing dapat dibangun menggunakan MicrosoftVisualBasic 6.0.
Microsoft Visual Basic merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM). Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis GUI.
VisualBasic 6.0 adalah perkembangan dari versi sebelumnya dengan beberapa penambahan komponen yang sedang tren saat ini, seperti kemampuan pemrograman internet dengan DHTML (Dynamic HyperText Mark Language), dan beberapa penambahan fitur database dan multimedia yang semakin baik. Sampai saat buku ini ditulis bisa dikatakan bahwa Visual Basic 6.0 masih merupakan pilih pertama di dalam membuat program aplikasi yang ada di pasar perangkat lunak nasional. Hal ini disebabkan oleh kemudahan dalam melakukan proses development dari aplikasi yang dibuat. Interface antar muka Visual Basic 6.0, berisi menu, toolbar, toolbox, form, projectexplorer dan property seperti terlihat pada gambar 2.13.
2.4.4.1 Konsep Dasar Pemrograman Dalam Visual Basic 6.0
Konsep dasar pemrograman Visual Basic 6.0, adalah pembuatan form dengan mengikuti aturan pemrograman Properti, Metode dan Event. Keterangan aturan tersebut yaitu:
1. Properti
Setiap komponen di dalam pemrograman Visual Basic dapat diatur propertinya sesuai dengan kebutuhan aplikasi. Property yang tidak boleh dilupakan pada setiap komponen adalah “Name”, yang berarti nama variabel (komponen) yang
akan digunakan dalam scripting. Properti “Name” ini hanya bisa diatur melalui
jendela Property, sedangkan nilai peroperti yang lain bisa diatur melalui script seperti berikut.
Command1.Caption=”Play” Text1.Text=”Visual Basic”
Label1.Visible=False Timer1.Enable=True
2. Metode
Bahwa jalannya program dapat diatur sesuai aplikasi dengan menggunakan metode pemrograman yang diatur sebagai aksi dari setiap komponen. Metode inilah tempat untuk mengekpresikan logika pemrograman dari pembuatan suatu program aplikasi.
3. Event
Setiap komponen dapat beraksi melalui event, seperti event click pada command button yang tertulis dalam layar script Command1_Click, atau event Mouse Down pada picture yang tertulis dengan Picture1_MouseDown. Pengaturan event dalam setiap komponen yang akan menjalankan semua metode yang dibuat.
2.5 Bagan Alir Sistem (System Flowchart)
yang ada dalam sistem serta menunjukkan apa yang ada dalam sistem. Adapun sismbol-simbol dalam flowchart seperti pada table 2.2.
Tabel 2.2 Simbol-simbol flowchart program
Simbol Nama Keterangan Fungsi
TERMINAL Permulaan / akhir suatu proses
GARIS ALIR Arah aliran program
PERSIAPAN Proses inilisasi/pemberian nilai awal suatu besaran
PROSES Proses pengolahan data
INPUT / OUTPUT DATA
proses input/output data, prameter, informasi
PROSES TERDEFENISI
Permulaan sub program/proses menjalankan sub program
KEPUTUSAN Perbandingan pernyataan, seleksi kondisi di dalam program
PENGHUBUNG
Menunjukkan penghubung kehalaman yang sama atau halaman yang berbeda.
2.5.1 Data flow diagram (DFD)
lingkungan fisik di mana data tersebut berada. Adapun simbol-simbol Data Flow Diagram (DFD) dapat dilihat pada tabel 2.3.
Table 2.3 Simbol-simbol DFD
Simbol Nama Fungsi
External Entity
External Entity dapat berupa orang, sekelompok orang, organisasi, dari sistem yang berada lingkungan luarnya yang akan memberikan inputan atau memberikan output dari sistem. Berfungsi untuk menunjukkan arus data yang dapat berupa masukkan untuk sistem
Process (Proses)
Kegiatan atau kerja yang dilakukan oleh orang, organisasi, dimana hasil suatu arus data yang masuk ke dalam keluar dari prioses.
Simpanan data (data store)
Digunakan untuk memodelkan kumpulan data atau paket data. Penyimpanan kadangkala didefinisikan sebagai suatu mekanisme diantara dua proses yang dibatasi oleh jangka waktu tertentu.
Tahapan diagram arus data dibagi dalam beberapa bagian diantaranya: 2.5.1.1 Diagram Konteks
Diagram konteks (context diagram) adalah diagram tingkat atas, merupan diagram dari sebuah sistem yang menggambarkan aliran data yang masuk dan keluar dari sistem dan yang masuk dan keluar dari entitas luar.
2.5.1.2 Diagram Nol
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Permasalahan
Pengukuran volume minyak yang dilakukan oleh petugas pengisian bahan bakar minyak pada tanki diesel masih menggunakan cara manual yaitu dengan memantau secara langsung dengan melihat meteran yang tertulis pada dinding tanki, bagi produksi bahan bakar minyak tidak jarang yang menggunakan tanki diesel yang jumlahnya lebih banyak. Sehingga petugas pengukuran kewalahan dalam mengukur dan mengawasi pengisian minyak yang dilakukan secara manual tersebut, dan menimbulkan cukup masalah dan produksi terganggu serta memberikan nilai kerugian.
3.2 Pemecahan Masalah
Dalam mengatasi masalah pengukuran volume minyak pada tanki diesel diatas, maka diperlukan alat pengukur volume minyak pada tanki diesel secara otomatis dan menampilkan hasil pengukuran berupa volume minyak pada komputer, serta pemasangan sensor untuk mendeteksi ketinggian permukaan minyak. Sehingga diharapkan dapat mengatasi masalah produksi dan mengurangi nilai kerugian.
3.3 Perangkat Keras (Hardware)
3.3.1 Diagram Blok
Sensor
Gambar 3.1 Diagram Blok Rangkaian
Sensor ultrasonik PING))) PARALLAX bekerja dengan mengeluarkan gelombang ultrasonik dan mengenai objek serta mendeteksi pantulannya, maka sensor akan mengeluarkan frekwensi tertentu terhadap besaran jarak tertentu. Disinilah penentu pompa hidup (on) atau mati (off). Jika jarak yang terdeteksi oleh sensor adalah jarak minimum maka pompa hidup (on) untuk pengisian minyak dan jika sensor mendeteksi jarak maksimum maka pompa mati (off) dan relay sebagai switch yang digunakan untuk mengendalikan otomatis pompa. Keluaran data dari sensor akan dimasukkan ke mikrokontroler melalui port input yang terdapat pada mikrokontroler, dan kemudian data tersebut akan diproses untuk ditampilkan ke komputer melalui kabel RS232. Dari sini dapat diketahui hasil volume minyak yang tersisa dan terpakai di dalam tanki diesel, tanpa harus memantau langsung ke lokasi tanki.
Keterangan dari gambar diagam blok: 1) Sensor Ultra Sonik PING)))
2) Mikrokontroler AT89S51
Mikrokontroler digunakan sebagai pengolah data inputan dari sensor dan merupakan otak dari keseluruhan sistem, output dari hasil pengolahan data sensor akan diteruskan ke PC dengan menggunakan serial port RS232.
3) RS232
Melalui RS232 data akan dikirim oleh PC dan diproses, kemudian ditampilakan hasilnya pada monitor atau display.
4) Relay
Berfungsi sebagai saklar otomatis untuk mematikan dan menghidupkan (on/off) pompa.
5) Motor Pendorong (pompa)
Motor yang membantu memindahkan minyak dari keluaran tanki produksi di pindahkan ke tanki diesel.
3.3.2 Perancangan power supply
Gambar rangkaian dan komponen yang digunakan untuk membangun rangkaian minimum system power suplly dapat dilihat pada gambar 3.2.
Gambar 3.2 Rangkaian Sistem Power Suplly[6]
DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan untuk keluaran yang dihasilkan stabil pada 5 volt walaupun terjadi perubahan pada tegangan masukannya, sementara LED hanya berfungsi sebagai indikator apabila PSA diaktifkan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.
3.3.3 Minimum sistem AT89S51
Untuk dapat mengendalikan rangkaian yang mandiri diperlukan device yang dapat menghitung, mengingat dan mengambil pilihan serta digunakan sebagai pemrosesan data. Mikrokontroler sudah cukup menjadi pengelolaan data pada rangkaian digital. Rangkaian minimum sistem dari mikrokontroler AT89S51 ditunjukkan pada gambar3.3.
Gambar 3.3 Rangkaian Minimum Sistem Mikrokontroler AT89S51[3]
kecepatan mikrokontroler AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yang dihubungkan ke port 0 befungsi sebagai pull up (penaik tegangan). Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3.. Pin 20 merupakan ground dihubungkan dengan ground pada power supply. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supply.[3]
Mikrokontroller AT89S51 memerlukan 12 clock untuk mengeksekusi 1 siklus perintah pada rangkaian. Hal ini diakibatkan karena mikrokontroller menggunakkan kristal yang besarnya 12 MHz, sehingga waktu yang dibutuhkan mengeksekusi 1 siklus mesin tersebut membutuhkakn waktu detik. Dari program di atas diperoleh lamanya waktu dari setiap mengeksekusi Mnemonic dapat dilihat pada tabel 3.1 berikut.
Tabel 3.1 Data eksekusi program dalam satu siklus
Mnemonic Siklus Waktu Eksekusi
Mov Rn,#data 2 2 x 1 µd = 2 µd
Sjmp 2 2 x 1 µd = 2 µd
Clr 1 1 x 1 µd = 1 µd
Djnz 2 2 x 1 µd = 2 µd
No Operation (NOP) 1 1 x 1 µd = 1 µd
Ret 1 1 x 1 µd = 1 µd
3.3.4 Perancangan sensor
gelombang dapat terserap atau terbias pada benda-benda yang transparan seperti pada air kaca ataupun minyak. Untuk dapat menempatkan sensor ini, sehingga dapat bekerja secara efisien, maka dapat diperhatikan untuk benda penghalang yang tidak dapat menyerap atau membiaskan gelombang ultrasonik sehingga gelombang dapat terpantul sempurna pada modul receiver sensor.
Output sensor ultrasonik yaitu berupa frekuensi yang mempresentasikan lamanya waktu pantulan yang terjadi dari mulai gelombang dipancarkan hingga diterima pada modul penerima sensor. Pada pin SIG ini akan di sambungkan pada port I/O pada mikrokontroller. Sementara masukan pada pin VCC tegangan untuk dapat mengoprasikan tegangan ini yaitu sebasar 5V yang di dapat dari power supply sebagai sumber tegangan. Pin GND merupakan grounding yang akan disambungkan pada kutub negatif power supply. Secara keseluruhan sensor ultrasonic ini dirancang dapat dilihat pada gambar 3.4.
VCC
To PIN I/O Microkontroller
Gambar 3.4 Sensor Ultrasonik PING)))[11]
Gambar 3.5 Driver sensor ultrasonik ping)))[9]
Pada rangkin driver transistor jenis NPN merupakan drain tegangan yang akan aktif jika diberi tegangan lebih besar dari 0,9V. Mikrokontroler akan men-tringer transistor pada port 1.0 agar menjadi logika low (0) apabila pada transistor diberi logika high (1) pada port 1.1, kemudian akan mengambil data keadaan terakhir hasil pengukuran pada port 1.2. Fungsi resistor pada rangkaian adalah sebagai tahanan arus yang masuk ataupun yang keluar dari sensor, sehingga rangkaian tidak mengalami over current yang dapat merusak sensor dan komponen pendukung.
3.3.5 Perancangan Koneksi Serial RS232
Ada dua hal pokok yang diatur pada standar RS232 diantaranya adalah: 1. Bentuk sinyal
2. Level tegangan yang dipakai
RS232 dibuat pada tahun 1962, jauh sebelum IC TTL populer, oleh karena itu level tegangan yang ditentukan untuk RS232 tidak ada hubungannya dengan level tegangan Transistor Transistor Logic (TTL).
DB25, sedangkan konektor DB9 hanya bisa dipakai untuk 9 sinyal yang umum dipakai seperti Gambar 3.6.
Gambar 3.6 Susunan PIN DB9[4]
3.3.6 Perancangan Relay
Relay terdiri dari coil dan contact. Coil adalah gulungan kawat yang mendapat arus listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil. Contact ada 2 jenis: Normally Open (kondisi awal sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan close). Secara sederhana berikut ini prinsip kerja dari relay: ketika Coil mendapat energi listrik (energized), akan timbul gaya elektromagnet yang akan menarik armature yang berpegas, dan contact akan menutup seperti yang terlihat pada gambar 3.7.
3.4 Perancangan Software
Perangkat lunak yang digunakan pada mikrokontroler AT89S51 menggunakan bahasa pemograman standar yaitu bahasa assembly. Program dibuat dan disesuaikan sehingga dapat berjalan dengan baik. Secara umum flowchart utama program otomasi pengukuran volume minyak menggunakan mikrokontroler dapat dilihat pada gambar 3.8.
Ketika sensor ping))) parallax bekerja, sensor mendeteksi dan mengukur jarak untuk mengambil data, setelah data volume dan tinggi permukaan minyak diterima dari sensor data dikirim melalui port RS232 untuk ditampilkan ke PC. Jika data yang diterima adalah 274 cm data ditampilkan dan pompa hidup (on) jika tidak sensor tetap mengukur jarak sampai data yang didapat oleh sensor adalah 289 cm. Jika data yang diterima sensor adalah 289 data ditampilkan ke pc lalu disimpan ke database dalam rentang waktu per 5 detik dan pompa mati (off), selanjutnya sensor terus mengukur jarak, jika jarak data yang diterima dari sensor adalah lebih kecil atau sama dengan 289 maka program mengeksekusi apakah pompa hidup (on), jika tidak maka data akan disimpan ke database sampai data yang diterima sensor adalah 274 cm. Jika data yang diterima sensor adalah 274 maka pompa hidup (on) dan program mengesekusi apakah pompa hidup, jika ya maka sensor mengukur kembali lagi seperti sebelumnya.
3.4.1 Perancangan permodelan sistem dengan use case diagram
Permodelan sistem berfungsi untuk memperoleh prototipe atau gambaran yang jelas mengenai objek apa saja yang saling berinteraksi dengan sistem dan hal-hal apa saja yang akan dilakukan oleh sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan fungsi dan tujuannya.
Perancangan fungsional perangkat lunak untuk dapat mengakuisisi data pengukuran dari hardware yang dapat dikembangkan dan di modelkan dengan diagram use case. Aktor yang akan berinteraksi dengan sistem adalah pengguna (user) dimana pengguna dikatagorikan sebagai entitas yang melakukan proses akuisisi data pengukuran volume minyak.
Ditinjau dari analisis kebutuhan sistem, beberapa hal yang nantinya harus dilakukan sistem adalah:
1. Melakukan koneksi port akuisisi data untuk menampilkan data hasil perhitungan dari pengukuran volume minyak.
USER
<<US ES>>
<<U
SES >> Mengoneksikan data
Proses Pengukuran volume Minyak
Menampilkan Data Hasil Pengukuran
Volume Minyak
Menyimpan Data Kedalam DataBase
Hasil pengukuran Volume Minyak
SIMULASI SISTEM OTOMASI POMPA UNTUK PENGUKURAN VOLUME MINYAK PADA TANKI DISESL MENGGUNAKAN
SENSOR ULTRASONIK PING))) PARALLAX BERBASIS
MIKROKONTROLLER AT89S51
Gambar 3.9 UseCase Diagram Sistem Aplikasi
Tabel 3.2 Dokumentasi Naratif Use Case Sistem Akuisisi Data Pengukuran Volume Minyak
Nama Use Case
Simulasi Sistem Otomasi Pompa Untuk Pengukuran Volume Minyak pada Tanki Diesel Menggunakan Sensor Ultrasonik PING))) Parallax Berbasis Mikrokontroler AT89S51
Aktor User
Deskripsi
Use Case mendeskripsikan tentang fungsional sistem pengukuran volume minyak kemudian menampilkan data hasil pengukuran tersebut pada user interface lalu menyimpan data tersebut ke dalam database
Pre-condition Menerima data yang dikirimkan oleh sistem hardware (Microkontroller)
Typical course of event
Aksi Aktor Respon Sistem
Langkah 1 : User memilih tombol koneksi port.
Langkah 2 : Sistem akan merespon dengan memanggil program untuk menampilkan form koneksi data pada port serial. dengan memanggil program pada form Acquisition Data untuk menerima data hasil pengukuran.
Langkah 6 : Sistem akan menampilkan data hasil pengukuran volume minyak di kolom level dan liter.
Langkah 7 : User akan melakukan fungsi untuk menyimpan data hasil pengukuran volume minyak pada database. Alternate
Course
Aksi Aktor Respon Sistem
- -
Activity diagram untuk Use Case kontrol sistem akuisisi data pengukuran volume minyak dapat dilihat pada gambar 3.10.
Pilih Koneksi Port Mulai
Tampilkan form koneksi
port
Pilih boundrate dan port
Koneksikan port
Simpan Data
Selesai
Y
T
Pilih Aquisisi Data
Tampilkan form aquisisi data dan
hasil
Gambar 3.10 Activity diagram sistem akuisisi data pengukuran volume minyak
3.4.2 Perancangan Data Flow Diagram (DFD)
Data Flow Diagram (DFD) adalah alat pembuatan model network dengan menggunakan notasi-notasi untuk menggambarkan arus dari data sistem yang bertujuan untuk membantu memahami sistem secara logika, terstruktur dan jelas. Berdasarkan definisi diatas maka untuk perancangan software pada sistem otomasi pompa pengukuran volume minyak dapat terlihat dalam diagram DFD level 0 berikut.
3.4.2.1 DFD Level 0
User
0
Sistem akuisisidata pendeteksi volume
minyak Akses data volume minyak
Data volume minyak
Gambar 3.11 DFD Level 0 Proses Sistem Pengukuran Volume Minyak
3.4.2.2DFD Level 1
User
1.0
Menampilkan Data Aquisition Volume minyak Akses data Volume minyak
Tampilan data volume minyak
Data Base Data hasil pengukuran Data Volume minyak