• Tidak ada hasil yang ditemukan

Mikrokontroler AVR ATmega32

BAB II DASAR TEORI

2.3. Mikrokontroler AVR ATmega32

AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir semua instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable Watchdog Timer, dan power saving mode. AVR juga mempunyai ADC, PWM internal dan In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang [6].

2.3.1. Arsitektur AVR ATmega32

Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut :

a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D. b. ADC 10 bit sebanyak 8 Channel.

c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2. d. Watchdog Timer dengan osilator internal.

e. SRAM sebanyak 512 byte. f. Memori Flash sebesar 32 kb.

g. Sumber Interupsi internal dan eksternal. h. Port SPI (Serial Pheriperal Interface). i. EEPROM on board sebanyak 512 byte. j. Komparator analog.

k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter).

2.3.2. Deskripsi Mikrokontroler ATmega32

Konfigurasi Pin Mikrokontroler ATmega32 dengan kemasan 40 pin DIP (dual in-line package) dapat dilihat pada Gambar 2.6. Untuk memaksimalkan performa dan

paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya diambil dari memori program [6].

Gambar 2.6. Konfigurasi Pin Mikrokontroler ATmega32 [6] Mikrokontroler ATmega32 memiliki konfigurasi Pin sebagai berikut:

a. VCC (power supply) b. GND (ground)

c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog digital converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.

d. Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).

e. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).

f. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).

g. RESET (Reset input) h. XTAL1 (Input Oscillator) i. XTAL2 (Output Oscillator)

j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC. k. AREF adalah pin referensi analog untuk ADC.

Port A berfungsi sebagai input analog pada A/D Konverter (ADC) dan port I/O 8-bit dua arah. Port B, Port C, Port D adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Pada rangkaian reset, waktu pengosongan kapasitor dapat dihitung dengan persamaan 2.1 [7].

T = R x C (2.1)

2.3.3. Organisasi Memori AVR ATmega32

Arsitektur AVR mempunyai dua ruang memori utama, yaitu ruang memori data dan memori program. ATmega32 juga memiliki fitur EEPROM Memori untuk penyimpanan data [6].

2.3.3.1 Memori Program

Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang tidak akan hilang datanya meskipun catu daya dimatikan. Dalam ATmega32 terdapat 8Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu boot program dan bagian aplikasi program [6].

2.3.3.2 Memori Data

Memori data adalah memori RAM (Random Access Memory) yang digunakan untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu 32 General Purphose Register adalah register khusus yang bertugas untuk membantu eksekusi program oleh ALU (Arithmatich Logic Unit). Dalam istilah processor komputer sehari-hari GPR dikenal sebagai β€œchace memory”. I/O register dan Aditional I/O register adalah register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin, port, timer/counter [6].

2.3.4. Interupsi

Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai dikerjakan.

Table 2.1. Hubungan PIN dan Interupsi [6]

Jenis interupt PIN pada ATmega32

INT0 PORTD.2

INT1 PORTD.3

INT2 PORTB.2

ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2. Masing-masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan pada Tabel 2.1. Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan logika (rissing edge dan falling edge) pada pin interupsi yang bersangkutan [6] .

2.3.5. Timer/Counter

Timer/Counter pada mikrokontroler AVR dapat digunakan untuk melakukan pencacahan waktu seperti pada jam digital maupun untuk menghasilkan sinyal PWM (Pulse Width Modulation) yakni sinyal kotak dengan frekuensi dan duty cycle yang nilainya bisa diatur. ATmega32 memiliki tiga unit Timer/Counter yaitu Timer/Counter 0 (8 bit), Timer/Counter 1 (16 bit), dan Timer/Counter 2 (8 bit) [7].

2.3.5.1. TIMER/COUNTER 0

Fitur-fitur yang dimiliki:

1. Satu buah unit Compare Counter (Unit ini akan meng-count dan meng-compare). 2. Clear timer pada saat compare match (Auto reload).

