Pengukur Tinggi Badan Otomatis Menggunkan Sensor Ultrasonic Ping))) Berbasis Mikrokontroler AT89S51

(1)

PENGUKUR TINGGI BADAN OTOMATIS MENGGUNAKAN

SENSOR ULTRASONIC PING))) BERBASIS

MIKROKONTROLER AT89S51

SKRIPSI

AHMAD ZAINY

111421039

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

PENGUKUR TINGGI BADAN OTOMATIS MENGGUNAKAN SENSOR ULTRASONIC PING))) BERBASIS MIKROKONTROLER AT89S51

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

AHMAD ZAINY 111421039

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN


(3)

PERSETUJUAN

Judul : PENGUKUR TINGGI BADAN OTOMATIS

MENGGUNAKAN SENSOR ULTRASONIC

PING))) BERBASIS MIKROKONTROLER AT89S51

Kategori : SKRIPSI

Nama : AHMAD ZAINY

Nomor Induk Mahasiswa : 111421039

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

19670725 200501 1 002 19620317 199103 1 001

Diketahui/disetujui oleh S1 – ILMU KOMPUTER Ketua,

Dr. Poltak Sihombing, M.Kom 19620317 199103 1 001


(4)

PERNYATAAN

PENGUKUR TINGGI BADAN OTOMATIS MENGGUNAKAN SENSOR ULTRASONIC PING))) BERBASIS MIKROKONTROLER AT89S51

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan,

Ahmad Zainy 111421039


(5)

PENGHARGAAN

Puji dan syukur penulis ucapkan kehadirat 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 Baginda 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 menyempurnakan kajian penelitian ini serta panduan ringkas, padat dan profesioal telah diberikan kepada penulis untuk menyelesakan skripsi ini. Selanjutnya kepada para dosen penguji Bapak Dr. Marhaposan Situmorang selaku pembanding I dan Bapak Drs. James P Marbun, M.Kom 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 (H. Humala Nasution) dan Ibunda (Hj. Alida Husni Rangkuti), 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 tidak lupa mengucapkan banyak terima kasih kepada saudara Gatot Triardi Pramaji, abanghanda Bryan Hafsah serta teman-teman Ekstensi 2011 yang telah memberikan dukungan dan semangat.

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, Oktober 2014


(6)

ABSTRAK

Pengukuran tinggi badan biasanya dilakukan secara manual yaitu dengan menggunakan meteran atau alat ukur sedehana. Namun metode manual ini akan membutuhkan waktu jika jumlah orang yang diukur lebih dari 50 orang. Pada penelitian ini penulis membuat suatu alat yang dapat mengukur tinggi badan secara otomatis dengan memanfaatkan sensor Ultrasonic PING))) sebagai alat ukur dan Mikrokontroler AT89S51 sebagai pusat pengendali. Kemudian hasilnya akan ditampilakan pada Personal Computer (PC) dan hasil pengukuran disimpan dalam database. Pada penelitian ini alat sudah mampu tinggi badan dengan baik dan persen kesalahannya adalah 0,4 %.

Kata Kunci: Pengukur Tinggi Badan, Sensor Ultrasonic PING))), Mikrokontroler AT89S51, Visual Basic 6.0


(7)

Automatic Body Height Gauge Using Ultrasonic PING))) Sensing

Based Microcontroller AT89S51

ABSTRACT

Height measurement usually do manually by using a meter or measuring devices simplistic. However, this manual method will take time if the numbers of people which measured more than 50 people. In this research the authors make a device that can measure the height automatically by using the Ultrasonic PING))) sensing as measurement and microcontroller AT89S51 be controlling center. Then the results will be displayed on the Personal Computer (PC) and the measurement results saved in the database. In this research, the tools are able to height with good and mistake was 0.4% percent.

Keyword: Height Measurement, Ultrasonic PING))) Sensing, Microkontroller AT89S51, Visual Basic 6.0


(8)

DAFTAR ISI

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Daftar Lampiran xii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penelitian 4

BAB 2 LANDASAN TEORI 5

2.1 Tinggi Badan 5

2.2 Gelombang Ultrasonic 5

2.3 Perangkat Keras (Hardware) 6

2.3.1 Sensor 7

2.3.1.1 Tranduser Ultrasonic 8 2.3.1.2 Sensor Ultrasonic PING))) Parallax 8 2.1.3.3 Prinsip Kerja Sensor Ultrasonic PING))) 9

2.3.2 Mikrokontroler 12


(9)

2.3.2.2 Spesifikasi Mikrokontroler AT89S51 14 2.3.2.3 Struktur Pengoperasian Port 16

2.3.3 IC MAX232 18

2.3.4 Kabel RS232 19

2.3.3.1 Prinsip Kerja RS232 21

2.4 Perangkat Lunak (Software) Sistem 22

2.4.1 Bahasa Assembly 22

2.4.2 Software 8051 Editor, Assembler, Simulator (IDE) 26

2.4.3 Software Downloader 27

2.4.4 Visual Basic 6.0 28

2.4.4.1 Konsep Dasar Pemrograman Dalam Visual Basic 6.0 29

2.5 Bagan Alir Sistem (System Flowchart) 30

2.5.1 Data Flow Diagram 31

BAB 3 PERANCANGAN SISTEM 33

3.1 Perangkat Keras (Hardware) 33

3.1.1 Diagram Blok 33

3.1.2 Perancangan Power Supply 34

3.1.3 Sistem Minimum AT89S51 35

3.1.4 Sensor Ultrasonic PING))) 37

3.2 Perancangan Software 40

3.2.1 Flowchart Sistem 40

3.2.2 Perancangan Pemodelan Sistem dengan Use Case Diagram 41 3.2.3 Perancangan Data Flow Diagram (DFD) 44

3.2.2.1 Data Flow Diagram Level 0 45

3.2.2.2 Data Flow Diagram Level 1 45

3.2.4 Perancangan Antar Muka (Interface) 45

3.2.4.1 Perancangan Menu Utama 46

3.2.4.2 Perancangan Form Isi Data 47

3.2.4.3 Perancangan Form Koneksi Port 47


(10)

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 49

4.1 Pengujian Perangkat Keras (Hardware) 49

4.1.1 Pengujian Mikrokontroler AT89S51 49

4.1.2 Pengujian Sensor Ultrasonic 52

4.1.2.1 Analisis Ketelitian Alat 56

4.1.3 Pengujian Power Supply 58

4.2 Pengujian Perangkat Lunak 59

4.2.1 Spesifikasi Kebutuhan Perangkat Keras (Hardware) 59 4.2.2 Spesifikasi Kebutuhan Perangkat Lunak (Software) 59

4.2.3 Tampilan Interface Sistem 60

4.2.3.1 Tampilam Menu Utama 60

4.2.3.2 Tampilan Form Isi Data 61

4.2.3.3 Tampilan Form Koneksi Port Serial 61

4.2.3.4 Tampilan Form Tentang 62

4.3 Pengujian Keseluruhan Sistem 62

4.3.1 Hasil Pengujian Keseluruhan Sistem dan Alat 62

BAB 5 KESIMPULAN DAN SARAN 64

5.1 Kesimpulan 64

5.2 Saran 64


(11)

DAFTAR TABEL

Hal.

Tabel 2.1 Simbol-simbol Flowchart Program 30

Tabel 2.2 Simbol-simbol Data Flow Diagram 31

Tabel 3.1 Data Eksekusi Program Dalam 1 Siklus 37 Tabel 3.2 Dokumentasi Naratif Use Case Sistem Pengukur Tinggi Badan 43 Tabel 4.1 Data Sensor dengan Varian Jarak 200 cm sampai 50 cm 54

Tabel 4.2 Hasil Ketelitian Alat 57


(12)

DAFTAR GAMBAR

Hal. Gambar 2.1 Pembagian Rentang Frekuensi Gelombang Akustik 6

Gambar 2.2 Sensor Ultrasonic PING))) 8

Gambar 2.3 Prinsip Kerja Sensor Ultrasonic 10

Gambar 2.4 Diagram Waktu Sensor Ultrasonic PING))) 11 Gambar 2.5 Jarak Ukur Sensor Ultrasonic PING))) 12

Gambar 2.6 Arsitektur Mikrokontroler AT89S51 13

Gambar 2.7 Susunan Pin Mikrokontroler AT89S51 14

Gambar 2.8 Skema IC MAX232 19

Gambar 2.9 Susunan Pin DB9 21

Gambar 2.10 Editor, Assembler, Simulator (IDE) 26

Gambar 2.11 Tampilan Software Downloader 27

Gambar 2.12 Interface Antar Muka Visual Basic 6.0 28

Gambar 3.1 Diagram Blok Rangkaian 33

Gambar 3.2 Rangkaian Sistem Power Supply 34

Gambar 3.3 Rangkaian Minimum Sistem Mikrokontroler AT89S51 36

Gambar 3.4 Sensor Ultrasonic PING))) 37

Gambar 3.5 Simulasi Pengukur Tinggi Badan 38

Gambar 3.6 Driver Sensor Ultrasonic PING))) 40

Gambar 3.7 Diagram Alir Sistem 41

Gambar 3.8 Use Case Diagram Aplikasi 42

Gambar 3.9 Activity Diagram Sistem Pengukur Tinggi Badan 44 Gambar 3.10 DFD Level 0 Proses Sistem Pengukur Tinggi Badan 45 Gambar 3.11 DFD Level 1 Proses Tampilan data Tinggi Badan dan Database 45

Gambar 3.12 Rancangan Tampilan Utama 46

Gambar 3.13 Rancangan Form Isi Data 47

Gambar 3.14 Rancangan Form Koneksi Port 48

Gambar 3.15 Rancangan Form Tentang 48

Gambar 4.1 Pengujian Rangkaian Mikrokontroler AT89S51 50 Gambar 4.2 Pengujian Rangkaian Sensor Ultrasonic 52


(13)

Gambar 4.4 Grafik Praktek vs Teori 56

Gambar 4.5 Tampilan Menu Utama 60

Gambar 4.6 Tampilan Form Sub Menu Isi Data 61

Gambar 4.7 Tampilan Form Sub Menu Koneksi Port 61

Gambar 4.8 Tampilan Form Sub Menu Tentang 62


(14)

DAFTAR LAMPIRAN

Hal. Lampiran 1. Listing Program Visual Basic Lampiran A – 1 Lampiran 2. Listing Program Assembly Lampiran B – 1 Lampiran 3. Rangkaian Keseluruhan Alat Lampiran C – 1


(15)

ABSTRAK

Pengukuran tinggi badan biasanya dilakukan secara manual yaitu dengan menggunakan meteran atau alat ukur sedehana. Namun metode manual ini akan membutuhkan waktu jika jumlah orang yang diukur lebih dari 50 orang. Pada penelitian ini penulis membuat suatu alat yang dapat mengukur tinggi badan secara otomatis dengan memanfaatkan sensor Ultrasonic PING))) sebagai alat ukur dan Mikrokontroler AT89S51 sebagai pusat pengendali. Kemudian hasilnya akan ditampilakan pada Personal Computer (PC) dan hasil pengukuran disimpan dalam database. Pada penelitian ini alat sudah mampu tinggi badan dengan baik dan persen kesalahannya adalah 0,4 %.

Kata Kunci: Pengukur Tinggi Badan, Sensor Ultrasonic PING))), Mikrokontroler AT89S51, Visual Basic 6.0


(16)

Automatic Body Height Gauge Using Ultrasonic PING))) Sensing

Based Microcontroller AT89S51

ABSTRACT

Height measurement usually do manually by using a meter or measuring devices simplistic. However, this manual method will take time if the numbers of people which measured more than 50 people. In this research the authors make a device that can measure the height automatically by using the Ultrasonic PING))) sensing as measurement and microcontroller AT89S51 be controlling center. Then the results will be displayed on the Personal Computer (PC) and the measurement results saved in the database. In this research, the tools are able to height with good and mistake was 0.4% percent.

Keyword: Height Measurement, Ultrasonic PING))) Sensing, Microkontroller AT89S51, Visual Basic 6.0


(17)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Panjang dan tinggi merupakan salah satu besaran fisis yang sering diukur dalam berbagai keperluan. Salah satunya hal yang sering diukur yaitu tinggi seseorang. Metode pengukuran tinggi badan secara manual (menggunakan tenaga manusia) memang dapat dilakukan, akan tetapi jika pengukuran tinggi badan yang diukur dengan jumlah yang banyak, maka pengukuran tersebut tidak lagi efisien.Karena sistem yang dipakai secara konvensional mempunyai kelemahan diantaranya adalah sering menaikkan dan menurunkan tuas pengukur, karena tinggi badan orang tidak sama, contohnya dalam suatu rumah sakit petugasnya hanya satu orang dan pasien yang akan melakukan diagnosis juga banyak. Dari kejadian tersebut menyebabkan tersitanya waktu untuk mendiagnosis tinggi para pasien.

Dengan adanya permasalahan di atas maka diperlukan inovasi dalam bentuk sebuah kontrol otomatis untuk melakukan pengukuran tinggi badan sehingga tidak memerlukan waktu yang lamabagi operator yang bertugas untuk melakukan pengukuran tinggi badan tersebut.

