Top Banner

of 24

BAB 2 (Pemogranan Aplikasi Sederhana (Fotran)

Jul 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

STANDAR KOMPETENSISetelah menyelesaikan mata kuliah Komputer mahasiswa mampu mengembangkan paket program aplikasi mandiri untuk menyelesaikan masalah keteknikan khususnya Teknik Mesin dengan bahasa FORTRAN

KOMPETENSI DASARMahasiswa dapat mengaplikasikan dasar-dasar pemrograman yang dimiliki dalam bentuk program aplikasi komputer sederhana

INDIKATOR1. 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 tipetipe 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 1 18

Pemrograman Komputer Bahasa FORTRAN

-

19

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 tiaptiap baris didalam program dapat berisi : Metacommand Metacommand atau compiler directive sifatnya adalah opsional di dalam program FORTRAN, artinya tidak harus ada. Metacommand digunakan apabila ingin berkomunikasi dengan compiler mengenai informasiinformasi tertentu. Komentar Komentar (comment) dapat berupa tulisan bebas apapun yang berguna untuk memberikan keterangan pada program, sehingga memudahkan untuk membaca program tersebut. Komentar tidak diproses oleh program. Statemen Statemen (statement) merupakan inti dari program yang berupa instruksiinstruksi 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. 2. Kolom 1 sampai 5 dipergunakan untuk menuliskan nomor pengenal (label), berupa suatu angka yang menunjukkan letak dari suatu statemen.

Pemrograman Komputer Bahasa FORTRAN

-

20

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.J R S NT K IKM S U UA EN E IN F K L A T K IKU IV R IT SM T R M A UT S E N N E S A AA A J M ja a it, 5 M ta m l. a p h 6 a ra PORM R GA P ORMR R GA EC OMM C ont SAE E T T MN N ME U BR 2 3 4 5 F R R NS A E E O T A T T MN 7 D 1 2 1 1 1 0 F F R J Z 1 5 I I J G 1 2 W S E 8 I O O E = = F F = O R T N I O D 9 M R R A 1 A ( ( J ( Z J + T T P J . . 1 O E ( 15 3 , 2 1 ) Z ) L E T Q . . A ( ( N J 0 1 ) ) ) ) Z G = O A ( T J O + 1 1 ) 2 10 E M M D 11 N A A ( 12 S T T 1 13 I ( ( , 14 O I 1 1 15 N 1 H 1 16 ( 0 , ) 17 1 / F N 18 0 6 1 , 19 0 ( 0 ( 20 ) F . A 1 5 ( 0 ) J ) , J 0 , N ) . 5 ) ) 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

1

6

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 menunjukkan C Struktur dari program FORTRAN C234567890 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 Program 2.1 Struktur program FORTRAN

Pemrograman Komputer Bahasa FORTRAN

-

21

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. Konstanta 2. Operator 3. Ungkapan 4. Nama 5. Verb 6. Unit specifier 7. Format Specifier Program 2.2 menunjukkan elemen-elemen dasar dari statemen FORTRAN.nama verb $TITLE : 'Contoh Program FORTRAN' C Program ini untuk menunjukkan C Struktur dari program FORTRAN C234567890 C = 25.0 F = C * 1.8 + 32 WRITE(*,5) C, F

konstanta operator ungkapan

5 FORMAT(1X, F6.2, 1X, 'CELCIUS ADALA SEBESAR ', -F6.2, 1X,'FAHRENHEIT' END format specifier unit specifier

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. Contoh : +327, -173 (konstanta integer) 123.456, 5.0E03, -5.0E-03 (konstanta real)

Pemrograman Komputer Bahasa FORTRAN

-

22

ABC, , PT. XYZ .TRUE. , .FALSE. 2.2.2 OPERATOR

(konstanta karakter, diapit oleh petik tunggal (aposthrope). (konstanta logika hanya memiliki dua nilai yaitu benar (true) dan salah (false)

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 Aritmatika Operator Arti Contoh Jenjang*) ** Perpangkatan 2**10 (210) 1 * Perkalian 5*12 (5 x 12) 2 / Pembagian 60/10 2 + Penambahan 2+3 3 Pengurangan 6-2 3 *) mana yang lebih dulu diproses jika ada beberapa operator dalam satu ekspresi aritmatika Operator .LT. .LE. .EQ. .NE. .GT. .GE. Tabel 2.2 Operator Hubungan Arti Contoh Lebih kecil dari A .LT. B (AB) Lebih besar sama dengan dari A .GE. B (AB) Hasil FALSE FALSE TRUE Jenjang 1 2 3

Tabel 2.1 Operator Logika Operator Arti Contoh .NOT. Tidak atau bukan .NOT. TRUE .AND. Dan TRUE .AND. FALSE .OR. Atau TRUE .OR. FALSE 2.2.3 UNGKAPAN

Pemrograman Komputer Bahasa FORTRAN

-

23

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 (A+B)/C+D B**2 4*A*C (A**2+B**2)**0.5 Matematika A+ B +D C B2 4 X A X C A2 + B 2

Ungkapan Karakter merupakan ungkapan yang dapat berupa konstanta atau nama variabel. Unkapan karakter tidak boleh menggunakan operator aritmatika. Contoh 2.2 : NAMA = ANTONUngkapan Karakter

-

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 hubungan

-

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)

Didalam sebuah ungkapan, operator arithmatika mempunyai jenjang tertinggi (1) diikuti oleh operator hubungan (2) dan yang terendah adalah operator logika. Contoh 2.5 :

Pemrograman Komputer Bahasa FORTRAN

-

24

(A .LT. (B**2)) .AND. (C .GT. D)Ungkapan hubungan Ungkapan arithmatika Ungkapan logika

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 berubahubah 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 : - WRITE - CALL 2.2.6 - FORMAT - PRINT - WRITE - GO TO

UNIT SPECIFIER

Pemrograman Komputer Bahasa FORTRAN

-

25

Unit 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 : Nomor logical unit Card Reader (input) 1 Punch Card (output) 2 Printer /PRN (output) 3 Disk (input/output) 4 Catatan : Nomor-nomor logical unit untuk komputer berbeda akan berbeda pula. 2.2.7 FORMAT SPECIFIER Alat input/output

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 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 :

Pemrograman Komputer Bahasa FORTRAN

-

26

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) 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 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.

