program hitung akar persamaan kuadrat
DESCRIPTION
fortranTRANSCRIPT
-
WRITE(*,*)'PROGRAM INI AKAN MENGHITUNG NILAI DARI'
WRITE(*,*)'AKAR-AKAR PERSAMAAN KUADRAT:'
WRITE(*,*)' 2 '
WRITE(*,*)'AX +BX+C=0'
WRITE(*,*)
1 WRITE(*,'(1X,A,\)')'NILAI KOEFISIEN A?'
READ (*,'(F7.2)')A
! seleksi nilai A tidak boleh = 0
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(*,*)
! hitung nilai dari determinan
D=B**2-4*A*C
! seleksi nilai dari determinan
IF(D.LT.0.)THEN
! nilai determinan negatif -> ada 2 angka kompleks berlainan
Z1=(-B)/(2*A)
Z2=SQRT (-D)/(2*A)
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'
-
END IF
IF(D.EQ.0)THEN
! nilai determinan nol, berarti ada dua akar real kembar
X1=(-B)/(2*A)
WRITE(*,*)'ADA DUA AKAR REAL KEMBAR:'
WRITE(*,*)'-------------------------'
WRITE(*,'(1X,A,F7.2)')'X1=X2=',X1
END IF
IF(D.GT.0.)THEN
! nilai determinan positif, berarti ada 2 akar real berlaninan
X1=(-B+SQRT (D))/(2*A)
X2=(-B-SQRT (D))/(2*A)
WRITE(*,*)'ADA DUA AKAR REAL BERLAINAN:'
WRITE(*,*)'----------------------------'
WRITE(*,'(1X,A,F7.2)')'X1=',X1
WRITE(*,'(1X,A,F7.2)')'X2=',X2
END IF
! selesai
END