Selaras dengan perkembangan zaman, telah banyak dibuat alat yang dapat mendeteksi besaran-besaran fisis salah satunya adalah jarak. Adapun yang dapat mengukur jarak tersebut salah satunya adalah sensor ultrasonic PING))) buatan parallax. Sensor ini memiliki keakuratan yang presisi dalam mendeteksi jarak sampai dengan 3 meter dan sensor ini cocok untuk digunakan dan dimodifikasi kegunaannya dalam hal pengukuran tinggi badan. Sensor ultrasonic akan dihubungkan dengan mikrokontroler sebagai pengendali sistem. Sehingga alat tersebut dapat melakukan


(18)

proses pengukuran sekaligus memberitahukan hasil pengukuran tersebut dengan keluaran informasi data pada komputer.

Seseorang yang sedang diukur tinggi badannya dapat mengetahui secara langsung hasil pengukurannya. Dengan adanya alat ini maka pengukuran tinggi badat dapat dilakukan untukjumlah yang lebih banyak jika dibanding dengan hasil pengukuran dan pembacaan secara manual oleh manusia.

Diharapkan alat ini bisa diaplikasikan di tempat-tempat umum seperti rumah sakit, puskesmas, klinik dan lainnya.Hasil dari pengukuran ini akan tersimpan secara otomatis pada data base yang sudah dibuat terlebih dahulu pada Grafic User Interface (GUI).

1.2 Rumusan Masalah

Berdasarkan masalah di atas penulis mencoba untuk membuat suatu alat yang dapat mengukur tinggi badan secara otomatis dan hasilnya ditampilkan ke PC yang mana alat ini diharapkan mampu mengganti metode pengukuran tinggi badan yang telah dipakai selama ini.

1.3 Batasan Masalah

Adapun batasan masalah dari perancangan alat ini adalah sebagai berikut: 1. Sensor yang digunakan adalah ultrasonic buatan PING))) PARALLAX. 2. Mikrokontroler yang digunakan pada alat ini jenis MCS-51 tipe AT89S51.

3. Bahasa pemrograman yang digunakan adalah bahasa assembly untuk mikrokontroler dan Visual Basic 6.0 untuk tampilan.

4. Data base management sistem yang digunakan adalah MySQL.

5. Metode pengukuran tinggi badan yang dilakukan adalah dengan cara mengukur jarak permukaan sensor dengan bidang pantul, dalam hal ini adalah kepala manusia.


(19)

1.4 Tujuan Penelitian

Membuat suatu alat yang mampu mengukur tinggi badan secara otomatis dan menampilkan hasilnya di komputer.

1.5 Manfaat Penelitian

1. Diharapkan alat ini dapat menggantikan metode pengukuran tinggi badan secara manual.

2. Pengembangan lebih lanjut aplikasi sensor ultrasonic PING))) parallax. 3. Optimalisasi waktu untuk melakukan pengukuran tinggi badan.

1.6 Metodologi Penelitian

Untuk mempermudah pemahaman serta pembahasan bagaimana sebenarnya sistem kerja dari alat pengukur tinggi badan otomatis menggunakan sensor ultrasonic PING))) berbasis mikrokontroler AT89S51, maka sistematika metodeologi penelitian laporan tugas akhir 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 mengenai cara pengukuran tinggi badan otomatis.

3. Analisis dan Perancangan Sistem

Melakukann 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.


(20)

1.7 Sistematika Penulisan

Susunan penulisan Skripsi 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.

BAB 2 : LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja rangkaian. Teori pendukung yang di bahas antara lain: sensor Ping ))), Mikrokontroller, bahasa pemograman yang digunakan,serta karakteristik dari komponen-komponen pendukung.

BAB 3 : PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan di bahas 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 ini menjelaskan kesimpulan dan saran dari alat ataupun data yang dihasilkan dari alat.


(21)

BAB 2

LANDASAN TEORI

2.1 Tinggi Badan

Tinggi badan seseorang menunjukkan latar belakang genetik dan rutin digunakan untuk mengevaluasi proporsi tubuh. Tinggi badan juga dapat dibandingkan dengan hasil pengukuran sebelumnya untuk melihat ada tidaknya penurunan densitas tulang atau osteoporosis, dimana tinggi badan akan menurun sejalan dengan progresi penyakit. Untuk mengukur tinggi badan seseorang dengan cara berdiri tegak, tanpa sepatu, bersandar pada bagian permukaan vertikal yang datar dari suatu alat pengukur, misalnya tiang pada alat pengukur tinggi badan.

Seperti halnya komputer, sebuah alat ukur tinggi badan digital terdiri dari dua bagian yang saling berhubungan dimana setiap bagian mempunyai konstruksi dan fungsi yang berbeda antara bagian yang satu dengan bagian yang lain. Begitu pula dengan alat pengukur tinggi badan digital. Dalam pembuatannya, alat pengukur tinggi badan digital membutuhkan kedua bagian tersebut yaitu perangkat keras (hardware) dan perangkat lunak (software).

2.2 Gelombang Ultrasonic

Gelombang Ultrasonik atau gelombang suara yaitu suatu gelombang yang dirambatkan sebagai gelombang mekanik yang menjalar dalam beberapa medium, diantaranya medium padat, cair atau pun gas. Gelombang suara ini merupakan getaran antar molekul zat yang saling beradu satu sama lain. Namun demikian zat tersebut terkoordinasi menjadi suatu gelombang dan mentransmisikan energi tampa adanya perpindahan partikel. Gambar 2.1 merupakan pembagian rentang waktu gelombang.


(22)

Gambar 2.1 Pembagian Rentang Frekuensi Gelombang Akustik

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

Bagian mekanis adalah hardware beroperasi sesuai dengan input yang diberikan dan memberikan hasil nilai berupa output terhadap objek yang 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


(23)

2.3.1 Sensor

Sensor adalah suatu variabel yang digunakan untuk mengubah besaran fisik menjadi tegangan dan arus listrik. Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran atau pengendalian.

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). Sensor ini memanfaatka perubahan nilai hambatannya. Dengan demikian, bila hambatannya berubah, maka output sensor akan berubah.

3. Sesor 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.


(24)

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.1Tranduser ultrasonic

Sensor ultrasonic merupakan sensor yang bekerja dengan memanfaatkan gelombang ultrasonic dengan cara memancarkan gelombang ultrasonik pada frekuensi 40 KHz dan kemudian pantulan dari objek akan ditangkap oleh receiver sensor, dengan demikian akan terjadi beda potensial pada kedua blok transmitter dan receiver. Beda potensial inilah yang akan membangkitkan pulsa, sehingga lamanya pancaran dari transmitter yang memantul pada objek dan tertangkap oleh receiver dapat mengindikasi jarak suatu objek dari pangkal sensor.

2.3.1.2Sensor 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 berikut.

VCC

To PIN I/O Microkontroller


(25)

Spesifikasi sensor:

1. Kisaran pengukuran 2 cm – 3 m.

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:

1. Pin Ground 2. Pin Vcc

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 hight 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.

