Upload
priyanka-kusuma-wardhani
View
44
Download
3
Embed Size (px)
Citation preview
Modul 6 – Array, Case Structure, dan For Loop
Priyanka Kusuma Wardhani (081117029) Dosen: Akif Rahmatillah, ST, MT. Tanggal Percobaan: 23 Mei 2014 Praktikum Instrumentasi Biomedis
Laboratorium Instrumentasi Medis Departemen Fisika Universitas Airlangga
Abstrak
LabVIEW merupakan sebuah software
pemrograman berbasis grafis atau graphical
programming. Pemrograman LabVIEW tetap
menyediakan struktur pemrograman dasar seperti
Array, percabangan, dan perulangan. Praktikum ini
mempelajari tentang struktur pemrograman Array,
percabangan, dan perulangan dengan perintah if-
then-else, case structure, dan while loop. Praktikan
mampu membuat program sebuah simulasi nyala
lampu sederhana jika diberi kondisi tertentu dan
pemilihan jenis sinyal.
Kata kunci: LabVIEW, array, case structure, while
loop
1. Pendahuluan
LabVIEW merupakan sebuah software
pemrograman berbasis grafis atau graphical
programming. LabVIEW berbeda dengan compiler
lain seperti MATLAB, Delphi, atau Visual Studio
yang berbasis text programming. Walaupun
demikian, pemrograman LabVIEW tetap
menyediakan struktur pemrograman dasar seperti
percabagan dan perulangan. Pada praktikum ini,
praktikan mempelajari pemrograman pada
LabVIEW tentang array, pemilihan kalang case
structure, percabangan if..then, dan perulangan for
loop. Tujuan dari praktikum ini adalah praktikan
mampu memahami dasar-dasar array, percabangan,
dan perulangan pada LabVIEW. Pada praktikum ini,
praktikan mampu membuat sebuah program yang
terdiri dari struktur pemrograman tersebut.
2. Studi Pustaka
2.1 Array
Array adalah sekelompok data sejenis yang
disimpan ke dalam variabel dengan nama yang
sama, dengan memberi indeks pada variabel
untuk membedakan antara yang satu dengan
yang lain. Array terdiri atas elemen-elemen dan
dimensi. Elemen-elemen adalah data yang
menyusun Array, sedangkan dimensi adalah
ukuran Array. Array dapat memiliki satu atau
lebih dimensi. Elemen array dapat bertipe data
numerik, boolean, path, string, atau waveform
asalkan dalam satu Array, semua elemen
tersebut bertipe data yang sama [1].
Ada dua cara untuk menciptakan sebuah
Array. Cara pertama dengan memasukkan nilai
elemen Array satu per satu dari objek Array di
if-then-else jendela Front Panel. Sedangkan cara
kedua adalah secara otomatis membangkitkan
Array dengan menggunakan struktur Loop di
jendela Block Diagram [1].
Gambar 2.1. Tools Array pada Front Panel
2.2 Perulangan If...Then dan Case Structure
Pernyataan seleksi memungkinkan suatu
pertanyaan dieksekusikan hanya jika suatu
kondisi terpenuhi atai tidak terpenuhi. Secara
garis besar, LabVIEW menyediakan dua buah
pernyataan yang terkait dengan seleksi, yauti
pernyataan if dan switch. Aliran ini digunakan
untuk menentukan alur jalannya eksekusi
program. Alur eksekusi program ditentukan dari
nilai kebenaran kondisi yang ditentukan. Jika
(kondisi) bernilai benar maka perintah
dikerjakan, jika (kondisi) salah maka tidak
mengerjakan perintah apapun.
Pengertian if adalah ―Jika kondisi bernilai
benar, maka perintah akan di kerjakan dan jika
tidak memenuhi syarat maka akan diabaikan‖.
Berbeda dengan penyataan if-else, Pengertian if-
else adalah ―Jika kondisi bernilai benar, maka
perintah–1 akan dikerjakan dan jika tidak
memenuhi syarat maka akan mengerjakan
perintah–2‖. Case structure menyediakan
percabangan dengan banyak pilihan, ―jika syarat
A terpenuhi, maka pilih perintah—1; jika syarat
B terpenuhi, maka pilih perintah—2; jika syarat
C terpenuhi, maka pilih perintah—3; dan
seterusnya‖.
Perintah if-then-else pada LabVIEW
disediakan pada Block Diagram di tools
Programming. Perintah tersebut terdapat dalam
Comparison. Jadi, if-then-else tereksekusi jika
terdapat pembanding antar syarat.
Gambar 2.2. Tools Comparison untuk perintah
pada LabVIEW
Case Structure memiliki dua atau lebih
blok, namun hanya satu saja yang dieksekusi
pada satu waktu. Blok yang akan dieksekusi
tergantung dari nilai input terminal selector. Di
bagian atas setiap blok terdapat label yang
menunjukkan nilai input yang mengaktifkannya.
Tipe data nilai input ini bisa berupa Boolean
(true atau false), Integer, String, atau
Enumerasi. Enumerasi merupakan tipe data
yang terdiri atas sekumpulan nilai [1].
Gambar 2.3. Perintah Case Structure dengan
nilai input Enumerasi
2.3 While Loop
Pada LabVIEW, struktur While Loop
memiliki 3 komponen utama, yaitu blok yang
dapat diatur luasannya, terminal input
conditional (stop if true), dan sebuah terminal
output counter (i) [1].
Struktur While Loop akan terus
mengeksekusi ikon-ikon di dalam bloknya
berulang kali hingga terminal input conditional
(stop if true) mendapat nilai false, sebaliknya
perulangan akan berhenti ketika mendapatkan
nilai True. Terminal input conditional dapat
diubah dari stop if true menjadi continue if true.
Sedangkan nilai output counter (i) akan
memberikan nilai jumlah perulangan yang telah
selesai dilakukan, yang dimulai dari 0.
Biasanya, sebagai delay, perlu ditambahkan
perintah wait dan dierikan nilai konstanta
tertentu untuk seberapa lama delay perulangan
[1].
Gambar 2.4. Kalang While Loop dengan delay
1 detik
3. Metodologi
Praktikum ini menggunakan software LabVIEW
2011 dan dilakukan di Laboratorium Instrumentasi
Biomedis Departemen Fisika Universitas Airlangga.
Tahapan praktikum:
• Pengenalan Array, struktur pemrograman if..then, perulangan while loop, dan case structure
• Membuat program simulasi nyala Lampu LED dengan batas tertentu menggunakan prinsip If-then-else
• Membuat program pemilihan jenis sinyal dengan printah While Loop dan case structure
4. Hasil dan Pembahasan
4.1. Simulasi Nyala LED dengan Nilai Batas
dan Array
a. Tampilan GUI
Gambar 4.1. tampilan GUI simulasi nyala
lampu LED dengan batas nilai
b. Tampilan Block Diagram
Gambar 4.2. Block Diagram simulasi
nyala Lampu LED dengan batas nilai
c. Pembahasan
Pada program ini, praktikan membuat
dua kondisi, yaitu LED menyala dengan
nilai batas 10 (diatur di Block Diagram)
dan LED menyala sesuai dengan batas yang
diinput oleh user. Pada GUI di Front Panel,
praktikan menggunakan Array dengan tipe
data numerik sebagai indikator input LED,
Array dengan tipe data boolean yang berisi
tools LED, dan String Control sebagai
input nilai batas oleh user.
Pada dasarnya, program ini
menggunakan perintah if-then. Praktikan
meletakkan dalam kalang While Loop
sehingga program tetap berulang. Perintah
dasar program ini adalah ―jika nilai elemen
Array bernilai lebih dari 10 atau lebih dari
nilai yang diinput oleh user, maka LED
akan menyala‖. Maka, pada Block
Diagram, praktikan memberikan perintah
Greater Than. Input Greater Than
dihubungkan dengan Array Control pada
Front Panel dan Array Constanta yang
ditambahkan di Block Diagram. Nilai
elemen pada Array Constanta adalah 10
sehingga LED akan menyala jika elemen
pada Array Control bernilai lebih dari nilai
elemen pada Array Constanta (10).
Selanjutnya, praktikan melakukan
sedikit modifikasi pada program sehingga
user bisa mengberikan batas nilai minal
LED bisa menyala. Praktikan tetap
menggunakan perintah Greater Than.
Namun, pada variabel pembanding,
praktikan tidak memberikan nilai Array
Constanta, melainkan String Control yang
diubah menjadi Numerik dengan perintah
Decimal String to Numerik. Perubahan tipe
data ini perlu dilakukan, karena tipe data
String Control adalah string, sedangkan
variabel pembanding harus bertipe data
decimal (menyesuaikan dengan tipe data
Array).
4.2. Pemilihan Jenis Sinyal dengan
Pengaturan Frekuensi dan Amplitudo
a. Tampilan GUI
Gambar 4.2. tampilan GUI program pemilihan
sinyal
b. Tampilan Block Diagram
Gambar 4.3. Bock Diagram pemrograman aplikasi
pemilihan sinyal
c. Pembahasan
Program ini menyediakan pilihan
jenis sinyal yang bisa dipilih oleh user.
Jenis sinyal yang disediakan antara lain
sinyal sinus, persegi, sawtooth, dan
segitiga. Untuk membuat tampilan GUI,
praktikan menambahkan waveform graph
(untuk menampilakan sinyal di domain
waktu dan domain frekuensi), pointer slide
(untuk memberikan input nilai frekuensi
dan amplitudo), dan enumeration.
Program ini menggunakan perintah
dasar Case Structure dan While Loop.
Praktikan membuat percabangan Case
Structure di dalam kalang While Loop agar
sinyal yang ditampilkan bisa real time. Jika
tidak diberi kalang While Loop, maka
sinyal yang ditampilkan stasioner. Delay
perulangan yang diberikan dengan perintah
tool Wait adalah 0,1 sekon atau 100 ms.
Agar user bisa memilih jenis sinyal, maka
ditambahkan perintah Case Struture. Dalam
kalang Case Structure ini terdapat subVI
FFT Power Spectrum and PSD.vi yang
berfungsi untuk mengubah sintyal dari
domain waktu menjadi domain frekuensi
dan subVI waveform generator.
Yang menjadi pembeda pada setiap
pemilihan sinyal adalah jenis waveform
yang digunakan disesuaikan dengan pilihan
sinyal. Jika input blok berupa sinyal sinus,
maka digunakan subVI Sine Waveform.vi;
Jika input blok berupa sinyal sawtooth,
maka digunakan subVI Sawtooth
Waveform.vi; Jika input blok berupa sinyal
persegi, maka digunakan subVI Square
Waveform.vi; dan Jika input blok berupa
sinyal segitiga, maka digunakan subVI
Triangle Waveform.vi. Jenis input sinyal ini
menggunakan enumeration
5. Kesimpulan
- Program simulasi nyala LED menggunakan
struktur pemrograman percabangan if-then
dan Array
- Program jenis-jenis sinyal menggunakan
struktur pemrograman percabangan Case
Structure dan kalang While Loop.
Daftar Pustaka
[1] Artanto, Dian. 2012. Interaksi Arduino dan
LabVIEW. Jakarta: PT ElexMedia Komputindo,
Gramedia
Lampiran
Flowchart Program Simulasi LED
Mulai
Input nilai
elemen Array
I=10
I<10
Output LED
(mati atau
nyala)
Stop
LED mati
Selesai
LED
nyala
YA
TIDAK
Mulai
Input nilai
elemen Array
dan batas (n)
I<n
Output LED
(mati atau
nyala)
Stop
LED mati
Selesai
LED
nyala
YA
TIDAK
Flowchart Program Penampil Empat Jenis Sinyal
Mulai
Selesai
Input tipe sinyal
(dengan
enumeration)
Sinyal Sinus
Input freq dan amplitudo
Sine
Waveform.vi
FFT power
spectrum and
PSD.vi
Sinyal
persegi
Input freq dan
amplitudo
Square
Waveform.vi
FFT power
spectrum and
PSD.vi
Sinyal
Sawtooth Input freq dan
amplitudo
Sawtooth
Waveform.vi
FFT power
spectrum and
PSD.vi
Sinyal
Segitiga Input freq dan
amplitudo
Triangle
Waveform.vi
FFT power
spectrum and
PSD.vi
Waveform grapf domain
waktu
Waveform
grapf domain
freq
Y
Y
Y
Y
T
T
T