3. Phase Correct PWM yang bebas glitch. 4. Frequency generator.

5. External event counter. 6. Prescaler clock hingga 10 bit.

7. Membangkitkan interupsi saat timer overflow dan atau compare match.

Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.2, 2.3, dan 2.4 berikut [6]. 𝑇 =1 𝑓 (2.2) π‘œπ‘£π‘’π‘Ÿπ‘“π‘™π‘œπ‘€ π‘–π‘›π‘‘π‘’π‘Ÿπ‘Ÿπ‘’π‘π‘‘ = 𝑁 Γ— 256 Γ— 𝑇 (2.3) OCR = 𝑝𝑒𝑙𝑠𝑒 π‘œπ‘£π‘’π‘Ÿπ‘“π‘™π‘œπ‘€ π‘–π‘›π‘‘π‘’π‘Ÿπ‘Ÿπ‘’π‘π‘‘ (2.4)

Keterangan :

f = frekuensi yang digunakan untuk eksekusi program T = periode

N = prescaller yang digunakan OCR = nilai cacahan pulsa

Pulse = lebar pulsa

Berikut merupakan mode-mode operasi timer [7]:

a) Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan mengitung selang waktu.

Gambar 2.7. Mode Phase Correct PWM [6]

b) Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara terus menerus akan selalu dibandingakan dengan register pembanding OCR0. Hasil perbandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal PWM yang dikeluarkan pada OC0 seperti pada gambar 2.7.

c) CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah naik kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama dengan OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya 255, maka range OCR 0-255.

d) Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya perbedaannya adalah register counter TCNT0 mencacah naik saja dan tidak pernah mencacah turun seperti terlihat pada Gambar 2.8.

Gambar 2.8. Mode Fast PWM[6]

2.3.6. Komunikasi Serial USART

Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik yang berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi dua macam, yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data dikirim disertai informasi sinkronisasi [6].

Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:

a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah). b) Mendukung kecepatan multiprosesor.

c) Mode kecepatan berorde Mbps. d) Operasi asinkron atau sinkron.

e) Operasi master atau slave clock sinkron.

f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi. g) Modus komunikasi kecepatan ganda pada asinkron.

2.3.6.1. Inisialisasi USART

Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi USART. Register-register yang digunakan untuk komunikasi USART antara lain:

2.3.6.1.1 USART I/O Data Register (UDR)

UDR merupakan register 8 bit yang terdiri dari dua buah dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data diterima (RXB) sebelum data tersebut dibaca [6].

Gambar 2.9. Register UDR [6]

2.3.6.1.2 USART Control and Status Register A (UCSRA)

Gambar 2.10. Register UCSRA [6] Penjelasan bit penyusun UCSRA [6] :

a) RXC (USART Receive Complete)

Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.

b) TXC (USART Transmit Complete)

Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.

c) UDRE (USART Data Register Empty)

Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.

d) FE (Frame Error)

Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika stop bit data yang diterima berlogika nol.

e) DOR (Data OverRun)

Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan bernilai satu ketika terjadi tumpang tindih data.

f) PE (Parity Error)

Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit paritas digunakan.

g) U2X (Double the USART Transmission Speed)

Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.

h) MPCM (Multi Processor Communication Mode)

Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh USART tidak mengandung informasi alamat akan diabaikan.

2.3.6.1.3 USART Control and Status Register B (UCSRB)

Gambar 2.11. Register UCSRB [6] Penjelasan bit penyusun UCSRB [6] :

a) RXCIE (RX Complete Interrupt Enable)

Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.

b) TXCIE (TX Complete Interrupt Enable)

Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.

c) UDRIE (USART Data Register Empty Interrupt Enable)

Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika diaktifkan dan sebaliknya.

d) RXEN (Receiver Enable)

Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran penerima USART.

e) TXEN (Transmitter Enable)

Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran pengirim USART.

