Wednesday 21 December 2016

Materi 3 Ilmu Program Matlab




OPERASI RELASIONAL DAN 

OPERASI LOGIKA



A.    Operator Relasional

Dalam MATLAB dikenal ada enam buah operator relasional. Keenam operator ditunjukkan dalam tabel berikut :

Tabel 3.1 Operator Relasional
No
Jenis Relasi
Simbol
1.   
Lebih kecil
2.   
Lebih kecil atau sama dengan
<=
3.   
Lebih besar
4.   
Lebih besar atau sama dengan
>=
5.   
Sama dengan
==
6.   
Tidak sama dengan
~=

Operator relasional dapat digunakan untuk membandingkan dua buah array. Operator relasional dapat juga untuk membandingkan antara array dengan skalar.

B.     Operator Logika
Operator logika digunakan untuk mendapatkan nilai logik dari hubungan dua buah variabel atau lebih berdasarkan hukum-hukum logika.

Tabel 3.2 Operator Logika
No.
Jenis Operator Logika
Simbol
1.   
AND
&
2.   
OR
|
3.   
NOT
-

Operator logika NOT akan menghasilkan nilai logik yang berlawanan dari nilai logik sebelumnya. Jika sebelumnya bernilai 1, maka operator NOT menyebabkan bernilai 0; begitu sebaliknya jika sebelumnya bernilai 0, dengan operator NOT menjadikan bernilai 1. Sedangkan untuk mendapatkan nilai logik dari pembandingan dua buah variabel atau lebih berdasarkan hukum-hukum logika dari operator AND dan OR, secara umum dapat ditunjukkan dalam tabel berikut.

Tabel 4.3 Nilai Logik
No.
Operand 1
Operand 2
AND
OR
1.   
1
1
1
1
2.   
1
0
0
1
3.   
0
1
0
1
4.   
0
0
0
0



Tabel 3.4 fungsi-fungsi Logika dan Relasional
No.
Fungsi
Keterangan
1.   
xor(x,y)
Operasi exclusive OR. Bernilai benar (1) jika x   dan y mempunyai nilai yang berbeda; bernilai salah (0) jika x dan y mempunyai nilai yang sama.
2.   
any(x)
Bernilai benar (1) jika terdapat elemen dalam vektor x yang tidak nol; bernilai benar (1) jika tiap-tiap kolom dalam matriks x mempunyai elemen tidak nol.
3.   
all(x)
Bernilai benar (1) jika semua elemen dalam vektor x adalah tidak nol; bernilai benar (1) jika tiap-tiap kolom dalam matriks x semuanya mempunyai elemen tidak nol.

C.    Perulangan For
Dalam pemrograman, dimungkinkan suatu input atau proses dilakukan berkali-kali atau berulang-ulang sesuai keperluan. Untuk itu diperlukan perintah yang berhubungan dengan perulangan (looping).
Dalam MATLAB dikenal dua buah jenis perulangan, yaitu for dan while. Perulangan for dipakai untuk mengulangi perintah (sekelompok perintah) secara pasti (tertentu); dimana banyaknya perulangan ini biasanya sudah ditentukan terlebih dahulu. Secara umum sintak untuk perulangan For adalah :
>> for x=array
Blok_perintah
end

Dengan sintak tersebut, blok_perintah di antara for dan end akan dieksekusi satu kali setiap satu nilai dari array x.
Contoh 3.1 :
>> for x=-2:5
y=x^2-4*x-5
z=3*x+1
end

y =
     7
z =
    -5
y =
     0
z =
    -2
y =
    -5
z =
     1
y =
    -8
z =
     4
y =
    -9
z =
     7
y =
    -8
z =
    10
y =
    -5
z =
    13
y =
     0
z =
   16
Perulangan For dapat juga muncul secara tersarang (nested). Secara umum perulangan For tersarang mempunyai sintak :
>> for x=array
{blok_perintah}
for y=array
blok_perintah2
end
{blok_perintah3}
end

Dengan sintak tersebut, setiap satu nilai dari array x, blok_perintah2 akan diproses sebanyak anggota array y. Begitu seterusnya sampai semua anggota array x terpakai. Sebagai ilustrasi, jika array x mempunyai anggota dan array y mempunyai anggota, maka banyaknya perulangan yang terjadi adalah mnkali. Dalam sintak tersebut blok_perintah1 dan blok_perintah3 bisa ada bisa tidak ada. Baik blok_perintah1 maupun blok_perintah3 hanya akan diulang berdasarkan banyaknya anggota array x.

Contoh 3.2 :
>> for s=1:3
A=2*s-1
for t=4:-1:1
B(s,t)=s^2-2*s*t+t^2
end
end
A =
     1
