You are on page 1of 61

Tekni k Komputer

BAB I
PENGANTAR KOMPUTER
Deskripsi : Membahas tentang komponen-komponen
komputer, dan bahasa komputer.
Tujuan Instruksional Khusus (TIK):
1. Mahasiswa dapat mengenal dan memahami fungsi
komponen-komponen komputer.
2. Mahasiswa dapat memahami bahasa komputer atau
bahasa mesin.
A. PENDAHULUAN
Pada umumnya komputer dapat digolongkan menjadi
komputer digital dan komputer analog. Komputer digital
merupakan piranti penghitung dan beroperasi dengan
besaran numerik diskrit atau urutan terbatas dari
angka-angka. Sedangkan komputer analog beroperasi
dengan mengukur besaran kuantitas dari suatu rangkaian
listrik secara paralel atau analog. Hasil komputer
analog diperlihatkan dalam bentuk kurva tanpa
memperlihatkan nilai-nilai numerik diskrit.
Pada awal ditemukan komputer digital oleh Mauchly,
Eckert dan Von Neuman yaitu Electronic Numerical
Integrator and Calculator (ENIAC), komputer digital
masih memiliki kapasitas yang kecil tetapi mempunyai
ukuran yang besar bahkan beberapa diantaranya menempati
seluruh ruangan. Namun dengan meningkatnya pengetahuan
1
Pemrograman Bahasa Fortran
mengenai rangkaian, ukuran komputer semakin kecil
tetapi kapasitasnya bertambah. Jenis komputer ini
sering disebut dengan komputer pribadi (Personal
Computer, PC).

