Anda di halaman 1dari 29

LAPORAN PRAKTIKUM FISIKA KOMPUTASI

Judul :
Bahasa Pemrograman Fortran

Oleh
Lutfiatus Sa’adah
171810201031

Praktikum ke : 7
Hari/Tanggal : Jum’at, 12 Oktober 2018
Tempat/Waktu : Lab Komputasi/07.00-09.40

LABORATORIUM KOMPUTASI
PROGRAM STUDI FISIKA (S1)
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JEMBER
2018
Identitas Praktikum
1 JUDUL PRAKTIKUM : Bahasa Pemrograman Fortran

2 PRAKTIKUM KE : 7
3 NIM : 171810201031
4 Rekan Kerja Praktikum : 1
5 Nama Mahasiswa : Latifah Rahmawati
6 NIM : 171810201033
7 Nama Dosen Pengampu : Dr. Artoto Arkundato
8 Nama Asisten : Fajar Alfian Yusuf
9 Nama Asisten : Dimas Sony
10 Nama Asisten : Andik Dwi Prasetya
BAB 1. TEORI

1.1 Tujuan
Tujuan dari praktikum Fisika Komputasi : Bahasa Pemrograman Fortran
adalah
1. Membuat program menggunakan bahasa pemrograman Fortran.
2. Mengaplikasikan gerak peluru ke dalam bahasa pemrograman Fortran.

1.2 Teori
Fortran adalah sebuah bahasa pemrograman. Pertama kali dikembangkan pada
tahun 1956 oleh John Backus di IBM. Digunakan dalam bidang sains selama 50
tahun kemudian. Ditujukan untuk mempermudah pembuatan aplikasi matematika,
ilmu pengetahuan, dan tehnik. Pertama kali bernama FORTRAN yang merupakan
singkatan dari Formula Translator/Translation, tetapi penggunaan huruf besar
kemudian ditiadakan sejak versi Fortran 90. Merupakan bahasa pemrograman
tingkat tinggi pertama dan prosedural, akan tetapi versi-versi terbaru dari Fortran
kemudian dikembangkan dengan memasukkan kemampuan object-oriented
programming. Unggul pada dukungan dalam menangani bentuk perhitunga,
termasuk bilangan kompleks. Kelemahannya pada operasi input/output yang lalu.
Kode sumbernya juga sulit dipahami dibanding bahasa pemrograman tingkat
tinggi lainnya(Sobri, 2017).
Bahasa ini cukup mudah dipahami dan efektif untuk digunakan. Sehingga,
bukan hal yang aneh apabila dengan cepat, bahasa ini berkembang di masyarakat.
Bahasa FORTRAN ditujukan terutama sebagai aplikasi di bidang sains dan
teknik. Namun saat ini, bahasa FORTRAN harus bersaing dengan bahasa-bahasa
pemrograman lain secara kompetitif. FORTRAN yang digunakan pada praktikum
kali ini adalah Force 2.0(FORTRAN compiler) yang dimana FORTRAN ini
setingkat dengan FORTRAN 2000. Kelebihan Bahasa Pemrograman FORTRAN
yaitu : 1. FORTRAN bisa menangani ekspresi matematika dan logika yang
kompleks. Pernyataanya cukup pendek dan sederhana, 2. Program FORTRAN
yang dikembangkan pada satu tipe komputer bisa dengan mudah dimodifikasi
agar bisa bekerja pada tipe yang lain. Sedangkan kekurangan Bahasa
Pemrograman FORTRAN yaitu : 1. FORTRAN tidak menangani operasi input
dan output pada peralatan penyimpanan seefisien bahasa lain yang levelnya lebih
tinggi, 2. Memiliki keterbatasan untuk mengekspresikan dan memproses data
nonnumerik, 3. Tidak bisa dibaca atau dipahami semudah bahasa level tinggi.
Terdapat beberapa hal yang menjadikan bahasa pemrograman FORTRAN lebih
unggul dibandingkan dengan bahasa pemrograman lain yaitu, 1. Proses eksekusi
atau kompilasi program yang cukup cepat, 2. Metode penulisan program sangat
fleksibel, setiap bagian blok program dapat ditulis secara tidak berurutan, 3.
Mendukung teknik kompilasi secara menyeluruh (all compilation), maksudnya
misalkan kita memiliki 5 buah file FORTRAN yang saling berhubungan maka
semua file tersebut dapat langsung dikompilasi semua dalam satu perintah dengan
bantuan makefile yang kita buat, 4. memilki kompilator (compiler) yang cukup
banyak berkembang. Masih banyak keunggulan yang dimiliki oleh bahasa
pemrograman ini yang mungkin dapat dirasakan ketika kita membuat
program(Henny, 2016).
Struktur bahasa FORTRAN dibagi menjadi lima bagian kolom dan tiap-tiap
baris didalam program dapat berisi: 1. Metacommand merupakan compiler
directive (misalnya statement Program seperti pada bahasa pemrograman Pascal).
Sifatnya optional, maksudnya tidak harus ada. Metacommand dapat digunakan
saat akan berkomunikasi dengan kompiler mengenai informasi tertentu, 2.
Komentar dapat berupa tulisan bebas apapun yang berguna untuk memberi
keterangan tentang program, sehingga memudahkan dalam membaca
program tersebut dan berguna jika ingin memodifikasi program atau bila terjadi
kesalahan coding, 3. Statement merupakan inti dari program, berisi instruksi-
instruksi kepada komputer. Penuangan logika perogram ke komputer juga
difasilitasi oleh bagian sambungan dari statement baris sebelumnya (sifatnya
optional)(Harijono, 2006).
BAB 2. HASIL DAN PEMBAHASAN
2.1 Hasil

