Anda di halaman 1dari 17

BAB 7

PROGRAM DENGAN INSTRUKSI


PILIHAN CASE

A.Tujuan Pembelajaran.
1. Menyusun program komputer dengan instruksi pilihan case.

B.Teori
Instruksi case digunakan sebagai instruksi pilihan yang dipakai untuk
memilih suatu proses dari beberapa kemungkinan proses berdasarkan nilai dari
variabel kontrol. Intruksi yang sering digunakan untuk logika pengambilan
keputusan atau pilihan case adalah:

Case variabel
Nilai_1 : proses1;
Nilai_2 : proses2;
Nilai_3 : proses3;
...
Nilai_n : prosesn;
End case

Keterangan:
x Kemungkinan atau proses yang akan dikerjakan ada n pilihan, proses1,
proses2 sampai prosesn.
x Jika nilai variabel 1 maka akan dikerjakan proses1, jika variabel bernilai 2
maka akan dikerjakan proses2 dan sterusnya sampai kemungkinan variabel
bernilai n.

C.Contoh Program sederhana


Coding:
clc;
disp('Pilihan');
disp('1.Jeruk;2.Mangga;3.Sirsak');
p=input('Pilihan : ');
switch p
case 1
disp('Pilihan anda:Jeruk');
case 2
disp('Pilihan anda:Mangga');
case 3
disp('Pilihan anda:Sirsak');
end

40 Sahyar Econophysics Unimed Medan


Output program:
Pilihan
1.Jeruk;2.Mangga;3.Sirsak
Pilihan : 3
Pilihan anda:Sirsak

D.Contoh Program aplikasi


Program : Penentuan gaji berdasar golongan.
1. Defenisi Masalah

x Penentuan gaji berdasar golongan.

Golongan Gaji

1 2.500.000

2 3.500.000

3 4.500.000

4 5.500.000

2. Struktur Data
Unit Variabel Type of data Keterangan
Nama nm Text Input data
Golongan gol Numeric Input data
Gaji gaji Numeric Output data

3. Algoritma program
a. Start
b. Input data
Input nm
Input gol
c. Process
Case gol
Case 1
GajiÅ2500000;
Case 2
Gaji Å3500000;
Case 3
Gaji Å4500000;

41 Sahyar Econophysics Unimed Medan


Case 4
Gaji Å5500000;
end

d. Output data
Write (nm);
Write (gol);
Write(gaji);
e. Stop

4. Coding In MatLab

%Input Golongan
nm=input(' Input nama anda =','s');
gol =input(' Golongan anda = ');

%Process
switch gol
case 1
gaji= 2500000;
case 2
gaji =3500000;
case 3
gaji =4500000;
case 4
gaji =5500000;
end
%Output
disp(['Nama anda = ',nm]);
fprintf('\n Golongan anda =%4.0f',gol);
fprintf(‘\n Gaji anda = Rp %9.2f’,gaji);

5. Testing and Verification


Pengujian 1
Input Nama Anda = Ali
Input Golongan Anda = 1

Nama anda = Ali


Golongan anda = 1
Gaji anda = Rp 2500000.00

Pengujian 2
Input Nama Anda = Badu

42 Sahyar Econophysics Unimed Medan


Input Golongan Anda = 2

Nama anda = Badu


Golongan anda = 2
Gaji anda = Rp 3500000.00

Pengujian 3
Input Nama Anda = Syarif
Input Golongan Anda = 3

Nama anda = Syarif


Golongan anda = 3
Gaji anda = Rp 4500000.00

E.Latihan
1. Rancanglah program komputer menu dengan pilihan menu sebagai berikut:
a. Pilihan=1, program akan menghitung luas segitiga
b. Pilihan=2, program akan menghitung luas persegi panjang.
c. Pilihan=3, pogram akan menghitung luas trapesium.
d. Pilihan=4, program selesai.
2. Rancanglah program komputer menu dengan pilihan menu sebagai berikut:
a. Pilihan=1, program akan menghitung usaha
b. Pilihan=2, program akan menghitung energi kinetik.
c. Pilihan=3, pogram akan menghitung energi potensial pegas.
d. Pilihan=4, program selesai.
3. Rancanglah program komputer menu dengan pilihan menu sebagai berikut:
a. Pilihan=1, program akan menghitung gaji pegawai tetap. Komponen
gaji: gaji pokok, tunjangan, potongan.
b. Pilihan=2, program akan menghitung gaji pegawai honor. Komponen
gaji: gaji pokok, gaji lembur, potongan.
c. Pilihan=3, pogram akan menghitung gaji pegawai borongan.
Komponen gaji: tarif borongan, jumlah borongan, potongan.
d. Pilihan=4, program selesai.