B. KOMPONEN KOMPUTER PRIBADI
Komponen komputer pribadi dapat dibedakan menjadi
dua macam, yaitu perangkat keras (hardware) dan
perangkat lunak (software). Perangkat keras merupakan
fisik bagian nyata dari komputer seperti keyboard,
layar monitor, dan lain-lain, sedangkan perangkat lunak
terdiri dari program-program dengan instruksi tertentu.
Secara umum, komputer dibagi atas empat unit, yaitu
unit masukan, unit pemrosesan pusat atau CPU, unit
penyimpan, dan unit keluaran. CPU dan unit penyimpan
biasanya digabungkan dalam suatu unit sistem.
Unit masukan dapat berupa papan tombol (keyboard)
atau alat-alat ukur seperti termokopel, straingage, dan
lain-lain yang dihubungkan dengan suatu konektor atau
interface.
CPU menampilkan semua instruksi yang diberikan ke
komputer. CPU dapat melaksanakan operasi penambahan,
pengurangan, atau membandingkan nilai-nilai yang
diinginkan oleh instruksi tersebut.
Unit penyimpanan pada umumnya terdiri dari tiga
bagian yaitu: memori yang hanya baca (ROM), memori
akses acak (RAM), dan media penyimpan seperti disket,
harddisk, compact disk (CD), dan optical disk.
2
Tekni k Komputer
Gambar 1. Komponen perangkat keras komputer
C. BAHASA KOMPUTER
Komputer merupakan rangkaian terpadu elektronik
sehingga bahasa yang dikenal komputer adalah bahasa
elektronik. Bahasa elektronik menggunakan kombinasi dua
karakter dari sistem angka biner untuk menyatakan dan
menyimpan semua karakter lain, yaitu nol (0) jika tidak
terhubung dan satu (1) jika terhubung.
Gambar 2. Rangkaian elektronik, a) hubung seri dan b)
hubung paralel
3
Layar Keluaran:
Monitor, viewer
Alat Masukan
(Input):
Keyboard, Interfaces
(thermocouples,
straingauges)
Alat Keluaran
(Output):
Printer, Plotter, Interfaces
(switches, electric motors)
CPU
(Central Processing Unit)
ROM RAM
Media
Penyimpan:
Hard disk,
floppy disk, CD,
optical disk
Unit
Penyimpan
Unit Sistem
A B
Z
A
B
Z
Pemrograman Bahasa Fortran
Pada gambar 2a, lampu Z menyala (1) jika A
terhubung (1) dan B terhubung (1) atau Z = AB.
Sedangkan pada gambar 2b, lampu Z menyala (1) jika A
terhubung (1) atau B terhubung (1), Z = A + B.
4
Tekni k Komputer
BAB II
ALGORITMA PEMROGRAMAN
Deskripsi : Membahas tentang bahasa pemrograman,
algoritma pemrograman dan diagram alir
(flow chart) disertai contoh soal dan
latihan-latihan.
Tujuan Instruksional Khusus (TIK):
1. Mahasiswa mampu memahami tentang bahasa
pemrograman.
2. Mahasiswa mampu menganalisa persoalan menggunakan
algoritma dan diagram alir.
A. PENDAHULUAN
Komputer merupakan alat bantu dalam menyelesaikan
masalah. Namun, komputer tidak bisa langsung
menyelesaikan masalah yang diberikan, sehingga
diperlukan rumusan langkah-langkah penyelesaian masalah
tersebut dalam suatu runtunan instruksi. Sekumpulan
instruksi yang merupakan penyelesaian masalah disebut
program. Agar program dapat dilaksanakan oleh komputer,
maka program harus ditulis dalam suatu bahasa yang
dimengerti oleh komputer sehingga komputer dapat
mengerjakan instruksi-instruksi tersebut dan memberikan
hasil atau keluaran yang diinginkan.
Secara umum, tahapan pembuatan program adalah
sebagai berikut:
5
Pemrograman Bahasa Fortran
1. Memahami persoalan yang akan diselesaikan
2. Menentukan langkah-langkah untuk menyelesaikan
persoalan dalam bentuk flow chard
3. Menulis program
4. Pengujian program
B. BAHASA PEMROGRAMAN
Bahasa pemrograman dapat didefinisikan sebagai
suatu bahasa dengan aturan-aturan tertentu seperti tata
bahasa, instruksi-instruksi, tata cara pengoperasian
kompiler, dan penggunaan instruksi-instruksi tersebut
dalam pembuatan program yang ditulis hanya dalam bahasa
tersebut. Hingga saat ini banyak terdapat bahasa
pemrograman antara lain bahasa rakitan (assembly),
Fortran, Cobol, Pascal, Basic, C, dan lain-lain.
Berdasarkan terapannya, bahasa pemrograman dapat
digolongkan menjadi:
1. Bahasa pemrograman terapan khusus, sebagai
contoh:
- Cobol : untuk bisnis dan administrasi
- Fortran : untuk komputasi ilmiah
- Bahasa rakitan : untuk pemrograman mesin
2. Bahasa pemrograman terapan umum, dapat
digunakan untuk berbagai aplikasi seperti bahasa
Pascal, Basic, dan C.
Berdasarkan notasinya, bahasa pemrograman dapat
dikelompokkan atas dua macam, yaitu:
1. Bahasa tingkat rendah.
Bahasa ini dirancang agar setiap instruksinya
langsung dapat diolah oleh komputer tanpa melalui
translator. Yang termasuk bahasa tingkat rendah
6
Tekni k Komputer
adalah bahasa mesin dimana CPU mengambil instruksi
dari memori, langsung mengerti dan mengerjakan
operasinya. Bahasa ini bersifat primitif.
Orientasinya lebih dekat ke mesin dan sulit dipahami
manusia.
2. Bahasa tingkat tinggi.
Bahasa tingkat tinggi lebih mudah dipahami dan
berorientasi ke bahasa manusia. Program dalam bahasa
ini tidak dapat langsung dikerjakan oleh komputer,
perlu diterjemahkan oleh sebuah translator ke bahasa
mesin sebelum akhirnya dieksekusi oleh CPU. Yang
termasuk dalam bahasa tingkat tinggi adalah Pascal,
Fortran, Basic, Cobol, C, dan lain-lain.
Proses pelaksanaan program dalam bahasa
pemrograman dapat digambarkan sebagai berikut:
7
Algoritma
Program
Bahasa Tingkat Tinggi
Program
Bahasa Tingkat Rendah
(bahasa komputer)
Translasi
Kompilasi
Operasi
(Baca, Tulis, Hitung, dll)
Interpretasi CPU
Pemrograman Bahasa Fortran
Gambar 3. Proses pelaksanaan program oleh komputer
Algoritma ditranslasikan menjadi program dalam
bahasa tingkat tinggi. Selanjutnya program dikompilasi
dan diterjemahkan menjadi program dalam bahasa tingkat
rendah. Instruksi dalam bahasa tingkat rendah
diinterpretasikan oleh CPU untuk melaksanakan berbagai
macam operasi.
Tampak bahwa proses yang harus dilalui komputer
dalam melaksanakan program lebih panjang, namun karena
semuanya dilakukan dengan kecepatan tinggi maka dalam
praktek prosesnya jauh lebih cepat dan praktis.
C. ALGORITMA DAN DIAGRAM ALIR
Algoritma
Algoritma (algorithm) adalah suatu deretan
instruksi langkah demi langkah untuk menyelesaikan
masalah. Instruksi langkah demi langkah dikodekan pada
bahasa berorientasi pemakai. Hal ini disebut dengan
program. Instruksi-instruksi dari program tersebut
diterjemahkan melalui program kompiler ke dalam program
bahasa mesin yang dapat diinterpretasikan dan
dilaksanakan oleh komputer.
Menurut Donald E. Knuth yang dikutip oleh Rinaldi
Munir dalam bukunya Algoritma dan Pemrograman,
algoritma mempunyai lima ciri penting yaitu:
1. Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat
dan tidak bermakna ganda (ambiguous).
8
Tekni k Komputer
3. Algoritma memiliki nol atau lebih masukkan
(input). Masukkan adalah besaran yang diberikan
kepada algoritma sebelum algoritma mulai bekerja.
4. Algoritma mempunyai nol atau lebih keluaran
(output). Keluaran adalah besaran yang memiliki
hubungan dengan masukkan.
5. Algoritma harus efektiv. Setiap langkah harus
sederhana sehingga dapat dikerjakan dalam sejumlah
waktu yang logis.
Diagram Alir
Algoritma biasanya ditunjukkan dalam bentuk grafis
yang dikenal dengan diagram alir (flowchart). Untuk
menggambarkan diagram alir dipergunakan simbol-simbol
yang sudah standar. Simbol diagram alir sebenarnya
cukup banyak, namun untuk keperluan komputasi dapat
menggunakan beberapa simbol berikut:
No SIMBOL KETERANGAN
1. Tanda arah aliran
2.
Terminal, menunjukkan awal
atau akhir program
3. Data Input/Output. Digunakan
untuk membaca atau menuliskan
data
4.
Kondisi. Keputusan untuk
mengubah arah aliran program
9
Pemrograman Bahasa Fortran
No SIMBOL KETERANGAN
5.
Subprogram. Kelompok kegiatan
yang tidak disebutkan secara
detail.
No SIMBOL KETERANGAN
6.
Sambungan dalam satu halaman
7.
Sambungan untuk ganti
halaman.
D. CONTOH SOAL DAN PENYELESAIAN
Contoh Algoritma
1. Algoritma Euclidean
Diberikan dua buah bilangan bulat positif m dan n (m
n). Carilah pembagi bersama terbesar (pbt) dari
kedua bilangan tersebut, yaitu bilangan bulat
positif terbesar yang habis membagi m dan n.
Deskripsi :
a. Bagilah m dengan n dan misalkan r
adalah sisanya.
b. Jika r = 0 maka
n adalah jawabannya;
stop
tetapi jika r 0,
lanjutkan ke langkah c.
c. Ganti nilai m dengan nilai n dan nilai
n dengan nilai r, lalu ulang kembali ke langkah
a.
10
Tekni k Komputer
Sebagai contoh, misalkan m = 30 dan n = 12, maka pbt
(30,12) dapat dihitung dengan algoritma Euclidean
sebagai berikut :
1.1 Hitung m/n = 30/12 = 2, sisanya r = 6
1.2 Karena r = 6 0, maka lanjutkan ke langkah 1.3
1.3 Nilai m = n = 12 dan n = r = 6. Lanjutkan ke
langkah 1.2
1.4 Hitung m/n = 12/6 = 2, sisanya r = 0.
1.5 Karena r = 0, maka n = 6 adalah jawabannya. Stop.
Jadi, pbt (30,12) = 6.
2. Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana, A dan B; bejana A berisi
larutan berwarna hitam, bejana B berisi larutan
berwarna putih. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan berwarna
putih dan bejana B berisi larutan berwarna hitam.
Deskripsi :
a. Tuangkan larutan dari bejana A ke dalam bejana B.
b. Tuangkan larutan dari bejana B ke dalam bejana A.
Gambar 4. Dua buah bejana berisi larutan yang
berbeda warna. Bejana A berisi larutan
berwarna hitam, bejana B berisi larutan
berwarna putih.
11
Bejana A Bejana B
Pemrograman Bahasa Fortran
Algoritma TUKAR ISI BEJANA di atas tidak
menghasilkan pertukaran yang benar. Langkah-
langkahnya tidak logis. Yang terjadi adalah
percampuran keduanya. Jadi algoritma TUKAR ISI
BEJANA tersebut salah.
Untuk mempertukarkan isi dua buah bejana, diperlukan
sebuah bejana tambahan sebagai tempat penyimpanan
sementara. Misalkan bejana tambahan tersebut bejana
C. Dengan menggunakan bejana bantu C ini, algoritma
mempertukarkan isi dua buah bejana yang benar adalah
sebagai berikut ini :
Algoritma TUKAR ISI BEJANA
Deskripsi :
a. Tuangkan larutan dari bejana A ke dalam bejana C.
b. Tuangkan larutan dari bejana B ke dalam bejana A.
c. Tuangkan larutan dari bejana C ke dalam bejana B.
Dengan algoritma TUKAR ISI BEJANA yang sudah
diperbaiki ini, isi bejana A dan bejana B dapat
dipertukarkan dengan benar. Pada akhir algoritma,
bejana A berisi larutan berwarna putih dan bejana B
berisi larutan berwarna hitam.
Keadaan awal sebelum pertukaran :
Proses pertukaran :
12
Bejana A Bejana B
Bejana C
Tekni k Komputer
a. Tuangkan larutan dari bejana A ke dalam bejana C
b. Tuangkan larutan dari bejana B ke dalam bejana A
c. Tuangkan larutan dari bejana C ke dalam bejana B
Keadaan akhir setelah pertukaran :
Gambar 5. Proses pertukaran isi bejana A dan bejana
B, menggunakan bejana bantu C. Setelah
pertukaran, bejana A berisi larutan dari
bejana B semula, demikian pula sebaliknya.
13
Bejana A Bejana B
Bejana C
Bejana A Bejana B
Bejana C
Bejana A Bejana B
Bejana C
Bejana A Bejana B
Bejana C
Tidak

Pemrograman Bahasa Fortran
Kedua contoh algoritma yang telah diuraikan di
atas memberikan dua pesan penting. Pertama,
algoritma harus benar. Kedua, algoritma harus
berhenti, dan setelah berhenti, algoritma harus
memberikan hasil yang benar.
Contoh Diagram Alir
1. Menghitung jumlah dari dua buah bilangan A
dan B
Gambar 6. Diagram alir untuk menjumlahkan dua buah
bilangan
14
START
Baca
A,B
Hitung :
JUMLAH = A + B
Tulis :
JUMLAH
STOP
Tidak

Tekni k Komputer
2. Menghitung jumlah bilangan 1 hingga 10
Gambar 7. Diagram alir untuk menghitung jumlah bilangan
1 hingga 10
15
START
Hitung :
JUMLAH = JUMLAH + I
Tulis :
JUMLAH
STOP
I = 0
JUMLAH = 0
I
10
?
Hitung :
I = I + 1
Ya
Tidak

