Program MATLAB ini berisi kode untuk menghitung volume, luas, dan menggambar grafik fungsi trigonometri dari berbagai bangun ruang dan bidang datar. Program terdiri dari pilihan menu yang memungkinkan pengguna memilih perhitungan volume, luas, atau grafik yang diinginkan.
1. Contoh Program MATLAB
PROGRAM M-FILE MATLAB
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(' ')
pilih=input('menu yang anda pilih (1-19)--> ');
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
2. 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')
3. 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
4. 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('----------------------------------------------')
5. 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= ');
6. 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')
7. 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
8. 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('----------------------------------------------')
9. 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')
10. 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('----------------------------------------------')
11. 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(' ')
12. 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)= ');
13. 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
14. 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
15. 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')
16. 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
17. 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')
18. 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).
19. 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.
20. 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.
21. 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.
22. 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
23. 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)])
24. 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)])
25. 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