• Tidak ada hasil yang ditemukan

LANDASAN TEOR

2.5 Perangkat Lunak sistem

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

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

Label Mnemonic Operan 1 operan 2 komentar

(isi memori) (opcode)

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 : ... ACALL TUNDA ... TUNDA: ... 4. Instruksi RET

Instruksi Return (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA ...

TUNDA: ... RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh:

Loop: ... ... JMP Loop

6. InstruksiJB (Jump if bit)

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

Contoh:

Loop:

JB P1.0,Loop ...

7. Instruksi JNB (Jump if Not bit)

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

Contoh:

Loop:

JNB P1.0,Loop ...

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh: Loop: ... CJNE R0,#20h,Loop ...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.

9. InstruksiDEC(Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh: MOV R0,#20h R0 = 20h ... DEC R0 R0 = R0 – 1 ...

10. InstruksiINC (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.5.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 di bawah ini.

Gambar 2.11 8051 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 nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.Software 8051IDE ini berfungsi untuk merubah program yang dibuat

di-converter ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat

meng-compile program. Bilangan heksadesimal inilah yang akan di-download ke mikrokontroller.

2.5.3 Software Downloader

Untuk men-download bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a berupa software open source dandapat didownload dari internet. Tampilannya seperti gambar berikut ini.

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

2.5.4 VISUAL BASIC 6.0

Pada projek system 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 berikut:

Gambar 2.13 Interface antar muka Visual Basic 6.0

2.5.4.1 Konsep Dasar Pemrograman Dalam Visual Basic 6.0

Konsep dasar pemrograman Visual Basic 6.0, adalah pembuatan form dengan mengikuti aturan pemrograman Property, Metode dan Event. Keterangan aturan tersebut yaitu:

a. Property

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

Command1.Caption=”Play” Text1.Text=”Visual Basic” Label1.Visible=False Timer1.Enable=True

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

c. Event

Setiap komponen dapat beraksi melalui event, seperti event click pada command button yang tertulis dalam layar script Command1_Click, atau event Mouse Down pada picture yang tertulis dengan Picture1_MouseDown. Pengaturan event dalam setiap komponen yang akan menjalankan semua metode yang dibuat.

2.6 Flow Chart

Flowchart adalah bagan (chart) yang menggambarkan aliran (Flow) dan digambarkan

dengan simbol-simbol grafis bertujuan untuk menggambarkan arus data dari program, sehingga memudahkan untuk merancang program aplikasi. Simbol-simbol yang digunakan pada bagan flowchart antara lain seperti tabel 2.1.

Tabel 2.1 Simbol-simbol Flowchart program

Simbol Nama Keterangan Fungsi

TERMINATOR Permulaan / akhir program

GARIS ALIR

(FLOW LINE) Arah aliran program

PREPARATION Proses inilisasi/pemberian harga awal

PROCESS Proses pengolahan data

INPUT / OUTPUT DATA

proses input/output data, prameter, informasi

PREDEFINED PROCESS (SUB-PROGRAM)

Permulaan sub program/proses menjalankan sub program

Decision Perbandingan pernyataan, seleksi kondisi

ON /OFF CONNECTOR

Menunjukkan penghubung kehalaman yang sama atau halaman yang berbeda.

2.6.1 Data Flow Diagram (DFD)

Data flow diagram 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. Adapun simbol- simbol Data Flow Diagram (DFD) dapat dilihat pada tabel 2.2 berikut.

Tabel 2.2 Simbol-simbol Data Flaw Diagram

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 kadangkala didefinisikan sebagai suatu

mekanisme diantara dua proses yang dibatasi oleh jangka waktu tertentu.

Tahapan diagram arus data dibagi dalam beberapa bagian yaiu:

1. Diagram Koteks

Diagram ini berisi gambaran umum (secara garis besar) sistem yang akan dibuat. Secara kalimat, dapat dikatakan bahwa diagram konteks ini berisi “siapa saja yang memberi data (dan data apa saja) ke sistem, serta kepada siapa saja informasi (dan informasi apa saja) yang harus dihasilkan sistem.

2. Diagram nol

Diagram nol memberikan pandangan menyeluruh mengenai system 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 system menjadi “Proses-proses” yang harus dilakukan pada sistem.

BAB 3

Dokumen terkait