Anda di halaman 1dari 16

FUNGSI-FUNGSI

A. FUNGSI HAKIKI (hal 112)

Fungsi
AKAR NILAI MUTLAK EKSPONENSIAL SINUS COSINUS TANGEN ARCSINUS ARCCOSINUS ARCTANGEN HYP.SINUS HYP.COSINUS HYP.TANGEN

Penulisan
SQRT ( ) ABS EXP SIN COS ( ) ( ) ( ) ( )

Contoh
SQRT (X) ABS EXP SIN COS (Y) (Z) (X) (Y)

Jenis Argumen
REAL REAL REAL RADIAN* RADIAN RADIAN REAL REAL REAL REAL REAL REAL

TAN ( ) ASIN ( ) ACOS ( ) ATAN ( ) SINH ( ) COSH ( ) TANH ( )

TAN (Z) ASIN (X) ACOS (Y) ATAN (Z) ASINH (X) ACOSH(Y) ATANH(Z)

Ket : * 2RADIAN = 3600


B. FUNGSI KONVERSI FUNGSI MEROBAH BILANGAN BULAT MENJADI BILANGAN NYATA MEROBAH BILANGAN NYATA MENJADI BILANGAN BULAT INSTRUKSI GOTO nn nn Maksudnya Contoh : nomor pernyataan : memindahkan eksekusi program tanpa syarat kenomor baris nn : GOTO 1 GOTO 35 Contoh Program : A=1 B=2 C = A+B D = A*B WRITE (*,*)A,B,C,D STOP END A =1 B =2 C = A+B GOTO 1 D = A*B WRITE(*, *)A,B,C,D STOP END 1.00 2.00 3.00 0.00 PENULISAN REAL FLOAT INT IFIX (J) (J) (X) (X) REAL JENIS ARGUMEN INTEGER

HASIL KALAU DI EKSEKUSI MASING-MASING 1.00 2.00 3.00 2.00

INTRUKSI IF TERDIRI ATAS : A. LOGIKA IF ( hal.115 )

B. IF STRUKTURAL ( hal.120 ) C. ARITMATIK IF A. LOGIKA IF Pola Umum Contoh : IF (KONDISI) PERNYATAAN A : IF ( I. EQ. 1 ) GOTO 3 IF ( X. LT. ) X = X + 1 Maksudnya : Bila kondisi ( dalam kurung) terpenuhi maka eksekusi lanjut kepernyataan A bila kondisi ( dalam kurung) tidak terpenuhi maka eksekusi lanjut kebaris berikutnya. Catatan : 1. Kondisi : - dalam kurung - ada operator pembanding 2. Identik dengan blok pengambilan keputusan pada flow chart : ( hal.130)

Y 3. Bila ada dua atau lebih kondisi maka perlu operator logika dasa: OR AND NOT OPERATOR PEMBANDING UMUM = < > OPERATOR EQ . NE LT GT LE GE SAMA DENGAN TIDAK SAMA DENGAN LEBIH KECIL DARI LEBIH BESAR DARI LEBIH KECIL ATAU SAMA DENGAN LEBIH BESAR ATAU SAMA DENGAN

Contoh Penggunaan : FORTRAN 1. IF ( A.GT.B) C = A * B D=A/B FLOWCHART


Y

A > B? ?

C = A*B

D=A/B

2. IF ( A.GT.B) GOTO 4 C=A GOTO5 4 C = B 5 D = A * B


D = A*B A > B?

T
C = A C = B

CONTOH PROGRAM 1. MENJUMLAHKAN


START

1 + 2 + 3 + 4 + + 99 + 100 JUM = 0 I =1 3 JUM = JUM + I IF ( I. EQ. 1) GOTO 5

JUM = 0 I= 1

JUM = JUM + I T

I = I+1
I = I+1

I =100 Y
PRINT JUM

GOTO 3 5 WRITE ( *,*) JUM STOP END

END

2.

MENJUMLAHKAN 1 / 2 - 2 / 3 + 3/4 - + 99 / 100 START JUM = 0 JUM = 0 I =1 J=2 I=1 J=2 5 S = I /J S= I/J SUM = JUM + (-1)J K T Y
PRINT SUM

SUM = JUM + ((-1) * * J ) * S IF ( I . EQ . 99 ) GOTO 1 I =I+1 J =J+1 I = I+1 J =J+1 GOTO 5 1 WRITE (* , *) SUM STOP END

I = 99 ?

