matlab untuk komunikasi bergerakk

Upload: surya

Post on 05-Oct-2015

94 views

Category:

Documents


1 download

DESCRIPTION

Komunikasi Bergerak

TRANSCRIPT

OlehLEONARDO SIREGAR

BAB 1PENGENALAN MATLAB

1.1 Sekilas MatlabBahasa pemrograman merupakan media untuk berinteraksi antara manusia dengan komputer agar semakin mudah dan cepat. Misalnya, perkembangan bahasa pemrograman Pascal dengan memunculkan varian baru, yaitu: Delphi, Basic dengan Visual Basic, C dengan C++ Builder, serta Matlab dibangun dari bahasa C sebagai induknya, meski bukan varian dari bahasa C karena sintak dan cara kerjanya berbeda.Matlab adalah bahasa pemrograman level tinggi (semakin mudah cara menggunakannya). MATLAB singkatan dari MATrix LABoratory, yang dikembangkan oleh Mathwork .Inc (http://www.mathworks.com). Matlab mengintegrasikan antara komputasi, visualisasi dan pemrograman dalam lingkungan yang mudah digunakan dimana permasalahan dan solusi dinyatakan dalam notasi matematis yang dikenal secara umum. Matlab dilengkapi dengan fungsi matematika, fisika, statistik dan visualisasi.Dilingkungan universitas, matlab adalah alat komputasi standar dan dikembangkan khusus dalam bidang ilmu matematika, keteknikan dan sains. Dilingkungan industri, Matlab digunakan sebagai alat riset, pengembangan dan analisa.Secara umum, penggunaan matlab dirangkum sebagai berikut: Matematika dan komputasi Pengembanagan algoritma Pengumpulan data Pemodelan, simulasi dan prototipe Analisis data, eksplorasi dan visualisasi Rancang bangun grafis Aplikasi GUISingkatnya, matlab dirancang khusus untuk bekerja dengan sekumpulan data tertentu sebagai vektor, matriks dan gambar.

1.2 Lingkungan Kerja Matlab

Matlab memiliki lingkungan terpadu yang terdiri dari beberapa form atau window dengan kegunaan masing-masing.1.2.1 Memulai Matlab Untuk memulai MATLAB dapat dilakukan dengan cara mengklik ikon Matlab pada desktop window atau menu start (Start > All Programs > MATLAB > MATLAB R2009b) seperti pada aplikasi-aplikasi lainnya.Setelah ditunggu beberapa saat akan muncul desktop MATLAB seperti pada Gambar 1.

Direktori aktifPrompt MATLABCommand historyFile aktif tersimpanGambar 1. Window Matlab.

Keterangan : Direktori aktif : berfungsi sebagai browser direktori aktif. Prompt MATLAB pada command window : berfungsi sebagai penerima perintah dari pemakai untuk menjalankan fungsi-fungsi yang disediakan oleh MATLAB atau media pengguna berinteraksi dengan MATLAB. Daftar variabel aktif (workspace) : berfungsi sebagai penyimpan seluruh variabel yang sedang aktif selama penggunaan MATLAB. File aktif tersimpan (current folder) : berfungsi sebagai tempat penyimpanan file aktif di MATLAB. Command history : berfungsi sebagai penyimpan perintah-perintah yang pernah dikerjakan.

1.3 Mengakhiri Matlab

Untuk mengakhiri MATLAB dapat dilakukan dengan perintah sebagai berikut: Pilih File > Exit MATLAB Menekan tombol Ctrl+Q pada keyboard Mengetikkan perintah exit atau quit pada command window diakhiri dengan Enter Pilih File > ketikkan X pada keyboard.

1.4 File Help

MATLAB menyediakan fasilitas help browser untuk mencari dan melihat dokumen yang telah disediakan di MATLAB. Untuk melihat helpbrowser, klik ikon pada toolbar atau ketik helpbrowser pada command window, yaitu:

>> helpbrowser

Untuk bentuk perintah topik yang lebih spesifik, harus diketikkan dalam ejaan yang tepat misalnya:

>> help clc

Untuk permintaan bantuan dengan penjelasan singkat saja, dapat dilakukan dengan perintah lookfor function sebagai berikut:

>> lookfor clc

Matlab juga menyediakan fasilitas Help online dengan mengetikkan Help > MATLAB Help > Online Document.

1.5 File Demo

Untuk mengaktifkan jendela demo, ketikkan demos di command window, yaitu:

>> demos

Sesaat kemudian akan muncul berbagai pilihan yang berkaitan dengan contoh-contoh yang dibuat dalam pemrograman MATLAB.

1.6 Perintah Menghapus

MATLAB mengalokasikan memori setiap kali suatu variabel digunakan pertama kali dan menyimpannya didalam komputer. Untuk membebaskan memori atau menghapus variabel dari workspace MATLAB digunakan perintah clear (nama variabel) ,misalnya:

>> clear nama_variabel % Enter

Untuk menghapus seluruh variabel yang ada di workspace MATLAB, maka pada command window ketikkan perintah berikut:

>> clear all % Enter

Untuk menghapus atau mengosongkan command window, maka pada command window, ketikkan perintah berikut:

>> clc % Enter

Untuk menutup figure, maka pada command window ketikkan perintah berikut:

>> close % Enter

Untuk menghapus semua pekerjaan yang dilakukan sebelumnya, adalah: mengklik menu Edit > Clear Command History.

1.7 Interupsi Program

Ada kalanya program bekerja dan tidak berhenti yang mungkin diakibatkan oleh kesalahan dalam perintah atau melakukan pencarian terus-menerus. Untuk menghentikan proses dengan paksa, tekan Ctrl-c atau Ctrl-Break, yang mungkin juga harus melakukannya beberapa kali hingga muncul prompt MATLAB (>>) kembali.

1.8 Path

MATLAB menggunakan metode path searching (pencarian direktori) untuk menemukan file dengan ekstensi .mat, yang mengandung script dan fungsi. Jika file tidak ada dalam direktori yang diketahui oleh MATLAB, maka ada 2 pilihan yang harus dilakukan, yaitu: Memindahkan direktori aktif ke direktori tempat file anda beradaMisalnya direktori tempat anda menyimpan file adalah c:/latihanku. Maka caranya adalah dengan perintah berikut:

>> cd c:/latihanku

Setelah menekan enter, maka selanjutnya direktori aktif adalah c:/latihanku.Cara ini harus dilakukan kembali setiap membuka aplikasi MATLAB.

Menambahkan direktori anda ke dalam daftar pencarian direktori MATLABCaranya adalah pilih menu File > Set Path > Add Folder (pilih folder yang diinginkan) > Save > Close.

Selanjutnya muncul dialog set path sebagai berikut:

NB: Untuk memodifikasi path, gunakan fungsi path, addpath dan rmpath pada command window.

Referensi

1. Away, G., A.,2010.The Shortcut of Matlab Programming, Penerbit: Informatika Bandung.2. Peranginangin, K.,2006.Pengenalan Matlab, Penerbit: ANDI.3. Hartanto, T., W., D dan Prasetyo, Y., W., A.,2004.Analisis Dan Desain Sistem Kontrol Dengan Matlab. Penerbit: ANDI Yogyakarta.4. Czylwik, A.,______.Matlab For Communications, (Seminar), NTS.

BAB 2SINTAKS DASAR MATLAB

2.1 Matlab Sebagai Kalkulator

Matlab mengenal jenis bilangan integer, real dan kompleks. Untuk representasi bukan bilangan seperti: Inf, dinyatakan untuk bilangan tak terhingga (misal: 1/0). Untuk representasi NaN (Not a Number), dinyatakan sebagai hasil matematis dari operasi yang tak terdefenisi (misal: 0/0 atau ).MATLAB dapat digunakan sebagai fungsi kalkulator, seperti contoh pada command window berikut:

>> (((2+3)/2)*4-4)^2

ans =

36

NB: ans adalah singkatan dari answer, merupakan variabel yang digunakan untuk menyimpan hasil perhitungan.

Adapun operasi dasar yang didukung oleh MATLAB, dirangkum pada Tabel 2.1.

Tabel 2.1 Operator aritmatika pada MATLAB.OperatorKeterangan

+penjumlahan

-pengurangan

*perkalian

/Pembagian, dengan pembagi disebelah kanan

\Pembagian, dengan pembagi disebelah kiri

^pangkat

NB: ( ) adalah tanda kurung.

Hirarki operator adalah sebagai berikut:1. Operasi dalam kurung lebih awal dikerjakan2. Operasi pangkat3. Operasi perkalian dan pembagian4. Operasi penjumlahan dan pengurangan.

2.2 Variabel

MATLAB tidak memerlukan pendeklarasian variabel atau dimensi variabel. Jika nama variabel baru diperkenalkan, secara otomatis variabel diciptakan dan memori dialokasikan. Jika variabel telah ada, maka MATLAB akan mengubah isi variabel dan jika perlu mengalokasikan penyimpanan variabel yang baru. Sebagai contoh:

>> gain = 3

Artinya, menciptakan matriks 11, dengan nama variabel adalah gain dan menyimpan nilai 3 dalam elemen vektor skalar.

Tipe data yang dikenal dalam pemrograman MATLAB yaitu: numerik dan string. Beberapa cara penulisan data pada MATLAB adalah sebagai berikut:

1. Data Numerik Tunggal

>> a=3 % tekan Enter

a =

3

2. Data Array atau Matrik

>> b=[2 3;4 5] % tekan Enter

b =

2 3 4 5

3. Data String

String adalah satu deret karakter yang masing-masing disajikan secara internal dengan nilai ASCII-nya.

Berikut adalah contoh string:

>> str='MATLAB matlab' % tekan Enter

str =

MATLAB matlab

Untuk melihat representasi ASCII-nya, digunakan fungsi double :

>> str_ascii=double(str)str_ascii =

Columns 1 through 8

77 65 84 76 65 66 32 109

Columns 9 through 13

97 116 108 97 98

Untuk mengembalikan ke karakter aslinya, gunakan fungsi char:

>> str_karakter=char(str)

str_karakter =

MATLAB matlab

Untuk membandingkan kesamaan dua string, digunakan fungsi strcmp:

>> iseq= strcmp(str, str_karakter)

iseq =

1

Dua string dapat dirangkai dengan menggunakan fungsi ctrcat:

>> str_gabung= strcat(str,str_karakter)

str_gabung =

MATLAB matlabMATLAB matlab

Tabel 2.2 Beberapa simbol khusus dalam penggunaan perintah MATLABSimbol khususDeskripsi

[ ]Pembatas awal dan akhir pada matrik

( )Pembatas untuk indeks atau subscripts

Batas penanda dari karakter string

,1. Pemisah subscript 2. Pemisah elemen matrik dalam satu baris3. Tanda pemisah antar statement dalam satu baris

;1. Mencegah menampilkan hasil operasi di command window2. Pemisah antar baris dalam matrik3. Tanda pemisah antar statement dalam satu baris

%Penanda untuk memulai komentar

:Operator kolon, digunakan untuk menyingkatkan penulisan

...Menyambung statement dari baris sebelumnya.

Penamaan variabel:

Nama variabel terdiri dari string, yang diawali dengan huruf dan dapat diikuti oleh huruf, angka atau garis bawah. Penamaan variabel bersifat sensitif (membedakan huruf A dan a). Panjang nama variabel tidak dapat melebihi 31 karakter. Beberapa contoh penamaan variabel MATLAB, sebagai berikut:

Nama variabel benar

>> level_sinyal=20

level_sinyal =

20

>> frekuensi_3400_Hz='suara dapat didengar'

frekuensi_3400_Hz =

suara dapat didengar

Nama variabel salah

>> 3dB=1000??? 3dB=1000 |Error: Unexpected MATLAB operator.

>> sinyal/noise = 20??? sinyal/noise = 20 |Error: The expression to the left of the equalssign is not a valid target for an assignment.

NB: jangan menggunakan nama variabel yang dinyatakan sebagai fungsi (misal: pi, abs, dll). Gunakan help untuk memastikan apakah variabel tersebut sebagai fungsi.Jangan menggunakan spasi, titik, koma, atau operator aritmatika sebagai bagian dari nama variabel.

Dalam MATLAB terdapat variabel yang memiliki arti khusus yang dapat dipergunakan secara langsung, dinyatakan pada Tabel 2.3.

Tabel 2.3 Variabel dengan arti khusus pada MATLAB.Nama variabelKeterangan

ansanswer digunakan untuk menyimpan hasil perhitungan terakhir

pikonstanta , 3.1415926...

epsbilangan sangat kecil mendekati nol yang merupakanbatas akurasi perhitungan di MATLAB

Infinfinity, bilangan positif tak berhingga, misal: 1/0, 2^5, dsb.

nan atau NaNnot a number, untuk menyatakan hasil perhitungan yang tak terdefinisi, misalkan 0/0 dan inf/inf.

i atau junit imajiner, , untuk menyatakan bilangan kompleks.

realmin / realmaxBilangan terkecil/ terbesar yang digunakan dalam positif bilangan real.

nargin / nargoutJumlah argumen yang digunakan oleh fungsi input/ output.

Tabel 2.4 merupakan tata penulisan notasi matematika pada MATLAB.

Tabel 2.4 Tata penulisan notasi matematikaNotasi MatematikaPerintah dalam MATLAB

A+BA+B

A-BA-B

ABA*B

A/BA/B atau B\A

xbx^b

sqrt(x)

abs(x)

pi

3e8 atau 3*10^8

ii atau j

3-4i3-4*i atau 3-4*j

e, exexp(1), exp(x)

ln x, log xlog(x), log10(x)

sin x, arcsin x,...sin(x), asin(x)

Fungsi Matematika Dasar

MATLAB menyediakan standar fungsi matematika dasar bersifat built-in, yaitu: trigonometri, eksponensial, logaritma, bilangan kompleks, dan pembulatan angka. Untuk melihat daftar fungsi matematika dasar tersebut, jalankan perintah berikut pada command window, yaitu:

>> help elfun % Enter

Setelah menekan tombol Enter, maka pada command window tertera fungsi matematika dasar sebagai berikut:

>> help elfun Elementary math functions. Trigonometric. sin - Sine. sind - Sine of argument in degrees. sinh - Hyperbolic sine. asin - Inverse sine. asind - Inverse sine, result in degrees. asinh - Inverse hyperbolic sine. cos - Cosine. cosd - Cosine of argument in degrees. cosh - Hyperbolic cosine. acos - Inverse cosine. acosd - Inverse cosine, result in degrees. acosh - Inverse hyperbolic cosine. tan - Tangent. tand - Tangent of argument in degrees. tanh - Hyperbolic tangent. atan - Inverse tangent. atand - Inverse tangent, result in degrees. atan2 - Four quadrant inverse tangent. atanh - Inverse hyperbolic tangent. sec - Secant. secd - Secant of argument in degrees. sech - Hyperbolic secant. asec - Inverse secant. asecd - Inverse secant, result in degrees. asech - Inverse hyperbolic secant. csc - Cosecant. cscd - Cosecant of argument in degrees. csch - Hyperbolic cosecant. acsc - Inverse cosecant. acscd - Inverse cosecant, result in degrees. acsch - Inverse hyperbolic cosecant. cot - Cotangent. cotd - Cotangent of argument in degrees. coth - Hyperbolic cotangent. acot - Inverse cotangent. acotd - Inverse cotangent, result in degrees. acoth - Inverse hyperbolic cotangent. hypot - Square root of sum of squares. Exponential. exp - Exponential. expm1 - Compute exp(x)-1 accurately. log - Natural logarithm. log1p - Compute log(1+x) accurately. log10 - Common (base 10) logarithm. log2 - Base 2 logarithm and dissect floating point number. pow2 - Base 2 power and scale floating point number. realpow - Power that will error out on complex result. reallog - Natural logarithm of real number. realsqrt - Square root of number greater than or equal to zero. sqrt - Square root. nthroot - Real n-th root of real numbers. nextpow2 - Next higher power of 2. Complex. abs - Absolute value. angle - Phase angle. complex - Construct complex data from real and imaginary parts. conj - Complex conjugate. imag - Complex imaginary part. real - Complex real part. unwrap - Unwrap phase angle. isreal - True for real array. cplxpair - Sort numbers into complex conjugate pairs. Rounding and remainder. fix - Round towards zero. floor - Round towards minus infinity. ceil - Round towards plus infinity. round - Round towards nearest integer. mod - Modulus (signed remainder after division). rem - Remainder after division. sign - Signum.

Contoh Trigonometri:

>> a=sin(pi/2)

a =

1NB: MATLAB mengenal sudut dalam radian. Jadi untuk mengubah sudut dalam derajat menjadi sudut dalam radian, atau sebaliknya, dapat digunakan rumus berikut:Sudut radian = sudut dlm derajat x (pi/180) atau Sudut radian=deg2rad(x)Sudut derajat = sudut radian x (180/pi) atau Sudut derajat = rad2deg(x).

>> b=sin(30*pi/180) % sin(300)

b =

0.5000

Contoh Eksponensial:

>> c= exp(i) % ei =cos (1) + i*sin (1)

c =

0.5403 + 0.8415i

Contoh Logaritma:

>> d = log10(1/0)

d =

Inf

Contoh Kompleks:

>> z = complex(3,4)

z =

3.0000 + 4.0000i

>> magnitud_z= abs(z)

magnitud_z =

5

>> sudut_z = angle(z)

sudut_z = 0.9273

Contoh Round (pembulatan angka):

>> e=round([5/4 4/3]) % membulatkan ke bilangan bulat terdekat

e =

1 1

>> f=sign([-1 0 1 1.5]) % bernilai -1 jika nilai lebih kecil nol, bernilai 0 jika nilai nol % dan bernilai 1 jika nilai lebih besar dari nol

f =

-1 0 1 1

MATLAB juga menyediakan fungsi matematika lanjutan, seperti: bessel, gamma, eig, poly dan roots. Untuk melihat fungsi matematika khusus, dapat dilihat pada fungsi help specfun.

Referensi

1. Away, G., A.,2010.The Shortcut of Matlab Programming, Penerbit: Informatika Bandung.2. Peranginangin, K.,2006.Pengenalan Matlab, Penerbit: ANDI.3. Hartanto, T., W., D dan Prasetyo, Y., W., A.,2004.Analisis Dan Desain Sistem Kontrol Dengan Matlab. Penerbit: ANDI Yogyakarta.4. Czylwik, A.,______.Matlab For Communications, (Seminar), NTS.5. Widiarsono, T.,2005.Tutorial Praktis Belajar Matlab, Jakarta.

BAB 3MATRIK

3.1 Pendahuluan

MATLAB utamanya didesain bekerja berdasarkan matrik (baris dan kolom). Didalam MATLAB, matrik tersusun dalam sekelompok bilangan berbentuk segi empat. Jadi, matrik skalar didefenisikan sebagai matrik 11, matrik vektor didefenisikan sebagai matrik satu baris atau satu kolom. MATLAB memiliki cara lain untuk menyimpan data numerik dan data non-numerik, tetapi semuanya itu pada dasarnya dinyatakan sebagai matrik. MATLAB seluruhnya bekerja berdasarkan matrik secara cepat dan mudah.

3.2 Menciptakan Dan Mengakses Matrik

Untuk menciptakan matrik, elemen baris harus dipisahkan dengan koma ( , ) atau spasi dan baris dibagi dengan semikolon ( ; ), serta matrik diawali dan diakhiri dengan kurung siku ( [ ] ). Misalnya:

>> A = [3 2 1; 6 5 4; 9 8 7] % tekan Enter

A =

3 2 1 6 5 4 9 8 7

Loop implisit yang bertipe (ind_awal : ind_pertambahan : ind_akhir), merupakan nilai dimulai dari ind_awal dengan pertambahan ind_pertambahan hingga berakhir ke nilai atau tidak melewati nilai ind_akhir. Contoh:

>> A=[3 : -1 : 1; 6 : -1 : 4; 9 : -1 : 7]

A =

3 2 1 6 5 4 9 8 7

Mengakses elemen matrik A didasarkan pada elemen baris ke-n dan kolom ke-m dari matrik A, yaitu: A(n,m). Berikut contohnya:

>> A(1,2) + A(2,3) - A(3,1) % tekan Enter

ans = -3

Mengakses matrik dengan loop implisit, dari elemen baris ke-k sampai ke-l dengan elemen kolom ke-m sampai ke-n, A(k:l , m:n) dicontohkan sebagai berikut:

>> A(1:2 , 1:3) % mengakses matrik A pada elemen baris 1 sampai 2 dengan elemen % kolom dari 1 sampai 3.

ans =

3 2 1 6 5 4

>> A(3 , :) % mengakses matrik A pada baris ke-3 dengan semua elemen kolom

ans =

9 8 7

3.3 Matrik Khusus

MATLAB menyediakan fungsi matrik dasar, yaitu: zeros, ones, eye, rand, dan randn. Berikut adalah contoh membangkitkannya:

>> B = zeros(3,4) % membangkitkan matrik B(3x4), semua elemennya bernilai nol.

B =

0 0 0 0 0 0 0 0 0 0 0 0

>> C = ones(3,4) % membangkitkan matrik C(3x4), semua elemennya bernilai satu.

C =

1 1 1 1 1 1 1 1 1 1 1 1

>> D = eye(3) % membangkitkan matrik identitas D(3x3), dengan elemen diagonal % bernilai satu sementara elemen lain bernilai nol.

D =

1 0 0 0 1 0 0 0 1

>> E = rand(2,3) % membangkitkan matrik E(2x3),berisi bilangan acak distribusi % uniform pada selang [0,1].

E =

0.6797 0.1626 0.4984 0.6551 0.1190 0.9597

>> F = randn(2,3) % membangkitkan matrik F(2x3), berisi bilangan acak terdistribusi % normal atau disebut Gaussian dengan mean = 0, varian = 1

F =

-0.0301 0.6277 1.1093 -0.1649 1.0933 -0.8637

3.4 Ekspansi Matrik (Concatenation)

Concatenation adalah proses penggabungan beberapa matrik berukuran kecil menjadi suatu matrik berukuran besar. Contoh:

>> A=[3 : -1 : 1; 6 : -1 : 4; 9 : -1 : 7]

A =

3 2 1 6 5 4 9 8 7

Matrik A digabung menjadi:

>> A=[A A+1; A*2 A^2]A =

3 2 1 4 3 2 6 5 4 7 6 5 9 8 7 10 9 8 6 4 2 30 24 18 12 10 8 84 69 54 18 16 14 138 114 903.5 Menghapus Baris Dan Kolom Matrik

Untuk menghapus baris dan kolom suatu matrik dapat digunakan simbol kurung persegi ( [ ]). Contoh :

>> A(4:6,:)= [ ] % menghapus elemen baris ke-4 sampai ke-6 dengan % semua elemen kolom dari matrik A.A =

3 2 1 4 3 2 6 5 4 7 6 5 9 8 7 10 9 8

>> A(: ,4:6)= [ ] % menghapus semua elemen baris dengan kolom ke-4 sampai ke-6 % dari matrik A. A = 3 2 1 6 5 4 9 8 7

3.6 Ukuran Matrik

Untuk menghitung ukuran atau dimensi suatu matrik digunakan perintah, yaitu: length untuk menghitung matrik vektor, size untuk menghitung matrik 2-dimensi. Contoh: >> panjang_A=length(A)panjang_A = 3

>> [panjang_baris_A, panjang_kolom_A]=size(A)panjang_baris_A = 3panjang_kolom_A = 3

3.7 Transpose Matrik

Suatu matrik dapat ditranspose dengan operator ( ). Contoh:

>> a=1:3

a =

1 2 3

>> b=a' % matrik a ditranspose menjadi matrik b

b =

1 2 3

3.8 Operasi dan Fungsi Matrik

Operasi dan fungsi pada matrik yang sering digunakan ditunjukkan pada Tabel 3.3.

Tabel 3.3 Operasi dan fungsi matrik.PerintahKeteranganSintaks

detMenghitung determinan matrikC=det(A)

sizeMenghitung ukuran matrik[n,m]=size(A)

traceMenghitung jumlah elemen diagonal matrikC=trace(A)

normMenghasilkan panjang Eukledian vektorC=norm(P)

+Menjumlahkan matrikC=A+B

-Mengurangkan matrikC=A-B

*Mengalikan matrikC=A*B

. *Mengalikan elemen per elemen matrik yang berukuran samaC=.*B

/Menghasilkan solusi CA=BC=A/B

\Menghasilkan solusi AC=BC=B\A

. /Membagi elemen per elemen matrik yang berukuran samaC=A./B

^Memangkatkan matrik dengan skalarC=A^k

.^Memangkatkan elemen per elemen matrik dengan skalarC=A.^k

Transpose matrik bilangan rill, atau traspose dan konjugasi matrik kompleksC=A

.Operasi transpose tanpa konjugasi. Untuk matrik rill, operator ini memberi hasil yang sama dengan petik tunggalC=A.

invMenghasilkan invers matrik, untuk matrik bujur sangkarC=inv(A)

nullMenghasilkan suatu orthonormal basis untuk spasi null dari matrik yang dihasilkan dari singular value decomposition (svd)C=null(A)

orthMenghasilkan orthonormal basis pada jangkauan AC=orth(A)

rrefMenghasilkan reduce row echelon form dari matrikC=rref(A)

eigMenghasilkan suatu vektor yang berisi eigenvalues dari suatu matrikbujur sangkarP=eig(A)

svdSuatu vektor yang berisi tunggal dari matrikP=svd(A)

linspaceMenhasilkan suatu vektor sebanyak n elemen diantara a dan bX=linspace(a,b,n)

logspaceMenghasilkan suatu vektor sebanyak n elemen diantara 10a dan 10bX=logspace(a,b,n)

diagMenghasilkan diagonal matrikC=diag(A)

trilMenghasilkan bagian lower triangular dari matrikX=tril(A)

triuMenghasilkan upper triangular dari matrikX=triu(A)

maxMenghitung nilai maksimum dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=max(A)

minMenghitung nilai minimum dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=min(A)

meanMenghitung nilai mean dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=mean(A)

medianMenghitung nilai median dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=median(A)

stdMenghitung nilai standar deviasi dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=std(A)

varMenghitung nilai varian dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=var(A)

corrcoefMenghasilkan koefisien korelasiS=corrcoef(A)

sortMengurutkan data dari elemen dalam setiap kolom matrik atau dari elemen vektor matrikS=sort(A)

sumMenghitung jumalah dari elemen dalam setiap kolom matrik atau seluruh elemen matrik vektorS=sum(A)

prodMenghitung hasil perkalian elemen suatu vektor atau menghasilkan sebuah vektor yang berisi hasil perkalian setiap kolom dari suatu matrikS=prod(A)

cumprodMenghitung sebuah vektor berukuran sama, yang berisi nilai produk kumulatif dari sebuah matrik dengan ukuran sama, yang berisi nilai produk kumulatif kolom suatu matrikS=cumprod(A)

cumsumMenghitung sebuah vektor berukuran sama, yang berisi nilai jumlah kumulatif dari sebuah matrik dengan ukuran sama, yang berisi nilai produk kumulatif kolom suatu matrikS=cumsum(A)

reshapeMenyusun ulang elemen matrik A menjadi berukuran mxn. Elemen A harus sama dengan mxnC=reshape(A,m,n)

rot90Merotasi posisi elemen matrik A berlawanan arah jarum jam sejauh 900C=rot90(A)

flipudMenukar posisi elemen matrik A secara membujur, yaitu: sebelah atas ditukar dengan sebelah bawahC=flipud(A)

fliplrMenukar posisi elemen matrik A secara melintang, yaitu: sebelah kiri ditukar dengan sebelah kanan.C=fliplr(A)

dotMenghitung dot-product dari matrik vektorC=dot(x,y)

crossMenghitung cross-product dari matrik vektorC=cross(x,y)

Contoh:>> a=linspace(1,10,4) % Menghasilkan vektor sebanyak 4 elemen diantara 1 dan 10.a = 1 4 7 10

>> b= [a;a] % mengekstrak matrik a 1x4 menjadi b 2x4.b = 1 4 7 10 1 4 7 10

>> c=mean(b) % menghitung rata-rata elemen matrik b berdasarkan elemen perkolom.c = 1 4 7 10

>> d=mean(b') % menghitung rata-rata elemen matrik b berdasarkan elemen perbaris.d = 5.5000 5.5000

3.9 Operator Logika Dan Relasi dalam Menyeleksi Data

Operator relasi dapat digunakan untuk membandingkan dua atau lebih array yang memiliki ukuran yang sama, atau suatu array dengan suatu skalar. Hasil relasi akan bernilai 1 jika relasi benar(dipenuhi) dan bernilai 0 jika relasi tidak dipenuhi.Operator relasi dirangkum pada Tabel 3.4.Tabel 3.4 Tabel operator relasiOperatorKeterangan

= =Sama dengan

~ =Tidak sama dengan

=Lebih dari sama dengan

Contoh:>> a=randn(3,4)a = 1.4090 -1.2075 0.4889 -0.3034 1.4172 0.7172 1.0347 0.2939 0.6715 1.6302 0.7269 -0.7873

Maka,>> ind=(a> b=a(ind)b = -1.2075 -0.3034 -0.7873

Atau dapat digunakan dengan menggunakan logical addressing dalam MATLAB, yaitu dengan menggunakan fungsi find, berikut contohnya:>> ind=(a> [ind_baris, ind_kolom, ind_nilai]= find (ind) ind_baris = 1 1 3ind_kolom = 2 4 4ind_nilai = -1.2075 -0.3034 -0.7873Ada tiga logika operator yang tersedia dalam MATLAB, dirangkum pada Tabel 3.5.Tabel 3.5 Tabel operator logika.OperatorKeterangan

|Dan

&Atau

~Negasi

Contoh:>> c=randn(2,4)c = 0.5377 -2.2588 0.3188 -0.4336 1.8339 0.8622 -1.3077 0.3426

>> ind=(c>=0.5) | (c> d=c(ind)d = 0.5377 1.8339 -2.2588 0.8622 -1.3077

Selain operator-operator relasi dan logika, MATLAB juga dirancang untuk melaksanakan tugas-tugas yang sama. Daftar tugas-tugas tersebut sangat banyak, contohnya: isempty, isspace, isletter, dll.

3.10 Array Multidimensi

Array multidimensi merupakan suatu ekstensi dari suatu matrik dua dimensi. Array multidimensi dapat diciptakan dari matrik dua dimensi yang sudah ada, seperti: zeros, one, rand atau randn dengan lebih dari dua argumen. Contohnya:

>> R=randn(2,3,3)R(:,:,1) = 3.5784 -1.3499 0.7254 2.7694 3.0349 -0.0631R(:,:,2) = 0.7147 -0.1241 1.4090 -0.2050 1.4897 1.4172R(:,:,3) = 0.6715 0.7172 0.4889 -1.2075 1.6302 1.0347Untuk melihat fungsi-fungsi array multidimensi yang disediakan MATLAB, dapat dilihat dari help cat, repmat.

3.11 Sel dan Struktur (bersambung)

Dua jenis data, yaitu: array sel dan struktur membuat MATLAB menjadi alat yang kuat untuk berbagai aplikasi. Didalam array sel, elemen-elemennya bisa berupa: numerik, string, array, dll. Contoh:

Referensi

1. Away, G., A.,2010.The Shortcut of Matlab Programming, Penerbit: Informatika Bandung.2. Peranginangin, K.,2006.Pengenalan Matlab, Penerbit: ANDI.3. Hartanto, T., W., D dan Prasetyo, Y., W., A.,2004.Analisis Dan Desain Sistem Kontrol Dengan Matlab. Penerbit: ANDI Yogyakarta.4. Czylwik, A.,______.Matlab For Communications, (Seminar), NTS.5. Widiarsono, T.,2005.Tutorial Praktis Belajar Matlab, Jakarta.6. Sianipar, R., H., dkk. 2012.Pemrosesan Sinyal Digital. Penerbit ANDI Yogyakarta.7. MATLAB R2009b.2009..MATLAB HELP.8. _________.2001.MATLAB STUDENT VERSION, version 6 (Release 2). THE MATLAB WORK.Inc.

BAB 4GRAFIK MATLAB

MATLAB memiliki kemampuan grafis tingkat tinggi yang memungkinkan pengguna menampilkan data vektor dan matrik sebagai grafik serta mencatat dan mencetak grafik tersebut. Hasil tampilan dilayar dapat berupa: grafik 2-D, 3-D dan alat bantu visual seperti: pie-chart, histogram, kontur dan animasi. Selain itu ada juga disediakan atribut objek yang dapat disesuaikan, termasuk: skala, warna, fontsize, sudut pandang (view), pencahayaan dan bayangan, dll.

4.1 Plot 2-D

Fungsi dasar untuk membuat grafik 2-D adalah fungsi plot. Perintah plot (x,y) merupakan dua argumen vektor yang menghasilkan grafik y versus x. Fungsi axis([xmin, xmax, ymin, ymax]) digunakan untuk menentukan batas minimum dan maksimum data pada grafik. Fungsi xlabel(teks), ylabel(teks) dan zlabel(teks) masing-masing digunakan untuk menambah label pada axis x, y, dan z. Fungsi zlabel(teks) digunakan untuk plot 3-D. Fungsi title(teks) digunakan untuk menambah teks diatas figur. Fungsi text(x,y,string) digunakan untuk menyisipkan teks dalam figur pada posisi titik (x,y). Fungsi grid on/ grid off digunakan untuk mengaktifkan/ menonaktifkan grid pada figur. Contoh:

>> x=0:pi/50:2*pi; % menciptakan matrik x, nilainya dimulai dari ind_awal=0, % ind_pertambahan=pi/50, ind_akhir=2*pi.>> y=sin(x); % menciptakan matrik y sebagai fungsi sin(x)>> plot(x,y); % fungsi menampilkan grafik y versus x>> axis([0, 6.2832, -1, 1]) % fungsi untuk menentukan batas data pada grafik, xmin= 0, % xmax= 6.2832, ymin= -1, ymax= 1.>> xlabel('sb-x (0-2\pi)'); % fungsi membuat label pada sumbu absis x dengan nama sb-x % (0-2)>> ylabel('sb-y'); % fungsi membuat label pada sumbu ordinat y dengan nama sb-y>> title('y=sin(x)'); % fungsi menambahkan judul y=sin(x) diatas figur.>> text(3,0.2,'\leftarrow y=sin(x)') % fungsi menyisipkan teks y=sin(x) pada posisi % koordinat (3, 0.2) dalam figur.>> grid on; % fungsi mengaktifkan grid pada figur.

Hasilnya ditunjukkan pada Gambar 4.1.

Gambar 4.1 Grafik y versus x.

4.1.1 Fungsi model garis, tanda dan warna pada kurva

Untuk menentukan secara spesifik warna, garis dan tanda ketika memplot data, maka sintaknya dapat ditulis sebagai berikut:

plot(x , y,warna_garis_tanda)

Untuk menampilkan string karakter warna, garis dan tanda, dapat dilihat pada Tabel 4.2.

Tabel 4.2a) String warnaSimbolWarna (RGB)

ccyan (0 1 1)

mmagenta (1 0 1)

yyellow (1 1 0)

rred (1 0 0)

ggreen (0 1 0)

bblue (0 0 1)

wwhite (1 1 1)

kblack (0 0 0)

Tabel 4.2b) String garisSimbolGaris

-solid

--dashed

:dotted

-.das-dot

noneno line

Tabel 4.2c) String tandaSimbol TandaDeskripsi

+plus

ocircle

*asterisk

.point

xcross

ssquare

ddiamond

^up ttriangle

vdown triangle

>right triangle

> x=0:pi/50:2*pi; >> y=sin(x); >> plot(x,y,'k-.+'); % fungsi menampilkan grafik y versus x, dengan: warna k, % garis -., tanda +.>> xlabel('sb-x (0-2\pi)'); >> ylabel('sb-y'); >> title('y=sin(x)'); >> text(pi,0,'\leftarrow y=sin(x)') >> grid on; Hasilnya ditunjukkan pada Gambar 4.2.

Gambar 4.2 Plot y versus x dengan properti warna, garis dan tanda masing-masing yaitu: k, -., dan +.

Menambah Pengaturan Plot Lines

Selain mensetting grafik berdasarkan warna, garis dan tanda, terdapat juga empat penambahan properti khusus untuk setiap grafik, yaitu:

LineWidth : khusus mempertebal garis MarkerEdgeColor: khusus mewarnai sisi marker atau bentuk tanda. MarkerFaceColor: khusus mewarnai permukaan marker. MarkerSize: khusus mengubah ukuran marker.

Properti di atas secara spesifik disisipkan dalam fungsi plot, setelah data diplot berdasarkan bentuk, sebagai berikut:

plot(x,y,'PropertyName',value,...)

Contoh :

>> x = 0:pi/15:4*pi;>> y = exp(2*sin(x));>> plot(x,y,'-ko','LineWidth',3.0,'MarkerSize',6,... 'MarkerEdgeColor','r','MarkerFaceColor','g')

Hasilnya diperlihatkan pada Gambar 4.3.

Gambar 4.3 Menambah kontrol pada plot lines.

Untuk mengedit warna, garis dan tanda secara interaktif dapat juga dilakukan pada window figur. Caranya adalah: pilih menu Edit > Figure Properties > klik objek > atur properti objek sesuai yang diinginkan atau double klik objek yang mau dimodifikasi > atur properti objek.

Menambah Pengaturan String Teks

Adalah mungkin menambah string teks (misal: title, axis, label, dll), dengan format seperti: bold face, italic, bahkan karakter spesial seperti: Greek dan simbol matematika.

Huruf yang digunakan untuk menampilkan teks yang dimodifikasi adalah stream modifiers. Sederetan karakter khusus sebagai interpreter MATLAB dapat berubah. Stream modifiers secara umum adalah: \ b : boldface \ it : italics \ rm : remove modifiers. \ fontname{fontname} : fontname yang digunakan. \ fontsize{fontsize} : font size. _{nama} : karakter dalam kurung kurawal merupakan indeks atau subscript dibawah. ^{nama} : karakter dalam kurung kurawal merupakan indeks atau subscript diatas.

Tabel 4.3 Daftar simbol Greek dan matematikaKarakterSimbolKarakterSimbolKarakterSimbol

\alpha\int

\beta\cong

\gamma\Gamma\sim

\delta\Delta\infty

\epsilon\pm

\eta\leq

\theta\geq

\lambda\Lambda\neg

\mu\propto

\nu\div

\pi\circ

\phi\Pi\leftrightarrow

\rho\leftarrow

\sigma\Sigma\rightarrow

\tau\uparrow

\omega\Omega\downarrow

4.1.2 Plot Overlay

Multi grafik y versus x, dapat juga diciptakan melalui satu fungsi plot. MATLAB secara otomatis membedakan antar grafik berdasarkan warna. Namun untuk membedakannya dapat juga disetting sesuai keinginan. Contoh :

>> t = 0:0.001:0.02;>> phasa_R = 380/sqrt(3)*sin(2*pi*50*t);>> phasa_S = 380/sqrt(3)*sin(2*pi*50*t-120*pi/180);>> phasa_T = 380/sqrt(3)*sin(2*pi*50*t-240*pi/180);>> plot(t,phasa_R, t,phasa_S, t,phasa_T)>> xlabel('waktu (sekon)'); ylabel('tegangan (volt)');

Hasilnya ditunjukkan pada Gambar 4.3.

Gambar 4.3 Multi plot y versus x.

Untuk mengubah garis, tanda agar dapat dibedakan satu sama lain, dapat disetting sesuai keinginan. Contoh :

>> t = 0:0.001:0.02;>> phasa_R = 380/sqrt(3)*sin(2*pi*50*t);>> phasa_S = 380/sqrt(3)*sin(2*pi*50*t-120*pi/180);>> phasa_T = 380/sqrt(3)*sin(2*pi*50*t-240*pi/180);>> plot(t,phasa_R,'-o', t,phasa_S,'-.*', t,phasa_T,'--s')>> xlabel('waktu (sekon)'); ylabel('tegangan (volt)');

Hasilnya seperti pada Gambar 4.4.

Gambar 4.4 Multi plot y versus x dengan garis, dengan tanda disetting.

Untuk membuat legend dari grafik atau kurva dalam figure, digunakan fungsi legend (string1,string2, ...). Contoh :

>> t = 0:0.001:0.02;>> phasa_R = 380/sqrt(3)*sin(2*pi*50*t);>> phasa_S = 380/sqrt(3)*sin(2*pi*50*t-120*pi/180);>> phasa_T = 380/sqrt(3)*sin(2*pi*50*t-240*pi/180);>> plot(t,phasa_R,'-o', t,phasa_S,'-.*', t,phasa_T,'--s')>> xlabel('waktu (sekon)'); ylabel('tegangan (volt)');>> legend('phasa R','phasa S','phasa T') % fungsi legend

Hasilnya ditunjukkan pada Gambar 4.5.

Gambar 4.5 Multi plot y versus x dengan legend phasa R, phasa S dan phasa T.

4.1.3 Penambahan Plot pada Grafik

Penambahan plot tanpa menggeser atau menghapus grafik yang sudah ada, digunakan perintah hold. Perintah hold on untuk mengaktifkan penambahan grafik, sebaliknya hold off. Contoh :

>> t= 0:0.05:10;>> gel_sinus= sin(2*pi*0.5*t);>> plot(t,gel_sinus,'-b','LineWidth',1);>> hold on; % perintah hold aktif>> gel_cosinus= cos(2*pi*0.5*t);>> plot(t,gel_cosinus,'.-r','LineWidth',1);>> gel_persegi= square(2*pi*0.5*t);>> plot(t,gel_persegi,'--g','LineWidth',2);>> gel_gergaji= sawtooth(2*pi*0.5*t);>> plot(t,gel_gergaji,':k','LineWidth',3)>> hold off; % perintah hold tidak aktif>> xlabel('waktu (s)'); ylabel('amplitudo');>> title('gelombang, f=0.5 Hz');>> axis([0 10 -1.1 1.1]);>> legend('sinus','cosinus','persegi','gergaji');

Hasilnya diperlihatkan pada Gambar 4.6.

Gambar 4.6 Menggabungkan grafik gelombang sinus, cosinus, persegi dan gergaji menggunakan perintah hold.

4.1.4 Grafik Jamak atau Plot Paralel

Untuk menampilkan grafik secara terpisah dalam satu figure (sub-figure), dilakukan dengan menggunakan fungsi subplot, dengan sintaks subplot(m, n, p) atau subplot(mnp). Fungsi subplot(m, n, p) merupakan fungsi yang membagi figure window kedalam matrix m x n dengan axes yang lebih kecil, p merupakan nomor atau indeks objek yang diplot. Contoh :

>> t = 0:0.001:0.02;>> figure(1) % perintah figure(n)>> subplot(3,1,1) % subplot(311)>> phasa_R = 380/sqrt(3)*sin(2*pi*50*t);>> plot(t,phasa_R,'-bo')>> axis([0 0.02 -220 220]);>> xlabel('waktu (sekon)'); ylabel('tegangan (volt)');>> title('subplot(311)')>> subplot(3,1,2) % subplot(312)>> phasa_S = 380/sqrt(3)*sin(2*pi*50*t-120*pi/180);>> plot(t,phasa_S,'-.r*')>> axis([0 0.02 -220 220]);>> xlabel('waktu (sekon)'); ylabel('tegangan (volt)');>> title('subplot(312)')>> subplot(3,1,3) % subplot(313)>> phasa_T = 380/sqrt(3)*sin(2*pi*50*t-240*pi/180);>> plot(t,phasa_T,'--gs')>> axis([0 0.02 -220 220]);>> xlabel('waktu (sekon)'); ylabel('tegangan (volt)');>> title('subplot(313)')

Hasilnya diperlihatkan pada Gambar 4.7.

Gambar 4.7 Figure gelombang dalam 3 sub-figure.

4.1.5 Sintak Dasar Grafik 2-D

MATLAB menyediakan berbagai fungsi untuk menampilkan data vektor menjadi grafik. Data yang sama dengan fungsi yang berbeda, skala axesnya dapat ditampilkan berbeda.Untuk lebih mengetahui grafik 2-D, ketikkan perintah berikut ini di command window:

>> help graph2d

Pada Tabel 4.3, menampilkan fungsi plot dasar 2-D.

Tabel 4.3 Fungsi plot 2-D.FungsiDeskripsi

plot (x,y)Memplot vektor y terhadap x

plotyy (x,y1,x,y2)Memplot x,y1 dengan label axis-y disebelah kiri dan x,y2 dengan label axis-y disebelah kanan.

semilogx (x,y)Memplot dengan skala logaritma basis 10 pada axis-x dan skala linier pada axis-y

semilogy (x,y)Memplot dengan skala linier pada axis-x dan skala logaritma basis 10 pada axis-y

loglog (x,y)Memplot dengan skala logaritma basis 10 pada axis-x dan axis-y

bar (x,y)Memplot diagram batang pada setiap elemen y pada posisi yang ditentukan dalam x, dimana x merupakan vektor interval sumbu-x untuk garis vertikal.

hist(x,y)Memplot histogram dari data di x, dengan interval yang ditentukan oleh panjang vektor y.

stairs (x,y)Memplot diagram tangga elemen data y pada lokasi yang didefenisikan elemen data x.

stem (x,y)Memplot data diskrit pada elemen y pada berdasarkan posisi x. Tanda bulatan pada ujung strem merupakan nilai y.

polar (theta,rho)Memplot koordinat polar dengan sudut theta (radian) terhadap radius rho.

Contoh :

>> n=0:10;>> y=exp(-n);>> figure; % perintah figure>> subplot(221)>> loglog(n,y); % fungsi loglog(x,y)>> xlabel('x(n)'); ylabel('y(n)'); title('subplot(221), loglog');>> grid on;>> subplot(222)>> stem(n,y); % fungsi stem(x,y)>> xlabel('x(n)'); ylabel('y(n)'); title('subplot(222), stem');>> subplot(223)>> bar(n,y); % fungsi bar(x,y)>> xlabel('x(n)'); ylabel('y(n)'); title('subplot(223), bar');>> subplot(224)>> theta= 0:pi/50:2*pi;>> rho= cos(theta);>> polar(theta,rho); % fungsi polar(theta, rho)>> title('subplot(224), polar');>> grid on;

Hasilnya diperlihatkan pada Gambar 4.8.

Gambar 4.8 Plot dengan fungsi loglog, stem, bar dan polar.

4.2 Plot 3-D

MATLAB menyediakan variasi fungsi untuk menampilkan data 3-D, yaitu: dalam koordinat ruang, x-, y- dan z-. Nilai z- adalah bobot nilai dari pada titik (x, y). Untuk menampilkan data plot garis, dapat menggunakan fungsi plot3,fplot3, dll, untuk plot permukaan dapat digunakan fungsi mesh, surf, dll, dan untuk plot kontur dapat digunakan fungsi meshc, surfc, contour, dll.Untuk lebih mengetahui grafik 3-D, ketikkan perintah berikut ini di command window:

>> help graph3d

Perintah command xlabel, ylabel, zlabel, title, axis, hold, grid, subplot juga berlaku untuk plot 3-D.Plot Garis 3-D

Jika vektor x, y, dan z berukuran sama, maka untuk menggambarkan plot garis 3-D-nya, digunakan sintaks berikut:

>> plot3(x, y, z)

Contoh :

>> clear all>> t= -10*pi:pi/50:10*pi;>> x= t.*cos(t);>> y= t.*sin(t);>> plot3(x,y,t);>> xlabel('x'); ylabel('y'); zlabel('z');>> grid on;

Hasilnya ditunjukkan pada Gambar 4.9.

Gambar 4.9 Kurva z(t)=[ tcos(t) tsin(t) t], interval , dengan fungsi plot3.

Plot Permukaan 3-D

Sintaks untuk plot permukaan 3-D adalah:

>> [xi, yi]= meshgrid(x,y);>> zi % menentukan nilai zi(xi,yi)>> mesh(xi,yi,zi) % fungsi lain: surf(xi, yi, zi)

Untuk plot permukaan grafik 3-D, caranya adalah:1. Defenisikan batas-batas nilai x dan y yang akan diplot.

Contoh: >> x= 0:3;>> y= 10:16;

2. Gunakan command meshgrid untuk menjalankan 2x2 D array untuk mengisi xi dan yi sebagai jalinan titik.

Contoh:Perintah meshgrid diterapkan pada array x dan y, membuat 2 matrik:>> [xi,yi] = meshgrid(x,y)

xi =

0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3

yi =

10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 15 16 16 16 16NB: matrik xi berisi replika baris dari array x, sementara yi merupakan replika kolom dari y.

3. Hitung fungsi 3-D untuk jalinan titik, contoh: sebagai fungsi array xi dan yi.4. Buat fungsi plot permukaan, misal: mesh, surf, dll.

Contoh :Plot permukaan dengan fungsi meshgrid dari fungsi sin(r)/r atau sinc, dengan x dan y berada pada interval -8 dan 8, yaitu:

>> [X,Y] = meshgrid(-8:.5:8);>> R = sqrt(X.^2 + Y.^2) + eps;>> Z = sin(R)./R;>> mesh(Z); >> colorbar; % menampilkan warna diagram batang>> xlabel('X'); ylabel('Y'); zlabel('Z'); title('sinc');

Hasilnya seperti pada Gambar 4.10.

Gambar 4.10 Plot permukaan fungsi sinc dengan meshgrid.

Plot Kontur 3-D

Plot kontur digunakan untuk membuat garis kontur dari data 3-D. Garis- garis kontur dibuat dengan teknik interpolasi dari titik-titik terdekat. Sintaksnya adalah:

>> handle= contour(zi)>> clabel(handle)

Contoh:

>> figure>> [X,Y] = meshgrid(-8:.5:8);>> R = sqrt(X.^2 + Y.^2) + eps;>> Z = sin(R)./R;>> subplot(221)>> meshc(X, Y, Z);>> xlabel('X'); ylabel('Y'); zlabel('Z'); title('meshc');>> subplot(222)>> surfc(X, Y, Z);>> xlabel('X'); ylabel('Y'); zlabel('Z'); title('surfc');>> subplot(223)>> handle= contour(X, Y, Z);>> clabel(handle);>> xlabel('X'); ylabel('Y'); title('contour');>> subplot(224)>> handle= contourf(X, Y, Z);>> clabel(handle);>> xlabel('X'); ylabel('Y'); title('contourf');

Hasilnya seperti pada Gambar 4.11.

SOAL LATIHAN

1. Gambarkan kurva pada rentang . Buatlah inkremen x cukup kecil sehingga kurva terlihat mulus.2. Suatu filter memiliki respon frekuensi sebagai berikut:, dimana kHz ialah frekuensi cut-off dari filter. Buatlah plot semilogaritmis pada sumbu frekuensi: respon amplituda, versus , dan plot respon fasa, versus , pada rentang frekuensi 0 hingga 50 kHz.Gambarkan kedua plot tadi pada satu window saja, setengah bagian atas untuk amplituda, dan setengah bagian bawah untuk plot fasanya.3. Sebuah antena diketahui memiliki pola radiasi dalam koordinat polar sebagai berikut: Gambarkan pola radiasi ini!.4. Plot kontur dari fungsi dua variabel berikut ini: untuk , .

Referensi1. Away, G., A.,2010.The Shortcut of Matlab Programming, Penerbit: Informatika Bandung.2. Peranginangin, K.,2006.Pengenalan Matlab, Penerbit: ANDI.3. Hartanto, T., W., D dan Prasetyo, Y., W., A.,2004.Analisis Dan Desain Sistem Kontrol Dengan Matlab. Penerbit: ANDI Yogyakarta.4. Czylwik, A.,______.Matlab For Communications, (Seminar), NTS.5. Widiarsono, T.,2005.Tutorial Praktis Belajar Matlab, Jakarta.6. Sianipar, R., H., dkk. 2012.Pemrosesan Sinyal Digital. Penerbit ANDI Yogyakarta.7. MATLAB R2009b.2009..MATLAB HELP.8. _________.2001.MATLAB STUDENT VERSION, version 6 (Release 2). THE MATLAB WORK.Inc.9. _________.1997.MATLAB The Language of Technical Computing, Using MATLAB Graphics Version 5. The MathWorks, Inc. All Rights Reserved.

BAB 5FLOW CONTROL

MATLAB menyediakan beberapa konstruksi flow control, untuk mengeksekusi statement tertentu. Statement menyatakan kondisi, perhentian operasi dan iterasi. Beberapa flow control yang umum adalah: if statements switch statements for loops while loops continue statements break statementsUntuk melihat informasi lebih banyak, dapat dicari dari: Programming and Data Types dalam perintah help.

if

Perintah if (ekspresi) digunakan untuk mengevaluasi logika (ekspresi) dan mengeksekusi grup statement ketika logika (ekspresi) bernilai benar (true atau non-zero). Pemilihan grup statement lain disediakan dengan perintah elseif dan else jika logika ekspresi tidak benar (zero), kemudian diakhiri dengan perintah end. Struktur umumnya adalah, sebagai berikut:

Fungsi bersyarat : if - elseif - ... else end

Contoh struktur:

if (ekspresi-1)

statement-1 dieksekusi jika ekspresi-1 benar

elseif (ekspresi-2)

statement-2 dieksekusi jika ekspresi-2 benar . . .else

statement-n dieksekusi jika tidak ada ekspresi benar

end

Contoh :Nilai konversi dari numerik ke huruf, sebagai berikut:80 100 = A70 79 = B+65 69 = B60 64 = C+55 59 = C40 54 = D < 40 = E

%konversi nilai angka ke nilai huruf>> nilai_angka=input('angka=');if nilai_angka >= 80 | nilai_angka = 75 | nilai_angka < 80 disp('nilai huruf = B+')elseif nilai_angka >= 65 | nilai_angka < 75 disp('nilai huruf = B')elseif nilai_angka >= 60 | nilai_angka < 65 disp('nilai huruf = C+')elseif nilai_angka >= 55 | nilai_angka < 60 disp('nilai huruf = C')elseif nilai_angka >= 40 | nilai_angka < 55 disp('nilai huruf = D')elseif nilai_angka < 40 disp('nilai huruf = E')else disp('nilai huruf = F')end

Fungsi bersarang (nested) : if - (if - end) - elseif - ... else end

Contoh struktur:

if (ekspresi-1)

statement-1 dieksekusi jika ekspresi-1 benar

if (ekspresi-1-a)

statement-1-a dieksekusi jika ekspresi-1 dan ekspresi-1-a benar

end

elseif (ekspresi-2)

statement-2 dieksekusi jika ekspresi-2 benar . . .else

statement-n dieksekusi jika tidak ada ekspresi benar

end

Contoh : Predikat Judisium Program Sarjana (S1)a) Memuaskan : IPK 2,00 2,75b) Sangat Memuaskan: 2,76 3,50c) Cumlaude: IPK > 3,50 dan dapat menyelesaikan studi tidak melebihi masa studi terjadwal dan tidak ada nilai D

