Monday, April 15, 2013

Memulai Program Fortran 2000 (force 2.0)

Memulai Program Fortran 2000 (force 2.0)


                    Setelah kita membuka software dengan bahasa pemrograman FORTRAN  pada komputer yang sudah terinstal seperti yang sekarang digunakan pada modul ini force 2.0, maka tampilannya sebagai berikut

fortran
  1. 1.      Compile
Mengecek apakah pada program terjadi kesalahan penulisan atau terjadi logika yang kurang benar.
  1. 2.      Run
Jika sudah dilakukan compile dan program tidak terjadi kesalahan maka program siap di-run





Aturan Penulisan dalam Bahasa FORTRAN
                         Aturan penulisan bahasa FORTRAN adalah sebagai berikut:

a) Kolom pertama digunakan untuk indicator metacommand atau komentar untuk metacommand digunakan karakter “$” sedangkan jika berisi “C” atau  “c” berarti baris tersebut merupakan suatu komentar.
b) Kolom 1- 5 digunakan sebagai label statement, berupa suatu angka yang  menunjukkan letak dari suatu statement
c)  Kolom 6 digunakan sebagai indikator sambungan dari baris sebelumnya. Baris sambungan harus diberi indikator dengan cara meletakkan di kolom ke 6 karakter  apapun  kcuali  ”blank” atau ”0”.  Sampai dengan baris  19 baris sambungan berturut-turut dapat dipergunakan.
d)  Kolom  7 – 72 digunakan sebagai tempat untuk penulisan rutin program   (statement) FORTRAN
e)  Kolom 73 – 80 digunakan sebagai dokumentasi yang sifatnya optional.
                       Secara umum, pemograman komputer hanya terbagi  atas 3 bagian, yakni input, proses dan output. Proses Input/Output berhubungan dengan alat (device) I/O standar seperti keyboard, konsul (monitor), file serta periferal lainnya. Bagian terbesar dari pemograman biasanya terletak pada bagaimana proses (proses perhitungan misalnya) dilakukan. Bagian Input/Output dapat dikelompokkan pada pembahasan yang sama, sedangkan bagian proses ada dipisahkan menurut kegunaanya.  Dalam penulisan program sumber (source code), aturan/format berikut harus selalu dipatuhi. Setelah itu, setiap bagian program akan dibahas.
  1.  Kolom 1 Komentar. Jika pada kolom 1 diberi huruf C atau *, maka semua    karakter yang mengikutinya dikategorikan sebagai komentar.
  2.  Kolom 1-5 Tempat penulisan label yang merupakan alamat perintah lanjutan. Label harus dibuat ditulis dengan bilangan bulat (integer)
  3.  Kolom 6 Tempat tanda sambung. Semua karakter dapat digunakan sebagai tanda sambung.Disarankan untuk tidak menggunakan karankter / dan \
  4.  Kolom 7-72 Main body program. Tempat penulisan semua perintah yang diinginkan.
  5. Kolom 73-80 Tidak digunakan.
fortran4

  • Comment(Komentar) :
Berupa tulisan bebas yang berfungsi untuk memberi keterangan pada program, sehingga memudahkan untuk membaca program tersebut. Sangat berguna jika akan melakukan perubahan pada program.Bila terdapat kesalahan maka akan mudah membaca kembali dan menemukan kesalahan pada program tersebut. Cirinya selalu diawali dengan huruf C(besar atau kecil)
  • Statement
Merupakan inti dari program yang berupa instruksi-instruksi kepada komputer. Logika program dituangkan dalam bentuk statement kepada Compiler untuk diproses.
  • Yang terpenting dalam suatu Program adalah Statement
    • Statement ditulis dengan suatu aturan tata bahasa yang disebut sebagai Syntax
    • Jika suatu statement menyalahi syntax akan terjadi suatu kesalahan syntax disebut sebagai syntax error.
    • Statement dalam Bahasa FORTRAN dibentuk dengan elemen-elemen sebagai  berikut,
-        Konstanta (Constant)
-        Operator
-        Ungkapan
-        Variabel
-        Verb
-        Unit Specifier
-        Format Specifier

