Anda di halaman 1dari 13

Mata Kuliah : Algoritma dan Pemrograman

Nama : Vina Fadhilla


NIM : 4161121025
Kelas : Fisika Dik B 2016
Dosen : Dr. Alkahfi Maas Siregar, M.Si

Laporan Praktikum-14
Pemrograman Pemilihan
Menggunakan switch…case…otherwise…end

Pemrograman pemilihan telah disusun sebelumnya sebagai bagian dari


pemrograman keputusan. Perbedaannya jelas pada pemrograman keputusan
program akan dihadapkan pada pilihan berdasarkan kondisi atau persyaratan yang
diberikan. Pada pemrograman pilihan, program disusun sedemikian rupa sehingga
pengguna akan secara langsung membuat pilihan berdasarkan preferensi yang
diinginkannya.

A. Data Praktikum
1.1 Penggunaan perintah switch
Untuk menjelankan program penggunaan perintah switch pada Matlab,
dapat dilakukan dengan menyusun program pada jendela Command Window
seperti pada program berikut :

% Program menggunakan perintah switch


% Pilihan menggunakan input bilangan
%
clear;
clc;
disp(' ')
disp('berikan pilihan 1--->5');
pilih=input ('pilihan anda= ');
disp(' ')
switch pilih
case 1
disp('pilihan ke -1 ')
case 2
disp('pilihan ke -2 ')
case 3
disp('pilihan ke -3 ')

1|Lap.Prak.Algo
case 4
disp('pilihan ke -4 ')
case 5
disp('pilihan ke -4 ')
otherwise
disp('pilihan anda tidak sesuai ')
end
disp(' ')

Setelah program selesai disusun, simpan file Matlab. Kemudian eksekusi


program pada jendela Command Window Matlab, berikan pilihan nilai yang
diminta pada Program, seperti berikut :

berikan pilihan 1--->5


pilihan anda= 3
pilihan ke -3
>>

1.2 Luas Bangun Datar

Untuk menjelankan program penggunaan perintah switch Luas Bangun


Datar pada Matlab, dapat dilakukan dengan menyusun program pada jendela
Editor/debugger seperti pada program berikut :

% Program menggunakan perintah switch


% menghitung luas bangun datar
% pilihan menggunakan input bilangan
%
clear;
clc;
disp(' ')
disp('program menghitung Luas')
disp('1. segitiga');
disp('2. persegi ');
disp('3. persegi panjang ');
disp('4. lingkaran ');
disp(' ')
disp(' ')
disp('Berikan pilihan 1-->4 ');
pilih=input('berikan pilihan anda = ');
disp(' ')
switch pilih
case 1
disp(' ')
A=input('Alas= ');