>> % predikat Judisium Program Sarjana (S1)ipk=input('IPK-->');if ipk > 3.50 masa_studi=input('MASA STUDI (tahun)-->'); nilai_D=input('ADA NILAI D(1 / 0)-->'); % 1 jika ya, 0 jika tidak if masa_studi % dua macam redaman yang mempengaruhi besar RSS yang diterima oleh MSdisp('pilihan redaman');disp('1. pathloss');disp('2. kesalahan pengarahan antena');hitung = input('pilihan redaman (1-2)-->');switch hitung case 1 % redaman pathloss menggunakan model Hatta % pada daerah large city hm = input('hm = '); % tinggi antena MS (m) f = input('f = '); % frekuensi sinyal carrier (MHz) hb = input('hb = '); % tinggi antena BTS (m) r = input('r = '); % jarak antara BTS dengan MS (km) A_large_city = 3.2*(log10(1175*hm)^2)-4.97; L_urban = 69.55 + 26.16 * log10(f) +... (44.9-6.55*log10(hb)) * log10(r)-... 13.82*log(hb) - A_large_city; disp(['L_urban = ' num2str(L_urban)]); case 2 % redaman antena 3 sektor theta = input('theta = '); % sudut antara MS dgn arah antena BTS (derajat) theta_3dB = input('theta_3dB = '); % sudut saat beamwidth 3 dB (derajat) Am = input('Am = '); % redaman maksimum, % utk antena 3 sektor theta_3dB = 70 (derajat), % Am = 20 dB A = -1*min(12*(theta/theta_3dB)^2, Am); disp(['A = ' num2str(A)]); otherwise disp('tidak ada pilihan');end

