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