END 3. MENGHITUNG N. FAKTORIAL (N FAK) INPUT N NFAK = 1 I = 1 5 NFAK = NFAK * I IF ( I . EQ . N ) GOTO 1 I =I+1 GOTO 5 1 WRITE ( *,*) NFAK STOP END

B. IF. STRUKTURAL KHUSUSNYA FLOW CHARTNYA : BLOK IF atau IF THEN ELSE : Y KONDISI T

KELOMPOK PERNYATAAN A

KELOMPOK PERNYATAAN B

KELOMPOK PERNYATAAN LANJUTAN

Sedangkan Struktur Programnya Adalah Sebagai Berikut :


IF ( KONDISI ) THEN KELOMPOK PERNYATAAN A

ELSE KELOMPOK PERNYATAAN B END IF

KELOMPOK PERNYATAAN LANJUTAN

CONTOH PROGRAM : MENENTUKAN AKAR NYATA PERSAMAAN KUADRAT READ ( *,*) A,B,C D = B **2 4 * A * C IF ( D . GE . ) THEN X1 = ( -B + SQRT (D)) / ( 2*A) X2 = ( -B SQRT (D)) / ( 2*A) WRITE ( *,*) X1 , X2 ELSE WRITE ( A, 1) 1 FORMAT ( 10X , DATA SALAH- TIDAK ADA AKAR NYATA1) GOTO 50 END IF STOP END Tugas : Semua soal tugas Flowchart dibuat Program Fortrannya secara manual C. ARITMETIKA IF Pola umum : IF ( EKSPRESSI ) NPI, NP2, NP3 NP1, NP2, NP3 : nomor pernyataan Contoh : 1. IF ( NILAI ) 1, 2, 3 Maksudnya : Bila NILAI < 0 NILAI = 0 NILAI > 0 2. IF ( JUMLAH ) 1, 2, 3 Maksudnya : Bila JUMLAH < 0 JUMLAH = 0 JUMLAH > 0 eksekusi lanjut ke 1 ( NP1 ) eksekusi lanjut ke 1 ( NP2 ) Dpt Berulang eksekusi lanjut ke 3 ( NP3 ) eksekusi lanjut ke 1 ( NP1 ) eksekusi lanjut ke 2 ( NP2 ) eksekusi lanjut ke 3 ( NP3 )

Pelajari Contoh Soal : + hal. 131 + Contoh 6.1 + Contoh 6.2 + Contoh 6.3 + Contoh 6.4 Khusus Program S2

INSTRUKSI GOTO ( NPI, NP2, NP3,.....) IVAR Maksudnya : Memindahkan eksekusi program ke NP tertentu ( NP1, NP2, NP3, ....) bergantu ng kepada nilai IVAR IVAR : Variabel integer GOTO (1, 28, 3, 6 ) I

Contoh :

NP Maksudnya : bila I = 1 Lanjut / GOTO 1 ( NPI ) I = 2 Lanjut / GOTO 2 ( NP2 ) I = 3 Lanjut / GOTO 3 ( NP3 ) I = 4 lanjut / GOTO 4 ( NP4 )

CONTOH PROGRAM MENU Untuk menghitung luas ( area) berbagai bentuk : 1 2 3 4 5 6 WRITE ( *,1 ) FORMAT ( 1x, PROGRAM MENGHITUNG LUAS ) WRITE ( *,2 ) FORMAT ( 15x, 1.LUAS SEGITIGA ) WRITE ( *,3 ) FORMAT ( 15x, 2.LUAS LINGKARAN ) WRITE ( *,4 ) FORMAT ( 15x, 3.LUAS BUJUR SANGKAR ) WRITE ( *,5) FORMAT ( 15x, 4.LUAS EMPAT PERSEGI PANJANG ) WRITE ( *,6 ) FORMAT (10x, MASUKKAN PILIHAN ANDA (1-2-3-4) ) READ ( *,* ) I GOTO ( 1, 28, 3, 4 ) I WRITE ( *,11 ) FORMAT (1x, MENGHITUNG LUAS SEGITIGA ) WRITE ( *,12) FORMAT ( 15x, MASUKKAN NILAI ALAS DAN TINGGI ) READ ( *,* ) A,T AREA = A*T / 2 GOTO 5 WRITE ( *,21 ) FORMAT ( 1x, MENGHITUNG LUAS LINGKARAN ) WRITE ( *,22 ) FORMAT (15x, MASUKKAN NILAI JARI-JARI ) READ ( *,* ) R AREA = 3.14 * R **2 GOTO 5 WRITE ( *,31 ) FORMAT (1x, MENGHITUNG LUAS BUJUR SANGKAR ) WRITE ( *,32) FORMAT ( 15x, MASUKKAN NILAI SISI ) READ ( *,* ) S AREA = S**2 GOTO5 WRITE ( *,41 ) FORMAT ( 1x, MENGHITUNG LUAS EMPAT PERSEGI PANJANG ) WRITE ( *,42 ) FORMAT ( 15x, MASUKKAN NILAI PANJANG DAN LEBAR) READ ( *,* ) P,W AREA = P*W GOTO 5 WRITE ( *,51 ) FORMAT ( 1x, AREA = ) WRITE ( *,* ) AREA STOP END

