Anda di halaman 1dari 2

Invers Matriks 3x3.

f 1/2
22-Feb-20 3:26:01 PM

1: DIMENSION A(10,20), D(10,10), X(10)


2: REAL MJI
3: INTEGER TKR, BK, TK, Q
4: WRITE (*,*) '=PROGRAM INVERS MATRIK DENGAN ELIMINASI GAUSS='
5: WRITE (*,*)
6: !C LANGKAH 1: MEMASUKAN NILAI ELEMEN-ELEMEN MATRIK A
7: WRITE (*,'(1X,A)') 'JUMLAH PERSAMAAN ?'
8: READ (*,*) N
9: WRITE (*,*)
10: WRITE (*,*) 'MASUKAN ELEMEN-ELEMEN MATRIK A'
11: M=N+1
12: DO 50 I = 1,N
13: DO 60 J = 1,N
14: WRITE (*,'(1X,A,I2,A,I2,A)') 'A(',I,',',J,') = '
15: READ (*,*) A(I,J)
16: 60 CONTINUE
17: 50 CONTINUE
18: !C LANGKAH 2: MENDEFINISIKAN MATRIK IDENTITAS
19: WRITE (*,*) 'MENDEFINISIKAN MATRIK IDENTITAS'
20: DO 70 I = 1,N
21: DO 80 J = M,N+N
22: A(I,J) = 0
23: IF (I+N .EQ. J) THEN
24: A(I,J) = 1
25: END IF
26: 80 CONTINUE
27: 70 CONTINUE
28: WRITE (*,*)
29: !C MENAMPILKAN MATRIK AUGMENT
30: WRITE (*,'(1X,A)') 'MATRIK AUGMENT:'
31: DO 110 I = 1,N
32: WRITE (*,'(1X,5(F14.8))') (A(I,J),J=1,N+N)
33: 110 CONTINUE
34: WRITE (*,*)
35: !C MENGHITUNG JUMLAH TUKAR (TKR) POSISI. MULA2 TKR = 0
36: TKR = 0
37: !C MENGHITUNG JUMLAH OPERASI BAGI/KALI (BK).
38: BK = 0
39: !C MENGHITUNG JUMLAH OPERASI TAMBAH/KURANG (TK).
40: TK = 0
41: !C LANGKAH 3: MEMERIKSA ELEMEN2 PIVOT DAN PROSES TUKAR POSISI
42: NN = N-1
43: DO 10 I=1,NN
44: !C LANGKAH 4: MENDEFINISIKAN P
45: P=I
46: 100 IF (ABS(A(P,I)).GE.1.0-20 .OR. P.GT.N) GOTO 200
47: P = P+1
48: GOTO 100
49: 200 IF(P.EQ.N+1)THEN
50: !C MENAMPILKAN PESAN SINGULAR
51: WRITE(*,5)
52: GOTO 400
53: END IF
54: !C LANGKAH 5: PROSES TUKAR POSISI
55: IF(P.NE.I) THEN
56: DO 20 JJ=1,N+N
57: C = A(I,JJ)
58: A(I,JJ) = A(P,JJ)
59: A(P,JJ) = C
60: TKR = TKR + 1
61: 20 CONTINUE
62: END IF
63: !C LANGKAH 6: PERSIAPAN PROSES TRIANGULARISASI
64: JJ = I+1
65: DO 30 J=JJ,N
66: !C LANGKAH 7: TENTUKAN MJI
67: MJI = A(J,I)/A(I,I)
68: BK = BK + 1

1/2
Invers Matriks 3x3.f 2/2
22-Feb-20 3:26:01 PM

69: !C LANGKAH 8: MELAKUKAN PROSES TRIANGULARISASI


70: DO 40 K=JJ,N+N
71: A(J,K) = A(J,K)-MJI*A(I,K)
72: BK = BK + 1
73: TK = TK + 1
74: 40 CONTINUE
75: A(J,I) = 0
76: 30 CONTINUE
77: 10 CONTINUE
78: !C MENAMPILKAN HASIL TRIANGULARISASI
79: WRITE (*,'(1X,A)') 'HASIL TRIANGULARISASI:'
80: DO 120 I = 1,N
81: WRITE (*,'(1X,5(F14.8))') (A(I,J),J=1,N+N)
82: 120 CONTINUE
83: !C LANGKAH 9: MEMERIKSA ELEMEN A(N,N)
84: IF(ABS(A(N,N)).LT.1.0E-20) THEN
85: !C MENAMPILKAN PESAN SINGULAR
86: WRITE(*,5)
87: GOTO 400
88: END IF
89: DO 500 J = 1,N
90: Q=N+J
91: !C LANGKAH 10: MENGHITUNG A(N,N)
92: D(J,N) = A(N,Q)/A(N,N)
93: BK = BK + 1
94: !C LANGKAH 11: PROSES SUBSTITUSI MUNDUR
95: L = N-1
96: DO 15 K=1,L
97: I = L-K+1
98: JJ = I+1
99: SUM = 0.0
100: DO 16 KK=JJ,N
101: SUM = SUM+A(I,KK)*D(J,KK)
102: BK = BK + 1
103: TK = TK + 1
104: 16 CONTINUE
105: D(J,I) = (A(I,Q)-SUM)/A(I,I)
106: BK = BK + 1
107: TK = TK + 1
108: 15 CONTINUE
109: 500 CONTINUE
110: !C LANGKAH 12: MENAMPILKAN HASIL PERHITUNGAN
111: WRITE (*,*)
112: WRITE (*,'(1X,A)') 'MATRIK INVERS:'
113: DO 220 I = 1,N
114: WRITE (*,'(1X,5(F14.8))'), (D(J,I),J=1,N)
115: 220 CONTINUE
116: WRITE(*,8) TKR
117: WRITE(*,9) BK
118: WRITE(*,11) TK
119: 400 Pause
120: 5 FORMAT(1X,'MATRIK A BERSIFAT SINGULAR')
121: 8 FORMAT(1X,'JUMLAH TUKAR POSISI = ',3X,I5)
122: 9 FORMAT(1X,'JUMLAH OPERASI BAGI/KALI = ',3X,I6)
123: 11 FORMAT(1X,'JUMLAH OPERASI JUMLAH/KURANG = ',3X,I6)
124:
125: END

2/2

Anda mungkin juga menyukai