B =
     0     0     0     9
B =
     0     0     4     9
B =
     0     1     4     9
B =
     0     1     4     9
A =
     3
B =
     0     1     4     9
     0     0     0     4
B =
     0     1     4     9
     0     0     1     4
B =
     0     1     4     9
     0     0     1     4
B =
     0     1     4     9
     1     0     1     4
A =
     5
B =
     0     1     4     9
     1     0     1     4
     0     0     0     1
B =
     0     1     4     9
     1     0     1     4
     0     0     0     1
B =
     0     1     4     9
     1     0     1     4
     0     1     0     1
B =
     0     1     4     9
     1     0     1     4
     4     1     0     1



D.    Perulangan While
Berbeda dengan perulangan For yang sudah pasti banyaknya perulangan, dalam perulangan While banyaknya perulangan belum dapat diketahui. Secara umum sintak untuk perulangan while adalah :
>> while ekspresi
blok_perintah
end
Dalam sintak tersebut blok_perintah akan dieksekusi jika ekspresi bernilai benar (1). Jadi selama ekspresi masih bernilai benar, blok_perintah akan selalu diproses. Sebaliknya jika ekspresi bernilai salah (0), maka proses perulangan dihentikan, atau blok_perintah tidak dieksekusi lagi.
Contoh 3.3 :
>> x=0;
>> while x<3
y=2*x-4
x=x+1
end
y =
    -4
x =
     1
y =
    -2
x =
     2
y =
     0
x =
     3

Sebagaimana perulangan For, perulangan while dapat juga muncul secara tersarang. Dalam pemrograman dimungkinkan juga bahwa perulangan fortersarang di dalam perulangan while, atau sebaliknya perulangan whiletersarang di dalam perulangan for.

E.     Struktur IF-ELSE-END
Dalam membuat program dimungkinkan satu perintah (sekelompok perintah) dieksekusi berdasarkan pembandingan hubungan (relasional) satu atau lebih variabel-variabel. Untuk keperluan tersebut MATLAB menyediakan struktur perintah If-Else-End. Struktur paling sederhana dari perintah tersebut sintaknya adalah :
>> if ekspresi
Blok_perintah
end
Dengan sintak tersebut, blok_perintah di antara if dan end akan dieksekusi (diproses) jika ekspresi ekspresi bernilai benar (1). Sebaliknya jika ekspresi bernilai salah (0), maka blok_perintah diabaikan (tidak diproses).
Contoh 3.3 :
>> harga=50000;
>> pembelian = 100;
>> if pembelian > 50
diskon=0.20*harga;
total_bayar=(harga-diskon)*pembelian;
end
>> diskon
diskon =
       10000
>> total_bayar
total_bayar =
     4000000

Pengendalian proses If-Else-End dapat pula muncul dalam struktur :
>> if ekspresi
perintah1
else
perintah2
end
dalam sintak tersebut, jika ekspresi bernilai benar (1) maka Perintah1 yang akan dikerjakan. Sedangkan jika ekspresi bernilai salah (0) maka Perintah2 yang akan dikerjakan.
Contoh 3.4 :
>> penghasilan=1000000;
>> if penghasilan>2000000
pajak=0.15*penghasilan
else
pajak=0.00*penghasilan
end
pajak =
     0




Struktur if-else-end dapat pula muncul dalam sintak :

If ekspresi1
                 Perintah1
elseif ekspresi2
                 Perintah2
elseif ekspresi3
                 Perintah3
. . . . . . . . . . . . . . . .
else
                 Perintah_terakhir
end

Dengan sintak tersebut dimaksudkan bahwa jika ekspresi1 benar, maka Perintah1 dikerjakan; jika ekspresi2 benar maka perintah2 dikerjakan; begitu seterusnya. Jika tidak ada ekspresi yang bernilai benar, maka Perintah_terakhir yang dikerjakan.
Contoh 3.5 :
>> skor=75;
>> if skor<45
nilai='E'
elseif skor >=45 & skor <60
nilai='D'
elseif skor >=60 & skor <70
nilai='C'
elseif skor >=70 & skor < 90
nilai='B'
else
nilai='A'
end

nilai = B

No comments:

Post a Comment

Aturan Berkomentar

Silahkan Berkomentar dan Beri Saran Jika Masih ada Kekurangan. 1. Dilarang Berkomentar yang Mengandung Unsur Sara dan Pornography 2. Dilarang Berkomentar Bila Anda Belum Membaca Postingan saya 3. Apabila Mengcopy Postingan ini Harap dilampirkan Sumber yang sebenarnya