43 Sahyar Econophysics Unimed Medan


BAB 8
PROGRAM DENGAN INSTRUKSI
PERULANGAN FOR

A.Tujuan Pembelajaran
1. Menyusun program komputer dengan instruksi perulangan for
B.Teori
Instruksi perulangan for digunakan untuk mengulang suatu proses dengan
menggunakan variabel kendali dengan batas nilai awal dan nilai akhir variabel.
Jumlah perulangan dengan menggunkan kontrol for dapat diketahui.
Karakteristik perulangan for:
x Proses perulangan stop jika nilai variabel kendali telah mencapai batas
nilai akhir.
x Nilai variabel kedali berubah secara teratur.
x Jumlah perulangan dapat diketahui.

Flowchart Perulangan For

Var = awal

Var<= akhir

T
F Instruksi-instruksi

Var = var + n

Gambar 8.1. Flowchart For

44 Sahyar Econophysics Unimed Medan


Bentuk umum
for (var = awal to akhir step n )
……………….
Instruksi-instruksi
………………..
endfor
Keterangan :

1. Variabel perulangan (var ) harus bertipe dasar (integer, real, atau char )
2. Nilai awal harus lebih kecil dari akhir bila n > 0 ( positif )
3. Nilai awal harus lebih besar dari akhir bila n <0 ( negatif )
4. Mula-mula variabel var bernilai awal, kemudian setiap satu kali putaran
maka nilai var bertambah sebesar n.
5. Perulangan akan berhenti apabila nilai var sudah mencapai akhir.

C.Contoh program sederhana


1.Perulangan satu loop

Contoh 1.
clc;
for k=1:5
disp([num2str(k),'.Sukses']);
end

output program:
1.Sukses
2.Sukses
3.Sukses
4.Sukses
5.Sukses

Contoh 2.
clc;
for k=1:2:15
disp([num2str(k),'.Sukses']);
end

output program:
1.Sukses
3.Sukses
5.Sukses
7.Sukses

45 Sahyar Econophysics Unimed Medan


9.Sukses
11.Sukses
13.Sukses
15.Sukses

Contoh 3.
clc;
for k=20:-3:0
disp([num2str(k),'.Sukses']);
end

output program:
20.Sukses
17.Sukses
14.Sukses
11.Sukses
8.Sukses
5.Sukses
2.Sukses

2.Perulangan berlapis (dua loop)

clc;
for k=1:5;
disp(['Nilai k= ',num2str(k)]);
for j=2:3:10;
disp([num2str(j),'.Sukses']);
end
end

output program:
Nilai k= 1
2.Sukses
5.Sukses
8.Sukses
Nilai k= 2
2.Sukses
5.Sukses
8.Sukses
Nilai k= 3
2.Sukses
5.Sukses
8.Sukses

46 Sahyar Econophysics Unimed Medan


Nilai k= 4
2.Sukses
5.Sukses
8.Sukses
Nilai k= 5
2.Sukses
5.Sukses
8.Sukses

D. Contoh program aplikasi.


Contoh Program 1: Menentukan suku-suku dan jumlah deret.

1. Defenisi masalah
x Menentukan suku-suku deret.
x Menentukan total suku-suku deret
2. Struktur Data
Unit Variabel Type of data Keterangan
Suku awal a Numeric Input data
Beda b Numeric Input data
Banyak suku n Numeric Input data
suku s Numeric Output data
Total total Numeric Output data

3. Algorithm program
a. Start
b. Input data
Input a
Input b
Input n
c. Process
TotalÅ0;
sÅa;
for kÅ1:n
totalÅtotal+s;
cetak(s)
sÅs+b
end
d. Output data
cetak(total)
e. Stop

47 Sahyar Econophysics Unimed Medan


4. Coding
%Deret Aritmatika
%Input
a=input('Suku awal =');
b=input('Beda suku =');
n=input('Banyak suku =');
%Process
disp('Suku-suku deret ');
total=0;
s=a;
for k= 1:n
total=total+s;
disp(['Suku ',num2str(k),'= ',num2str(s)]);
s=s+b;
end
%Output
disp(['Total = ',num2str(total)]);

