Anda di halaman 1dari 18

LAPORAN AKHIR PRAKTIKUM

Mata Praktikum : Rekayasa Komputasional

Kelas : 3IA26

Praktikum ke- : 3

Tanggal : 22 Mei 2017

Materi : Fortran

NPM : 5D414318

Nama : Ranny Vania Hastuti

Ketua Asisten : Jaka Permana

Nama Asisten :

Paraf Asisten :

Jumlah Lembar : 18 Lembar

LABORATORIUM INFORMATIKA

UNIVERSITAS GUNADARMA

2017
LUAS DAN KELILING BANGUN DATAR

PERSEGI

Listing Program

program persegi
integer::S,Luas,Keliling
write(*,*) 'Program Menghitung Luas dan Keliling Persegi'
write(*,*) '============================================'
write(*,1)
1 format(1x, 'Sisi = ',\)
read(*,*)S
Luas=S*S
Keliling=4*S
write(*,*)'Luas = ',Luas
write(*,*)'Keliling = ',Keliling
end program

Logika Program

program persegi

Nama program ini adalah persegi.

integer::S,Luas,Keliling

Listing diatas digunakan untuk mendeklarasikan variable yang akan digunakan


dalam program ini yaitu S, Luas dan Keliling yang mempunyai tipe data integer.

write(*,*) 'Program Menghitung Luas dan Keliling Persegi'

write(*,*) '============================================'

Menampilkan output Program Menghitung Luas dan Keliling Persegi


serta garis yang digunakan sebagai judul.

write(*,1)
1 format(1x, 'Sisi = ',\)
read(*,*)S

Menampilkan output sesuai dengan format label 1. Format label 1 ini digunakan
untuk menampilkan output Sisi = dan terdapat 1 buah ruang kosong (spasi)
sebelum diletakan output tersebut, simbol \ maksudnya hasil inputan user akan
tercetak sebaris dengan kata Sisi =. Lalu pembacaan input dari user akan
disimpan dalam variable S.

Luas=S*S

Keliling=4*S

Listing diatas merupakan rumus untuk menghitung luas dan keliling pergegi,
dimana rumus luas = S x S serta rumus keliling 4 x S, kemudian hasil
perhitungannya akan disimpan dalam variable Luas dan Keliling.

write(*,*)'Luas = ',Luas

write(*,*)'Keliling = ',Keliling

end program

Menampilkan output Luas = dan Keliling = serta memanggil variable Luas


dan Keliling yang sudah dihitung pada proses sebelumnya.

Output Program

PERSEGI PANJANG

Listing Program

program persegipanjang
integer::P,L,Luas,Keliling
write(*,*) 'Program Menghitung Luas dan Keliling Persegi Panjang'
write(*,*) '===================================================='
write(*,1)
1 format(1x, 'Panjang = ',\)
read(*,*)P
write(*,2)
2 format(1x, 'Lebar = ',\)
read(*,*)L
Luas=P*L
Keliling=2*(P+L)
write(*,*)'Luas = ',Luas
write(*,*)'Keliling = ',Keliling
end program

Logika Program

program persegipanjang

Nama program ini adalah persegipanjang.

integer::P,L,Luas,Keliling

Listing diatas digunakan untuk mendeklarasikan variable yang akan digunakan


dalam program ini yaitu P,L, Luas dan Keliling yang mempunyai tipe data integer.

write(*,*) 'Program Menghitung Luas dan Keliling Persegi Panjang'

write(*,*) '===================================================='

Menampilkan output Program Menghitung Luas dan Keliling Persegi


Panjang serta garis yang digunakan sebagai judul.

write(*,1)
1 format(1x, 'Panjang = ',\)
read(*,*)P

Menampilkan output sesuai dengan format label 1. Format label 1 ini digunakan
untuk menampilkan output Panjang = dan terdapat 1 buah ruang kosong
(spasi) sebelum diletakan output tersebut, simbol \ maksudnya hasil inputan
user akan tercetak sebaris dengan kata Panjang =. Lalu pembacaan input dari
user akan disimpan dalam variable P.

write(*,2)
2 format(1x, 'Lebar = ',\)
read(*,*)L
Menampilkan output sesuai dengan format label 2. Format label 2 ini digunakan
untuk menampilkan output Lebar = dan terdapat 1 buah ruang kosong (spasi)
sebelum diletakan output tersebut, simbol \ maksudnya hasil inputan user akan
tercetak sebaris dengan kata Lebar =. Lalu pembacaan input dari user akan
disimpan dalam variable L. .

Luas=P*L

Keliling=2*(P+L)

Listing diatas merupakan rumus untuk menghitung luas dan keliling pergegi
panjang, dimana rumus luas = P x L serta rumus keliling 2 x (P+L), kemudian
hasil perhitungannya akan disimpan dalam variable Luas dan Keliling.

write(*,*)'Luas = ',Luas

write(*,*)'Keliling = ',Keliling

end program

Menampilkan output Luas = dan Keliling = serta memanggil variable Luas


dan Keliling yang sudah dihitung pada proses sebelumnya.

Output Program
SEGITIGA

Listing Program

program segitiga
integer::A,T,S,Luas,Keliling
write(*,*) 'Program Menghitung Luas dan Keliling Segitiga'
write(*,*) '============================================='
write(*,1)
1 format(1x, 'Alas = ',\)
read(*,*)A
write(*,2)
2 format(1x, 'Tinggi = ',\)
read(*,*)T
write(*,3)
3 format(1x, 'Sisi Miring = ',\)
read(*,*)S
Luas=(A*T)/2
Keliling=A+T+S
write(*,*)'Luas = ',Luas
write(*,*)'Keliling = ',Keliling
end program

Logika Program

program segitiga

Nama program ini adalah segitiga.

integer::A,T,S,Luas,Keliling

Listing diatas digunakan untuk mendeklarasikan variable yang akan digunakan


dalam program ini yaitu A,T,S, Luas dan Keliling yang mempunyai tipe data
integer.

write(*,*) 'Program Menghitung Luas dan Keliling Segitiga

write(*,*) '============================================='

Menampilkan output Program Menghitung Luas dan Keliling


Segitiga serta garis yang digunakan sebagai judul.
write(*,1)
1 format(1x, 'Alas = ',\)
read(*,*)A
Menampilkan output sesuai dengan format label 1. Format label 1 ini digunakan
untuk menampilkan output Alas = dan terdapat 1 buah ruang kosong (spasi)
sebelum diletakan output tersebut, simbol \ maksudnya hasil inputan user akan
tercetak sebaris dengan kata Alas =. Lalu pembacaan input dari user akan
disimpan dalam variable A.
write(*,2)
2 format(1x, 'Tinggi = ',\)
read(*,*)T
Menampilkan output sesuai dengan format label 2. Format label 2 ini digunakan
untuk menampilkan output Tinggi = dan terdapat 1 buah ruang kosong (spasi)
sebelum diletakan output tersebut, simbol \ maksudnya hasil inputan user akan
tercetak sebaris dengan kata Tinggi =. Lalu pembacaan input dari user akan
disimpan dalam variable T.
write(*,3)
3 format(1x, 'Sisi Miring = ',\)
read(*,*)S

Menampilkan output sesuai dengan format label 3. Format label 3 ini digunakan
untuk menampilkan output Sisi Miring = dan terdapat 1 buah ruang kosong
(spasi) sebelum diletakan output tersebut, simbol \ maksudnya hasil inputan
user akan tercetak sebaris dengan kata Sisi Miring =. Lalu pembacaan input
dari user akan disimpan dalam variable S.

Luas=(A*T)/2

Keliling=A+T+S

Listing diatas merupakan rumus untuk menghitung luas dan keliling segitiga,
dimana rumus luas = (A x T) / 2 serta rumus keliling A+T+S, kemudian hasil
perhitungannya akan disimpan dalam variable Luas dan Keliling.

write(*,*)'Luas = ',Luas

write(*,*)'Keliling = ',Keliling

end program

Menampilkan output Luas = dan Keliling = serta memanggil variable Luas


dan Keliling yang sudah dihitung pada proses sebelumnya.
Output Program

KONVERSI SUHU

Listing Program

real C, R, F, K

character s

write(*,*)"PILIH KONVERSI"

write(*,*)"1 : untuk konversi dari Celcius"

write(*,*)"2 : untuk konversi dari Fahrenheit"

write(*,*)"3 : untuk konversi dari Reamur"

write(*,*)"4 : untuk konversi dari Kelvin"

write(*,*)"0 : keluar program"

write(*,*)"________________________________________"

10 write(*,1)

1 format(1x, "pilihan = ",\)


read(*,*)A

if(A.EQ.1)then

write(*,2)

2 format(1x, 'masukkan nilai C = ',\)

read(*,*)C

R=(4./5)*C

F=(9./5)*C+32

K=C+273

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

else if(A.EQ.2)then

write(*,3)

3 format(1x, 'masukkan nilai F = ',\)

read(*,*)F