1 11 12

2 21 22

3 31 32

4 41 42

5 51

TUGAS; Buat program menu serupa untuk menghitung Volume : KUBUS, KOTAK, SILINDER, DAN BOLA.

INSTRUKSI DO-LOOP ( atau DO- CONTINUE) Pola Umum : DO NP IVAR = NA, NK, NT

NP CONTINUE Dimana : IVAR = Variabel integer NA NK NT NP Contoh : 1. = Nilai awal IVAR = Nilai akhir IVAR = Nilai tambah IVAR = Nomor pernyataan akhir DO-LOOP

DO 1 I = 1,99,2

1 CONTINUE 2. DO 35 JUS = 99, , -1

35 CONTINUE 3. DO 5 K = 1, 1 NT = 1 tidak perlu dituliskan

5 CONTINUE

MAKSUD DO LOOP : Untuk mengeksekusi berulang kali bagian program diantara DO dan CONTINUE

CONTOH PROGRAM :

1. Mencetak semua bilangan ganjil dari 1 s/d 99


DO LOOP DO 1 I = 1,99,2 WRITE ( *,* ) I 1 CONTINUE STOP END IF-THEN I=1 5 WRITE ( *,* ) I IF ( I. EQ. 99 ) GOTO 1 I=I+2 GOTO 5 1 STOP END

2. Menjumlahkan semua bilangan dari 1 s/d 1


DO LOOP JUM = 0 DO 5 I = 1, 1 JUM = JUM + I 5 CONTINUE WRITE ( *,* ) JUM STOP END IF-THEN JUM = I =1 1 JUM = JUM + I IF ( I. EQ. 1 ) GOTO 2 I =I+1 2 WRITE ( *,* ) JUM STOP END

TUGAS : SOAL FLOW CHART ( YG DAPAT ) BUATKAN PROGRAMNYA DENGAN MENGGUNAKAN DO LOOP LOOP DI DALAM LOOP DO ( oke ) DO ( salah) DO DO CONTINUE CONTINUE CONTINUE CONTINUE

( oke )

( oke )

( salah )

CATATAN : Kalau ada yang berpotongan DO LOOPNYA salah


Contoh : 1. DO 15 I = 1, 5, 2 DO 1 J = 0, 4, 2 K=I+J WRITE ( *,* ) I, J, K 1 CONTINUE 15 CONTINUE STOP END Hasilnya kalau di eksekusi : 1 1 1 2 3 1 4 5 3 3 3 2 5 3 4 7 5 5 5 2 7 5 4 9

ok

2.

DO 1 I = 1,3 DO 5 J = 1,2 DO 3 K = 0,1 L = I+J+K WRITE ( *,* ) I, J, K, L 3 CONTINUE 5 CONTINUE 1 CONTINUE STOP END

Ok

Hasilnya kalau dieksekusi : 1 1 0 2 1 1 1 3 1 2 0 3 1 2 1 4 2 1 0 3 2 1 1 4 2 2 0 4 2 2 1 5 3 1 0 4 3 1 1 5 3 2 0 5 3 2 1 6

CONTOH PROGRAM KALI-KALI 1 s/d 10 Ingin dihasilkan daftar kali-kali 1 s/d 1 11 =1 21 =2

1 1 = 1 12 =2 22 =4 1 2 = 2

10 10 = 1

Programnya :
DO 1 J = 1, 1 DO 5 I = 1, 1 K = I*J WRITE ( *,3 ) I, J, K 3 FORMAT ( I3, 3X, * , 3X, I3, 3X, =, 3X, I3 ) 5 CONTINUE WRITE ( *,* ) 1 CONTINUE STOP END CATATAN : Program diatas OK, tetapi hasilnya memanjang kebawah ( hanya bagian kiri - dari kertas yang ditulisi) TUGAS : Buat Kali-kali 1 s/d 12 dengan bentuk sbb :
1 4 7 2 5 8
11

3 6

5 9
12

dan
9 10 11 12

10

VARIABEL GANDA (ARRAY = SUBSCRIBTED)