for

Loop for digunakan untuk melakukan iterasi dalam mengeksekusi grup statement sampai batas yang ditentukan. Struktur loop for adalah sebagai berikut:

for variabel = nilai_awal : nilai_pertambahan : nilai_akhir

statement

end

Contoh :Perbandingan sinyal terhadap derau penting dalam transmisi data digital karena menentukan batas atas laju data yang dapat dicapai. Hasil perhitungan Shannon adalah kapasitas kanal terbesar, dalam bit per detik, mematuhi persamaan:

C = B log2(1 + SNR)

Dengan C adalah kapasitas kanal dalam bit per detik dan B adalah bandwidth kanal dalam Hertz.

>> % menambah kapasitas kanal ShannonB = [7 30 40 220].*10^6; % bandwidth kanal (Hz)SNR_dB = [1 : 30]; % Signal to Noise Ratio (dB) SNR = 10.^(SNR_dB./10);

for i= 1:length(B) for j=1:length(SNR_dB) C(i,j) = B(i).*log2(1 + SNR(j)); endendplot(SNR_dB, C);xlabel('SNR (dB)');ylabel('kapasitas kanal(bps)');legend('Bandwidth = 7 MHZ','Bandwidth = 30 MHZ',... 'Bandwidth = 40 MHZ','Bandwidth = 220 MHZ',0)

