Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Dasar Komputer & Pemrograman 2B
Fortran
2
Statement GOTO bersyarat
Statement GOTO bersyarat atau GOTO terhitung (Computed GOTO) Digunakan untuk mengontrol loncatan dari proses ke suatu label statement <slabel> tertentu, tergantung dari nilai ungkapan integer. BU : GOTO (<slabel>[,<slabel> …) [,] <i>
3
Cont.. Contoh : Character*1 BUNYI
Write (*,’(1x,A)’)’ << PILIHAN>>’ Write (*,*) Write (*,’(1x,A)’)’ 1. Menghitung isi silinder’ Write (*,’(1x,A)’)’ 2. Menghitung luas segitiga’ Write (*,’(1x,A)’)’ 3. Menghitung isi kubus’ Write (*,’(1x,A)’)’ 4. Selesai’ 15 Write (*,’(//,1x,A,\)’)’ Pilih Nomer (1-4) ?’ Read (*,(BN,I1)’) NOMER
4
Cont.. C C menuju ke label sesuai dengan nomer yang dipilih Write (*,*) GOTO (1000,2000,3000,4000) NOMER BUNYI = 7 Write (*, ‘(1x,A,A)’)’ SALAH PILIH!!, ULANGI’,BUNYI
5
Cont.. C C menghitung isi silinder 1000 Write (*,’(1X,A.\)’) ‘JARI-JARI LINGKARAN ?’ Read (*,’(BN,F7.2)’) R Write (*,’(1X,A.\)’) ‘TINGGI SILINDER ?’ Read (*,’(BN,F7.2)’) T XISI = * R **2 * T Write (*,’(/,1x,A,F7.2)’) ‘ ISI SILINDER = ‘,XISI
6
Cont.. C C menghitung luas segitiga 2000 Write (*,’(1X,A.\)’) ‘PANJANG SISI DASAR ?’ Read (*,’(BN,F7.2)’) S Write (*,’(1X,A.\)’) ‘TINGGI SEGITIGA ?’ Read (*,’(BN,F7.2)’) T XLUAS = 0.5 *S * T Write (*,’(/,1x,A,F7.2)’) ‘ LUAS SEGITIGA = ‘,XLUAS
7
Cont.. C C menghitung isi kubus
3000 Write (*,’(1X,A.\)’) ‘PANJANG SISI KUBUS ?’ Read (*,’(BN,F7.2)’) S XISI = S * S * S Write (*,’(/,1x,A,F7.2)’) ‘ ISI KUBUS = ‘,XISI GOTO 4000
8
Cont.. C C selesai 4000 CONTINUE END
9
DO INTEGER*2 X DO 15 X = 1, 100 Y = 2.75 ** X WRITE (*, 25) X, Y IF (Y .GT. 100) THEN STOP ENDIF 15 CONTINUE 16 FORMAT (1X, ‘ X = ‘,I3,’ Y = ‘ ,F7.2) END
10
Statement IF Statement yang digunakan untuk menyeleksi suatu kondisi atau syarat dan proses akan melakukan suatu tindakan tertentu bila kondisi yang diseleksi benar dan akan melakukan tindakan yang lainnya bila kondisi yang diseleksi tidak benar.
11
Statement IF Logika (logical IF)
Digunakan untuk menyeleksi suatu ungkapan logika atau ungkapan hubungan dan jika kondisinya benar (.TRUE.) maka statement yang mengikutinya akan diproses. Sebaliknya bila ungkapan logika atau ungkapan hubungan yang seleksi tersebut salah (.FALSE.), maka yang proses akan dilanjutkan ke statement lainnya. BU : IF (<expression>) <statement>
12
Cont.. CHARACTER*10 JAWAB WRITE (*,”(1X,A)’) ‘SAYA MEMPUNYAI 8598 KELERENG’ WRITE (*,”(1X,A)’) ‘SAYA SBAGIKAN KEPADA 1228 ANAK’ WRITE (*,”(1X,A)’) ‘TIAP ANAK DAPAT 7 BUAH’ WRITE (*,”(1X,A)’) ‘DAN SISANYA SAYA SIMPAN SENDIRI’ WRITE (*,”(1X,A)’) ‘DALAM ISTILAH KOMPUTER DISEBUT DENGAN’ WRITE (*,”(1X,A)’) ‘MODULO 7 DAN SISA PEMBAGIAN DISEBUT’ WRITE (*,”(1X,A)’) ‘DENGAN REMAINDER’ WRITE (*,*) WRITE (*,”(1X,A)’) ‘BERAPA REMAINDERNYA ? ’ READ (*,’(BN,I1)’) IREMAIN
13
Cont.. C sebelumnya jawaban anda dianggap salah terlebih dahulu JAWAB = ‘SALAH !!!’ C seleksi jawaban anda, bila benar jawaban anda diisi nilai benar IF (IREMAIN .EG. 2) JAWAB = ‘BENAR ...’ C tampilkan hasilnya WRITE (*, ‘(/, 1x, A, A10) ‘ JAWABAN ANDA ADALAH ‘,JAWAB END
14
Statement IF Arithmatika (arithmetic IF)
Digunakan untuk menyeleksi kondisi dari suatu ungkapan arithmatika, apakah bernilai negatif, nol atau positif. BU : IF (<expression>)<slabel1>,<slabel2>,<slabel3>
15
Cont.. Write (*,’(1X,A)’) ‘PROGRAM INI AKAN MENGHITUNG NILAI DARI’ Write (*,’(1X,A)’) ‘AKAR-AKAR PERSAMAAN KUADRAT : ‘ Write (*,’(1X,A)’) ‘ 2 ‘ Write (*,’(1X,A)’) ‘ AX + BX + C = 0 ‘ Write(*,*) 1 Write (*,’(1X,A,\)’) ‘ NILAI KOEFISIAN A ? ‘ READ (*,’(F7.2)’) A C C SELEKSI NILAI A TIDAK BOLEH SAMA DENGAN NOL’ IF (A .EQ. 0.0 ) GOTO 1 WRITE (*,’(1X,A,\)’) ‘NILAI KOEFISIEN B ? ‘ READ (*,’(F7.2)’) B WRITE (*, ‘(1X,A,\)’) ‘NILAI KOEFISIEN C ? ‘ READ (*,’(F7.2)’) C WRITE (*,*)
16
Cont.. C C HITUNG NILAI DARI DETERMINAN D = B**2 – 4*A*C C SELEKSI NILAI DARI DETERMINAN IF (D) 100, 125, 150
17
Cont.. C C NILAI DETERMINAN NEGATIF, BERARTI ADA 2 AKAR KOMPLEK BERLAINAN 100 Z1 = (-B) / (2*A) Z2 = SQRT (-D) / (2*A) WRITE (*,*) ‘ ADA 2 AKAR KOMPLEK BERLAINAN : ‘ WRITE ( *,*) ‘ ’ WRITE (*,’(1X, A, F7.2,A,F7.2,A)’) ‘X1 = ‘, Z1, ‘+’, Z2, ‘i’ WRITE (*,’(1X, A, F7.2,A,F7.2,A)’) ‘X2 = ‘, Z1, ‘-’, Z2, ‘i’ GOTO 1000
18
Cont.. C C NILAI DETERMINAN NOL, BERARTI ADA 2 AKAR REAL KEMBAR 125 X1 = (-B) / (2*A) WRITE (*,*) ‘ ADA 2 AKAR REAL KEMBAR : ‘ WRITE ( *,*) ‘ ’ WRITE (*,’(1X, A, F7.2)’) ‘X1 = X2 = ‘,X1 GOTO 1000
19
Cont.. C C NILAI DETERMINAN NOL, BERARTI ADA 2 AKAR REAL BERLAINAN 150 X1 = (-B + SQRT (D)) / (2*A) X2 = = (-B + SQRT (D)) / (2*A) WRITE (*,*) ‘ ADA 2 AKAR REAL BERLAINAN : ‘ WRITE ( *,*) ‘ ’ WRITE (*,’(1X, A, F7.2)’) ‘X1 = ‘,X1 WRITE (*,’(1X, A, F7.2)’) ‘X2 = ‘,X2 GOTO 1000
20
Cont.. C C SELESAI 1000 CONTINUE END
21
Statement IF Blok (block IF)
Statement IF blok dapat terdiri dari statement IF-THEN, ELSE. ELSEIF dan ENDIF. BU IF-THEN : IF (<ungkapan>) THEN BU ELSE : ELSE BU ELSEIF : ELSEIF (<ungkapan>) THEN BU ENDIF : ENDIF Digunakan untuk menyeleksi suatu kondisi dan mengambil tindakan apa yang harus dilakukan dalam bentuk blok-blok statement. Statement blok IF harus diawali dengan statement IF-THEN dan diakhiri dengan statement ENDIF.
22
Stat. IF-THEN & ENDIF CHARACTER*10 JAWAB WRITE (*,”(1X,A)’) ‘SAYA MEMPUNYAI 8598 KELERENG’ WRITE (*,”(1X,A)’) ‘SAYA ’BAGIKAN KEPADA 1228 ANAK’ WRITE (*,”(1X,A)’) ‘TIAP ANAK DAPAT 7 BUAH’ WRITE (*,”(1X,A)’) ‘DAN SISANYA SAYA SIMPAN SENDIRI’ WRITE (*,”(1X,A)’) ‘DALAM ISTILAH KOMPUTER DISEBUT DENGAN’ WRITE (*,”(1X,A)’) ‘MODULO 7 DAN SISA PEMBAGIAN DISEBUT’ WRITE (*,”(1X,A)’) ‘DENGAN REMAINDER’ WRITE (*,*) WRITE (*,”(1X,A)’) ‘BERAPA REMAINDERNYA ? ’ READ (*,’(BN,I1)’) IREMAIN
23
Cont.. C sebelumnya jawaban anda dianggap salah terlebih dahulu
JAWAB = ‘SALAH !!!’ C seleksi jawaban anda, bila benar jawaban anda diisi nilai benar IF (IREMAIN .EG. 2) THEN JAWAB = ‘BENAR ...’ ENDIF C tampilkan hasilnya WRITE (*, ‘(/, 1x, A, A10) ‘ JAWABAN ANDA ADALAH ‘,JAWAB END
24
Stat. IF-THEN, ELSEIF, ELSE, ENDIF
CHARACTER*20 NAMA(5), KET, GARIS*52 REAL*4 NILAI (5), DATA NAMA /’ARIEF’, ‘BUDI’, ‘CHANDRA’, ‘DEWI’, ‘EDI’/ DATA NILAI /95.9, 57.5, 23.5, 90. ,65.75 / C CETAK JUDUL TABEL GARIS = ‘ ’ WRITE (*,’(1X,A)’) ‘ DAFTAR NILAI UJIAN’ WRITE (*,*) WRITE (*,’(1X,A)’) GARIS WRITE (*,’(1X,A)’) ‘NAMA MAHASISWA NILAI KETERANGAN’
25
Cont.. DO 15 I = 1, 5 IF (NILAI (I) .GT ) THEN KET = ‘ LULUS SANGAT BAIK ‘ ELSEIF (NILAI (I) .GT ) THEN KET = ‘ LULUS BAIK ‘ ELSEIF (NILAI (I) .GT ) THEN KET = ‘ LULUS CUKUP ‘ ELSE KET = ‘ TIDAK LULUS ‘ ENDIF 15 WRITE (*,’(1X,A20,2X, F6.2,2X,A20)’) NAMA (I), NILAI (I), KET WIRTE (*,’(1X,A)’) GARIS END
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.