Dasar Komputer & Pemrograman 2B Fortran
Statement Dibagi menjadi 2, yaitu : Nonexecutable statement (statement yang tidak melakukan suatu operasi): Statement format Statement data & statement parameter Statement spesifikasi Statement program, function & subroutine Executable statement (statement yang menyebabkan suatu operasi akan dilakukan) : Statement pengerjaan Statement kontrol Statement input/output
Statement Format Pernyataan Format digunakan untuk membentuk format (bentuk) data masukan/keluaran yang meliputi tata letak, tipe dan panjang data Bentuk umum : <label statement>FORMAT<format-spec> Ket : <label statement> : menunjukkan label dari format yang akan digunakan oleh Read/Write. <format-spec>: bentuk yang menyediakan informasi terhadap letak, tipe dan panjang dari data.
Cont.. Contoh : WRITE (*,100) A,B 100 FORMAT (1x,F6.2) Ket: 100 Label statement 1x Dipergunakan 1x F Tipe data yang digunakan adalah Real 6 Variabel dapat menyimpan nilai sebesar 6 digit termasuk koma 2 Maksimal 2 angka dibelakang koma
Cont.. NO TIPE EDITING BENTUK UMUM ARTI NOTASI 1. Character <n>A<w> <n> <w> Jumlah pengulangan Jumlah karakter 2. Integer <n>I<w> Jumlah integer 3. Real <n>F<w>.<d> <d> Jumlah digit termasuk desimal Jumlah desimal 4. Real Exponensial <n>E<w>.<d> 5. Logika <n>L<w> Jumlah digit data 6. Apostrophe ‘<k>’ <k> Karakter 7. Positional <n>X 8. Slash / Turun satu baris 9. Backslash \ Naik satu baris 10. blank BN Blank=kosong
Statement Data Bentuk umum : DATA<nlist>/<clist>/[[,]<nlist>/<clist>]… Ket : <nlist> : satu/kumpulan dari nama variabel, larik/elemen larik <clist> : satu/kumpulan konstanta Contoh : DATA A/3.0/,B/5.0/,C/1.5/ Berarti : A = 3.0 B = 5.0 C = 1.5
Statement Parameter Bentuk umum : PARAMETER<name>=constant[[,]<name>=constant]… Ket : <name> : nama variabel <constant> : nilai konstanta yang tipenya harus sama dengan tipe variabelnya Contoh :
Cont.. REAL ISI, JARI PARAMETER (PHI=3.14159) WRITE (*,10) READ (*,11) JARI WRITE (*,20) READ (*,21) TINGGI ISI = 2*PHI*JARI**2*TINGGI WRITE(*,100) ISI 10 FORMAT (1X, ‘JARI-JARI LINGKARAN ?’,\) 11 FORMAT (BN,F8.2) 20 FORMAT (1X, ‘TINGGI SILINDER ?’,\) 21 FORMAT (BN,F8.2) 100 FORMAT (/,1X,’ISI SILINDER ADALAH = ‘,F10.2) END
Cont.. output : JARI-JARI LINGKARAN ? 10.00 TINGGI SILINDER ? 10.00 ISI SILINDER ADALAH = 6283.18
Statement Spesifikasi Statement Dimension Bentuk umum: DIMENSION<array>)[,<array>(<dim>]… Ket : <array> : nama dari suatu larik yang didefinisikan <dim> : deklarasi dimensi yang menunjukkan jumlah elemen dari larik Contoh : DIMENSION A(125), B(2,3)
Cont.. Statement Implicit Bentuk umum IMPLICIT<type>(<a>[,<a>]…)[,<type(<a>[,<a>],…)…] Ket : <type> : salah satu dari tipe ;integer,real,logical,character <a> : suatu huruf/range dari huruf. Bila berbentuk range dari huruf harus dari urutan kecil ke besar. Contoh : IMPLICIT INTEGER (A) ANGKA = 5 AKAR = 15
Cont.. Statement Type <type><name>[,<name>]… Bentuk umum : <type><name>[,<name>]… Ket : <type> : salah satu dari tipe ;integer,real,logical,character <name> : nama variabel, nama larik, nama fungsi statement/nama fungsi eksternal Contoh : REAL NILAI1, NILAI2,JUMLAH CHARACTER NAMA*10,ALAMAT*20 REAL*8 NILAI1,NILAI2, JUMLAH
Cont.. Statement type mempunyai aturan sebagai berikut : Suatu statement type harus ditulis sebelum executable statement. Nama yang ditunjukkan statement type tidak boleh didefinisikan lebih dari sekali. Suatu statement type tidak boleh diberi label statement.
Statement Pengerjaan Bentuk umum : <variabel> = <expression> Ket : <variabel> : suatu nama variabel/suatu elemen dari larik <expression> : ungkapan yang hasilnya akan disimpan di<variabel>. Tipe variabel dengan ungkapan harus sejenis.
Cont.. Contoh (Arithmatika): REAL A,B B = 25.75 A = B*2 WRITE (*,5) A 5 FORMAT (1X, ‘B = ‘,F5.2) END RUN : B = 51.50
Cont.. Contoh (karakter) : CHARACTER KARAK1*5, KARAK2*8 KARAK1 = ‘ABCDE’ KARAK2 = ‘KARAK1’ WRITE (*,5) KARAK2, KARAK1 5 FORMAT (1X, A8,A6) END RUN : ABCDE___ABCDE
Cont.. Contoh (Logika) : LOGICAL*2 LOGIK1 LOGICAL*4 LOGIK2 LOGIK1 = .TRUE. LOGIK2 = LOGIK1 WRITE (*,5) LOGIK1, LOGIK2 5 FORMAT (1X, L5,L5) END RUN : T____T
Statement Assign Bentuk umum : ASSIGN<label>TO<variabel> Ket : <label> : label dari suatu statement yang berada pada unit program yang sama dengan statement Assign-nya, label tersebut tidak boleh berada di unit program yang lain. <variabel> : variabel tipe integer
Cont.. Contoh : WRITE (*,5) READ(8,15) A WRITE (*,20) A 5 FORMAT (1X, ‘NILAI DARI A ?’,\) 15 FORMAT (BN,F6.2) 20 FORMAT (1X, ‘NILAI A YANG ANDA MASUKKAN ADALAH : ‘,F6.2) END
Cont.. ASSIGN 5 TO LABEL1 ASSIGN 10 TO LABEL2 ASSIGN 15 TO LABEL3 WRITE (*,LABEL1) READ (*,LABEL2) A WRITE (*,LABEL3) A 5 FORMAT (1X, ‘NILAI DARI A ?’,\) 15 FORMAT (BN,F6.2) 20 FORMAT (1X, ‘NILAI A YANG ANDA MASUKKAN ADALAH : ‘,F6.2) END
Cont.. RUN : NILAI DARI A ? 25.50 NILAI A YANG ANDA MASUKKAN ADALAH : 25.50
Statement Kontrol Statement kontrol/statement kendali termasuk sebagai executable statement yang mengendalikan urutan proses statement-statement didalam program. Statement End, digunakan untuk mengakhiri proses dari program. Penjelasan : Harus diletakkan paling akhir di suatu program Tidak boleh diberi label statement Harus berdiri sendiri tidak boleh digabung dengan statement yang lain.
Cont.. Contoh : A =3.0 WRITE (*,5) A 5 FORMAT (1X, ‘NILAI A = ‘, F5.2) END
CONT.. Statement Stop, digunakan untuk menghentikan proses pengerjaan program. Perbedaan Stop & End : Statement Stop tidak harus ada di dalam suatu unit program Statement Stop boleh berada dibagian manapun didalam program, tidak harus diletakkan di akhir program Statement Stop bisa ditambahkan bentuk tulisan tertentu sebagai berita.
Cont.. Contoh : A = 3.0 B = 5.0 WRITE (*,5) A STOP ‘PROSES DIHENTIKAN DISINI DENGAN STATEMENT STOP’ WRITE (*,15) B 5 FORMAT (1X, ‘NILAI A = ‘,F5.1/) 15 FORMAT (1X, ‘NILAI B = ‘, F5.1) END RUN : NILAI A = 3.0 PROSES DIHENTIKAN DISINI DENGAN STATEMENT STOP STOP – PROGRAM TERMINATED.
Cont.. Statement Pause, digunakan untuk menghentikan sementara proses dari program dan proses akan dilanjutkan bila ditekan tombol return. Statement Stop menghentikan program secara permanen, sedangkan statement Pause menghentikan program secara sementara.
Cont.. Contoh : A = 3.0 B = 5.0 WRITE (*,5) A PAUSE ‘TEKAN TOMBOL RETURN UNTUK MELIHAT NILAI B’ WRITE (*,15) B 5 FORMAT (1X, ‘NILAI A = ‘,F5.1,/) 15 FORMAT (1X, ‘NILAI B = ‘,F5.1) END RUN : NILAI A = 3.0 TEKAN TOMBOL RETURN UNTUK MELIHAT NILAI B PAUSE. PLEASE PRESS <RETURN> TO CONTINUE. NILAI B = 5.0
Cont.. Statement Do, digunakan untuk memproses berulang-ulang statement- statement yang berada diantara statement Do sampai dengan statement yang ditujukkan oleh <slabel>. Bentuk umum : DO<slabel>[,]<variabel>=<expr1>,<expr2>,[,<expr3>] Ket: <slabel> : label statement dari suatu executable statement <variabel> : suat variabel numerik integer <expr1> : ungkapan integer yang menunjukkan hitungan awal dari banyaknya perulangan <expr2> : ungkapan integer yang menunjukkan hitungan akhir dari banyaknya perulangan <expr1> : ungkapan integer yang menunjukkan pertambahan dari hitungan perulangan, kalau pertambahannya satu tidak perlu ditulis.
Cont.. Contoh : DO 5 I = 1,5 5 WRITE (*,100) 100 FORMAT (1X, ‘KOMPUTER’) END RUN : KOMPUTER KOMPUTER
Cont.. Contoh 2 : DO 5 I = 1,8,3 5 WRITE (*,100) I 100 FORMAT (1X, ‘NILAI I = ’,I2) END RUN : NILAI 1 = 1 NILAI 1 = 4 NILAI 1 = 7
Statement Input/Output Statement Read dan Write digunakan untuk data transfer, yaitu pengiriman data dari alat input (statement Read) atau pengiriman data ke alat output (statement Write). Statement Read digunakan untuk mentransfer atau membaca data dari suatu file, dapat berupa file di disk atau printer atau console. File yang dimaksud disini tidak hanya file di disk, tapi juga dapat berupa printer atau console (layar dan keyboard).
Cont.. Contoh : READ (*,5) A,B,I 5 FORMAT (1X,2F5.2,I5) WRITE (*,5) END
Cont.. Statement Write, digunakan untuk mentrasfer atau menampilkan data dari (iolist) ke suatu file (file dapat berupa file di disk, printer atau console) yang ditunjukkan pada <unit-spec>. Contoh : A = 2.75 B = 9.50 UNIT-SPEC WRITE (*,100) A,B OUTPUT LIST 100 FORMAT (1X, ‘NILAI A = ‘,F7.2,’NILAI B = ‘,F7.2) END