Hasil plot diperlihatkan pada Gambar 5.1

Gambar 5.1 Variasi bandwidth terhadap signal to noise ratio dengan menggunakan loop for. while

Pada loop while, grup statement dieksekusi selama ekspresi bernilai benar. Jika ekspresi tidak benar, maka eksekusi keluar dari loop. Dengan kata lain, loop while melakukan iterasi sampai batas yang tidak tentu selama ekspresi bernilai benar. Struktur umum loop while adalah:

while ekspresi

Statementend

Contoh : Misalkan seseorang diberi nilai awal = 0, karena tidak ada jam belajar. Jika setiap belajar 1 jam, diperoleh pertambahan nilai sebanyak 10. Untuk mendapatkan nilai 100, berapa lama jam belajar?

>> nilai = 0;>> jam_belajar = 0;>> while nilai < 100 >> jam_belajar = jam_belajar + 1;>> nilai = nilai + 10;>> end>> nilai>> jam_belajar

Hasil yang diperoleh adalah:

nilai =

100

jam_belajar =

10

continue

Statement continue digunakan untuk mengendalikan program melompat ke iterasi selanjutnya dari suatu loop for atau while, sementara statement lain yang berada dibawah continue dalam loop for atau while itu akan diabaikan. Apabila statement continue berada didalam fungsi loop bersarang, maka statement continue akan mengendalikan program ke iterasi berikutnya.