2.3.1.3Prinsip kerja sensor ultrasonic PING)))

Gelombang ultrasonic adalah gelombang dengan besar frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti telah disebutkan bahwa sensor ultrasonic terdiri dari rangkaian pemancar ultrasonic yang disebut transmitter dan rangkaian penerima ultrasonic yang disebut receiver. Sinyal ultrasonic yang


(26)

dibangkitkan akan dipancarkan dari transmitterultrasonic. Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima oleh receiver ultrasonic. 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

Prinsip kerja dari sensor ultrasonic adalah sebagai berikut:

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 bangkitkan oleh rangkaian pemancar ultrasonic.

2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal/gelombang bunyi dengan kecepatan bunyi yang berkisar 340 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:

S =

(v x t)

2 ... (2.1)

Dimana:

S = Jarak pantulan (m)

v = Kecepatan rambat gelombang ultrasonic pada udara (344 m/s) t = waktu (s)


(27)

Dari rumus tersebut maka dapat dihitung berapa lama waktu yang dibutuhkan untuk jarak tiap 1 cm yaitu:

10−2m =344 / ∗ 2

=

2∗10−

2

344 / = 58,14 10−6

= 58,14 µ

Maka didapat setiap 1 cm gelombang ultra sonic akan membutuhkan waktu tempuh (t) yaitu sebesar 58,14 µ .

Gambar 2.4 Diagram Waktu Sensor Ultrasonic PING)))

Sensor Ping memancarkan gelombang ultrasonic sesuai dengan kontrol dari mikrokontroler pengendali (pulsa trigger dengan tOUT min. 2 μs). Sensor Ping mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonic (40 kHz)

selama tBURST (200 μs) kemudian mendeteksi pantulannya. Gelombang ultrasonic

mempunyai kecepatan 344 meter per detik merambat melalui udara, mengenai obyek dan memantul kembali ke sensor. Ping mengeluarkan pulsa output hightt 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 :


(28)

=

�� ∗ 344 /

2 ...(2.2)

Gambar 2.5 Jarak Ukur Sensor Ultrasonic PING)))

2.3.2 Mikrokontroler

Dalam merancang aplikasi elektronika digital dibutuhkan sebuah alat/komponen yang dapat menghitung, mengingat, dan mengambil pilihan serta digunakan sebagai pemrosesan data. Kemampuan ini dimiliki oleh sebuah komputer, namun tidaklah efisien jika harus menggunakan komputer hanya untuk keperluan tersebut. Untuk itu peran komputer dapat digantikan dengan sebuah minimun sistem mikrokontroler.

Sistem kerja Mikrokontroler sama dengan mikroprosesor, namun mikrokontroller lebih efisien untuk keperluan aplikasi elektronika digital sederhana dikarenakan pada device ini sudah terdapat RAM, ROM, dan prosesor dalam satu chip. Mikrokontroler seri MCS-51 termasuk sederhana, murah dan mudah didapat dipasaran. Salah satu mikrokontroler seri MCS-51 adalah mikrokontroler AT89S51.

2.3.2.1 Arsitektur 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. Adapun port dan bentuk dari mikrokontroler AT89S51 dapat dilihat pada Gambar 2.6 berikut.


(29)

Gambar 2.6 Arsitektur dan Susunan Pin Mikrokontroler AT89S51

Beberapa kemampuan (fitur) yang dimiliki mikrokontroler AT89S51 adalah sebagai berikut:

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).

2. Memiliki internal RAM 128 byte.

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.


(30)

2.3.2.2Spesifikasi pada 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.

4. 32 jalur I/0 dapat deprogram. 5. 3 buah 16 bit Timer/Counter. 6. 8 sumber interrupt.

7. Saluran full dupleks serial UART yang dapat digunakan sebagai media transfer data serial atau pun parallel ke PC.

8. Dua data pointer.


(31)

Keterangan fungsi dari masing-masing pin adalah sebagai berikut: Pin 40 Vcc, Masukan catu daya +5 volt DC

Pin 20 Gnd, Masukan catu daya 0 volt DC

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).

Pin 1-8 P1.0-P1.7, Port input/output dua arah delapan bit dengan internal pull up.

Pin 10-17 P3.0-P3.7Port input/output delapan bit dua arah, selain itu Port 3 juga memiliki alternativef fungsi sebagai :

RXD (pin 10) Port komunikasi input serial TXD (pin 11) Port komuikasi output serial

INT0 (pin 12) Saluran Interupsi eksternal 0 (aktif rendah) INT1 (pin 13) Saluran Interupsi eksternal 1 (aktif rendah) T0 (pin 14) Input Timer 0

T1 (pin 15) Input Timer 1

WR (pin 16) Berfungsi sebagai sinyal kendali tulis, saat prosesor akan menulis data ke memori I/O luar.

RD (pin 17) Berfungsi sebagai sinyal kendali baca, saat prosesor akan membaca data dari memori I/O luar.

Pin 9 RESET, Pin yang berfungsi untuk mereset mikrokontroller AT89S51 ke keadaan awal.

Pin 30 ALE (Address Latch Enable), berfungsi menahan sementara alamat byte rendah pada proses pengalamatan ke memori eksternal.


(32)

Pin 29 PSEN (Program Store Enable), Sinyal pengontrol yang berfungsi untuk membaca program dari memori eksternal.

Pin 31 EA, Pin untuk pilihan program, menggunakan program internal atau eksternal. Bila „0‟, maka digunakan program eksternal.

Pin 19 X1, Masukan ke rangkaian osilator internal. Sumber osilator eksternal atau quartz crystal kristal dapat digunakan.

Pin 18 X2, Masukan ke rangkaian osilator internal, koneksi quartz crystal atau tidak dikoneksikan apabila digunakan eksternal osilator.

2.3.2.3Struktur pengoperasian port Struktur pengendalian port teridi dari: 1. Port input/output

One chip mikrokontroller 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 bok 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-Flip Flop. 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


(33)

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. Timer/Counter

One chip mikrokontroller ini memilik dua timer yang dapat dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi register timer 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


(34)

mereload TL1 dengan isi TH1. Setelah reload isi TH1 tidak akan berubah. Operasi mode ini juga sama dengan timer/counter 0.

Mode 3 Pada mode ini timer 1 tidak akan bekerja. Sedangkan timer 0 menjadi 2 counter yang terpisah. TL0 digunakan sebagai bit kontrol untuk timer 0; C/T, GATE, TR0, INT0, dan TF0 seolah-olah mengontrol timer 1.

2.3.3 IC MAX232

