BAB 2 LANDASAN TEORI Secara umum alat akuisisi data terbagi atas dua bagian, yaitu perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras dipergunakan untuk mendeteksi data yang masuk oleh sensor, lalu data tersebut diproses oleh mikrokontroler sebagai unit pengolah data untuk dapat ditampilkan komputer (personal computer) yang telah terinstal perangkat lunak akuisisi data. Perangkat lunak ditujukan untuk mengontrol, menganalisis dan menampilkan data yang masuk melalui alat akuisisi yang dibuat agar sesuai dengan tahapan yang diinginkan. Dengan memahami cara kerja perangkat keras dari alat dan sistem pemrograman perangkat lunak tersebut selanjutnya baru dapat digunakan untuk mendukung bekerjanya alat ini. Salah satu tujuan dibuatnya alat ini ialah sebagai alternatif modul akuisisi data dengan biaya yang lebih murah. Walau kualitas data yang diolah juga tetap menjadi pertimbangan utama. Gambar 2.1 Diagram alur sistem akuisisi data berbasis komputer 5 2.1 Sensor Sensor adalah komponen yang bertugas untuk mengubah besaran fisis (parameter fisis) menjadi besaran elektris (sinyal-sinyal elektrik). Yang termasuk dalam kelompok sensor adalah LM35 sebagai sensor suhu, Light Dependent Resistor (LDR) sebagai sensor cahaya dan potensiometer sebagai alternatif dari sensor posisi. 2.1.1 Sensor Suhu LM35 Sensor suhu adalah komponen untuk mendeteksi atau mengukur suhu pada suatu ruangan atau sistem tertentu yang kemudian diubah keluarannya menjadi besaran listrik. Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu menjadi besaran elektrik tegangan. Gambar 2.2. Bentuk fisik sensor LM35 LM 35 merupakan sensor temperatur yang paling banyak digunakan dalam proyek atau alat elektronika, khususnya dalam lingkungan akademisi. Sebab selain harganya murah, nilai linearitasnya pun cukup baik. Tegangan outputnya sebanding dengan temperatur dalam derajat Celsius (˚C). Sensor ini memiliki parameter bahwa setiap 6 kenaikan 1 ˚C tegangan keluarannya naik sebesar 10 miliVolt (mV) dengan batas maksimal keluaran sensor adalah 1,5 Volt pada suhu 150 ˚C. Sehingga jika ditentukan pengkonversi analog ke digital (Analog to Digital Converter (ADC)) akan mencapai skala penuh (full scale) pada saat suhu 100 ˚C maka nilai keluarannya ialah (10mV/˚C x 100 ˚C) = 1 Volt. Dan jika dilakukan pengukuran secara langsung pada suhu ruang, keluaran LM35 bernilai 0,3 VDC atau 300 miliVolt DC. Sensor suhu LM35 memiliki kelebihan-kelebihan sebagai berikut: • Dikalibrasi langsung dalam Celsius • Memiliki faktor skala linier +10.0 mV/˚C • Memiliki ketepatan 0,5 C pada suhu 25 ˚C • Jangkauan maksimal suhu antara -55 C hingga 150 ˚C • Cocok untuk aplikasi jarak jauh (remote) • Harga cukup murah • Bekerja pada tegangan catu daya 4 sampai 30 Volt DC • Memiliki arus kurang dari 60uAmp ˚C • Pemanasan sendiri (self-heating) yang lambat (±0,08 diudara diam) • Memiliki linearitas yang tinggi dengan nilai ketidaklinearan hanya ±¼ ˚C • Memiliki impedansi keluaran yang kecil yaitu 0,1 watt untuk beban 1mAmp Sensor suhu tipe LM35 merupakan sensor temperatur yang akurat dengan tegangan keluarannnya linier dalam satuan Celsius. Jadi LM35 memiliki kelebihan yang tidak 7 dimiliki sensor suhu lain bila dibandingkan dengan sensor temperatur linier dalam satuan Kelvin. Karena LM35 tidak memerlukan pembanding dengan konstanta tegangan yang besar keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat. LM35 memiliki impedansi keluaran yang rendah, keluaran yang linear, dan sifat ketepatan dalam pengujian membuat interface untuk membaca atau mengontrol sirkuit lebih mudah. Pin Vcc dari LM35 dihubungkan ke power, pin GND dihubungkan ke Ground dan pin Vout yang menghasilkan tegangan analog hasil pengindera suhu dihubungkan ke pin Analog Input (Ain). 2.1.2 Sensor Cahaya Sensor cahaya adalah sensor yang berfungsi mengubah besaran cahaya menjadi intensitas listrik. Dengan kata lain, besarnya cahaya yang masuk ke dalam area sensor tersebut akan diubah menjadi listrik sehingga nilainya dapat diukur. Ada berbagai macam jenis sensor cahaya dan fungsinya, dan salah satunya adalah Light Dependent Resistor (LDR). Light Dependent Resistor atau yang biasa disebut LDR adalah jenis resistor yang nilainya berubah seiring intensitas cahaya yang diterima oleh komponen tersebut. Biasa digunakan sebagai detektor cahaya atau pengukur besaran konversi cahaya. Light Dependent Resistor, terdiri atas sebuah cakram semikonduktor yang mempunyai dua buah elektroda pada permukaannya. Pada saat gelap atau cahaya redup, bahan dari cakram tersebut menghasilkan elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya ada sedikit elektron untuk mengangkut muatan elektrik. 8 Artinya pada saat cahaya redup LDR menjadi konduktor yang buruk, atau bisa disebut juga LDR memiliki resistansi yang besar pada saat gelap atau cahaya redup. Pada saat cahaya terang, ada lebih banyak elektron yang lepas dari atom bahan semikonduktor tersebut. Sehingga akan ada lebih banyak elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya terang LDR menjadi konduktor yang baik, atau bisa disebut juga LDR memiliki resistansi yang kecil pada saat cahaya terang. LDR mempunyai karakteristik yang dapat dilihat pada Gambar 2.3 yaitu apabila intensitas cahaya makin besar, maka tahanan LDR kecil, sebaliknya apabila LDR tidak terkena cahaya atau dalam kondisi gelap maka tahanannya akan menjadi besar bisa mencapai beberapa MΩ. Tetapi apabila seberkas cahaya jatuh mengenai permukaan LDR maka nilai tahanannya akan turun sebanding dengan intensitasnya. Gambar 2.3 Kurva karakteristik Light Dependent Resistor (LDR) 9 Pada sisi bagian atas LDR terdapat suatu garis atau jalur melengkung yang menyerupai bentuk kurva. Jalur tersebut terbuat dari bahan cadmium sulphida yang sangat sensitif terhadap pengaruh dari cahaya. Jalur cadmium sulphida yang terdapat pada LDR dapat dilihat pada Gambar 2.4 Gambar 2.4 Bentuk fisik Light Dependent Resistor (LDR) Jalur cadmium sulphida dibuat melengkung menyerupai kurva agar jalur tersebut dapat dibuat panjang dalam ruang (area) yang sempit. Cadmium sulphida (CdS) merupakan bahan semikonduktor yang memiliki celah energi antara elektron konduksi dan elektron valensi. Ketika cahaya mengenai cadmium sulphida, maka energi proton dari cahaya akan diserap sehingga terjadi perpindahan dari band valensi ke band konduksi. Akibat perpindahan electron tersebut mengakibatkan hambatan dari cadmium sulphida berkurang dengan hubungan kebalikan dari intensitas cahaya yang mengenai LDR. 10 Resistansi LDR akan berubah seiring dengan perubahan intensitas cahaya yang mengenainya atau yang ada di sekitarnya. Dalam keadaan gelap resistansi LDR sekitar 10MΩ dan dalam keadaan terang sebesar 1KΩ atau kurang. LDR terbuat dari bahan semikonduktor seperti kadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah mengalami penurunan. Namun perlu juga diingat bahwa respon dari rangkaian transistor akan sangat bergantung pada nilai LDR yang digunakan. Lebih tinggi nilai tahanannya akan lebih cepat respon rangkaian. Akan lebih mudah mengatur respon rangkaian bila menggunakan Op-Amp sebagai penguat atau saklar pada rangkaian LDR. Untuk itu dapat digunakan berbagai jenis Op-Amp yang tersedia. Kalau tersedia jenis CMOS atau yang lain tidak akan mempengaruhi penampilan LDR pada rangkaian. Hal ini bergantung pada aplikasi rangkaian yang akan kita rakit. Apakah keluaran Op-Amp akan tinggi saat LDR tidak mendapat cahaya atau keluaran Op-Amp akan mencapai tegangan supply pada saat LDR mendapat cahaya. Dengan sifat LDR yang demikian, maka LDR (Light Dependent Resistor) biasa digunakan sebagai sensor cahaya. 2.1.3 Potensiometer Potensiometer merupakan komponen dasar elektronika yang termasuk kategori resistor variable. Resistor variable ialah resistor yang nilai hambatannya dapat diubah-ubah atau tidak tetap. Resistor variable nilai hambatannya dapat diubahubah dengan memutar poros yang telah tersedia. Potensiometer merupakan bagian dari sebuah resistor. Namun, bila dilihat dari bentuk fisiknya potensiometer tidak 11 memiliki gelang warna untuk menentukan nilai tahanannya, melainkan oleh putaran atau pergeseran. Gambar 2.5. Bentuk fisik Potensiometer Nilai dari potensiometer ini bisa berubah sesuai perputaran ataupun pergeseran. Range yang dihasilkan oleh potensiometer bervariasi, jika tertera nilai 100 KΩ, maka range resistansi dimulai dari tahanan 0 Ω sampai 100 KΩ. Potensiometer biasa digunakan sebagai komponen pengatur suara, sebagai alternatif sensor posisi, maupun pengendali masukan dan keluaran sebuah operasi elektronik. 2.2 Arduino Bila didefinisikan secara sederhana Arduino adalah papan rangkaian elektronika yang memiliki komponen utama berupa chip mikrokontroler jenis AVR dari ATMEL, yang disertai beberapa pin atau terminal penghubung. Arduino merupakan salah satu hasil inovasi di bidang elektronika yang telah membuat 12 perubahan besar dalam dunia mikrokontroler sehingga seseorang yang awam sekalipun bisa membuat proyek-proyek elektronika dengan relatif mudah dan cepat. Sebagaimana jenis mikrokontroler yang lain, Arduino dapat diprogram menggunakan komputer sesuai kebutuhan. Chip pada Arduino sudah dilengkapi dengan bootloader yang akan menangani proses upload dari komputer. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi. Dengan adanya bootloader ini maka tidak lagi diperlukan chip programmer tambahan kecuali untuk menanamkan bootloader pada chip yang masih blank (kosong). Gambar 2.6. Bentuk fisik Arduino Uno Dalam buku ”Getting Started with Arduino”, Arduino dituliskan sebagai sebuah platform komputansi fisik (Physical Computing) yang open source pada board input output sederhana. Namun perlu dipahami bahwa kata “platform” yang dimaksud 13 adalah sebuah pilihan kata yang mengandung arti bahwa Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi juga kombinasi dari perangkat keras (hardware), bahasa pemrograman (software) dan Integrated Development Environment (IDE) yang dapat mendeteksi dan merespon situasi dan kondisi yang ada didunia nyata. IDE yang dimaksud adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memori mikrokontroler. Arduino berevolusi menjadi sebuah platform yang dapat menjadi pilihan dan acuan bagi banyak praktisi di bidang elektronika. Sehingga diharapkan dimasa yang akan datang akan tercipta suatu inovasi-inovasi teknologi cangggih yang menggunakan Arduino sebagai dasar pengendalinya. Kelebihan Arduino dari platform hardware mikrokontroler lainnya adalah sebagai berikut: 1. Arduino merupakan hardware dan software multi-platform, yang dapat dijalankan di berbagai sistem operasi, seperti Windows, Macintosh dan Linux. Bahkan Arduino juga memiliki kompabilitas dengan sistem operasi mobile terpopuler seperti Android. 2. IDE Arduino dibuat berdasarkan pada IDE Processing yang sederhana sehingga mudah dipelajari dan digunakan. 3. Pemprograman Arduino menggunakan kabel yang terhubung dengan port USB bukan serial biasa ataupun paralel. Fitur ini berguna karena banyak komputer sekarang ini yang tidak memiliki port serial atau paralel. 14 4. Arduino adalah hardware dan software open source sehingga siapapun dapat mendownload software dan membuat aplikasi rangkaian Arduino sendiri tanpa harus membayar lisensi ke pembuat Arduino. 5. Biaya hardware Arduino yang relatif murah dan terjangkau cukup menguntungkan bagi kalangan akademisi (mahasiswa) dan penghobi elektronika. 6. Arduino dikembangkan dalam lingkungan akademisi hingga skala industri. Sehingga siapapun dapat mudah mempelajari, memodifikasi, dan bahkan mengkomersialisai produk elektronika buatannya yang merupakan turunan Arduino. 7. Arduino memiliki begitu banyak pengguna dan komunitas di internet yang dapat membantu bagi siapapun yang mengalami kesulitan dalam penggunaannya. Dari kelebihan-kelebihan tersebut dapat diperoleh kesimpulan bahwa Arduino lebih dari sekedar papan rangkaian elektronika biasa. 2.2.1 Perangkat keras (hardware) Arduino Uno Seperti yang telah dijelaskan sebelumnya, Arduino merupakan papan rangkaian elektronika yang terdiri dari chip mikrokontroler sebagai unit pemproses data dan beberapa komponen lain yang saling terkoneksi dalam satu papan rangkaian. Namun, Arduino memiliki beragam jenis dan tipe dengan spesifikasi yang berbedabeda pula. Dan Arduino Uno adalah salah satu dari sekian banyak tipe Arduino yang 15 ada. Perangkat keras papan rangkaian (board) Arduino Uno seri R3 yang digunakan dalam alat akuisisi data ini memiliki spesifikasi data teknis sebagai berikut: • Chip mikrokontroler : ATMEGA328 • Tegangan Operasi : 5 VDC • Tegangan Input (eksternal) : 7 - 12 VDC • Pin digital I/O : 14 (6 diantaranya pin PWM) • Pin Analog input : 6 • Arus DC per pin I/O : 40 mA • Arus DC untuk pin 3.3 V : 150 mA • Flash Memory : 32 KB dengan 0.5KB digunakan untuk bootloader • SRAM : 2 KB • EEPROM : 1 KB • Kecepatan Pewaktuan : 16 Mhz Namun, selain spesifikasi teknis yang disebutkan diatas, pada papan rangkaian Arduino Uno juga terdapat beberapa pin atau terminal yang digunakan untuk berhubungan dan berkomunikasi dengan peralatan elektronika lain. Masing-masing pin atau terminal tersebut pun memiliki fungsi dan tugas tersendiri. Berikut ini adalah nama pin-pin atau terminal yang disertai penjelasan dari tiap bagian terminal atau pin Arduino Uno seri R3 yang digunakan: 1. Soket USB (Universal Serial Board) 16 Soket USB adalah soket atau terminal yang ada pada Arduino untuk menghubungkan dan mentransmisikan data dari Arduino ke komputer, laptop atau perangkat elektronika lain, dan sebaliknya. Selain sebagai port komunikasi serial, soket USB juga berfungsi untuk memberikan power ke Arduino. Sehingga tanpa rangkaian power supply tambahan (eksternal) sekalipun, Arduino masih tetap dapat memperoleh tenaga listrik dari soket USB. 2. Pin digital Input/Output Pin digital Input/Output atau digital pin adalah serangkaian pin-pin yang berguna untuk menghubungkan Arduino dengan komponen atau rangkaian digital. Misalnya saja jika ingin membuat LED berkedip, LED tersebut bisa dipasang pada salah satu pin I/O digital dan ground. Komponen lain yang menghasilkan output digital ataupun menerima input digital bisa juga dapat disambungkan ke pin-pin ini. 3. Input analog Input analog atau analog pin adalah serangkaian pin-pin yang berfungsi untuk menerima sinyal ataupun data dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu (LM35), sensor cahaya (LDR), dan lain sebagainya. 4. Catudaya Pin catu daya adalah pin yang berfungsi untuk memberikan tegangan pada komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan Reset. Vin digunakan untuk memberikan tegangan langsung kepada Arduino tanpa melalui tegangan USB atau adaptor. Reset adalah pin untuk memberikan sinyal reset melaui tombol atau rangkaian eksternal. 5. Adaptor 17 Soket baterai atau adaptor digunakan untuk menyuplai Arduino dengan tegangan dari baterai atau adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Jika Arduino sedang disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB,sehingga tidak lagi diperlukan tambahan power dari luar (eksternal) seperti memasang baterai atau adaptor saat memprogram Arduino. Gambar 2.7. Keterangan pin-pin pada Arduino Uno Arduino Uno memiliki kaki input-output (I/O) digital sebanyak 14 kaki, yaitu dikaki D0 sampai D13, dan memiliki 6 kaki I/O analog, yaitu dikaki A0 sampai A5. Khusus untuk kaki-kaki I/O digital, setiap kakinya bisa dijadikan sebagai input atau output. Namun untuk kaki I/O analog, hanya bisa dijadikan sebagai input saja. Sebagai input analog, keenam kaki ini memiliki tambahan rangkaian Analog to Digital Converter (ADC) didalamnya, dengan resolusi ADC sebesar 10 bit. Resolusi 18 10 bit berarti untuk tegangan masukan 0-5 VDC nilai digital yang dihasilkan memiliki jangkauan nilai dari 0-1023. Arduino tidak memiliki kaki output analog. Untuk menghasilkan sinyal analog, dapat menggunakan sebuah sinyal Pulse Width Modulation (PWM), yaitu sebuah cara untuk menghasilkan sinyal analog dari sinyal digital, dengan cara mengatur lebar pulsa sinyal digital pada frekuensi yang tinggi. Sehingga rata-rata tegangannya menghasilkan nilai yang bervariasi antara 0-5 VDC, untuk nilai PWM antara 0-255. Karena dibuat dari sinyal digital, maka kaki output analog PWM ini berada dikaki I/O digital yang jumlahnya sebanyak 6 kaki, yaitu kaki D3, D5, D6, D9, D10, dan D11. Ada 2 buah kaki I/O Arduino yang dikhususkan untuk komunikasi dengan komputer, yaitu kaki D0 dan kaki D1. Kaki D0 digunakan untuk menerima data atau Rx (Receive), sedangkan kaki D1 digunakan untuk mengirimkan data atau Tx (Transmit). Komunikasi dilakukan secara serial dan kecepatan komunikasi harus diatur baik disisi Arduino maupun disisi komputer. 2.2.2 Perangkat Lunak (software) Arduino Integrated Development Environment (IDE) Arduino adalah software yang sangat canggih dan ditulis dengan menggunakan bahasa pemprograman Java. Seperti disebutkan sebelumnya, IDE Arduino adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memori mikrokontroller. Toolbar atau pilihan menu yang ada pada IDE Arduino terdiri dari: 19 • Editor program, yaitu sebuah window yang memungkinkan penggunanya menulis dan mengedit program dalam bahasa processing. • Compiler, yaitu sebuah modul yang mengubah kode program (bahasa processing) menjadi kode biner. Sebab, sebuah mikrokontroler tidak akan bisa memahami bahasa processing. Yang bisa dipahami oleh mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini. • Uploader, yaitu sebuah modul yang memuat kode biner dari komputer ke dalam memori di dalam papan Arduino. 20 Gambar 2.8. Tampilan IDE Arduino Suatu kumpulan kode program Arduino yang akan digunakan dalam proses eksekusi kode-kode program disebut dengan sketch. Sehingga kata “sketch” digunakan secara bergantian dengan “kode program” dimana keduanya dapat diasumsikan memiliki arti yang sama. 21 Berikut ini merupakan langkah-langkah penggunaan IDE Arduino: 1. Hubungkan Arduino dengan port USB komputer melalui kabel USB. 2. Jalankan software IDE Arduino dengan mengklik 2x ikon Ardunio. 3. Buat program atau buka program yang telah ada melalui menu File > Open di jendela Editor Arduino. 4. Tekan tombol Verify. Apabila tidak terdapat kesalahan pada sketch, maka sketch tersebut akan dikompilasi untuk menghasilkan kode mesin. Proses kompilasi ini selesai ketika muncul tulisan ”Done Compiling” di bawah jendela Editor. 5. Setelah kode mesin dihasilkan, langkah berikutnya adalah meng-upload kode mesintersebut ke board Arduino. Namun sebelum menekan tombol Upload, pastikan 2 hal ini sudah benar. Yang pertama adalah tipe board Arduino dan kedua adalah saluran port serial yang digunakan. Kedua hal ini dapat diatur dengan membuka menu Tools, dan pilih Board untuk mengatur tipe boardnya, dan pilih Serial Port untuk mengatur saluran port COM yang digunakan pada komputer. Bila pilihan serial port-nya tidak bisa digunakan, maka kemungkinan penyebabnya karena kabel USB Arduino belum dikoneksikan atau driver Arduino belum terinstal dengan benar. 6. Setelah itu, tekan tombol Upload. Selanjutnya proses pengiriman kode mesin ke board Arduino akan berlangsung. Proses upload ini selesai ketika muncul tulisan ”Done Uploading” dibagian bawah jendela Editor Arduino. 7. Terakhir, simpan program dengan menekan tombol Save. 22 2.3 Laboratory Virtual Instrumentation Engineering Workbench (LabVIEW) Dalam sebuah sistem akuisisi data modern, umumnya terdapat suatu perangkat lunak (software) yang digunakan untuk memproses atau mengolah data. Suatu perangkat lunak yang apabila dipadukan secara baik dan benar dengan perangkat keras elektronika dapat mengubah komputer menjadi suatu sistem pemproses, penganalisa, dan penampil data terpadu yang biasa disebut sistem akuisisi data atau DAQ System (Data Acquisition System). Oleh karena itu pemilihan perangkat lunak yang akan digunakan pada alat akuisisi data sangat penting. Apabila ditinjau dari bahasa pemprograman yang digunakannya, perangkat lunak akuisisi data dapat dibagi menjadi dua macam : 1. Perangkat lunak tingkat penggerak (driver-level) Perangkat lunak tingkat penggerak menyederhanakan program akuisisi data dengan cara menangani secara langsung sistem pemprograman pada tingkat rendah (low-level programming) agar dapat memberikan berbagai fungsifungsi tingkat tinggi (high-level functions) yang dapat dipanggil dalam bahasa pemprograman yang digunakan. Umumnya perangkat lunak (software) ini menggunakan bahasa pemprograman berbasis teks. Contoh perangkat lunak ini antara lain bahasa assembler. 2. Perangkat lunak tingkat aplikasi (application-level) Perangkat lunak tingkat aplikasi adalah perangkat lunak akuisisi data yang langsung dapat digunakan sebagai aplikasi dalam pengontrolan ataupun perolehan data. Perangkat lunak atau software-software yang termasuk ke 23 dalam kategori ini seperti LabVIEW, Visual Basic, Microsoft Visual C++, dan lain-lain. Keunggulan perangkat lunak tingkat aplikasi adalah lebih mudah memahami (visualisasi) hasil programnya. Dan dari sekian banyak perangkat lunak yang dapat digunakan untuk proses akuisisi data, LabVIEW merupakan salah satu yang terbaik. Sebab, LabVIEW merupakan perangkat lunak yang mudah digunakan karena telah disediakan berbagai macam tool untuk berbagai jenis instrumen. LabVIEW (Laboratory Virtual Instrument Engineering Workbench) adalah bahasa pemrograman berbentuk grafik (graphical), teks (text) dan ikon (icon) yang dapat membuat suatu visualisasi instrumen secara virtual untuk akusisi data, analisis sinyal, dan pengontrolan instrumen. Sehingga bila dibandingkan dengan bahasa pemprogramman lain yang pada umumnya lebih sering menggunakan perintah-perintah berdasarkan teks saja, LabVIEW lebih menarik karena informasi yang diperoleh oleh perangkat keras alat akuisisi data lebih mudah dipahami. Software ini pertama kali dikembangkan oleh perusahaan National Instruments (NI) pada tahun 1986. Beberapa kelebihan LabVIEW dibandingkan dengan bahasa pemprograman lainnya adalah sebagai berikut: 1. Bahasa pemprograman LabVIEW jelas dan mudah dipahami, karena berbentuk grafis, dengan instruksi berbentuk ikon-ikon, yang dihubungkan dengan garis atau kawat (wire) untuk menunjukan aliran data, mirip seperti flowchart. 24 2. Pembuatan programnya mudah, yaitu hanya dengan men-drag and drop ikon yang telah tersedia di palet (kotak instruksi), dan menghubungkannya dengan garis atau kawat (wire) ke ikon yang lainnya. Kawat ini memiliki fungsi yang sama seperti variabel dalm bahasa pemprograman teks. Dengan cara ini, LabVIEW menyederhanakan cara pemprograman, karena kawat hanya akan terhubung dengan benar apabila tipe datanya sesuai. Sehingga hal ini dapat menghilangkan kebutuhan manajemen memori dan deklarasi tipe data dar setiap variabel seperti dalam bahasa pemprograman teks. Selain itu, pada LabVIEW juga tidak perlu mengingat nama-nama instruksi karena semua ditampilkan pada palet. Jadi, yang diperlukan hanya men-drag and drop pada kategori yang telah disediakan ataupun dengan menggunakan fasilitas bantuan tombol Search untuk menemukannya. 3. Karena mudah dipahami dan dibuat, maka hal tersebut dapat mempersingkat waktu pembuatan program. Begitu pula untuk perbaikan programnya, karena dibuat dalam bentuk grafis yang interaktif, maka perbaikannya menjadi lebih cepat dan efisien. 4. Dari tahun 1986 sampai sekarang, LabVIEW telah memiliki integrasi dengan ribuan hardware dan ratusan pustaka komponen elektronika (library) yang siap digunakan untuk aplikasi di bidang instrumentasi, pengolahan sinyal, analisis dan visualisasi data hingga terkoneksi ke internet. 5. LabVIEW telah terbukti di dunia industri sebagai software yang handal, powerful, dan fleksibel. Selain itu juga dapat diintegrasikan dari software lain seperti MATLAB, SPICE, Simulink, SolidWorks dan Lego Mindstorms. 25 6. Dengan mempelajari LabVIEW, dapat menjembatani dunia pendidikan atau akademisi dengan dunia industri. Sebab jika software yang digunakan sama, maka transisi dan transfer teknologi dari dunia pendidikan atau akademisi ke industri menjadi lebih mudah. 7. LabVIEW didesain sebagai sebuah bahasa pemprograman yang mampu menangani beberapa instruksi sekaligus dalam waktu bersamaan. Hal ini sangat sulit dilakukan dalam bahasa pemprograman teks, karena umumnya bahasa pemprograman teks mengeksekusi instruksinya secara berurutan baris per baris atau satu demi satu. Dengan LabVIEW, penggunanya dapat membuat aplikasi eksekusi paralel secara mudah dengan menempatkan beberapa struktur loop secara terpisah dalam block diagram. 8. Sifat modular LabVIEW memungkinkan penggunanya untuk membuat program yang kompleks dan rumit menjadi sederhana, yaitu dengan cara membuat subprogram, atau dilingkungan LabVIEW biasa disebut subVI. Dan subVI-subVI tersebut dapat digabungkan menjadi subVI lain hingga pada hierarki tak terbatas. 9. Adanya komunitas LabVIEW dan dukungan dari pihak National Instruments (NI) yang begitu besar untuk dunia pendidikan atau akademisi menjadi semakin mudah untuk memahami dan saling berbagi dalam mengerjakan suatu proyek-proyek elektronika. 26 Gambar 2.9. Tampilan awal software LabVIEW 2011 Pada LabVIEW ada 2 macam bentuk tampilan yaitu Block Diagram dan Front Panel. Hubungan diantara kedua hal tersebut adalah setiap ikon control dan indicator di front panel memiliki terminal yang saling berhubungan di block diagram. Dengan kata lain, antara block diagram dan front panel telah saling terhubung satu sama lain. Pada saat sebuah program di LabVIEW berjalan, nilai dari control mengalir di block diagram, dan hasilnya menuju ke indicator. 27 Dalam pengkoneksian antara LabVIEW dengan device lain diluar komputer digunakan sebuah driver untuk pengkoneksian tersebut. Karena seperti bahasa pemprograman lain, saat akan melakukan pengkoneksian antara komputer dengan device lain diperlukan proses penginisialisasian perangkat keras yang digunakan. Dan dikarenakan pada alat akuisisi data yang digunakan merupakan komunikasi serial maka ada beberapa parameter penting yang harus diinisialisasi dalam sistem akuisisi data menggunakan komunikasi serial, diantaranya: • I/O resource name, • baudrate, • data bits, • parity, • stop bits, • flow control, • delay before read. Semua penginisialisasian ini bertujuan agar antara software dengan hardware yang digunakan dapat sinkron atau cocok dalam melakukan pengiriman dan penerimaan data tanpa harus ada kesalahan yang mengakibatkan data yang dibaca atau dikirim tersebut mengalami kesalahan (error). Dan untuk alat akuisisi data yang berbasis LabVIEW memilih menggunakan sistem komunikasi serial, umumnya akan memiliki bentuk pemprogramman pada driver atau inisialisasi alat sebagai berikut : 28 Gambar 2.10. Tampilan program serial LabVIEW dalam block diagram Gambar 2.11. Tampilan program serial LabVIEW dalam front panel 29 Setelah pengkoneksian antara alat akuisisi data yang dibuat dengan komputer atau laptop dapat terkoneksikan dengan baik, data yang masuk ke LabVIEW akan diolah hingga dapat menjadi sebuah tampilan atau visualisasi grafis agar dapat mendeteksi tingkat pengukuran suatu parameter fisis seperti suhu, cahaya, dan lain sebagainya tergantung yang diinginkan oleh penggunanya. 30