Gambar 2.1

Gambar 2.2

Gambar 2.3
Gambar 2.4

Gambar 2.5

Gambar 2.6
Gambar 2.7

Gambar 2.8

Gambar 2.9
Gambar 2.10

Gambar 2.11

Gambar 2.12
Gambar 2.13

Gambar 2.14

Gambar 2.15
Gambar 2.16

Gambar 2.17

Gambar 2.18
Gambar 2.19

Gambar 2.20

Gambar 2.21
Gambar 2.22

Gambar 2.23

Gambar 2.24
Gambar 2.25

Gambar 2.26

Gambar 2.27
Gambar 2.28

Gambar 2.29

Gambar 2.30
Gambar 2.31

Gambar 2.32

Gambar 2.33
Gambar 2.34

Gambar 2.35

2.2 Pembahasan
Praktikum kali ini membahas mengenai membuat program dalam bahasa
pemrograman fortran. Bahasa fortran yang digunakan adalah fortan 77 & 90.
Langkah awal yang dilakukan adalah dengan mengunduh file yang berisi modul
praktikum ke 7 dan script program pada e learning. Selanjutnya yaitu
mengekstraksi 3 folder yaitu : fortran77&90, scriptf90Area, dan gerak_peluru.
Kita akan mencoba mengenal terlebih dahulu fortran 77 dan 90, langkahnya yaitu
kita masuk ke folder fortran77&90, terdapat 3 file program fortran, kemudian kita
lihat isi file hello.f90 lalu mencompile file tersebut dan kita lihat apa tampilan
hasil eksekusinya. Cara untuk mencompile file fortran 77 yaitu dengan
menuliskan perintah “$ f77 file.f –o file” lalu eksekusinya yaitu “./file”.
Sedangkan untuk mencompile file fortran 90 yaitu dengan menuliskan perintah “$
gfortran file.f90 –o file” dan eksekusinya “./file”. Namun sebelum mencompile
file fortran 77 dan 90, terlebih dahulu kita lakukan install gfortran pada linux kita,
dengan menuliskan perintah “sudo apt install gfortran”.
Tampilan di atas adalah tampilan saat kita sedang melakukan penginstalan
gfortran pada terminal. Setelah berhasil menginstal gfortran, barulah kita dapat
mencompile file yang terdapat pada folder fortran 77 dan 90, contohnya saja kita
ingin mencompile file hello.f90 dengan menuliskan perintah “gfortran hello.f90 –
o hello” dan mengeksekusinya dengan perintah “./hello” maka akan mendapatkan
tampilan seperti di bawah ini.

Berikutnya adalah kita akan mencari perbedaan pada script fortran 77 (area_01.f)
dan fortran 90 (area_01.f90). Berikut ini adalah tampilan masing-masing script
program fortran 77 dan fortran 90 :

Kemudian, kita panggil kedua script program pada terminal dengan menuliskan
perintah “gfortran area_01.f –o area_01” dan eksekusinya “./area_01” serta
perintah “f77 area_01.f –o area_01” dan eksekusinya “./area_01” . Sehingga
didapat hasil seperti pada tampilan di bawah ini :