Contoh :Menuliskan Aku mahasiswa semester --> dengan loop while, sebagai berikut:

>> semester = 0;>> semester_sekarang =input('semester_sekarang = '); % semester_sekarang ~= 0>> while semester < semester_sekarang>> semester = semester + 1;>> if semester == semester_sekarang>> disp(['Aku mahasiswa semester -->' num2str(semester)]);>> else >> continue;>> end>> end

Hasil yang diperoleh setelah mengeksekusi program diatas adalah:

semester_sekarang = 5 % ketik 5, lalu enterAku mahasiswa semester -->5

Contoh lain:

Menentukan semester-semester yang telah dilewati oleh mahasiswa.

>> maks_semester = input('maksimum batas semester = '); >> semester = input('semester sekarang = ' );>> for i = 1:maks_semester>> if i >= semester>> continue;>> else>> disp(['Saya telah melewati semester = ' num2str(i)]);>> end>> end

Hasil yang diperoleh setelah menjalankan program diatas adalah:

maksimum batas semester = 14 % ketik 14, lalu tekan Entersemester sekarang = 5 % ketik 5, lalu tekan EnterSaya telah melewati semester = 1Saya telah melewati semester = 2Saya telah melewati semester = 3Saya telah melewati semester = 4

break

Statement break berfungsi untuk menghentikan eksekusi program dalam loop for atau while. Apabila break ditemukan di dalam kolong for maupun while, maka eksekusi program akan dihentikan apabila syarat yang diberikan terpenuhi.