2.3.4

Pemrograman Komputer Bahasa FORTRAN

-

27

LOGICAL STATUS LOGICAL*2 STATUS 2.4

medefinisikan variabel logika 4 byte medefinisikan variabel logika 2 byte

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(,) List Dimana : nomor peralatan masukan 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:Nomor peralatan masukan

Format Specifier C1234567890 READ(1,11) F, G, IK 11 FORMAT(2F10.2,I10) List Variabel

Format specifier pada statemen READ dapat berupa : 1. Statemen label 2. Variabel numerik integer 3. Ungkapan karakter 4. * (asterik) A. Format Specifier Berupa Statemen Label

Pemrograman Komputer Bahasa FORTRAN

-

28

Format specifier yang berupa label statemen berbentuk suatu nilai konstanta integer yang menunjukkan letak daristateman FORMAT yang digunakan. Contoh 2.13 :Format Specifierberupa statemen label C Contoh 1 C234567890 input List READ(*,5)A,B,I 5 FORMAT(1X, 2F5.2,I5) WRITE (*,5) END C contoh 2 C234567890 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 100Data yang dimasukkan

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

Contoh 2.14 :C234567890 ASSIGN 5 TO IFORMAT

merupakan variabel numerik integer

Pemrograman Komputer Bahasa FORTRAN

-

29

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