C=(5./9)*(F-32)

R=(4./9)*(F-32)

K=C+273

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

else if(A.EQ.3)then
write(*,4)

4 format(1x, 'masukkan nilai R = ',\)

read(*,*)R

C=(5./4)*R

F=(9./4)*R+32

K=C+273

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

else if(A.EQ.4)then

write(*,5)

5 format(1x, 'masukkan nilai K = ',\)

read(*,*)K

C=K-273

F=(9./5)*(K-273)+32

R=(4./5)*(K-273)

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

else if(A.EQ.0)then

goto 100

else
write(*,*)"pilihan hanya 1,2,3,4,0"

endif

20 write(*,6)

6 format(1x, 'hitung lagi ?(y/n) ',\)

read (*,*)s

if((s.EQ."y").OR.(s.EQ."Y"))then

goto 10

else if((s.EQ."n").OR.(s.EQ."N"))then

goto 100

else

goto 20

endif

100 end

Logika Program

real C, R, F, K

character s

Listing diatas digunakan untuk mendeklarasikan variable yang akan digunakan


dalam program ini yaitu C,R, F, K dengan tipe data integer dan s dengan tipe data
character.

write(*,*)"PILIH KONVERSI"

write(*,*)"1 : untuk konversi dari Celcius"

write(*,*)"2 : untuk konversi dari Fahrenheit"

write(*,*)"3 : untuk konversi dari Reamur"

write(*,*)"4 : untuk konversi dari Kelvin"


write(*,*)"0 : keluar program"

write(*,*)"________________________________________"

Listing diatas merupakan tampilan menu utama pada program koversi, disini ada 5
pilihan menunya yaitu konversi dari celcius, fahrenheit, reamur, kelvin serta keluar.

10 write(*,1)

Menampilkan output sesuai dengan format label 1. Listing diatas mempunyai label
dengan nomor 10.

1 format(1x, "pilihan = ",\)

read(*,*)A

Format label 1 ini digunakan untuk menampilkan output pilihan = dan terdapat 1
buah ruang kosong (spasi) sebelum diletakan output tersebut, simbol \ maksudnya
hasil inputan user akan tercetak sebaris dengan kata pilihan =. Lalu pembacaan
input dari user akan disimpan dalam variable A.

if(A.EQ.1)then

write(*,2)

2 format(1x, 'masukkan nilai C = ',\)

read(*,*)C

Jika pilihan yang diinput user sama dengan 1, maka program akan menampilkan
output sesuai dengan format label 2. Kemudian format label 2 ini akan menampilkan
output masukkan nilai C = dan terdapat 1 buah ruang kosong (spasi) sebelum
diletakan output tersebut, simbol \ maksudnya hasil inputan user akan tercetak
sebaris dengan masukkan nilai C =. Lalu pembacaan input dari user akan
disimpan dalam variable C.

R=(4./5)*C

F=(9./5)*C+32

K=C+273
Listing diatas merupakan rumus untuk menghitung konversi dari celcius ke reamur,
fahrenheit, dan kelvin. Yang dimana rumus celcius ke reamur = (4 / 5) x C, celcius ke
fahrenheit = (9 / 5) x C + 32, serta celcius ke kelvin = C + 32, kemudian hasil
perhitungannya akan disimpan dalam variable R untuk reamur, F untuk fahrenheit,
dan K untuk Kelvin.

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

Menampilkan output C = , R = , F = ,dan K = serta memanggil variable C, R, F,


dan K yang sudah diproses pada proses sebelumnya.

else if(A.EQ.2)then

write(*,3)

3 format(1x, 'masukkan nilai F = ',\)

read(*,*)F

Jika pilihan yang diinput user sama dengan 2, maka program akan menampilkan
output sesuai dengan format label 3. Kemudian format label 3 ini akan menampilkan
output masukkan nilai F = dan terdapat 1 buah ruang kosong (spasi) sebelum
diletakan output tersebut, simbol \ maksudnya hasil inputan user akan tercetak
sebaris dengan masukkan nilai F =. Lalu pembacaan input dari user akan
disimpan dalam variable F.

C=(5./9)*(F-32)

R=(4./9)*(F-32)

K=C+273

Listing diatas merupakan rumus untuk menghitung konversi dari fahrenheit ke


celcius, reamur, dan kelvin. Yang dimana rumus fahrenheit ke celcius = (5 / 9) x (F -
32), fahrenheit ke reamur = (4 / 9) x (F 32), serta fahrenheit ke kelvin = C + 273,
kemudian hasil perhitungannya akan disimpan dalam variable C untuk celcius, R
untuk reamur, dan K untuk Kelvin.

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

