diktat penuntun praktikum fortran_2.pdf
DESCRIPTION
hTRANSCRIPT
PENUNTUN PRAKTIKUM PEMOGRAMAN KOMPUTER
BAHASA FORTRAN
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FAKULTAS TEKNIK-UNIVERSITAS ANDALAS PADANG
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 1
Tujuan
1. Memahami komponen utama komputer pribadi (Personal Computer).
2. 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).
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 2
b. Main Memory. Perangkat lunak/program (software) dan data-data
yang diperlukan akan disimpan dalam main memory. Perintah-
perintah 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
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 3
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, langkah-
langkah berikut sangat penting untuk dilakukan.
a. Perumusan masalah.
b. Penyusunan algoritma.
c. Penyusunan diagram alir (flow chart).
d. Pengkodean program (source code).
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 4
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. Mulai. 2. Baca lebar, panjang dan tinggi balok. 3. Hitung V=l*p*t. 4. Tulis volume 5. Selesai.
c. Diagram Alir
Diagram alir merupakan gambaran/notasi tentang alur (pola fikir)
program komputer yang akan dibuat. Diagram alir memegang peranan penting
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 5
baik dalam menyusun program komputer maupun pada saat pengecekan ulang
jika program komputer mempunyai kesalahan.
Contoh:
mulai
Baca : lebar, panjang, tinggi
V= l*p*t
Tulis : volume
selesai
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 6
Tabel 1. Gambaran/notasi yang umum digunakan dalam diagram alir
No. Gambar/notasi Arti
1.
Titik terminal untuk mulai, selesai dan kembali. Jika untuk mulai tulis START, selesai tulis STOP dan kembali tulis RETURN
2.
Input dan/atau output. Jika digunakan untuk input, tulis READ: dan jika untuk output, tulis WRITE: dan diikuti dengan variabel yang akn dibaca/ditulis
3.
Proses. Tuliskan proses yang akan dilakukan komputer dalam kotak yang tersedia
4.
Tanda penghubung. Angka numerik dalam lingkaran menunjukkan bahwa alur program dilanjutkan ke tahapan dengan alamat nomor yang diberikan dalam lingkaran. Huruf dalam lingkaran digunakan
LORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENDAHULUAN MODUL 1
Pendahuluan - 7
untuk tanda sambung.
5.
atau
Kedua notasi ini digunakan untuk alur dengan keputusan (if conditional). Notasi pertama jika hanya 2 pilihan sedang notasi kedua untuik 3 pilihan.
6.
Gambar/notasi untuk subprogram.
7.
Gambar/notasi untuk memulai dan mengakhiri proses pengulangan
8. Garis aliran. Ujung panah menunjukkan arah aliran
Tugas :
1. Buat algoritma dan diagram alir untuk menghitung kecepatan
kendaraan dengan input berupa jarak dan waktu tempuh.
2. Buat laporan awal untuk modul 2.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 8
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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 9
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 bagian-
bagian 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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 10
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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 11
penyimpanannya dalam memory. Lihat penjelasan tentang Type Variabel/Data
dalam pembahasan berikutnya.
Gambar 1. Mengaktifkan Compaq Visual Fortran
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
memperlihatkan cara untuk mengaktifkan compiler Compaq Visual Fortran. Cara
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 12
membuat dan menyusun program komputer dalam editor akan dijelaskan
asisten dalam praktikum
Gambar 2. Menu untuk kompilasi, build dan eksekusi
Untuk mendapatkan output dari suatu program, dilakukan tahap-tahap
sebagai berikut :
1. Tahap kompilasi.
- klik pada [build] > [compile]
- atau klik pada toolbar
- atau Ctrl + F7
kompilasibuild
eksekusi
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 13
2. Build
- klik pada [build] > [build nama file.exe]
- atau klik pada toolbar
- atau F7
3. Execute program
- klik pada [build] > [execute]
- atau klik 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,
IMPLICIT REAL*8 (A-H,O-Z)
IMPLICIT INTEGER*4 (I-N)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 14
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.
Tipe Byte Keterangan
INTEGER 2 Bilangan bulat (-32767 – 32767)
INTEGER*2 2 Bilangan bulat (-32767 – 32767)
INTEGER*4 4 Bilangan bulat (-2147483647 –
2147483647)
REAL 4 Bilangan desimal (floating point) Untuk bilangan positif 8.43E-37 – 3.37E38 Untuk bilangan negative -3.37E38 – -8.43E-37
REAL*4 4 Sama dengan REAL
REAL*8 8 Bilangan desimal (floating point)
DOUBLE
PRECISION
8 Identik dengan REAL*8
COMPLEX 8 Bilangan kompleks
COMPLEX*8 8 Bilangan kompleks
COMPLEX*16 16 Bilangan kompleks
DOUBLE
COMPLEX
16 Identik dengan COMPLEX*16
LOGICAL 4 Logika .TRUE. dan .FALSE.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 15
LOGICAL2 2 Logika .TRUE. dan .FALSE.
LOGICAL4 4 Logika .TRUE. dan .FALSE.
CHARACTER 1 Karakter (bukan angka)
CHARACTER*
n
n 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.
1 Kolom 1 Komentar. Jika pada kolom 1 diberi huruf C
atau *, maka semua karakter yang
mengikutinya dikategorikan sebagai
komentar.
2 Kolom 1-5 Tempat penulisan label yang merupakan
alamat perintah lanjutan. Label harus
dibuat ditulis dengan bilangan bulat
(integer)
3 Kolom 6 Tempat tanda sambung. Semua karakter
dapat digunakan sebagai tanda sambung.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 16
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,
READ/WRITE (<unit spec>,<format spec>) var1,var2,…
dimana,
<unit spec> Menunjukkan kode/nomor alat input. Karakter *
atau angka 5 menunjukkan bahwa input
dilakukan melalui keyboard (terlihat pada
monitor). Karakter * atau angka 6 menunjukkan
bahwa output ditampilkan melalui monitor.
<format spec> Menunjukkan format input/output untuk
var1,var2,…. Karakter * pada <format
spec> menunjukkan format bebas (free format).
Untuk input disarankan untuk menggunakan
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 17
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 = ……..hasil dari
WRITE(*,*)’Nilai A = ‘
6 ……..ditulis (berdasarkan
READ(*,*)A)
Nilai A = 6.000000 ……..hasil dari
WRITE(*,*)’Nilai A = ‘,A
Press any key to continue
FORMAT
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 18
Penyataan FORMAT digunakan untuk membentuk format (bentuk) data
masukan/keluaran yang meliputi tentang tata letak, tipe dan panjang data.
Bentuk umum FORMAT ditulis sebagai berikut,
<label> FORMAT (edit list)
<label> Menunjukkan label yang merupakan alamat dari
pernyataan READ/WRITE
edit list Merupakan edit descriptor yang merupakan
perintah untuk mengatur tata letak, tipe dan
panjang data.
Contoh penggunaan :
WRITE(6,10)A,B
10 FORMAT(2(1X,F12.5))
Edit Descriptor
Edit descriptor merupakan perintah dalam membentuk format I/O.
Dalam Tabel 2 berikut diberikan edit descriptor yang umum digunakan dalam
FORTRAN-77.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 19
Tabel 2. Edit Descriptor dalam FORTRAN-77
No. Tipe Editing Bentuk umum
Arti notasi
1. Character <n>A<w
>
<n>
<w>
jumlah pengulangan jumlah karakter
2. Integer <n>I<w
>
<n>
<w>
jumlah pengulangan jumlah digit integer
3. Real <n>F<w
>.<d>
<n>
<w>
<d>
jumlah pengulangan jumlah digit termasuk desimal jumlah desimal
4. Real Exponensial
<n>E<w
>.<d>
<n>
<w>
<d>
jumlah pengulangan jumlah digit termasuk desimal jumlah desimal
5. Logika <n>L<w
>
<n>
<w>
jumlah pengulangan jumlah digit data
6. Apostrophe ‘<k>’ <k> karakter
7. Positional <n>X <n> jumlah pengulangan
8. Slash / turun satu baris
9. Backslash \ naik satu baris
10. Blank interpretation
BN
BZ
blank=kosong blank=nol
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 20
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 :
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 21
123.235
Press any key to continue
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) tiga baris kosong (///)
dilaboratorium komputasi laboratorium dan komputasi digabung (\)
Press any key to continue
Tugas :
Tentukan format terbaik untuk nilai :
- 32767
- -32768
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
DASAR-DASAR
PEMOGRAMAN
KOMPUTER
MODUL 2
Dasar-dasar Pemograman Komputer - 22
- 1234567
- 123.356
- 12345678.9
- 1234567993.321
- 0.3333
- -555.66666
- -36544275865.5788
- 235E24
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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 23
Tujuan
1. Memahami perintah-perintah berupa proses dalam pemograman
komputer.
2. Memahami tentang logika dan kontrol dalam proses.
3. Dapat menyusun program komputer lanjutan.
Perbekalan Praktikum
Bagian utama pemograman komputer adalah bagaimana proses
(perhitungan misalnya) dilakukan. Dalam praktikum ini akan
dijabarkan/diterapkan proses dalam pemograman komputer dengan
menggunakan,
1. Operator aritmatika.
2. Logika dan kontrol.
3. Proses pengulangan.
4. Penggunaan array.
5. 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,
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 24
Operator Operasi/Arti Hirarki
** Pangkat 1
* Kali 2
/ Bagi 2
+ Tambah 3
- Kurang 3
= Sama dengan -
Proses aritmatika pada komponen (operant) sejenis akan menghasilkan
komponen sejenis. Sedangkan proses aritmatika yang tidak sejenis akan
menghasilkan komponen dengan hirarki yang lebih tinggi. Agar proses
aritmatika dengan hirarki yang lebih rendah dapat diproses terlebih dahulu,
digunakan tanda kurung ( ).
Contoh :
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,
IF(<ekspresi>)<statement>
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 25
<ekspresi> Menunjukkan ekspresi, logika atau aritmatik, yang
harus dibandingkan.
<statement> Penyataan/perintah yang harus dilakukan jika
hasil perbandingan dalam <ekspresi> benar.
Untuk logikal expression, membandingkan dua nilai numerik, <statement>
dalam IF di atas disusun dengan menggunakan salah satu comparison (relation)
operator berikut.
Operator Arti
.GT. lebih lebar dari
.GE. lebih besar dan sama dengan
.LT. lebih kecil dari
.LE. lebih kecil dan sama dengan
.EQ. sama dengan
.NE. tidak sama dengan
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'
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 26
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.).
Operator Arti
.NOT. tidak
.AND. dan
.OR. atau
.XOR. ekslusif atau
.EQV. ekivalen
.NEQV. tidak ekivalen
Contoh penggunaan :
Write(*,'(3X,A,\)')'NILAI A = '
READ(*,*)A
Write(*,'(3X,A,\)')'NILAI B = '
READ(*,*)B
Write(*,'(3X,A,\)')'NILAI C = '
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 27
READ(*,*)C
If((a.lt.b).and.(a.lt.c))write (*,*)'nilai a yang
terkecil'
IF((A.GE.B).OR.(A.GE.C))WRITE(*,*)'NILAI A BUKAN YANG
TERKECIL'
End
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'
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 28
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-ELSE-
ENDIF
IF-THEN-ELSEIF-
ELSE-ENDIF
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(<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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 29
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).
3. GOTO
Pernyataan GOTO digunakan untuk memindahkan alur program
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 :
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES Operator &
Logika MODUL 3
Proses (Operator & Logika)- 30
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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Perulangan MODUL 4
Proses (Perulangan)- 31
Tujuan
1. Memahami perintah-perintah perulangan.
2. Dapat mengaplikasikannya ke dalam program komputer.
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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Perulangan MODUL 4
Proses (Perulangan)- 32
perulangan ke 8
perulangan ke 9
perulangan ke 10
Press any key to continue
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
DO <label> var=n1,n2,inc
pernyataan 1
pernyataan 2
…
pernyataan n
<label> CONTINUE
<label> Label yang menunjukkan batasan awal dan akhir
dari proses yang akan diulang.
var Variabel integer yang merupakan variabel
pengontrol perulangan.
n1 Nilai awal perulangan.
n2 Nilai akhir perulangan.
inc Incremental, penambahan langkah setiap
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Perulangan MODUL 4
Proses (Perulangan)- 33
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 penggunaan :
DO 10 I=1,10
WRITE(*,'(3X,A,I2)')'PERULANGAN KE ',I
10 CONTINUE
END
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.
Contoh penggunaan :
DO I=1,3
DO J=1,3
WRITE(*,'(3X,A,2I2)')'PERULANGAN KE ',I,J
END DO
END DO
END
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Perulangan MODUL 4
Proses (Perulangan)- 34
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 WHILE…END DO
Perintah DO WHILE …END DO memproses sustu atau sekelompok
statemen secara berulang berdasarkan syarat yang diberikan.
Contoh :
i=0
do while(i.lt.10)
i=i+1
write(*,'(3x,a,2I2)')'perulangan ke ',I
end do
end
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Perulangan MODUL 4
Proses (Perulangan)- 35
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)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Array MODUL 5
Proses (Array)- 36
Tujuan
1. Memahami penggunaan array.
2. Dapat mengaplikasikannya ke dalam program komputer.
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.
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 CONTINUE
20 CONTINUE
10 CONTINUE
Dengan notasi matematika program di atas ditulis sebagai,
( )4
ij ik kjk 1
a b .c=
= ∑
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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Array MODUL 5
Proses (Array)- 37
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.
a. Dengan DIMENSION
Penyataan DIMENSION mempunyai bentuk umum,
DIMENSION var(n1:m1,n2:m2,..,nl:ml),…
var Variabel yang mempunyai indeks, baik real, integer
maupun karakter.
n1:m1 Nilai awal dan nilai maksimum indeks ke-1.
n2:m2 Nilai awal dan nilai maksimum indeks ke-2.
nn:mn 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.
Contoh penggunaan :
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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Array MODUL 5
Proses (Array)- 38
A(I,J)=A(I,J)+B(I,K)*C(K,J)
30 CONTINUE
20 CONTINUE
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> var(n1:m1,n2:m2,..,nl:ml),…
<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 CONTINUE
20 CONTINUE
10 CONTINUE
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Array MODUL 5
Proses (Array)- 39
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Subprogram MODUL 6
Proses (Subprogram)- 39
Tujuan
1. Memahami perintah dan penggunaan subprogram.
2. 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.
Bentuk umum Cara pemanggilan
SUBROUTINE
<nm>(vr1,…varn)
<deklarasi varibel>
<inisialisasi variabel>
PROGRAM <nama program
utama>
.
.
CALL <nm>(vra,…varz)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Subprogram MODUL 6
Proses (Subprogram)- 40
<executable statement>
RETURN
END
.
.
STOP
END
<nm> Nama
subroutine
<nm> Nama
subroutine
vr1,…varn Variabel yang
digunakan
dalam
subroutine
vra,…varz Variabel yang
digunakan
dalam program
utama. Variabel
ini tidak perlu
sama dengan
vr1,…varn,
akan tetapi
harus dengan
tipe yang sama
Contoh penggunaan :
Program utama
.
CALL KALI(A,B,F)
.
Subprogram
SUBROUTINE KALI(A,B,C)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Subprogram MODUL 6
Proses (Subprogram)- 41
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 CONTINUE
20 CONTINUE
10 CONTINUE
C
RETURN
END
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.
Bentuk umum Cara pemanggilan
<td>FUNCTION
<nm>(vr1,…varn)
PROGRAM <nama program
utama>
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Subprogram MODUL 6
Proses (Subprogram)- 42
<deklarasi varibel>
<inisialisasi variabel>
<executable statement>
RETURN
END
.
.
vo=<nm>(vra,…varz)
.
.
STOP
END
<nm> Nama function.
Nama ini harus
sama dengan
nama variabel
yang nilainya
ingin
ditentukan.
<nm> Nama function
Nama ini harus
sama dengan
nama variabel
yang nilainya
ingin
ditentukan.
vr1,…varn Variabel yang
digunakan
dalam function
vra,…varz Variabel yang
digunakan
dalam program
utama.
Variabel ini
tidak perlu
sama dengan
vr1,…varn,
akan tetapi
harus dengan
tipe yang sama
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PROSES
Subprogram MODUL 6
Proses (Subprogram)- 43
vo Variabel yang
digunakan
dalam program
utama, yang
identik dengan
nilai fungsi
dalam
subprogram
Contoh penggunaan :
Program utama
.
SUHUC=CELS(F)
.
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
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
DATA DAN FILE MODUL 7
Proses (Pengaturan Data dan File)- 44
Tujuan
1. Memahami tentang metode pengolahan data dan file.
2. 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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
DATA DAN FILE MODUL 7
Proses (Pengaturan Data dan File)- 45
<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 : ' unit specifier
menunjukkan
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
DATA DAN FILE MODUL 7
Proses (Pengaturan Data dan File)- 46
read(*,*)x no. File yang dituju
write(*,'(5x,a,\)')'nilai y : ' (output.txt)
read(*,*)y
C perhitungan
z = x*y
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. Klik File > open (Ctrl O) atau klik
2. Ubah pilihan Files of type menjadi All Files(*.*)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
DATA DAN FILE MODUL 7
Proses (Pengaturan Data dan File)- 47
3. Double clik nama file yang ingin dibuka.
Hasil perhitungan dalam file yaitu :
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. Input pada layar dos dan output dalam file.
2. Input dalam file dan output pada layar dos.
3. 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)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
DATA DAN FILE MODUL 7
Proses (Pengaturan Data dan File)- 48
- 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 :
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
DATA DAN FILE MODUL 7
Proses (Pengaturan Data dan File)- 49
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.
CLOSE(<unit spec>, STATUS=’<status>’)
<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.
Contoh penggunaan :
CLOSE(14,STATUS=’DELETE’)
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 25
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 bagian-
bagian 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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 26
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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 27
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
Source code dalam editor
Source file
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 28
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.
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 29
2. Klik menu ini 1. Klik ke batas baris yang diinginkan
3. Klik menu ini untuk memulai debugging
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 30
Contoh proses pengujian program (debugging) :
1. Tempatkan kursor pada statement pertama pada awal program.
2
3
1
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 31
2. Tekan F9 pada keybord atau klik
3. Tekan F5 pada keybord atau klik
4. Tekan F11 berulang kali hingga panah kuning pada bagian kiri listing
program berhenti berpindah.
5. Masukkan data input (pada layar dos/file)
6. Kembali Listing program dan ulangi menekan F11
7. Perhatikan perubahan nilai dari semua variable pada jendela variable,
atau tulis nama variable tententu yang ingin diamati pada jendela watch
8. Ulangi langkah diatas sampai menemukan kesalahan dari program.
9. Keluar dari Proses debugging dengan menekan Shift + F5 atau klik
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 32
4 7 9
LABORATORIUM KOMPUTASI JURUSAN TEKNIK SIPIL FTUA
PENGATURAN
PROGRAM MODUL 8
Proses (Pengaturan Program)- 33