Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar Komputer & Pemrograman 2B

Presentasi serupa


Presentasi berjudul: "Dasar Komputer & Pemrograman 2B"— Transcript presentasi:

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


Download ppt "Dasar Komputer & Pemrograman 2B"

Presentasi serupa


Iklan oleh Google