90593494 bab-2-pemogranan-aplikasi-sederhana-fotran
Transcript of 90593494 bab-2-pemogranan-aplikasi-sederhana-fotran
STANDAR KOMPETENSI
Setelah menyelesaikan mata kuliah Komputer mahasiswa mampu mengembangkan paket program aplikasi mandiri untuk menyelesaikan masalah keteknikan khususnya Teknik Mesin
dengan bahasa FORTRAN
KOMPETENSI DASAR
Mahasiswa dapat mengaplikasikan dasar-dasar pemrograman yang dimiliki dalam bentuk program aplikasi
komputer sederhana
INDIKATOR
1. Mahasiswa dapat menuliskan kode sumber (Source Program) program aplikasi sederhana sesuai dengan organisasi Fortran
2. Mahasiswa dapat menggunakan elemen-elemen dasar program Fortran dalam menulis program aplikasi sederhana.
3. Mahasiswa dapat memilih tipe-tipe data yang sesuai untuk setiap data yang digunakan di dalam program aplikasi yang dibuat.
4. Mahasiswa dapat menggunakan statemen read/write dalam memanipulasi tampilan pemasukkan data dan tampilkan hasil eksekusi
18
Pemrograman Komputer Bahasa FORTRAN -
program sehingga program yang dihasilkan lebih interaktif.
2.1 STRUKTUR PROGRAM FORTRAN
Salah satu konsep dasar yang paling penting dan perlu diketahui oleh mereka yang ingin mempelajari suatu bahasa komputer adalah struktur dari program yang akan ditulis dengan bahasa tersebut. Tanpa mengetahui strukturnya dengan tepat, maka seseorang tidak akan dapat menulis suatu program FORTRAN dengan benar. Yang lebih parah lagi, anda tidak akan tahu bagaimana harus memulai menulisnya.
Struktur dari program FORTRAN dibagi menjadi 5 bagian kolom dan tiap-tiap baris didalam program dapat berisi :
MetacommandMetacommand atau compiler directive sifatnya adalah opsional di dalam program FORTRAN, artinya tidak harus ada. Metacommand digunakan apabila ingin berkomunikasi dengan compiler mengenai informasi-informasi tertentu.KomentarKomentar (comment) dapat berupa tulisan bebas apapun yang berguna untuk memberikan keterangan pada program, sehingga memudahkan untuk membaca program tersebut. Komentar tidak diproses oleh program.StatemenStatemen (statement) merupakan inti dari program yang berupa instruksi-instruksi kepada komputer. Logika program dituangkan dalam bentuk statemen kepada compiler untuk diproses.Sambungan dari statemen baris sebelumnya.
Untuk memudahkan seorang programmer menuliskan program FORTRAN, disediakan formulir khusus yang disebut Formulir Kode Fortran (Fortran Coding Form). Bentuk formulir ini dengan contoh program FORTRAN ditunjukkan dalam gambar 2.1. Tiap statemen FORTRAN harus mulai dari baris baru, sedangkan statemen tersebut dapat menggunakan satu atau beberapa baris pada formulir ini. Tiap baris berisi 80 spasi dan tiap spasi hanya dapat diisi oleh satu karakter yang dikenal dalam FORTRAN. Aturan yang harus diikuti dalam menulis program FORTRAN adalah sebagai berikut :1. Kolom ke 1 digunakan untuk indikasi bahwa baris yang digunakan
adalah berisi komentar atau berisi metacommand. Karakter “C” atau “c” atau “*” (asterik) menunjukkan
kolom tersebut berisi komentar yang tidak akan diproses oleh komputer. Karakter “$” (dollar) menunjukkan bahwa baris tersebut
berisi metacommand.
19
Pemrograman Komputer Bahasa FORTRAN -
2. Kolom 1 sampai 5 dipergunakan untuk menuliskan nomor pengenal (label), berupa suatu angka yang menunjukkan letak dari suatu statemen.
3. Kolom 6 dipergunakan untuk indikasi sambungan statemen dari baris sebelumnya. Karakter yang digunakan adalah semua karakter kecuali blank atau 0. Jumlah sambungan maksimum 19 buah berturut-turut.
4. Kolom t sampai dengan 72 dipergunakan untuk menuliskan statemen FORTARN.
5. Kolom ke 73 sampai dengan 80 tidak dipergunakan oleh FORTRAN, dapat dimanfaatkan sebagai catatan atau nomor pengenal yang tidak diproses oleh komputer.
Gambar 2.1 Formulir Kode Fortran (Fortran Coding Form)
Bagian program yang ditunjukkan dalam program 2.1 menunjukkan struktur program FORTRAN.
$TITLE : 'Contoh Program FORTRAN'C Program ini untuk menunjukkanC Struktur dari program FORTRANC234567890 C=25.0 F=C*1.8+32 WRITE(*,5) C, F 5 FORMAT(1X, F6.2, 1X, 'CELCIUS ADALA SEBESAR ', F6.2, - 1X,'FAHRENHEIT'
END
Statemen FORTRAN Label Statemen Indikasi sambunga Komentar Indikasi komentar Matacommand
20
konstanta
unit specifier
format specifier
verb
nama
operator
ungkapan
Pemrograman Komputer Bahasa FORTRAN -
Program 2.1 Struktur program FORTRAN
2.2 ELEMEN DASAR FORTRAN
Elemen dasar terpenting dari bahasa FORTRAN adalah statemen. Statemen ditulis dengan suatu aturan tata bahasa atau bentuk umum atau grammer atau syntax tertentu yang sudah ditentukan. Kalau penulisan statemen menyalahi sintaksisnya berarti terjadi kesalahan sistaksis (sintax error). Untuk itu perlu adanya pemahaman yang baik tentang bentuk umum atau sintaksis dari masing-masing statemen FORTRAN.
Suatu statemen FORTRAN dibentuk dari elemen-elemen dasar berikut :1. Konstanta2. Operator3. Ungkapan4. Nama5. Verb6. Unit specifier7. Format Specifier
Program 2.2 menunjukkan elemen-elemen dasar dari statemen FORTRAN.
$TITLE : 'Contoh Program FORTRAN'C Program ini untuk menunjukkanC Struktur dari program FORTRANC234567890 C = 25.0
F = C * 1.8 + 32
WRITE(*,5) C, F
5 FORMAT(1X, F6.2, 1X, 'CELCIUS ADALA SEBESAR ', -F6.2, 1X,'FAHRENHEIT' END
Program 2.2 Elemen-elemen statemen FORTRAN
2.2.1 KONSTANTA
Konstanta adalah bilangan yang tidak berubah harganya selama pelaksanaan sebuah program. Konstatnta diwujudkan dalam bentuk numerik. Modus suatu konstanta dapat real (bilangan dapat pecahan), integer (tidak mengandung desimal), konstanta karakter dan konstanta logika.
21
Pemrograman Komputer Bahasa FORTRAN -
Contoh :+327, -173 (konstanta integer)
123.456, 5.0E03, -5.0E-03 (konstanta real)‘ABC’,’ ‘, ‘PT. XYZ’ (konstanta karakter, diapit oleh petik
tunggal (aposthrope)..TRUE. , .FALSE. (konstanta logika hanya memiliki dua
nilai yaitu benar (true) dan salah (false)
2.2.2 OPERATOR
Operator di dalam bahasa FORTRAN dapat terdiri dari operator arithmatika (arithmetic operator), operator hubungan (relational operator) dan operator logika (logical operator).Pengertian masing-masing operator adalah sebagai berikut :- Operator aritmatika adalah tanda operasi yang digunakan di dalam
perhitungan aritmatika. - Operator hubungan adalah tanda operasi yang digunakan untuk
menyatakan hubungan antara dua buah elemen- Operator logika adalah tanda operasi yang digunakan didalam
perbandingan logika
Tabel 2.1 Operator AritmatikaOperator Arti Contoh Jenjang*)
***/+-
PerpangkatanPerkalianPembagianPenambahanPengurangan
2**10 (210)5*12 (5 x 12)60/102+36-2
12233
*) mana yang lebih dulu diproses jika ada beberapa operator dalam satu ekspresi aritmatika
Tabel 2.2 Operator HubunganOperator Arti Contoh
.LT.
.LE.
.EQ.
.NE.
.GT.
.GE.
Lebih kecil dariLebih kecil sama dengan dariSama denganTidak sama denganLebi besar dariLebih besar sama dengan dari
A .LT. B (A<B)A .LE. B (A≤B)A .EQ. B (A=B)A .NE. B (A≠B)A .GT. B (A>B)A .GE. B (A≥B)
Tabel 2.1 Operator LogikaOperator Arti Contoh Hasil Jenjang.NOT. Tidak atau bukan .NOT. TRUE FALSE 1
22
Pemrograman Komputer Bahasa FORTRAN -
.AND..OR.
DanAtau
TRUE .AND. FALSETRUE .OR. FALSE
FALSETRUE
23
2.2.3 UNGKAPAN
Ungkapan (expression) dalam bahasa FORTRAN dapat berupa ungkapan arithmatika (arithmetic espression), ungkapan karakter (character expression), ungkapan hubungan (relational expression) dan ungkapan logika (logic expression). Pengertian masing-masing ungkapan tersebut adalah sebagai berikut :- Ungkapan Arithmatika merupanakan bentuk ungkapan matematika biasa,
dengan menggunakan operator aritmatika FORTRAN. Jenjang menunjukkan urutan mana yang diperoses terlebih dahulu. Untuk mengubah jenjang dapat dipergunakan pasangan kurung “(“ dan “)”.
Contoh 2.1 Ungkapan arithmatika :
FORTRAN Matematika(A+B)/C+D
B**2 – 4*A*C(A**2+B**2)**0.5
B2 – 4 X A X C
- Ungkapan Karakter merupakan ungkapan yang dapat berupa konstanta atau nama variabel. Unkapan karakter tidak boleh menggunakan operator aritmatika.Contoh 2.2 :
NAMA = ‘ANTON’
- Ungkapan Hubungan membandingkan nilai dari dua buah numerik atau karakter yang menghasilkan suatu nilai benar (TRUE) atau salah (FALSE).Contoh 2.3 :
IF (A .LT. B) C=5 (Jika A Kurang dari B maka C = 5)
- Ungkapan Logika menyatakan ungkapan suatu nilai logika. Ungkapan logika dibentuk dengan menggunakan operator logika yaitu .NOT. .OR. atau .AND.Contoh 2.4 :
(X.AND. Y) .AND. Z ((X dan Y) dan Z)
23
Ungkapan hubungan
Ungkapan Karakter
Pemrograman Komputer Bahasa FORTRAN -
Didalam sebuah ungkapan, operator arithmatika mempunyai jenjang tertinggi (1) diikuti oleh operator hubungan (2) dan yang terendah adalah operator logika.
Contoh 2.5 :(A .LT. (B**2)) .AND. (C .GT. D)
2.2.4 NAMA
Nama (name) atau disebut juga identifier dapat menunjukkan suatu variabel (variable), larik (array), fungsi (function) atau rutin bagian (subroutine). Nama didefinisikan sendiri oleh pembuat program (user defined name), dimana nama tersebut bersifat case sensitive, artinya huruf besar dan huruf kecil memiliki arti yang berbeda bagi compiler. Nama didefinisikan secara bebas dengan aturan sebagai berikut :
- Terdiri dari 1 sampai 6 huruf, atau kombinasi angka dan huruf- Nama harus dimulai dengan huruf- Tanda-tanda lain selain angka dan huruf tidak boleh digunakan - Dalam menulis nama tidak boleh ada spasi
Nama variabel adalah simbol yang menyatakan suatu besaran, yang ditentukan oleh statemen yang mendahuluinya. Harga variabel dapat berubah-ubah selama pelaksanaan program. Tipe dari variabel ada 4 yaitu variabel bulat (integer), pecahan (Real), karakter dan logika.Contoh 2.6 :
I, KOB, M123 (variabel tipe integer)A, DELTA, XL334 (variabel tipe real)Nama = ‘TEKNIK MESIN’ (variabel tipe karakter)STATUS = .TRUE. (variabel tipe logika)
2.2.5 VERB
Verb merupakan kata kerja perintah yang terdapat dalam statemen FORTRAN. Hampir semua statemen FORTRAN memiliki verb, kecuali satatemen pengerjaan (assignment statement).
Contoh 2.7 :
24
Ungkapan hubungan
Ungkapan arithmatika
Ungkapan logika
Pemrograman Komputer Bahasa FORTRAN -
- WRITE - FORMAT - WRITE- CALL - PRINT - GO TO
2.2.6 UNIT SPECIFIERUnit specifier atau logical unit number (LUN) merupakan nomor unit alat secara logika yang akan dipergunakan dalam operasi masukan dan keluaran (I/O). Biasanya, unit ini digunakan bersama-sama statemen masukan dan keluaran seperti READ, WRITE dan OPEN. Unit specifier dapat berupa :
1. * atau 0 yang menunjukkan unit yang dipergunakan adalah keyboard atau layar monitor (CRT).
2. Ungkapn integer, yaitu nilai bulat selain 0 yang menunjukkan unit alat yang dipergunakan adalah file external (printer dan disk). Contoh spesifikasi alat input dan output seperti berikut ini :
Alat input/output Nomor logical unit
Card Reader (input)Punch Card (output)Printer /PRN (output)Disk (input/output)
1234
Catatan : Nomor-nomor logical unit untuk komputer berbeda akan berbeda pula.
2.2.7 FORMAT SPECIFIER
Format specifier menunjukkan format yang akan dipergunakan oleh data masukan maupun data keluaran. Format ini biasanya digunakan pada penggunaan statemen READ dan WRITE.
2.3 TIPE DATA
Keberhasilan dalam membuat program komputer sangat ditentukan oleh ketepatan pemilihan dan penggunaan tipe data yang nantinya diolah didalam program tersebut. Pendefinisian tipe data yang tepat akan sangat berpengaruh terhadap pengalokasian memori komputer, yang akan berpengaruh terhadap kecepatan eksekusi program yang dibuat. Di dalam FORTRAN dikenal adanya 4 (empat) tipe data yaitu : tipe integer, tipe real, tipe karakter dan tipelogika.
2.3.1 DATA INTEGER
Data integer adalah data numerik bulat atau data numerik yang tidak mengandung angka dibelakang koma. Di dalam mendefinisikan suatu
25
Pemrograman Komputer Bahasa FORTRAN -
variabel atau konstanta dengan tipe integer nama variabel atau konstanta tersebut harus memiliki huruf pertama I, J, K, L, M, N (i, j, k, l, m, n), kecuali kata standar yang sudah dipakai compiler, seperti IF, if, LE, dan le.
Contoh 2.8 :I, KOB, M123 (tanpa deklarasi memori yang digunakan 4 byte)INTEGER*2 ISI (mendefinisikan variabel integer menjadi 2 byte) ISI = 275
Jumlah byte menunjukkan jumlah alokasi memori yang disediakan yang berpengaruh terhadap besarnya jangkauan nilai yang disimpan.
2.3.2 DATA REAL
Tipe data real merupakan data yang dapat pecahan, hasil operasi pembagian, dan operasi aritmatika lainnya. Di dalam mendefinisikan suatu variabel atau konstanta dengan tipe real, nama variabel atau konstanta tersebut harus memiliki huruf awalnya selain I, J, K, L, M, N dan huruf i, j, k, l, m dan n, kecuali kata standar yang sudah dipakai compiler seperti READ, read, END, end, FORMAT, format, dan lain sebagainya.
Contoh 2.9 :A, DELTA, XL334 (tanpa deklarasi memori yang digunakan 4 byte)REAL*8 NILAI (mendefinisikan variabel real menjadi 8 byte)
2.3.3 DATA KARAKTER
Data karakter adalah data yang berisi nilai karakter. Jika tidak didefinisikan, variabel untuk menyimpan nilai data karakter ini adalah 4 byte dan dapat didefinisikan menjadi n byte (n maksimum 127 byte). Tiap byte dapat menyimpan sebesar 1 karakter.
Contoh 2.10 :Nama = ‘TEKNIK MESIN’ (karena tidak didefinisikan maka
karakter nama sebesar 4 byte sehingga informasi yang disimpan hanya ‘TEKN’
CHARACTER*20 ALAMAT (mendefinisikan variabel ALAMAT dengan panjang 20 karakter)
2.3.4 DATA LOGIKA
Data logika adalah data yang hanya memiliki 2 (dua) keadaan yaitu benar dan salah. Default dari variabel untuk menyimpan data jenis ini adalah 4
26
Pemrograman Komputer Bahasa FORTRAN -
byte dan dapat didefinisikan menjadi 2 byte. Nama dari variabel dengan tipe data logika adalah bebas, diawali huruf apapun termasuk I, J, K, L, M, N. Variabel ini harus didefinisikan terlebih dahulu dengan statemen TYPE atau IMPLICIT.Contoh 2.11 :
STATUS = .TRUE.LOGICAL STATUS medefinisikan variabel logika 4 byteLOGICAL*2 STATUS medefinisikan variabel logika 2 byte
2.4 STATEMEN MASUKAN DAN KELUARAN
Didalam membuat program menggunakan bahasa FORTRAN statemen masukan dan keluaran (I/O) biasanya menggunakan statemen READ atau read dan WRITE atau writ. Pernyataan READ akan memberitahu komputer untuk membaca informasi numerik atau simbolik dari peralatan masukan (keyboard, monitor, disk dll), dan pernyataan WRITE memberitahu komputer untuk menampilkan atau mencetak data ke unit keluaran (monitor, printer, plotter, disk, dll). Pernyataan READ atau WRITE biasanya dibarengi dengan pernyataan FORMAT. Pernyataan FORMAT ini berguna untuk mengatur tampilan baik masukan maupun keluaran.
2.4.1 STATEMEN READ
Statemen dipergunakan untuk mentransfer atau membaca data dari suatu file, dapat berupa file di disk, printer, atau console (layar, keyboard). Bentuk umum :
READ(<unit specifier>,<format specifier>) ListDimana :
<unit specifier> nomor peralatan masukan<format specifier> merupakan spesifikasi format dari data yang akan
dibaca, tipe,letak dan panjang dari data.List merupakan kumpulan dari variabel yang akan
menerima data yang dimasukkan.
Contor 2.12:
C1234567890 READ(1,11) F, G, IK
11 FORMAT(2F10.2,I10)
Format specifier pada statemen READ dapat berupa :
27
Nomor peralatan masukan
Format Specifier
List Variabel
Pemrograman Komputer Bahasa FORTRAN -
1. Statemen label2. Variabel numerik integer3. Ungkapan karakter4. * (asterik)
A. Format Specifier Berupa Statemen Label
Format specifier yang berupa label statemen berbentuk suatu nilai konstanta integer yang menunjukkan letak daristateman FORMAT yang digunakan.
Contoh 2.13 :C Contoh 1C234567890 READ(*,5)A,B,I 5 FORMAT(1X, 2F5.2,I5) WRITE (*,5) END
C contoh 2C234567890 INTEGER*2 A(3) READ (*,5) A 5 FORMAT(1X,BN,3I5) WRITE(*,100) A 100 FORMAT(/,1X,'DATA YANG DIMASUKKAN ADALAH :',/,10X, 3I5) END
Bila dijalankan akan didapatkan hasil :
40 50 100
DATA YANG DIMASUKKAN ADALAH :40 50 100
B. Format Specifier Berupa Variabel Numerik Interger
Format specifier yang berupa variabel numerik integer menunjukkan nilai label statemen FORMAT yang sudah dimasukkan ke variabel numerik integer tersebut dengan statemen ASSIGN
28
Format Specifierberupa statemen label
input List
Data yang dimasukkan
Pemrograman Komputer Bahasa FORTRAN -
Contoh 2.14 :
C234567890 ASSIGN 5 TO IFORMAT 5 FORMAT(BN, F7.2,1X,F7.2,1X,I5) WRITE(*,10) WRITE(*,11) 10 FORMAT(1X,' 1234.67 1234.67 12345') 11 FORMAT(1X,'MASUKKAN DATA : ',\) READ(*,IFORMAT) A, B, J WRITE(*,20) WRITE(*,5) A,B,J 20 FORMAT(/.1X,'DATA YANG DIMASUKKAN ADALAH : ',\) END
Bila program ini dijalankan, akan didapat hasil : 1234.67 1234.67 12345
MASUKKAN DATA : 25.50 275.00 75
DATA YANG DIMASUKKAN ADALAH : 25.50 275.00 75
C. Format Specifier Berupa Ungkapan Karakter
Format specifier yang berupa ungkapan karakter langsung menunjukkan benrtuk dari tipr, letak dan panjang data sehingga statemen FORMAT sudah tidak diperlukan lagi.
Contoh 2.15 :
C234567890WRITE(*,10)
WRITE(*,11) 10 FORMAT(1X,' 1234.67 1234.67 12345') 11 FORMAT(1X,'MASUKKAN DATA : ',\) READ(*,’(BN, F7.2, 1X, F7.2, 1X, I5)’) A, B, J WRITE(*,20) WRITE(*,5) A,B,J 20 FORMAT(/.1X,'DATA YANG DIMASUKKAN ADALAH : ',\) END
Program di atas dapat ditulis :
29
merupakan variabel numerik integer
data yang dimasukkan
Pemrograman Komputer Bahasa FORTRAN -
C234567890CHARACTER*23 BENTUK
BENTUK =’(BN, F7.2, 1X, F7.2, 1X, I5)’
WRITE(*,10) WRITE(*,11) 10 FORMAT(1X,' 1234.67 1234.67 12345') 11 FORMAT(1X,'MASUKKAN DATA : ',\) READ(*,BENTUK) A, B, J WRITE(*,20) WRITE(*,5) A,B,J 20 FORMAT(/.1X,'DATA YANG DIMASUKKAN ADALAH : ',\) END
Bila program ini dijalankan, akan didapat hasil :
1234.67 1234.67 12345MASUKKAN DATA : 25.50 275.00 75
DATA YANG DIMASUKKAN ADALAH : 25.50 275.00 75
D. Format Specifier Berupa * (asterik)
Format specifier yang berupa * (asterik) menunjukkan suatu list directed I/O transfer, yaitu transfer secara langsung ke alat input tanpa menggunakan statemen FORMAT. Imput data yang dimasukkan secara langsung dapat berupa kumpulan dari beberapa nilai data yang dimasukkan dengan suatu pembatas yang berrupa koma atau spasi. Data ini berupa :
- Konstanta : numerik, karakter dan logika- Nilai kosong (null)- Sejumlah data yang diulang dimasukkan dengan bentujk : jumlah
data * konstanta data
Contoh 2.16 :
C234567890 LOGICAL LULUS CHARACTER*10 NAMA READ(*,*) NOMHS, NAMA, XNILAI1, XNILAI2, LULUS WRITE(*,20) WRITE(*,21) NOMHS, NAMA, XNILAI1, XNILAI2, LULUS 20 FORMAT(/.1X,'DATA YANG DIMASUKKAN ADALAH : ',\)
30
data yang dimasukkan
format specifier berbentukungkapan karakter
Pemrograman Komputer Bahasa FORTRAN -
21 FORMAT(I5,2X,A10,2(2X,F6.2),2X,L1) END
Bila dijalankan akan tampak sebagai berikut :
85534 DANNY 2*75.50 .TRUE.DATA YANG DIMASUKKAN ADALAH : 85534 DANNY 75.50 75.50 T
2.4.2 STATEMEN WRITE
Statemen WRITE dipergunakan sebagai statemen keluaran untuk menuliskan hasil pengolahan data di peralatan keluaran yan9 ditunjukkan pada <unit specifier>. Sintaksis dari statemen WRITE adalah :
WRITE (<unit specifier>,<format specifier>) ListDimana :
<unit specifier> nomor peralatan masukan<format specifier> merupakan spesifikasi format dari data yang akan
dibaca, tipe,letak dan panjang dari data. List merupakan kumpulan dari variabel yang datanya akan ditampilkan.
Contor 2.17 :
C1234567890 WRITE(1,20) F, G, IK
20 FORMAT(2F10.2,I10)
Seperti halnya pada statemen READ, format specifier pada statemen WRITE juga dapat berupa :1. Statemen label2. Variabel numerik integer3. Ungkapan karakter4. * (asterik)
A. Format Specifier Berupa Satemen Label
Format specifier yang berupa statemen label berbentuk suatu nilai konstanta integer yang menunjukkan letak daristateman FORMAT yang digunakan.
31
Nomor peralatan masukan
Format Specifier
List Variabel
Pemrograman Komputer Bahasa FORTRAN -
Contoh 2.18 :
C234567890 A=3.90 B=10.00 WRITE(*,21) A, B 21 FORMAT(1X, ‘Nilai A =’ F7.2, ‘DAN B = ‘, F7.2) END
Program di atas dapat juga dituliskan seperti pada contoh dibawah dengan hasil yang persis sama.
C234567890 A=3.90 B=10.00 WRITE(*,21) ‘Nilai A == ‘,A, ‘DAN B = ‘ ,B 21 FORMAT(1X,A10, F7.2, A10, F7.2) END
Bila ke dua program di atas dijalankan akan didapat hasil :
Nilai A = 3.90 DAN B = 10.00
B. Format Specifier Berupa Variabel Numerik Interger
Format specifier yang berupa variabel numerik integer menunjukkan nilai label statemen FORMAT yang sudah dimasukkan ke variabel numerik integer tersebut dengan statemen ASSIGN
Contoh 2.19 :
C234567890 ASSIGN 21 TO LABEL A=3.90 B=10.00 WRITE(*,LABEL) A,B 21 FORMAT(1X, ‘Nilai A =’ F7.2, ‘DAN B = ‘, F7.2) END
32
Output list berupa kumpu;lan variabel dan konstanta karakter
output List
Format Specifierberupa statemen label
Format Specifierberupa statemen label
Output list berupa kumpulan variabel
Format Specifierberupa variabel numerik integer
Pemrograman Komputer Bahasa FORTRAN -
C. Format Specifier Berupa Ungkapan Karakter
Format specifier yang berupa ungkapan karakter langsung menunjukkan benrtuk dari tipr, letak dan panjang data sehingga statemen FORMAT sudah tidak diperlukan lagi.Contoh 2.20 :
C234567890 A=3.90 B=10.00 WRITE(*,’(1X,’’Nilai A = ’’,F7.2,’’DAN B = ’’,F7.2)’)A,B END
D. Format Specifier Berupa * (asterik)
Format specifier yang berupa * (asterik) menunjukkan suatu list directed I/O transfer, yaitu transfer secara langsung ke alat input tanpa menggunakan statemen FORMAT. Imput data yang dimasukkan secara langsung dapat berupa kumpulan dari beberapa nilai data yang dimasukkan dengan suatu pembatas yang berrupa koma atau spasi. Data ini berupa :
- Konstanta : numerik, karakter dan logika- Nilai kosong (null)- Sejumlah data yang diulang dimasukkan dengan bentujk : jumlah
data * konstanta data
Contoh 2.22 :
C234567890 IMPLICIT REAL*4(M), REAL*4(I) WRITE(*,’(1X,A,\)’) ‘BERAPA METER ? READ(*,’(F8.2)’) METER FEET = METER * 3.28 YARD = METER * 1.09 MILE = METER * 0.00062 INCH = METER *39.37 WRITW(*,*) WRITE(*,*)’ NILAI KONVERSINYA : ‘ WRITE(*,*) WRITE(*,*) METER,’METER = ‘,FEET,’FEET’ WRITE(*,*) METER,’METER = ‘,YARD,’YARD’
33
Format specier berupa ungkapan karakter
Format Specifier berupa *
Pemrograman Komputer Bahasa FORTRAN -
WRITE(*,*) METER,’METER = ‘,MILE,’MILE’ WRITE(*,*) METER,’METER = ‘,INCH,’INCH’ END
Bila dijalankan, akan didapatkan hasil :
BERAPA METER ? 10.00
NILAI KONVERSINYA :
10.0000000 METER = 32.8000000 FEET10.0000000 METER = 10.9000000 YARD10.0000000 METER = 6.200000E-003 MILE10.0000000 METER = 393.7000000 INCH
2.4.3 STATEMEN FORMAT
Statemen FORMAT digunakan untuk menentukan spesifikasi data yang akan dimasukkan atau dikeluarkan. Statemen FORMAT bebas diletakkan dimana saja di dalam program. Betuk umum statemen ini adalah :
<label> FORMAT <format-specification>dimana :
<label> menunjukkan label dari statemen format yang akan digunakan oleh statemen READ atau WRITE
<format-specification> merupakan bentuk yang menyediakan informasi terhadap letak, tipe dan panjang data. Format-specification ini harus ditulis di dalam tanda kurung. Isi dari format-specification ini adalah EDIT DISKRIPTOR.
A. EDIT DISKRIPTOR DATA INTEGERBentuk umum :
<n> I <w> . <d>dimana :
<n> banyaknya pengulangan<w> pajang/digit data (harus integer)<d> banyaknya angka nol dimuka pengganti blank.
34
Pemrograman Komputer Bahasa FORTRAN -
Contoh 2.23
C234567890 NOMOR1 = 1991 NOMOR2 = 5000 NOMOR3 = 7654 WRITE(*,10) NOMOR1, NOMOR2, NOMOR3 10 FORMAT(I4, I6, I3) END
Bila dijalankan, akan didapatkan hasil : I4 I6 I3
9 3 7 8 2 1 0 * * *
Hal yang sama berlaku untuk statemen FORMAT pada perintah masukan dengan statemen READ
B. EDIT DISKRIPTOR DATA REAL
Ada 2 (dua) buah edit discriptor untuk format tipe data real yaitu tipe F untuk data real biasa, E untuk data real ketepatan tunggal dan D untuk data real ketepatan ganda.
Bentuk umum edit discriptor untuk data numerik real biasa seperti berikut ini :
<n> F <w> . <d>dimana :
<n> banyaknya pengulangan.<w> pajang/digit seluruh data (harus integer).<d> menunjukkan digit dibelakang koma
Contoh 2.24.
C234567890 A = 15.23 B = 25.52
35
Digit
*** mrnunjukkan panjangnya terlalu kecil dibanding data
nilai pertama akan hilang
Pemrograman Komputer Bahasa FORTRAN -
C = 101.243 WRITE(*,10) A, B, C 10 FORMAT(1X, 2F7.2, F9.3) END
Bila dijalankan, akan didapatkan hasil :
15.23 25.52 101.243 F7.2 F7.2 F9.3
Untuk tipe data real ketetapan tunggal digunakan edit diskriptor E denga bentuk umum :
<n> E <w> . <d>dimana :
<n> banyaknya pengulangan.<w> pajang/digit seluruh data (harus integer).<d> menunjukkan digit dibelakang koma
Contoh 2.25 :
C234567890 A = 0.275E+4 B = 0.125E+04 C = 0.6125E+05 WRITE(*,10) A, B, C 10 FORMAT(1X, E10.3, E10.3, E12.4) END
Bila dijalankan, akan didapatkan hasil :
0.275E+4 0.125E+04 0.6125E+05
3 3 4 10 10 12 E10.3 E10.3 E12.4
Edit Discriptor D digunakan untuk tipe data numerik ketepatan ganda. Bentuk umum dari edit discriptor ini sebagai berikut :
<n> D <w> . <d>dimana :
<n> banyaknya pengulangan.<w> pajang/digit seluruh data (harus integer).<d> menunjukkan digit dibelakang titik desimal
Contoh 2.26 :C234567890 A = 0.275D+4
36
Pemrograman Komputer Bahasa FORTRAN -
B = 0.125D+04 C = 0.6125D+05 WRITE(*,10) A, B, C 10 FORMAT(1X, 3D12.3) END
Bila dijalankan, akan didapatkan hasil :
0.275D+4 0.125D+04 0.613D+05
3 3 3 12 12 12 D12.3 E12.3 D12.3
C. EDIT DISKRIPTOR DATA KARAKTER
Untuk format data tipe karakter/alpanumerik digunakan edit discriptor A. Bentuk umum dari edit discriptor ini adalah sebagai berikut :
<n> A <w> dimana :
<n> banyaknya pengulangan.<w> pajang/digit seluruh data (harus integer).
Contoh 2.27 :
C234567890 CHARACTER*8 BHS1, BHS2, BHS3 BHS1 = ’PASCAL’ BHS2 = ’BASIC’ BHS3 = ’FORTRAN’ WRITE(*,10) BHS1, BHS2, BHS3 10 FORMAT(1X,3A8) END
Bila dijalankan, akan didapatkan hasil :
123456781234567812345678 (jumlah digit) PASCAL BASIC FORTRAN
A8 A8 A8
D. EDIT DISKRIPTOR DATA LOGIKA
Untuk data tipe logika digunakan edit discriptor L dengan bentuk umum sebagai berikut :
<n> A <w>
37
Pemrograman Komputer Bahasa FORTRAN -
dimana :<n> banyaknya pengulangan.<w> panjang/digit seluruh data (harus integer).
Contoh 2.28 :
C234567890 LOGICAL BENAR, SALAH BENAR = .TRUE. SALAH = .FALSE. WRITE(*,10) BENAR, SALAH 10 FORMAT(1X, 2L10) END
Bila dijalankan, akan didapatkan hasil : 12345678901234567890 (jumlah digit) T F
L10 L10
SOAL-SOAL YANG DIPECAHKAN
1.1. Tentukan keluaran program berikut :C PROGRAM PERTAMA YANG DISELESAIKAN
J=1K=3L=2*J+KJ=3*J+2*LK=K+2L=J+K+LWRITE(*,20) J, K, L
20 FORMAT(3I5)END
Eksekusi program :Baris 1. komputer melewati pernyataan ini karena merupakan sebuah komentarBaris 2. Komputer menyimpan 1 dalam lokasi penyimpanan berpengenal J J 1Baris 3. Komputer menyimpan nilai 3 dalam loksi penyimpanan berpengenal K
K 3Baris 4. pernyataan ini memberitahukan komputer untuk menghitung 2xJ+K, dan
menyimpan nilai hasilnya di lokasi penyimpanan berpengelan LL 2*J+K (2*1+3)
38
Pemrograman Komputer Bahasa FORTRAN -
L 5Baris 5 ini memberitahu komputer untuk menghitung 3*J+2*L mengunakan nilai
J yang sekarang dan L, kemudian menyimpan hasilnya di lokasi penyimpanan berpengenal J
J 3*J+2*L (3*1+2*5=13)J 13
Karenanya komputer menghapus nilai J yang sekarang dan menggantinya dengan 13 di tempat penyimpanan yang sama. Kita gambarkan hal ini dengan :
J 1 13Baris 6. Pernyataan ini memberitahu komputer untuk menambah nilai K yang
sekarang dengan 2K 3 5
Baris 7. Komputer menambahkan nilai J, K, dan L sekarang :J+K+L=13+5+5=23
Kemudian komputer menghapus nilai L yang sekarang dan menggantinya dengan 23 di tempatnya.
L 5 23 Baris 8. Komputer mencetak nilai J, K dan L dengan Format seperti tercantum
dalam statemen FORMAT pada statemen dengan label 20, yaitu format integer dengan masing-masing bernilai 5 digit
13 5 23
5 5 5 digit rata kananBaris 10. Ini adalah akhir dari program
1.2 Luas permukaan dan volume suatu kotam berukuran a,b,c diberikan oleh persamaan :
SUR=2(ab+ac+bc) dan VOL =abc
andaikan ukuran sebuah kotak adalah 23.5, 41.3 dan 16.2, temukan program untuk menyelesaikan persoalan tersebuat.
Jawab :
CCC23456789 READ(*,61) A, B, C 61 FORMAT(3F10.2) SUR = 2.0(A*B+A*C+B*C) VOL = A*B*C
39
Pemrograman Komputer Bahasa FORTRAN -
WRITE(*,62) A, B, C, SUR, VOL 62 FORMAT(1X, ‘DIMENSI KOTAK’,/,7X, 3(F5.1, 1X),//,6X, - ‘LUAS PERMUKAAN =’,F10.1,//,6X,’VOLUME =’,F16.2) END
SOAL-SOAL LATIHAN
1. Temukan kesalahan, jika ada, pada masing-masing pernyataan READ berikut dan pernyataan FORMAT yang menyertai.a. READ(*,11) A, K, M, Z b. READ(*,11) A, B, C, D, J, K, L 11 FORMAT(F6.0,I15,I10,I15) 11 FORMAT(4F15.2, 3I15)
c. READ(*,11) A, B, J, K, L 11 FORMAT(3F8.1, 2I8)
2. Temukan kesalahan, jika ada, pada masing-masing pernyataan WRITE berikut dan pernyataan FORMAT yang menyertai.a. WRITE (*,11) A, B, N 11 FORMAT (F10.2, 3X, I8, 5X, I6)
b. READ (*,11) J, Z, K11 FORMAT (1X, I10, 4X, 2F10.3)
3. Andaikan K berisi 12345, dan pernyataan :WRITE(*,41) K
dieksekusi, jelaskan keluaran program jika pernyataan FORMAT yang menyertainya adalah :
a. 41 FORMAT(I10) c. 41 FORMAT(4X, I3)b. 41 FORMAT(4X, I8) d. 41 FORMAT(I5)
PRAKTIKUM
1. Tulis dan jalankan menggunakan WATFOR-77, teliti bagaimana bentuk keluarannya, kemudian simpanlah programnya
C23456789 PROGRAM LAT_1AC Program menulis hasilC Bil. Bulat (integer)
KK = 779 LL = 29 WRITE(*,10)KK, LL
10 FORMAT (I3, I2) STOP END
C23456789 PROGRAM LAT_1BC Program menulis hasilC Bil. Bulat (integer)
KK = 779 LL = 29 WRITE(*,10)KK, LL
10 FORMAT (I5, I5) STOP END
C23456789 PROGRAM LAT_1CC Program menulis hasilC Bil. Bulat (integer)
KK = 779 LL = 29 WRITE(*,10)KK, LL
10 FORMAT (2I5) STOP END
40
Pemrograman Komputer Bahasa FORTRAN -
2. Tulis dan jalankan menggunakan WATFOR-77, teliti bagaimana bentuk keluarannya, kemudian simpanlah programnya.
C23456789 PROGRAM LAT_2AC Program menulis hasil C Bilangan Real
XMAX = 0.17 YMAX = 123.9 WRITE(*,10)XMAX, YMAX
10 FORMAT (F4.2, F5.1) STOP END
C23456789 PROGRAM LAT_2BC Program menulis hasil C Bilangan Real
XMAX = 0.17 YMAX = 123.9 WRITE(*,10)XMAX, YMAX
10 FORMAT (F7.2, F7.1) STOP END
C23456789 PROGRAM LAT_2BC Program menulis hasil C Bilangan Real
XMAX = 0.17 YMAX = 123.9 WRITE(*,10)XMAX, YMAX
10 FORMAT (2F7.2) STOP END
3. Tulis dan jalankan menggunakan WATFOR-77, teliti bagaimana bentuk keluarannya, kemudian simpanlah programnya.
C23456789 PROGRAM LAT_3AC Program menulis hasil
DOUBLEPRECISION XMAX, XERR XMAX = 1234567.0 XERR = 0.879 WRITE(*,10)XMAX, XERR
10 FORMAT (E17.7, E16.3) STOP END
C23456789 PROGRAM LAT_3BC Program menulis hasil
DOUBLEPRECISION XMAX, XERR XMAX = 1234567.0 XERR = 0.879 WRITE(*,10)XMAX, XERR
10 FORMAT (2E17.7) STOP END
4. Tulis dan jalankan menggunakan WATFOR-77, teliti bagaimana bentuk keluarannya, kemudian simpanlah programnya.
C23456789 PROGRAM LAT_4AC Program menulis hasil
DOUBLEPRECISION XMAX XMAX = 776688.0 WRITE(*,10) XMAX
10 FORMAT (3X,’NILAI XMAX =’,F8.1) STOP END
C23456789 PROGRAM LAT_4BC Program menulis hasil
XA=112233.0 XB=445566.0 WRITE(*,10) XA WRITE(*,11) XB
10 FORMAT (/,’NILAI XA =’,F8.1) 11 FORMAT (/,’NILAI XB =’,F8.1) STOP END
5. Buatlah program untuk menghitung posisi Y(t) dan kecepatan V(t) suatu
gerak berubah beraturan yang dinyatakan dalam persamaan
dan , sebagai masukan adalah .
41