f) UCSZ2 (Character Size)

Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk memilih tipe lebar data bit yang digunakan.

Tabel 2.2. Penentuan Ukuran Karakter [6] UCSZ[2..0] Ukuran Karakter dalam bit

0 5 1 6 10 7 11 8 100-110 Tidak dipergunakan 111 9

g) RXB8 (Receive Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini harus dibaca dahulu sebelum membaca UDR.

h) TXB8 (Transmit Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini harus ditulis dahulu sebelum membaca UDR.

2.3.6.1.4 USART Control and Status Register C (UCSRC)

Gambar 2.12. Register UCSRC [6] Penjelasan bit penyusun UCSRC :

a) URSEL (Register Select)

Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk menulis atau membaca register UCSRC maka bit harus berlogika satu.

b) UMSEL (USART Mode Select)

Bit pemilih mode komunikasi serial antara sinkron dan asinkron. c) UPM[1…0] (Parity Mode)

Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter USART akan membuat paritas yang akan digunakan secara otomatis.

d) USBS (Stop Bit Select)

Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan. e) UCSZ1 dan UCSZ0

Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB.

f) UCPOL (Clock Parity)

Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan data keluaran dan sampel masukkan, dan clock sinkron (XCK).

2.4. Software Matlab

MATLAB atau yang sering kita sebut dengan (Matrix Laboratory) yaitu sebuah program untuk menganalisis dan mengkomputasi data numerik, dan MATLAB juga merupakan suatu bahasa pemrograman matematika lanjutan, yang dibentuk dengan dasar pemikiran yang menggunakan sifat dan bentuk matriks seperti pada gambar 2.13.

Gambar 2.13. Software Matlab

MATLAB yang merupakan singkatan dari Matrix Laboratory, merupakan bahasa pemrograman yang dikembangkan oleh The Mathwork Inc. yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++.

Pada awalnya program aplikasi MATLAB ini merupakan suatu interface untuk koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK, dan dikembangkan dengan menggunakan bahasa FORTRAN, namun sekarang ini MATLAB merupakan produk komersial dari perusahaan Mathworks, Inc.

Yang dalam perkembangan selanjutnya dikembangkan dengan menggunakan bahasa C++ dan assembler, (utamanya untuk fungsi-fungsi dasar MATLAB). MATLAB telah berkembang menjadi sebuah environment pemprograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga menyediakan berbagai fungsi untuk menampilkan data, baik dalam bentuk dua dimensi maupun dalam bentuk tiga dimensi [8].

2.4.1. Sistem Matlab

a. Development Environment.

Ini adalah kumpulan semua alat-alat dan fasiltas untuk membantu kita dalam menggunakan fungsi dan file MATLAB. Bagian ini memuat desktop, Command window, command history, editor and debugger, dan browser untuk melihat help, workspace, files.

b. The MATLAB Mathematical Function Library.

Bagian ini adalah koleksi semua algoritma komputasi, mulai dari fungsi sederhana seperti sum, sine, cosine sampai fungsi lebih rumit seperti, invers matriks, nilai eigen, fungsi Bessel dan fast Fourier transform.

c. The MATLAB language.

Ini adalah bahasa matriks/array level tinggi dengan control flow, fungsi, struktur data, input/output, dan fitur objek programming lainnya.

d. Graphics.

MATLAB mempunyai fasilitas untuk menampilkan vector dan matriks sebagai grafik. Fasilitas ini mencakup visualisasi data dua / tiga dimensi, pemrosesan citra (image), animasi, dan grafik animasi.

e. The MATLAB Application Program Interface (API).

Paket ini memungkinkan kita menulis bahasa C dan Fortran yang berinteraksi dengan MATLAB. Ia memuat fasilitas untuk pemanggilan kode-kode dari MATLAB (dynamic linking), yang disebut MATLAB sebagai mesin penghitung, dan untuk membaca dan menulis MAT-files.

MATLAB juga merupakan sistem interaktif yang mempunyai basis data array yang tidakmembutuhkan dimensi. Ini memungkinkan kita dapat menyelesaikan banyak masalah komputasiteknis, khususnya yang berkaitan dengan formulasi matrik dan vector. Tidak hanya itu, MATLAB juga mampu melakukan komputasi simbolik yang biasa dilakukan oleh MAPLE.

Saat ini MATLAB memiliki ratusan fungsi yang dapat kita gunakan sebagai problem solver mulai dari simple sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu. Sebagai contoh, di lngkungan perguruan tinggi dan industri:

Di dalam lingkungan perguruan tinggi, misalnya perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan keilmuan.

Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan produktifitas yang tinggi, pengembangan dan analisanya. Kegunaan MATLAB secara umum adalah sebagai berikut:

a. Matematika dan komputasi, b. Perkembangan algoritma,

c. Pemodelan, simulasi, dan pembuatan prototype, d. Analisa data, eksplorasi dan visualisasim

e. Pembuatan aplikasi, termasuk pembuatan antaramuka grafis [8].

2.4.2. Karakteristik Matlab

a. Bahasa pemrogramannya didasarkan pada matriks (baris dan kolom).

b. Lambat (dibandingkan dengan Fortran atau C) karena bahasanya langsung diartikan. c. Automatic memory management, misalnya kita tidak harus mendeklarasikan arrays

terlebih dahulu. d. Tersusun rapi.

e. Waktu pengembangannya lebih cepat dibandingkan dengan Fortran atau C. f. Dapat diubah ke bahasa C lewat MATLAB Compiler.

g. Tersedia banyak toolbox untuk aplikasi-aplikasi khusus.

Beberapa kelebihan program aplikasi MATLAB jika kita bandingkan dengan program lain seperti Fortran, dan Basic adalah :

a. MATLAB mudah dalam memanipulasi struktur matriks dan perhitungan berbagai operasi matriks yang meliputi penjumlahan, pengurangan, perkalian, invers dan fungsi matriks lainnya.

b. MATLAB juga menyediakan fasilitas untuk memplot struktur gambar (kekuatan fasilitas grafik tiga dimensi yang sangat memadai).

c. Script program yang dapat diubah sesuai dengan keinginan kita.

d. Jumlah routine-routine powerful yang berlimpah yang terus berkembang. e. Kemampuan interface (misal dengan bahasa C, word dan matematika).

f. MATLAB dilengkapi dengan toolbox, simulink, stateflow dan sebagainya, serta mulai melimpahnya source code di internet yang dibuat dalam MATLAB, ( contoh toolbox misalnya : signal processing, control system, neural networks dan sebagainya) [8].

2.4.3. Karakteristik Lingkungan Kerja Matlab

Secara umum lingkungan kerja Matlab terdiri dari tiga bagian yang penting yaitu:

a. Command Windows

Windows ini muncul pertama kali ketika kita menjalankan program Matlab. Command windows kita gunakan untuk menjalankan perintah-perintah Matlab, memanggil tool Matlab seperti editor, fasilitas help, model simulink, dan lain-lain. Ciri dari windows ini yaitu adanya prompt (tanda lebih besar) yang menyatakan Matlab siap menerima perintah. Perintah tersebut dapat berupa fungsi-fungsi bawaan (toolbox) Matlab itu sendiri.

1) Workspace : menampilkan semua variable yang pernah kita buat meliputi variable ukuran, jumlah byte, dan class

2) Command History : menampilkan perintah-perintah yang telah kita ketikkan pada Command Window.

b. Editor Window

Window ini merupakan tool yang disediakan oleh Matlab yang berfungsi sebagai editor script Matlab (listing perintah-perintah yang harus dilakukan oleh Matlab). Ada dua cara untuk membuka editor ini, yaitu Klik : File, lalu New dan kemudian M-File.