Contoh :

>> maks_semester = input('maksimum batas semester = '); >> semester = input('semester sekarang = ' );>> for i = 1:maks_semester>> if i >= semester>> break;>> end>> disp(['Saya telah melewati semester = ' num2str(i)]);>> end Setelah mengeksekusi program diatas, maka akan menampilkan hasil berikut:

maksimum batas semester = 14semester sekarang = 5Saya telah melewati semester = 1Saya telah melewati semester = 2Saya telah melewati semester = 3Saya telah melewati semester = 4

Referensi1. Czylwik, A.,______.Matlab For Communications, (Seminar), NTS.2. Widiarsono, T.,2005.Tutorial Praktis Belajar Matlab, Jakarta.3. _________.2001.MATLAB STUDENT VERSION, version 6 (Release 2). THE MATLAB WORK.Inc.4. _________.1997.MATLAB The Language of Technical Computing, Using MATLAB Graphics Version 5. The MathWorks, Inc. All Rights Reserved.5. Chapman, S., J.______. MATLAB Programming for Enginers, Second Edition. Bookware Companion Series.6. Chapman, S., J._______.MATLAB Programming for Engineers, Fourth Edition. BAE SYSTEMS Australia.

BAB 6Script M-File Dan Fungsi M-File MATLAB

6.1 Script M-File

