Kamis, 10 Oktober 2013

PRATIKUM 5

Penggunaan Plot Pada MATLAB
Program MATLAB sangatlah banyak, seperti halnya dengan Plot. Plot pada MATLAB difungsikan sebagai output picture dari program yang kita buat, seperti grafik yang berebentuk barh plot, stem plot, compass plot, surf plot dan sebagainya. setiap program yang kita buat akan dapat efisiensi dari uotput grafik yang kita inginkan dalam hal komunikasi sains kepada orang lain maupun rekan bisnis.
Berikut beberapa contoh dari program plot :
x = 0.*pi:6.*pi
k = 0.5
r = k.*x
plot(x,r,x,r,’om’)
axis(‘equal’)
set(gca,’XTick’,0.*pi:6.*pi)
set(gca,’XTickLabel’,{’0pi’,'pi’,’2pi’,’3pi’,’4pi’,’5pi’,’6pi’})
xlabel(’0<(\theta)<6pi’)
ylabel(‘k.*(\Theta)’)
title(‘Plot of k.*(\Theta)’)

x = linspace(0,2);
y = exp(-x).*sin(x)
plot(x,y);
axis(‘equal’);
stemplot(x,y);
stairs(x,y,’r');
barh(x,y,’g');
compass(x,y,’m')

x = linspace(-1,1);
y = linspace(-2*pi,2*pi);
z = exp(x).*exp(i*y);
plot(x,z,’ok’,y,z,’*r’)
axis(‘equal’)
set(gca,’XTick’,-1:1)
set(gca,’yTickLabel’,{‘-2pi’,'-pi’,’0′,’pi’,’2pi’})
xlabel(‘-1<x<1′)
ylabel(‘-2<(\theta)<2pi’)
title(‘Plot of exponential (x+iy)’)

Tampilan Plot dapat kita modifikasi sesuai kegunaan yang kita inginkan. kategori plot sebdiri dapat kita lihat di help matlab. semoga tulisan ini bermanfaat.

Minggu, 06 Oktober 2013

PRAKTIKUM 4


1. Penggunaan function
    penggunaan function sangat banyak modifier yang kita inginkan pada pembuatan program, seperti matriks, penghitungan hari dll. function sendiri di dalam M-file atau editor dapat  muncul langsung pada comman windows sesuai yang kita save pada editor.
cotoh sederhananya :
% Membuat Suatu Fungsi
function d = jarak (x1, y1, x2, y2)
% Menghitung Jarak
d = sqrt((x1-x2)^2+(y1-y2)^2);

% Deret Fibonacci
F    = ones(1,n)
F(2) = 2
n = input('---Masukkan Bilangan--- n = ');

if isnumeric(n)==0
    error(' n Haruslah Bilangan')
elseif mod(n,1)~=0 || le(n,0)
    error(' n Haruslah Bilangan Asli');
elseif ge(n,3)
        k  = 3;
    while k <= n
        F(k)  = F(k-1) + F(k-2)
        k     = k+1
    end
end
fprintf('Bilangan Fibonacci yang ke-%d adalah %d.\n',n,F(n))
2. Penggunaan loop for, dan while
While dan for sendiri mempunyai peran tersendiri namun hampir sama dalam penerapannya. banyak sekali kelbihan dari penggunaan loop ini, dimana sangat mempermudah dan mengefisienkan suatu program artinya program yang butuh banyak penghitungan/penggunaan dapat di perkecil oleh loop ini.
contoh dari while dan for seperti berikut :
disp('t       y');
for t = -9:0.5:9
    if t >= 0
        y = -3*t^2+5;
    else
        y = 3*t^2+5;
    end

fprintf('%3.1f  % 8.2f \n', t, y);
end
x = 0;
while x < 3
    y = x^3
    x = x+2
end
dst
3. Penggunaan Switch
Switch ini hampir sama penggunaannya dengan if. alur program yang digunakan hampir sama artinya dengan menggunakan statement yang ingin kita buat pada MATLAB dapat dioutpunkan dengan sama. sama halnya dengan loop tadi
contoh sederhana sebagai berikut:
%Converter

x = input('panjang (cm)        : ');
u = input('converter satuan ke : ','s');

switch (u)
    case{'cm'}
        disp(['>>>Nilai konversinya adalah ', num2str(x) ' cm'])
    case{'mm'}
        disp(['>>>Nilai konversinya adalah ', num2str(x*10) ' mm'])
    case{'m'}
        disp(['>>>Nilai konversinya adalah ', num2str(x/100) ' m'])
    otherwise
        disp('Satuan Tidak Diketahui')
end

>>> SEMOGA BERMANFAAT<<<


Minggu, 29 September 2013

Praktikum 3 MATLAB



Ringkasan Pratikum 3


A.   Pengenalan operator relasional
            Ada beberapa bentuk operasi relasional diantaranya adalah “ <, >, <=, >=, ==, dan ~=”. Perhatikan contoh dalam MATLAB sebagai berikut :
1. 2 < 5
            ans =
                       1           , # artinya pernyataan ini benar
2.  2 > 5
           ans =
                       0 , # artinya penggunaan variabel answer yang belum jelas
3. 2+5 == 7
          ans =
                  1
4. 4 >= 7
          ans =
          0            , #artinya pernyataan yang salah karena menghubungkan 2                                      komponen tertentu
 5. 'a' == 'b'
         ans =
                        0 , a. pernyataan yang salah pada 'a' dan 'b' karena komponen yg                                 berbeda
                             b. catatan tanda == adalah menyatakan operasi relasional yang                              tidak menjabarkan defenisi atau result.
                            c. artinya tanda == adalah pembanding antara nilai yang satu                                 dengan          yang lainnya

B.  OPERATOR LOGIKA

            Ada beberapa hal yang harus kita perhatikan dalam penggunaan operator logika ini. Contoh berikut akan menggambarkan cara penggunaan yang benar.

1. a = 5; , b = 7; jika a == 4+1 & b == 4+3 maka ans = 1
            #Catatan : Variabel a dan b pernyataan yang benar karena ekspresi                       penggunaan & yang bernilai sama sehingga pernyataan diatas tersebut       benar
2. a == 4 + 1 & b == 4+1 maka ans = 0
            #Catatan:  artinya pernyataan tersebut salah karena memiliki ekspresi                 yang tidak sama nilainya
3. x = a == 4+1 | b == 4+1 , x = 1 jika : a == 4+1 | b == 4+1 maka ans = 1
            #Catatan:  pernyataan tersebut di anggap benar karena ada salah satu   pernyataan ekspresi yang benar
4. x = 7; y = 10; jika x <= y | y == 5*2 & x+y == 18 maka ans = 1


5. y == 6*5 maka ans = 0
      #Catatan : penggunaan operator & dan tanda == sangat berpengaruh terhadap                  hasil yang didefinisikan.
            Dan seterusnya

Contoh Beberapa Program sederhana menggunakan M-File atau editor sebagai berikut :

1. Contoh program pernghitungan luas persegi panjang
% penggunaan script
%1. Perhitungan luas persegi panjang
%input = panjang (p), dan lebar (l)
clc;
p = input ('panjang = ');
if isnumeric(p) == 0
    end
l = input ('lebar   = ');
if isnumeric(p) == 0
    Error ('masukkan panjang dalam bentuk angka');
end
L = p*l

2. Contoh program penghitungan sisa kapasitas bak penampungan air
% Penggunaan if
% Perhitungan sisa kapasitas Bak Penampung air
%berkas : waterspace.m
%mendifinisikan ukuran bak penampungan
p_bak = input('masukkan panjang bak (meter)      = ');
    if p_bak < 0
        error ('panjang bak harus positif');
    end
l_bak = input('masukkan lebar bak (meter)        = ');
 if l_bak < 0
         error ('lebar bak harus positif');
 end
t_bak = input('masukkan tinggi bak (meter)       = ');
 if t_bak < 0
        error ('tinggi bak harus positif');
 end
air   = input('volume yang ada dalam bak (meter) = ');
V_bak = l_bak * l_bak * t_bak;
V_bak_ltr = V_bak *1000;
sisa = V_bak - air;
fprintf('terdapat %d space yang tersisa pada bak penampungan \n', sisa)

3. Contoh penghitungan penentuan akar persamaan kuadrat
% Penentuan akar persamaan kuadrat ax^2 + bx + c = 0
% Input koefisien a, b, c;
% Output = akar x1, x2, jenis akar..
a = input('koefisien a = ');
b = input('koefisien b = ');
c = input('konstanta c = ');
d = b^2 - 4*a*c % Diskriminan

if d > 0
    x1 = (-b + sqrt(d))/(2*a);
    x2 = (-b - sqrt(d))/(2*a);
    fprintf ('PK : %d x^2 + %d x + &d = 0 mempunyai dua akar real yang berbeda\n',a,b,c);
    fprintf ('yaitu x1 = %.2f , x2 = %2.f \n', x1,x2);
end
if d == 0
    x1 = (-b + sqrt(d))/(2*a);
    x2 = (-b - sqrt(d))/(2*a);
    fprintf ('PK : %d x^2 + %d x + &d = 0 mempunyai dua akar real yang sama\n',a,b,c);
    fprintf ('yaitu x1 = %.2f , x2 = %2.f \n', x1,x2);
end
if d < 0
    x1 = (-b + sqrt(d))/(2*a);
    x2 = (-b - sqrt(d))/(2*a);
    fprintf ('PK : %d x^2 + %d x + &d = 0 mempunyai dua akar Kompleks\n',a,b,c);
    fprintf ('yaitu x1 = %.2f , x2 = %2.f \n', x1,x2);
end

Catatan : Penggunaan editor sangat bermanfaat ketika kita membuat suatu program yang cukup banyak atau rumit, dimana dapat mempermudah efisiensi pembuatan program yang berkualitas. Jangan lupa untuk men-save file ketika kita memanggil file editor, artinya pada command  windows kita hanya menuliskan nama file yang kita save pada editor sehingga secara otomatis program akan langsung dijalankan.

Sabtu, 21 September 2013

Exercise 1


Pratikum 1

#Pengenalan tentang penggunaan pi, epsilon, realmin, dan realmax seperti pada contoh berikut ini :

%4. pi
pi

ans =

    3.1416

eps

ans =

  2.2204e-016

realmin

ans =

  2.2251e-308

realmax

ans =

  1.7977e+308

a=8

a =

     8

b=6;
c= a*b-5

c =

    43



#Penggunaan variable :

Example : 

mat = 13

mat =

    13

3mat = 12
??? 3mat = 12
     |
{Error: Unexpected MATLAB expression.
}
mat*f = 9
??? mat*f = 9
          |
{Error: The expression to the left of the equals sign is not a valid
target for an assignment.
}

Catatan:
%varieabel harus dimulai dengan huruf dan tidak digunakan angka sebelumnya seperti contoh di atas, Sehingga haruslah seperti berikut ;

mat_2013 = 6;
mat 13 = 9
{??? Error: "mat" was previously used as a variable,
 conflicting with its use here as the name of a function or command.
 See <a href="matlab: helpview([docroot '/techdoc/matlab_prog/matlab_prog.map'],'function_call_command_syntax')">MATLAB Programming, "How MATLAB Recognizes Function Calls That
 Use Command Syntax"</a> for details.
}


# Pengenalan penggunaan help

help sin

 SIN    Sine of argument in radians.
    SIN(X) is the sine of the elements of X.

    See also <a href="matlab:help asin">asin</a>, <a href="matlab:help sind">sind</a>.

    Overloaded methods:
       <a href="matlab:help codistributed/sin">codistributed/sin</a>

    Reference page in Help browser
       <a href="matlab:doc sin">doc sin</a>

help desk;

desk not found.

Use the Help browser Search tab to <a href="matlab:docsearch desk">search the documentation</a>, or
type "<a href="matlab:help help">help help</a>" for help command options, such as help for methods.
Catatan ; help dapat juga digunakan pada help di matlab di posisi pojok kanan atas program math lab


6 + 2i

ans =

   6.0000 + 2.0000i

6 +3j

ans =

   6.0000 + 3.0000i

5 + 2a
??? 5 + 2a
         |
{Error: Unexpected MATLAB expression.
}

%operasi pada contoh diatas tidak bisa digunakan kecuali variabel i dan j

z1 = 5 + 2i;
z2 = 3 + 5i;
z3 = z1 + z2;
z4 = z1 * z2

z4 =

   5.0000 +31.0000i

% z2 di atas tidak terdefenisi karena tidak digunakan berapa nilai dari z2


#Pengenalan fungsi matematika, trigonometri

x = -5;
abs (x);
floor (4.5);
ceil (2.3);
fix (
??? fix (
          |
{Error: Expression or statement is incorrect--possibly unbalanced (, {,
or [.
}


% catatan floor adalah pembulatan kebawah, ceil pembulatan ke atas, fix pembulatan terdekat dsb
% penggunaan mod harus menggunakan tanda koma n tidak bisa digunakan tanda titik seperti penggunaan fix,round, and floor maupun ceil

fix = (-2.3);
round (6.4);
mod (4.3);
{??? Error using ==> mod
Not enough input arguments.
}
mod(4,3)

ans =

     1

mod(-2,3);

rem(-2,3)

ans =

    -2

z = 2 + 3i;
imag(z)

ans =

     3

abs(z)

ans =

    3.6056

2/4

ans =

    0.5000

2\4

ans =

     2

%jadi penggunaan tanda/dan\ itu berbeda pada mathlab hasilnya

sin (pi);
sin (0.25*pi);
sin (0.5*pi)

ans =

     1

%artinya penggunaan perkalian pi pada 0.5 kali pi itu hasilnya dalam bentuk radian

cos (0.5);
cos (0);
sinh(pi);
asin(0.5*pi/180);
asin(0);
derajat=asin(1)*180/pi

derajat =

    90

log(10);
log10(10)

ans =

     1

sin (90*pi/180)

ans =

     1

#Pendifinisian variable

k = 2;
buah = 'jambu'

buah =

jambu

%jadi pada buah jambu itu pendifinisiannya kita gunakan tipe string agar dapat terdefinisi oleh mathlab
%Pengenalan Format Keluaran

x = 6;
fprintf('%d',x)
6fprintf('%d\n' ,x)
6
fprintf('%f\n' ,x)
6.000000
fprintf('%f5.2\n' ,x)
6.0000005.2
fprintf('%5.2f \n' ,x)
 6.00
buah = 'jeruk';
jumlah = 12;
fprintf('ada %d buah %s yang terjual\n' ,jumlah ,buah)
ada 12 buah jeruk yang terjual
nama = input(' Masukkan Nama Anda : ', 's')
 Masukkan Nama Anda : Zuhdi

nama =

Zuhdi

metoda_komputasi = input( ' masukkan metoda komputasi : ','s')
 masukkan metoda komputasi : kuliah

metoda_komputasi =

kuliah


#  Penggunaan array( skalar, vektor, matrix )

k=4;
v = [2 3 4];
u = [4;5;6];
M = [ 2 3 ; 8 9]

M =

     2     3
     8     9

v1 = k*v

v1 =

     8    12    16

u1 = u*v

u1 =

     8    12    16
    10    15    20
    12    18    24



u2 = u1';
u3 = v1 + v

u3 =

    10    15    20


%matrix

M1=M

M1 =

     2     3
     8     9

M2 = [4 5 ; 7 6];
M3 = M1*M2

M3 =

    29    28
    95    94

inv(M3)

ans =

    1.4242   -0.4242
   -1.4394    0.4394

M_inv = inv(M3);
id = M3*inv(M3)

id =

    1.0000         0
         0    1.0000

id = inv(M3)*M3

id =

    1.0000         0
    0.0000    1.0000

size(v1)

ans =

     1     3

% size adalah berbentuk matriks kolom

p=u1;
p(2)

ans =

    10

p(2,3)

ans =

    20

u1

u1 =

     8    12    16
    10    15    20
    12    18    24

%catatan pada p(2,3) diatas ans adalah 20 dimana pada baris kedua kolom ke 3 ( berbentuk matriks kolom)

u5=[1 2 3 ; 4 5 6 ; 7 8 9];
W= [ u5 ; u1 ]

W =

     1     2     3
     4     5     6
     7     8     9
     8    12    16
    10    15    20
    12    18    24

1 : 2 : 6

ans =

     1     3     5

H = [2 4 5 ; 1 4 4 ; 2 3 8];
H1 = H(1:2, :)

H1 =

     2     4     5
     1     4     4

H2 = H(1:2:3, :)

H2 =

     2     4     5
     2     3     8

1:8

ans =

     1     2     3     4     5     6     7     8

H3 = H2(1:, :)
H4 = [H H ; H H]

H4 =

     2     4     5     2     4     5
     1     4     4     1     4     4
     2     3     8     2     3     8
     2     4     5     2     4     5
     1     4     4     1     4     4
     2     3     8     2     3     8

H6 = [H' H;u1 H]

H6 =

     2     1     2     2     4     5
     4     4     3     1     4     4
     5     4     8     2     3     8
     8    12    16     2     4     5
    10    15    20     1     4     4
    12    18    24     2     3     8

H7 = H6 [2 :5,2 :5]
H7 = H6 (2:5,2:5)

H7 =

     4     3     1     4
     4     8     2     3
    12    16     2     4
    15    20     1     4

H7(4,3)=4

H7 =

     4     3     1     4
     4     8     2     3
    12    16     2     4
    15    20     4     4

% Pengenalan Plot

x = [3 4 6 8];
y = [15 20 30 40];
plot(x,y)
y=5*x;
plot(x,y)
y=5*x

y =

    15    20    30    40

plot(x,y)
plot(x,y)
y= 5*x

y =

    15    20    30    40

plot(x,y)
x = [-5:5];
y = x.^2;
plot(x,y)
plot(x,y);grid on;
plot(x,y);grid on;title('grafik y = x^2 ;-5<=x<=5');
plot(x,y);grid on;title('grafik y = x^2 ;-5<=x<=5');xlable('x');ylable('y')
{??? Undefined function or method 'xlable' for input arguments of type
'char'.
}
plot(x,y);grid on;title('grafik y = x^2 ;-5<=x<=5');xlabel('x');ylabel('y')
diary off