Menampilkan output C = , R = , F = ,dan K = serta memanggil variable C, R, F,


dan K yang sudah diproses pada proses sebelumnya.

else if(A.EQ.3)then

write(*,4)

4 format(1x, 'masukkan nilai R = ',\)

read(*,*)R

Jika pilihan yang diinput user sama dengan 3, maka program akan menampilkan
output sesuai dengan format label 4. Kemudian format label 4 ini akan menampilkan
output masukkan nilai R = dan terdapat 1 buah ruang kosong (spasi) sebelum
diletakan output tersebut, simbol \ maksudnya hasil inputan user akan tercetak
sebaris dengan masukkan nilai R =. Lalu pembacaan input dari user akan
disimpan dalam variable R.

C=(5./4)*R

F=(9./4)*R+32

K=C+273

Listing diatas merupakan rumus untuk menghitung konversi dari reamur ke celcius,
fahrenheit, dan kelvin. Yang dimana rumus reamur ke celcius = (5 / 4) x R, reamur
ke fahrenheit = (9 / 4) x (R+32), serta reamur ke kelvin = C + 273, kemudian hasil
perhitungannya akan disimpan dalam variable C untuk celcius, F untuk fahrenheit,
dan K untuk Kelvin.
write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F

write(*,*) "K = ", K

Menampilkan output C = , R = , F = ,dan K = serta memanggil variable C, R, F,


dan K yang sudah diproses pada proses sebelumnya.

else if(A.EQ.4)then

write(*,5)

5 format(1x, 'masukkan nilai K = ',\)

read(*,*)K

Jika pilihan yang diinput user sama dengan 4, maka program akan menampilkan
output sesuai dengan format label 5. Kemudian format label 5 ini akan menampilkan
output masukkan nilai K = dan terdapat 1 buah ruang kosong (spasi) sebelum
diletakan output tersebut, simbol \ maksudnya hasil inputan user akan tercetak
sebaris dengan masukkan nilai K =. Lalu pembacaan input dari user akan
disimpan dalam variable K.

C=K-273

F=(9./5)*(K-273)+32

R=(4./5)*(K-273)

Listing diatas merupakan rumus untuk menghitung konversi dari Kelvin ke celcius,
fahrenheit, dan reamur. Yang dimana rumus kelvin ke celcius = K - 273, kelvin ke
fahrenheit = (9 / 5) x (K-273) + 32, serta kelvin ke reamur = (4 / 5) x (K - 273),
kemudian hasil perhitungannya akan disimpan dalam variable C untuk celcius, F
untuk fahrenheit, dan R untuk Reamur.

write(*,*) "C = ", C

write(*,*) "R = ", R

write(*,*) "F = ", F


write(*,*) "K = ", K

Menampilkan output C = , R = , F = ,dan K = serta memanggil variable C, R, F,


dan K yang sudah diproses pada proses sebelumnya.

else if(A.EQ.0)then

goto 100

Jika pilihan yang diinput user sama dengan 0, maka program akan pindah ke label
nomor 100.

else

write(*,*)"pilihan hanya 1,2,3,4,0"

endif

Jika pilihan yang diinput user tidak sama dengan 1, 2, 3, 4, atau 0, maka program
akan menampilkan output pilihan hanya 1,2,3,4,0

20 write(*,6)

Menampilkan output sesuai dengan format label 6. Listing diatas mempunyai label
dengan nomor 20.

6 format(1x, 'hitung lagi ?(y/n) ',\)

read (*,*)s

Kemudian format label 6 ini akan menampilkan output hitung lagi ?(y/n) dan
terdapat 1 buah ruang kosong (spasi) sebelum diletakan output tersebut, simbol \
maksudnya hasil inputan user akan tercetak sebaris dengan hitung lagi ?(y/n)
Lalu pembacaan input dari user akan disimpan dalam variable s.

if((s.EQ."y").OR.(s.EQ."Y"))then

goto 10

Jika inputan user sama dengan y atau Y, maka program akan pindah ke label nomor
10.

else if((s.EQ."n").OR.(s.EQ."N"))then
goto 100

Jika inputan user sama dengan n atau N, maka program akan pindah ke label nomor
100.

else

goto 20

endif

Jika inputan user tidak sama dengan kondisi-kondisi sebelumnya, maka program
akan pindah ke label nomor 20.

100 end

Label nomor 100 sebagai tanda untuk mengakhiri program konversi.

Output Program

Anda mungkin juga menyukai