Pemrograman Bahasa Fortran
3. Menghitung keliling dan luas segitiga
A,B,C : sisi-sisi segitiga
Keliling = A + B + C
Luas = (S(S-A)(S-B)(S-C))
0.5
Dimana : S = keliling/2
16
START
Baca
A,B,C
Hitung :
Keliling = A + B + C
Hitung :
S = Keliling/2
Hitung :
Luas = (S(S-A)(S-B)(S-C))
0.5
Tulis :
Kelilin
g
Luas
STOP
Tekni k Komputer
Gambar 8. Diagram alir untuk menghitung luas dan
keliling segitiga.
4. Menghitung akar-akar persamaan kuadrat
17
START
Baca
A,B,C
Hitung :
D = B
2
-4AC
D<0
D=0
Hitung :
X
1
=
X
2
=
Hitung :
X
1
=
X
2
= X
1
Tulis :
Tidak
ada akar
riil
Ya
Ya
Tidak
Tidak
Tulis
X
1
, X
2
STOP
Pemrograman Bahasa Fortran
Gambar 9. Diagram alir untuk menghitung akar-akar
persamaan kuadrat
E. SOAL-SOAL
1. Jika diameter sebuah lingkaran adalah D, buatlah
diagram alir untuk menentukan luas dan keliling dari
lingkaran tersebut.
2. Buat diagram alir untuk menghitung luas daerah yang
diarsir berikut ini.

3. Buat diagram alir untuk menghitung jumlah bilangan
bulat positif dari 2 hingga 100.
4. Buat diagram alir untuk menghitung jumlah bilangan
bulat positif dari K hingga L dengan kelipatan M.
5. Buat diagram alir untuk menentukan nilai terkecil dan
terbesar dari N buah bilangan berikut:
a. 3 5 1 9 10 6 8 7 (8 buah bilangan)
b. 2 1 16 5 8 4 10 7 9 3 (10 buah bilangan)

18
L
T
D
Tekni k Komputer
19
Pemrograman Bahasa Fortran
BAB III
DASAR-DASAR PEMROGRAMAN BAHASA FORTRAN
Deskripsi : Membahas tentang aturan penulisan,
variabel, dan simbol-simbol matematik
serta cara operasional bahasa Fortran
menggunakan Watfor-77.
Tujuan Instruksional Khusus (TIK):
1. Mahasiswa dapat mengenal dan mampu memahami
aturan penulisan program dalam Bahasa Fortran.
2. Mahasiswa mampu memahami konsep dasar
pemrograman Fortran.
3. Mahasiswa dapat menerapkan program Bahasa
Fortran untuk menyelesaikan problem matematika
sederhana.
A. PENDAHULUAN
Bahasa Fortran banyak digunakan dalam bidang
komputasi baik komputasi di bidang sains maupun bidang
teknik. Komputasi sangat terkait dengan bentuk
penyajian data karena menentukan tingkat keakuratan
data yang diolah sesuai dengan orientasi penggunaannya.
Secara umum, data dibagi dalam dua jenis yaitu
data numeris dan data alphanumeris. Data numeris
merupakan data yang disajikan dalam bentuk angka-angka,
sedangkan data alphanumeris adalah data dalam bentuk
huruf dan angka.
20
Tekni k Komputer
Dalam Bahasa Fortran, data numeris diperinci
menjadi dua jenis yaitu data real dan data integer. Hal
ini membedakan Bahasa Fortran dengan bahasa-bahasa
lainnya. Sebagai contoh, dalam Bahasa Cobol justru data
alphanumeris yang diperinci menjadi dua jenis yaitu
data alphabetis dan data alphanumeris. Selain itu,
dalam Bahasa Fortran tidak dikenal adanya birokrasi
yang harus dipenuhi dalam cara-cara penulisannya,
sehingga jauh lebih sederhana.
B. ATURAN PENULISAN PROGRAM
Penulisan program dalam Bahasa Fortran mengikuti
aturan-aturan sebagai berikut:
1. Pernyataan (statement) ditulis pada kolom 7 hingga
kolom 72, tetapi tidak harus dimulai dari kolom 7.
Contoh:
1 2 3 4 5 6 7 72
..
.
80
R E A
R
D
E
(
A
*
D
,
(
1
*
0
,
)
1
A
0 ) A
1
2
2. Jika pernyataan tersebut lebih dari kolom 72, maka
dapat disambung pada baris di bawahnya dengan
diberi tanda sambung pada kolom 6. Tanda sambung
dapat menggunakan sembarang karakter selain 0 (nol)
seperti: 1, 2, 3, ...., 9, *, $, dan lain-lain.
Contoh:
21
Pemrograman Bahasa Fortran
Y = X
125
+ X
124
+ X
123
+ X
122

1 2 3 4 5 6 7 72 ... 80
1
Y
*
=
*
X
1
*
2
*
3
1
+
2
X
5
*
+
*
X
1
*
2
*
2
1 2 4 + X 1
2
Angka 1 pada kolom 6 di baris 2 merupakan tanda
sambung. Maksimum perpanjangan adalah 19 baris.
3. Kolom 1 hingga 5 digunakan untuk menuliskan label
alamat atau nomor pernyataan.
Contoh:
1 2 3 4 5 6 7 72 ... 80
1 0
1
0
0
1
0
0 0
R
F
F
F
E
O
O
O
A
R
R
R
D
M
M
M
(
A
A
A
*
T
T
T
,
(
(
(
1
8
8
8
0
F
F
F
0
5
5
5
)
.
.
.
A
1
1
1
)
)
)
1
2
3
4
Penulisan nomor pernyataan 100 pada baris 2, 3, dan
4 mempunyai arti yang sama.
4. Kolom 73 hingga 80 tidak diproses oleh komputer.
Kolom ini digunakan untuk menulis nomor urut
pernyataan.
Contoh:
1 2 3 4 5 6 7 80
A
W
=
R
B
I
+
T
C
E ( * , 2 5 ) A , B , C
0
0
0
0
0
0
1
2
3
001, 002, 003 adalah nomor urut pernyataan.
5. Jika huruf C atau * dituliskan pada kolom 1 dari
suatu baris pernyataan, maka seluruh kolom pada
22
Tekni k Komputer
baris tersebut (kolom 2 80) dianggap sebagai
catatan atau komentar dan tidak akan diproses oleh
komputer.
Contoh:
1 2 3 4 5 6 7
C
C
C
*
P
L
_
R
U
_
O
A
_
G
S
_
R
_
A
S
_
M
E
_
G
&
U
I
&
N
&
T
T
&
U
I
&
K
G
&
A
&
M
&
E
_
N
_
G
_
H
_
I
_
T
_
U
_
N
_
G
_
C. PEMROGRAMAN DENGAN FORTRAN
1. Karakter Set
Bahasa Fortran menggunakan karakter alfabetik,
numerik, dan karakter-karakter khusus sebagai
berikut:
a. Karakter alfabetik : A, B, C, ..., Z; a, b,
c, ..., z
b. Karakter numerik : 0, 1, 2, ...., 9
c. 10 karakter khusus yang sering digunakan :
+ (tambah) . (titik)
- (kurang) , (koma)
* (bintang/asterisk) (tanda kutip)
/ (garis miring/slash) ( (kurung buka)
= (tanda sama dengan) ) (kurung tutup)
Selain itu, karakter lain yang juga tersedia
adalah $, ?, !, #, :, , dan ;.
d. Karakter blank (kosong).

2. Konstanta
Dalam bahasa fortran dikenal tiga macam konstanta:
23
Pemrograman Bahasa Fortran
a. Konstanta bilangan bulat (integer) yaitu
konstanta yang tidak mengandung titik desimal.
Contoh: 0, -2, 300, -1000
Beberapa aturan yang berhubungan dengan bilangan
bulat adalah:
1) Tidak ada titik desimal
2) Tidak ada harga pecahan
3) Dipakai sebagai perhitungan, pangkat, dan
angka identifikasi
4) Sisa hasil pembagian hilang (terpotong),
misalnya:
4/3 nilainya adalah 1
4/5 nilainya adalah 0
17/5 nilainya adalah 3