KLASIFIKASI : NUMERIK 1. VARIABEL NON-NUMERIK REAL 2. VARIABEL INTEGER TUNGGAL ( I,J,SUM,XRATA,DLL) 3. VARIABEL GANDA : A (5) B (10,10) C (3,3,3) 1D 2D 3D
HARUS BILANGAN / VARIABEL INTEGER

MANFAAT PENGGUNAAN VARIABEL GANDA : MEMUDAHKAN, MEMPERCEPAT PROSES INPUT, MANIPULASI DATA DAN OUTPUT SEJUMLAH DATA YANG BERKAITAN MISALNYA : ADA SERATUS VARIABEL YANG INGIN DIBERI NILAI AWAL YANG SAMA DENGAN VARIABEL TUNGGAL : A = 0 B=0 C=0

DENAGAN VARIABEL GANDA

DO 1 I = 1, 1 A (I) = 0

1 CONTINUE DIMENSION : SEBELUM MENGGUNAKAN SUATU VARIABEL GANDA DI DALAM SUATU PROGRAM, MAKA VARIABEL TERSEBUT PERLU DINYATAKAN DULU DALAM INSTRUKSI DIMENSION.

MAKSUD INSTRUKSI DIMENSION : MEMESAN SEJUMLAH TEMPAT DI MEMORI KOMPUTER CONTOH : DIM A (10 ) DIM B (5,5) PESAN 11 TEMPAT : A (0) , A(1), A(10) PESAN 36 TEMPAT : B (0,0) , B(0,1), B(0,5) B (1,0) , B(1,1) , B(1,5) ; ; B (5,0) , B(5,1) , B(5,5) DIM I (3,3,3) PESAN 64 TEMPAT , MULAI DARI I (0,0,0) s/d I(3,3,3) DAPAT DIGABUNG MENJADI : DIM A (10), B(5,5), I(3,3,3) CONTOH : 1. DIM A(1) , B(1), C(1) DO 5 I = 1, 1 A(I) = REAL ( I ) B(I) = A(I) + REAL (I**2) C(I) = A(I) + B (I) WRITE (*,*) A(I), B(I), C(I)

5 CONTINUE
STOP END 2. DIM X(1,1), Y(1,1), Z(1,1) DO 5 I = 1,5 DO 1 J = 1,5,2 X(I,J) = REAL (I+J) Y(I,J) = X(I,J)/2 Z(I,J) = X(I,J)+Y(I,J) 3 CONTINUE 5 CONTINUE WRITE (*,*)X(I,J), Y(I,J), Z(I,J) STOP END

CONTOH PROGRAM : PENJUMLAHAN DAN PENGURANGAN 2 MATRIKS

syarat : jumlah kolom kedua matriks harus sama jumlah baris kedua matriks harus sama
MISALNYA : nxm dan nxm

a11 a21 an1


\\\\\\\

a12 a1m a22 a2m an2anm


= + nxm nxm nxm nxm

b11 b21 bn1

b12 b1m b22 b2m bn2 bnm

Maka : nxm

= nxm

Dimana : Cij = aij + bij Dij = aij - bij

untuk i = 1,2,,n j = 1,2,,m

Algoritma PENJUMLAHAN/PENGURANGAN 2 BUAH MATRIKS


1. INISIASI : NILAI N & M , dll 2. INPUT NILAI 3. INPUT NILAI 4. Cij = aij + bij dan/atau Dij Dij = aij - bij

5. PRINT Cij dan/atau 6. STOP

PROGRAM MENJUMLAH/MENGURANGKAN 2 BUAH MATRIKS DIM A(10,10), B(10,10), C(10,10), D(10,10) N = 5 M= 5 DO 100 I = 1, N DO 50 J = 1, M
2 1

READ (*,*) A (I,J) 50 CONTINUE 100 CONTINUE DO 200 DO 150 I = 1, N J = 1, M

READ (*,*) B (I,J) 150 CONTINUE 200 CONTINUE DO 300 DO 250 I = 1, N J = 1, M

C(I,J) = A(I,J) + B (I,J) D(I,J) = A(I,J) - B (I,J) 250 CONTINUE 300 CONTINUE DO 400 DO 350 I = 1, N J = 1, M
5 4

WRITE (*,*) C(I,J), D(I,J) 350 CONTINUE 400 CONTINUE STOP


6

END Catatan : Program Dapat Diringkas Dengan Menggabungkan Langkah/Bagian


3 . 4

dan 5

Bagaimana Caranya..?

Buat Program Memperkalikan 2 Buah Matriks

Anda mungkin juga menyukai