Contoh elemen-elemen statement dalam penulisan FORTRAN :
C234567
C TITLE: ‘Contoh Program FORTRAN’
CProgram ini untuk menunjukkan

fortran7 

  • Penulisan Statement pada FORTRAN
Penyataan FORMAT digunakan untuk membentuk format (bentuk) data masukan/keluaran yang meliputi tentang tata letak, tipe dan panjang data. Bentuk umum FORMAT ditulis sebagai berikut,
<label> FORMAT (edit list)
<label>  :                     Menunjukkan label yang merupakan alamat dari pernyataan READ/WRITE
edit list   :                     Merupakan edit descriptor yang merupakan perintah untuk mengatur tata letak, tipe dan panjang data.
Contoh penggunaan :
WRITE(6,10)A,B
10        FORMAT(2(1X,F12.5))

Notasi pada Format Statement

fortran8 

Jadi semisal ada Penulisan seperti berikut :
Format (1x,F6.2)
Artinya :
-  Tipe data yang digunakan adalah Real
- variable dapat menyimpan nilai sebesar 6 digit termasuk koma
- maksimal 2 angka dibelakang koma
  • Konstanta
Merupakan nilai yang tidak akan berubah pada suatu program. Pada bahasa FORTRAN,    konstanta dibedakan menjadi tiga :
  • Konstanta Numerik (Numeric Constant)
  • Konstanta Karakter (Character Constant)
  • Konstanta Logika (Logical Constant)

Contoh program dengan konstanta numerik :
C234567
I= 3
J= -234
K= 023
II= -34
write(*,*)’Latihan Konstanta Integer’
Write(*,1)I
1            Format(1x,’I =’,1x,I4)
Write(*,3)J
3            Format(/,1x,’J =’,1x,I4)
write(*,5)K
5            Format(1x,’K =’,1x,I4)
Write(*,10)II
10          Format(1x,’II =’,1x,I4)
End

Contoh program dengan konstanta karakter :
C234567
Character*8 Bahasa1,Bahasa2,Bahasa3,Bahasa4
Bahasa1=’FORTRAN’
Bahasa2=’BASIC’
Bahasa3=’BCPL’
Bahasa4=’ADA’
write(*,*)’Bahasa-bahasa Pemrograman’
write(*,10)Bahasa1,Bahasa2,Bahasa3,Bahasa4
10          Format(1x, 4A9)
End

  • Variabel
Data yang disimpan dalam memory komputer membutuhkan sebuah wadah. Wadah inilah yang disebut dengan variabel. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkan alokasi jumlah memory (byte) yang berbeda

  • Tipe Variabel/Data
Dalam FORTRAN terdapat 3 tipe data yang paling umum digunakan, yakni REAL, INTEGER dan CHARACTER yang mewakili angka desimal (floating point), bilangan bulat dan rangkaian dari karakter tertentu. Penamaan variabel sebaiknya memiliki arti. Disarankan hanya menggunakan maksimum 6 karakter dalam setiap nama variabel. Penggunaan nama variabel yang panjang seringkali tidak sesuai untuk komputer tertentu. Default untuk FORTRAN adalah INTEGER untuk semua variebel yang dimulai dengan huruf I-N dan REAL untuk semua variabel yang dimulai dengan huruf A-H,O-Z.
Walau semua variabel tersebut secara otomatis masih dalam kategorinya masing-masing, akan tetapi sangat diremendasikan untuk selalu mendeklarasikannya di awal program sumber. Contoh berikut menunjukkan deklarasi untuk variabel REAL dan INTEGER.
Tipe                                         Byte                                        Keterangan
INTEGER                                    2                             Bilangan bulat (-32767 – 32767)
INTEGER*2                                 2                             Bilangan bulat (-32767 – 32767)
INTEGER*4                                 4                             Bilangan bulat (-2147483647 –
2147483647)
REAL                                          4                             Bilangan desimal (floating point)
Untuk bilangan positif 8.43E-37 –3.37E38
Untuk bilangan negative -3.37E38 –    -8.43E-37
REAL*4                                      4                              Sama dengan REAL
REAL*8                                      8                              Bilangan desimal (floating point)
LOGICAL                                   4                              Logika .TRUE. dan .FALSE.
CHARACTER                             1                              Karakter (bukan angka)
  • Operator dan Ungkapan
              Operator di dalam bahasa pemrograman bisa diartikan sebagai simbol yang digunakan untuk melakukan suatu operasi terhadap nilai data. Simbol operator bisa berupa karakter ataupun kata khusus.