b. Konstanta bilangan riil (real) yaitu konstanta
yang mempunyai titik desimal.
Contoh: 0., -2.0, 300.0, -1000.0
Konstanta real sering ditulis dengan cara
floating point atau dalam bentuk eksponensial,
yaitu:
12000 ditulis : 12E+3 atau 0.12E+5
E adalah Exponent.
Beberapa aturan yang berhubungan dengan bilangan
riil adalah:
1) Titik desimal harus ditulis
2) Tidak boleh dipakai sebagai pangkat untuk
bilangan bulat
3) Sisa hasil pembagian tidak hilang, misalnya:
4.0/3.0 nilainya adalah 1.3333333
4.0/5.0 nilainya adalah 0.8000000
24
Tekni k Komputer
17.0/5.0 nilainya adalah 3.4000000
0.5E+2/0.2E+1 nilainya adalah 25.0000000
c. Konstanta alfanumerik dan alfabetik.
Contoh: 2, URUT, TEKNIK, NO 1.
3. Variabel
Variabel digunakan untuk menyimpan suatu konstanta.
Nama variabel bisa sembarang, namun harus memenuhi
aturan-aturan sebagai berikut:
a. Minimum 1 karakter, maksimum 6 karakter.-->tidak
b. Karakter pertama harus karakter alfabetis.
c. Tidak mengandung karakter khusus, seperti: ?,
=, !, -.
d. Tidak mengandung karakter kosong (blank).-->
tidak
e. Tidak menggunakan kata standar yang sudah dipakai
kompiler, seperti: READ, WRITE, GOTO, dan lain-
lain.
Variabel ada 3 macam, yaitu:
a. Variabel integer
Digunakan untuk menyimpan konstanta integer.
Variabel integer dimulai dengan salahsatu dari
huruf-huruf:
I, J, K, L, M, N
b. Variabel real
Digunakan untuk menyimpan konstanta real.
Variabel real dimulai dengan huruf selain I, J,
K, L, M, N yaitu: A H, O Z.
c. Variabel alfabetis
25
Pemrograman Bahasa Fortran
Digunakan untuk menyimpan konstanta alfabetis.
Contoh:
Tabel 2. Cara penulisan variabel
Variabel Keterangan
NILAI
Betul, diawali huruf N (variabel
integer)
JUMLAH
Betul, diawali huruf J (variabel
integer)
X1 Betul, diawali huruf X (variabel real)
ANILAI Betul, diawali huruf A (variabel real)
2BLN Salah, huruf pertama numeris
INDONESIA
Salah, lebih dari 6 karakter wf77
RATA-2 Salah, menggunakan karakter khusus (-)
SA TU Salah, menggunakan karakter kosong ( )
4. Pernyataan (Statement) Aritmatika
Pernyataan aritmatika merupakan pernyataan yang
dapat dieksekusi yang menentukan nilai numerik dari
sebuah ekspresi aritmetik untuk variabel yang diberi
nama dalam alamat tertentu.
Bentuk umum:
var adalah nama variabel baik bilangan bulat ataupun
riil untuk menyimpan hasil hitungan. Sedangkan
ekspresi aritmetik merupakan suatu pernyataan
perhitungan.
Contoh:
G = 100.0 Variabel G berisi 100.0
H = 5.0 Variabel H berisi 5.0
F = G * H Variabel F berisi 500.0
26
var = ekspresi aritmetik
Tekni k Komputer
5. Operator Aritmatika
Ekspresi aritmetik Fortran dievaluasi oleh komputer
mengikuti urutan atau hirarki operasi sebagai
berikut:
1) Tanda kurung : menyelesaikan dari dalam ke
luar, membaca dari kiri ke kanan.
2) Evaluasi fungsi : membaca dari ke kanan
3) Perpangkatan :membaca dari kiri ke kanan,
perpangkatan dari kanan ke kiri.
4) Perkalian/pembagian : membaca dan mengalikan
atau membagi dari kiri ke kanan.
5) Penambahan/pengurangan : membaca dan menambah
atau mengurangi dari kiri ke kanan.
Simbol-simbol operasi aritmetik dalam bahasa Fortran
adalah sebagai berikut:
Tabel 3. Simbol operasi aritmetik
Operasi Operator Prioritas
Perpangkatan ** I
Perkalian * II
Pembagian / II
Penambahan + III
Pengurangan - III
Contoh:
4+3/2-1 = 4+1.5-1 = 5.5-1.0 = 4.5
1 2 3
(4+3)/(2-1) = 7/(2-1) = 7/1 = 7
1 2 3
6. Pernyataan Input dan Output
27
Pemrograman Bahasa Fortran
Pernyataan READ
Digunakan untuk membaca data dari suatu media masukkan.
Bentuk umumnya :
Dimana :
I = bilangan integer atau simbol yang
menyatakan kode alat dari mana data akan
dibaca
Contoh : 5 = alat pembaca kartu
* = layar monitor atau keyboard
LF = nomor label FORMAT (tata letak) data yang
akan dibaca.
Var1,Var2 = nama-nama variabel dimana data yang dibaca
itu disimpan.
Contoh :
READ(*,100)A,NK
.......
100 FORMAT(F13.2,I5)
Jika diinginkan pembacaan data TANPA FORMAT, maka pada
nomor label untuk FORMAT (LF) dituliskan *
READ(*,*)A,NK
Pembacaan data bisa dituliskan dengan cara lain
READ*,var1,var2
Contoh : READ*,A,B
Dengan FORMAT: READ 20,A,B
Pernyataan WRITE
28
READ(I,LF)Var1,Var2
Tekni k Komputer
Digunakan untuk menulis data pada suatu media keluaran.
Bentuk umumnya :
Dimana :
I = bilangan integer atau simbol yang
menyatakan kode alat dari mana data akan
dibaca
LF = label FORMAT (tata letak) penulisan data
ke media.
Var1,Var2 = nama-nama variabel yang datanya akan
dituliskan
Contoh :
WRITE(*,200)A,NK
.......
200 FORMAT(2X,F13.2,5X,I5)
Jika diinginkan penulisan data TANPA FORMAT, maka LF
diisi *.
Contoh : WRITE(*,*)A,NK
Keluran data bisa dituliskan dengan statemen lain :
PRINT*,var1,var2
Contoh : PRINT*,Nilai A dan B :,A,B
Dengan FORMAT:
PRINT 150,A,B
......
150 FORMAT(NILAI A DAN B :,2F9.5)
7. Pernyataan Format
29
WRITE(I,LF)Var1,Var2
Pemrograman Bahasa Fortran
Digunakan untuk mengatur tata letak data baik data
masukkan maupun data keluaran.
Macam-macam FORMAT
a. FORMAT I : untuk konstanta bilangan bulat
(integer)
Bentuk umumnya adalah :
dimana :
n = bilangan bulat yang menyatakan cacah data
integer yang akan ditulis/dibaca. Jika n=1,
maka tidak perlu dituliskan.
w = banyaknya kolom yang digunakan untuk
menempatkan data.
Contoh :
WRITE(*,200)NA,NB
200 FORMAT(2I8)
Format ini berarti ada 2 tempat untuk 2 integer, NA
dan NB yang lebarnya masing-masing 8 kolom.
b. Format F : untuk menuliskan konstanta riil,
yaitu konstanta dengan titik
desimal.
Bentuk umumnya adalah :
n = bilangan bulat yang menyatakan cacah data
riil yang akan ditulis/dibaca.
30
nIw
NFw.d
Tekni k Komputer
w = banyaknya kolom yang digunakan untuk
menempatkan data.
d = cacah angka di belakang titik desimal.
Misalnya akan dituliskan variabel PANJNG yang
bernilai : 54.78, variabel ALEBAR yang bernilai :
155.85, dan variabel ALUAS yang nilainya :
8537.463, maka formatnya adalah :
WRITE(*,300)PANJNG,ALEBAR,ALUAS
300 FORMAT(2F10.4,F12.4)
Hasil penulisan adalah :
54.7800 155.8500 8537.4630
8. Pernyataan STOP dan END
STOP digunakan untuk menghentikan operasi program
secara logika. Sedangkan END digunakan untuk
mengakhiri pernyataan program.
Contoh :
READ(*,200)A,B,C
D=B**2+A*C
WRITE(*,300)D
STOP
END
9. Pernyataan-Pernyataan Kontrol
Berfungsi untuk mengubah urutan langkah proses
penggarapan program.
Pernyataan GOTO
31
Pemrograman Bahasa Fortran
Berfungsi untuk memerintahkan proses untuk meloncat
langsung ke pernyataan dengan nomor label yang
ditunjuk.
Bentuk umum :
Dimana :
n = nomor label
Contoh :
-
100 READ(*,10)A,B
C=A*B
-
GO TO 100
-
END
Pernyataan IF
Berfungsi untuk membandingkan dua atau lebih variabel.
Jika ya maka statemen di samping IF digarap,
apabila tidak terpenuhi maka program terus menggarap
statemen di bawahnya.
Bentuk umum :
Keterangan :
Ekspreksi : suatu ekspreksi penalaran
32
GOTO n
IF(ekspreksi)statemen
Tekni k Komputer
Statemen : suatu statemen yang akan
diproses jika ekspreksi nalar
jawabannya ya.
Operator-operator nalar yang dipakai dalam IF dapat
dilihat pada tabel 4.
Tabel 4. Operator IF
Simbol
Notasi
Matematiknya
Arti
.EQ.
.NE.
.LT.
.LE.
.GT.
.GE.
.OR.
.AND.
.NOT.
=

<

>

Sama dengan
Tidak sama dengan
Lebih kecil dari
Lebih kecil dari atau sama dengan
Lebih besar dari
Lebih besar dari atau sama dengan
Atau
Dan
Bukan
Hierarkhi atau urutan tingkat operasi nalar ini adalah
sebagai berikut :
- Hierarkhi 1 : .LT., .LE., .EQ., .NE., .GT., .GE.
- Hierarkhi 2 : .NOT.
- Hierarkhi 3 : .AND.
- Hierarkhi 4 : .OR.
Contoh :
-
D=B**2-4.*A*C
33
Pemrograman Bahasa Fortran
-
IF(D.LT.O)GOTO 100
X1=...
X2=...
100 STOP
END
Pernyataan DO
Berfungsi untuk memerintahkan komputer agar menjalankan
suatu deretan perintah, berulang-ulang dengan cara
tertentu.
Bentuk umum :
n = nomor statemen yang merupakan batas akhir dari
deretan yang harus diproses berulang-ulang.
var = variabel integer/real yang harganya akan
berubah-ubah dari suatu harga awal ml ke harga
akhir m2 dengan besar langkah m3
m1 = konstanta atau variabel integer/real yang
menyatakan harga awal dari variabel var.
m2 = konstanta atau variabel integer/real yang
menyatakan harga akhir dari variabel var.
m3 = konstanta atau variabel integer/real yang
menyatakan besarnya langkah (step).
Contoh :
-
DO 200 I=1,100,2
34
DO n var=m1,m2,m3
Tekni k Komputer
L=I**2
K=I**3
200 WRITE(*,300)I,L,K
STOP
END
Pernyataan CONTINUE
Berfungsi sebagai statemen dummy pada suatu posisi
apabila statemen lain tak boleh diletakkan pada posisi
tersebut.
Bentuk umum :
dimana: n = nomor statemen
Contoh :
-
DO 200 I=1,30
L=I**2
WRITE(*,10)GOTO 300
200 CONTINUE
-
300 READ(*,15)K
-
END
D. OPERASIONAL BAHASA FORTRAN DENGAN WATFOR-77
1. Tampilan Watfor-77
35
n CONTINUE
Pemrograman Bahasa Fortran
Watfor-77 merupakan salahsatu program bahasa
fortran yang masih cukup populer hingga saat ini,
terutama digunakan untuk komputasi numerik. Program ini
dioperasikan melalui DOS yang memungkinkan proses
perhitungan dapat berlangsung dengan kecepatan tinggi.
Tampilan Watfor-77 dapat dilihat pada gambar di bawah
ini:
Gambar 10. Tampilan Watfor-77
Perintah-perintah dan tombol-tombol operasional
dalam bahasa fortran khususnya Watfor-77 dapat
dijelaskan sebagai berikut:
1. Perintah operasional
a. PUT : digunakan untuk menyimpan program. Bentuk
umumnya adalah: PUT <nama file>.FOR
Contoh: PUT UNNES.FOR
b. RUN : digunakan untuk menjalankan atau
mengkompile program.
36
Menu Command
Menu Screen
(Listing Program)
Tekni k Komputer
Contoh: RUN atau
RUN UNNES.FOR
c. E : digunakan untuk membuka atau mengedit
program yang sudah ada. Bentuk umum: E
<nama file>.FOR
Contoh: E UNNES.FOR
2. Tombol Operasional
Tombol-tombol operasional yang digunakan dalam
Watfor-77 seperti ditunjukkan pada tabel 5.
Tabel 5. Tombol operasional Watfor-77
Tombol Fungsi
F1 page up
F2 page down
F3 line up
F4 line down
F5 line insert
F6 line delete
F7 select/deselect
F8 Cut
F9 command/screen
F10 Help
Shift + F1 page up
Shift + F2 page down
Shift + F3 Foreground
Shift + F4 Background
Tombol Fungsi
Shift + F5 Line split
Shift + F6 Line undelete
Shift + F7 Line join
Shift + F8 Paste
Shift + F9 Fill
Shift + F10 Edit
37
Pemrograman Bahasa Fortran
E. CONTOH SOAL DAN PENYELESAIAN
1. Buat program untuk menghitung operasi-operasi berikut
jika A = 10, B = 5, C = 3, dan D = 8:
- Z = (A + B) x C x D
- W = A
B
+ (C/D)
Penyelesaian :
Program untuk menghitung harga Z dan W sebagai
berikut:
C234567
READ(*,*)A,B,C,D
Z = (A+B)*C*D
W = A**B+(C/D)
WRITE(*,*)Z,W
END
Data masukkan adalah: 10, 5, 3, 8
Hasil program adalah: Z = 360 dan W = 100000.375
2. Buatlah program untuk menghitung keliling dan luas
segitiga dengan sisi-sisi A, B, dan C.
Penyelesaian :
Programnya sebagai berikut:
C234567
PRINT*,MASUKKAN SISI-SISI A,B,C :
READ*,A,B,C
AKEL = A+B+C
S = AKEL/2
ALUAS = (S(S-A)*(S-B)*(S-C))**0.5
WRITE(*,10)AKEL,ALUAS
10 FORMAT(2X,2F8.2)
38
Tekni k Komputer
END
Jika input data A = 2, B = 4, dan C = 3, maka hasil
keluarannya adalah :
....9.00....2.90
Jadi keliling dan luas segitiga masing-masing adalah
9.00 dan 2.90
3. Buat program untuk menghitung jumlah bilangan 1
hingga 10.
Penyelesaian :
Programnya sebagai berikut:
C234567
I = 0
JUM = 0
10 I = I+1
JUM = JUM+I
IF(I.LT.10)GOTO 10
WRITE(*,*)JUM
END
Hasil keluaran program adalah: JUM = 55
4. Buat program untuk menghitung akar-akar persamaan
kuadrat dari AX
2
+ BX + C = 0.
Penyelesaian :
Programnya sebagai berikut:
C234567
PRINT*,MASUKKAN KONSTANTA A,B,DAN C :
READ*,A,B,C
D=B**2-4*A*C
39
Pemrograman Bahasa Fortran
IF(D.LT.0)THEN
PRINT*,AKAR IMAJINER
STOP
ENDIF
IF(D.EQ.0)THEN
X1=(-B)/(2*A)
X2=X1
ELSE
X1=(-B+(D**0.5))/2*A
X2=(B+(D**0.5))/2*A
ENDIF
WRITE(*,20)X1,X2
20 FORMAT(/,2X,X1 =,F10.3,/,2X,X2 =,F10.3)
END
Jika harga konstanta A = 2, B = 8 dan C = 3, maka
hasil keluaran program adalah:
MASUKKAN KONSTANTA A, B, DAN C :
2 8 3
X1 = -1.675
X2 = 14.325
5. Buatlah program untuk mengkonversi suhu Celsius (C)
dari 5
0
hingga 100
0
dengan kenaikan 5
0
ke Reamur (R),
Fahrenreit (F), dan Kelvin (AK).
Penyelesaian:
Programnya sebagai berikut:
C PROGRAM UNTUK MENGKONVERSI SUHU
C234567
PRINT*,MASUKKAN HARGA C MINIMUM (K),
40
Tekni k Komputer
1 C MAKSIMUM (L) DAN KENAIKAN HARGA C (M):
READ*,K,L,M
DO 10 C=K,L,M
R=C/5*4
F=C/5*9+32.
AK=C+273.
WRITE(*,20)C,R,F,AK
10 CONTINUE
20 FORMAT(2X,4F9.2)
END
Hasil keluarannya adalah:
MASUKKAN HARGA C MINIMUM (K), C MINIMUM (L) DAN
KENAIKAN HARGA C (M) :
5 100 5
5.00 4.00 41.00 278.00
10.00 8.00 50.00 283.00
15.00 12.00 59.00 288.00
20.00 16.00 68.00 293.00
25.00 20.00 77.00 298.00
30.00 24.00 86.00 303.00
35.00 28.00 95.00 308.00
40.00 32.00 104.00 313.00
45.00 36.00 113.00 318.00
50.00 40.00 122.00 323.00
55.00 44.00 131.00 328.00
60.00 48.00 140.00 333.00
65.00 52.00 149.00 338.00
70.00 56.00 158.00 343.00
75.00 60.00 167.00 348.00
80.00 64.00 176.00 353.00
85.00 68.00 185.00 358.00
90.00 72.00 194.00 363.00
95.00 76.00 203.00 368.00
100.00 80.00 212.00 373.00
F. SOAL-SOAL
1. Buatlah diagram alir dan program untuk menghitung
jumlah angka dari K hingga L.
41
Pemrograman Bahasa Fortran
2. Buatlah diagram alir dan program untuk menghitung
jumlah angka dari K hingga L dengan kelipatan M.
3. Buatlah diagram alir dan program untuk menghitung
diameter batang dengan persamaan berikut:
rpm
hp
T
000 . 63
(lb/in)
3
16

T
D
dimana = 8.000 lb/in
2
, hp = 2 hp, dan rpm = 2000
rpm.
4. Suatu baterai pertama jika diisi mempunyai
persamaan : y = A(1 e
-T
). A adalah konstanta
baterai, e adalah bilangan natural (2.71828), dan T
waktu dalam detik. Jika A = 25, buatlah diagram alir
dan program untuk menghitung persamaan tersebut
mulai dari T = 0 hingga T = 50 dengan kenaikan 2.
5. Buatlah diagram alir dan program untuk mencari
data terkecil dan data terbesar dari 10 buah data
berikut:
20, 3, 13, 6, 9, 10, 2, 17, 35, 77
42
Tekni k Komputer
BAB IV
PEMROGRAMAN FORTRAN LANJUT
Deskripsi : Membahas tentang statemen-statemen yang
berhubungan dengan variabel berindeks
dan sub program.
Tujuan Instruksional Khusus (TIK):
1. Mahasiswa mampu menerapkan statemen-
statemen yang berkaitan dengan persoalan
variabel berindeks dalam pemrograman bahasa
fortran.
2. Mahasiswa dapat mengembangkan program
fortran dalam bentuk program utama dan sub
program untuk menyelesaikan persolan-persoalan
teknik.
A. PENDAHULUAN
Dalam banyak kasus, seringkali kita dihadapkan
dengan besaran-besaran numerik atau indeks yang
merupakan elemen-elemen dari suatu variabel yang
kemudian disebut sebagai variabel berindeks. Pada kasus
yang lain, kita juga harus melakukan kalkulasi-
kalkulasi yang panjang dan kompleks. Hal ini memerlukan
kiat-kiat khusus dalam perencanaan dan penulisan
program, agar diperoleh hasil keluaran program sesuai
dengan yang diharapkan.
43
Pemrograman Bahasa Fortran
Perencanaan dan penulisan program komputer
memerlukan perhatian penuh pada setiap pernyataan
(statement) dalam program. Semakin banyak pernyataan
yang terdapat dalam program, makin terbuka kesempatan
melakukan kesalahan. Oleh karena itu, kemampuan dalam
penyederhanaan program sangatlah dibutuhkan agar
program menjadi lebih efektif.
B. VARIABEL BERINDEKS
Variabel berindeks sering dijumpai dalam bentuk
notasi matrix. Sebagai contoh matrix A
2x2
, dimana
elemen-elemennya adalah :
1
]
1

22 21
12 11
a a
a a
dengan a
ij
, i = nomor baris
j = nomor kolom
i dan j adalah indeks. Oleh karena ada dua indeks, maka
variabel A disebut juga variabel 2 dimensi.
Dalam bahasa FORTRAN, indeks ditulis dengan cara :
A(X,J) : X dan J adalah indeks.
Dan pernyataan yang digunakan adalah DIMENSION.
1. Statement DIMENSION
DIMENSION berfungsi untuk menyatakan suatu
variabel adalah variabel berindeks.
Bentuk umum :
Keterangan :
var1, var2: nama-nama variabel berindeks
44
DIMENSION var1(i1, i2, ...,im), var2(j1, j2,...,jm)
Tekni k Komputer
i1 : harga maximum indeks ke 1 untuk var1
j2 : harga maximum indeks ke 2 untuk var1
im : harga maximum indeks ke m untuk var1
demikian juga j1, j2, jm untuk var2
contoh :
DIMENSION A(10,10), NO(5,5,5)
-
-
END
Keterangan:
- variabel A merupakan variabel berindeks dua dimensi.
Indeks pertama dan kedua maksimum 10. Jadi jumlah
elemen variabel A adalah 10x10 = 100 elemen.
- Variabel NO merupakan variabel berindeks tiga
dimensi. Index pertama, kedua, dan ketiga masing-
masing maksimum 5. Jadi variabel NO berelemen: 5x5x5
= 125 elemen.
Beberapa aturan tentang pernyataan dimensi sebagai
berikut:
a. Cacah dimensi maksimum 7.
Contoh :
DIMENSION A(5,5,5,5,5,5,5,) : 7 index
-
-
END
b. Cacah maksimum indeks tergantung dari memori
komputer. Tiap elemen variabel real membutuhkan 4
byte dan tiap elemen variabel integer membutuhkan
2 byte.
45
Pemrograman Bahasa Fortran
c. Nilai indeks tidak boleh berharga nol maupun
negatif.
Contoh :
DIMENSION A(100,100)
......
......
I=0
J=-2
WRITE(*,200)A(I,J)
......
......
END