data yang dimasukkan 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 :C234567890 WRITE(*,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 :

C234567890 CHARACTER*23 BENTUK BENTUK =(BN, F7.2, 1X, F7.2, 1X, I5) WRITE(*,10)

format specifier berbentuk ungkapan karakter

Pemrograman Komputer Bahasa FORTRAN

-

30

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 12345 MASUKKAN DATA : 25.50 275.00 75 DATA YANG DIMASUKKAN ADALAH : 25.50

data yang dimasukkan

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 : ',\) 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

Pemrograman Komputer Bahasa FORTRAN

-

31

2.4.2

STATEMEN WRITE Statemen WRITE dipergunakan sebagai statemen keluaran untuk menuliskan hasil pengolahan data di peralatan keluaran yan9 ditunjukkan pada . Sintaksis dari statemen WRITE adalah : WRITE (,) List Dimana : nomor peralatan masukan 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 :Nomor peralatan masukan

Format Specifier C1234567890 WRITE(1,20) F, G, IK 20 FORMAT(2F10.2,I10) List Variabel

Seperti halnya pada statemen READ, format specifier pada statemen WRITE juga dapat berupa : 1. Statemen label 2. Variabel numerik integer 3. Ungkapan karakter 4. * (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.

Contoh 2.18 :Format Specifierberupa statemen label C234567890 A=3.90 output List B=10.00 WRITE(*,21) A, B 21 FORMAT(1X, Nilai A = F7.2, DAN B = , F7.2)

Pemrograman Komputer Bahasa FORTRAN END

-

32

Program di atas dapat juga dituliskan seperti pada contoh dibawah dengan hasil yang persis sama.Format Specifierberupa statemen label C234567890 A=3.90 Output list berupa kumpu;lan B=10.00 variabel dan konstanta WRITE(*,21) Nilai A == ,A, DAN B = ,B karakter 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 :Format Specifierberupa variabel numerik integer C234567890 ASSIGN 21 TO LABEL Output list berupa kumpulan A=3.90 variabel B=10.00 WRITE(*,LABEL) A,B 21 FORMAT(1X, Nilai A = F7.2, DAN B = , F7.2) END

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 :

Pemrograman Komputer Bahasa FORTRAN

-

33

Format specier berupa C234567890 ungkapan karakter 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 Format Specifier berupa * 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 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 = 10.0000000 METER = 10.0000000 METER = 32.8000000 FEET 10.9000000 YARD 6.200000E-003 MILE

Pemrograman Komputer Bahasa FORTRAN 10.0000000 METER = 393.7000000 INCH

-

34

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 : FORMAT dimana : menunjukkan label dari statemen format yang akan digunakan oleh statemen READ atau WRITE merupakan bentuk yang menyediakan informasi terhadap letak, tipe dan panjang data. Formatspecification ini harus ditulis di dalam tanda kurung. Isi dari format-specification ini adalah EDIT DISKRIPTOR. A. EDIT DISKRIPTOR DATA INTEGER Bentuk umum : I . dimana : banyaknya pengulangan pajang/digit data (harus integer) banyaknya angka nol dimuka pengganti blank.

Contoh 2.23

Pemrograman Komputer Bahasa FORTRAN C234567890 NOMOR1 = 1991 NOMOR2 = 5000 NOMOR3 = 7654 WRITE(*,10) NOMOR1, NOMOR2, NOMOR3 10 FORMAT(I4, I6, I3) END

-

35

Bila dijalankan, akan didapatkan hasil : I4 I6 I3Digit

937

8210***

*** mrnunjukkan panjangnya terlalu kecil dibanding data nilai pertama akan hilang

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 : F . dimana : banyaknya pengulangan. pajang/digit seluruh data (harus integer). menunjukkan digit dibelakang koma Contoh 2.24.C234567890 A = 15.23 B = 25.52 C = 101.243 WRITE(*,10) A, B, C 10 FORMAT(1X, 2F7.2, F9.3) END

Bila dijalankan, akan didapatkan hasil :

Pemrograman Komputer Bahasa FORTRAN

-

36

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 : E . dimana : banyaknya pengulangan. pajang/digit seluruh data (harus integer). 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 10 E10.3 3 10 E10.3 4 12 E12.4

Edit Discriptor D digunakan untuk tipe data numerik ketepatan ganda. Bentuk umum dari edit discriptor ini sebagai berikut : D . dimana : banyaknya pengulangan. pajang/digit seluruh data (harus integer). menunjukkan digit dibelakang titik desimal Contoh 2.26 :C234567890 A = 0.275D+4 B = 0.125D+04 C = 0.6125D+05 WRITE(*,10) A, B, C 10 FORMAT(1X, 3D12.3) END

Bila dijalankan, akan didapatkan hasil :

Pemrograman Komputer Bahasa FORTRAN

-

37

0.275D+4 3 12 D12.3

0.125D+04 3 12 E12.3

0.613D+05 3 12 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 : A dimana : banyaknya pengulangan. 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 : A dimana : banyaknya pengulangan. panjang/digit seluruh data (harus integer). Contoh 2.28 :

Pemrograman Komputer Bahasa FORTRAN C234567890 LOGICAL BENAR, SALAH BENAR = .TRUE. SALAH = .FALSE. WRITE(*,10) BENAR, SALAH 10 FORMAT(1X, 2L10) END

-

38

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=1 K=3 L=2*J+K J=3*J+2*L K=K+2 L=J+K+L WRITE(*,20) J, K, L 20 FORMAT(3I5) END Eksekusi program : Baris 1. komputer melewati pernyataan ini karena merupakan sebuah komentar Baris 2. Komputer menyimpan 1 dalam lokasi penyimpanan berpengenal J J1 Baris 3. Komputer menyimpan nilai 3 dalam loksi penyimpanan berpengenal K K3 Baris 4. pernyataan ini memberitahukan komputer untuk menghitung 2xJ+K, dan menyimpan nilai hasilnya di lokasi penyimpanan berpengelan L L 2*J+K (2*1+3) L5 Baris 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)

Pemrograman Komputer Bahasa FORTRAN

-

39

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 13 Baris 6. Pernyataan ini memberitahu komputer untuk menambah nilai K yang sekarang dengan 2 K35 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 kanan Baris 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 :C C C23456789 READ(*,61) A, B, C 61 FORMAT(3F10.2) SUR = 2.0(A*B+A*C+B*C) VOL = A*B*C 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

Pemrograman Komputer Bahasa FORTRAN

-

40

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) READ (*,11) J, Z, K 11 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) b.

