PROGRAM M-FILE
MATLAB
PROGRAM I (luas_bidang.m)
OLEH: LATIF KURNIAWAN
PROGRAM I (luas_bidang.m)
OLEH: LATIF KURNIAWAN
PMATSUB 09
09301241042
syms y t;
jawab
='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
disp('silahkan
pilih menu anda kali ini!')
disp('1.
volume silinder')
disp('2.
volume kubus')
disp('3.
volume kerucut')
disp('4.
volume bola')
disp('5.
volume balok')
disp('6.
luas permukaan kubus')
disp('7.
luas permukaan kerucut')
disp('8.
luas permukaan bola')
disp('9.
luas segitiga')
disp('10.
luas jajar genjang')
disp('11.
luas trapesium')
disp('12.
luas lingkaran')
disp('13.
luas persegi panjang')
disp('14.
luas permukaan silinder')
disp('15.
grafik fungsi trigonometri')
disp('16.
mencari kpk dan faktorisasi suatu bilangan (by Dwi Istanto)')
disp('17.
program bilangan prima (by Wahyu Kurniawan)')
disp('18.
mencari fpb (by Wahyu Kurniawan)')
disp('19.
persamaan lingkaran')
disp(' ')
switch pilih
case 1
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung volume silinder')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari
silinder= ');
t=input('tinggi
silinder= ');
if
t<0 & r<0, disp('jari-jari dan tinggi tidak boleh
negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
r<0, disp('jari-jari tidak boleh negatif'), break, end
V=pi*r^2*t;
disp(['volume
silinder anda= ' num2str(V)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 2
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung volume kubus')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
p=input('panjang rusuk
kubus= ');
if
p<0, disp('panjang rusuk tidak boleh negatif'), break
end
V=p^3;
disp(['volume kubus
anda= ' num2str(V)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 3
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung volume kerucut')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari alas
kerucut= ');
t=input('tinggi
kerucut= ');
if
t<0 & r<0, disp('jari-jari dan tinggi tidak boleh
negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
r<0, disp('jari-jari tidak boleh negatif'), break, end
V=pi*r^2*t*1/3;
disp(['volume kerucut
anda= ' num2str(V)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 4
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung volume bola')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari
bola= ');
if
r<0, disp('jari-jari boleh negatif'), break, end
V=4/3*pi*r^3;
disp(['volume bola
anda= ' num2str(V)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 6
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas permukaan kubus')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('panjang rusuk
kubus= ');
if
r<0, disp('panjang rusuk tidak boleh negatif'), break
end
L=6*r^2;
disp(['luas permukaan
kubus anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 14
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas silinder')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari alas
silinder= ');
t=input('tinggi
silinder= ');
if
t<0 & r<0, disp('jari-jari dan tinggi tidak boleh
negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
r<0, disp('jari-jari tidak boleh negatif'), break, end
L=2*pi*r*t;
L2=2*pi*r*t+2*pi*r^2;
L3=2*pi*r*t+pi*r^2;
disp(['Luas selimut
silinder anda= ' num2str(L)]);
disp(['Luas silinder
tanpa tutup anda= ' num2str(L3)]);
disp(['Luas silinder
anda= ' num2str(L2)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 7
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas kerucut')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari alas
kerucut= ');
t=input('tinggi kerucut=
');
s=input('garis miring
kerucut= ');
if
t<0 & r<0 & s<0, disp('jari-jari,
tinggi, dan garis miring kerucut tidak boleh negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
r<0, disp('jari-jari tidak boleh negatif'), break
elseif
s<0, disp('garis miring kerucut tidak boleh negatif'), break, end
L=pi*r*s;
L1=pi*r*s+pi*r^2;
disp(['Luas selimut
kerucut anda= ' num2str(L)]);
disp(['Luas kerucut
anda= ' num2str(L1)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 8
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas bola')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari
bola= ');
if
r<0, disp('jari-jari boleh negatif'), break, end
L=4*pi*r^2;
disp(['Luas bola
anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 9
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas segitiga')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
al=input('panjang alas
segitiga= ');
t=input('tinggi
segitiga= ');
if
al<0 & t<0, disp('panjang alas dan tinggi tidak boleh
negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
al<0, disp('panjang alas tidak boleh negatif'), break, end
L=1/2*al*t;
disp(['Luas segitiga
anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 10
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas jajar genjang')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
a=input('panjang alas=
');
t=input('tinggi jajar
genjang= ');
if
a<0 & t<0, disp('panjang alas dan tinggi tidak boleh
negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
a<0, disp('panjang alas tidak boleh negatif'), break, end
L=a*t;
disp(['Luas jajar
genjang anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 11
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp( 'menghitung
luas trapesium')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
a=input('panjang sisi
a= ');
t=input('tinggi
trapesium= ');
b=input('panjang sisi
yang sejajar dengan a= ');
if
a<0 & t<0 & b<0, disp('panjang sisi
a, tinggi, dan panjang sisi yang sejajar dengan a, tidak boleh negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
a<0, disp('panjang sisi a tidak boleh negatif'), break
elseif
b<0, disp('panjang sisi yang sejajar dengan a tidak boleh negatif'), break, end
L=1/2*(a+b)*t;
disp(['Luas trapesium
anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 12
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas lingkaran')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('jari-jari
lingkaran= ');
if
r<0, disp('jari-jari boleh negatif'), break, end
L=pi*r^2;
disp(['Luas lingkaran
anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 13
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung luas persegi panjang')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
a=input('panjang= ');,
t=input('lebar = ');
if
a<0 & t<0, disp('panjang dan lebar tidak boleh
negatif'), break
elseif
t<0, disp('lebar tidak boleh negatif'), break
elseif
a<0, disp('panjang tidak boleh negatif'), break, end
L=a*t;
disp(['Luas persegi
panjang anda= ' num2str(L)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 5
syms y t;
jawab ='y';
while jawab
=='y', clc
disp('----------------------------------------------')
disp(' menghitung volume balok')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
disp(' ')
r=input('panjang balok=
');
t=input('lebar balok= ');
s=input('tinggi balok=
');
if
t<0 & r<0 & s<0, disp('panjang balok,
lebar balok dan tinggi balok, tidak boleh negatif'), break
elseif
t<0 & r<0, disp('panjang balok dan lebar balok tidak
boleh negatif'), break
elseif
t<0 & s<0, disp('lebar balok dan tinggi balok tidak
boleh negatif'), break
elseif
r<0 & s<0, disp('panjang balok dan tinggi balok tidak
boleh negatif'), break
elseif
t<0, disp('lebar balok tidak boleh negatif'), break
elseif
r<0, disp('panjang balok tidak boleh negatif'), break
elseif
s<0, disp('tinggi balok tidak boleh negatif'), break, end
V=r*t*s;
disp(['volume balok
anda= ' num2str(V)]);
jawab=input('mau mengulang
lagi pada menu ini? (y/t) -> ');
end
case 15
nilai15
case 16
kpk
case 17
prm
case 18
fpb
case 19
cobo
otherwise
disp(' maaf menu yang anda pilih tidak ada dalam
daftar kami kali ini')
end
jawab=input('mau
mengulang lagi ke menu awal? (y/t) -> ');
end
PROGRAM M-FILE
MATLAB
PROGRAM II (nilai15.m)
OLEH:
LATIF KURNIAWAN
PMATSUB 09
09301241042
clc
disp('----------------------------------------------')
disp(' LATIF KURNIAWAN')
disp(' PMATSUB 09')
disp(' 09301241042')
disp('----------------------------------------------')
disp(' ')
disp('silahkan
pilih menu anda kali ini!')
disp('1.
perbandingan antara grafik sinus, cosinus dan tangent')
disp('2.
grafik cosinus 17.
grafik invers cosecant')
disp('3.
grafik tangent 18.
grafik hiperbolikus cosecant')
disp('4.
grafik sinus 19.
grafik invers hiperbolikus cosecant')
disp('5.
grafik invers sinus 20.
grafik invers secant')
disp('6.
grafik hiperbolikus sinus 21.
grafik hiperbolikus secant')
disp('7.
grafik invers hiperbolikus sinus 22.
grafik invers hiperbolikus secant')
disp('8.
grafik invers cosinus 23.
grafik invers cotangent')
disp('9.
grafik hiperbolikus cosinus 24.
grafik hiperbolikus cotangent')
disp('10.
grafik invers hiperbolikus cosinus 25.
grafik invers hiperbolikus cotangent')
disp('11.
grafik invers tangent ')
disp('12.
grafik invers hiperbolikus tangent ')
disp('13.
grafik hiperbolikus tangent ')
disp('14.
grafik cosecant ')
disp('15.
grafik secant ')
disp('16.
grafik cotangent ')
disp(' ')
pilih=input('menu
yang anda pilih (1-2)--> ');
switch
pilih
case 1
disp('----------------------------------------------')
disp('perbandingan
gambar grafik trigonometri')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=sin(x*pi/180);
z=cos(x*pi/180);
m=tand(x);
subplot(3,1,1);
plot(x,y,'-b');
title('grafik sinus')
xlabel('sudut dalam
derajat')
ylabel('nilai sinus')
grid on
subplot(3,1,2);
plot(x,z,'-r');
title('Grafik
Cosinus');
ylabel('nilai
cosinus');
xlabel('sudut dalam
derajat');
grid on
subplot(3,1,3);
plot(x,m,'-k');
title('Grafik
tangent');
xlabel('Sudut dalam
derajat');
ylabel('Nilai
tangent');
grid on
case 2
disp('----------------------------------------------')
disp('menggambar
grafik cosinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=cos(x*pi/180);
plot(x,y)
title('grafik
cosinus')
xlabel('sudut dalam
derajat')
ylabel('nilai
cosinus')
grid on
case 3
disp('----------------------------------------------')
disp('menggambar
grafik tangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=tand(x);
plot(x,y)
title('grafik
tangent')
xlabel('sudut dalam
derajat')
ylabel('nilai tangent')
grid on
case 4
disp('----------------------------------------------')
disp('menggambar
grafik sinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=sin(x*pi/180);
plot(x,y)
title('grafik sinus')
xlabel('sudut dalam
derajat')
ylabel('nilai sinus')
grid on
case 5
disp('----------------------------------------------')
disp('menggambar
grafik invers sinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=asin(x*pi/180);
plot(x,y)
title('grafik invers
sinus')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
sinus')
grid on
case 6
disp('----------------------------------------------')
disp('menggambar
grafik hiperbolikus sinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=sinh(x*pi/180);
plot(x,y)
title('grafik
hiperbolikus sinus')
xlabel('sudut dalam
derajat')
ylabel('nilai
hiperbolikus sinus')
grid on
case 7
disp('----------------------------------------------')
disp('menggambar
grafik invers hiperbolikus sinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=asinh(x*pi/180);
plot(x,y)
title('grafik invers
hiperbolikus sinus')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
hiperbolikus sinus')
grid on
case 8
disp('----------------------------------------------')
disp('menggambar
grafik invers cosinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=acos(x*pi/180);
plot(x,y)
title('grafik invers
cosinus')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
cosinus')
grid on
case 9
disp('----------------------------------------------')
disp('menggambar
grafik hiperbolikus cosinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=cosh(x*pi/180);
plot(x,y)
title('grafik
hiperbolikus cosinus')
xlabel('sudut dalam
derajat')
ylabel('nilai
hiperbolikus cosinus')
grid on
case 10
disp('----------------------------------------------')
disp('menggambar
grafik invers hiperbolikus cosinus')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=acosh(x*pi/180);
plot(x,y)
title('grafik invers
hiperbolikus cosinus')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
hiperbolikus cosinus')
grid on
case 11
disp('----------------------------------------------')
disp('menggambar
grafik invers tangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=atan(x*pi/180);
plot(x,y)
title('grafik invers
tangent')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
tangent')
grid on
case 12
disp('----------------------------------------------')
disp('menggambar
grafik invers hiperbolikus tangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=atanh(x*pi/180);
plot(x,y)
title('grafik invers
hiperbolikus tangent')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
hiperbolikus tangent')
grid on
case 13
disp('----------------------------------------------')
disp('menggambar
grafik hiperbolikus tangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=tanh(x*pi/180);
plot(x,y)
title('grafik
hiperbolikus tangent')
xlabel('sudut dalam
derajat')
ylabel('nilai
hiperbolikus tangent')
grid on
case 14
disp('----------------------------------------------')
disp('menggambar
grafik cosecant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=cosecd(x);
plot(x,y)
title('grafik
cosecant')
xlabel('sudut dalam
derajat')
ylabel('nilai
cosecant')
grid on
case 15
disp('----------------------------------------------')
disp('menggambar
grafik secant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir (batas atas interval)= ');
x=[awal:akhir];
y=secd(x);
plot(x,y)
title('grafik
secant')
xlabel('sudut dalam
derajat')
ylabel('nilai secant')
grid on
case 16
disp('----------------------------------------------')
disp('menggambar
grafik cotangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=cotd(x);
plot(x,y)
title('grafik
cotangent')
xlabel('sudut dalam
derajat')
ylabel('nilai
cotangent')
grid on
case 17
disp('----------------------------------------------')
disp('menggambar
grafik invers cosecant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=acosec(x);
plot(x,y)
title('grafik invers
cosecant')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
cosecant')
grid on
case 18
disp('----------------------------------------------')
disp('menggambar
grafik hiperbolikus cosecant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=cosech(x);
plot(x,y)
title('grafik
hiperbolikus cosecant')
xlabel('sudut dalam
derajat')
ylabel('nilai
hiperbolikus cosecant')
grid on
case 19
disp('----------------------------------------------')
disp('menggambar
grafik invers hiperbolikus cosecant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=acosech(x);
plot(x,y)
title('grafik invers
hiperbolikus cosecant')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
hiperbolikus cosecant')
grid on
case 20
disp('----------------------------------------------')
disp('menggambar
grafik invers secant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=asec(x);
plot(x,y)
title('grafik invers
secant')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
secant')
grid on
case 21
disp('----------------------------------------------')
disp('menggambar
grafik hiperbolikus secant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=sech(x);
plot(x,y)
title('grafik
hiperbolikus secant')
xlabel('sudut dalam
derajat')
ylabel('nilai
hiperbolikus secant')
grid on
case 22
disp('----------------------------------------------')
disp('menggambar
grafik invers hiperbolikus secant')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=asech(x);
plot(x,y)
title('grafik invers
hiperbolikus secant')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
hiperbolikus secant')
grid on
case 23
disp('----------------------------------------------')
disp('menggambar
grafik invers cotangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=acot(x);
plot(x,y)
title('grafik invers
cotangent')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
cotangent')
grid on
case 24
disp('----------------------------------------------')
disp('menggambar
grafik hiperbolikus cotangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=coth(x);
plot(x,y)
title('grafik
hiperbolikus cotangent')
xlabel('sudut dalam
derajat')
ylabel('nilai
hiperbolikus cotangent')
grid on
case 25
disp('----------------------------------------------')
disp('menggambar
grafik invers hiperbolikus cotangent')
disp('----------------------------------------------')
disp(' ')
awal=input('data awal
(batas bawah interval)= ');
akhir=input('data akhir
(batas atas interval)= ');
x=[awal:akhir];
y=acoth(x);
plot(x,y)
title('grafik invers
hiperbolikus cotangent')
xlabel('sudut dalam
derajat')
ylabel('nilai invers
hiperbolikus cotangent')
grid on
otherwise
disp(' maaf menu yang anda pilih tidak ada dalam
daftar kami kali ini')
end
syms y t;
jawab
=input('tetap pada menu ini? (y/t) ');
if
jawab =='y', nilai15
else
lagi=input('kembali ke menu utama? (y/t) '); if
lagi=='y', luas_bidang, else break, end
end
PROGRAM M-FILE
MATLAB
PROGRAM III (cobo.m)
OLEH:
LATIF KURNIAWAN
PMATSUB 09
09301241042
clc
disp('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<')
disp(' PROGRAM MENCARI PERSAMAAN
LINGKARAN')
disp(' LATIF KURNIAWAN')
disp(' PMATSUB 09')
disp(' 09301241042')
disp('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
disp(' ')
disp('menu
kami kali ini')
disp('1.
persamaan lingkaran yang berpusat di O(0,0) dan jari-jari r')
disp('2.
persamaan lingkaran yang berpusat di M(a,b) dan jari-jari r')
bingung=input('menu
yang anda pilih? -> ');
switch
bingung
case 1
disp('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
disp('persamaan
lingkaran yang berpusat di O(0,0) dan jari-jari r')
disp(' LATIF KURNIAWAN')
disp(' PMATSUB 09')
disp(' 09301241042')
disp('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
r=input('berapa
jari-jarinya? -> ');
v=r^2;
disp('berikut
adalah persamaan lingkaran anda: ')
disp(['x^2+y^2='
num2str(v)])
case 2
disp('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<')
disp('persamaan
lingkaran yang berpusat di M(a,b) dan jari-jari r')
disp(' LATIF KURNIAWAN')
disp(' PMATSUB 09')
disp(' 09301241042')
disp('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<')
syms x y;
a=input('absis titik
pusatnya= ');
b=input('ordinat titik
pusatnya= ');
r=input('jari-jarinya=
');
disp(['anda memilih
lingkaran yang berpusat di ' '('
num2str(a) ',' num2str(b) ')' '
dengan jari-jari ' num2str(r)])
s=(x-a)^2;
t=(y-b)^2;
u=r^2;
v=expand(s+t-u);
disp('berikut
persamaan lingkaran anda:')
disp(['(x-'
num2str(a) ')^2' '+(y-' num2str(b) ')^2='
num2str(u)])
disp('berikut
adalah persamaan lingkaran anda')
disp('yang sudah dalam
keadaan sama dengan nol')
disp(v)
otherwise
disp('anda pasti
bingung?')
end
syms y t;
jawab
=input('tetap pada menu ini? (y/t) ');
if
jawab =='y', cobo
else
lagi=input('kembali ke menu utama? (y/t) '); if
lagi=='y', luas_bidang, else break, end
end
PENJELASAN
PROGRAM I
(luas_bidang.m)
syms y t;
jawab
='y';
while jawab =='y'
jawab=input('mau
mengulang lagi ke menu awal? (y/t) -> ');
end
Perintah
“syms y t;” digunakan untuk mengenali bahwa bila user menekan tombol y maupun t pada keyboard MATLAB akan menganggapnya
sebagai symbol (bukan variable). Selanjutnya sintaks di bawah perintah “syms”
adalah sintaks while loop. Sintaks ini dibuat dengan tujuan apabila user memberikan input dengan menekan tombol y pada keyboard maka program luas_bidang akan dijalankan lagi. Program
utama dari program luas_bidang.m adalah setelah sintaks while loop. Yaitu pada
sintaks switch-case-nya.
disp('----------------------------------------------')
disp(' LATIF KURNIAWAN')
disp(' 09301241042')
disp(' PMATSUB 09')
disp('----------------------------------------------')
Perintah
disp digunakan untuk menulis atau manampilkan tulisan ke layar
dengan argumen input atau tulisan berada dalam tanda petik tunggal (‘)
yang kesemuanya berada di dalam tanda kurung. Pada bagian program ini perintah
“disp”
digunakan untuk mempercantik tampilan program yaitu dengan memberikan
informasi tertentu.
disp(' ')
Perintah “disp”
kali ini tidak ada karakter apapun tetapi MATLAB juga akan menjalankannya.
Fungsi “disp” kali ini digunakan seperti memberikan perintah seperti menekan enter saat mengetik.
disp('silahkan
pilih menu anda kali ini!')
disp('1.
volume silinder')
disp('2.
volume kubus')
disp('3.
volume kerucut')
disp('4.
volume bola')
disp('5.
volume balok')
disp('6.
luas permukaan kubus')
disp('7.
luas permukaan kerucut')
disp('8.
luas permukaan bola')
disp('9.
luas segitiga')
disp('10.
luas jajar genjang')
disp('11.
luas trapesium')
disp('12.
luas lingkaran')
disp('13.
luas persegi panjang')
disp('14.
luas permukaan silinder')
disp('15.
grafik fungsi trigonometri')
disp('16.
mencari kpk dan faktorisasi suatu bilangan (by Dwi Istanto)')
disp('17.
program bilangan prima (by Wahyu Kurniawan)')
disp('18. mencari fpb (by Wahyu Kurniawan)')
disp('19.
persamaan lingkaran')
Pada sintaks switch-case memungkinkan user tidak tahu isi program yang ada di setiap case-nya, untuk itu perintah display kali ini sengaja disesuaikan
untuk memberikan isi program yang ada pada setiap case untuk mempermudah user menjalankan
program agar tepat guna.
pilih=input('menu
yang anda pilih (1-19)--> ');
Meminta input angka dari user
untuk mengisi data “pilih” yang dijadikan parameter dalam menjalankan perintah
switch-case, input angka ini nantinya
mengindikasikan case bagian mana yang
akan dijalankan.
switch pilih
case 1
Sampai di sini program akan mulai
menjalankan sintaks switch-case, yaitu apabila user memberikan input
pilih=1 maka program pada case pertama akan dijalankan.
r=input('jari-jari
silinder= ');
Program meminta input dari user tentang berapa besar jari-jari silinder yang diinginkan. Ingat
setiap input pada program ini sengaja dibuat berupa angka agar lebih praktis.
t=input('tinggi
silinder= ');
Program meminta input dari user tentang berapa besar jari-jari silinder yang diinginkan.
if
t<0 & r<0, disp('jari-jari dan tinggi tidak boleh
negatif'), break
elseif
t<0, disp('tinggi tidak boleh negatif'), break
elseif
r<0, disp('jari-jari tidak boleh negatif'), break, end
V=pi*r^2*t;
disp(['volume
silinder anda= ' num2str(V)]);
Input berupa angka memungkinkan adanya kesalahan pada
program karena input angka dapat
berupa bilangan negatif padahal kita tahu setiap elemen pada bidang (panjang,
lebar, tinggi, dll) tidak boleh negatif. Sintaks if-end (dapat dikembangkan
kebentuk lain seperti if-elseif-end maupun if-elseif-else-end) digunakan karena
dapat mengenali adanya interval maupun ekspresi logika. Perintah diatas
digunakan untuk menghentikan program (ditandai adanya perintah “break”) apabila
input yang diberikan user keduanya
negatif maupun hanya salah satu saja yang negatif. Kondisional if selalu
diakhiri dengan end. Jika input yang
diberikan user benar (semuanya
positif) maka program akan berlanjut ke V=pi*r^2*t;, ini merupakan rumus volume tabung namun hasil perhitungan
tidak ditampilkan karena adanya tanda titik koma. Perintah “disp” didalamnya terdapat tanda
kurung siku hal ini disebabkan karena adanya tipe data yang berbeda yang akan
ditampilkan (tipe data V masih dalam tipe data numerik). Perintah num2str(V) digunakan untuk mengubah tipe data V yang
numerik ke tipe data string agar setipe dengan kalimat volume silinder
anda= yang bertipe string. Perintah selanjunya sudah
pernah dibahas sebelumnya.
syms y t;
jawab
='y';
while jawab
=='y', clc
jawab=input('mau mengulang lagi pada menu ini? (y/t) -> ');
end
Perintah while
loop kali ini digunakan untuk tetap berada pada case pertama apabila user menekan tombol y pada keyboard. Adanya perintah “clc”
digunakan untuk membersihkan layar command
window. Selanjutnya dari case ke-2 sampai case ke-14 analog dengan case
pertama.
case 15
nilai15
Apabila user memberikan input pilih=15 maka program pada case ke-15 akan dijalankan. Case
15 adalah case yang berisi nama file bertipe M-File (nilai15.m) yang berada
pada direktori yang sama dengan direktori dimana file luas_bidang.m berada.
Maka selanjutnya MATLAB akan me-run program
yang ada di case 15 (nilai15.m). Case 16 sampai case 19 analog dengan case 15.
Untuk file program pada case 16-18, karena bukan buatan saya maka bukan
kewajiban saya untuk menjelaskannya. Sebelumnya saya telah mendapat ijin dari
programmer program tersebut untuk memasukkannya di program saya.
otherwise
disp(' maaf menu yang anda pilih tidak ada dalam
daftar kami kali ini')
Perintah “otherwise”
satu kesatuan dengan switch-case yaitu apabila input yang diberikan user diluar
banyaknya case yang ada maka sintaks pada perintah otherwise akan dijalankan,
di sini sintaksnya berupa perintah display (disp).
end
Layaknya kondisional if (if-end) dan
while (while-end) perintah switch-case juga harus diakhiri perintah “end”.
PENJELASAN
PROGRAM II
(nilai15.m)
Case 1
Karena beberapa
perintah pada program ini telah dibahas pada program sebelumnya maka
selanjutnya hanya akan menjelaskan perintah yang belum dijelaskan atau yang
perlu dijelaskan saja.
awal=input('data
awal (batas bawah interval)= ');
akhir=input('data
akhir (batas atas interval)= ');
x=[awal:akhir];
Membangun data sesuai
interval yang dibuat user (sesuai input yang diberikan user dari data awal sampai data akhir)
yang kemudian disimpan sebagai x. Agar data yang dibangun tidak ditampilkan
maka perlu diberi tanda titik koma dikhir.
y=sin(x*pi/180);
Perintah ini
digunakan untuk menghitung nilai fungsi y terhadap x, yaitu menentukan nilai
dari fungsi y=sin(x). Ingat, bahwa default
fungsi trigonometri pada MATLAB adalah dalam satuan radian maka agar default menjadi dalam satuan derajat x
perlu dikali dengan (phi/180).
z=cos(x*pi/180);
Penjelasan perintah
ini analog dengan perintah sebelumnya (y=sin(x*pi/180))
m=tand(x);
Perintah ini
digunakan untuk untuk untuk mencari nilai tangent x yang tidak perlu diubah
lagi satuannya (radian ke derajat) karena
m=tand(x)=tan(x*pi/180).
subplot(3,1,1);
Perintah ini
digunakan untuk membuat lokasi gambar grafik (tiga baris dengan satu kolom)
yang masih berada dalam satu file, yaitu ditempatkan pada baris pertama.
plot(x,y,'-b');
Perintah ini
digunakan untuk membuat grafik 2D, x terhadap y dengan garis berwarna biru.
Grafik ini ditempatkan pada baris pertama.
title('grafik
sinus')
Perintah ini
digunakan untuk memberikan judul grafik pertama dengan judul “grafik sinus”.
xlabel('sudut
dalam derajat')
Perintah ini
digunakan untuk memberi nama pada x label (sumbu x) dengan nama “sudut dalam
derajat”.
ylabel('nilai
sinus')
Perintah ini
digunakan untuk memberi nama pada y label (sumbu y) dengan nama “nilai sinus”.
grid on
Perintah ini
digunakan untuk memunculkan grid pada grafik.
subplot(3,1,2);
Perintah ini
digunakan untuk membuat lokasi gambar grafik (tiga baris dengan satu kolom)
yang masih berada dalam satu file, yaitu ditempatkan pada baris ke-dua.
plot(x,z,'-r');
Perintah ini
digunakan untuk membuat grafik 2D, x terhadap y dengan garis berwarna merah.
Grafik ini ditempatkan pada baris ke-dua.
title('Grafik
Cosinus');
ylabel('nilai
cosinus');
xlabel('sudut
dalam derajat');
grid on
subplot(3,1,3);
Perintah ini
digunakan untuk membuat lokasi gambar grafik (tiga baris dengan satu kolom)
yang masih berada dalam satu file, yaitu ditempatkan pada baris ke-tiga.
plot(x,m,'-k');
Perintah ini
digunakan untuk membuat grafik 2D, x terhadap y dengan garis berwarna hitam.
Grafik ini ditempatkan pada baris ke-tiga.
title('Grafik
tangent');
xlabel('Sudut
dalam derajat');
ylabel('Nilai
tangent');
grid on
Case 2
awal=input('data
awal (batas bawah interval)= ');
akhir=input('data
akhir (batas atas interval)= ');
x=[awal:akhir];
y=cos(x*pi/180);
plot(x,y)
title('grafik
cosinus')
xlabel('sudut
dalam derajat')
ylabel('nilai
cosinus')
grid on
Penjelasan case
ke-2 dan seterusnya analog dengan case pertama hanya saja untuk case 2-25
setiap grafik digambar tersendiri (hanya satu grafik). Penjelasan fungsi
trigonometri yang ada pada persamaan y sudah diwakili dengan adanya judul di
setiap case nya.
PENJELASAN
PROGRAM III
(cobo.m)
Case 1
r=input('berapa
jari-jarinya? -> ');
v=r^2;
Perintah ini digunakan guna menentukan
nilai dari r kuadrat yang kemudian disimpan sebagai v.
disp('berikut
adalah persamaan lingkaran anda: ')
disp(['x^2+y^2='
num2str(v)])
Ingat, persamaan
lingkaran yang berpusat di O(0,0) dengan jari-jari r adalah x^2+y^2=r^2.
Case 2
syms x y;
a=input('absis
titik pusatnya= ');
b=input('ordinat
titik pusatnya= ');
r=input('jari-jarinya=
');
disp(['anda
memilih lingkaran yang berpusat di ' '('
num2str(a) ',' num2str(b) ')' '
dengan jari-jari ' num2str(r)])
Perintah “disp”
diatas adalah untuk menjelaskan keberadaan titik pusat dan besar jari-jarinya.
s=(x-a)^2;
t=(y-b)^2;
u=r^2;
v=expand(s+t-u);
Perintah “expand”
digunakan untuk menjabarkan persamaan guna mendapat bentuk umum persamaan
lingkaran.
disp('berikut
persamaan lingkaran anda:')
disp(['(x-'
num2str(a) ')^2' '+(y-' num2str(b) ')^2=' num2str(u)])
Ingat, persamaan
lingkaran yang berpusat di M(a,b) dengan jari-jari r adalah (x-a)^2+(y-b)^2=r^2, perintah “disp” diatas adalah untuk mencapai bentuk ini.
disp('berikut
adalah persamaan lingkaran anda')
disp('yang
sudah dalam keadaan sama dengan nol')
disp(v)
Perintah “disp(v)”
digunakan untuk menampilkan bentuk umum persamaan lingkaran yang sudah dalam
keadaan sama dengan nol.
LAMPIRAN
Program prm.m oleh Wahyu Kurniawan (Pmatsub
09/09301241029)
syms y t;
ulang
='y';
while
ulang =='y',clc
disp('program
ini disusun oleh Wahyu kurniawan Pmatsub 09 (09301241029)')
disp('BILANGAN
PRIMA')
disp('Bilangan
prima adalah bilangan bulat positif yang lebih besar dari 1 dan tidak
mempunyai')
disp('faktor
bulat positif kecuali 1 dan bilangan bulat itu sendiri')
disp('----------------------------------------------------------------------------------------')
disp('pilih
aplikasi tentang bilangan prima berikut:')
disp('1.
menguji bilangan prima atau bukan')
disp('2.
bilangan prima dalam suatu selang')
disp('3.
banyaknya bilangan prima dalam suatu selang')
disp('----------------------------------------------------------------------------------------')
disp(' ')
pilihan=input('pilihan
anda = ');
disp(' ')
switch
pilihan
case 1
disp('menguji
bilangan prima atau bukan')
disp('---------------------------------')
k=input('bilangan yang
ingin diuji = ');
if
k<=0,
disp('baca lagi
pengertian bilangan prima'), break
elseif
k>4294967296, prm
disp('maaf,
bilangan terlalu besar. sistem tidak sanggup'), break
end
j=isprime(k);
if j==1
disp([num2str(k) '
adalah bilangan prima'])
elseif j==0
disp([num2str(k) '
bukan bilangan prima'])
end
case 2
disp('mencari
manakah bilangan yang prima')
disp('-----------------------------------')
a=input('batas bawah =
');
b=input('batas atas =
');
if
b>4294967296
disp('maaf,
bilangan terlalu besar. sistem tidak sanggup')
break
end
for
n=a:b;
m=isprime(n);
if m==1
disp([num2str(n) '
prima'])
elseif m==0
disp([num2str(n) '
bukan prima'])
end
end;
case 3
disp('banyaknya
bilangan prima dalam suatu selang')
disp('-------------------------------------------')
c=input('batas bawah =
');
d=input('batas atas =
');
if
d>4294967296
disp('maaf,
bilangan terlalu besar. di luar jangkauan sistem')
break
end
o=c:d;
p=isprime(o);
q=sum(p);
disp(' ')
disp(['banyaknya
bilangan prima antara ' num2str(c) ' sampai ' num2str(d)
' ada ' num2str(q) ' bilangan
prima'])
otherwise
disp('baca lagi
petunjuknya')
end
disp(' ')
ulang=input('mau
mencoba aplikasi lagi? (y/t) ...');
end
syms y t;
jawab
=input('tetap pada menu ini? (y/t) ');
if
jawab =='y', prm
else lagi=input('kembali
ke menu utama? (y/t) '); if
lagi=='y', luas_bidang, else break, end
end
Program kpk.m oleh Dwi Istanto (Pmatsub
09/09301241030)
%program
ini dibuat oleh Dwi Istanto Pmatsub 09 (09301241030)
syms y t;
jawab
='y';
while
jawab =='y', clc
disp('program
kpk dan faktorisasi bilangan')
disp('oleh
Dwi Istanto')
disp(' mencari KPK & faktorisasi bilangan bulat')
disp('-----------------')
disp('1.
kpk dua bilangan')
disp('2.
kpk tiga bilangan')
disp('3.
kpk empat bilangan')
disp('4.
kpk lima bilangan')
disp('5.
faktorisasi bilangan bulat')
disp(' ')
pilih=input('pilihan
yang anda inginkan = ');
switch
pilih
case 1
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=lcm(a,b);
disp(['KPK = '
num2str(c)])
case 2
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=input('bilangan
ketiga = ');
d=lcm(a,b);
e=lcm(d,c);
disp(['KPK = '
num2str(e)])
case 3
a=input('bilangan
pertama = ');
b=input('bilangan kedua = ');
c=input('bilangan
ketiga = ');
d=input('bilangan
keempat = ');
e=lcm(a,b);
f=lcm(e,c);
g=lcm(f,d);
disp(['KPK = '
num2str(g)])
case 4
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=input('bilangan
ketiga = ');
d=input('bilangan
keempat = ');
e=input('bilangan
kelima = ');
f=lcm(a,b);
g=lcm(f,c);
h=lcm(g,d);
i=lcm(h,e);
disp(['KPK = '
num2str(i)]);
case 5
faktor
otherwise
disp('pilihan
salah.........')
end
jawab=input('mau
coba lagi? (y/t)__');
end
syms y t;
jawab
=input('tetap pada menu ini? (y/t) ');
if
jawab =='y', kpk
else
lagi=input('kembali ke menu utama? (y/t) '); if
lagi=='y', luas_bidang, else break, end
end
Program faktor.m oleh Wahyu K (Pmatsub 09/09301241029), Dwi I (Pmatsub 09/09301241030), Dan Latif K (Pmatsub 09/09301241042)
disp('faktorisasi
bilangan bulat')
disp('--------------------')
disp('mencari
bilangan bulat')
pilih=input('masukkan
bilangan yang anda inginkan =');, if
pilih<=0, disp('bilanganya tidak boleh negativ'), break, end
a=factor(pilih);
disp(['factor
dari ' num2str(pilih) ' adalah ' num2str(a)])
Program fpb.m oleh Wahyu Kurniawan (Pmatsub 09/09301241029)
syms y t;
jawab
='y';
while
jawab =='y', clc
disp('hak
cipta program ini dimiliki oleh Wahyu Kurniawan Pmatsub 09 (09301241029)')
disp(' mencari FPB')
disp('-----------------')
disp('1.
dua bilangan')
disp('2.
tiga bilangan')
disp('3.
empat bilangan')
disp('4.
lima bilangan')
disp(' ')
pilih=input('berapa
bilangan yang anda inginkan = ');
switch
pilih
case 1
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=gcd(a,b);
disp(['FPB = '
num2str(c)])
case 2
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=input('bilangan
ketiga = ');
d=gcd(a,b);
e=gcd(d,c);
disp(['FPB = '
num2str(e)])
case 3
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=input('bilangan
ketiga = ');
d=input('bilangan
keempat = ');
e=gcd(a,b);
f=gcd(e,c);
g=gcd(f,d);
disp(['FPB = '
num2str(g)])
case 4
a=input('bilangan
pertama = ');
b=input('bilangan
kedua = ');
c=input('bilangan
ketiga = ');
d=input('bilangan
keempat = ');
e=input('bilangan
kelima = ');
f=gcd(a,b);
g=gcd(f,c);
h=gcd(g,d);
i=gcd(h,e);
disp(['FPB = '
num2str(i)]);
otherwise
disp('pilihan
salah.........')
end
jawab=input('mau
coba lagi? (y/t)__');
end
syms y t;
jawab
=input('tetap pada menu ini? (y/t) ');
if
jawab =='y', fpb
else
lagi=input('kembali ke menu utama? (y/t) '); if
lagi=='y', luas_bidang, else break, end
end