TUTORIAL
MATLAB
Dr. ARIE ERIC RAWUNG, MT
STTAR / VEDC MALANG
2014
DAFTAR ISI
KEGIATAN BELAJAR 1 .................................................................................................. 6
KEGIATAN 1 ..................................................................................................................... 8
1.1
Pengertian Matlab ................................................................................................ 8
1.2
Memulai MATLAB ................................................................................................ 9
1.3
Sintaks Dasar Matlab......................................................................................... 10
1.3.1
Operator dan Karakter Khusus .................................................................... 12
1.3.2
Variabel dan Konstanta Khusus................................................................... 14
1.4
Variabel-variabel Matlab ................................................................................... 14
1.4.1
Penulisan Statemen Banyak ........................................................................ 16
1.4.2
Penulisan Statemen Panjang ....................................................................... 16
1.4.3
Perintah Format .............................................................................................. 17
1.4.4
Membuat Vektor ............................................................................................. 18
1.4.5
Membuat Matriks ............................................................................................ 19
1.5
Perintah-perintah Matlab ................................................................................... 20
1.5.1
Perintah untuk mengatur sebuah sesi ........................................................ 20
1.5.2
Perintah-perintah Input Output ..................................................................... 20
1.5.3
Perintah Vektor, Matriks dan Array.............................................................. 22
1.5.4
Perintah Menggambar ................................................................................... 23
Rangkuman 1.................................................................................................................. 24
Latihan 1 .......................................................................................................................... 24
Tugas 1 ............................................................................................................................ 24
Kunci Jawaban 1 ............................................................................................................ 24
Daftar Pustaka 1 ............................................................................................................. 24
KEGIATAN 2 ................................................................................................................... 25
1.6
Berkas .m (M Files) ............................................................................................ 25
1.6.1
Mengunakan Prompt Perintah...................................................................... 25
1.6.2
Membuat dan Menjalankan File Script Mengunakan IDE........................ 26
1.7
Vektor ................................................................................................................... 28
1.7.1
Vektor Baris:.................................................................................................... 28
1.7.2
Vektor Kolom: ................................................................................................. 28
1.7.3
1.8
Referensi Element dari sebuah Vektor ....................................................... 29
Matriks.................................................................................................................. 30
1.8.1
Referensi Element-elemen Matriks ............................................................. 30
1.8.2
Menghapus sebuah Baris atau Kolom dalam ............................................ 32
1.9
Array ..................................................................................................................... 33
1.9.1
Arrays Khusus dalam MATLAB.................................................................... 33
1.9.2
Arrays Multi Dimensi ...................................................................................... 35
Rangkuman 2.................................................................................................................. 38
Latihan 2 .......................................................................................................................... 38
Tugas 2 ............................................................................................................................ 38
Kunci Jawaban 2 ............................................................................................................ 38
Daftar Pustaka 2 ............................................................................................................. 38
KEGIATAN 3 ................................................................................................................... 39
1.10
Tipe Data dalam MATLAB ................................................................................ 39
1.10.1
Konversi Tipe Data......................................................................................... 41
1.10.2
Penentuan Tipe Data ..................................................................................... 42
1.11
Operator MATLAB .............................................................................................. 46
1.11.1
Operator Arithmetik ........................................................................................ 46
1.11.2
Operator Relasi............................................................................................... 49
1.11.3
Operator Logika .............................................................................................. 50
1.11.4
Operasi Bitwise ............................................................................................... 51
1.11.5
Operasi Set ..................................................................................................... 53
Rangkuman 3.................................................................................................................. 55
Latihan 3 .......................................................................................................................... 55
Tugas 3 ............................................................................................................................ 55
Kunci Jawaban 3 ............................................................................................................ 55
Daftar Pustaka 3 ............................................................................................................. 55
KEGIATAN 4 ................................................................................................................... 56
1.12
Pembuatan Keputusan MATLAB ..................................................................... 56
1.12.1
Pembuatan Keputusan if ... end................................................................... 58
1.12.2
Pembuatan Keputusan if ... else end .......................................................... 59
1.12.3
Pembuatan Keputusan if ... elseif else end ........................................... 61
1.12.4
Pembuatan Keputusan If else end Bercabang ..................................... 63
1.13
Tipe Pengulangan MATLAB ............................................................................. 64
1.13.1
Pengulangan while end ............................................................................ 65
1.13.2
Pengulangan forend................................................................................... 66
1.13.3
Pengulangan forend Bercabang .............................................................. 67
Rangkuman 4.................................................................................................................. 69
Latihan 4 .......................................................................................................................... 69
Tugas 4 ............................................................................................................................ 69
Kunci Jawaban 4 ............................................................................................................ 69
Daftar Pustaka 4 ............................................................................................................. 69
KEGIATAN 5 ................................................................................................................... 70
1.14
Persamaan Aljabar Dasar MATLAB ................................................................ 70
1.14.1
Pemecahan Persamaan Aljabar Dasar Octave ......................................... 72
1.14.2
Pemencahan Persamaan Kuadrat MATLAB ............................................. 73
1.14.3
Pemecahan Persamaan Kuadrat Octave ................................................... 74
1.14.4
Pemecahan Persamaan Orde Tinggi MATLAB ......................................... 74
1.14.5
Pemecahan Persamaan Orde Tinggi Octave ............................................ 76
1.14.6
Pemecahan Persamaan Sistem MATLAB ................................................. 77
1.14.7
Pemecahan Persamaan Sistem Octave ..................................................... 78
1.14.8
Menguraikan dan Menyatukan Persamaan-persamaan MATLAB ......... 79
1.14.9
Menguraikan dan Menyatukan Persamaan-persamaan Octave ............ 80
1.14.10
1.15
Faktorisasi dan Penyederhanaan Persamaan Aljabar ......................... 83
Menggambar MATLAB ...................................................................................... 84
1.15.1
Adding Title, Labels, Grid Lines and Scaling on the Graph ..................... 87
1.15.2
Drawing Multiple Functions on the Same Graph ....................................... 88
1.15.3
Penentuan Warnapada Grafik ...................................................................... 89
1.15.4
Penentuan Skala Aksis ................................................................................. 90
1.15.5
Membuat Sub-Gambar ................................................................................. 91
1.16
1.16.1
Grafik MATLAB ................................................................................................... 93
Menggambar Chart Bar ................................................................................. 93
1.16.2
Menggambarkan Kontur ................................................................................ 94
1.16.3
Gambar Tiga Dimensi .................................................................................... 97
Rangkuman 5.................................................................................................................. 99
Latihan 5 .......................................................................................................................... 99
Tugas 5 ............................................................................................................................ 99
Kunci Jawaban 5 ............................................................................................................ 99
Daftar Pustaka 5 ............................................................................................................. 99
KEGIATAN BELAJAR 1
Sebelum
proses
pembelajaran
di
kelas
berlangsung,
sebaiknya
siswa
mempersiapkan diri dengan belajar mandiri sesuai dengan urutan materi yang
akan diberikan. Sebagai gambaran kegiatan belajar siswa seperti pada tabel
berikut :
NO
KEGIATAN SISWA
KETERANGAN
Persiapan Kegiatan 1
Kegiatan ini pada
1. Siswa membaca materi pendahuluan
prinsipnya siswa
2. Siswa mempelajari materi identifikasi .........
belajar secara mandiri
3. Siswa mempelajari ........
sebagai persiapan
4. Siswa mencoba mengerjakan soal tes formatif 1
awal untuk menerima
materi dari guru
sesuai kegiatan 1
Persiapan Kegiatan 2
Kegiatan ini pada
1. Siswa membaca materi ......
prinsipnya siswa
2. Siswa mempelajari materi ........
belajar secara mandiri
3. Siswa mempelajari ........
sebagai persiapan
4. Siswa mencoba mengerjakan soal tes formatif 2
awal untuk menerima
materi dari guru
sesuai kegiatan 2
Persiapan Kegiatan 3
Kegiatan ini pada
1. Siswa mempelajari materi ......
prinsipnya siswa
2. Siswa mempelajari ......
belajar secara mandiri
3. Siswa mencoba mengerjakan soal tes formatif 3
sebagai persiapan
awal untuk menerima
materi dari guru
sesuai kegiatan 3
Selanjutnya siswa mendengarkan penyampaian materi pembelajaran di setiap
pertemuan oleh guru serta menyesuaikan dengan model pembelajaran yang
digunakan. Misalnya saatnya harus aktif mengerjakan soal maupun praktikum,
maka siswa juga harus aktif dan kreatif. Melalui langkah kegiatan pembelajaran
yang saling melengkapi diharapkan siswa dapat mencapai kompetensi yang
distandarkan.
A. Tujuan Pembelajaran
Setelah mempelajari materi tentang dasar teknik kontrol, diharapkan siswa
dapat:
1. mengidentifikasi ........
2. mengidentifikasi .......
B. Uraian Materi
- Dasar sistem kendali Mikrokontroller, komponen dan spesifikasinya serta
perbandingan sistem kendali Mikrokontroller dengan sistem kendali yang
lain.
- Teknik pemrograman Mikrokontroller.
- Teknik pemasangan dan pengawatan peralatan input output.
- Penggunaan alat pemrogram dengan komputer yang dilengkapi dengan
software ladder
- Pengoperasian sistem kendali Mikrokontroller
C. Alokasi Waktu
4 jam pelajaran
D. Metode Pembelajaran
Teori dan Praktek
E. Media pembelajaran
- PC/Notebook
- Windows 7
- Livewire
KEGIATAN 1
1.1
Pengertian Matlab
MATLAB merupakan suatu program komputer yang bisa membantu
memecahkan berbagai masalah matematis yang kerap kita temui dalam bidang
teknis. Kita bisa memanfaatkan kemampuan MATLAB untuk menemukan solusi
dari berbagai masalah numeric secara cepat, mulai hal yang paling dasar,
misalkan sistem 2 persamaan dengan 2 variabel:
x 2y = 32
12x + 5y = 12
hingga yang kompleks, seperti mencari akar-akar polinomial, interpolasi dari
sejumlah data, perhitungan dengan matriks, pengolahan sinyal, dan metoda
numerik. Salah satu aspek yang sangat berguna dari MATLAB ialah
kemampuannya untuk menggambarkan berbagai jenis grafik, sehingga kita bisa
memvisualisasikan data dan fungsi yang kompleks. Sebagai contoh, tiga gambar
berikut diciptakan dengan perintah surf di MATLAB.
Gambar 1. 1 Grafik 3-dimensi dengan perintah surf di MATLAB.
Dalam buku ini kita akan mempelajari MATLAB setahap demi setahap,
mulai dari hal yang sederhana hingga yang cukup kompleks. Yang perlu kita
persiapkan untuk belajar MATLAB ialah seperangkat komputer yang sudah
terinstal program MATLAB di dalamnya. Kita bisa gunakan MATLAB versi 5, 6
ataupun 7 untuk mempraktekkan berbagai contoh yang ada di buku ini. Di dalam
buku ini kita akan mempelajari teori penggunaan MATLAB, namun untuk
menjadi mahir Anda harus duduk di depan komputer dan mempraktekkannya
secara langsung!
1.2
Memulai MATLAB
Kita memulai MATLAB dengan mengeksekusi ikon MATLAB di layar
komputer ataupun melalui tombol Start di Windows. Setelah proses loading
program, jendela utama MATLAB akanmuncul seperti berikut ini.
Gambar 1. 2 Jendela utama MATLAB.
Setelah proses loading usai, akan muncul prompt perintah didalam jendela
perintah:
>>
Dari prompt inilah kita bisa mengetikkan berbagai perintah MATLAB, seperti
halnya prompt di dalam DOS.
Sebagai permulaan, mari kita ketikkan perintah date :
>> date
setelah menekan Enter, akan muncul
>> ans =
05-Feb-2005
date adalah perintah MATLAB untuk menampilkan tanggal hari ini. Berikutnya
cobalah perintah clc untuk membersihkan jendela perintah:
>> clc
Ketika kita selesai dengan sesi MATLAB dan ingin keluar, gunakan perintah exit
atau quit.
>> exit
atau...
>> quit
Atau bisa juga dengan menggunakan menu: File Exit MATLAB.
1.3
Sintaks Dasar Matlab
Jendela perintah window MATLAB berlaku seperti kalkulator komplek,
dimana kita memberi sebuah perintah dan MATLAB mengeksekusi dengan
benar.
Ketikan sebuah ekspresi yang valid, sebagai contoh :
>> 5 + 5
Dan tekan ENTER, Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu
secara langsung dan menghasilkan :
>> ans = 10
Ketikan contoh berikut ini :
>> 3^2
% 3 pangkat 2
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> ans = 9
Contoh lain :
>> sin(pi/2)
% sin sudut 90o
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> ans = 1
Semicolon (;) menunjukkan akhir dari statemen. Dimaksud un tuk menampilkan
atau menyembunyikan keluaran hasil MATLAB sebuah ekspresi, menambahkan
sebuah semicolon pada akhir ekspresi.
Sebagai contoh :
>> x = 3;
>> y = x + 5
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> y = 8
Menambah sebuah symbol persen (%) digunakan untuk menunjukan sebuah
komentar.
Sebagai contoh :
>> x = 9
% Memberikan nilai 9 ke variabel x
Dapat juga menuliskan sebuah blok komentar dengan menggunakan operator %{
and %}.
1.3.1 Operator dan Karakter Khusus
MATLAB menyediakan operator dan karakter khusus yang sering dipakai:
Operator
Kegunaan
Operator penambah
Operator pengurang
Operator pengali scalar atau matriks
.*
Operator pengali array
Operator pangkat scalar dan matriks
.^
Operator pangkat array
Operator pembagi kiri
Operator pembagi kanan
.\
Operator pembagi kiri array
./
Operator pembagi kanan array
Penghasil elemen secara berurut dan menampilkan pada isi
sebuah kolom atau lajur
()
Penunjuk lampiran argument fungsi dan array
[]
Melampirkan elemen-elemen
Titik desimal
Operator garis penerus
Pemisah atatemen dan elemen_elemen dalam lajur
Pemisah
atatemen
dan
elemen_elemen dalam
kolom
menyembunyikan keluaran hasil fungsi
%
Menunjukkan sebuah komentar dan menentukan format
dan
1.3.2 Variabel dan Konstanta Khusus
MATLAB menyediakan operator dan karakter khusus yang sering dipakai:
Nama
ans
Hasil
eps
Ketepatan titik ketelitian pecahan
I,j
Satuan imajinir -1
inf
Tak berhingga
NaN
Hasil numerik yang tidak terdefenisi
Bilangan
pi
1.4
Arti
Variabel-variabel Matlab
Pada Jendela perintah window MATLAB, setiap variable adalah sebuah
array atau matriks.
Contoh :
>> x = 3
% menentukan dan mengisi x dengan sebuah nilai
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> x = 3
MATLAB menciptakan sebuah matriks 1 x 1 yang dinamai x dan menyimpan nilai
3 sebagai elemennya.
Contoh lain :
>> x = sqrt(16)
% menentukan dan mengisi x dengan sebuah fungsi
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> x =4
Catat bahwa : sekali sebuah variable telah dimasukan dalam system, maka kita
dapat mengambilnya nanti. Variabel harus mempunyai nilai sebelum mereka
digunakan.
Bila sebuah ekspresi menghasilkan sebuah hasil yang bukan milik sebuah
variable, system menyimpan hasilnya dalam sebuah variable yang diberi nama
ans, yang mana dapat digunakan.
Contoh :
>> sqrt(78)
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> ans = 8.8318
Anda dapat menggunakan variable ans ini :
>> 9876/ans
Bila tombol eksekusi ditekan, MATLAB mengeksekusi itu secara langsung dan
menghasilkan :
>> ans = 1.1182e+03
Contoh:
>> x = 7 * 8; y = x * 7.89
Bila tombol eksekusi ditekan, MATLAB mengeksekusi dan menghasilkan :
>> y = 441.8400
1.4.1 Penulisan Statemen Banyak
Anda dapat meletakkan banyak statemen dalam baris yang sama :
>> a = 2; b = 7; c = a * b
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> c = 14
Jika Anda lupa nama variable, dapat gunakan :
>> who
MATLAB akan mengeksekusi statemen diatas dan menghasilkan variable Anda
adalah :
>> a ans b c x y
Perintah clear menghapus semua variable (atau tertentu) dari memori.
>> clear x
% akan menghapus variable x
>>clear
% akan menghapus semua variable
1.4.2 Penulisan Statemen Panjang
Penempatan statemen yang panjang dapat diperluas ke baris berikutnya
dengan menggunakan tanda ellipse (...), contoh :
>> initial_velocity = 0;
>> acceleration = 9.8;
>> time = 20;
>> final_velocity = initial_velocity ...
>> + acceleration * time
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> final_velocity = 196
1.4.3 Perintah Format
MATLAB defaultnya menampilkan bilangan dengan empat tempat
decimal dibelakang koma, ini disebut format short. Walaupun demikian , jika
Anda ingin lebih presisi, Anda perlu menggunakan perintah format long.
>> format long
>> x = 7 + 10/3 + 5 ^ 1.2
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> x = 17.231981640639408
Contoh lain :
>> format short
>> x = 7 + 10/3 + 5 ^ 1.2
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> x = 17.2320
Perintah format bank mendekatkan bilangan menjadi 2 decimal dibelakang koma.
>> format bank
>> daily_wage = 177.45;
>> weekly_wage = daily_wage * 6
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> weekly_wage = 1064.70
1.4.4 Membuat Vektor
Sebuah vector adalah sebuah array dimensi satu.. MATLAB mengijinkan
membuat dua jenis vector yaitu Vektor baris Vektor kolom.
Vektor baris dibuat dengan meletakkan himpunan elemen-elemen dalam kurung
kotak, menggunakan spasi atau koma untuk membatasi elemen- elemen.
>> r = [7 8 9 10 11]
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> r = Columns 1 through 4
7 8 9 10
Column 5
11
Contoh lain :
>> r = [7 8 9 10 11];
>> t = [2, 3, 4, 5, 6];
>> res = r + t
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> res = Columns 1 through 4
9 11 13 15
Column 5
17
Vektor kolom dibuat dengan meletakkan himpunan elemen-elemen dalam kurung
kotak, menggunakan titik koma untuk membatasi elemen- elemen.
>> c = [7; 8; 9; 10; 11]
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> c = 7
8
9
10
11
1.4.5 Membuat Matriks
Sebuah matriks adalah sebuah array bilangan dua dimensi. Dalam
MATLAB, sebuah matriks dibuat dengan meletakkan setiap baris sebagai sebuah
sekuen bilangan yang dipisahkan oleh sapasi atau koma dan akhir dari baris
diakhiri oleh titik koma. Contoh matriks 3 x 3 :
>> m = [1 2 3; 4 5 6; 7 8 9]
MATLAB akan mengeksekusi statemen diatas dan menghasilkan :
>> m =1 2 3
456
789
1.5
Perintah-perintah Matlab
MATLAB adalah sebuah program interaktif untuk komputasi numeric dan
visualisasi data. Anda dapat memasukan sebuah perintah dengan mengetiknya
pada prompt MATLAB >>" pada jendela Perintah. Dalam sesi ini, tersedia daftar
perintah yang biasa dipakai.
1.5.1 Perintah untuk mengatur sebuah sesi
MATLAB menyediakan bermacam-macam perintah untuk mengatur
sebuah sesi.
Perintah
Maksud
clc
Membersihkan layar jendela perintah
clear
Menghapus variable dari memori
exist
Memeriksa keberadaan file atau variable
global
Menentukan variable menjadi global
help
Mencari sebua topic pertolongan
quit
Menghentikan MATLAB.
who
Menampilkan daftar variable yang sedang aktif.
Menampilkan daftar variable yang sedang aktif (tampilan
whos
panjang)
1.5.2 Perintah-perintah Input Output
MATLAB menyediakan perintah-perintah yang berhubungan dengan input
output.
Perintah
Maksud
disp
Menampilkan isi dari sebuah arra atau string
fscanf
Membaca data terformat dari file
format
Mengontrol format tampilan layar
fprintf
Menulis data terformat ke layar atau file.
input
Menampilkan prompt dan menunggu input
Membaca data terformat dari file
Tabel berikut menunjukkan perintah-perintah yang digunakan untuk
format bilangan dan string.
Kode Format
Maksud
%s
Format sebagai string.
%d
Format sebagai bilangan bulat.
%f
Format sebagai bilangan pecahan.
%e
Format sebagai bilangan pecahan dalam notasi scientific.
%g
Format in the most compact form: %f or %e.
\n
Disisipi pada baris baru dalam format string.
\t
Disisipi pada tab baru dalam format string.
Tabel berikut menunjukkan perintah-perintah yang digunakan untuk
format.
Fungsi Format
Tampilan
format short
4 digit desimal (default).
format long
16 digit desimal.
format short e
5 digit desimal plus exponen.
format long e
16 digits plus exponents.
format bank
2 digit desimal.
format +
Positip, negatip, atau nol.
format rat
Pendekatan Rational.
format compact
Merapatkan beberapa baris.
1.5.3 Perintah Vektor, Matriks dan Array
Tabel berikut menunjukkan perintah-perintah yang digunakan untuk
bekerja dengan vector, matriks dan array.
Perintah
Maksud
length
Menghitung jumlah elemen.
linspace
Membuat jarak vector secara linier.
logspace
Membuat jarak vector secara logarimis.
max
Menghasilkan elemen yang terbesar.
min
Menghasilkan elemen yang terkecil.
prod
Perkalian vektor setiap kolom.
reshape
Mengubah ukuran.
size
Menghitung ukuran array.
sort
Mensortir setiap kolom.
sum
Menjumlah setiap kolom.
eye
Membuat sebuah matriks identitas.
ones
Membuat sebuah matriks satu.
zeros
Membuat sebuah matriks nol.
cross
Menghitung matriks perkalian silang.
dot
Menghitung perkalian matriks.
det
Menghitung determinan sebuah matriks.
inv
Menghitung inversi sebuah matriks.
rank
Menghitung rank sebuah matriks.
cell
Creates cell array.
celldisp
Menampilkan sel array.
num2cell
Mengkonversi bilangan array ke sel array.
1.5.4 Perintah Menggambar
Tabel berikut menunjukkan perintah-perintah yang digunakan untuk
bekerja gambar.
Perintah
Maksud
axis
Menentukan batas aksis.
grid
Menampilkan garis bantu.
plot
Menghasilkan gambar xy.
print
Mencetak gambar atau menyimpan ke file.
title
Memberikan teks pada judul gambar
xlabel
Menulis teks pada aksis x.
ylabel
Menulis teks pada aksis y.
axes
Membuat objek aksis.
close
Menutup gambar yang aktif.
close all
Menutup semua gambar.
figure
Membuat gambar yang baru.
gtext
Membuat label yang pada posisi mouse.
hold
Menampilkan gambar baru pada gambar yang aktif.
legend
Menampilkan nama objek gambar pada posisi mouse.
refresh
Menampilkan ulang objek pada jendela gambar.
subplot
Membuat gambar pada jendela-jendela kecil (subwindows).
text
Membuat teks pada gambar.
bar
Membuat gambar chart balok.
loglog
Membuat gambar log-log.
polar
Membuat gambar polar.
semilogx
Membuat gambar semilog. (logarithmic abscissa).
semilogy
Membuat gambar semilog. (logarithmic ordinate).
stairs
Membuat gambar tangga.
stem
Membuat gambar jarum
Rangkuman 1
Latihan 1
Tugas 1
Kunci Jawaban 1
Daftar Pustaka 1
Andrianto,
Heri.
Pemrograman
Mikrokontroller
AVR
Menggunakan bahasa C (Code Vision), Bandung, Informatika.
[Link]
ATMega
16
KEGIATAN 2
1.6
Berkas .m (M Files)
MATLAB mengijinkan penulisan dua macam file program :
Scripts berkas script adalah file program dengan ekstensi .m. Dalam file ini
Anda menulis perintah-perintah secara seri, dimana perintah-perintah ini
akan dieksekusi secara bersama-sama. Fungsi tidak dapat menerima input
dan tidak menghasilkan hasil.
Functions berkas fungsi adalah juga file program dengan ekstensi .m.
Fungsi dapat menerima input dan menghasilkan hasil.
Anda dapat menggunakan editor MATLAB atau editor teks untuk membuat file
.m. Sebuah file script terdiri dari banyak baris sekuensial ari perintah-perintah
dan fungsi yang dipanggil. Sebuah file script dapat dijalankan dengan
mengetikkan namanya pada baris jendela perintah.
1.6.1 Mengunakan Prompt Perintah
Jika menggunakan prompt perintah, ketik edit pada prompt perintah.
MATLAB akan membuka editor teks, dan dapat langsung mengetik perintahperintah yang diinginkan dan kemudian menulis nama file (ekstensi .m).
>> edit
atau
>> edit <filename>
Perintah diatas akan membuat sebuah file kerja yang berada pada direktori
default. Jika ingin menyimpan semua file-file program dalam sebuah folder
tertentu, tersedia juga untuk path keseluruhan.
Buat sebuah folder yang diberi nama progs. Ketik perintah berikut pada prompt
perintah (>>) :
>> mkdir progs
% membuat direktori progs pada direktori default
>> chdir progs
% merubah direktori default menjadi progs
>> edit prog1.m
% membuat sebuah file m bernama prog1.m
Jika membuat file untuk pertama kali, prompts MATLAB akan mengkonfirmasi,
ketik Yes.
1.6.2 Membuat dan Menjalankan File Script Mengunakan IDE
Jika menggunakan IDE, pilih NEW -> Script. Ini juga akan membuka
editor dan membuat sebuah file dengan nama Untitled. Anda dapat menyimpan
dengan nama baru setelah penuliskan perintah-perintahnya.
Gambar 1.3 Jendela IDE MATLAB.
Ketikan perintah-perintah berikut ini pada editor:
NoOfStudents = 6000;
TeachingStaff = 150;
NonTeachingStaff = 20;
Total = NoOfStudents + TeachingStaff ...
+ NonTeachingStaff;
disp(Total);
Setelah membuat dan menyimpan file ini, Anda dapat menjalankannya dalam
dua cara ::
Tekan tombol Run pada jendela editor atau hanya mengetik nama file (tanpa
ekstensi) pada prompt perintah
>> prog1
Jendela perintah akan menampilkan hasil :
>> 6170
Contoh lain :
Buat file script dan ketikan perintah-perintah dibawah ini :
a = 5; b = 7;
c=a+b
d = c + sin(b)
e=5*d
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> c =
12
>> d =
12.6570
>> e =
63.2849
1.7
Vektor
Vektor adalah sebuah array dimensi satu dari bilangan. MATLAB
mengijinkan membuat dua tipe vector
1.7.1 Vektor Baris:
Vektor baris dibuat oleh himpunan tertutup dari elemen-elemen dalam
kurung kotak, menggunakan spasi atau koma untuk memisahkan elemenelemen.
r = [7 8 9 10 11]
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> r =
Columns 1 through 5
7
10
11
1.7.2 Vektor Kolom:
Vektor baris dibuat oleh himpunan tertutup dari elemen-elemen dalam
kurung kotak, menggunakan titik-koma untuk memisahkan elemen-elemen.
c = [7; 8; 9; 10]
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> c =
7
8
9
10
1.7.3 Referensi Element dari sebuah Vektor
Anda dapat mereferensi satu atau lebih elemen-elemen dari sebuah vector.
Komponen ke I dari vector v direferensikan sebagai v(i). Contoh :
v = [ 1; 2; 3; 4; 5; 6];
v(3)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
3
Bila Anda mereferensi sebuah vector dengan sebuah titik dua, semua komponen
dari vector akan ditampilkan.
v = [ 1; 2; 3; 4; 5; 6]; % creating a column vector of 6 elements
v(:)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
1
2
3
4
5
6
1.8
Matriks
Matriks adalah sebuah array dua dimensi dari bilangan. Dalam MATLAB
Anda membuat sebuah matriks dengan memasukkan elemen-elemen dalam
setiap baris dengan koma atau spasi sebagai pemisah dan menggunakan titik
koma sebagai tanda akhir dari setiap baris.
Contoh membuat matriks a dimensi 4 x 5:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a =
1
1.8.1 Referensi Element-elemen Matriks
Untuk mereferensi sebuah elemen dalam baris m dan kolom n dari
sebuah matriks mx, tuliskan :
>> mx(m, n);
Contoh untuk mereferensi elemen baris ke dua dan kolom ke lima, ketikkan :
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
6
Untuk mereferensi semua elemen dalam kolom ke m, ketikkan A(:,m) :
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> v =
4
5
6
7
Contoh membuat matriks kecil yang elemen-elemennya diambil dari kolom kedua
dan ketiga matriks besar.
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
2
Cara yang sama untuk membuat sub matriks dari sub matriks.
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
2
1.8.2 Menghapus sebuah Baris atau Kolom dalam
Anda dapat menghapus seluruh isi sebuah baris atau kolom sebuah
matriks dengan menuliskan [] pada baris atau kolom yang diinginkan.
Contoh :
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a( 4 , : ) = []
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a =
1
Selanjutnya :
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a =
1
1.9
Array
Dalam MATLAB, semua variable tipe data adalah array multi dimensi.
Vvector adalah sebuah array dimensi satu dan matriks adalah array dimensi dua
atau lebih.
1.9.1 Arrays Khusus dalam MATLAB
Fungsi zeros() membuat sebuah array semua nol :
Contoh :
zeros(5)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
0
Fungsi ones() membuat sebuah array semua satu :
Contoh :
ones(4,3)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
ans =
1
Fungsi eye() membuat sebuah array identitas :
Contoh :
eye(4)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
1
1.9.2 Arrays Multi Dimensi
Sebuah array mempunyai lebih dari dua dimensi disebut array multi
dimensi. Array multi dimensi dalam MATLAB adalah sebuah pengembangan dari
matriks dimensi normal.
Contoh :
a = [7 9 5; 6 1 9; 4 3 2]
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a =
7
Array adalah sebuah array dimensi tiga, dapat ditambahkan sebuah dimensi
ketiga pada a dengan cara seperti ini :
a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a(:,:,1) =
7
>> a(:,:,2) =
1
Kita dapat membuat array multi dimensi menggunakan fungsi-fungsi ones(),
zeros() atau rand().
Contoh :
b = rand(4,3,2)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> b(:,:,1) =
0.0344
0.7952
0.6463
0.4387
0.1869
0.7094
0.3816
0.4898
0.7547
0.7655
0.4456
0.2760
0.6797
0.4984
0.2238
0.6551
0.9597
0.7513
0.1626
0.3404
0.2551
0.1190
0.5853
0.5060
>>b(:,:,2) =
Kita dapat menggunakan fungsi cat() untuk membuat array multi dimensi.
Sintaks fungsi cat() :
B = cat(dim, A1, A2...)
dimana, B adalah array batu yang akan dibuat, A1, A2, ... adalah array yang
akan di gabungkan dan dim dalah dimensi array hasil penggabungan
a = [9 8 7; 6 5 4; 3 2 1];
b = [1 2 3; 4 5 6; 7 8 9];
c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> c(:,:,1) =
9
>> c(:,:,2) =
1
>> c(:,:,3) =
2
Rangkuman 2
Latihan 2
Tugas 2
Kunci Jawaban 2
Daftar Pustaka 2
Andrianto,
Heri.
Pemrograman
Mikrokontroller
AVR
Menggunakan bahasa C (Code Vision), Bandung, Informatika.
[Link]
ATMega
16
KEGIATAN 3
1.10 Tipe Data dalam MATLAB
MATLAB menyediakan 15 tipe data fundamental. Stiapa tipe data
menyimpan data tersebut dalam format sebuah matriks atau array. Ukuran
matriks atau array adalah minimum of 0 x 0 dan ini dapat berkembang.
Tabel berikut menunjukkan tipe-tipe data dalam MATLAB :
Tipe Data
Penjelasan
int8
8-bit bertanda integer
uint8
8-bit tidak bertanda integer
int16
16-bit bertanda integer
uint16
16-bit tidak bertanda integer
int32
32-bit bertanda integer
uint32
32-bit tidak bertanda integer
int64
64-bit bertanda integer
uint64
64-bit tidak bertanda integer
single
Data numeric presisi tunggal
double
Data numeric presisi ganda
logical
Nilai logika 1 atau 0, hasil masing-masing benar atau salah
char
Data karakter (strings disimpansebagai vektor karakter)
cell array
Sel dari indeks array
function handle
Pointer mengarah pada sebuah fungsi
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> str =
Hello World!
>> n =
2345
>> d =
2345
>> un =
790
>> rn =
5.6789e+03
>> c =
5679
1.10.1 Konversi Tipe Data
MATLAB menyediakan bermacam-macam fungsi untuk mengkonversi dari
sebuah tipe data menjadi yang lain. Tabel berikut ini menunjukkan fungsi
konversi tipe data:
Fungsi
Maksud
char
Mengkonversi ke array karakter (string)
int2str
Mengkonversi data integer ke string
mat2str
Mengkonversi matriks ke string
num2str
Mengkonversi bilangan ke string
str2double
Mengkonversi string ke double nilai presisi
str2num
Mengkonversi string ke bilangan
bin2dec
Mengkonversi string bilangan binary ke bilangan decimal
dec2bin
Mengkonversi desimal ke string bilangan binary
dec2hex
Mengkonversi desimal ke string bilangan hexadecimal
hex2dec
Mengkonversi string bilangan hexadesimal ke decimal
cell2mat
Mengkonversi array sel ke array numerik
cellstr
Membuat array sel string dari array karakter
mat2cell
Mengkonversi array ke array sel
1.10.2 Penentuan Tipe Data
MATLAB menyediakan bermacam-macam fungsi untuk identifikasi tipe
data sebuah variable.
Tabel berikut menyediakan fungsi-fungsi tipe data sebuah variable :
Fungsi
Maksud
is
Mendeteksi keadaan
isa
Determine jika input adalaha object klas tertentu
iscell
Menentukan apakah input adalah array sel
iscellstr
Menentukan apakah input adalah array sel string
ischar
Menentukan apakah item adalah array karakter
isfield
Menentukan apakah input adalah bidang array structure
isfloat
Menentukan jika input adalah array titik pecahan
isinteger
Menentukan jika input adalah array integer
islogical
Menentukan jika input adalah array logical
isnumeric
Menentukan jika input adalah array numeric
isobject
Menentukan jika input adalah object MATLAB
isreal
Memeriksa jika input adalah array real
isscalar
Menentukan apakah input adalah scalar
isstr
Menentukan apakah input adalah array character
isstruct
Menentukan apakah input adalah array structure
isvector
Menentukan apakah input adalah vector
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
x=3
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
x = 23.54
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
x = [1 2 3]
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
x = 'Hello'
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> x =
3
>> ans =
0
>> ans =
1
>> ans =
1
>> ans =
1
>> ans =
1
>> x =
23.5400
>> ans =
0
>> ans =
1
>> ans =
1
>> ans =
1
>> ans =
1
>> x =
1
>> ans =
0
>> ans =
1
>> ans =
1
>> ans =
0
>> x =
Hello
>> ans =
0
>> ans =
0
>> ans =
1
>> ans =
0
>> ans =
0
1.11 Operator MATLAB
Sebuah operator adalah sebuah symbol yang memberitahu compiler untuk
melakukan manipulasi matematika atau logika tertentu. MATLAB didisain untuk
melakukan operasi matriks atau array. Oleh sebab itu, operators dalam MATLAB
bekerja untuk data scalar dan non scalar.
1.11.1 Operator Arithmetik
MATLAB mengijinkan dua tipe berbeda dari operasi aritmatika :
Operasi Matriks arithmetika
Operasi Array arithmetika
Operasi matriks arithmetika sama seperti operasi pada aljabar linier. Operasi
Array dieksekusi elemen perelemen, baik pada dimensi satu maumun pada
dimensi banyak.
Operator matriks dan array dibedakan oleh tanda titik (.). Untuk operasi
penjumlahan dan pengurangan adalah berlaku sama untuk matriks dan array.
Operator
Kegunaan
Operator penambah
Operator pengurang
Operator pengali scalar atau matriks
.*
Operator pengali array
Operator pangkat scalar dan matriks
.^
Operator pangkat array
Operator pembagi kiri
Operator pembagi kanan
.\
Operator pembagi kiri array
./
Operator pembagi kanan array
Contoh :
a = 10;
b = 20;
c=a+b
d=a-b
e=a*b
f=a/b
g=a\b
x = 7;
y = 3;
z=x^y
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> c =
30
>> d =
-10
>> e =
200
>> f =
0.5000
>> g =
2
>> z =
343
1.11.2 Operator Relasi
Operator relasi dapat juga bekerja pada kedua data scalar dan non
scalar. Operator relasi untuk array elemen per elemen dibandingkan antara dua
array dan menghasilkan sebuah array dengan ukuran yang sama berisi elemenelemen yang diset logika 1 bila benar dan logika 0 bila salah.
Tabel berikut menyediakan operator relasi :
Operator Penjelasan
<
Less than
<=
Less than or equal to
>
Greater than
>=
Greater than or equal to
==
Equal to
~=
Not equal to
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 100;
b = 200;
if (a >= b)
max = a
else
max = b
end
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> max =
200
1.11.3 Operator Logika
MATLAB menawarkan dua tipe operator logika:
Operator logical Element mengoperasikan elemen per elemen pada array logika.
Simbol-simbol &, |, dan ~ adalah operator array logika AND, OR, dan NOT.
Operators logical rangkaian singkat pengijinkan rangkaian singkat pada operator
logika. Simbol-simbol && and || adalah operators logical rangkaian singkat AND
and OR.
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 5;
b = 20;
if ( a && b )
disp('Line 1 - Condition is true');
end
if ( a || b )
disp('Line 2 - Condition is true');
end
% lets change the value of a and b
a = 0;
b = 10;
if ( a && b )
disp('Line 3 - Condition is true');
else
disp('Line 3 - Condition is not true');
end
if (~(a && b))
disp('Line 4 - Condition is true');
end
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> Line 1 - Condition is true
>> Line 2 - Condition is true
>> Line 3 - Condition is not true
>> Line 4 - Condition is true
1.11.4 Operasi Bitwise
Operator Bitwise bekerja pada bit-bitnya dan membentuk oleh operasi bit.
Tabel kebenaran untuk &, |, and ^ :
p&q p|q p^q
Asumsikan jika A = 60; dan B = 13;
A = 0011 1100
B = 0000 1101
----------------A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = 1100 0011
Tabel berikut ini menunjukkan operasi bitwise:
Fungsi
Maksud
bitand(a, b)
Bit-wise AND integer a dan b
bitor(a, b)
Bit-wise OR integer a dan b
bitshift(a, k)
bitxor(a, b)
Menggeser kekiri k bit, equivalent dengan pengalian 2k.
Menggeser kekanan atau dibagi oleh 2|k|.
Bit-wise XOR integer a dan b
Contoh
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 60; % 60 = 0011 1100
b = 13; % 13 = 0000 1101
c = bitand(a, b)
% 12 = 0000 1100
c = bitor(a, b)
% 61 = 0011 1101
c = bitxor(a, b)
% 49 = 0011 0001
c = bitshift(a, 2)
% 240 = 1111 0000 */
c = bitshift(a,-2)
% 15 = 0000 1111 */
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> c =
12
>> c =
61
>> c =
49
>> c =
240
>> c =
15
1.11.5 Operasi Set
MATLAB menyediakan macam-macam fungsi untuk operasi set, seperti
gabungan, irisan dan pengujian anggota himpunan
Tabel berikut ini menunjukkan operasi set :
Fungsi
Penjelasan
intersect(A,B)
Set irisan dua array A dan B.
setdiff(A,B)
Set perbedaan dua array A dan B.
setxor
Set exclusive OR dua array A dan B
union
Set union of two arrays
Contoh
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = [7 23 14 15 9 12 8 24 35]
b = [ 2 5 7 8 14 16 25 35 27]
u = union(a, b)
i = intersect(a, b)
s = setdiff(a, b)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a =
7
23
14
15
12
24
35
16
25
35
27
12
14
15
16
>> b =
2
14
>> u =
Columns 1 through 11
2
Columns 12 through 14
25
27
35
>> i =
7
14
35
12
15
23
>> s =
9
24
23
24
Rangkuman 3
Latihan 3
Tugas 3
Kunci Jawaban 3
Daftar Pustaka 3
Andrianto,
Heri.
Pemrograman
Mikrokontroller
AVR
Menggunakan bahasa C (Code Vision), Bandung, Informatika.
[Link]
ATMega
16
KEGIATAN 4
1.12 Pembuatan Keputusan MATLAB
Struktur pembuatan keputusan
mengharuskan
bahwa
pemogram
menentukan satu atau lebih kondisi yang akan dievaluasi atau diuji oleh program,
sesuai dengan pernyataan yang akan dieksekusi jika kondisi ditentukan benar
dan pernyataan lain kan dieksekusi bila kondisi salah. Berikut ini adalah bentuk
umum sebuah struktur pembuatan keputusan :
Gambar 1. 4 Diagram Alir ifend.
MATLAB menyediakan tipe pembuatan keputusan berikut ini :
Statemen
if ... end statement
Penjelasan
If ... end statement, terdiri dari sebuah ekspresi
boolean diikuti oleh satu atau lebih pernyataan.
If statement dapat diikuti oleh sebuah opsional else
if...else...end statement
statement, dimana dieksekusi bila ekspresi boolean
salah.
If... elseif...elseif...else...end
statements
If statement dapat diikuti oleh sebuah opsional else
statement elseif... dan sebuah else statement,
berguna untuk menguji bermacam-macam kondisi.
nested if statements
If elseif statement di dalam if elseif statement.
1.12.1 Pembuatan Keputusan if ... end
Sintaks :
if <expression>
% statement akan dieksekusi bila ekspresi boolean benar
<statements>
end
Gambar 1. 5 Diagram Alir ifend.
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 10;
% check the condition using if statement
if a < 20
% if condition is true then print the following
fprintf('a is less than 20\n' );
end
fprintf('value of a is : %d\n', a);
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a is less than 20
>> value of a is : 10
1.12.2 Pembuatan Keputusan if ... else end
Sintaks :
if <expression>
% statement(s) akan dieksekusi bila ekspresi boolean benar
<statement(s)>
else
<statement(s)>
% statement(s) akan dieksekusi bila ekspresi boolean salah
end
Gambar 1. 6 Diagram Alir ifend.
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 100;
% check the boolean condition
if a < 20
% if condition is true then print the following
fprintf('a is less than 20\n' );
else
% if condition is false then print the following
fprintf('a is not less than 20\n' );
end
fprintf('value of a is : %d\n', a);
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> a is not less than 20
>> value of a is : 100
1.12.3 Pembuatan Keputusan if ... elseif else end
Sintaks :
if <expression 1>
% akan dieksekusi bila ekspresi Boolean 1 benar
<statement(s)>
elseif <expression 2>
% akan dieksekusi bila ekspresi Boolean 2 benar
<statement(s)>
Elseif <expression 3>
% akan dieksekusi bila ekspresi Boolean 3 benar
<statement(s)>
else
% akan dieksekusi bila semua ekspresi salah
<statement(s)>
End
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 100;
%check the boolean condition
if a == 10
% if condition is true then print the following
fprintf('Value of a is 10\n' );
elseif( a == 20 )
% if else if condition is true
fprintf('Value of a is 20\n' );
elseif a == 30
% if else if condition is true
fprintf('Value of a is 30\n' );
else
% if none of the conditions is true '
fprintf('None of the values are matching\n');
fprintf('Exact value of a is: %d\n', a );
end
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> None of the values are matching
>> Exact value of a is: 100
1.12.4 Pembuatan Keputusan If else end Bercabang
Sintaks :
if <expression 1>
% akan dieksekusi bila ekspresi boolean1 benar
if <expression 2>
% akan dieksekusi bila ekspresi Boolean 2 benar
end
end
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 100;
b = 200;
% check the boolean condition
if( a == 100 )
% if condition is true then check the following
if( b == 200 )
% if condition is true then print the following
fprintf('Value of a is 100 and b is 200\n' );
end
end
fprintf('Exact value of a is : %d\n', a );
fprintf('Exact value of b is : %d\n', b );
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> Value of a is 100 and b is 200
>> Exact value of a is : 100
>> Exact value of b is : 200
1.13 Tipe Pengulangan MATLAB
Sebuah pernyataan pengulangan mengijinkan untuk mengeksekusi sebuah
pernyataan atau kelompok pernyataan berkali-kali dan mengikuti format umum
pernyataan pengulangan berikut ini :
Gambar 1. 7 Diagram Alir ifend.
Tipe Pengulangan
Penjelasan
Pengulangan sebuah atau sekelompok pernyataan
while loop
sementara kondisi benar. Itu menguji sebelum
mengeksekusi pernyataan.
Mengeksekusi sebuah sekuensial pernyataan berkali-
for loop
kali.
nested loops
Pengulangan di dalam pengulangan.
1.13.1 Pengulangan while end
Sintaks :
while <expression>
<statements>
end
Pengulangan akan dilakukan terus menerus sepanjang ekspresi benar..
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
a = 10;
% while loop execution
while( a < 20 )
fprintf('value of a: %d\n', a);
a = a + 1;
end
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> value of a: 11
>> value of a: 12
>> value of a: 13
>> value of a: 14
>> value of a: 15
>> value of a: 16
>> value of a: 17
>> value of a: 18
>> value of a: 19
1.13.2 Pengulangan forend
Sintaks :
for index = values
<program statements>
end
Pengulangan akan dilakukan terus menerus sebanyak values kali.
Contoh :
Buatlah sebuah file script dengan kode seperti dibawah ini :
for a = 10:20
fprintf('value of a: %d\n', a);
end
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> value of a: 10
>> value of a: 11
>> value of a: 12
>> value of a: 13
>> value of a: 14
>> value of a: 15
>> value of a: 16
>> value of a: 17
>> value of a: 18
>> value of a: 19
>> value of a: 20
1.13.3 Pengulangan forend Bercabang
Sintaks :
for m = 1:j
for n = 1:k
<statements>;
end
end
Pengulangan didalam pengulangan akan dilakukan terus menerus sebanyak m
dan n kali.
Buatlah sebuah file script dengan kode seperti dibawah ini :
for i=2:100
for j=2:100
if(~mod(i,j))
break; % if factor found, not prime
end
end
if(j > (i/j))
fprintf('%d is prime\n', i);
end
end
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> 2 is prime
>> 3 is prime
>> 5 is prime
>> 7 is prime
>> 11 is prime
>> 13 is prime
>> 89 is prime
>> 97 is prime
Rangkuman 4
Latihan 4
Tugas 4
Kunci Jawaban 4
Daftar Pustaka 4
Andrianto,
Heri.
Pemrograman
Mikrokontroller
AVR
Menggunakan bahasa C (Code Vision), Bandung, Informatika.
[Link]
ATMega
16
KEGIATAN 5
1.14 Persamaan Aljabar Dasar MATLAB
Perintah solve digunakan untuk memecahkan permasalahan. Bentuk
sederhananya, fungsi solve meletakkan persamaan dalam tanda kurung dengan
diapit oleh tanta petik dua sebagai argumennya.
Sebagai contoh, memcari nilai x dalam persamaan x-5 = 0
Buatlah skrip seperti dibawah ini :
solve('x-5=0')
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
5
Contoh lain:
Buatlah skrip seperti dibawah ini :
y = solve('x-5 = 0')
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> y =
5
Contoh lain :
Buatlah skrip seperti dibawah ini :
solve('x-5')
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
5
Jika akan memecahkan persamaan dengan banyak variable, perintah solve
ditulis dalam bentuk :
solve(equation, variable)
Sebagai contoh, mencari nilai nilai v dari persamaan v u 3t2 = 0 :
Buatlah skrip seperti dibawah ini :
solve('v-u-3*t^2=0', 'v')
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
3*t^2 + u
1.14.1 Pemecahan Persamaan Aljabar Dasar Octave
Perintah roots digunakan untuk memecahkan persamaan aljabar dalam
Octave :
Sebagai contoh, mencari x dalam persamaan x-5 = 0
Buatlah skrip seperti dibawah ini :
roots([1, -5])
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
5
Contoh lain :
Buatlah skrip seperti dibawah ini :
y = roots([1, -5])
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> y =
5
1.14.2 Pemencahan Persamaan Kuadrat MATLAB
Perintah solve dapat juga untuk memecahkan persamaan orde tinggi.
Fungsi solve akan menghasilkan akar-akar persamaan dalam bentuk array.
Sebagai contoh, memecahkan persamaan x2 -7x +12 = 0.
Buatlah skrip seperti dibawah ini :
eq = 'x^2 -7*x + 12 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> The first root is:
3
>> The second root is:
4
1.14.3 Pemecahan Persamaan Kuadrat Octave
Sebagai contoh, memecahkan persamaan kuadrat x2 -7x +12 = 0 dalam
Octave.
Buatlah skrip seperti dibawah ini :
s = roots([1, -7, 12]);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
Setelah dijalankan, jendela perintah akan menampilkan hasil :
The first root is:
4
The second root is:
3
1.14.4 Pemecahan Persamaan Orde Tinggi MATLAB
Perintah solve dapat juga memecahkan persamaan kuadrat orde tinggi.
Sebagai contoh, memecahkan persamaan (x-3)2(x-7) = 0
Buatlah skrip seperti dibawah ini :
solve('(x-3)^2*(x-7)=0')
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
3
3
7
Dalam kasus persamaan orde tinggi, akar-akar persamaan terdiri dari beberapa
bilangan riel dan imajinir.
Sebagai contoh, memecahkan persamaan orde empat x4 7x3 + 3x2 5x + 9 =
0.
Buatlah skrip seperti dibawah ini :
eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
disp('The third root is: '), disp(s(3));
disp('The fourth root is: '), disp(s(4));
disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> The first root is:
6.630396332390718431485053218985
>> The second root is:
1.0597804633025896291682772499885
>> The third root is:
-0.345088397846654 - 1.07783629546301765*i
>> The fourth root is:
-0.345088397846654+ 1.07783629546301765*i
>> Numeric value of first root
6.6304
>> Numeric value of second root
1.0598
>> Numeric value of third root
-0.3451 - 1.0778i
>> Numeric value of fourth root
-0.3451 + 1.0778i
1.14.5 Pemecahan Persamaan Orde Tinggi Octave
Sebagai contoh, memecahkan persamaan orde empat :
x4 7x3 + 3x2 5x + 9 = 0.
Buatlah skrip seperti dibawah ini :
v = [1, -7, 3, -5, 9];
s = roots(v);
% converting the roots to double type
disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> Numeric value of first root
6.6304
>> Numeric value of second root
-0.34509 + 1.07784i
>> Numeric value of third root
-0.34509 - 1.07784i
>> Numeric value of fourth root
1.0598
1.14.6 Pemecahan Persamaan Sistem MATLAB
Perintah solve dapat juga digunakan untuk menberikan solusi dari
persamaan system yang mengandung banyak.
Sebagai contoh, memecahkan persamaan-persamaan dibawah ini :
5x + 9y = 5
3x 6y = 4
Buatlah skrip seperti dibawah ini :
s = solve('5*x + 9*y = 5','3*x - 6*y = 4');
s.x
s.y
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
22/19
>> ans =
-5/57
Contoh yang lain :
x + 3y -2z = 5
3x + 5y + 6z = 7
2x + 4y + 3z = 8
1.14.7 Pemecahan Persamaan Sistem Octave
Sebagai contoh, menyelesaikan persamaan-persamaan dibawah ini :
5x + 9y = 5
3x 6y = 4
Persamaan system linier seperti ini dapat ditulis sebagai persamaan matriks
tunggal Ax = b, dimana A adalah koefisien matriks, b adalah vector kolom yang
teridir dari sisi kanan dari persamaan linier dan x adalah vector kolom yang
menampilkan hasil.
Buatlah skrip seperti dibawah ini :
A = [5, 9; 3, -6];
b = [5;4];
A\b
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
1.157895
-0.087719
Contoh yang lain :
x + 3y -2z = 5
3x + 5y + 6z = 7
2x + 4y + 3z = 8
1.14.8 Menguraikan dan Menyatukan Persamaan-persamaan MATLAB
Perintah expand dan perintah masing-masing adalah menguraikan dan
penyederhanakan persamaan-persamaan.
Bila bekerja dengan symbol-simbol, variable-variabel didefenisikan terlebih
dahulu sebagai symbol.
Buatlah skrip seperti dibawah ini :
syms x %symbolic variable x
syms y %symbolic variable x
% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(sin(2*x))
expand(cos(x+y))
% collecting equations
collect(x^3 *(x-7))
collect(x^4*(x-3)*(x-5))
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
x^2 + 4*x - 45
>> ans =
x^4 + x^3 - 43*x^2 + 23*x + 210
>> ans =
2*cos(x)*sin(x)
>> ans =
cos(x)*cos(y) - sin(x)*sin(y)
>> ans =
x^4 - 7*x^3
>> ans =
x^6 - 8*x^5 + 15*x^4
1.14.9 Menguraikan dan Menyatukan Persamaan-persamaan Octave
Perintah expand dan perintah masing-masing adalah menguraikan dan
penyederhanakan persamaan-persamaan.
Bila bekerja dengan symbol-simbol, variable-variabel didefenisikan terlebih
dahulu sebagai symbol, namun dalam octave, penentuan symbol mempunyai
pendekatan yang berbeda.
Buatlah skrip seperti dibawah ini :
% first of all load the package, make sure its installed.
pkg load symbolic
% make symbols module available
symbols
% define symbolic variables
x = sym ('x');
y = sym ('y');
z = sym ('z');
% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(Sin(2*x))
expand(Cos(x+y))
% collecting equations
collect(x^3 *(x-7), z)
collect(x^4*(x-3)*(x-5), z)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
-45.0+x^2+(4.0)*x
>> ans =
210.0+x^4-(43.0)*x^2+x^3+(23.0)*x
>> ans =
sin((2.0)*x)
>> ans =
cos(y+x)
>> ans =
x^(3.0)*(-7.0+x)
>> ans =
(-3.0+x)*x^(4.0)*(-5.0+x)
1.14.10 Faktorisasi dan Penyederhanaan Persamaan Aljabar
Perintah factor adalah memfaktorkan sebuah persamaan dan perintah
simplify adalah menyederhanakan sebuah persamaan.
Contoh :
Buatlah skrip seperti dibawah ini :
syms x
syms y
factor(x^3 - y^3)
factor([x^2-y^2,x^3+y^3])
simplify((x^4-16)/(x^2-4))
Setelah dijalankan, jendela perintah akan menampilkan hasil :
>> ans =
(x - y)*(x^2 + x*y + y^2)
>> ans =
[ (x - y)*(x + y), (x + y)*(x^2 - x*y + y^2)]
>> ans =
x^2 + 4
1.15 Menggambar MATLAB
Untuk menggambar sebuah persamaan, diperlukan langkah-langkah
berikut ini :
Menentukan x, oleh kisaran tertentu dari nilai x dimana fungsi akan
digambarkan
Menentukan y = f(x)
Memanggil plot untuk gambar fungsi f(x)
Sebagai contoh, menggambarkan fungsi sederhana y = x untuk kisaran x dari 0
sampai 100 dengan langkah 5.
Buatlah skrip seperti dibawah ini :
x = [0:5:100];
y = x;
plot(x, y)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
Gambar 1. 8 Jendela utama MATLAB.
Contoh lain, menggambarkan fungsi y = x2. Dalam contoh ini akan digambarkan
dua gambar untuk fungsi yang sama, tetapi dalam langkah kisaran yang berbeda
yaitu langkah 20 dan 5.
Buatlah skrip seperti dibawah ini :
x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:20:100];
y = x.^2;
plot(x, y)
Setelah dijalankan, jendela perintah akan menampilkan hasil :
Gambar 1. 9 Jendela utama MATLAB.
Ganti kode, dengan mengurangi langkah menjadi 5 :
x = [-100:5:100];
y = x.^2;
plot(x, y)
MATLAB draws a smoother graph:
Gambar 1. 10 Jendela utama MATLAB.
1.15.1 Adding Title, Labels, Grid Lines and Scaling on the Graph
MATLAB mengijikan untuk menambah judul, label x, label y, garis grid
dan juga mengatur aksis x,y untuk gambar.
Perintah xlabel and ylabel menghasilkan label sepanjang aksis x dan
aksis y.
Perintah title mengijinkan untuk meletakkan judul pada gambar.
Perintah grid on mengijinkan untuk meletakan grid pada gambar.
Perintah axis equal mengijinkan menghasilkan gambar dalam factor skala
dan langkah yang sama untuk kedua aksis.
Perintah axis square menghasilkan sebuah gambar kotak.
Buatlah skrip seperti dibawah ini :
x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on, axis equal
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 11 Jendela utama MATLAB.
1.15.2 Drawing Multiple Functions on the Same Graph
Anda dapat menggambarkan multi gambar pada gambar yang sama.
Contoh :
Buatlah skrip seperti dibawah ini :
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 12 Jendela utama MATLAB.
1.15.3 Penentuan Warnapada Grafik
MATLAB menyediakan delapan opsi warna dasar untuk menggambar
grafik :
Color
Code
White
Black
Blue
Red
Cyan
Green
Magenta
Yellow
Contoh :
f(x) = 3x4 + 2x3+ 7x2 + 2x + 9 dan
g(x) = 5x3 + 9x + 2
Buatlah skrip seperti dibawah ini :
x = [-10 : 0.01: 10];
y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9;
g = 5 * x.^3 + 9 * x + 2;
plot(x, y, 'r', x, g, 'g')
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 13 Jendela utama MATLAB.
1.15.4 Penentuan Skala Aksis
Perintah axis mengijinkan untuk menentukan skala aksis. Disediakan nilai
minimum dan maksimum untuk x dan y menggunakan perintah axis dengan cara
berikut :
axis ( [xmin xmax ymin ymax] )
Contoh :
Buatlah skrip seperti dibawah ini :
x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 14 Jendela utama MATLAB.
1.15.5 Membuat Sub-Gambar
Jika Anda membuat sebuah array dari gambar dalam figur yang sama,
setiap gambar dipanggil sebagai sub-gambar. Perintah subplot adalah untuk
membuat sub-gambar.
Sintaks :
subplot(m, n, p)
dimana, m dan n adalah jumlah baris dan kolom dari array gambar dan p
menentukan dimana akan meletakkan gambar tersebut.
Masing-masing gambar dibuat dengan perintah subplot.
Contoh :
Buatlah skrip seperti dibawah ini :
x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x);
subplot(1,2,1)
plot(x,y), xlabel('x'),ylabel('exp(1.5x)*sin(10x)'),axis([0 5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1,2,2)
plot(x,y),xlabel('x'),ylabel('exp(2x)*sin(10x)'),axis([0 5 -1 1])
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 15 Jendela utama MATLAB.
1.16 Grafik MATLAB
Sub bab ini akan menjelaskan lebih lanjut tentang kemampuan
menggambar grafik MATLAB :
Menggambar chart bar
Menggambar kontur
Menggambar tiga dimensi
1.16.1 Menggambar Chart Bar
Perintah bar menggambar chart dua dimensi.
Contoh :
Nilai dari sepuluh orang dalam kelas adalah 75, 58, 90, 87, 50, 85, 92, 75, 60
dan 95. Anda akan menggambarkan chart bar dari data-data ini :
Buatlah skrip seperti dibawah ini :
x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel('Student'),ylabel('Score'),
title('First Sem:')
print -deps [Link]
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 16 Jendela utama MATLAB.
1.16.2 Menggambarkan Kontur
Sebuah garis kontur dari sebuah fungsi dua variable adalah sebuah kurva
sepanjang fungsi mempuyai nilai. Garis kontur digunakan untuk membuat peta
kontur dengan menghubungkan titik-titik elevasi yang sama, seperti rata-rata
permukaan air laut.
Contoh :
Membuah sebuah peta kontur yang menunjukkan garis kontur untuk fungsi g =
f(x, y). Fungsi ini mempunyai dua variable. Jadi, kita akan membuat dua variable
bebas yaitu dua himpunan data x dan y. Ini dilakukan oleh perintah meshgrid.
Perintah meshgrid digunakan untuk membuat sebuah matriks elemen-elemen
yang memberikan kisaran x dan y dengan spesifikasi masing-masing.
Kita gambar fungsi g = f(x, y), dimana 5 x 5, 3 y 3. Kita berikan
penambahan langkah 0.1 untuk kedua nilai. Variabel x dan y ditentukan sebagai :
[x,y] = meshgrid(5:0.1:5, 3:0.1:3); Kita tentukan fungsi sebagai : x2 + y2
Buatlah skrip seperti dibawah ini :
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent variables
g = x.^2 + y.^2;
% our function
contour(x,y,g)
% call the contour function
print -deps [Link]
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 17 Jendela utama MATLAB.
Kita modifikasi, skrip seperti dibawah ini :
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent variables
g = x.^2 + y.^2;
[C, h] = contour(x,y,g);
% our function
% call the contour function
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps [Link]
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 18 Jendela utama MATLAB.
1.16.3 Gambar Tiga Dimensi
Gambar tiga dimensi pada dasarnya menampilkan sebuah permukaan
yang ditentukan oleh dua variable, g = f (x,y).
Sperti sebelumnya, untuk menentukan fungsi g, pertama kita membuat sebuah
himpunan dari titik-titik (x,y) pada domain fungsi yang menggunakan perintah
meshgrid. Selanjutnya, kita menetapkan fungsi itu sendiri. Akhirnya, kita
menggunakan perintah surf untuk menggambar sebuah gambar surface.
Contoh menggambar peta permukaan tiga dimensi untuk fungsi g = xe-(x2 + y2)
Buatlah skrip seperti dibawah ini :
[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps [Link]
Setelah dijalankan, MATLAB akan menampilkan hasil :
Gambar 1. 19 Jendela utama MATLAB.
Rangkuman 5
Latihan 5
Tugas 5
Kunci Jawaban 5
Daftar Pustaka 5
Andrianto,
Heri.
Pemrograman
Mikrokontroller
AVR
Menggunakan bahasa C (Code Vision), Bandung, Informatika.
[Link]
ATMega
16