PRAKTIKUM 1. Tulis dan jalankan menggunakan WATFOR-77, teliti bagaimana bentuk keluarannya, kemudian simpanlah programnyaC23456789 PROGRAM LAT_1A C Program menulis hasil C Bil. Bulat (integer) KK = 779 LL = 29 WRITE(*,10)KK, LL 10 FORMAT (I3, I2) STOP END C23456789 PROGRAM LAT_1B C Program menulis hasil C Bil. Bulat (integer) KK = 779 LL = 29 WRITE(*,10)KK, LL 10 FORMAT (I5, I5) STOP END C23456789 PROGRAM LAT_1C C Program menulis hasil C Bil. Bulat (integer) KK = 779 LL = 29 WRITE(*,10)KK, LL 10 FORMAT (2I5) STOP END

Pemrograman Komputer Bahasa FORTRAN

-

41

2. Tulis dan jalankan menggunakan WATFOR-77, teliti bagaimana bentuk keluarannya, kemudian simpanlah programnya.C23456789 PROGRAM LAT_2A C 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_2B C 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_2B C 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_3A C 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_3B C 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_4A C Program menulis hasil DOUBLEPRECISION XMAX XMAX = 776688.0 WRITE(*,10) XMAX 10 FORMAT (3X,NILAI XMAX =,F8.1) STOP END C23456789 PROGRAM LAT_4B C 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 1 2 berubah beraturan yang dinyatakan dalam persamaan Y (t ) = Yo + Vo t + At dan 2 V (t ) = Vo + At , sebagai masukan adalah Yo ,Vo , A dan t .