Ungkapan (Expression)
Dalam Bahasa FORTRAN ungkapan dibagi menjadi
  1. Ungkapan Aritmatika (Arithmetic Expression)
  2.  Ungkapan Karakter (Character Expression)
  3.  Ungkapan Logika (Logical Expression)
  4. Ungkapan Hubungan (Relational Expression)

1.      Ungkapan dan Operator Artitmatika
Operator Aritmatika digunakan untuk operasi matematis terhadap nilai data. Simbol-simbol yang digunakan
Operator                          Operasi/Arti                                     Hirarki
**                                    Pangkat                                                    1
*                                        Kali                                                         2
/                                         Bagi                                                       2
+                                       Tambah                                                 3
-                                        Kurang                                                   3
=                                   Sama dengan                                            -
Proses aritmatika pada komponen (operant) sejenis akan menghasilkan komponen sejenis. Sedangkan proses aritmatika yang tidak sejenis akan menghasilkan komponen dengan hirarki yang lebih tinggi. Agar proses aritmatika dengan hirarki yang lebih rendah dapat diproses terlebih dahulu, digunakan tanda kurung ( ).
contoh :

fortran9 

Contoh Program dengan ungkapan dan operator aritmatika
C234567
A= 2.3
B= 1.2
C= (A*B)
D=(A**2)-(B*C)
write(*,*)’Latihan Menuliskan Ungkapan Aritmatika’
Write(*,10) A,B
10           Format(‘A=’,F5.2,2x,’B=’,F5.2)
write(*,15)C,D
15            format(‘C=’,F6.3,2x,’D=’,F6.2)
End
2.      Ungkapan Karakter
Contoh Program dengan Ungkapan Karakter
C234567
Character*8 JenisKelamin,NamaBulan,NamaHari
JenisKelamin=’PRIA’
NamaBulan=’MARET’
NamaHari=’SELASA’
write(*,*) ‘Latihan Ungkapan Karakter ‘
Write(*,12)JenisKelamin,NamaBulan,NamaHari
12           Format(1x,3A10)
End

3.      Ungkapan Logika dan Kontrol
Ada 3 bentuk logika dan kontrol yang umum digunakan dalam FORTRAN, yakni IF, blok IF dan GOTO.
1. IF
Pernyataan IF digunakan untuk mengatur alur program komputer sesuai dengan arah yang diinginkan. Bentuk umum penyataan IF adalah,
IF(<ekspresi>)<statement>
<ekspresi>     :  Menunjukkan ekspresi, logika atau aritmatik,  yang harus  dibandingkan.
<statement>   :  Penyataan/perintah yang harus dilakukan jika hasil perbandingan    dalam <ekspresi> benar.
Untuk logikal expression, membandingkan dua nilai numerik,  <statement> dalam IF di atas disusun dengan menggunakan salah satu comparison (relation) operator berikut.
Operator    Arti
.GT.          lebih lebar dari
.GE.          lebih besar dan sama dengan
.LT.           lebih kecil dari
.LE.           lebih kecil dan sama dengan
.EQ.          sama dengan
.NE.          tidak sama dengan

  • STATEMENT    “DO”
Format:   DO <slabel>  [,] <variabel> = <expr1>,<expr2> [,expr3]
Fungsi: Melakukan proses pengulangan pernyataan-pernyataan yang berada diantara      statement DO dengan statement yang ditunjuk oleh Label Statement.
Keterangan:
<slabel> adalah label statement
<variabel> variabel numerik integer
<expr1> ungkapan integer yang menunjukkan hitungan awal banyaknya pengulangan.
<expr2>  Ungkapan integer yang menunjukkan hitungan akhir pengulangan.
<expr3>  Ungkapan integer yang menunjukkan pertambahan hitungan pengulangan. Jika pertambahannya(Increment) 1, maka tidak harus dituliskan.

  • Statement Open

