Professional Documents
Culture Documents
BAHASA FORTRAN
PENDAHULUAN
MODUL 1
Tujuan 1. 2. Memahami komponen utama komputer pribadi (Personal Computer). Memahami tentang system operasi (Operating System).
Perbekalan Praktikum
Secara umum, komputer pribadi mempunyai komponen yang saling berhubungan dan berinteraksi antara satu dengan lainnya. Komponen tersebut antara lain. a. Central Processor Unit (CPU). Kegunaan utma dari CPU dalah untuk memproses data dalam main memory. CPU mampu mengolah data, baik data aritmatik maupun operasi logika yang tersimpan dalam main memory. CPU merupakan bagian yang paling rumit dalam komputer yang terdiri atas chip untuk melakukan semua instruksi dalam komputer. CPU mempunyai register dan chace memory untuk menyimpan semua instruksi dan data dari dan ke main memory. Disamping itu, dalam CPU terdapat jaringan yang sangat rumit untuk melakukan perintah yang akan dilakukan dalam ALU (Arithmatic and Logic Unit).
Pendahuluan - 1
PENDAHULUAN
MODUL 1
b.
Main Memory. Perangkat lunak/program (software) dan data-data yang diperlukan akan disimpan dalam main memory. Perintahperintah dalam program diambil dan dieksekusi oleh CPU dari main memory. Semua data maupun pernyataan yang berkenaan dengan program disimpan dalam main meory ini. Secara fisik memory merupakan cell yang diindeks berdasarkan alamat-alamat tertentu. Cell berisi sejumlah bytes. Tiap bait mempunyai 8 bits. Memory dapat dalam bentuk RAM (Random Access Memory) maupun dalam bentuk ROM (Read Only Memory). RAM hanya dapat menyimpan data untuk sementara hingga program selesai dieksekusi.
c.
Secondary Storage. Secondary Storage merupakan penyimpan data secara permanen. Hardisk merupakan dalam satu Secomdary Storage yang populer karena kemampuannya untuk menyimpan data dalam kapasitas banyak.
d.
Input/Output Device. I/O device merupakan jalur untuk mengirim dan menerima data dari dan ke komputer. I/O divide akan terhubung dengan perangkat lain seperti keyboard, monitor, printer dan perangkat lain.
Sistim Operasi (Operating System) Sistem Operasi merupakan perangkat lunak yang mengatur
pengoperasian, pengendalian dan mengkoordinir semua kegiatan dalam perangkat komputer. Sistem operasi merupakan perangkat lunak dasar yang harus dimiliki oleh setiap perangkat komputer pribadi. Windows, Macintos dan
Pendahuluan - 2
PENDAHULUAN
MODUL 1
Unix family merupakan perangkat lumak sistem operasi yang umum digunakan dalam komputer pribadi.
Pemograman Komputer Pada dasarnya pemograman komputer merupakan serangkaian perintah yang terstruktur dan sistematis kepada komputer. Karena komputer hanya dapat memahami perintah dalam bentuk bahasa mesin, maka diperlukan perangkat lunak yang berguna untuk menginterpretasikan perintah dari high level language ke bahasa mesin. Walaupun saat ini banyak perangkat lunak yang demikian banyak tersedia, seperti C/C++, Pascal, COBOL, ADA, akan tetapi dalam praktikum ini hanya digunakan bahasa FORTRAN 77. FORTRAN-77
umumnya digunakan untuk menyelesaikan masalah sains dan teknologi. Dalam banyak hal, pemograman komputer disusun untuk menyelesaikan berbagai masalah. Dengan demikian, proses pemograman komputer
merupakan bagian dari penyelesaian permasalahan itu sendiri. Penjelasan lebih detail tentang penyelesaian malsah dengan program komputer akan diberikan dalam modul 8 paraktikum ini. Sebelum menyusun pemograman, langkahlangkah berikut sangat penting untuk dilakukan. a. b. c. d. Perumusan masalah. Penyusunan algoritma. Penyusunan diagram alir (flow chart). Pengkodean program (source code).
Pendahuluan - 3
PENDAHULUAN
MODUL 1
a. Perumusan Masalah Perumusan masalah merupakan proses untuk mendeskripsikan masalah serta penjabaran masalah tersebut dalam bentuk yang lebih spesifik, yakni menentukan bagian-bagian yang masuk dalam kategori input, proses dan output. Contoh sederhana berikut memperlihatkan permusan masalah
dimaksud. Perhitungan volume balok ditentukan dengan persamaan V=l*p*t. Dari rumusan tersebut terlihat bahwa data masukan adalah lebar, panjang dan tinggi. Penyelesaian persamaan V=l*p*t merupakan proses dan output adalah volume balok.
b. Algoritma Algoritma merupakan langkah-langkah yang harus dilakukan dalam menyele-saikan masalah dalam butir a di atas. Langkah-langkah ini harus sistematis dan terstruktur sedemikian sehingga penyelesaian masalah diperoleh sesuai dengan yang diinginkan. Algoritma masalah dalam butir a di atas dapat ditulis sebagai berukut: 1. 2. 3. 4. 5. Mulai. Baca lebar, panjang dan tinggi balok. Hitung V=l*p*t. Tulis volume Selesai.
c. Diagram Alir Diagram alir merupakan gambaran/notasi tentang alur (pola fikir) program komputer yang akan dibuat. Diagram alir memegang peranan penting
Pendahuluan - 4
PENDAHULUAN
MODUL 1
baik dalam menyusun program komputer maupun pada saat pengecekan ulang jika program komputer mempunyai kesalahan. Contoh:
mulai
V= l*p*t
Tulis : volume
selesai
Pendahuluan - 5
PENDAHULUAN
MODUL 1
Tabel 1. Gambaran/notasi yang umum digunakan dalam diagram alir No. 1. Gambar/notasi Arti Titik terminal untuk mulai, selesai dan kembali. Jika untuk mulai tulis START, selesai tulis STOP dan kembali tulis RETURN Input dan/atau output. Jika digunakan untuk input, 2. tulis READ: dan jika untuk output, tulis WRITE: dan diikuti dengan variabel yang akn dibaca/ditulis Proses. Tuliskan proses yang akan dilakukan 3. komputer dalam kotak yang tersedia
Tanda penghubung. Angka numerik dalam lingkaran 4. menunjukkan bahwa alur program dilanjutkan ke tahapan dengan alamat nomor yang diberikan dalam lingkaran. Huruf dalam lingkaran digunakan
Pendahuluan - 6
PENDAHULUAN
MODUL 1
atau 5.
Kedua notasi ini digunakan untuk alur dengan keputusan (if conditional). Notasi pertama jika hanya 2 pilihan sedang notasi kedua untuik 3 pilihan.
6.
7.
8. Tugas : 1.
Buat algoritma dan diagram alir untuk menghitung kendaraan dengan input berupa jarak dan waktu tempuh.
kecepatan
2.
Pendahuluan - 7
Tujuan 1. Memahami dasar-dasar pemograman komputer yang meliputi tentang format dan struktur bahasa pemograman FORTRAN-77 beserta tipe data dan variabel yang digunakan. 2. Dapat menyusun program komputer sederhana.
Perbekalan Praktikum Fortran adalah bahasa tingkat tinggi pertama dan merupakan singkatan dari FORmula TRANslator.Dalam praktikum ini kita menggunakan FORTRAN standar 77(selanjutnya ditulis FORTRAN-77). Bahasa pemograman FORTRAN-77 merupakan high level language yang digunakan untuk membuat perintah tertentu kepada komputer. Dalam penyusunan program, struktur pemograman dengan FORTRAN-77 mengikuti pola berikut, 1. Untuk program utama, [PROGRAM <nama program>] <deklarasi external file dan module> <deklarasi varibel> <inisialisasi variabel> . . <executable statement> . STOP END Dasar-dasar Pemograman Komputer - 8
2. Untuk subprogram, <blok subprogram> <deklarasi varibel> <inisialisasi variabel> <executable statement> RETURN END
Walaupun dalam bahasa fortran tidak membedakan huruf besar dan kecil, akan tetapi sangat disarankan untuk selalu mengunakan huruf besar dalam menyusun program komputer. Berikut ini akan dijabarkan tentang bagianbagian dari struktur program tersebut.
Nama Program (Program Statement) Program statement, dalam bentuk nama program, diperlukan untuk menidentifikasi program. Nama program sebaiknya dibuat berdasarkan apa yang akan dilakukan dalam program tersebut. Sangat disarankan, nama program identik dengan nama file (source code). Contoh : PRAKTIKUM.FOR Coba.f Penjelasan : .for dan .f adalah file extensions untuk bahasa fortran.
Coments (Komentar) Walaupun komentar tidak akan diproses oleh copiler, akan tetapi komentar mempunyai fungsi yang penting, terutama untuk menjelaskan bagimana program itu disusun, arti dari variabel-variabel yang digunakan. Komentar ini sangat penting, baik bagi yang menyusun program itu sendiri maupun bagi pihak lain yang membaca program tersebut. Contoh : c program menghitung luas persegi panjang c input write(*,*)'panjang = ' read(*,*)p write(*,*)'lebar = ' read(*,*)l c proses L=p*l c hasil write(*,*)L end komentar indikasi komentar
Type Declaration (Bentuk Deklarasi) Statement deklarasi berhubungan dengan variabel yang menggunakan tipe data tertentu, seperti apa variabel itu diperlakukan dan bagaimana pola Dasar-dasar Pemograman Komputer - 10
penyimpanannya dalam memory. Lihat penjelasan tentang Type Variabel/Data dalam pembahasan berikutnya.
Program yang telah disusun dalam bentuk program sumber (source code) harus diterjemahkan ke dalam bahasa mesin. Interpreter untuk
menterjemahkan tersebut dikenal sebagai compiler. Dalam praktikum ini digunakan compiler Compaq Visual Fortran Edisi 6.5.0. Gambar 1
membuat dan menyusun program komputer dalam editor akan dijelaskan asisten dalam praktikum
kompilasi build
eksekusi
Untuk mendapatkan output dari suatu program, dilakukan tahap-tahap sebagai berikut : 1. Tahap kompilasi. - klik pada [build] > [compile] - atau klik pada toolbar
2. Build - klik pada [build] > [build nama file.exe] - atau klik - atau F7 3. Execute program - klik pada [build] > [execute] - atau klik pada toolbar pada toolbar
- atau Ctrl + F5
Tipe Variabel/Data Dalam FORTRAN-77 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-77 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,
Statement IMPLICIT mendefinisikan tipe dari semua variable atau larik yang huruf pertama dari nama yang disebutkan. Huruf yang sama tidak boleh didefinisikan ulang dengan statement IMPLICIT. Variabel atau huruf yang sudah didefinisikan dengan statement IMPLICIT dapat didefinisikan ulang dengan statement type.
Disamping itu, secara lengkap tipe data yang digunakan dalam FOOTRAN-77 diberikan sebagai berikut.
Byte 2 2 4 4
Keterangan Bilangan bulat (-32767 32767) Bilangan bulat (-32767 32767) Bilangan bulat (-2147483647 2147483647) Bilangan desimal (floating point) Untuk bilangan positif 8.43E-37 3.37E38 Untuk bilangan negative -3.37E38 8.43E-37 Sama dengan REAL Bilangan desimal (floating point) Identik dengan REAL*8 Bilangan kompleks Bilangan kompleks Bilangan kompleks Identik dengan COMPLEX*16 Logika .TRUE. dan .FALSE. Dasar-dasar Pemograman Komputer - 14
REAL*4 REAL*8 DOUBLE PRECISION COMPLEX COMPLEX*8 COMPLEX*16 DOUBLE COMPLEX LOGICAL
4 8 8 8 8 16 16 4
2 4 1 n
Logika .TRUE. dan .FALSE. Logika .TRUE. dan .FALSE. Karakter (bukan angka) Karakter (bukan angka)
Dasar-dasar Pemograman 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.
Kolom 1
Komentar. Jika pada kolom 1 diberi huruf C atau *, maka semua karakter yang
dikategorikan
sebagai
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. Dasar-dasar Pemograman Komputer - 15
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.
Input/Output (I/O) Perintah untuk Input/Output digunakan dalam membaca data masukan dan menuliskan data keluaran dari memori komputer dari dan ke periferal tertentu. Perintah untuk Input menggunakan penyataan READ dan sedangkan untuk Output menggunakan pernyataan WRITE. Bentuk umum untuk kedua pernyataan tersebut dapat ditulis sebagai berikut,
dimana, <unit spec> Menunjukkan kode/nomor alat input. Karakter * atau angka 5 menunjukkan keyboard bahwa (terlihat input pada
dilakukan
melalui
monitor). Karakter * atau angka 6 menunjukkan bahwa output ditampilkan melalui monitor. <format spec> Menunjukkan var1,var2,. format Karakter input/output * pada untuk <format
spec> menunjukkan format bebas (free format). Untuk input disarankan untuk menggunakan Dasar-dasar Pemograman Komputer - 16
format
bebas,
sedangkan
untuk
output
disarankan menggunakan format tertentu. Format tertentu ini umumnya menggunakan pernyataan FORMAT. Pembahasan tentang pernyataan
FORMAT ini akan dilakukan dalam pembahasan berikutnya. var1,var2, Menunjukkan variabel-variabel yang akan diinput atau yang akan dioutput
Contoh penggunaan : WRITE(*,*)Nilai A = READ(*,*)A WRITE(*,*)Nilai A = ,A END Bila prograqm dijalankan akan didapat hasil : Nilai A = WRITE(*,*)Nilai A = 6 READ(*,*)A) Nilai A = 6.000000 ..hasil dari ..ditulis (berdasarkan ..hasil dari
FORMAT
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>
edit list
Merupakan edit descriptor yang merupakan perintah untuk mengatur tata letak, tipe dan panjang data.
Edit Descriptor Edit descriptor merupakan perintah dalam membentuk format I/O. Dalam Tabel 2 berikut diberikan edit descriptor yang umum digunakan dalam FORTRAN-77.
Tabel 2. Edit Descriptor dalam FORTRAN-77 No. 1. Tipe Editing Character Bentuk umum <n>A<w > 2. Integer <n>I<w > <n> <w> <n> <w> jumlah pengulangan jumlah karakter jumlah pengulangan jumlah integer 3. Real <n>F<w >.<d> <n> <w> <d> jumlah pengulangan jumlah termasuk desimal jumlah desimal 4. Real Exponensial <n>E<w >.<d> <n> <w> <d> jumlah pengulangan jumlah termasuk desimal jumlah desimal 5. Logika <n>L<w > <n> <w> jumlah pengulangan jumlah data 6. 7. 8. 9. 10. Apostrophe Positional Slash Backslash Blank interpretation <k> <n>X / \ BN BZ <k> <n> karakter jumlah pengulangan turun satu baris naik satu baris blank=kosong blank=nol Dasar-dasar Pemograman Komputer - 19 digit digit digit digit Arti notasi
Contoh : Penggunaan edit descriptor I I=123 WRITE(*,'(3X,I2)')I WRITE(*,'(3X,I3)')I WRITE(*,'(3X,I5)')I END Bila prograqm dijalankan akan didapat hasil : ** 123 123 Press any key to continue Penjelasan : - Hasil ** didapat karna nilai I adalah 3 digit sedangkan format output hanya untuk 2digit (I2) - hasil 123 didapat dari format I3 - hasil 123 didapat dari format I5.
Disediakan untuk 5 digit Contoh Penggunaan edit descriptor F A=123.235 WRITE(*,'(3X,F7.3)')A END Bila prograqm dijalankan akan didapat hasil : Dasar-dasar Pemograman Komputer - 20
Penjelasan : F7.3 - variable dapat menyimpan nilai sebesar 7 digit termasuk koma - maksimal 3 angka dibelakang koma 1 2 3 . 2 3 5
Contoh penggunaan edit descriptor , X, /, \ WRITE(*,'(5X,A,///)')'PRAKTIKUM FORTRAN' WRITE(*,'(3X,A,\)')'DILABORATORIUM' WRITE(*,*)'KOMPUTASI' END Bila prograqm dijalankan akan didapat hasil : praktikum fortran kosong sebanyak 5 karakter(5x) dilaboratorium komputasi Press any key to continue Tugas : Tentukan format terbaik untuk nilai : tiga baris kosong (///) laboratorium dan komputasi digabung (\)
a. Tugas dibuat dalam bentuk program dengan statement read dan write. b. Masing-masing nilai dideklarasikan sebagai variable dan tentukan type dari masing-masing variable.
MODUL 3
Tujuan 1. Memahami perintah-perintah berupa proses dalam pemograman komputer. 2. 3. Memahami tentang logika dan kontrol dalam proses. Dapat menyusun program komputer lanjutan.
Perbekalan Praktikum Bagian (perhitungan utama pemograman komputer Dalam adalah bagaimana ini proses akan dengan
misalnya)
dilakukan. dalam
praktikum
dijabarkan/diterapkan menggunakan, 1. 2. 3. 4. 5.
proses
pemograman
komputer
Operator aritmatika. Logika dan kontrol. Proses pengulangan. Penggunaan array. Penggunaan subprogram.
Operator aritmatika Operator aritmatika memegang peranan penting dalam pemograman komputer dengan FORTRAN-77 karena dengan operator aritmatika inilah rumus-rumus matematika diterjemahkan ke program sumber. Operator aritmatika dan hirarkinya disusun sebagai berikut,
23
MODUL 3
Operator ** * / + =
Hirarki 1 2 2 3 3 -
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 : 3**2+3/2*(4-6) 32 + (3:2) * (4-6) = 6
Logika dan Kontrol Ada 3 bentuk logika dan kontrol yang umum digunakan dalam FORTRAN-77, 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,
MODUL 3
<ekspresi>
<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.
Arti lebih lebar dari lebih besar dan sama dengan lebih kecil dari lebih kecil dan sama dengan sama dengan tidak sama dengan
Contoh penggunaan : write(*,'(3x,a,\)')'nilai a = ' read(*,*)a write(*,'(3x,a,\)')'nilai b = ' read(*,*)b if (a.gt.b) write(*,'(3x,a)')'nilai a besar dari b' if (a.lt.b) write(*,'(3x,a)')'nilai b besar dari a' Proses (Operator & Logika)25
MODUL 3
end Bila prograqm dijalankan akan didapat hasil : nilai a = 5 nilai b = 3 nilai a besar dari b Press any key to continue
Untuk logical variable, <statement> menggunakan salah satu dari logical operator berikut. Hasil akhir dari IF logika hanya benar atau salah (.TRUE. atau .FALSE.).
Contoh penggunaan : Write(*,'(3X,A,\)')'NILAI A = ' READ(*,*)A Write(*,'(3X,A,\)')'NILAI B = ' READ(*,*)B Write(*,'(3X,A,\)')'NILAI C = ' Proses (Operator & Logika)26
MODUL 3
READ(*,*)C If((a.lt.b).and.(a.lt.c))write terkecil' IF((A.GE.B).OR.(A.GE.C))WRITE(*,*)'NILAI A BUKAN YANG TERKECIL' End (*,*)'nilai a yang
Dalam eksekusinya, operator aritmatik akan dilaksanakan pertama kali, disusul dengan comparison (relation) operator dan logical operation.
2. Aritmatik IF Bentuk umum : IF (<expresion>)<slabel1>,<slabel2>,<slabel3> Statement IF aritmatika digunakan untuk menyeleksi kondisi dari suatu ungkapan aritmatika, apakah bernilai negatif, nol atau positif. contoh: CHARACTER*15 NILAI WRITE(*,'(3X,A,\)')'NILAI X = ' READ(*,*)X IF(X)1,2,3 1 NILAI = 'NILAI X NEGATIF' GO TO 4 2 NILAI = 'NILAI X NOL' GO TO 4 3 NILAI = 'NILAI X POSITIF' Proses (Operator & Logika)27
MODUL 3
GO TO 4 4 WRITE(*,'(3X,A)')NILAI END 3. Blok IF Blok IF digunakan untuk pengaturan logika program yang lebih luas dan kompleks dengan pilihan yang lebih variatif. Blok IF disusun dengan struktur dasar IF-THEN-ELSE-ENDIF. Pola blok IF tersebut diberikan dalam Tabel 3 berikut. Tebel 3. Pola blok IF IF-THEN-ENDIF IF-THEN-ELSEENDIF IF(<ekspresi>)TH EN penyataan 1 penyataan 2 penyataan n ENDIF IF(<ekspresi>)THE N penyataan 1 penyataan 2 penyataan n ELSE penyataan a penyataan b penyataan z ENDIF IF-THEN-ELSEIFELSE-ENDIF IF(<eksp1>)THEN penyataan 1 penyataan 2 penyataan n ELSEIF(<eksp2>)T HEN penyataan a penyataan b penyataan z ELSE penyataan a1 penyataan b2 penyataan zn ENDIF Proses (Operator & Logika)28
MODUL 3
Contoh penggunaan : Write(*,'(3X,A,\)')'NILAI A = ' READ(*,*)A Write(*,'(3X,A,\)')'NILAI B = ' READ(*,*)B Write(*,'(3X,A,\)')'NILAI C = ' READ(*,*)C If((a.lt.b).and.(a.lt.c))then write (*,*)'nilai a yang terkecil' else WRITE(*,*)'NILAI A BUKAN YANG TERKECIL' end if End Hal yang perlu diperhatikan bahwa jangan mengkontrol alur program menuju blok IF (menggunakan statement GOTO, misalnya).
mengikuti label yang ditunjukkan dalam perintah GOTO. Ada 3 jenis GOTO yang umum digunakan,
a. Assigment GOTO
Bentuk umum GOTO nvar,(label1,label2,).Penyataan ini
memerintahkan agar alur program berpindah ke label yang sesuai dengan nvar. Contoh penggunaan : Proses (Operator & Logika)29
MODUL 3
GOTO I,(10,20,30)
Contoh di atas menunjukkan bahwa jika nilai I bernilai 10, 20 atau 30, maka proses selanjutnya mengikuti perintah dalam label 10, 20 atau 30.
b. Computed GOTO
Bentuk umum GOTO (label1,label2,),n. Pernyataan ini memerintahkan komputer untuk melanjutkan proses sesuai dengan urutan yang diberikan oleh n. Contoh penggunaan : GOTO (10,20,30),n Jika n=3, maka proses selanjutnya mengikuti perintah yang dimulai dari label ke-3, yakni label 30.
c. Unconditional GOTO
Pola GOTO ini adalah pola yang paling sederhana dengan bentuk umum GOTO label. Pernyataan ini memerintahkan komputer untuk melanjutkan proses ke alamat yang diberikan pada label.
Contoh penggunaan : IF(A.GT.B) GOTO 100 Jika A > B, maka proses dilanjutkan ke perintah yang dimulai dari label 100.
30
PROSES Perulangan
MODUL 4
Perbekalan Praktikum Dalam prakteknya banyak dijumpai suatu perintah harus dikerjakan berulang-ulang hingga diperoleh hasil sesuai dengan yang diinginkan. Secara logis, perintah-perintah kontrol dan logika yang dijelaskan dalam Modul 3 dapat digunakan untuk mengulang perintah-perintah yang sama dalam program. Perhatikan contoh sederhana proses penjumlahan angka 1 hingga 10 di bawah ini. I=0 SUM=0.0 10 I=I+1 WRITE(*,'(3X,A,I2)')'PERULANGAN KE ',I IF(I.LT.10) GOTO 10 END Bila program dijalankan akan didapat hasil : perulangan ke 1 perulangan ke 2 perulangan ke 3 perulangan ke 4 perulangan ke 5 perulangan ke 6 perulangan ke 7 Proses (Perulangan)31
PROSES Perulangan
MODUL 4
Dari contoh diatas dapat dilihat bahwa program akan terus diproses selama masih memenuhi syarat (I.LT.10) dan akan berhenti setelah syarat tidak lagi terpenuhi.
1. DO CONTINUE / DO END DO
<label>
Label yang menunjukkan batasan awal dan akhir dari proses yang akan diulang.
var
n1 n2 inc
Nilai awal perulangan. Nilai akhir perulangan. Incremental, penambahan langkah setiap Proses (Perulangan)32
PROSES Perulangan
MODUL 4
perulangan. Nilai penambahan harus bilangan bulat (integer) positif maupun negatif. Default=1
Perhatikan perbedaannya jika proses penjumlahan angka 1 hingga 10 dalam contoh di atas diprogram dengan menggunakan DO loop dalam contoh penerapan berikut.
Contoh di atas merupakan contoh untuk proses perulangan tunggal. Dengan pola yang sama dimungkinkan untuk menyusun perulangan berkalang (nested loop). Dengan demikian akan ada kalang dalam (inner loop) dan kalang luar (outer loop) seperti diperlihatkan dalam contoh perkalian matriks berikut.
PROSES Perulangan
MODUL 4
Bila program dijalankan akan didapat hasil : perulangan ke 1 1 perulangan ke 1 2 perulangan ke 1 3 perulangan ke 2 1 perulangan ke 2 2 perulangan ke 2 3 perulangan ke 3 1 perulangan ke 3 2 perulangan ke 3 3 Press any key to continue Pada contoh diatas, perintah end do mempunyai tujuan yang sama dengan continue
2.
DO WHILEEND DO Perintah DO WHILE END DO memproses sustu atau sekelompok statemen secara berulang berdasarkan syarat yang diberikan.
Proses (Perulangan)-
34
PROSES Perulangan
MODUL 4
hal yang perlu dicatat bahwa setiap loop harus tertutup dimulai dari loop yang paling dalam. Disamping itu tidak diijinkan proses perhitungan dialihkan ke dalam loop (dengan perintah GOTO, misalnya)
Proses (Perulangan)-
35
PROSES Array
MODUL 5
Perbekalan Praktikum Kontras dengan variabel tunggal, dimana hanya ada satu nilai untuk tiap variabel, variabel yang menggunakan array mempunyai sekelompok nilai dengan variabel yang sama. Variabel ber-array biasa digunakan untuk menterjemahkan variabel berindeks dalam matematika. Perhatikan kembali contoh perkalian matriks dalam modul sebelumnya.
10 CONTINUE
aij = ( bik .c kj )
k =1
Variabel A(I,J), B(I,K) dan C(K,J) disebut sebagai variabel ber-array. Urutan angka integer dalam tanda ( ) menunjukkan dimensi array n, dimana n Proses (Array)36
PROSES Array
MODUL 5
maksimal 7. angka integer dalam tanda kurung menunjukkan alokasi tempat (indeks) yang disediakan untuk array tersebut. Oleh karenanya, pada awal program variabel tersebut harus dideklarasikan. Ada 2 bentuk deklarasi yang umum digunakan.
DIMENSION var(n1:m1,n2:m2,..,nl:ml),
var
Nilai awal dan nilai maksimum indeks ke-1. Nilai awal dan nilai maksimum indeks ke-2. Nilai awal dan nilai maksimum indeks ke-l.
Dalam penyataan DIMENSION, variabel real, integer maupun karakter dapat dituliskan dalam satu satuan DIMENSION. Default n1, n2, dan nn adalah 1. Jika nilai awal n1, n2, dan nn adalah 1, jumlah indeks dalam penyataan DIMENSION cukup ditulis nilai maksimumnya saja.
PROSES Array
MODUL 5
10 CONTINUE
b. Dengan Cara Eksplisit Bentuk lain dari deklarasi array adalah dengan menyatakan secara eksplisit tipe data yang digunakan dalam array tersebut. Bentuk umumnya adalah
<type data>
Tipe data yang digunakan dalam array, real, integer atau karakter.
Dengan penyataan eksplisit ini, variabel real, integer dan karakter harus dipisahkan dalam tiap kelompoknya.
Contoh penggunaan : REAL*8 A(4,4),B(4,4),C(4,4) DO 10 I=1,4,1 DO 20 J=1,4,1 DO 30 K=1,4,1 A(I,J)=A(I,J)+B(I,K)*C(K,J) 30 20 CONTINUE CONTINUE
PROSES Array
MODUL 5
Proses (Array)-
39
PROSES Subprogram
MODUL 6
Tujuan 1. 2. Memahami perintah dan penggunaan subprogram. Dapat mengaplikasikannya ke dalam program komputer.
Perbekalan Praktikum Subprogram digunakan untuk mengalihkan sebagian alur program ke dalam blok program tertentu. Efektifitas, efisiensi dan kemudahan pengaturan merupakan alasan utama dalam pengalihan alur program ke dalam subprogram. Dengan adanya subprogram, blok proses yang mungkin akan dilakukan berulang-ulang, hanya perlu disusun satu kali. Untuk selanjutnya hanya perlu dipanggil/diaktifkan. Ada 2 jenis subprogram yang umum digunakan, yakni SUBROUTINE dan FUNCTION.
SUBROUTINE Subroutine merupakan subprogram yang hampir mirip dengan program utama (perhatikan kembali penjelasan dalam Modul 2). Dalam subroutine dapat dilakukan serangkaian/sekelompok input, proses maupun output. Bentuk umum dan cara pemanggilan/pengaktifan SUBROUTINE diberikan sebagai berikut.
Cara pemanggilan PROGRAM utama> . . CALL <nm>(vra,varz) Proses (Subprogram)39 <nama program
PROSES Subprogram
MODUL 6
<executable statement>
. .
RETURN END <nm> Nama subroutine vr1,varn Variabel yang digunakan dalam subroutine
STOP END <nm> Nama subroutine vra,varz Variabel yang digunakan dalam program utama. Variabel ini tidak perlu sama dengan vr1,varn, akan tetapi harus dengan tipe yang sama
PROSES Subprogram
MODUL 6
IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER*4 (I-N) C DIMENSION A(4,4),B(4,4),C(4,4) DO 10 I=1,4,1 DO 20 J=1,4,1 DO 30 K=1,4,1 A(I,J)=A(I,J)+B(I,K)*C(K,J) 30 20 CONTINUE CONTINUE
FUNCTION Berbeda dengan penggunaan SUBROUTINE, FUNCTION hanya dapat digunakan untuk menentukan nilai satu variabel, bail real, integer maupun karakter. Subprogram ini umumnya digunakan untuk mendefenisikan fungsi tertentu dalam program. Bentuk umum dan cara pemanggilan/pengaktifan FUNCTION diberikan sebagai berikut.
PROSES Subprogram
MODUL 6
. . vo=<nm>(vra,varz)
<executable statement>
. .
RETURN END <nm> Nama function. Nama ini harus sama dengan nama variabel yang nilainya ingin ditentukan. vr1,varn Variabel yang digunakan dalam function
STOP END <nm> Nama function Nama ini harus sama dengan nama variabel yang nilainya ingin ditentukan. vra,varz Variabel yang digunakan dalam program utama. Variabel ini tidak perlu sama dengan vr1,varn, akan tetapi harus dengan tipe yang sama Proses (Subprogram)42
PROSES Subprogram
MODUL 6
vo
Variabel yang digunakan dalam program utama, yang identik dengan nilai fungsi dalam subprogram
Subprogram REAL*8 FUNCTION CELS(FAH) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER*4 (I-N) C CELS=5.0/9.0*(FAH-32.0) RETURN END
Proses (Subprogram)-
43
MODUL 7
Tujuan 1. 2. Memahami tentang metode pengolahan data dan file. Dapat mengaplikasikannya ke dalam program komputer.
Perbekalan Praktikum Seperti dijelaskan dalam Modul 1 semua data yang akan dan diproses di CPU dibaca dari main memory komputer. Main memory hanya menyimpan data tersebut secara temporary (sementara) hingga program selesai dieksekusi. Jika data tersebut ingin disimpan secara tetap, maka semua data tersebut harus disimpan dalam bentul file. Dalam Modul 2 juga telah disinggung bagaimana cara membaca dan menulis data dari media monitior maupun file ke main memory. Pada Modul 7 ini akan dijelaskan tentang perintah yang umum digunakan dalam FORTRAN-77 untuk mengatur data dan file dalam
pemograman komputer.
OPEN Penyataan OPEN digunakan untuk membuka file, baik file yang telah tersedia maupun file yang harus disediakan. Setelah file ini terbuka, maka main memory akan membaca/menulis data ke dalam file ini. Bentuk umumnya adalah, OPEN(<unit spec>,FILE=<nama file>,STATUS=<status>, ACCESS=<access>,FORM=<form>,RECL=,rec-leng)
<unit spec>
Menunjukkan nomor spesifikasi file. Nomor spesifikasi merupakan nilai integer kecuali 5 dan 6.
<nama file>
Nama file yang akan dibuka. Proses (Pengaturan Data dan File)44
MODUL 7
<status>
Status file yang dibuka. STATUS=OLD untuk file yang telas tersedia, file untuk data masukan misalnya. STATUS=NEW digunakan untuk membuat file baru, dan STATUS = UNKNOWN,untuk file baru atau lama. Secara default jika status tidak ditulis berarti STATUS = UNKNOWN.
<access>
Metode pengaksesas data dari main memory ke file. ACCESS=DIRECT, pengaksesan dilakukan ke lokasi yang dikehendaki. ACCESS=SEQUENTIAL, pengaksesan dilakukan secara berurut dari record awal. Karena default ACCESS=SEQUENTIAL, pada umumnya metode ACCESS ini tidak dituliskan.
<form>
Menunjukkan bentuk format penyimpanan. form=FORMATTED, data disimpan terformat, form=UNFORMATTED data disimpan tanpa format.
rec-leng
Panjang record yang ditunjukkan oleh bilangan bulat (integer). Perintah ini hanya digunakan untuk ACCESS=DIRECT
Contoh penggunaan : Open(1,file = 'output.txt') C data input dalm layar dos write(*,'(5x,a,\)')'nilai x : ' menunjukkan Proses (Pengaturan Data dan File)45 unit specifier
MODUL 7
read(*,*)x
write(*,'(5x,a)')'lihat hasil di file output.txt' C data output dalam file write(1,'(3x,a,f6.2)')'hasil kali x dengan y = ',z close(1) end Apabila program dieksekusi akan didapat hasil : nilai x : 3.5 nilai y : 66 lihat hasil perhitungan di file output.txt Press any key to continue Untuk melihat hasil dari perhitungan, lakukan langkah berikut : 1. 2. Klik File > open (Ctrl O) atau klik Ubah pilihan Files of type menjadi All Files(*.*)
46
MODUL 7
3.
Contoh diatas merrupakan contoh pengolahan data dengan input pada layar dos dan out put dalam file. Secara umum ada 3 cara pengolahan data dengan file : 1. 2. 3. Input pada layar dos dan output dalam file. Input dalam file dan output pada layar dos. Input dan output dalam layar.
Selain dalam bentuk .txt(notepad), file extension dari file penyimpanan bisa juga berupa bentuk lain. Contoh : data.doc (data akan tersimpan dalam format word) Proses (Pengaturan Data dan File)47
MODUL 7
simpan.xls (data akan tersimpan dalam excel) output.abc (.abc adalah file extension buatan dan hanya bisa dibuka dalam notepad atau fortran)
input.tugas (hanya bisa dibuka dalam notepad atau fortran) asadff (tanpa file extension, hanya bisa dibuka dalam notepad atau fortran )
Nama file penyimpanan selain ditentukan dalam listing program, juga bisa ditentukan saat program dieksekusi. Contoh : character*4 a write(*,'(3x,a,\)')'nama file penyimpanan : ' read(*,*)a open(1,file = a) c data input dalm layar dos write(*,'(5x,a,\)')'nilai x : ' read(*,*)x write(*,'(5x,a,\)')'nilai y : ' read(*,*)y c perhitungan z = X*y c data output dalam file write(1,'(3x,a,f6.2)')'hasil kali x dengan y = ',z close(1) end Apabila program dieksekusi akan didapat hasil : Proses (Pengaturan Data dan File)48
MODUL 7
nama file penyimpanan : asdf nilai x : 3 nilai y : 2.3 Press any key to continue
CLOSE Pernyataan CLOSE digunakan untuk menutup file yang tidak diperlukan. Penutupan file ini diperlukan untuk space dalam main memory komputer. Bentuk umumnya adalah.
<unit spec>
Menunjukkan nomor spesifikasi file. Nomor spesifikasi merupakan nilai integer kecuali 5 dan 6.
<status>
Status lanjutan dari file setelah ditutup. status=KEEP digunakan agar file tetap seperti semula, status=DELETE digunakan untuk menghapus file.
49
PENGATURAN PROGRAM
MODUL 8
Tujuan 1. Memahami tentang metode metode penyelesaian masalah dengan program komputer. 2. Dapat mengatur program secara efektif dan efisien.
Perbekalan Praktikum Tujuan utama dalam penyusunan program komputer adalah untuk membantu dalam menyelesaikan masalah dalam bidang rekayasa. Secara umum, langkah-langkah yang diperlukan sejelaskan secara singkat sebagai berikut.
Langkah 1
Tentukan masalah yang akan diselesaikan (menyelesaikan persamaan matematika dengan metode numerik, misalnya). Pastikan bahwa masalah telah dikusai dengan baik.
Langkah 2
Analisis masalah tersebut. Tentukan secara tepat bagianbagian input, proses dan output serta hubungan antar ketiganya. Bagian ini merupakan bagian yang terpenting karena siapapun tidak ingin menyelesaikan masalah yang salah maupun menyelesaikan masalah yang benar dengan akan tetapi mendapatkan jawaban yang salah.
Langkah 3
Susun algoritma untuk menyelesaikan masalah. Algoritma harus disusun secara tepat tanpa ada keraguan dalam tiap langkahnya serta harus terdefenisi dengan baik dan tepat sehingga akan diketahui akibat dari perubahan tiap langkah yang dilakukan.
PENGATURAN PROGRAM
MODUL 8
Langkah 4
Susun diagram alir sesuai dengan algoritma yang disusun dalam langkah3.
Langkah 5
Terapkan diagram alir tersebut dalam bentuk source code program. Walaupun masing-masing orang mempunyai bahasa pemograman favorit, akan tetapi pada saat tertentu dibutuhkan bahasa pemograman khusus untuk menyelesaikan masalah. FORTRAN-77 misalnya, khusus dibuat untuk menyelesaikan masalah dalam bidang sains dan teknologi.
Langkah 6
Pengujian dan verifikasi program. Bagian ini merupakan bagian tersulit dalam proses pemograman komputer. Untuk program yang besar dan kompleks, pengalaman dan latihan yang terus-menerus merupakan modal utama dalam melakukan pengujian dan verifikasi program ini.
Ketika menerapkan algoritma/diagram yang telah disusun dalam langkah 3 dan 4, terdapat beberapa langkah dalam menyusun dan mengeksekusi program. Langkah-langkah tersebut antara lain,
Langkah 1
Gunakan editor yang tersedia untuk menyusun program tersebut, gambar berikut memperlihatkan editor yang telah disediakan Compaq Visual Fortran. Simpan source code program tersebut sebagai source file.
PENGATURAN PROGRAM
MODUL 8
Source file
Langkah 2
Compile source dengan compiler yang tersedia (perhatikan kembali Modul 2). Jika terjadi kesalahan berupa syntax error, kembali ke langka 1. Jika tidak terjadi kesalahan, maka compiler akan membuat objec file.
Langkah 3
Dalam menyusun program yang besar dan kompleks, sangat disarankan untuk membagi-bagi program dalam bentuk subprogram (perhatikan gambar di atas untuk lebih jelas). Tiap subprogram dapat disusun dan di-compile tersediri sesuai dengan langkah 1 dan 2 di atas. Pola ini akan memudahkan dalam melihat, menyusun maupun menguji program yang disusun. Setelah semua
PENGATURAN PROGRAM
MODUL 8
subprogram telah selesai di-compile, langkah selanjutnya adalah meng-link semua file object tersebut. Langkah 4 Jika semuanya berjalan lancar, langkah berikutnya adalah mengeksekusi program untuk menguji dan memverifikasi program. Jika terdapat kesalahan berupa logic error, periksa kembali source code di langka 1.
Seperti telah disinggung sebelumnya, pengujian dan verifikasi program merupakan bagian yang paling sulit dalam penyusunan program komputer. Untuk program sederhana, pengujian dengan cara hand trace atau desk check dapat dilakukan jika terdapat kesalahan berupa logic error. Untuk program yang besar dan kompleks, fasilitas debugging dan tracing Compaq Visual Fortran dapat digunakan seperti terlihat dalam gambar berikut.
PENGATURAN PROGRAM
MODUL 8
PENGATURAN PROGRAM
MODUL 8
Contoh proses pengujian program (debugging) : 1. Tempatkan kursor pada statement pertama pada awal program.
PENGATURAN PROGRAM
MODUL 8
2. 3. 4.
Tekan F9 pada keybord atau klik Tekan F5 pada keybord atau klik Tekan F11 berulang kali hingga panah kuning pada bagian kiri listing program berhenti berpindah.
5. 6. 7.
Masukkan data input (pada layar dos/file) Kembali Listing program dan ulangi menekan F11 Perhatikan perubahan nilai dari semua variable pada jendela variable, atau tulis nama variable tententu yang ingin diamati pada jendela watch
8. 9.
Ulangi langkah diatas sampai menemukan kesalahan dari program. Keluar dari Proses debugging dengan menekan Shift + F5 atau klik
PENGATURAN PROGRAM
MODUL 8
PENGATURAN PROGRAM
MODUL 8