Untuk dapat berkomunikasi antara mikrokontroler dengan komputer, maka diperlukan suatu penyetaraan level tegangan. Besarnya level tegangan komunikasi serial (Level Tegangan RS232) adalah -25 s.d -3 V untuk logika hight (1) dan +3 s.d +25 V untuk logika low (0). Hal ini sangat berbeda dengan level tegangan pada mikrokontroller (Level Tegangan TTL/CMOS) dimana untuk logika hight (1) level tegangannya adalah 5 V dan untuk logika low (0) level tegangannya adalah 0 V. Oleh karena itu diperlukan sebuah pengantarmuka yang dapat menyamakan level tegangan dari komunikasi serial pada komputer dengan mikrokontroller, yaitu IC RS232 produksi MAXIM yang disebut 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.


(35)

Gambar 2.8 Skema IC MAX232 2.3.4 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.


(36)

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. Fungsi dari masing-masing pin adalah sebagai berikut.

Pin DB9 Pin DB25 Singkatan Keterangan Fungsi

Pin 3 Pin 2 TD Transmiter

Data

Untuk pengiriman data serial (TxD)

Pin 2 Pin 3 RD Receiver Data Untuk penerimaan data serial (RxD)

Pin 7 Pin 4 RTS Request To Send

Sinyal untuk

menginformasikan perangkat bahwa UART siap

melakukan pertukaran data Pin 8 Pin 5 CTS Clear To Send Digunakan untuk

memberitahukan bahwa perangkat siap melakukan pertukaran data

Pin 6 Pin 6 DSR Data Set Ready

Memberitahukan UART bahwa perangkat siap melakukan pertukaran data Pin 5 Pin 7 SG Signal Ground Dihubungkan ke ground Pin 1 Pin 8 CD Carrier Detect Saat perangkat mendeteksi

suatu carrier dari perangkat lain, maka sinyal ini akan aktif

Pin 4 Pin 20 DTR Data Terminal Ready

Untuk memberitahukan bahwa UART siap

melakukan pertukaran data Pin 9 Pin 22 RI Ring Indikator Akan aktif jika ada sinyal


(37)

2.3.4.1 Prinsip kerja 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).

Sebuah penggerak (driver) harus mampu menangani arus ini tanpa mengalami kerusakan. Selain mendeskripsikan level tegangan, standard RS232 juga menentukan jenis-jenis sinyal yang dipakai mengatur pertukaran informasi antara Data Terminal Equiepment (DTE) dan Data Circuit Equiepment (DCE), semuanya terdapat 2 jenis sinyal tapi yang umum dipakai hanyalah 9 jenis sinyal. Sesuai dengan konektor yang 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.9 berikut.

Gambar 2.9 Susunan pin DB9

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.


(38)

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 mikrokontroller 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 pwngalamatan menjelaskan bagaimana operand dioprasikan. Berikut bentuk program bahasa assembly sesara umum:

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 orang 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

Mnemonic Operan 1 operan 2 komentar (opcode)


(39)

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: ... ...

DJNZ R0,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 :

...


(40)

... 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

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika hight (1).

Contoh: Loop:

JB P1.0,Loop ...


(41)

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.

Contoh:

MOV R0,#20h R0 = 20h ...

DEC R0 R0 = R0 – 1 ...


(42)

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 Gambar 2.10 berikut ini.

Gambar 2.10 Editor, Assembler, Simulator (IDE)

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


(43)

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 mikrokontroler.

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 dan dapat didownload dari internet. Tampilannya seperti Gambar 2.11 berikut ini.

Gambar 2.11 Tampilan software downloader

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.


(44)

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 Microsoft Visual Basic 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.

Visual Basic 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, project explorer dan property seperti terlihat pada Gambar 2.12 berikut:


(45)

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 prgram 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.


(46)

2.5 Bagan Alir Sistem (System Flowchart)

Bagan alir sistem (system flowchart) merupakan bagan yang menunjukkan arus pekerjaan dari sistem secara keseluruhan, menjelaskan urutan dari prosedur-prosedur yang ada dalam sistem serta menunjukkan apa yang ada dalam sistem. Adapun sismbol-simbol dalam flowchart seperti table 2.1 berikut.

Tabel 2.1 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.


(47)

2.5.1 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. Data Flow Diagram (DFD) menggambarkan arus data dari suatu sistem informasi, baik sistem lama maupun sistem baru secara logika tanpa mempertimbangkan lingkungan fisik di mana data tersebut berada. Adapun simbol-simbol Data Flow Diagram (DFD) dapat dilihat pada tabel 2.2 berikut.

Table 2.2 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.

ALUR DATA (DATA FLOW)

Alur ini mengalir diantara proses, data store, dan terminator. 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 kadang kala di definisikan sebagai suatu mekanisme diantara dua proses yang dibatasi oleh jangka waktu tertentu.


(48)

Tahapan diagram arus data dibagi dalam beberapa bagian diantaranya: 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. Diagram Nol

Diagram nol memberikan pandangan menyeluruh mengenai sistem yang di tangani dengan menunjukan mengenai fungsi-fungsi utama atau proses yang ada, aliran data, dan eksternal entity. Tujuan dari diagram nol adalah untuk “Memerinci” sebuah sistem menjadi “Proses-proses” yang harus dilakukan pada sistem.


(49)

BAB 3

PERANCANGAN SISTEM

3.1 Perangkat Keras (Hardware) 3.1.1 Diagram Blok

Secara umum, alat pengukur tinggi badan otomatis menggunakan ultrasonic terdiri dari 4 blok diagram utama yaitu sensor, mikrokontroler, kabel RS232 dan Personal Computer (PC). Hal ini dapat dirancang dengan diagram blok rangkaian seperti Gambar 3.1 berikut ini.

Mikrokontroller AT89S51 Sensor

Ultrasonic

RS232

Personal Computer

(PC)

Blok Sistem Mikrokontroler

Blok Sistem Penerima


(50)

Keterangan dari gambar diagram blok: 1. Sensor Ultra Sonik PING)))

Sensor PING))) merupakan sensor ultrasonic yang dapat mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonic dengan frekuensi 40 KHz dan kemudian mendeteksi pantulannya.

2. Mikrokontroler AT89S51

Mikrokontroler digunakan sebagai pengolah data inputan dari sensor,output ke PC dan komunikasi serial semuanya terhubung ke mikrokontroler.

3. Kabel RS 232

Penghubung antara mikrokontroler dengan PC komputer. 4. Personal Computer (PC)

Untuk menampilkan hasil nilai tinggi badan yang di dapat.

Sensor ultrasonic PING))) mengirimkan data ke mikrokontroler AT89S51, dan kemudian data tersebut akan diproses untuk ditampilkan ke komputer melalui kabel RS 232. Dari sini dapat diketahui hasil pengukuran tinggi badan tanpa harus menggukan alat yang manual.

3.1.2 Perancangan power supply

Gambar rangkaian dan komponen yang digunakan untuk membangun rangkaian minimum sistem power suplly dapat dilihat pada Gambar 3.2 berikut ini.

7805 15 0 15 220 0 GND TIP 32 12 Volt 5 Volt LED LED 100 ohm 10 0 oh m 10 0 oh m

2200 µF 100 µF 1 µF

7812


(51)

Power supply merupakan catu daya tegangan output yang dapat megeluarkan tegangan 5 volt dan 12 volt. Dari rangkaian power supply di atas menjelaskan tentang bagaimana power supply mengeluarkan tegangan 5 volt dan 12 volt untuk mengeluarkan arus searah (DC). Tegangan yang didapat dari tegangan PLN yaitu sebesar ±220 volt (AC), kemudian di turunkan (step down) menggunakan trafo CT sehingga menghasilkan tegangan 15 volt (AC).

Selanjutnya untuk mendapatkan tegangan 12 volt (DC), maka diperlukan suatu komponen yang dapat merubah tegangan arus bolak balik menjadi tegangan arus searah yaitu menggunakan diode bridge. Setelah tegangan sudah arus searah (DC), untuk mendapatkan tegangan 5 volt dan 12 volt secara konstan menggunakan regulator 7805 dan 7812. Fungsi dari TIP 32 adalah sebagai katub untuk menstabilkan arus yang masuk ke regulator, sehingga mengurangi efek over hatting yang terjadi pada regulator. Sementara fumgsi LED pada rangkaian hanya sebagai indicator berfungsi atau tidaknya power supply.

3.1.3 Sistem minimum 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 Gambar 3.3 berikut.


(52)

1 2 3 4 5 8 7 6 19 18 20 17 16 13 12 10 11 15 14 PO R T 1 PO R T 3 9 +5V RST XTAL 1 XTAL 2 39 38 37 35 34 36 33 32 21 27 22 24 25 26 23 28 30 31 29 +5V PO R T 0 PO R T 2 40 +5V AT89S51 P1.0_T2 P1.1_T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 RxD P3.1 TxD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD P0.0 AD0 P0.1 AD1 P0.2 AD2 P0.7 AD7 P0.6 AD6 P0.5 AD5 P0.4 AD4 P0.3 AD3 P2.0_A8 P2.1_A9 P2.2_A10 P2.3_A11 P2.4_A12 P2.5_A13 P2.6_A14 P2.7_A15 EA ALE PSEN 33 pf 33 pf 12 MHz 1 K

10 µF

Gambar 3.3 Rangkaian Minimum Sistem Mikrokontroler AT89S51

Pin 31 External Access Enable (EA) diset hight (1). Ini dilakukan karena mikrokontroller AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan capasitor 33 pF.

XTAL ini akan mempengaruhi 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


(53)

power supply. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supply.

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 = 12� ��

12MHz = 1mikrodetik. 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.1.4 Sensor ultrasonic PING)))

Sensor Ultrasonic PING))) Parallax yang dipakai pada sistem pengukuran tinggi badan adalah sensor yang terdapat dipasaran dan dapat dilihat pada Gambar 3.4 berikut ini.


(54)

Pada sensor ultrasonic ini terdapat 3 pin dimana fungsi dari pin-pin tersebut adalah: 1. Pin 1 sebagai VCC.

2. Pin 2 sebagai input data. 3. Pin 3 sebagai Ground.

Gambar 3.5 Simulasi Pengukuran Tinngi Badan

Pada keadaan awal sensor diletakkan pada ketinggian ±200 cm. Sensor akan mendeteksi tinggi badan secara proporsional dari ujung sensor hingga ujung objek, secara kinerja sensor akan memancarkan gelombang ultrasonic ke objek dan sensor akan menerima gelombang yang telah dipancarkan oleh sensor. Dari proses itu akan diketahui berapa waktu yang telah dilalui dari pemancar ke penerima, sehingga dapat dihitung berapa nilai dari sensor ke objek. Dari keadaan tersebut maka dapat dihitung berapa selisih tinggi dari dasar lantai ke sensor dan dari pantulan objek ke sensor.

=

344 / ∗

2 ………. [3.1]

Dari rumus 3.1 di atas dapat dihitung tinggi objek yang diukur, sebagai contoh sebagai berikut :

Objek mempunyai tinggi 170 cm, berapa waktu yang dibutuhkan untuk memancarkan sinar ultrasonic ke objek sehingga dapat tinggi 170 cm?

Jarak sensor ke objek


(55)

Penyelesaian:

Diketahui jarak 170 cm = 1,7 m dan kecepatan = 344 m/s.

1,7 m =344 / ∗ 2

= 2 ∗ 1,7

344 /

= 0,009883

= 98,83 10−4

µ

Waktu yang dibutuhkan untuk mendapatkan jarak 170 cm adalah 98,83 10-4 s.

Jadi, untuk mengetahui jarak antara sensor dengan objek adalah dengan menggunakan rumus 3.1 di atas.

�=344 / ∗ 2

S = 344 / ∗ 0,009883

2 S = 3,399

2

S = 1,6995 m

Dalam kasus ini tinggi maksimal yang penulis hitung adalah 200 cm, maka jarak antara sensor dengan objek adalah:

tinggi maksimal – jarak = 200 cm – 170 cm = 30 cm. Jadi, jarak antara sensor dengan objek adalah 30 cm.

Dikarenakan pin input dan output sensor (SIG) merupakan satu-satunya media yang dapat mengaktifkan rangkaian sensor maupun sebagai media data out yang akan menjadi input pada mikrokontroller (1), maka dibutuhkanlah sebuah sparete worker yaitu berupa rangkaian driver yang dapat mengaktifkan sensor untuk mengukur dan mengeluarkan data dikala sensor telah selesai mengukur ketinggian. Pada perancangan driver sensor ultrasonik, keluaran sensor akan dimodifikasi sehingga input pada mikrokontroler (1) hanya berupa tegangan hight (1) dan low (0). Berikut gambar rangkaian driver untuk sensor ultra sonik pada Gambar 3.6 berikut.


(56)

Gambar 3.6 Driver sensor ultrasonic PING)))

Pada rangkin driver transistor jenis PNP merupakan drain tegangan yang akan aktif jika diberi tegangan lebih besar dari 0,9V. Mikrokontroler (1) akan mengaktifkan sensor untuk mengukur dengan cara memberikan logika hight (1) pada pin 1.1 sehingga sensor dapat aktif untuk melakukan pengukuran, dan sebaliknya jika pin 1.1 diberi logika low (0) maka pin 1.0 akan berlogika hight (1) sehingga membuat transistor akan aktif sehingga data hasil pengukuran dapat diterima. 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.2 Pearancangan Software

Perangkat lunak merupakan pemrograman pada mikrokontroler AT89S51. Pemrograman menggunakan bahasa standar yaitu bahasa assembly. Program dibuat dan disesuaikan sehingga sistem dapat berjalan dengan baik.