Selanjutnya kita masuk pada script program untuk mencari luas lingkaran, pada
folder scriptf90Area terdapat 4 script program fortran90 untuk mencari luas
lingkaran dan satu script file csh yaitu area.csh. File area.csh adalah sebuah script
prosedur kerja yang kita lakukan di terminal linux dalam rangka mencompile,
memasukkan input, eksekusi program, dan membuat plot grafik dari data hasil
eksekusi program. Langkah berikutnya yang kita lakukan adalah menjalankan
program tersebut dengan menuliskan perintah “$ csh area.csh”. Namun, terlebih
dahulu kita harus menginstal csh pada terminal linux agar dapat melakukan
perintah tersebut. Kita dapat menuliskan perintah “sudo apt install tcsh” seperti
pada tampilan di bawah ini :

Setelah berhasil melakukan penginstalan csh pada terminal, kita dapat langsung
menjalankan perintah “$ csh area.csh” dan akan muncul tampilan seperti di bawah
ini :
Pada file fortran90, terdapat 4 script program area.csh. Kita dapat mencoba semua
script program tersebut untuk dipanggil di terminal linux. Berikutnya kita akan
menjalankan file ke 2 dari area.csh yang memiliki tampilan script sebagai berikut

Kemudian kita dapat menjalankan script program tersebut ke terminal dengan


perintah “csh area.csh –o area”, dan akan muncul tampilan seperti berikut :

Lalu kita akan beralih ke file ke 3 dari script program area.csh. Berikut adalah
tampilan script dari area_03.f90 :
Selanjutnya, sama seperti beberapa langkah di atas saat menjalankan script
program untuk area.csh yang lain, kita akan memanggilnya ke terminal linux
dengan perintah “csh area.csh –o area”. Sehingga, akan muncul tampilan seperti
di bawah :

Untuk file area_04.f90 memiliki tampilan script program seperti di bawah :

Kemudian untuk memanggil ke terminal linux, kita dapat menuliskan perintah


“csh area.csh –o area” dan akan muncul tampilan seperti di bawah :

Pada saat terminal menjalankan keempat script program ini, walaupun perintah
yang digunakan adalah sama namun terminal akan membaca berdasarkan script
program yang kita buka dan yang akan kita panggil di terminal, sehingga tampilan
di terminal kita terdapat tulisan “#......working on file area_01.f90” begitu juga
saat membuka script lainnya. Ketika menjalankan script area_01.f90 terjadi
kesalahan/error, namun saat kembali melihat scriptnya lagi terdapat masukan agar
kita mengubah outputnya menjadi sebuah gambar/grafik. Sehingga script tersebut
kita ubah formatnya ke gnuplot-qt yang akan menghasilkan output sebuah
gambar/grafik berekstensi jpeg. Script program untuk area.csh 1-4 memiliki
perbedaan saat menghasilkan sebuah grafik untuk mencari luasan lingkaran.
Perbedaan tersebut terlihat ketika kita menjalankan scriptnya pada terminal, dari
keempat script tersebut memiliki cara masing-masing dalam mencari luasan
lingkaran, dan program yang menurut saya paling efektif dan efisien adalah script
area_01.f90 dimana pendefinisian nilai R, perimeter, dan area tidak dilakukan
satu-satu karena hal itu akan memakan banyak waktu pula.
Selanjutnya adalah mengaplikasikan gerak peluru ke dalam program
fortran90. Langkah awal yang dilakukan yaitu masuk ke folder gerak_peluru.
Dalam folder gerak_peluru tersebut terdapat dua file csh dan dua file fortran90.
File Projectile.f90 adalah script program fortran untuk komputasi gerak peluru
tanpa hambatan udara. Untuk mencompile dan mengeksekusi program ini di
terminal ada dalam file Projectile.csh, dan program tersebut bisa dijalankan
langsung dengan perintah “$ csh Projectile.csh”.

Setelah menjalankan perintah “$ csh Projectile.csh” akan muncul nilai V0, theta,
dsb, kemudian kita dapat langsung menjalankan program Projectile.f90 dengan
menuliskan perintah “$ gfortran Projectile.f90 –o Projectile” dan ./Projectile. Lalu
kita akan diminta untuk memasukkan nilai V0, theta, tf dan dt. Setelah
mendapatkan semua nilainya, kita akan menjalankan perintah untuk
memunculkan grafik lewat gnuplot-qt, di gnuplot kita dapat langsung menuliskan
perintah semisal “plot “Projectile.dat” u 1:2” dan akan menghasilkan grafik
seperti di bawah ini :

Karena pada modul kita diminta untuk memasukkan nilai V0 = 10 m/s dan
memasukkan variasi sudut theta untuk setiap grafik, maka akan terdapat banyak
grafik dari hasil plot variasi theta (sudut) tersebut. Tampilan di atas adalah grafik
gerak peluru dengan variasi theta (sudut) sebesar 20. Untuk variasi sudut theta
yang lain, maka dengan menjalankan perintah awal seperti sebelumnya yaitu
“./Projectile” untuk memasukkan nilai variasi sudut theta yang baru. Selanjutnya
variasi sudut theta yang kita gunakan adalah 30. Setelah selesai, maka kita akan
menjalankannya lewat gnuplot-qt, kemudian menuliskan perintah “plot
“Projectile.dat” u 1:3” dan akan menghasilkan grafik seperti tampilan di bawah :

Lalu, kita lanjutkan untuk variasi sudut theta yang lain yaitu 40, karena kita masih
berada pada perintah gnuplot maka untuk keluar dari gnuplot kita tinggal
menekan “ctrl z”. Setelah keluar dari gnuplot, kita dapat menjalankan perintah
“./Projectile” kembali untuk memasukkan nilai sudut theta yang baru. Kemudian
menjalankan lewat gnuplot dengan memanggil gnuplot-qt pada terminal dan
menuliskan perintah “plot “Projectile.dat” u 1:4”, sehingga akan didapatkan
tampilan grafik seperti di bawah :

Untuk variasi selanjutnya, jangan lupa untuk kembali ke perintah “./Projectile”


untuk memasukkan nilai variasi sudut theta yang baru, variasi sudut theta yang
kita gunakan selanjutnya adalah 45. Setelah itu kita menjalankannya lewat
gnuplot dengan perintah “gnuplot-qt” dan menuliskan perintah “plot
“Projectile.dat” u 1:5” sehingga akan didapatkan grafik seperti di bawah ini :

Variasi sudut theta selanjutnya yaitu 50, saat menjalankan di gnuplot-qt perintah
yang dituliskan adalah “plot “Projectile.dat” u 1:5” dan akan muncul tampilan
grafik seperti di bawah :
Variasi sudut theta selanjutnya yaitu 60, setelah memasukkan nilai variasi tersebut
pada perintah “./Projectile” lalu memanggilnya lewat gnuplot-qt dan menuliskan
perintah “plot “Projectile.dat” u 2:3” akan muncul tampilan seperti di bawah :

Variasi sudut theta yang terakhir dari program Projectile.f90 yaitu 80, saat
memanggil lewat gnuplot-qt dengan menuliskan perintah “plot “Projectile.dat” u
2:4” akan muncul tampilan seperti di bawah :
Selanjutnya yaitu kita harus membuat script program untuk menampilkan gambar
grafik waktu dengan posisi untuk sumbu y dari semua variasi sudut peluru yang
ditembakkan (20, 30, 40, 45, 50, 60, 80) dalam semua gambar grafik, sehingga
grafik-grafik yang telah dihasilkan tadi akan dimunculkan dalam satu grafik
caranya yaitu kita membuat script program untuk masing-masing script
Projectile.f90 dengan variasi sudut thetanya juga. Setelah selesai membuat script
program yang baru, kita dapat menjalankannya lewat gnuplot-qt, karena kita akan
membuat banyak grafik tadi menjadi satu grafik maka perintah akan dituliskan
langsung semuanya dan perintahnya sama seperti perintah sebelumnya, hanya saja
saat memplot untuk grafik kedua dan seterusnya kita menuliskan “replot
“Projectile2.dat” u ....” dan akan ditampilkan grafik seperti di bawah :

Setelah selesai dengan aplikasi gerak peluru menggunakan file fortran