Pada bab-bab sebelumnya interaksi program MATLAB ditulis pada command window. Untuk menulis secara manual deretan program yang panjang dan deretan program yang berulang-ulang pada command window sangat merepotkan. Namun MATLAB dapat menyimpan deretan program yang panjang dalam bentuk script m-file dengan eksistensi (.mat) sehingga dapat dijalankan atau dieksekusi secara otomatis ketika dibutuhkan dengan mengetikkan nama file di command window.

Cara untuk menulis script m-file adalah: menu File New Blank M-File atau dengan mengklik ikon M-New File pada window utama. Sementara untuk menyimpan M-File dapat dilakukan dengan: pilih menu File Save atau File Save As ataupun mengklik ikon Save.

Contoh :Menggambar model cakupan BTS dengan antena omnidireksional berbentuk grafik heksagonal dengan koordinat pusat O(0,0), jari-jari R1 = 1000 meter; R2 = 500 meter.Rumus umum : koordinat x, x = x1 + r cos(t); koordinat y, y = y1 + r sin(t).

Program disimpan dalam bentuk Script M-File dengan nama contoh1.m yang ditampilkan pada Gambar 6.1.

Gambar 6.1 Script M-File grafik heksagonal.

Untuk mengeksekusi program contoh1.m, maka pada menu Editor pilih Debug atau tekan item Run atau tekan F5. Maka diperoleh hasil seperti Gambar 6.2.

Gambar 6.2 Hasil eksekusi program contoh1.m.

6.2 Fungsi M-File

Fungsi fungsi yang dibangun di MATLAB merupakan subprogram yang menggunakan parameter input dan output yang dapat digunakan atau dipanggil pada fungsi lain dan command window. MATLAB menyediakan tools dengan format fungsi yang dikemas dalam folder-folder toolbox. Selain menggunakan fungsi-fungsi yang telah disediakan MATLAB, dapat juga membuat fungsi sendiri. Adapun sintaks penulisan untuk membuat fungsi sendiri adalah sebagai berikut:

function [argumen_output] = nama_fungsi(argumen_input)

Dimana, a. argumen_output adalah nama variabel output, jika variabel output lebih dari satu maka antara variabel output dipisahkan oleh tanda koma ,.b. Tanda [ ] adalah bersifat opsional, jika terdapat hanya satu parameter argumen_output.c. nama_fungsi menyatakan nama fungsi, yang ditulis tidak boleh terpisah.d. argumen_input merupakan nama variabel input, jika variabel input lebih dari satu, maka antara variabel input dipisahkan oleh tanda koma ,.

Contoh :

Menghitung rugi ruang lepas, dengan frekuensi pembawa (f) dan jarak propagasi antar antena (d), dirumuskan sebagai berikut:

sebagai fungsi dari dan ditulis seperti pada Gambar 6.3 disimpan sesuai dengan nama fungsi yaitu: rugi_ruang_lepas.m.

Gambar 6.3 Fungsi M-File dengan nama fungsi: rugi_ruang_lepas, yang disimpan dengan nama rugi_ruang_lepas.m.

Pada command window, fungsi rugi_ruang_lepas dipanggil sebagai berikut:

>> rugi_ruang_lepas(35.853e6,4e9)

ans =

195.5717

>> d = [20e6 35.853e6];>> f = [2e9 4e9];>> rugi_ruang_lepas(d,f)

ans =

184.4812 195.5717

>> LdB = rugi_ruang_lepas(d,f)

LdB =

184.4812 195.5717

