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