3.2.1 Flowchar sistem

Secara umum flowchart utama program pengukur tinggi badan otomatis menggunakan mikrokontroler dapat dilihat pada Gambar 3.7 berikut ini.


(57)

START

ON Pemancar 1 µs

OFF Pemancar

Terima Data Sensor

T

Y Kirim Data RS232 Terima Data Sensor

Terima Data (PC)

50 ?

Y Tampil 50

51 ? T

Tampil 51 Y

52 ?

Tampil 52

….. 200 ?

Tampil 200

Y Y

T T

Simpan

SELESAI

Gambar 3.7 Diagram Alir Sistem

3.2.2 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 akakn dilakukan oleh sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan fungsi dan tujuannya.


(58)

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 tinggi badan.

Ditinjau dari analisis kebutuhan sistem, beberapa hal yang nantinya harus dilakukan sistem adalah:

1. Melakukan koneksi port akuisisi data untuk menampilkan data hasil pengukuran tinggi badan.

2. Melakukan penyimpanan hasil pengukuran tinggi badan.

Berdasarkan informasi kebutuhan sistem serta aktor yang berperan di dalamnya. Gambar 3.8 berikut diagram use case sebagai permodelan persyaratan sistem.

Mengoneksikan Data proses pengukuran

Tinggi Badan

Menampilkan data Hasil pengukuran Tinggi Badan

USER

Menyimpan data kedalam data base hasil pengukuran tinggi

badan <<US

ES>>

<<

USES

>>

Pengukur Tinggi Badan Otomatis Menggunakan Sersor Ultrasonic PING))) Berbasis Mikrokontroler AT89S51

Gambar 3.8 Use Case Diagram Sistem Aplikasi

Jika dilihat pada diagram tersebut tampak bahwa seorang pengguna (user) hanya dapat mengakses Use Case sistem akuisisi data pengukuran tinggi badan. Dengan demikian untuk menentukan proses apa saja yang nantinya dilakukan pada


(59)

akuisisi data pengukuran tinggi badan, sehingga langkah demi langkah dapat berjalan dengan semestinya. Berikut ini dokumen naratif untuk use case sistem pengukuran tinggi badan dapat dilihat pada tabel 3.2 berikut.

Tabel 3.2 Dokumentasi Naratif Use Case sistem akuisisi data pengukuran tinggi badan Nama Use Case PENGUKUR TINGGI BADAN OOMATIS MENGGUNAKAN

SESNSOR PING))) BERBASIS MIKROKONTROLER AT89S51

Aktor User

Deskripsi

Use Case mendeskripsikan tentang fungsional sistem pengukuran ketinggian badan kemudian menampilkan data hasil pengukuran tersebut pada user interface lalu menyimpan data tersebut ke dalam data base Pre-condition menerima data yang dikirimkan oleh sistem hardware (Microkontroller)

Typical course of event

Aksi Aktor Respon Sistem

Langkah 1 : User memilih tombol isi data pada menu utama.

Langkah 2 : Sistem akan merespon dengan memanggil program untuk menyiapkan form pengisian biodata diri

Langkah 3 : User mengisi biodata diri.

Langkah 4 : user mengaktifkan tombol koneksi port.

Langkah 5 : Sistem akan merespon dengan mengaktifkan koneksi data pada port serial.

Langkah 6 : Sistem akan menampilkan data hasil pengukuran tinggi badan pada kolom tinggi badan pengguna.

Langkah 7 : User akan

memilih tombol simpan Langkah 8 : Sistem akan melakukan fungsi untuk menyimpan data hasil penngukuran tinggi badan pada data base.

Alternate Course

Aksi Aktor Respon Sistem

- -


(60)

Activity diagram untuk Use Case kontrol sistem akuisisi data pengukuran tinggi badan dapat dilihat pada Gambar 3.9 berikut.

User Sistem

Pilih Isi Data Mulai

Tampilkan form isi data

Isi Data diri Tampilkan form

Koneksi Port

Koneksikan port Hasil Tinggi

Badan

Simpan Data Selesai Pilih Koneksi

port

Y

T

Gambar 3.9 Activity diagram sistem akuisisi data pengukuran tinggi badan

3.2.3 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. Data Flow Diagram (DFD) menggambarkan arus data dari suatu sistem informasi, baik sistem lama maupun sistem baru secara logika tanpa mempertimbangkan lingkungan fisik di mana data tersebut berada. Berdasarkan definisi di atas maka untuk perancangan software pada alat pengukur tinggi badan otomatis dapat terlihat dalam diagram DFD level 0.


(61)

3.2.3.1DFD level 0

User

0

Sistem Pendeteksi Tinggi Badan Akses data tinggi badan

Data tinggi badan

Gambar 3.10 DFD Level 0 Proses Sistem Akuisisi Data Tinggi Badan

3.2.3.2DFD level 1

User

1.0

Menampilkan data tinggi badan Akses data tinggi badan

Tampilan data tinggi badan

Data Base Data hasil pengukuran

tinggi badan

Data tinggi badan

Gambar 3.11 DFD Level 1 Proses Tampilan Data Tinggi Badan dan Database

3.2.4 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).


(62)

3.2.4.1Rancangan 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 komputer agar dapat menerima data, isi data yang berfungsi untuk menampilkan data tinggi badan yang telah didapat dari pengukuran serta tentangdankeluar. Berikut rancangan menu utama dapat dilihat pada Gambar 3.12 berikut.

2

Koneksi Port

1

Isi Data

3

Tentang

4

Keluar

Judul Penelitian

Xxxxxxxxxxxxxxx Xxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxx

Xxxxxxxxxxxxxxx

5

Xxxxxxxxxxxxxxx xxxxxxxxxx Xxxxxxxxxxxxxxx

Xxxxxxx

Gambar 3.12 Rancangan Tampilan Utama

Keterangan:

1. Menu Isi Data berfungsi untuk pengisian data pengguna.

2. Menu Koneksi Port berfungsi sebagai form untuk mengkoneksi data dari port serial.

3. Menu Tentang berfungsi sebagai menampilkan informasi atau cara pemakaian aplikasi.

4. Menu Keluar berfungsi untuk menutup form menu utama dan keluar dari aplikasi.


(63)

3.2.4.2Perancangan form isi data

Rancangan form isi data bertujuan untuk mengisi data yang akan diukur tinggi badannya. Dalam form ini hasil dari tinggi badan yang akan diukur akan ditampilkan dan dapat melihat hasilnya. Adapun tampilan dari form isi data dapat dilihat pada Gambar 3.13 berikut ini.

Gambar 3.13 Rancangan Form Isi Data

3.2.4.3Perancangan form koneksi port