Projectile.f90, maka kita akan menggunakan file fortran
ProjectileAirResistance.f90 untuk ditampilkan grafiknya lewat gnuplot. Langkah
yang dilakukan sama seperti sebelumnya saat membuat grafik pada file
Projectile.f90. Kita harus menuliskan perintah lewat terminal terlebih dahulu “csh
ProjectileAirResistance.csh” karena file tersebut berekstensi csh, lalu kita akan
diminta untuk memasukkan masing-masing nilai k, V0, theta, tf, dan dt.
Selanjutnya, kita akan menjalankan program tersebut lewat gnuplot-qt. Variasi
sudut theta pertama yang digunakan adalah 20. Perintah yang digunakan pun juga
sama yaitu “plot “ProjectileAirResistance.dat” u 1:2” kemudian akan muncul
tampilan grafik seperti di bawah :

Untuk variasi sudut theta selanjutnya yaitu 30, perintah yang digunakan pada
gnuplot adalah “plot “ProjectileAirResistance.dat” u 1:3” dan akan muncul
tampilan grafik seperti di bawah :

Pada variasi sudut theta 40, perintah yang dituliskan pada gnuplot adalah “plot
“ProjectileAirResistance.dat” u 1:4” dan tampilan grafiknya adalah :
Untuk membuat grafik selanjutnya dengan variasi sudut theta yang lain langkah-
langkahnya sama dengan langkah sebelumnya. Setelah masing-masing grafik
dengan variasi sudut theta dibuat lewat gnuplot-qt menggunakan plot, maka kita
akan membuat semua grafik tadi menjadi satu grafik, untuk itu kita harus
membuat script program yang akan menampilkan gambar grafik waktu dengan
posisi untuk sumbu y dari semua variasi sudut peluru yang ditembakkan (20, 30,
40, 45, 50, 60, 80) dalam semua gambar grafik. Kemudian kita dapat langsung
menjalankannya lewat gnuplot-qt dengan menuliskan perintah “plot
“ProjectileAirResistance.dat” u 1 :2” tetapi untuk plot kedua dan seterusnya kita
menggunakan perintah “replot “ProjectileAirResistance2.dat” u ...” dan akan
menghasilkan grafik seperti di bawah :

Perbedaan dari plot file fortran Projectile.f90 dengan ProjectileAirResistance.f90


adalah plot yang dihasilkan dari file Projectile.f90 berbentuk garis linier
sedangkan plot yang dihasilkan dari file ProjectileAirResistance.f90 berbentuk
garis secara eksponensial. Kedua hasil plot tersebut adalah aplikasi program
fortran untuk komputasi gerak peluru tanpa hambatan udara.
BAB 3. PENUTUP

3.1 Kesimpulan
Script program untuk area.csh 1-4 memiliki perbedaan saat menghasilkan
sebuah grafik untuk mencari luasan lingkaran. Perbedaan tersebut terlihat ketika
kita menjalankan scriptnya pada terminal, dari keempat script tersebut memiliki
cara masing-masing dalam mencari luasan lingkaran, dan program yang menurut
saya paling efektif dan efisien adalah script area_01.f90 dimana pendefinisian
nilai R, perimeter, dan area tidak dilakukan satu-satu karena hal itu akan
memakan banyak waktu pula. Langkah terakhir dari aplikasi gerak peluru baik
Projectile.f90 atau ProjectileAirResistance.f90 yaitu membuat script program
untuk menampilkan gambar grafik waktu dengan posisi untuk sumbu y dari
semua variasi sudut peluru yang ditembakkan (20, 30, 40, 45, 50, 60, 80) dalam
semua gambar grafik, sehingga grafik-grafik yang telah dihasilkan akan
dimunculkan dalam satu grafik caranya yaitu membuat script program untuk
masing-masing script Projectile.f90 dengan variasi sudut thetanya juga.
Perbedaan dari plot file fortran Projectile.f90 dengan
ProjectileAirResistance.f90 adalah plot yang dihasilkan dari file Projectile.f90
berbentuk garis linier sedangkan plot yang dihasilkan dari file
ProjectileAirResistance.f90 berbentuk garis secara eksponensial. Kedua hasil plot
tersebut adalah aplikasi program fortran untuk komputasi gerak peluru tanpa
hambatan udara.
DAFTAR PUSTAKA

Harijono, D. 2006. Pengantar Pemrograman dengan Bahasa Fortran. Jakarta :


Gramedia
Henny, Febriana dkk. 2016. Belajar Dasar Algoritma dan Pemrograman.
Yogyakarta : CV BUDI UTAMA
Sobri, Muhammad dkk. 2017. Pengantar Teknologi Informasi : Konsep dan
Teori. Yogyakarta : Penerbit ANDI

Anda mungkin juga menyukai