Referensi

1. Widiarsono, T.,2005.Tutorial Praktis Belajar Matlab, Jakarta.2. Recktenwald, G.,W. 2001.MATLAB PROGRAMMING. Portland State University.

BAB 7Input Dan Output Teks

7.1 Fungsi input

Fungsi input dapat digunakan untuk tipe input numerik atau string. Sintaksnya sebagai berikut:

>> numerik = input('Enter nilai numerik');>> string = input('Enter nilai string','s');

7.2 Fungsi Output Dengan disp dan fprintf

a. dispsintaks :

disp(output)

Dimana output dapat berupa matrik string atau numerik.

Contoh: output numerik

>> x=rand(1,3);>> y=x.^2;>> disp([x';y])??? Error using ==> vertcatCAT arguments dimensions are not consistent. >> disp([x;y]) 0.9134 0.6324 0.0975 0.8343 0.3999 0.0095

Contoh: output string

>> disp('Hello mahasiswa semester 5')Hello mahasiswa semester 5

>> x = 'Hello mahasiswa semester 5';>> y = 'Dinikmati semester 5 ini kan ?';>> disp(y)Dinikmati semester 5 ini kan ?

>> disp([x;y])??? Error using ==> vertcatCAT arguments dimensions are not consistent.

>> disp(char(x,y))Hello mahasiswa semester 5 Dinikmati semester 5 ini kan ?

b. num2str dengan disp

Fungsi num2str sering digunakan bersama dengan fungsi disp untuk menciptakan label output berupa numerik.Sintaks :

nilaiString = num2str(nilaiNumerik)

artinya adalah mengkonversi nilaiNumerik ke representasi string dengan nilai numerik.

Contoh :

>> A = num2str(pi)

A =

3.1416

>> B = pi

B =

3.1416

>> A-B

ans =

47.8584 42.8584 45.8584 48.8584 45.8584 50.8584

>> whos Name Size Bytes Class Attributes

A 1x6 12 char B 1x1 8 double ans 1x6 48 double

Gabungan num2str dan disp dapat digunakan untuk menampilkan keluaran sebagai numerik.

Contoh :

>> A = pi;>> disp(['pi = ',num2str(A)]); pi = 3.1416

c. fprintf

Sintaks :

fprintf(outFormat,outVariabel) fprintf(fileHandle,outFormat,outVariabel)

String outFormat mengkonversi outVariabel menjadi tipe string. Bentuk pertama (tidak ada fileHandle) keluarannya ditampilkan di command window. Bentuk kedua, keluarannya ditulis ke dalam file yang disebut dengan fileHandle.

Contoh :

>> x = pi;>> fprintf('nilai akar dari %g adl %8.6f\n',x,sqrt(x));nilai akar dari 3.14159 adl 1.772454

String outFormat secara khusus digunakan untuk mengkonversi dan menampilkan outVariabel. String outFormat dapat berupa teks karakter, juga konversi kode untuk setiap outVariabel. Tabel 7.1 menunjukkan konversi kode dasar.

Tabel 7.1 Konversi kode dasar.KodePerintah konversi

%sFormat string

%dFormat integer

%fFloating point

%eEksponensial

%gFloating point ataupun eksponensial

\nMenyisipkan baris baru pada keluaran

\tMenyisipkan tab pada keluaran

Selain menentukan tipe konversi (%d, %f, %e), dapat juga ditentukan lebar dan keakuratan hasil konversinya. Sintaksnya adalah sebagai berikut:

%wd%w.pf%w.pe

Dimana, w adalah jumlah karakter hasil dan p adalah jumlah digit disebelah kanan desimal.

Contoh :Menghitung kapasitas kanal dengan menggunakan perumusan Nyquist, , dimana bandwidth B = 3100 Hz, banyak unsur sinyal diskrit M = 2 , 4 , 8 , 16.

function contoh2% menghitung kapasitas kanal dengan menggunakan rumus Nyquist% ParameterB = 3100; % HzM = [2; 4; 8; 16]; % banyak unsur sinyal diskritC = B*log2(M); % Rumus kapasitas kanal Nyquist fprintf('\n=========================\n');fprintf('| M | C |\n');fprintf(' (bps)\n')fprintf('=========================\n');for i = 1:length(M) fprintf('| %8.2f | %8.2f |\n',M(i,:), C(i,:))endend

dengan memanggil fungsi contoh2 pada command window, maka:

>> contoh2 % Enter

=========================| M | C | (bps)=========================| 2.00 | 3100.00 || 4.00 | 6200.00 || 8.00 | 9300.00 || 16.00 | 12400.00 |

Referensi

1. Recktenwald, G.,W. 2001.MATLAB PROGRAMMING. Portland State University.

BAB 8Fungsi Random

8.1 Distribusi Seragam Kontinu (Uniform Continuous)

Untuk membangkitkan distribusi seragam kontinu (uniform), sintaknya adalah sebagai berikut:

a = rand(x,y) ; : membangkitkan matriks a, dengan baris x dan kolom y, dengan setiap elemen terdistribusi seragam dalam rentang [0,1].

Untuk membangkitkan bilangan acak yang tidak terdistribusi seragam dalam rentang [0,1], tetapi terdistribusi seragam dalam rentang [a,b], sintaknya adalah sebagai berikut:

a = A*rand(x,y) +N; : dimana, a a adalah RV [N, A+N].

Contoh :Membangkitkan 100 bilangan acak terdistribusi seragam dalam rentang [0,5], dan menampilkan grafik histogram dengan interval 10.

>> a = 5*rand(1,100);>> hist(a,10)>> xlabel('interval [0,5]');>> ylabel('frekuensi');

Hasil grafik histogramnya adalah pada Gambar 8.1.

Gambar 8.1. Distribusi Seragam Kontinu, rentang [0,5].

8.2 Distribusi Seragam Diskrit (Uniform Discrete)

Untuk membangkitkan bilanagan acak dengan distribusi seragam diskrit, adalah:

a = floor(N*rand(x,y)+1; : membangkitkan matrik a dengan x-baris dan y-kolom, dimana setiap elemen merupakan angka integer dalam rentang [ 1...N].

Contoh :

Membangkitkan bilangan acak dengan distribsi seragam diskrit, dengan mengambil nilai integer dari 1 sampai 20, serta menampilkan grafik histogramnya.

>> a = floor(20*rand(1,100)+1);>> hist(a,100);>> xlabel('integer 1 - 20');>> ylabel('frekuensi');

Grafik histogramnya, ditunjukkan pada Gambar 8.2.

Gambar 8.2 Membangkitkan bilangan acak dengan distribusi seragam diskrit, nilai integer dalam rentang [0...20].

8.3 Distribusi Gaussian

Untuk membangkitkan bilangan acak yang terdistribusi Gaussian, adalah sebagai berikut:

b = randn(x,y); : yaitu, membangkitkan matrik dengan x-baris dan y-kolom, dimana elemennya terdistribusi normal (Gaussian, zero mean , variansi 1).

Untuk membangkitkan distribusi Gaussian dengan mean dan variansi diubah, dinyatakan sebagai berikut:

b = sqrt(variansi)*randn(x,y)+mean;

Contoh :

Membangkitkan distribusi Gaussian dengan nilai , , dan , , serta grafik histogramnya masing-masing.

>> b = randn(1,1e5);>> c = sqrt(25)*randn(1,1e5)+1;>> figure>> subplot(2,1,1);>> hist(b,100);>> subplot(2,1,2);>> hist(c,100);

Hasil grafik histogramnya ditunjukkan pada Gambar 8.3.

Gambar 8.3 Distribusi Gaussian , a., b. .

8.4 Distribusi Standar

Beberapa distribusi probabilitas yang sering digunakan didukung oleh MATLAB. MATLAB Statistics Toolbox mendukung sejumlah distribusi probabilitas. Dengan menggunakan MATLAB, menjadi lebih mudah untuk menghitung probabilitas density, kumulatif density dan membangkitkan fungsi random.Beberapa fungsi Matlab untuk mengevaluasi probabilitas density, kumulatif density dan fungsi random dirangkum pada Tabel 8.1.

Tabel 8.1 Fungsi probabilitas density, kumulatif density, dan randomDistribusi PDFCDFRandom

Normalnormpdfnormcdfnorm

Uniform (kontinu)unipdfunicdfunifrnd

Beta betapdfbetacdfbetarnd

Eksponensial exppdfexpcdfexprnd

Uniform (diskrit)unidpdfunidcdfunidrnd

Binomial binopdfbinocdfbinornd

Multinomial mnpdfmnrnd

Poisson poisspdfpoisscdfpoissrnd

Contoh : Gambarkan distribusi Normal, dimana dan .

BAB 9GUI(Graphical Gui Interface)

GUI merupakan tampilan grafis yang memudahkan user berinteraksi dengan perintah teks, sehingga user mudah menjalankan suatu program aplikasi, atau disebut dengan istilah user friendly.Untuk membuka lembar kerja GUI di Matlab, yaitu: ketikkan perintah File > New > GUI, ditunjukkan pada Gambar 9.1.

Gambar 9.1 Membuka lembar kerja GUI dari menu file.

Atau,

ketikkan >> guide pada command window, seperti pada Gambar 9.2.

Gambar 9.2 Membuka lembar kerja GUI, demgan guide.

Akan muncul window GUIDE Quick Start seperti pada Gambar 9.3.

Gambar 9.3 Window GUIDE Quick Start.Kemudian pilih OK untuk membuat lembar kerja GUI yang baru, seperti Gambar 9.4.

31