2|Lap.Prak.Algo
T=input('Tinggi = ');
L=1/2*A*T;
disp(['Luas segitiga, L= ', num2str(L), 'satuan ']);
case 2
disp(' ')
s=input('sisi = ');
L=s*s;
disp(['Luas persegi, L= ' num2str(L), 'satuan ']);
case 3
disp(' ')
P=input('panjang = ');
l=input('lebar= ');
L=P*l;
disp(['Luas persegi. L= ', num2str(L), 'satuan']);
case 4
disp(' ')
R=input('jari-jari = ');
L=(22/7)*R*R;
disp(['Luas lingkaran, L= ', num2str(L), 'satuan ']);
otherwise
disp('pilihan anda tidak sesuai ')
end
disp(' '

Setelah program selesai disusun, simpan file Matlab. Kemudian eksekusi


program pada jendela Command Window Matlab, berikan pilihan nilai yang
diminta pada Program, seperti berikut :

Program menghitung Luas dengan Pilihan 1

program menghitung Luas


1. segitiga
2. persegi
3. persegi panjang
4. lingkaran
Berikan pilihan 1-->4
berikan pilihan anda = 1
Alas= 3
Tinggi = 7
Luas segitiga, L= 10.5satuan

3|Lap.Prak.Algo
Program Menghitung Luas dengan pilihan 2 :
program menghitung Luas
1. segitiga
2. persegi
3. persegi panjang
4. lingkaran
Berikan pilihan 1-->4
berikan pilihan anda = 2
sisi = 5
Luas persegi, L= 25satuan

Program Menghitung Luas dengan pilihan 3 :


program menghitung Luas
1. segitiga
2. persegi
3. persegi panjang
4. lingkaran
Berikan pilihan 1-->4
berikan pilihan anda = 3
panjang = 4
lebar= 7
Luas persegi. L= 28satuan

Program Menghitung Luas dengan pilihan 4 :


program menghitung Luas
1. segitiga
2. persegi

4|Lap.Prak.Algo
3. persegi panjang
4. lingkaran
Berikan pilihan 1-->4
berikan pilihan anda = 4
jari-jari = 4
Luas lingkaran, L= 50.2857satuan

1.3 Volume Bangun Ruang


Untuk menghitung Volume bangun ruang pada program Matlab, disusun
pada jendela Editor/debugger dan mengeksekusi program pada jendela Command
Window seperti program berikut :

%program menggunakan perintah switch


%menghitung volume bangun ruang
%pilihan menggunakan input bilangan
disp ('program menghitung volume bagun ruang')
program menghitung volume bagun ruang
disp ('1. limas');
1. limas
disp ('2. kubus');
2. kubus
disp ('3. balok');
3. balok
disp ('4. bola');
4. bola
disp('')
disp('berikan pilihan 1-4');
berikan pilihan 1-4
pilih=input('berikan pilihan anda=','s');
berikan pilihan anda=3
switch pilihan
case 'limas'
disp ('')

5|Lap.Prak.Algo
r=input('jari-jari=');
t=input('tinggi=');
v=[(1/3)*(22/7)*r*r*t;
disp(['volume limas,v='num2str(v),'satuan']);
reserved keyword "case".
switch pilihan
case 'kubus'
disp('')
s=input('sisi=');
v=s*s*S;
disp(['volume kubus,v='num2str(v),'satuan']);
switch pilihan
case 'balok'
disp('')
p=input('panjang=');
i=input('lebar=');
t=input('tinggi=');
v=p*i*t;
disp(['volume balok, v=',num2str(v),'satuan']);
switch pilihan
case 'bola'
disp('')
r=input('jari-jari=');
v=4/3*22/7*r*r*r;
disp (['volume bola,v=',num2str(v),'satuan']);
otherwise
disp('pilihan anda tidak sesuai')
end
disp('')

B. Analisis Data

Berdasarkan hasil analisis data yang dilakukan, terjadi kesalahan pada saat
mengeksekusi program. Kesalahan terjadi pada saat menyusun program di jendela
Editor/debugger.

6|Lap.Prak.Algo
%Program menggunakan perintah switch

%Menghitung volume bangun ruang

%Pilihan menggunakan input bilangan

clear;

clc;

disp(' ')

disp('program menghitung Volume Bangun Ruang')

disp('1. Limas');

disp('2. Kubus');

disp('3. Balok');

disp('4. Bola');

disp(' ')

disp('Berikan pilihan 1-->4 ');

pilih=input('berikan pilihan anda = ','s');

disp(' ')

switch pilih

case 'limas'

disp(' ')

R=input('Jari-jari= ');

T=input('Tinggi = ');

V=[(1/3)*(22/7)*R*R*T;

disp(['Volume Limas, V= ', num2str(V), 'satuan ']);

case 'kubus'

disp(' ')

S=input('sisi = ');

V=S*S*S;

disp(['Volume Kubus, V= ' num2str(V),' satuan ']);

case 'Balok'

disp(' ')

P=input('panjang = ');

l=input('lebar = ');

7|Lap.Prak.Algo
T=input('tinggi = ');

V=P*l*T;

disp(['Volume Balok, V= ', num2str(V), 'satuan ']);

case 'Bola'

disp(' ')

R=input('jari-jari = ');

V=4/3*(22/7)*R*R*R;

disp(['Volume Bola, V= ', num2str(V),'satuan ']);

otherwise

disp('pilihan anda tidak seuai ')

end

disp(' ')

Pada saat program di eksekusi pada jendela Command Window, muncul


pemberitahuan error seperti berikut :

To get started, select "MATLAB Help" from the Help


menu.

>> prog_vol_bangun_ruang

??? Error: File:


C:\MATLAB6p1\work\prog_vol_bangun_ruang.m Line: 24
Column: 5

Illegal use of reserved keyword "case".

>>

Diketahui dari error yang ditunjukkan pada jendela Command window,


kesalahan terjadi pada baris 24 dan kolom 5. Diberitahukan bahwa kata kunci
“case” yang digunakan adalah illegal.

C. Simpulan

1. Struktur switch…case…otherwise…end adalah pemrograman pemilihan dan


merupakan bagian dari pemrograman keputusan. Adapun strukturnya yaitu :

8|Lap.Prak.Algo
Switch lower (method)

case{‘linier’,’bilinier’}

disp(‘Method is linier’)

case’cubic’

disp(‘Method is nearest’)

otherwise

disp(‘Unknown methode’)

end

2. Menyusun dan mengeksekusi perintah switch…case…otherwise…end


dilakukan dengan menyusun program seperti pada umunya, hanya saja pada
program switch ini diberikan pilihan-pilihan sehingga nanti saat mengeksekusi
program dapat ditampilkan pilihan-pilihan berdasarkan input yang dimasukkan.

D. Tugas

Modifikasi program yang ada dengan pilihan perhitungan : gerak lurus beraturan
(GLB), gerak lurus beraturan (GLBB), gerak jatuh bebas (GJB), gerak dilempar
vertical ke atas (GLVA), dan gerak dilempar ke bawah ke bawah (GLVB)
menggunakan masukan berupa bilangan dan masukan berupa teks.

Jawab :

%program menggunakan perintah switch


%menghitung gerak
%pilihan menggunakan input bilangan
%
clear;
clc;
disp(' ')
disp('program menghitung gerak');
disp('1.GLB');
disp('2.GLBB');
disp('3.GJB');
disp('4.GLVA');
disp('5.GLVB');
pilih=input('pilihan= ');
disp(' ')
switch pilih
case 'GLB'
disp(' ')

9|Lap.Prak.Algo
v=input('kecepatan= ');
t=input('waktu= ');
a=[v*t];
disp(['jarak tempuh mobil ,a= 'num2str(a),' m ']);
case 'GLBB'
disp(' ')
v0=input('kecepatan awal= ');
vt=input('kecepatan akhir= ');
t1=input('waktu1= ');
t2=input('waktu2= ');
a=(vt-v0)/t
a=(v0*t2)+1/2*(a*t2.^2);
disp(['jarak tempuh pengendara ,a= 'num2str(a),' m ']);
case 'GJB'
disp(' ')
h0=input('tinggi awal= ');
g=input('gravitasi= ');
t=input('waktu= ');
ht1=(1/2)*g*t.^2;
ht2=h0-ht;
disp(['ketinggian benda ,ht2= ',num2str(ht2), 'm']);
case 'GLVA'
disp(' ')
v0=input('kecepatan awal= ');
g=input('gravitasi= ');
t=input('waktu= ');
h=(v0*t)-(1/2)*g*t^2;
disp(['ketinggian,h= ',num2str(h),'m']);
case 'GLVB'
v0=input('kecepatan awal= ');
g=input('gravitasi= ');
h=input('ketinggian= ');
t=input('waktu= ');
vt=v0*g*t;
disp(['kecepatan benda ,vt= ',num2str(vt),'m/s']);
otherwise
disp('pilihan anda tidak sesuai')
end
disp(' ')

Hasil eksekusi program yang telah disimpan seperti berikut :


program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA

10 | L a p . P r a k . A l g o
5.GLVB
pilihan= 'GLB'
kecepatan= 15
waktu= 3
jarak tempuh mobil ,a= 45 m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLBB'
kecepatan awal= 15
kecepatan akhir= 12
waktu1= 6
waktu2= 4
percepatan= 3
jarak tempuh pengendara ,a= 84 m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GJB'
tinggi awal= 15

11 | L a p . P r a k . A l g o
gravitasi= 10
waktu= 5
ketinggian akhir= 12
ketinggian benda ,ht2= 3m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLVA'
kecepatan awal= 20
gravitasi= 10
waktu= 5
ketinggian,h= -25m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLVB'
kecepatan awal= 15
gravitasi= 10
ketinggian= 12
waktu= 6

12 | L a p . P r a k . A l g o
kecepatan benda ,vt= 900m/s

13 | L a p . P r a k . A l g o

Anda mungkin juga menyukai