5. Testing and Verification


Pengujian 1
Suku awal =5
Beda suku = 4
Banyak suku =5
Suku 1= 5
Suku 2= 9
Suku 3= 13
Suku 4= 17
Suku 5= 21
Total = 65

Pengujian 2.
Suku awal =6
Beda suku =-3
Banyak suku =5

Suku 1= 6
Suku 2= 3

48 Sahyar Econophysics Unimed Medan


Suku 3= 0
Suku 4= -3
Suku 5= -6
Total = 0

Pengujian 3
Suku awal =10
Beda suku =0
Banyak suku =5
Suku 1= 10
Suku 2= 10
Suku 3= 10
Suku 4= 10
Suku 5= 10
Total = 50

E.Latihan

1. Rancang program komputer untuk menampilkan suku deret dan jumlah total
suku deret ke n untuk deret: 3, 5, 8, 12, 17,...
2. Rancang program komputer untuk menampilkan suku deret dan jumlah total
suku deret ke n untuk deret: 4, 7, 17, 20, 30, 33,...
3. Rancang program komputer untuk menampilkan nilai variasi kecepatan dan
energi kinetik Ek= ½ m v2 dalam bentuk tabel. Jika diketahui: massa
konstan, jumlah variasi n, interval kecepatan d, dan kecepatan awal v =0.
4. Rancang program komputer untuk menampilkan variasi nilai periode waktu,
modal awal, besar bunga, dan modal akhir dalam bentuk tabel. Jika diketahui
rumus bunga majemuk: M = Mo (1 + i)n. M= modal akhir ; Mo=modal awal,
i=bunga tiap periode dalam pesen, dan n=periode.

49 Sahyar Econophysics Unimed Medan


BAB 9
PROGRAM DENGAN INSTRUKSI
PERULANGAN WHILE

A.Tujuan Pembelajaran
1. Menyusun program komputer menggunakan instruksi perulangan while.
B.Teori
Instruksi perulangan while digunakan untuk mengulang suatu proses
dengan cara pengecekan nilai kondisi (benar atau salah), selagi kondisi benar
maka proses perulangan akan tetap berjalan dan stop jika kondisi salah.
Karakteristik perulangan while :
x Kondisi bertipe boolean.
x Proses perulangan akan berjalan selagi kondisi benar dan akan stop jika
kondisi salah.
x Nilai variabel kondisi dikendalikan pada proses perulangan.
x Jumlah perulangan tidak penting diketahui.

Flowchart perulangan While

kondisi

F T

Instruksi-instruksi

Gambar 9.1. Flowchart While


While (kondisi) do
...........................
Instruksi-instruksi
...........................
End while

50 Sahyar Econophysics Unimed Medan


Keterangan :
1. Instruksi-instruksi akan diulangi selagi kondisi benar, dan ketika kondisi
salah maka perulangan berhenti.
2. Intruksi-instruksi dikerjakan setelah kondisi diperikasa.
3. Harus ada satu instruksi yang mendahului while agar kondisi terpenuhi
sehingga perulangan bisa berlangsung.
4. Harus ada instruksi di antara instruksi yang diulang sehingga pada
akhirnya dapat mengubah kondisi menjadi tidak terpenuhi (salah) sehingga
perulangan dpat berhenti.
5. Apabila di awal pelaksanaan kondisi tidak terpenuhi (salah) maka
instruksi-instruksi tidak dikerjakan sama sekali.

C.Contoh program sederhana


Contoh 1
clc;
a=10;
b=0;
while a>b
disp([num2str(b),'.Sukses']);
b=b+2;
end
Output program:
0.Sukses
2.Sukses
4.Sukses
6.Sukses
8.Sukses
Proses perulangan berhenti ketika nilai b=12

D. Contoh aplikasi program.


Contoh Program 1:
1. Defenisi masalah
x Menentukan variasi kecepatan gerak lurus berubah beraturan dengan
variasi waktu.

2. Struktur Data
Unit Variabel Type of data Keterangan
Kecepatan awal vo Numeric Input data
Percepatan a Numeric Input data
Lama pengamatan lp Numeric Input data

51 Sahyar Econophysics Unimed Medan


Interval waktu d Numeric Input data
Waktu t Numeric Output data
Kecepatan v Numeric Output data