OPEN(<unit-spec> [,FILE=‘<fname>’] [,STATUS=‘<status>’]
[,ACCESS=‘<access>’][FORM=‘<format>’][,RECL=<rec-length>])

Untuk membuka File yang berguna bagi pembacaan data dari dan penulisan data padafile yang dibuka tersebut. Penulisan statetment open sebagai berikut :

Keterangan:
1.<unit-spec>
Adalah unit specifier yang menunjukkan spesifikasi alat yang digunakan. Berupa nilai integer dan harus diletakkan sebagai argumen pertama di statement OPEN tersebut. Unit specifieryang digunakan pada statement READ dan WRITE untuk menunjukkan file yang digunakan.
2.<fname>
Merupakan nama file yang digunakan. Jika argumen ini tidak digunakan, maka FORTRAN akan membuat file sementara (scratch file). Bila nama file diisi dengan blank (FILE= ‘   ‘), maka user akan ditanya nama file saat program dijalankan(runtime) atau terdapat keterangan terminasi program.
3.<status>
Menunjukkan status dari file yang dibuka. OLD adalah status asli (default), jika tidak ditulis berarti status file tersebut adalah OLD dan jika file belum ada akan dianggap NEW. Status OLD digunakan jika file telah dipakai dan sudah berisi data, jika digunkan NEW maka isi file tersebut akan hilang. NEW digunakan untuk file yang belum pernah dibuat, jika digunkan OLD untuk kondisi ini maka akan terdapat kesalahan.
4.<access>
Adalah metode pengaksesan yang digunakan. Metode tersebut adalah SEQUENTIAL untuk sequential access dan DIRECT untuk direct access. Default dari access adalah SEQUENTIAL
5. <format>
Menunjukkan format dari data record, berupa FORMATTED, UNFORMATTED dan BINAARY. Jika access-nya SEQUENTIAL maka default format-nya adalah FORMATTED dan jika accessnya DIRECT maka default  format adalah UNFORMATTED.
6. <rec-length>
Merupakan panjang record yang ditunjukkan oleh nilai integer. Argumen ini hanya digunkan untuk pengaksesan secara DIRECT tidak untuk pengaksesan SEQUENTIAL.
  • Statement READ
                   Merupakan Statement Input/Output yang utama selain Write, Open dan Close.Untuk mentransfer atau membaca data dari suatu File, dapat berupa file disk atau console.

READ(<unit-spec> [, <format-spec>]        [ REC =<rec-num>]  [ ,END = <slabel1>] [,ERR = <slabel2>] ) <iolist>
Keterangan :
<unit-spec>:Adalah unit specifier atau logical unitnumber(LUN), merupakan spesifikasi dari alat input yang digunakan.
<format-spec>:Merupakan spesifikasi format daridata yang akan dibaca, menunjukkantipe, letak dan panjang data.
<rec-num>  : Adalah record number, hanya digunakan  pada pembacaan data dari file di disksecara direct access.
<slabel1>: Merupakan statement label yangpertama, hanya digunakan untuk pembacaan data dari file di disk, Jika telah sampai ke record terakhir atau akhir dari file, maka kontrol proses akan menuju executable statement
<slabel2> :Adalah statement label kedua yang digunakan untuk mendeteksi bila terjadi kesalahan pada pembacaan data, maka kontrol proses akan menuju ke executable statement yang ditunjukkan label tersebut.
<iolist> :         adalah Input/output  list yang berupa kumpulan atau sebuah nama variabel, nama larik, atau elemen dari larik yang ditulis dengan pemisah koma atau suatu implied do list untuk menerima data yang dibaca


sumber:
  1.   Modul Praktikum Pemrograman Komputer Teknik Mesin UB 2013
  2. http://informatika.stei.itb.ac.id/~rinaldi.munir/MetNum/2010-2011/Bahasa%20Fortran.pdf 
  3. http://johan-jm.blogspot.com/2010/06/bahasa-pemrograman-fortran.html


1 comment: