Anda di halaman 1dari 10

1

MODUL PERKULIAHAN

Komputasi
Mekanikal
Pemrograman 2

Abstrak Sub-CPMK

Pemrograman: membuat Sub CPMK 2.1


m /sci file; m /sci file sebagai Mecnciptakan program komputer
skrip program dan fungsi;
perintah masukan dan
keluaran; pernyataan
pengambilan keputusan/
percabangan; pernyataan
perulangan (looping)

Pendahuluan
Pada Bab ini diberikan berbagai contoh kode untuk skrip dan fungsi.

Skrip
Input Output

Kode:
% Input dan output
nama=input('Nama: ','s');
nomhs=input('Nomor mahasiswa: ');
% Menampilkan nama dan nombor mahasiswa secara sederhana
disp('Nama: ');
disp(nama);
disp('Nombor mahasiswa: ');
disp(nomhs);
Hasil
Nama:
Bianca
Nomor mahasiswa:
12345

Akar Persamaan Kuadrat

Kode:
% Finding roots of 2nd order polynomial (quadratic equation)
disp('Finding roots of 2nd order polynomial (quadratic equation)')
disp('y = ax^2 +bx + c')
a = input('a= ');
b = input('b= ');
c = input('c= ');
% using abc formula
y1=(-b+sqrt(b^2-4*a*c))/(2*a)
y2=(-b-sqrt(b^2-4*a*c))/(2*a)
% using roots function
yroots = roots([a b c])
% plotting the function
x=-10:.1:10;

2021 Manajemen Energi Terbarukan


2 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
y = a.*x.^2+b.*x+c;
plot(x,y);
grid on;
Hasil:
Finding roots of 2nd order polynomial (quadratic equation)
y = ax^2 +bx + c
a= 9
b= 7
c= 3

y1 =

-0.3889 + 0.4267i

y2 =

-0.3889 - 0.4267i

yroots =

-0.3889 + 0.4267i
-0.3889 - 0.4267i

2021 Manajemen Energi Terbarukan


3 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Pengulangan While

Kode:
a=input('masukkan nilai dalam range 10 - 50 : ');
while (a >= 10) & (a <= 50)
disp('dalam range');
a=input('masukkan nilai lagi: ');
end
disp('luar range');
Hasil
masukkan nilai dalam range 10 - 50 : 12
dalam range
masukkan nilai lagi: 90
luar range

2021 Manajemen Energi Terbarukan


4 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Percabangan Switch

Kode:
% Branching using switch
light=input('Traffic light color: ','s');
% lower to make all input lowercase
switch lower(light)
case 'green'
disp('go')
case 'yellow'
disp('careful')
otherwise
disp('stop')
end
Hasil:
Traffic light color: green
go

Putar dan Cerminkan Gambar

Kode:
close all
kucing=imread('cat1.bmp');
imshow(kucing)
% rotate dan mirror
kucing1(:,:,1)=kucing(:,:,1)';
kucing1(:,:,2)=kucing(:,:,2)';
kucing1(:,:,3)=kucing(:,:,3)';
figure
imshow(kucing1)
% mirror
kucingpg1=kucing(:,:,1);
kucingpg2=kucing(:,:,2);
kucingpg3=kucing(:,:,3);
[baris,kolom]=size(kucingpg1);
kucing2(:,:,1)=kucingpg1(:,kolom:-1:1);
kucing2(:,:,2)=kucingpg2(:,kolom:-1:1);

2021 Manajemen Energi Terbarukan


5 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
kucing2(:,:,3)=kucingpg3(:,kolom:-1:1);
figure
kucing3=[kucing kucing2];
imshow(kucing3)
% rotate
kucing4(:,:,1)=kucing2(:,:,1)';
kucing4(:,:,2)=kucing2(:,:,2)';
kucing4(:,:,3)=kucing2(:,:,3)';
figure
imshow(kucing4)
Hasil:

2021 Manajemen Energi Terbarukan


6 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Percabangan if untuk Menentukan Nilai Huruf

Kode:
% Branching using if
mark=input('Mark=');
if mark >= 85
disp('Grade A')
elseif mark >= 80
disp('Grade A-')
elseif mark >= 75
disp('Grade B+')
elseif mark >= 70
disp('Grade B')
elseif mark >= 65
disp('Grade B-')
elseif mark >= 60
disp('Grade C+')
elseif mark >= 55
disp('Grade C')
elseif mark >= 50
disp('Grade C-')
elseif mark >= 45
disp('Grade D+')
elseif mark >= 40
disp('Grade D')
else
disp('Grade E')
end
Hasil:
Mark=75
Grade B+

2021 Manajemen Energi Terbarukan


7 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Percabangan if untuk Operasi Aritmatika

Kode:
% Menghitung tambah kurang kali bagi
a = input('Nilai pertama: ');
b = input('Nilai kedua: ');
operasi = input('Operasi? Type +,-,*or/ ','s');
if operasi == '+'
hasil = a + b;
elseif operasi == '-'
hasil = a - b;
elseif operasi == '*'
hasil = a * b;
else
hasil = a / b;
end
stra = num2str(a);
strb = num2str(b);
strhasil=num2str(hasil);
str=[stra ' ' operasi ' ' strb ' = ' strhasil];
disp(str);
Hasil:
Nilai pertama: 9
Nilai kedua: 5
Operasi? Type +,-,*or/ /
9 / 5 = 1.8

2021 Manajemen Energi Terbarukan


8 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Fungsi
Input Output

Kode:
function [x, y] = hitungxy(t, a, b, c)
% Perhitungan untuk -
% x = cos(at)+b
% y = ƒxƒ+c
% Scalars: a, b, c
% Vectors: t, x, y
x = cos(a*t)+b;
y = abs(x)+c;

Help:
>> help hitungxy
Perhitungan untuk -
x = cos(at)+b
y = ƒxƒ+c
Scalars: a, b, c
Vectors: t, x, y

Hasil:
>> [u, v] = hitungxy(0:pi/4:pi, 1.4, 2, 0.75)

u =

3.0000 2.4540 1.4122 1.0123 1.6910

v =

3.7500 3.2040 2.1622 1.7623 2.4410

2021 Manajemen Energi Terbarukan


9 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Daftar Pustaka
Casey, J. (2013). A MATLAB primer in four hours with practical examples. Software guide
for undergraduate students. Technological University Dublin
Dukkipati, R. V. (2010). MATLAB An Introduction with Applications. New Delhi: New Age
International (P) Ltd., Publishers.
Forbes, J. R. (2017). Matlab For Mechanical Engineering Undergraduates. Montreal:
McGill University.
Hansen, J. S. (2011). GNU Octave Beginner's Guide. Birmingham: Packt Publishing.
Linge, S, dan Langtangen, H. P. (2016). Programming for Computations –
MATLAB/Octave. New York: Springer.
Magrab, E. B., Azarm, S., Balachandran, B., Duncan, J. H., Herold, K. E., dan Walsh, G.
C. (2011). An Engineer’s Guide to MATLAB, 3rd Edition. New Jersey: Prentice Hall.
Scilab Enterprises and Gomez, C. (2013). Scilab for very beginners. Scilab Enterprises.

2021 Manajemen Energi Terbarukan


10 Dr. Ir. Ignatius Agung Wibowo, M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai