BAG3(flowchart)

advertisement
DIAGRAM ALUR (FLOWCHART)
Diagram alur (flowchart) dari suatu program adalah suatu diagram yang
menggambarkan langkah-langkah serta logika program tersebut untuk mencapai
suatu tujuan. Simbol symbol yang digunakan dalam pembuatan diagram alur, telah
ditetapkan oleh American National Standarts Institute (ANSI) sebagai berikut :
Adalah simbol untuk START dan
Adalah simbol untuk
INPUT
END
dan OUT PUT
Adalah simbol untuk perhitungan/OPERASI
.
Adalah simbol pilihan keputusan. IF … THEN
Simbol perintah FOR … NEXT
Simbol sambungan diagram, tapi masih dalam satu
Halaman kertas
Simbol sambungan bila berbeda halaman, karena
Mungkin diagramnya terlalu panjang.
Contoh 1
: Diagram alur dari program mencari Y bila harga X diketahui
26
sehingga memenuhi fungsi :
Y 
Diagram alurnya :
START
INPUT X
END
Contoh
10 CLS : KEY OFF
20
20 INPUT “Nilai X = “;X
30
30 IF X = 0 THEN 70
YA
TIDAK
PRINT Y
Programnya :
10
X=0 ?
Y = 1/X
1
X
PRINT “NO”
70
40 Y = 1/X
50 PRINT “Harga Y = “;Y
40
60 END
50
70 PRINT “Tidak ada harga Y”
60
80 GOTO 60
: Program menghitung kuadrat dan pangkat 3 bilangan asli sampai 10.
START
10
10 CLS
20 I = 1
20
I=1
30 PRINT I^2 , I^3
40 IF I=10 GOTO 50 ELSE GOTO 60
PRINT
I^2, I^3
I = 10 ?
YA
END
30
TIDAK
40
50 END
60 I = I + 1 : GOTO 30
I=I+!
60
50
Catatan : baris 60 I = I + 1 adalah menghitung
Contoh : Mencari rata-rata sejumlah bilangan
27
I
START
5
5 CLS
10 INPUT “Banyaknya bilangan = “;N
10
INPUT N
20 FOR I = 1 TO N
20
I = 1 TO N
25 READ X
30 JL = JL + X
25
40 NEXT I
READ X
50 RT = JL/N
60 PRINT “Rata-rata = “;RT
30
JL=JL+X
70 END
40
80 DATA 15, 23, 43, 54, 71
NEXT X
Catatan : pada baris 30 JL = JL + X , adalah
50
RT = JL/N
menjumlahkan bilangan X.
DATA dapat diletakkan pada sembarang
PRINT RT
60
baris. Sebaiknya pada baris pertama atau
70
pada baris terakhir.
END
Untuk masukan “Banyaknya bilangan = “, hitung dulu
Banyaknya bilangan pada baris 80.
II.
Bentuk lain flowchart dan program di atas adalah seperti berikut ini. Program dapat dijalankan tanpa menghitung banyaknya
data terlebih dahulu.
10
START
F
READ X
JL=JL+X
20
YES
30
YES
RT=JL/N
60
40
PRINT RT
IF X=0
NO
F
N=N+1
50
50
70
END
80
III.
28
10
20
30
40
50
60
70
80
90
CLS
READ X
JL = JL + X
IF X = 0 THEN 60
N = N + 1 : GOTO 20
RT = JL/N
PRINT “Rata-rata = “; RT
END
DATA 15, 23, 43, 54, 71, 0
Mencari rata-rata sejumlah bilangan bisa juga dengan meng-input datanya, artinya datanya
bukan bagian dari program seperti contoh I dan II di atas.
Diagram alur
Programnya
10
START
10 PRINT “==========================”
N=N+1
INPUT X
20
13 PRINT “Mencari rata_rata sejumlah bilangan”
30
15 PRINT “==========================”
20 N = N + 1
JL=JL+X
40
30 PRINT “DATA KE- “; N ; : INPUT X
50
40 JL = JL + X
Y/T ?
YA
50 INPUT “Masih ada data <Y/T> “; Y$
TDK
55 IF Y$ = “Y” THEN 20
RT=JL/N
60
60 RT = JL/N
70 PRINT “Rata-rata bilangan = “; RT
PRINT RT
70
80 END
END
80
Diakhiri dengan “titik koma” ( ; ), supaya tampilannya di layar muncul dalam satu baris.
Dilanjutkan dengan tanda “titik dua “ ( : ), karena pada baris 30 tersebut terdapat dua
perintah. Ingat satu nomor baris harus satu perintah. Bila ada lebih dari satu perintah dalam
satu nomor baris, harus dibatasi dengan “ titik dua “ ( : ). Program di atas tidak membatasi
banyaknya bilangan.
Baris 20 menghitung sedangkan baris 40 menjumlahkan bilangan X yang masuk.
Contoh III di atas kelihatannya masih cukup merepotkan, karena setiap kali sebelum data
dimasukkan selalu minta input Y atau T. Dapat dibuat program lain seperti berikut.
29
10
START
10 PRINT
INPUT N
I = 1 TO N
“============================”
20
30
13 PRINT “MENCARI RATA-RATA
BILANGAN”
INPUT X
40
15 PRINT
“=============================”
JL=JL+X
NEXT I
50
20 INPUT “BANYAKNYA DATA = “; N
60
30 FOR I = 1 TO N
40 PRINT “DATA KE – “; I ;: INPUT X
RT=JL/N
PRINT RT
70
50 JL = JL + X
80
60 NEXT I
90
70 RT = JL/N
END
80 PRINT “RATA-RATA = “ ; RT
90 END
Contoh : Mencari harga factorial dari N bilangan ( N! = ? ).
START
10
10 CLS
20 INPUT “BILANGAN “ ; N
INPUT N
20
25 F # = 1
V
F# = 1
I = 1 TO N
25
30 FOR I = 1 TO N
30
40 F# = F# * I
PRINT F#
F #= F# * 1
40
50 NEXT I
60 PRINT N;” ! = “; F#
NEXT I
60
END
50
V
70 END
30
70
Perhatikan baris 30, F# = F# * I artinya mengalikan bilangan I. Karena I = 1, 2, 3,
4, … . maka F# akan menhasilkan 1 x 2 x 3 x 4 x …
Contoh : Menentukan Nilai Mata Kuliah Komputer A, B, C, D atau E, bila skor nilai
Aktivitas, Tugas Tersrtuktur, Mid smester dan ujian Semester diketahui,
untuk tiap mahasiswa.
10
START
F
G
READ
NM$,A,T, M,S
20
80
ST<50
N$=”E”
Y
NM$=”0”
Y
T
ST =0.1*A+0.3*T+0.2*M
+0.4*S
25
40
ST ≥ 85
90
30
L
T
END
95
GOTO 20
PRINT
NM$,A,T,M,S,ST,N$
G
N$=”A”
Y
T
75≤ST<85
50
N$=”B”
Y
T
60≤ST<75
T
50≤ST<60
T
60
N$=”C”
Y
70
N$=”D”
Y
L
F
10 PRINT “N A M A”;TAB(10)”AKTV”;TAB(20)”TT”;TAB(30)”MID”;TAB(40)”SMTR”;
TAB(50)”SKOR”;TAB(60)”NILAI”
31
20 READ NM$, A, T, M, S
25 IF NM$=”0” THEN END
30 ST = 0.1*A+0.3*T+0.2*M+0.4*S
40 IF ST=85 OR ST>85
THEN N$=”A” : GOTO 95
50 IF ST=75 OR ST>75 AND ST<85 THEN N$=”B” : GOTO 95
60 IF ST=60 OR ST>60 AND ST<75 THEN N$=”C” : GOTO 95
70 IF ST=50 OR ST>50 AND ST<60 THEN N$=”D” : GOTO 95
80 IF ST < 50
THEN N$=”E” : GOTO 95
90 GOTO 20
95 PRINT NM$;TAB(10)A;TAB(20)T;TAB(30)M;TAB(40)S;TAB(50)ST;TAB(60)N$
100 DATA AMINAH,60, 75, 85, 67, BUDIMAN, 75, 86, 75, 83, CUCUK, 65, 75, 85,
95,
DUDUNG, 56, 48, 48, 49, ELIATI, 76, 77, 88, 99, FITRI, 65, 54, 52, 50,
0,0,0,0,0
Tekan F2
HASILNYA
NAMA
AMINAH
BUDIMAN
CUCUK
DUDUNG
ELIATI
FITRI
AKTV
60
75
65
56
76
65
TT
75
86
75
48
77
54
MID
85
75
85
48
88
52
32
SMTR
67
83
95
49
99
50
SKOR
72.3
81.5
84
49.2
87.9
53.1
NILAI
C
B
A
E
A
D
LATIHAN –LATIHAN :
Buatlah diagram alur dan programnya untuk menyelesaikan hal-hal berikut :
1. Carialh harga Y bila harga X diketahui sehingga :
a).
Y  X2  5X  6
b).
Y 
c).
Y 
5
X 2
X 7
2. Mencari luas suatu lingkaran dengan jari-jari R.
3. Mencari akar-akar suatu persamaan kuadrat.
4.
Usaha foto copy LIA membuat aturan sebagai berikut. Jika foto copy sampai
dengan 75 lembar harganya Rp. 125,-/perlembar. Bila foto copy lebih dari 75
lembar maka harganya Rp. 115,- perlembar. Buatlah diagram alur biaya foto
copy tersebut.
5. Soal seperti nomor 4 di atas. Usaha foto copy LIA memberikan keringanan bagi
pelanggan tetap, yaitu Rp. 105,- perlembar. Buatlah diagram alur dan program
menghitung biaya foto copy LIA tersebut.
6. Misalkan saudara adalah guru SMU mengajar Matematika. Untuk nilai akhir
siswa dalam Matematika tersebut, saudara melakukan penilaian : melihat
aktivitas siswa, ulangan harian sebanyak 3 kali dan ulangan umum. Skor
penilaian di atas adalah 15% untuk aktivitas, 25% untuk rata-rata ulangan
harian dan 60% untuk ulangan umum. Nilai yang sudara berikan dalam bentuk
bilangan 1 – 10, dengan rumus : Nilai 
33
TOTAL  SKOR
10
Download