3. Algorithm program
a. Start
b. Input data
Input vo
Input a
Input lp
Input d
c. Process and output
tÅ0;
while t <= lp
vÅvo+ a*t;
cetak (k,t,v)
tÅt+d;
end
d. Stop

4. Coding
%Tabel Kecepatan glbb
%Input
clc;
vo =input('Kecepatan awal =');
a =input('Percepatan =');
lp =input ('Lama pengamatan =');
d =input ('Interval waktu = ');
%Process
disp('Nomor Waktu Kecepatan ');
disp(‘---------------------------------------‘);
t=0;
k=1;
while t<=lp
v=vo+ a*t;
fprintf('\n %4.0f %8.2f %8.2f ',k,t,v);
t=t+d;
k=k+1;
end

52 Sahyar Econophysics Unimed Medan


5. Testing and Verification
Pengujian 1
Kecepatan awal =10
Percepatan =2
Lama pengamatan =4
Interval waktu = 0.5
Nomor Waktu Kecepatan
---------------------------------------
1 0.00 10.00
2 0.50 11.00
3 1.00 12.00
4 1.50 13.00
5 2.00 14.00
6 2.50 15.00
7 3.00 16.00
8 3.50 17.00
9 4.00 18.00

Pengujian 2.
Kecepatan awal =20
Percepatan =-2
Lama pengamatan =3
Interval waktu = 0.4
Nomor Waktu Kecepatan
---------------------------------------
1 0.00 20.00
2 0.40 19.20
3 0.80 18.40
4 1.20 17.60
5 1.60 16.80
6 2.00 16.00
7 2.40 15.20
8 2.80 14.40

Pengujian 3.
Kecepatan awal =2.8
Percepatan =1.5
Lama pengamatan =6

53 Sahyar Econophysics Unimed Medan


Interval waktu = 1
Nomor Waktu Kecepatan
---------------------------------------
1 0.00 2.80
2 1.00 4.30
3 2.00 5.80
4 3.00 7.30
5 4.00 8.80
6 5.00 10.30
7 6.00 11.80

Contoh Program 2
1. Defenisi masalah
x Mengulang Esekusi progam komputer
2. Input and output data
Unit Variabel Type of data Keterangan
Jawab jb Text Input data
Program Program komputer yang
akan diulang

3. Algorithm program

a. Start
b. Input data
Input jb
c. Process and output
jbÅ’y’
while (jb=’y’) or (jb=’Y’) do
Computer program
end
d. Stop

4. Coding
%Deret Aritmatik
jb='y';
while (jb=='y')|(jb=='Y')
clc;
a=input('Suku awal =');

54 Sahyar Econophysics Unimed Medan


b=input('Beda suku =');
n=input('Banyak suku =');
disp('Suku-suku deret ');
total=0;
s=a;
for k= 1:n
total=total+s;
disp(['Suku ',num2str(k),'= ',num2str(s)]);
s=s+d;
end
%Output
disp(['Total = ',num2str(total)]);

jb=input('Dilanjutkan ? y/n = ','s');


end

5. Testing and Verification


Pengujian 1
Suku awal =3
Beda suku =3
Banyak suku =4
Suku-suku deret
Suku 1= 3
Suku 2= 4
Suku 3= 5
Suku 4= 6
Total = 18
Dilanjutkan ? y/n =

Pengujian 2
Suku awal =4
Beda suku =12
Banyak suku =5
Suku-suku deret
Suku 1= 4
Suku 2= 5
Suku 3= 6
Suku 4= 7

55 Sahyar Econophysics Unimed Medan


Suku 5= 8
Total = 30
Dilanjutkan ? y/n =

E.Latihan

1. Rancang program komputer untuk menampilkan variasi nilai x dan y dalam


bentuk tabel dari rumus : y = a x3 + bx. Diketahui : a, b: konstan; interval x: d,
batas x: x1 sampai x2.
2. Rancang progam komputer untuk menampilkan variasi jarak tempuh glbb
dalam bentuk tabel. Jika diketahui: lama pengamatan t dan interval waktu d,
percepatan a, dan kecepatan awal vo
3. Rancang program komputer untuk menampilkan suku deret dan jumlah total
suku deret ke n untuk deret: 4, 6, 9, 13, 18,.... Program akan berhenti setelah
jumlah total suku >300.

56 Sahyar Econophysics Unimed Medan

Anda mungkin juga menyukai