Perencanaan form koneksi port bertujuan untuk membuka atau menutup flow data dari port serial. Form ini juga berfungsi sebagai penyamaan bound rate data sinkron antara mikrokontroller sebagai pengirim data dan port serial sebagai media in flow data. Rancangan form untuk koneksi data pada port serial seperti Gambar 3.14 berikut ini.


(64)

Gambar 3.14 Rancangan Form Koneksi Port

3.2.4.4Perancangan form tentang

Informasi

Pengukur Tinggi Badan Otomatis Menggunakan Sensor Ultrasonic PING))) Berbasis

Mikrokontroler AT89S51

INFORMASI


(65)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Pengujian Perangkat Hardware

Pengujian perangkat keras meliputi pengujian perangkat Sensor, Power supply, Mikrokontroler, dan rangkaian kabel RS232.

4.1.1 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). Adapun pengujian rangkaian mikrokontroler AT89S51 dapat dilihat pada Gambar 4.1 berikut.


(66)

Gambar 4.1 pengujian rangkaian mikrokontroller AT89S51

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 mikrokontroller ini dapat bekerja apabila diberikan program.

Transistor C945 berfungsi sebagai saklar untuk mengendalikan hidup/mati 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 hight) 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


(67)

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 p1.7 Call delay Clr p1.7 Call delay Jmp loop Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret

End

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 hight 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 mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S51 telah bekerja dengan baik.


(68)

4.1.2 Pengujian sensor ultrasonic

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 pengukkuran. Berikut gambar rangkaian pengujian sensor ultra sonik pada Gambar 4.2.

Gambar 4.2 Rangkaian pengujian sensor ultrasonic

Rangkaian di atas dapat berjalan dengan memprogram mikrokontroler untuk memberikan set-intruksi ke sensor agar dapat bekerja mengukur pada bidang pantul. Hasil pengukuran berupa pulsa berupa varian frekwensi data level bit hight (1) dan low (0) yang mewakili dari setiap varian jarak yang terdeteksi dari sensor. Program pengujian sensor ultrasonic yaitu:


(69)

transmitter bit p1.0 trigger bit p 1.1 receiver bit p1.2 Start:

Setb transmitter ; Aktifkan logika hight (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 r1#10 ; Isi nilai 10 ke register 1.

Djnz r1,$ ; kurangi 1 nilai pada register 1(R1) sampai bernilai 0 Ret

Program di atas bekerja untuk mengatur kerja dari sensor untuk mengukur jarak dimana port 1.0 diberi logika hight (1) dan port 1.0 kembali ke logika low (0). Selanjutnya diberikan 3 siklus untuk mendeteksi pantulannya.

Intruksi Jb receiver, $ mengcounter data hasil pantulan pada port 1.1 (receiver data) dan menampilkan data tersebut pada led-led pada port 0.0 sampai port 0.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 hight (led menyala), dan led pada port 0.0 berlogika low (let tidak menyala). Dari pengujian didapat beberapa data dari varian jarak dari 200 cm hingga 50 cm dan dapat dilihat pada tabel 4.1 berikut ini.


(1)

Listing Program Mikrokontroler MOV TMOD,#20H

MOV SCON,#50H MOV TH1,#-3 SETB TR1 mov p0,#0

mov 70h,#0 mov 71h,#0 mov 72h,#0 Ping:

setb p1.2 acall tunda clr p1.2 acall tunda setb p1.2 acall tunda clr p1.2 acall tunda setb p1.2 nop

nop nop nop

clr p1.2 nop

nop nop nop

jb p1.3,$ mov 70h,#0 mov 71h,#0 mov 72h,#0

hitung:

acall pulsa

jnb p1.3,terus_Hitung sjmp jarak


(2)

inc 70h mov r2,70h

cjne r2,#0ah,hitung mov 70h,#0h

inc 71h mov r2,71h

cjne r2,#0ah,hitung mov 71h,#0h

inc 72h mov r2,72h

cjne r2,#0ah,hitung mov 72h,#0h

ljmp hitung jarak:

mov r0,70h acall transfer mov 73h,r1 mov r0,71h acall transfer mov 74h,r1 mov r0,72h acall transfer mov 75h,r1 acall tampil ljmp ping transfer:

cjne r0,#0h,satu mov r1,#'0'

ret satu:

cjne r0,#01h,dua mov r1,#'1'

ret dua:

cjne r0,#02h,tiga mov r1,#'2'

ret tiga:

cjne r0,#03h,empat mov r1,#'3'

ret


(3)

empat:

cjne r0,#04h,lima mov r1,#'4'

ret lima:

cjne r0,#05h,enam mov r1,#'5'

ret enam:

cjne r0,#06h,tujuh mov r1,#'6'

ret tujuh:

cjne r0,#07h,delapan mov r1,#'7'

ret delapan:

cjne r0,#08h,sembilan mov r1,#'8'

ret sembilan:

cjne r0,#09h,transfer mov r1,#'9'

ret tampil:

mov sbuf,75h jnb ti,$ clr ti

mov sbuf,74h jnb ti,$ clr ti

mov sbuf,73h jnb ti,$ clr ti

acall tunda cpl p3.7 ret

tunda:

mov r7,#255 tnd:


(4)

djnz r7,tnd ret

tunda1:

mov r7,#10 tnd1:

mov r6,#255 djnz r6,$ djnz r7,tnd1 ret

pulsa:

mov r7,#23 djnz r7,$ ret


(5)

XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 1 2 M H Z C R Y S T A L C1 33pF C2 33pf R1 1k

+

C3 1uF +5V U lt ra s o n ic P in g ) )) R x T x TIA 11 TIB 5 V + 2 T2 OUT 14 TOA 12 TOB 3 ROA 1 ROB 15 T1 OUT 13 V-4 TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 Connector DB9 S e ri a l C o n n e c to r p o rt t o P C B C945 R2 4K7 Ohm VCC +5V VCC +5V S IG GND R6 1k


(6)

DAFTAR RIWAYAT HIDUP

Saya yang bertanda tangan dibawah ini :

DATA PRIBADI

Nama : Ahmad Zainy

Alamat : Jln. Young Panah Hijau Lor. Kayu Sepang Link IX Medan

Labuhan Deli Medan Marelan

Hp : 081398844066

E-Mail : ucox_nasti@yahoo.com

Tempat/ tanggal lahir : Runding, 24 Oktober 1988

Jenis Kelamin : Laki-laki

Status : Belum Menikah

PENDIDIKAN

2007 – 2010 : DIII Teknik Komputer

Institut Pertanian Bogor

2004 – 2007 : SMU Negeri 1 Panyabungan, jurusan IPA

2001 – 2004 : SMP Negeri 5 Panyabungan

1995 – 2001 : SD Negeri Runding

SEMINAR

 Seminar IT To Day Institut Pertanian Bogor

Demikianlah Daftar Riwayat Hidup ini saya perbuat dengan sebenarnya.

Hormat Saya,