Secara formal suatu script merupakan suatu file eksternal yang berisi tulisan perintah MATLAB. Tetapi script tersebut bukan merupakan suatu fungsi. Ketika kita menjalankan suatu script, perintah di dalamnya dieksekusi seperti ketika dimasukkan langsung pada MATLAB melalui keyboard.

Penulisan barisan ekspresi dalam MATLAB command window biasanya dilakukan pada baris perbaris dan biasanya untuk menyimpan barisan perintah dan hasil outputnya dengan menggunkan command diary. Hal ini sangatlah tidak efisien dikarenakan barisan yang telah tersimpan di diary tidak dapat diload-kan kembali, seandaianya telah keluar dari MATLAB. Apalagi jika dilakukan banyak sekali perulangan barisan perintah yang sama, misalkan dilakukan pengolahan data dan perhitungan yang samayang melibatkan data atau fungsi yang berbeda. Membentuk dan menjalankan M-File:

1) Klik menu File, pilih New dan klik M-File 2) Pada editor teks, tulis argumen atau perintah

3) Simpan dengan cara klik File, pilih Save As dan beri nama dengan ekstensi .m 4) Pastikan file yang akan dijalankan berada pada direktori aktif

5) Misalkan file graf1.m berada di C:\MATLAB, maka lakukan perintah cd 6) >> cd c:\matlab

7) Kemudian jalankan file graf1.m dengan cara 8) >> graf1

Suatu fungsi M-File harus mengikuti beberapa aturan. Fungsi M-file juga mempunyai sejumlah sifat penting. Aturan-aturan dan sifat-sifat tersebut meliputi :

1) Nama fungsi dan nama file harus identik. Contohnya flipud disimpan dalam file yang bernama flipud.m

2) Pertama kali MATLAB mengeksekusi suatu fungsi M-file, MATLAB membuka file fungsi tersebut dan mengkompilasi perintah-perintah di dalamnya menjadi suatu representasi internal dalam memori yang mempercepat eksekusi untuk semua pemanggilan berikutnya.

3) Baris komentar sampai dengan baris bukan komentar yang pertama adalah teks help yang ditampilkan. Jika anda meminta help, misalnya >>help flipud yang menampilkan 9 baris komentar pertama dari contoh di atas. Baris komentar yang paling atas disebut baris H1 adalah baris yang dicari oleh perintah lookfor. 4) Setiap fungsi memiliki ruang kerjanya sendiri yang berbeda dengan ruang kerja

MATLAB. Satu-satunya hubungan antara ruang kerja MATLAB dengan variabel-variabel dalam fungsi adalah variabel-variabel input dan output fungsi. 5) Jumlah dari argument input dan output yang digunakan jika suatu fungsi

dipanggil hanya ada dalam fungsi tersebut.

6) Fungsi dapat berbagi variabel dengan fungsi lain, ruang kerja MATLAB dan pemanggilan rekursi untuk dirinya sendiri jika variabelnya dideklarasikan sebagai variabel global.

7) Fungsi M-file berhenti dieksekusi dan kembali ke prompt jika telah mencapai akhir dari M-file atau jika menemui perintah return. Perintah return merupakan cara sederhana untuk menghentikan fungsi sebelum mencapai akhir file. Fungsi M-file dapat memuat lebih dari sebuah fungsi

c. Figure Windows

Windows ini merupakan hasil visualisasi dari script Matlab. Matlab memberikan kemudahan bagi programmer untuk mengedit windows ini sekaligus memberikan program khusus untuk itu, sehingga selain berfungsi sebagai visualisasi output yang berupa grafik juga sekaligus menjadi media input yang interaktif.

1) Simulink windows.

Windows ini umumnya digunakan untuk mensimulasikan sistem kendali berdasarkan blok diagram yang telah diketahui. Untuk mengoperasikannya ketik β€œsimulink” pada command windows [8].

Dokumen terkait