Perancangan Software Simulasi Sistem Otomasi Pompa untuk Pengukuran Volume Minyak pada Tanki Diesel dengan Menggunakan Sensor Ultrasonik Ping))) Parallax Berbasis Mikrokontroller At89S51

42

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. STAR Cek Jarak Terima Data Sensor Kirim Data RS232 Terima Data PC 274 ? Tampil 274 275 ? Tidak Tampil 275 276 ? Tampil 276 ….. 289 ? Tampil 289 Pompa Hidup Pompa Mati Ya Pompa Hidup Simpan Data END Tidak Ti d ak Tidak Ti d ak Ya Ya Ya Ya Ya Gambar 3.8 Diagram Alir Sistem Universitas Sumatera Utara 43 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. 2. Melakukan penyimpanan hasil perhitungan dari pengukuran volume minyak. Berdasarkan informasi kebutuhan sistem serta aktor yang berperan di dalamnya, diagram use case berikut dirancang sebagai permodelan persyaratan sistem, seperti pada gambar 3.9. Universitas Sumatera Utara 44 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 Use Case Diagram Sistem Aplikasi Jika dilihat pada diagram tersebut tampak bahwa seorang pengguna user hanya dapat mengakses use case sistem akuisisi data pengukuran volume minyak. Dengan demikian untuk menentukan proses apa saja yang nantinya dilakukan pada setiap tahapan sistem, maka ditentukanlah dokumentasi naratif untuk use case sistem akuisisi data pengukuran volume minyak, sehingga langkah demi langkah dapat berjalan dengan semestinya. Berikut ini dokumen naratif untuk use case sistem akuisisi data pengukuran volume minyak dapat dilihat pada tabel.3.2. Universitas Sumatera Utara 45 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. Langkah 3 : User memilih Boud Rate dan Coom Port dan memilih Connecting. Langkah 4 : User Memilih tombol Acquisition Data Langkah 5 : Sistem akan merespon 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 - - Post Condition - - Universitas Sumatera Utara 46 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. User Sistem Universitas Sumatera Utara 47 3.4.2.1 DFD Level 0 User 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.2 DFD 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 Gambar 3.12 DFD Level 1 Proses Tampilan Data Volume Minyak Dan Database Universitas Sumatera Utara 48 3.4.3 Perancangan antar muka interface Perancangan Antar muka adalah perancangan suatu tampilan yang dapat menghubungkan pengguna user, komputer, dan mikrokontroller dengan berbantuan program. Syarat untuk perancangan pembuatan antar muka adalah berorientasi pada Grapic User Interface GUI, informatif dan mudah digunakan User Friendly. 3.4.3.1 Rancangan menu utama Rancangan tampilan utama yaitu sebuah tampilan yang pertama muncul pada saat sistem diaktifkan. Pada perancangan antar muka terdapat menu koneksi port yang berfungsi sebagai form untuk mengoneksikan port serial computer agar dapat menerima data, Akuisisi Data yang berfungsi untuk menampilkan data volume dan tinggi permukaan minyak yang telah didapat dari pengukuran serta Tentang dan Keluar. Berikut rancangan menu utama dapat dilihat pada gambar 3.13. 2 Akuisisi Data 1 Koneksi Port 3 Tentang 4 Keluar Judul Penelitian Xxxxxxxxxxxxxxx Xxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxx 5 Xxxxxxxxxxxxxxx xxxxxxxxxx Xxxxxxxxxxxxxxx Xxxxxxx Gambar 3.13 Rancangan Tampilan Utama Keterangan: 1. Menu koneksi port berfungsi sebagai form untuk mengkoneksi data dari port serial. 2. Menu akuisisi data berfungsi untuk menampilkan hasil pengukuran. 3. Menu tentang berfungsi sebagai menampilkan informasi atau cara penggunaan aplikasi. Universitas Sumatera Utara 49 4. Menu keluar berfungsi untuk menutup form menu utama dan keluar dari aplikasi. 5. Logo Universias Sumatera Utara. 3.4.3.2 Rancangan form connection port Perencanaan form connection port bertujuan untuk membuka atau menutup flow data dari port serial. Form ini juga berfungsi sebagai penyamaan bout rate data sinkron antara mikrokontroler sebagai pengirim data dan port serial sebagai media in flow data. Berikut rancangan form untuk koneksi data pada port serial, dapat dilihat pada gambar 3.14. KONEKSI PORT SERIAL BOUD RATE COMM PORT 1 2 3 Connecting Disconnecting Exit Gambar 3.14 Rancangan Form Koneksi Port Serial Keterangan: 1. Boud Rate berfungsi untuk memilih besarnya kecepatan transfer data antar modul mikrokontroler dan PC 2. Comm Port berfungsi untuk memilih port yang terhubung dengan port serial oleh mikrokontroler. 3. Label berisi keterangan tentang konektivitas yang terjadi. Universitas Sumatera Utara 50 3.4.3.3 Rancangan form hasil pengukuran acquisition data Form Acquisition data berfungsi sebagai form yang menampilkan hasil pengukuran volume minyak yang tersisa dan terpakai di dalam tanki serta memberikan informasi status pompa dalam keadaan hidup atau mati on off. Rancangan hasil pengukuran volume minyak dapat dilihat pada gambar 3.15. Acquisition Data Data Realtime Status Pompa Reset Data MASTER CONTROL DATA FORM MIKROCONTROLLER 1 3 4 2 5 6 7 8 Gambar 3.15 Rancangan Form Acquisition Data Keterangan: 1. Lebel berisi Real time Date berupa penampil hari dan tanggal. 2. Lebel berisi Real timer penampil waktu. 3. Label Liter I berisi data realtime tentang hasil pengukuran volume minyak berdasarkan ruang yang kosong pada tanki terpakai. 4. Label Level I berisi data realtime tentang hasil pengukuran tinggi minyak berdasarkan ruang yang kosong pada tanki terpakai. 5. Label Liter II berisi data realtime tentang hasil pengukuran volume minyak berdasarkan ruang yang terisi pada tanki tersisa. 6. Label Level II berisi data realtime tentang hasil pengukuran tinggi minyak berdasarkan ruang yang terisi pada tanki tersisa.. 7. Status Pompa untuk mengetahui apakah pompa dalam keadaan hidup on atau mati off. Universitas Sumatera Utara 51 8. Tampilan data yang tersimpan di databased dalam rentang waktu per 5 detik dari data realtime. 3.4.3.4 Rancangan tentang about Preancangan about ini berfungsi sebagai penampil informasi tentang cara kerja sistem mikrokontroller dan informasi aplikasi pada penelitian ini. Rancangan About dapat dilihat pada gambar 3.16. TENTANG INFORMASI SIMULASI SISTEM OTOMASI POMPA UNTUK PENGUKURAN VOLUME MINYAK PADA TANKI DIESEL DENGAN MENGGUNAKAN SENSOR ULTRASONIK PING PARALLAX BERBASIS MIKROKONTROLER AT89S51 Gambar 3.16 Rancangan Tentang About Universitas Sumatera Utara 52 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Pengujian Perangkat Hardware Pengujian perangkat keras meliputi pengujian rangkaian Mikrokontroler, Sensor, Power supply. 4.1.3 Pengujian Mikrokontroler AT89S51 Pengujian pada rangkaian mikrokontroler AT89S51 ini dilakukan dengan menghubungkan rangkaian minimum mikrokontroler AT89S51 dengan power suplay sebagai sumber tegangan. Kaki 40 dihubungkan dengan sumber tegangan +5 Volt, sedangkan kaki 20 dihubungkan dengan negatif ground. Seperti yang terlihat pada gambar 4.1. Gambar 4.1 Pengujian Rangkaian Mikrokontroler AT89S51 [3] Universitas Sumatera Utara 67 Kemudian tegangan pada pin 40 diukur menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada pin 40 sebesar +4,9 Volt. Selanjutnya langkah pengujian dengan cara menghubungkan pin17 P3.7 dengan sebuah transistor C945 yang dihubungkan dengan sebuah LED indikator. Langkah ini bertujuan apakah rangkaian minimum sistem mikrokontroler ini dapat bekerja apabila diberikan program. Transistor C945 berfungsi sebagai saklar untuk mengendalikan hidupmati LED. Dengan demikian LED akan menyala jika transistor aktif dan sebaliknya LED akan mati jika transistor tidak aktif. Tipe transistor yang digunakan adalah NPN C945, dimana transistor ini akan aktif saturasi jika pada basis diberi tegangan 5 volt logika high dan transistor ini akan tidak aktif jika pada basis diberi tegangan 0 volt logika low. Basis transistor ini dihubungkan ke resistor 4,7 Kohm. resistor ini berfungsi agar arus yang dikeluarkan oleh pin17 P3.7 cukup besar untuk men-trigger transistor C945. Selanjutnya program sederhana diisikan pada mikrokontroler AT89S51. Program yang diisikan adalah sebagai berikut: Loop: Setb p3.7 Call delay Clr p3.7 Call delay Jmp loop Delay: Mov r7,255 Dly: Mov r6,255 Djnz r6, Djnz r7,dly Ret End Universitas Sumatera Utara 54 Pada program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.7 beberapa saat dan kemudian mematikannya. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan transistor C945 aktif dan LED akan menyala. Call delay akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low kembali sehingga menyebabkan transistor tidak aktif dan LED akan mati. Perintah jmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut berkedip. Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S51 telah bekerja dengan baik. 4.1.1 Pengujian sensor ultrasonik Pengujian sensor ultrasonik dilakukan dengan merancang program yang dapat menjadikan mikrokontroler sebagai pembacaan bit data output sensor dengan menyambungkan LED pada port 0.0 hingga port 0.7. Fungsi LED merupakan karakteristik indikator pada setiap varian jarak pengukuran. Dari indikasi ini dapat disimpulkan bahwa led yang hidup merupakan varian jarak membentuk pembacaan data secara biner. Berikut gambar rangkaian pengujian sensor ultra sonik pada gambar 4.2. Gambar 4.2 Rangkaian pengujian sensor ultrasonic [6] Universitas Sumatera Utara 55 Rangkaian di atas dapat berjalan dengan memprogram mikrokontroler untuk memberikan set-intruksi ke sensor agar dapat bekerja untuk mengukur dan mendeteksi sinyal pantulannya. Hasil pengukuran berupa pulsa berupa varian frekwensi data level bit high 1 dan low 0 yang mewakili dari setiap varian jarak yang terdeteksi dari sensor. Program pengujian sensor ultrasonik yaitu: transmitter bit p1.0 tringer bit p 1.1 receiver bit p1.2 Start: Setb transmitter ; Aktifkan logika high 1 pada port 1.0 Nop ; jeda 1µs Clr transmitter ; Clear pengiriman data port 1.0 logika low 0 kembali. Jnb tringer, start ; lompat ke rutin printah selanjutnya jika data = 1, dan kembali start jika data bernilai 0 pada port 1.1 Jb receiver, ; Terima data sampai selesai Jarak: Mov a,0h ; isi nilai 0 ke register A. Inc a ; Tambahi 1 nilai pada register A. Mov p0,a ; isi data pada register A ke port p0. Call delay ; Panggil rutin delay jeda waktu. Jnb receiver, jarak ; Data masih diterima ? jika ya ulangi tampil data. Jmp start ; jika tidak lompat ke rutin Start. delay: Mov r110 ; Isi nilai 10 ke register 1. Djnz r1, ; kurangi 1 nilai pada register 1R1 sampai bernilai 0 Ret Program di atas bekerja untuk mengatur kerja dari sensor untuk mengukur jarak dimana port 1.0 diberi logika high 1 sebanyak 1 siklus untuk memancarkan gelombang ultrasonik dengan intruksi Setb transmitter lalu port 1.0 kembali ke logika low 0 kembali pada intruksi Nop no operation . Universitas Sumatera Utara 56 Selanjutnya instruksi Jnb receiver, jarak akan membaca data yang diterima kemudian menampilkan data tersebut pada led yang dikoneksikan pada port p0.0 hingga p0.7 sebagai level bit data untuk pembacaan hasil data pengukuran. Sebagai contoh pada pengukuran jarak 1 Cm dari aktual data sensor didapat data 254 dimana led pada port 0.1 hingga port 0.7 berlogika high led menyala, dan led pada port 0.0 berlogika low let tidak menyala. Dari pengujian didapat beberapa data dari varian jarak dari 288 cm hingga 270 Cm dapat dilihat pada tabel 4.1. Tabel 4.1 Hasil data bit aktual dari jarak sensor 300cm – 274 cm NO JARAK cm JARAK SELISIH cm DATA AKTUAL cm DATA DALAM BINARY BIT HEXADESIMAL 1 300 255 11111111 0FF h 2 299 254 11111110 0FE h 3 298 253 11111101 0FD h 4 297 252 11111100 0FC h 5 296 251 11111011 0FB h 6 295 250 11111010 0FA h 7 294 249 11111001 0F9 h 8 293 248 11111000 0F8 h 9 292 247 11110111 0F7 h 10 291 246 11110110 0F6 h 11 290 245 11110101 0F5 h 12 289 11 244 11110100 0F4 h 13 288 12 242 11110010 0F2 h 14 287 13 241 11110001 0F1 h 15 286 14 240 11110000 0F0 h 16 285 15 239 11101111 0EF h 17 284 16 238 11101110 0EE h 18 283 17 236 11101100 0EC h 19 282 18 235 11101011 0EB h 20 281 19 234 11101010 0EA h 21 280 20 233 11101001 0E9 h 22 279 21 232 11101000 0E8 h 23 278 22 231 11100111 0E7 h 24 277 23 230 11100110 0E6 h 25 276 24 229 11100101 0E5 h 26 275 25 227 11100011 0E3 h 27 274 26 226 11100010 0E2 h Universitas Sumatera Utara 57 Data biner yang didapat pada pembacaan aktual pada sensor dengan melihat led- led yang hidup dapat diubah menjadi data secara hexadesimal. Data hexadesimal inilah yang digunakan sebagai data untuk memprogram untuk setiap varian jarak. Dari lima kali percobaan sebanyak 300 varian jarak dapat dilihat hasil karakteristik sensor berupa grafik rata – rata ketelitian data sensor yang didapat dari data aktual dengan jarak dan data data secara teori dengan jarak. Gambar 4.3 Grafik data teori VS jarak Jika dilihat dari grafik di atas maka didapat bahwa data yang dihasilkan konstan dari mulai jarak 2 Cm hingga 300 Cm. Jika mengacu pada data rata-rata aktual maka terdapat beberapa pergeseran data diakibatkan persen ralat yang mempengaruhi kinerja sensor. Hal tersebut dapat di lihat pada grafik berikut. Universitas Sumatera Utara 58 Gambar 4.4 Grafik data aktual praktek VS jarak 4.1.2.1 Analisa ketelitian alat Untuk mengetahui tingkat ketelitian pada alat ini, maka dilakukan percobaan pertama pada alat sebanyak 300 varian jarak, dari percobaan dihitung berapa kali kesalahan yang terjadi pada alat, lalu dilakukan percobaan kedua sebanyak 300 kali varian jarak, lalu dihitung kembali kesalahan yang terjadi pada alat. Demikian percobaan dilakukan hingga 5 kali, kemudian dihitung deviasi standar untuk mengetahui persentase kesalahan pada alat. Berikut hasil percobaan pada tabel 4.2. Universitas Sumatera Utara 59 Tabel 4.2 Hasil Analisa ketelitian alat NO JARAK cm JARAK SELISIH cm DATA AKTUAL cm HEXADESIMAL KESALAHAN 1 300 255 0FF h 2 299 254 0FE h 3 298 253 0FD h 4 297 252 0FC h 5 296 251 0FB h 6 295 250 0FA h 7 294 249 0F9 h 8 293 248 0F8 h 9 292 247 0F7 h 10 291 246 0F6 h 11 290 245 0F5 h 12 289 11 244 0F4 h 13 288 12 242 0F2 h 1 14 287 13 241 0F1 h 15 286 14 240 0F0 h 16 285 15 239 0EF h 17 284 16 238 0EE h 18 283 17 236 0EC h 1 19 282 18 235 0EB h 20 281 19 234 0EA h 21 280 20 233 0E9 h 22 279 21 232 0E8 h 23 278 22 231 0E7 h 24 277 23 230 0E6 h 25 276 24 229 0E5 h 26 275 25 227 0E3 h 1 27 274 26 226 0E2 h Dengan demikian dapat dihitung deviasi standar sebagai berikut : 1 2 1          n d d d n  1 16 3    15 3   Universitas Sumatera Utara 60 2 .   44 .   ; Perhitungan di atas menunjukkan bahwa standar deviasi  dari alat rancangan adalah sebesar 0.44 . Perhitungan ini didapat dari kesalahan pada tingkat ketelitian sensor setiap nilai pengujian dari pengukuran yang didapat. 4.1.2 Pengujian Power Supply Pada pengujian power supply, tegangan keluaran diukur menggunakan Volt meter dari hasil keluaran tegangan dari trafo CT step down yaitu sebesar +15 Volt, sebelum dan sesudah regulator 7805 dan 7812 untuk masing – masing keluaran tegangan +5 Volt dan +12 Volt. Dari hasil yang didapat diperoleh menunjukkan tegangan yang didapat pada keluaran tegangan setelah dioda bridge menghasilkan tegangan 13,8 Volt. Hal ini dikarenakan dioda bridge membutuhkan tegangan sebesar 0,6 Volt untuk dapat bekerja. Tegangan keluaran pada power supply ini digunakan untuk memberikan tegangan keseluruh rangkaian . keluaran tegangan +5 V digunakan untuk supply tegangan pada mikrokontroller. Mikrokontroller dapat bekerja pada tegangan 4,0 Volt sampai dengan 5,0 Volt, sehingga keluaran untuk tegangan +5Volt ini cukup untuk supply tegangan ke Mirokontroller AT89S51. Sedangkan keluaran tegangan +12 V digunakan untuk supply tegangan pada penerima infra merah yang memerlukan tegangan + 9 Volt sehingga keluaran +12 Volt cukup untuk supply tegangan pada ranngkaian penerima infra merah.

4.2 Pengujian Perangkat Lunak