Penulisan variabel A(I,J) akan ERROR, karena indeks
J berharga negatif (-2) dan I benilai nol (0).
d. Indeks tidak boleh melebihi nilai maksimum yang
sudah dinyatakan dalam statemen DIMENSION.
Contoh :
DIMENSION A(100,100)
......
......
I=200
B=A(I,I)
END
Program akan ERROR karena harga maksimum indeks
adalah 10, sedang harga indeks I pada penyataan
B=A(I,I) adalah 200.
2. Statement DO IMPLIED
46
Tekni k Komputer
Implied DO loop dipakai untuk mempermudah proses
pembacaan dan penulisan data.
Bentuk umum :
Keterangan :
n = nomor unit mesin baca atau tulis sesuai
statemennya
F = nomor statemen format yang dipakai untuk membaca
atau menulis data
Var = nama suatu variabel berindeks yang datanya akan
dibaca atau ditulis
I = indeks yang akan berjalan
m1 = harga awal implied DO loop (konstanta integer
atau variabel integer)
m2 = harga akhir implied DO Loop (konstanta integer
atau variabel integer)
m3 = banyaknya langkah Impiled DO loop (konstanta
integer atau variabel integer).
Jika m3 = 1, boleh tidak dituliskan
Contoh :
READ(*,100)X(1),X(2),X(3),X(4),X(5)
100 FORMAT(5F8.1)
Dengan Implied DO loop, proses baca tersebut dapat
dipermudah dengan cara :
READ(*,100)(X(I), I=1,5)
100 FORMAT(5F8.1)
47
READ(n,F)(var(I), I=m1,m2,m3)
WRITE(n,F)(var(I), I=m1,m2,m3)
Pemrograman Bahasa Fortran
Misalnya akan dibaca :
X(1,1) = 4.1 X(1,2) = 3.1 X(1,3) = 4.5
X(2,1) = 6.4 X(2,2) = 5.6 X(2,3) = 9.6
Maka proses pembacaan dengan Implied DO loop-nya
adalah:
100 FORMAT(3F8.1)
READ(*,100)((X(I,J),J=1,3), I=1,2)
Kalang ini menjadi
kalang luar yang
akan diproses
kemudian
Kalang ini menjadi kalang dalam
yang akan diproses lebih dahulu
3. FUNCTION
FUNCTION ada dua macam, yaitu statemen FUNCTION
dan Subprogram FUNCTION.
Statement FUNCTION
Statemen FUNCTION dipakai untuk menyatakan suatu
FUNCTION yang dapat dipakai berulang-ulang dengan
argumen yang dapat berubah-ubah.
Bentuk umum :
Keterangan :
sf : nama statemen FUNCTION yang mengikuti
aturan nama variabel.
48
sf(a1,a2,.,am) = ekspresi
Tekni k Komputer
a1,a2,..,am : argumen-argumen function
ekspresi : suatu ekspersi aritmatik dengan memakai
argumen-argumen a1,a2,..,am
Bahasa FORTRAN sudah menyediakan banyak FUNCTION-
FUNCTION yang dapat langsung digunakan
Fungsi-fungsi pustaka tersebut ada dua jenis yaitu :
a. Fungsi-fungsi pustaka matematik, seperti SIN, COS,
dan sebagainya.
b. Fungsi-fungsi pustaka untuk membantu operasi-operasi
program, seperti akar kuadrat (SQRT), absolut (ABS),
dan sebaginya.
4. SUBPROGRAM
Subprogram ada dua jenis yaitu :
a. Subprogram FUNCTION
b. Subprogram SUBROUTINE
Subprogram adalah suatu program tersendiri yang
dapat dipanggil berkali-kali oleh program utama maupun
oleh subprogram lain. Subprogram bersifat otonom,
sehingga pada prinsipnya terpisah dari program utama
maupun terhadap subprogram yang lain. Subprogram
dikompile secara terpisah dari program utama. Dalam
suatu unit program, selalu terdapat program utama,
sedangkan subprogram tidak selalu harus ada.
Penggunakan subprogram sangat terkait dengan fungsi
statemen RETURN.
Statemen RETURN
Berfungsi untuk mengembalikan alur program, dari
program terpanggil kepada program pemanggil
49
Pemrograman Bahasa Fortran
Bentuk umum :
Subprogram FUNCTION
Bentuk umum :
Keterangan :
nf : nama Subprogram FUNCTION yang
sekaligus menjadi nama variabel
outputnya, apabila namanya real,
maka sifat functionnya real dan
apabila nama functionnya integer,
maka sifat functionnya juga
integer.
arg1,arg2,,argm : argumen-argumen yang dikirim dari
program pemanggil ke Subprogram
FUNCTION. Argumen dapat berupa
variabel atau konstanta, boleh
bertipe real atau integer.
Sifat-sifat Function Subprogram
a. Bersifat otonom, sehingga nama-nama variabel di
dalam Subprogram boleh dengan nama-nama variabel di
dalam program pemanggil dengan tidak terjadi
kesalahan, oleh karena memang pada prinsipnya
terpisah. Boleh melakukan operasi READ atau WRITE,
boleh memanggil Subprogram yang lain (baik Function
maupun Subroutine.
50
RETURN
FUNCTION nf(arg1,arg2,argm)
Tekni k Komputer
b. Dipanggil langsung dengan namanya.
c. Argumen-argumen hanya merupakan input, output
melalui nama Subprogram FUNCTION. Sehingga input
bisa banyak, tetapi output selalu hanya satu, yaitu
melalui nama Function.
d. Boleh mempunyai lebih dari satu Statemen RETURN,
maupun juga statemen STOP
e. Hubungan antar argumen dalam program pemanggil dan
program yang dipanggil adalah hubungan atas dasar
posisi, bukan atas dasar nama variabel.
f. Argumen-argumen dapat berupa konstanta maupun nama
variabel, real maupun integer.
Subprogram SUBROUTINE
Bentuk umum :
Keterangan :
ns : nama Subroutine Subprogram. Nama
ini mengikuti aturan nama variabel,
hanya tidak bersifat real atau
integer.
arg1,arg2,,argm : adalah argumen-argumen Subprogram
SUBROUTINE. Argumen dapat bersifat
input maupun output untuk
Subprogram SUBROUTINE.
Sifat-sifat Subprogram SUBROUTINE
a. Bersifat otonom, sehingga nama-nama variabel di
dalam Subprogram boleh sama dengan nama-nama
51
SUBROUTINE ns(arg1,arg2,,argm)
Hitung :
AK=HKD(AKO,N,TO,T
)
AM=HKD(AMO,M,TO,T
)
Pemrograman Bahasa Fortran
variabel di dalam program pemanggil. Boleh melakukan
operasi READ dan WRITE, boleh memanggil Subprogram
lain (baik Function maupun Subroutine).
b. Dipanggil dengan cara : CALL ns(arg1, arg2,.,argm).
c. Argumen-argumen boleh berfungsi sebagai input maupun
sebagai output. Input dan output boleh banyak.
d. Boleh mempunyai lebih dari satu statemen RETURN,
maupun juga statemen STOP.
e. Hubungan antara argumen dalam program pemanggil
dengan program yang dipanggil adalah hubungan atas
dasar posisi, bukan atas dasar nama variabel.
f. Argumen dapat berupa konstanta maupun variabel, real
maupun integer.
5. Statemen CHARACTER
Berfungsi untuk menyatakan bahwa suatu variabel
hanya dapat diberi data type alphanumeris (data
karakter).
Bentuk umum :
Keterangan:
var1 : variabel yang dinyatakan sebagai karakter
variabel yang dinyatakan dengan panjang n1.
var2 : adalah variabel yang dinyatakan sebagai
karakter variabel yang dinyatakan dengan
panjang n2.
Tipe variabel bukan integer atau real dan dapat
berindeks.
52
CHARACTER var1*n1, var2*n2
Hitung :
AK=HKD(AKO,N,TO,T
)
AM=HKD(AMO,M,TO,T
)
Tekni k Komputer
C. CONTOH SOAL DAN PENYELESAIAN
1. Koefisien konduksi (K) dan viskositas (V) dihitung
dengan persamaan berikut :
2
0
0
1

,
_

+
T
T
AK AK
dan
3
0
0
1

,
_

+
T
T
AM AM
Buatlah diagram alir dan programnya untuk T = -30
hingga T = 30 dengan kelipatan 10.
Penyelesaian:
Diagram alirnya sebagai berikut:
Program Utama Subprogram function
(a) (b)
53
START
BACA:
TO,AKO,N,AMO,
M
DO T=-30,30,10
Hitung :
AK=HKD(AKO,N,TO,T
)
AM=HKD(AMO,M,TO,T
)
TULIS:
AK, AM
CONTINUE
END
FUNCTION HKD(Z,L,T
0
,T
HKD =Z*(1+(T/TO))**L
Hitung :
AK, AM
RETURN
END
Pemrograman Bahasa Fortran
Gambar 11. Diagram alir perhitungan koefisien konduksi
dan koefisien viskositas, (a) program
utama, dan (b) subprogram function
Programnya sebagai berikut:
C PROGRAM TERSTRUKTUR
C MENGHITUNG KOEFISIEN KONDUKSI & VISKOSITAS
C SEBAGAI FUNGSI TEMPERATUR DARI T=TA HINGGA T=TB
C ____________________________________________________
C VARIABEL : T = TEMPERATUR (C)
C AK = KOFISIEN KONDUKSI (W/m.C)
C AM = KOEFISIEN VISKOSITAS (kg/m.s)
C ____________________________________________________
C PROGRAM UTAMA
C234567890
C INPUT DATA
PRINT*,'MASUKKAN SUHU AWAL (TO) :'
READ*,TO
PRINT*,'MASUKKAN HARGA AKO DAN N:'
READ*,AKO,N
PRINT*,'HARGA-2 KOEFISIEN KONDUKSI ADALAH:'
DO 50 T=-30,30,10
AK=HKD(AKO,N,TO,T)
WRITE(*,20)AK
50 CONTINUE
PRINT*,'MASUKKAN HARGA AMO DAN M:'
READ*,AMO,M
PRINT*,'HARGA-2 KOEFISIEN VISKOSITAS ADALAH:'
DO 60 T=-30,30,10
AM=HKD(AMO,M,TO,T)
WRITE(*,20)AM
60 CONTINUE
20 FORMAT(F10.4)
END
C SUBPROGRAM FUNCTION
C PROSES PERHITUNGAN
FUNCTION HKD(Z,L,TO,T)
HKD=Z*(1+(T/TO))**L
RETURN
END
54
Tekni k Komputer
2. Buat diagram alir dan program untuk menghitung nilai
rata-rata dari suatu kolom pada matriks A(N,N).
Penyelesaian :
Diagram alirnya adalah :
Gambar 12. Diagram alir untuk menghitung nilai
rerata suatu kolom matriks
55
START
BACA: N
DO I=1,N
TULIS:
RATA
END
SUM = 0
BACA:
A(I,J)
DO I=1,N
BACA: J
JN
?
SUM = SUM+A(I,J)
RATA = SUM/FLOAT(N)
YA
TIDAK
Pemrograman Bahasa Fortran
Programnya sebagai berikut:
C PROGRAM UNTUK MENGHITUNG NILAI RATA-RATA
C DARI SUATU KOLOM PADA MATRIKS A(N x N)
C ________________________________________
C23456789
DIMENSION A(50,50)
CHARACTER YT*1
10 PRINT*,'BERAPA ORDE MATRIKS:N?'
READ*,N
PRINT*,'MASUKKAN ELEMEN MATRIKS:'
DO 30 I=1,N
PRINT*,'BARIS KE',I,';'
30 READ*,(A(I,J),J=1,N)
15 SUM=0
20 PRINT*,'KOLOM KEBERAPA YANG AKAN DIHITUNG ?'
READ*,J
IF(J.GT.N)THEN
PRINT*,'SALAH! KOLOM TERBESAR',N
GO TO 20
ENDIF
DO 40 I=1,N
40 SUM = SUM + A(I,J)
RATA = SUM/FLOAT(N)
PRINT*,'RATA-RATA KOLOM KE',J,'ADALAH =',RATA
PRINT'(A,\)','LAGI Y/T ?'
READ'(A1)',YT
IF(YT.EQ.'Y')GO TO 15
PRINT'(A,\)','MAU BACA MATRIKS LAGI:(Y/T)?'
READ'(A1)',YT
IF(YT.EQ.'Y')GO TO 10
PRINT*,'NANTI AJA DEH !'
END
D. SOAL-SOAL
1. Buatlah diagram alir dan program untuk mencari nilai
maksimum suatu baris pada matriks A (N,N).
2. Buat diagram alir dan programnya untuk mencari nilai
maksimum pada seluruh elemen matriks A (N,N).
3. Buatlah diaram alir dan tuliskan program yang akan
membaca empat bilangan riil A, B, C, D, yang
dipengaruhi oleh bilangan bulat J berikut:
Jika J=1 maka X = A+B+C+D
Jika J=2 maka X = (A+B+C+D)/4.
Jika J=3 maka X = (A+B)/(C+D)
56
Tekni k Komputer
Jika J=4 maka X = A/B+C/D
DAFTAR PUSTAKA
Hammound, R.H., Rogers, W.B., Crittendeen, J.B., 1989,
Pengantar Fortran 77 dan Komputer Pribadi,
Penerjemah Jun Azwar, dkk., Erlangga, Jakarta.
Nugroho, E., Soesianto, F., 1990, Belajar Sendiri
Bahasa Fortran, Edisi 3, Andi Offset, Yogyakarta.
Munir, R., 2001, Algoritma Pemrograman (Buku 1),
Cetakan Ketiga, Informatika, Bandung.
Munir, R., Lidya, L., 2002, Algoritma Pemrograman
(Buku 2), Cetakan Ketiga, Informatika, Bandung.
Santoso B.R., H., Pengantar Komputasi, Diktat Kuliah
Pemrograman Komputer, UGM, Yogyakarta.
57
Pemrograman Bahasa Fortran
DAFTAR GAMBAR
58
Tekni k Komputer
Gambar 1. Komponen perangkat keras komputer
.................................
.................................
2
Gambar 2. Rangkaian elektronik, a. hubung
seri dan b. hubung paralel
.................................
.................................
2
Gambar 3. Proses pelaksanaan program oleh
komputer
.................................
.................................
7
Gambar 4. Dua buah bejana larutan yang
berbeda warna. Bejana A berisi
larutan berwarna hitam, bejana B
berisi larutan berwarna putih
.................................
.................................
11
Gambar 5. Proses pertukaran isi bejana A
dan bejana B, menggunakan bejana
bantu C.
.................................
.................................
13
Gambar 6. Diagram alir untuk menjumlahkan
dua buah bilangan
.................................
.................................
14
59
Pemrograman Bahasa Fortran
Gambar 7. Diagram alir untuk menghitung
jumlah bilangan 1 hingga 10
.................................
.................................
15
Gambar 8. Diagram alir untuk menghitung
luas dan keliling segi tiga
.................................
.................................
16
Gambar 9. Diagram alir untuk menghitung
akar-akar persamaan kuadrat
.................................
.................................
17
Gambar 10.Tampilan Watfor 77
.................................
.................................
35
Gambar 11.Diagram alir perhitungan
koefisien konduksi dan koefisien
viskositas, a. program utama dan
b. subprogram function
.................................
.................................
52
Gambar 12.Diagram alir untuk menghitung
nilai rerata suatu kolom matriks
.................................
.................................
54
60
Tekni k Komputer
DAFTAR TABEL
Tabel 1. Simbol diagram alir
.................................
.................................
9
Tabel 2. Cara penulisan variabel
.................................
.................................
25
Tabel 3. Simbol operasi aritmetik
.................................
.................................
26
Tabel 4. Operator IF
.................................
.................................
32
Tabel 5. Tombol operasional Watfor 77
.................................
.................................
36

61

You might also like