Anda di halaman 1dari 16

Kuliah

3, 4, & 5

Dasar-Dasar Bahasa Pemrograman


dalam FORTRAN 77 dan Turbo PASCAL

Dalam mata kuliah Dasar Komputer yang diberikan untuk para mahasiswa-

mahasiswa di Fakultas Teknik UI, ada 2 bahasa pemrograman yang akan


digunakan untuk implemetasi pemrograman terstruktur (structured programming),

diperkenalkan.
FORTRAN 90 ISO/IEC 1539:1991 mengalami berbagai revisi untuk
menjadikan bahasa FORTRAN sebagai bahasa pemrograman komputer
yang modern.
FORTRAN 95 ISO/IEC 1539-1: 1997 merupakan perbaikan minor dari
versi FORTRAN 90.
FORTRAN 2003 ISO/IEC 1539-1:2004(E) mengalami beberapa
penambahan object-oriented support dan interoperabilitas dengan
bahasa C (sebagai natifnya).

yaitu FORTRAN 77 dan Turbo PASCAL. Pada dasarnya, kedua bahasa

Dewasa ini, cukup banyak piranti lunak bahasa FORTRAN tersedia di

pemrograman tersebut memiliki beberapa kesamaan dan kemudahan untuk dapat

pasaran, yang paling banyak adalah dalam dialek FORTRAN-77 dan FORTRAN-

digunakan

dalam

pemrograman-pemrograman

numerik

saintifik

(ilmiah),

khususnya untuk komputasi dalam bidang ilmu teknik. Bahan kuliah ini
dimaksudkan untuk menyajikan secara ringkas dan sederhana, khususnya untuk
memberikan

dasar

dan

pengertian

ringkas

tentang,

bahasa-bahasa

memprograman tersebut kepada para mahasiswa sekalian.

95. Beberapa versi bebas-unduh (free download), meskipun dengan berbagai


pembatasan yang bervariasi, yang dapat dijumpai di jaringan internet adalah:
1. Intel Visual Fortran: http://www.intel.com/cd/software/products/asmona/eng/278834.htm,
2. Compaq Visual Fortran: saat ini sudah tidak ada lagi (discontinued),

1. Sekilas Tentang Bahasa FORTRAN dan PASCAL


Bahasa FORTRAN yang dipakai, pada dasarnya adalah yang mengikuti
standar FORTRAN 77. Namun demikian, para mahasiswa sangat diharapkan
untuk mau mempelajari dan atau memperdalam varian dialek lainnya, seperti
FORTRAN 90 dan FORTRAN 95. Seperti telah sedikit disinggung pada Bab 1,
bahasa

pemrogram

FORTRAN

(singkatan

dari

FORmula

3.
4.
5.
6.

karena hanya diproduksi sampai tanggal 31 Desember 2005, yang


kemudian disarankan untuk beralih ke Intel Visual Fortran.
Silverfrost FTN95: http://www.silverfrost.com/
GNU Fortran: http://gcc.gnu.org/wiki/GFortran,
g95: http://www.g95.org/, dan
g77: http://www.gnu.org/software/fortran/fortran.html.

TRANslation)

merupakan bahasa pemrograman yang paling lama populer, yaitu sejak


diperkenalkan pertama kali pada tahun 1953 oleh John Bachus dan diproduksi
pertama kali sebagai compiler (kompilator) pada tahun 1957. Fitur utama dari
bahasa FORTRAN, terutama yang disusun sejak tahun 1977, adalah bahasa
yang lebih mengutamakan penulisan program yang tepat, efisien dan dapat
berulang dalam suatu sub-program tertentu (structured-oriented language).
Sampai saat ini, bahasa FORTRAN telah mengalami berbagai kemajuan dan
perkembangan dalam standar internasional, yang dapat disebutkan secara
kronologis sebagai berikut:
FORTRAN 66 dikenal juga sebagai FORTRAN IV, sebagai standar yang
pertamakali diperkenalkan oleh American National Standards Institute
atau ANSI, dan diterima secara internasional pada tahun 1972.
FORTRAN 77 ANSI X3.9-1978 sebagai standar bahasa pemrograman
FORTRAN terstruktur (structured programming) yang pertama
Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 20

Gambar 1. Kompilator Compaq Visual Fortran yang sudah tidak diproduksi lagi.
Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 21

Walaupun sudah tidak diproduksi lagi, namun untuk melakukan kompilasi-

Free PASCAL (lihat situsnya: www.freepascal.org). Free PASCAL (dikenal juga

kompilasi program dalam buku ini, piranti lunak Compaq Visual Fortran (CVF)

sebagai FPK PASCAL atau FPC) adalah piranti lunak keluarga piranti lunak

versi 6.5 masih tetap digunakan karena alasan-alasan kemudahan dan juga

bebas (free software), yang dapat digunakan di berbagai platform (portable),

kepraktisannya. Selain CVF tersebut, kompailer lain yang digunakan adalah versi

serta dikembangkan dengan metodologi terbuka (open source).

GNU Project (piranti lunak bebas alias open source, dapat juga dilihat situsnya:
2. Ciri-ciri Kompilator FORTRAN 77 dan Turbo PASCAL

http://www.gnu.org/), yaitu g77 dan g95.


Sebagai bahasa pemrogram pendamping FORTRAN yang tidak kalah

Berdasrkan sejarah perkembangannya, yaitu sampai awal tahun 1980an,

pentingnya dalam penyajian mata kuliah Metode Numerik, yaitu bahasa PASCAL

Bahasa FORTRAN lebih banyak dipakai dan dikembangkan pada komputer-

yang digunakan dalam mata kuliah ini adalah berdasarkan varian atau dialek

komputer besar (mainframes dan mini-computers) bukan pada komputer pribadi

yang dikembangkan oleh Philippe Kahn dari Borland Corporation pada tahun

(PC, personal computer), karena ukuran kompilatornya yang relatif sangat besar

1982, yaitu Turbo PASCAL atau kadang dikenal juga sebagai Borland PASCAL.

dan umumnya dipergunakan untuk perhitungan-perhitungan (matematik numerik)

Ada beberapa versi Turbo PASCAL yang dapat berjalan dalam platform MS-DOS

dengan ukuran yang besar pula (pada waktu itu).

(MicroSoft Disk Operating Sistem), yaitu versi-versi 1.0, 3.0, 4.0, 5.0, 5.5, 6.0

Secara umum pula, karena ukuran kompilatornya yang sangat besar (untuk

dan 7.0. Sedangkan versi yang dapat berjalan dalam platform MS-Windows ada

mainframe), kompilator FORTRAN 77 dirancang hanya untuk dapat digunakan

2, yaitu versi 1.0 dan 1.5. Semua versi dari Turbo pascal tersebut sudah lama tida

secara terpisah dengan editor teks, yaitu editor teks vi yang umum dipakai

diproduksi lagi. Konon kabarnya, sebagai kelanjutan dari Turbo Pascal tersebut,

pada sistem operasi UNIX (dan, sekarang telah dikembangkan pula untuk sistem

dikembangkanlah bahasa pemrograman yang lebih maju lagi yang dikenal

operasi LINUX). Penggunaan secara terpisah antara kompilator dan editor teks

sebagai Borland Delphi.

seperti di atas, disebut sebagai kompilator non-IDE (Integrated Development


Environtment). Setelah perkembangan sistem operasi MicroSoft Windows yang
semakin pesat pada komputer-komputer pribadi dengan prosesor Intel, maka
beberapa perusahaan yang dipelopori oleh Microsoft Corp. sendiri, kemudian
diikuti oleh Lahey Corp., Intel Corp. (yang juga berkolaborasi dengan HP dan
Compaq) mulai mengembangkan berbagai versi IDE dari kompilator FORTRAN
pada awal tahun 1990an.
Berbeda dengan FORTRAN, kompilator Turbo PASCAL secara spesifik
dikembangkan dengan komprehensif untuk komputer-komputer pribadi (PCs).
Oleh karenanya, kompilator Turbo PASCAL telah dilengkapi dengan IDE (editor
yang terintegrasi dengan kompilatornya) sejak awal dikembangkan pada tahun
1982 oleh Philippe Kahn dari Borland Corporation. Demikian pula untuk
kompilator Free PASCAL (FPC), yang dikembangkan oleh Florian Paul Klmpfl
pada awal tahun 200an, juga memiliki IDE yang sampai saat ini tetap terjaga oleh

Gambar 2. Kompilator Turbo Pascal yang juga sudah tak diproduksi lagi.

komunitas open source (http://www.freepascal.org).

Setelah versi Turbo pascal tidak beredar lagi di pasaran, maka dewasa ini
telah dikembangkan suatu dialek bahasa PASCAL yang juga hampir identik
dengan Turbo PASCAL, namun dengan arsitektur 32/64-bit yang lebih maju, yaitu
Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 22

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 23

penulisan untuk tanda khusus, yaitu karakter untuk sambungan dengan

2.1. Penulisan Program FORTRAN 77


Penulisan bahasa pemrograman FORTRAN 77 memiliki struktur dan aturan
yang baku, dan bisanya akan lebih mudah jika dilakukan dalam suatu lembar
penulisan program yang disebut Fortran Coding Form. Pada awalnya, Fortran
Coding Form tersebut dipakai untuk penulisan program FORTRAN melalui alat
bantu yang disebut Punch Card, yaitu suatu lembaran kertas tebal (setebal
kertas karton manila) yang kira-kira bentuknya seperti disajikan pada gambar 3.4.
Kemudian, kertas Punch Card tersebut akan dibaca oleh Card Reader dari
komputer yang akan kita pakai, sebelum melakukan kompilasi.

baris di atasnya (karakter-karakter yang diperbolehkan, di antaranya: *,


0, 1, 2,,9, dan karakter-karakter abjad lainnya),
5. Penggunaan identifier harus dimulai dengan karakter alfabet (a-z,
atau A-Z), kemudian dapat dikombinasikan dengan karakter-karakter
numeris (0 9),
6. Penggunaan karakter besar (kapital) maupun kecil dapat dicampur,
7. Program harus ditulis mulai pada kolom ke 7 sampai dengan kolom ke
72,
8. Kolom ke 73 sampai ke 80 tidak dipakai untuk keperluan yang khusus,
dalam hal ini hanya dipakai sebagai lokasi nomor-nomor identifikasi.
Suatu baris kosong dapat juga berperan sebagai baris pemisah antara
suatu pernyataan dengan pernyataan lain di bawahnya. Sedangkan, jika
diinginkan, nomor baris harus diisikan pada kolom-kolom 2 ampai dengan 5, baik
digunakan untuk untuk pernyataan continue, goto (untuk tujuan khusus) ataupun
tujuan lainnya. Ukuran program ataupun source code maksimum dari suatu
program FORTRAN 77 dapat sangat besar, yang tentunya sangat bergantung
pada kapasitas editor teks yang dipakai.
Untuk memperoleh panduan tentang cara penulisan program FORTRAN 77
yang lebih baik, maka pembaca sekalian dapat memperhatikan contoh program
sederhana seperti di bawah ini.

Gambar 3. Fortran Coding Form (dari IBM) untuk penulisan program FORTRAN.

Mengacu pada Fortran Coding Form atau pun Fortran Punch Card seperti di
atas, maka cara penulisan program dalam bahasa FORTRAN 77 yang sederhana
dan ringkas dapat disebutkan beberapa di antaranya sebagai berikut:
1. Isi program ditulis secara baris-per-baris, dengan jumlah kolom setiap

Gambar 4. Fortran Punch Card dan contoh program dalam bahasa FORTRAN.

barisnya sebanyak 80,


2. Kolom pertama, dari setiap barisnya, dapat dikosongkan, dan bila diisi
dengan karakter C atau * berarti berfungsi sebagai baris komentar,
3. Selanjutnya, kolom 2 5 dapat dikosongkan jika tidak dipakai sebagai
kolom nomor pernyataan (ingat : penulisan baku !)
4. Jika diperlukan, pada kolom 6 dapat digunakan sebagai tempat
Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 24

Hal terpenting yang harus diperhatikan dalam penulisan program (coding)


FORTRAN 77 dalam suatu file (berkas), adalah sebagai berikut:
Perekaman berkas (file saving) harus dalam format text file (ASCII atau
ASCII unicode),
Ekstensi berkas hasil perekaman harus dalam bentuk .for atau .f,

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 25

Penulisan program dapat dilakukan pada sembarang editor teks, seperti:

Precision, Complex, Integer, Integer*4, dsb) tidak dapat dipakai lagi

NOTEPAD, WORDPAD, Microsoft WORD, dan lain-lain.

untuk penamaan variabel (identifier) dalam program,

3.2.2. Sintaks (Syntax) Program FORTRAN 77


Struktur dasar penulisan program FORTRAN 77, secara ringkas, mengikuti

Kelompok subprogram ditempatkan secara terpisah setelah tanda akhir


dari program utama,

Subprogram FUNCTION mempunyai jenis tunggal (misalnya: REAL,


INTEGER, dan lain-lain),

sistematika penulisan berikut:


Definisi dan atau Deklarasi PARAMETER dan VARIABEL,

Subprogram

SUBROUTINE

digunakan

atau

dipanggil

berdasarkan

pengalamatan (passing by address),

Program Utama (Main Program)


Sub-Program SUBROUTINE dan atau

Subprogram tidak dapat bersifat recursif atau memanggil dirinya


sendiri

Sub-Program FUNCTION.

PARAMETER (PM = )
INTEGER
REAL

Suatu program (termasuk subprogram) diakhiri atau ditutup dengan kata


(predefinisi) END (untuk subprogram, sebelumnya ada kata RETURN yang

Definisi atau deklarasi PARAMETER dan


VARIABEL, misalnya:

diikuti dengan END pada baris berikutnya).


2.3. Penulisan Program Turbo PASCAL
Sama halnya pada pemrograman FORTRAN 77, penulisan program Turbo

Program Utama

PASCAL juga memiliki struktur dan aturan yang baku, bahkan dapat dikatakan,
bahwa struktur bahasa PASCAL lebih tersusun secara sistematis dibandingkan

STOP (optional)

bahasa FORTRAN. Namun, perbedaan keduanya yang cukup mencolok, adalah

END

dalam hal fleksibilitas penulisan program Turbo PASCAL yang lebih luwes dan
sederhana bagi sebagian besar user.

SUBROUTINE Sub001(, )

Secara ringkas, sistematika penulisan program dalam Turbo PASCAL


adalah sebagai berikut:

RETURN

END

Jumlah kolom maksimum dari setiap baris program adalah 128 kolom
(bergantung pada editor teks yang dipergunakan), dan bila hal ini tidak
mencukupi maka dapat diteruskan ke baris di bawahnya tanpa

FUNCTION Fun001(, )

persyaratan khusus seperti pada FORTRAN 77.

RETURN

Penggunaan identifier harus dimulai dengan karakter alfabet (a-z,


atau A-Z), kemudian dapat dicampur dengan karakter numeris (0 9)

END

dan atau garis bawah (underscore atau _) sebagai variasinya, tanpa


harus memperhatikan ketentuan-ketentuan yang terlalu rumit karena:

Gambar 5. Blok struktur dan sintaks program dalam bahasa FORTRAN.

Penggunaan karakter besar (kapital) maupun kecil dapat dicampur,


Penggunaan baris selanjutnya tidak memerlukan persyaratan khusus,

Aturan-aturan umum dari sistematika atau struktur penulisan seperti di atas

Program dapat ditulis mulai pada kolom dan baris berapapun.

memiliki beberapa kekhususan, yang dapat disebutkan di antaranya:

Penempatan definisi variabel harus lebih dahulu dari isi program,


Predefinisi dan atau kata-baku (seperti : Real, Real*8, Double

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 26

Bila pada suatu baris terdapat karakter { (tanda kurung kurawal terbuka
ke kanan), hal ini berarti bahwa baris komentar (comment) dimulai

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 27

pada tanda tersebut dan diakhiri pada karakter } (tanda kurung kurawal

dengan definisi/deklarasi KONSTANTA/VARIABEL yang baru, namun

terbuka ke kiri) yang ada setelahnya.

dalam hal ini juga hanya berlaku lokal,

Suatu baris komentar dapat juga ditulis dengan cara lain, yaitu dalam
bentuk: (* ---- komentar --- *).

Setiap baris pernyatan (termasuk predefinisi, definisi dan deklarasi)


harus ditutup dengan tanda baca ; (titik koma), kecuali yang berada

Nomor baris tidak ada secara khusus, kecuali didefinisikan sebagai

tepat sebelum kata end; atau end..

label untuk pernyataan goto (namun, dapat ditulis dengan persyaratan


khusus).

Ukuran source code (ukuran file hasil penulisan program) maksimum


untuk program yang ditulis dalam Turbo PASCAL adalah 64 KB (karena
sangat bergantung pada kapasitas editor IDE-nya), sedangkan untuk
yang ditulis dalam Free PASCAL (FPC) dapat lebih besar lagi, sampai
lebih dari 4 kalinya.

Penulisan program PASCAL (Turbo PASCAL maupun FPC) dapat


dilakukan pada editor teks yang lain, misalnya: NOTEPAD, WORDPAD,

Predefinisi, definisi dan deklarasi: Uses,


Type, Consts, Var, sebagai contoh:
Uses
WinCRT;

{hanya untuk versi MS Windows}

Type
Vektor = Array[1..10] of Real;
Var
B,V: Vektor;
I,J,K: Integer;
Sum: Real;

Microsoft WORD, dan lain-lain. Dalam hal ini, persyaratan penulisan


yang harus diperhatikan, adalah bahwa perekaman berkas (file saving)

Procedure Proc01(, );

harus dinyatakan dalam format text file dan dalam ekstensi .pas.

Var , ;
Begin

2.4. Sintaks Program Turbo PASCAL


Agak berbeda dengan struktur dasar penulisan program pada FORTRAN

End;

77, maka penulisan program pada Turbo PASCAL secara ringkas dapat
Function Func01(, );

dijelaskan sebagai berikut:


Definisi mode masukan dan atau keluaran sistem berkas (I/O file
systems, termasuk juga layar monitor dan keyboard), menggunakan
predefinisi kata uses,
Predefinisi, definisi dan deklarasi KONSTANTA dan VARIABEL, yang
dapat belaku untuk Program Utama sekaligus dapat juga berlaku
untuk Sub-Program (Procedure atau Function),

Var , ;
Begin


End;
Program Utama;

Program Utama (Main Program), dimulai dengan predefinisi kata begin

Begin

dan diakhiri dengan end.,

Sub-Program PROCEDURE, yang dimulai dengan begin dan diakhiri


dengan end;. Di antara kata PROCEDURE dan begin tersebut di
atas,

dapat

juga

diisi

dengan

definisi

dan

atau

deklarasi

KONSTANTA dan atau VARIABEL yang baru, namun dalam hal ini
hanya berlaku lokal di dalam sub-program PROCEDURE tersebut,

End.

Gambar 6. Blok struktur dan sintaks program dalam bahasa PASCAL.

Sama halnya dengan penulisan pada bahasa FORTRAN, maka pada

Sub-Program FUNCTION, yang juga harus dimulai dengan begin dan

bahasa PASCAL pun memiliki aturan-aturan umum dari sistematika atau struktur

diakhiri dengan end;. Di antara FUNCTION dan begin dapat diisi

penulisan serta beberapa kekhususan, di antaranya:

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 28

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 29

Penempatan predefinisi, definisi, dan deklarasi variabel harus


ditempatkan sebelum isi program,

Predefinisi dan atau kata-baku (seperti : Uses, Real, Integer, Boolean,


dsb) tidak dapat dipakai lagi untuk penamaan variabel (identifier) dalam
program,

Kelompok subprogram (Procedure dan Function) harus ditempatkan


sebelum program utama,

Subprogram Function mempunyai jenis tunggal atau skalar (misalnya:


Real, Integer, dan lain-lain),

Subprogram Procedure digunakan atau dapat dipanggil berdasarkan

3. Operator dan Sintaks Program FORTRAN 77 dan Turbo PASCAL


Secara umum, penulisan program dalam FORTRAN 77 dan Turbo PASCAL
sudah tentu banyak perbedaannya. Dalam hal sintaks penulisan pernyataanpernyataan kondisional (if-then-else), operasi numerik (perpangkatan, perkalian,
pembagian, penambahan, dan pengurangan), komparasi pernyataan logika
(boolean expression, disingkat sebagai be), penugasan iterasi (for, while, dan
sebagainya), dan penulisan larik (array), perbedaan-perbedaan tersebut akan
cukup kontras terlihat seperti disenaraikan dalam tabel 1. di bawah ini.
Tabel 1. Perbandingan beberapa operator terpenting dan sintaks penulisannya.

pengalamatan dan atau penilaian (passing by address atau passing by


No.

value),

Subprogram dalam PASCAL dapat bersifat recursif, yaitu subprogram yang dapat memanggil dirinya sendiri

Pernyataan Operasi

Sintaks Penulisan
FORTRAN 77

Turbo PASCAL

1.

Operator penyangkalan (unary)

.NOT.

not

2.

Operator perpangkatan (power)

**

t.a.

Jika dalam cara penulisan program FORTRAN 77 lebih banyak hal-hal atau

3.

Operator perkalian (multiplication)

batasan yang harus difahami, sehingga penulisan program tersebut terkesan

4.

Operator pembagian (division)

cukup merepotkan dan rumit. Namun sebaliknya, jika contoh program yang

5.

Operator pembagian, khusus integer

t.a.

div

analogi seperti pada gambar 3.4 di atas dituliskan dalam Turbo PASCAL, maka

6.

Operator sisa pembagian (modulo)

t.a.

mod

7.

Operator gerbang (bitwise) and

.AND.

and

8.

Operator gerbang or

.OR.

or

9.

Operator gerbang xor

t.a.

xor

10.

Operator shift left

t.a.

shl

11.

Operator shift right

t.a.

shr

kesannya akan menjadi lebih sederhana, seperti di bawah ini.

Var
Val,X : Real; {atau dapat pula digunakan Extended}
Begin
Val := 10.0;
X := 0.0;
For I := 1 to 10 do
Begin
X := X*Sqr(I) + Val;
Val := Val I;
End;
Writeln(Val = ,Val:10:3);
End.

Gambar 7. Contoh program dalam Turbo PASCAL yang analogi dengan gambar 3.4.

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 30

12.

Operator penambahan (addition)

13.

Operator pengurangan (substraction)

14.

Tanda penugasan (assignment)

:=

15.

Tanda kurung dalam operasi matematis

()

()

16.

Tanda kurung untuk indeks larik (array)

()

[]

17.

Komparasi identik (equal to)

.EQ.

18.

Komparasi tak identik (not equal to)

.NE.

<> atau ><

19.

Komparasi lebih besar (greater than)

.GT.

>

20.

Komparasi lebih kecil (less than)

.LT.

<

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 31

Tabel 1. Perbandingan beberapa operator terpenting dan sintaks penulisannya


(lanjutan).
No.

Pernyataan Operasi

21.

Sintaks Penulisan

4. Kisi-Kisi Dasar Pemrograman FORTRAN 77 dan Turbo PASCAL


Seperti telah ditunjukkan dalam tabel 3.1. di atas, tampak jelas beberapa
perbedaan penulisan dan sintaks antara program FORTRAN 77 dan Turbo

FORTRAN 77

Turbo PASCAL

PASCAL. Mungkin saja, bagi para programer pemula dalam mata kuliah Metode

Komparasi lebih besar atau sama dengan

.GE.

>= atau =>

Numerik ini, perbedaan-perbedaan tersebut dapat menjadi kendala ataupun

22.

Komparasi lebih kecil atau sama dengan

.LE.

<= atau =<

masalah tersendiri dalam membanguan suatu solusi melalui sebuah program,

23.

Pernyataan nilai variabel dalam anggota

t.a.

in []

baik dalam bahasa pemrograman FORTRAN 77 atau Turbo PASCAL atau pun

24.

Pernyataan kondisional sederhana

if (be)

if (be) then ;

if (be) then

endif

if (be) then
begin

end;

if (be) then

else

endif

if (be) then
begin

end else
begin

end;

25.

26.

27.

28.

29.

30.

Pernyataan kondisional bersarang (blok)

Pernyataan kondisional bertingkat

Pernyataan kondisional selektif

Pernyataan pengulangan terhitung naik


(iterasi naik)

Pernyataan pengulangan terhitung turun


(iterasi turun)

t.a.

do var = first,last

enddo

enddo

Pernyataan pengulangan bersyarat

t.a.

enddo;

FORTRAN 77 ataupun Turbo PASCAL, pada paragraf-paragraf berikut ini


diberikan kisi-kisi ringkas yang berkaitan dengan pembuatan program yang lebih
komprehensif

untuk

keduanya

sekaligus

juga

menyajikan

perbedaan-

perbedaannya jika ada.


4.1. Predefinisi dalam FORTRAN 77 dan Turbo PASCAL
Berdasarkan standar yang telah ditentukan, khususnya dalam ANSI X3.91978, semua pengenal (identifier) ataupun variabel sudah terdefinisi dan tersusun

case (be) of

peruntukannya dengan ketentuan baku dalam pemrograman FORTRAN 77

aa: ;
bb: ;
: ;
end;

sedemikian rupa sehingga tidak banyak lagi kemungkinan ataupun modifikasi

for v := a to b do
begin

for v := a downto b do
begin

end;

do while (be)
31.

Sebagai suatu petunjuk sistematis tentang dasar-dasar pembuatan program

dapat dilakukan oleh seorang programer. Salah satu deklarasi predifinisi yang
sering dipakai dalam FORTRAN adalah:
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

I M P L I C I T E

n o n e

end;

do var = first,last,-1

Pernyataan iterasi tak-terhitung

kedua-duanya.

repeat

until be;
while (be) do
begin

end;

Perlu diingat dengan baik oleh pembaca sekalian, bahwa programer harus
mengikuti tata-penulisan yang sudah terdefinisi dengan baik (bahkan cenderung
kaku !) dalam penulisan program FORTRAN (khususnya FORTRAN 66 dan 77).
Sebagai contoh, penulisan kata IMPLICITE harus berada dalam kolom-kolom
antara posisi ke-7 sampai ke-72, dan kemudian diikuti dengan penulisan kata
none yang dipisahkan dengan (minimal satu) spasi dengan kata sebelumnya.
Penulisan predefinisi dalam kata-kata IMPLICITE none seperti di atas,
berarti bahwa si pemrogram memerintahkan kepada compiler (yang bertugas
menyusun dan menterjemahkan sintaks bahasa FORTRAN ke dalam bahasa
mesin) untuk secara bebas menggunakan awalan dan abjad apapun dalam
penulisan program FORTRAN.

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 32

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 33

Sebaliknya, jika penulisan IMPLICITE none tidak dilakukan, maka


programer harus mengikuti predefinisi yang telah dibakukan dalam bahasa
FORTRAN, yaitu:

Berbeda dengan penulisan predefinisi sebelumnya, penulisan definisi


variabel program baik dalam bahasa pemrograman FORTRAN 77 ataupun Turbo

Semua pengenal atau variabel yang diawali (huruf pertamanya)


dengan huruf-huruf A, B, D sampai dengan H, dan kemudian O sampai
dengan Z merupakan predefinisi untuk jenis REAL. Sebagai contoh,
variabel-variabel ASUM, GIANT, PI, dan WOLF semuanya termasuk
dalam jenis REAL.

4.2. Definisi Variabel dalam FORTRAN 77 dan Turbo PASCAL

PARCAL sudah lebih jelas dan terukur, meskipun keduanya memiliki beberapa
perbedaan dalam pendefinisian struktur dan atau aturan yang baku.
Sebagai contoh, berikut ini diberikan cara penulisan definisi variabel-variabel
yang akan dipakai dalam badan program, baik yang berjenis REAL, INTEGER,
BOOLEAN (LOGICAL dalam FORTRAN), dan CHAR (CHARACTER dalam

Semua pengenal/variabel akan memiliki jenis bilangan COMPLEX, jika

FORTRAN) sebagai berikut:

huruf pertamanya adalah huruf C. Sebagai contoh: pengenal atau


nama-nama CMPLX, CIMP dapat digunakan sebagai variabel bilangan

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

COMPLEX.

Pemrogram FORTRAN:

Semua pengenal/variabel yang huruf pertamanya dimulai dengan

R E A L

huruf-huruf I sampai dengan N merupakan predefinisi untuk INTEGER.

I N T E G E R

I , I T E R , J , K , N

Contohnya adalah: variabel-variabel ITER, JAR, KEY, dan NODE

L O G I C A L

F L A G , O K

C H A R A C T E R

semuanya termasuk dalam jenis INTEGER.

Di sisi lain, seorang programer harus berhati-hati, bahwa semua

X N E W , X O L D , Y 1 , Y 2 , Z

K E Y , P R E S S

Pemrogram Turbo PASCAL:

pengenal (identifier) yang telah digunakan secara baku dalam


FORTRAN, seperti: CHARACTER, COMPLEX, END, FORMAT,
INTEGER, READ, REAL, RETURN, STOP, WRITE, dll. tidak dapat
lagi digunakan dalam penulisan program.
Berbeda dengan standar yang diberlakukan pada FORTRAN 77, dalam

Var
Xnew,Xold,Y1,Y2,Z : Real;
I,ITER,J,K,N : Integer;
Flag,OK = Boolean;
Key,Press = Char;

pemrograman Turbo PASCAL masih sangat banyak yang dapat (dan harus)
didefinisikan untuk penggunaan suatu pengenal (idendifier), baik jenisnya (type)
maupun variabelnya (var). Dalam hal ini, pemrograman menggunakan Turbo
PASCAL dipandang lebih luwes (flexible) dibandingkan dengan FORTRAN.

Catatan:
Perhatikan baik-baik penulisan kedua pemrograman di atas, khususnya untuk 3 hal: (a).
awalan kata Var, (b). posisi pengenal jenis variabel (REAL, INTEGER, dsb.), dan (c).
tanda baca ; (titik-koma).

Sebagai contoh, deklarasi predefinisi (type) dala pemrograman Turbo PASCAL


berikut ini bertujuan membuat predefinisi suatu vektor bilangan real (Rvektor),
matriks bilangan integer (Imatriks), dan himpunan 3 warna (Warna), yang tidak
dikenal dalam sintaks pemrograman FORTRAN:

4.3. Penulisan Subprogram FUNCTION


Di bawah ini, diberikan cara penulisan subprogram FUNCTION, baik dalam
FORTRAN ataupun dalam Turbo PASCAL. Dalam pemrogram FORTRAN
maupun Turbo PASCAL, subprogram FUNCTION digunakan untuk melakukan

Type
RVektor = Array[1..10] of Real;
Imatriks = Array[1..5,1..5] of Integer;
Warna = (Hijau,Kuning,Merah);

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 34

proses/operasi numerik dan atau non-numerik yang hasilnya disimpan dalam


nama subprogram FUNCTION tersebut, khususnya sebagai skalar (variabel
berdimensi 1, seperti: REAL, INTERGER, CHAR(ACTER), dan BOOLEAN atau
LOGICAL dalam FORTRAN).

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 35

Pemrogram FORTRAN:

Pemrogram FORTRAN:

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

F U N C T I O N
I N T E G E R
R E A L

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

F A C T O R I A L ( N )

S U B R O U T I N E

F A C T O R I A L , N

R E A L

F A C T

X R , Y R

I N T E G E R

I , J
P R O C E E D

I N T E G E R

L O G I C A L

L O G I C A L

F L A G , O K

C H A R A C T E R

C H A R A C T E R

K E Y P R E S S E D

K E Y , P R E S S

P L O T ( X , Y )

R E T U R N

R E T U R N

E N D

E N D

Pemrogram Turbo PASCAL:


Pemrogram Turbo PASCAL:

Function Factorial(N : Integer) : Integer;


Var
Fact : Real;
I : Integer;
Flag,OK = Boolean;
Key,Press = Char;
Begin


End;

Procedure Plot(X,Y : Real);


Var
Xr,Yr : Real;
I,J : Integer;
Proceed = Boolean;
KeyPressed = Char;
Begin


End;
Perhatikan juga dengan teliti dan seksama, cara-cara penulisan kedua jenis

Walaupun memiliki banyak kemiripan dalam fungsinya, baik dalam

subprogram tersebut, termasuk juga tanda-tanda bacanya.

pemrograman FORTRAN dan Turbo PASCAL, pembaca sangat diharapkan untuk


memperhatikan dengan teliti dan seksama kedua cara penulisan tersebut,
termasuk juga tanda-tanda bacanya.

4.5. Pemasukan Data melalui Papan Ketik


Hampir dalam setiap aktivitas pemrograman, pemasukan data (data entry)
selalu mengambil bagian yang terpenting bahkan ditempatkan pada bagian hulu

4.4. Penulisan Subprogram SUBROUTINE dan PROCEDURE


Di bawah ini, diberikan cara penulisan subprogram SUBROUTINE (dalam
pemrograman FORTRAN) ataupun subprogram

PROCEDURE (dalam Turbo

PASCAL) yang keduanya memiliki banyak kemiripan dalam fungsinya sebagai

(di awal) program. Yang dimaksud dengan pemasukan data adalah memberikan
atau mengumpankan satu atau beberapa nilai variabel ataupun konstanta yang
digunakan suatu program sedemikian rupa sehingga program tersebut dapat
dieksekusi atau berjalan sesuai dengan yang diinginkan.

subprogram yang tidak menyimpan nilai prosesnya dalam nama subprogram

Beberapa contoh tentang pemasukan data melalui papan ketik (keyboard)

tersebut, melainkan dalam parameter/argumen (passing by parameter) yang

diberikan di bawah ini. Pemasukan data melalui papan ketik merupakan hal yang

berada dalam tanda kurung ().

umumnya lebih disenangi, terutama oleh programer-programer pemula, selain

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 36

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 37

karena mudah dan kepraktisannya, juga karena sifat interaktifnya (maksudnya:

Beberapa contoh tentang pemasukan data melalui file diberikan di bawah

pertanyaan atau sesuatu yang bersifat INPUT, yang terbaca di layar monitor,

ini. Perhatikanlah hal-hal yang mungkin penting sebagai pembelajaran dalam

dapat langsung dijawab oleh sang programer melalui papan ketik).

membuat program dalam bahasa FORTRAN ataupun Turbo PASCAL, terutama


sintaks-sintaks kedua bahasa pemrograman ini.

Pemrogram FORTRAN:
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

C
C

M A S U K A N

D A R I

- - - > T A N P A

K E Y B O A R D :

A T R I B U T :

Pemrogram FORTRAN:
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

M A S U K A N

B E R U P A

D A R I
F I L E

F I L E
A S C I I

D A T A ,
( T E X T ) :

R E A D ( * , * ) N , X
O P E N ( 8 , F I L E = I N P . D A T )
C

- - - > D E N G A N

A T R I B U T :

W R I T E ( * , * ) J M L

R E A D ( 8 , * ) N , X
I T E R :

R E A D ( * , * ) N
W R I T E ( * , * ) X - A W A L :

C L O S E ( 8 )

E N D

R E A D ( * , * ) X

Pemrogram Turbo PASCAL:


Pemrogram Turbo PASCAL:
{ Masukan dari file data,
berupa file ASCII (TEXT): }
Var
FileData: Text;

{ Masukan dari Keyboard: }


(* Tanpa atribut: : *)
Readln(N,X);

Begin

Assign(FileData,INP.DAT);
Reset(FileData);
;
Read(FileData, N, X);
{ atau Readln(FileData, N, X); }
;
Close(FileData);

(* Dengan atribut: : *)
Write(Jml Iter : );
Readln(N);
Write(X-awal = );
Readln(X);
;
;
4.6. Pemasukan Data melalui File (Input Data File)

;
End.

Pemasukan data melalui file (umumnya sebagai file ASCII yang sering
disebut sebagai file TEXT) dilakukan sebagai alternatif dari pemasukan melalui
papan ketik, terutama untuk proses-proses data entry (input data) yang berulang
dan dalam jumlah yang besar sehingga memerlukan ketelitian dan kecermatan
yang baik.
Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 38

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 39

4.7. Keluaran ke Monitor (Output to Monitor)

4.8. Keluaran atau Perekaman ke File (Save to File)

Baik dalam bahasa pemrograman FORTRAN 77 maupun Turbo PASCAL,

Beberapa contoh tentang keluaran data melalui file diberikan di bawah ini.

keluaran atau pencetakan (output) hasil proses komputasi dirakukan secara

Seperti juga telah dijelaskan pada paragraf 3.4.6. tentang pemasukan data dar

otamatis (by default) pada layar monitor. Kecuali jika programer menghendaki alat

file, maka pernyataan untuk keluarannya adalah hampir sama, hanya kecuali

keluaran/cetakan yang lain, maka format penulisan keluaran tersebut diberikan

kebalikannya. Perhatikan juga hal-hal yang penting sebagai pembelajaran dalam

seperti di bawah ini.

membuat program dalam bahasa FORTRAN ataupun Turbo PASCAL.

Pemrogram FORTRAN:

Pemrogram FORTRAN:

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

C O N T O H

K E L U A R A N

K E

A T A U

K E L U A R A N

L A Y A R

O T O M A T I S

M O N I T O R

( S C R E E N ) :

W R I T E ( * , * ) X , Y
W R I T E ( 5 , * ) H A S I L :

P A D A

F I L E

F I L E

T E X T

A S C I I :

O P E N ( 9 , F I L E = O U T . D A T )
, Z R

W R I T E ( 9 , * ) X R ,Y R

E N D

C L O S E ( 9 )

Pemrogram Turbo PASCAL:

E N D

{ Contoh keluaran otomatis,


Ke LAYAR MONITOR (SCREEN): }
Var
X,Y,ZR: Real;
{Variabel harus terdefinis!}
Begin

Write(X,Y);
Writeln;
Writeln(Hasil: ,Xr);
;
;
End.
Penulisan keluaran dalam FORTRAN menggunakan pengenal baku WRITE
selalu diikuti dengan karakter ganti baris (carriage return atau new line atau
ENTER atau karakter ke 13 atau hex-0D dalam tabel ASCII). Sebaliknya, dalam
Turbo PASCAL, penulisan menggunakan Write adalah tanpa carriage return

Pemrogram Turbo PASCAL:


{ Masukan pada file text
atau file ASCII: }
Var
OutFile: Text;
Begin
;
Assign(OutFile,INP.DAT);
Rewrite(OutFile);
;
Write(OutFile, XR, YR);
{ atau Writeln(OutFile, Xr, Yr); }
;
Close(OutFile);
;
End.

sedangkan jika menggunakan Writeln akan diikuti dengan carriage return.

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 40

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 41

4.9. Keluaran atau Pencetakan ke Printer (Output Printing)


Pencetakan hasil program (termasuk juga komputasi numerik) ke dalam
printer (mesin pencetak) memiliki format yang beragam. Namun, dalam paragram

5. Pernyataan Kondisional IF
Pernyataan kondisional IF merupakan piranti program yang digunakan untuk
menyatakan keadaan bersyarat, baik yang berbentuk tunggal maupun jamak.

ini hanya akan dibahas yang berhubungan dengan pencetakan ke printer secara
umum, terutama yang mengikuti format ASCII (terutama printer-printer dotmatrix, seperti: EPSON, SEIKO, HP, dan XEROX).

5.1. Pernyataan Kondisional Tunggal (IF..THEN..)


Pernyataan kondisional IFTHEN merupakan piranti program yang

Di bawah ini, diberikan contoh program dalam FORTRAN 77 dan Turbo


PASCAL yang berhubungan dengan pernyataan pencetakan ke printer.
Pemrogram FORTRAN:

digunakan untuk menyatakan keadaan bersyarat tunggal, yaitu: dikerjakan


(dieksekusi) jika pernyataan dalan IF bernilai benar (= true). Beberapa contoh
tentang pernyataan-pernyataan kondisional tunggal ini adalah sbb:

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

if ( x 0 ) then STOP

C O N T O H

if ( iter > 100 ) and ( p 0 ) then p = p + h

P E N C E T A K A N

K E L U A R A N
P A D A

D A N
P R I N T E R :

O P E N ( 2 , F I L E = L P R : )

W R I T E ( 2 , * ) X R ,Y R

Pada pernyataan kondisional yang pertama, akan dilakukan penghentian


(STOP dapat berarti menghentikan program secara keseluruhan) jika harga x
ternyata mencapai 0 (nol) atau bahkan negatif. Sedangkan pada pernyataan
kedua, ungkapan matematis p = p + h

p hanya akan dieksekusi jika kedua

persyaratan ( iter > 100 ) dan ( p 0 ) dipenuhi.


Penulisan kedua pernyataan kondisional di atas ke dalam bahasa

C L O S E ( 2 )

FORTRAN 77 dan Turbo PASCAL diberikan di bawah ini.

Pemrogram FORTRAN:

E N D

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

Pemrogram Turbo PASCAL:

B E N T U K

( 2

C O N T O H

{ Contoh KELUARAN dan


PENCETAKAN pada printer: }
Uses
CRT; {atau WinCRT untuk MS-Windows}
Begin
;
Write(LST, XR, YR);
{ atau Writeln(LST, Xr, Yr); }
;
;
End.

K O N D I S I O N A L

R E A L

D A L A M

T U N G G A L

F O R T R A N ) :

H , P , X

I N T E G E R

I T E R

I F

( X . L E . 0 . 0 )

I F

( I T E R . G T . 1 0 0 ) . A N D .
( P . G E . 0 )

S T 0 P

P = P + H * S Q R T

( P )

E N D

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 42

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 43

Pemrogram Turbo PASCAL:

Pemrogram FORTRAN:
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

{ Bentuk KONDISIONAL TUNGGAL }


{ 2 contoh dalam Turbo PASCAL)
{semua variabel harus didefinisikan}

R E A L

H , P , X

I N T E G E R

I T E R

Var
H, p, x : Real;
Iter : Integer;

I F

( X . L E . 0 . 0 )

T H E N

S T 0 P

;
If (x <= 0.0) then halt;
{penggunaan HALT untuk pengganti STOP}
If (Iter > 100) and (p >= 0) then p := p +
h*sqrt(p);
;

E L S E
Z = Z + 0 . 0 1
E N D I F
I F

( P . G E . 0 )

End.

( I T E R . G T . 1 0 0 ) . A N D .
T H E N

P = P + H

* S Q R T ( P )

*
E L S E

5.2. Pernyataan Kondisional 2 Kemungkinan (IF..THEN..ELSE..)

P = P + H * S Q R T (P * * 3 )
E N D I F

Pernyataan kondisional IFTHENELSE.. merupakan perangkat program


yang digunakan untuk menyatakan keadaan bersyarat dengan 2 (dua)
kemungkinan, yaitu bila ada 2 kondisi berbeda yang dipersyaratkan, seperti
diberikan berikut ini:

if ( x 0 ) then STOP else z = z + 0.01

if () and ( p 0 ) then p = p + h

Pada pernyataan kondisional yang pertama, akan dilakukan penghentian


(STOP) jika harga x ternyata mencapai 0 (nol) atau bahkan negatif, bila tidak
maka akan dieksekusi pernyataan z = z + 0.01 .

p akan

dieksekusi jika kedua persyaratan ( iter > 100 ) dan ( p 0 ) dipenuhi, jika tidak
dapat dipenuhi (yaitu jika iter 100 atau p < 0 ) maka yang akan dipenuhi
adalah pernyataan p = p + h

E N D

Pemrogram Turbo PASCAL:

p else p = p + h p 3

Pada pernyataan kondisional yang kedua, ungkapan p = p + h

p3 .

Untuk memberikan gambaran yang lebih jelas dan komprehensif kepada


para pembaca sekalian, maka contoh-contoh program di bawah ini diberikan
dalam pemrograman FORTRAN dan Turbo PASCAL, khusus untuk pernyataan-

;
Var
H, p, x : Real;
Iter : Integer;
;
If (x <= 0.0) then halt
else z := z + 0.01;
If (Iter > 100) and (p >= 0) then p := p +
h*sqrt(p)
else
P := p + h*sqrt(p*p*p);
;
End.

pernyataan kondisional IF..THEN..ELSE.

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 44

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 45

5.3. Pernyataan Kondisional Berganda


Di dalam pemrograman Turbo PASCAL, dikenal pernyataan caseof yang
dapat digunakan untuk pernyataan kondisional bertingkat, terutama untuk tujuan
pemeringkatan suatu kondisi yang cukup beragam.
Untuk memberi lebih kejelasan kepada pembaca sekalian, contoh program
tentang aplikasi case of disajikan seperti berikut ini:

Dalam hal ini, diperlukan sedikit modifikasi dalam traduksi (penterjemahan)


program Turbo PASCAL di atas ke dalam bahasa pemrograman FORTRAN 77,
seperti disajikan berikut ini.
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8

I N T E G E R

B E R A T , H A R G A , H A R G
A _ P E R _ K G

C H A R A C T E R

K L T A S

W R I T E ( * , * ) M A S U K K A N

Uses
CRT; {untuk MS-Windows, gunakan WinCRT)
Var
Berat, Harga, Harga_per_kg: Integer;
Kualitas : Char;
Begin
ClrScr;
Write(Masukkan Kualitas Barang (A/B/C/D): );
Readln(Kualitas);
Write(Berat barang yang dibeli: );
Readln(Berat);
Case Kualitas of
A,a: Harga_per_kg := 1000;
B,b: Harga_per_kg := 750;
C,c: Harga_per_kg := 500;
D,d: Harga_per_kg := 250
Else
Begin
Harga_per_kg := 0;
Writeln(Salah memasukkan kategori..!)
End
End;
Harga := Harga_per_kg*Berat;
Writeln(Harga per kg: Rp. , Harga_per_kg);
Writeln(Harga Total: Rp. , Harga);
End.

* I T A S

B A R A N G

K U A L

( A / B / C / D ) :

R E A D ( * , * ) K L T A S
W R I T E ( * , * ) B E R A T
*

Y A N G

D I B E L I :

B A R A N G

R E A D ( * , * ) B E R A T
I F ( K L T A S . E Q . A ) . O R . ( K U A
* L I T A S . E Q . a )

T H E N

H A R G A _ P E R _ K G = 1 0 0 0
E L S E

I F ( K L T A S . E Q . B ) . O R

* . ( K U A L I T A S . E Q . b ) T H E N
H A R G A _ P E R _ K G = 7 5 0
E L S E
*

I F ( K L T A S . E Q . C ) . O R

. ( K U A L I T A S . E Q . c ) T H E N
H A R G A _ P E R _ K G = 5 0 0
E L S E

I F ( K L T A S . E Q . D ) .

* O R . ( K U A L I T A S . E Q . d ) T H E N
H A R G A _ P E R _ K G = 2 5 0
E L S E
H A R G A _ P E R _ K G = 0
W R I T E ( * , * ) S A L A H

E N D I F
H A R G A = H A R G A _ P E R _ K G * B E R A T

Di sisi lain, aplikasi pernyataan kondisional yang sejenis dengan case of


seperti di atas tidak dikenal dalam pemrograman FORTRAN 77. Sebagai
informasi lanjutan, dalam FORTRAN 90 sebenarnya sudah dikenal pernyataan
kondisional menggunakan kata pengenal case yang hampir sejenis dengan yang
digunakan oleh Turbo PASCAL. Namun, karena dalam diktat ini hanya dijelaskan
sari-sari pemrogram menggunakan bahasa pemrograman FORTRAN 77, maka

W R I T E ( * , * ) H a r g a
*

R p .

W R I T E ( * , * ) H a r g a
R p .

p e r

k g :

, H A R G A _ P E R _ K G
T o t a l

, H A R G A

E N D

pembahasan lebih jauh dengan FORTRAN 90 tidak akan dilakukan disini.

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 46

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 47

6.2. Pernyataan Iterasi DOWHILE atau WHILEDO

6. Pernyataan Iterasi Suksesif


Pernyataan iterasi adalah perangkat atau kelengkapan program yang
digunakan untuk melakukan suksesi penambahan atau pengurangan nilai suatu
variabel dalam program. Baik dalam pemrograman FORTRAN 77 maupun Turbo
PASCAL, dikenal beberapa macam pernyataan suksesif, seperti diuraikan pada
paragraf-paragraf 3.6.1. dan 3.6.2. di bawah ini.

Merupakan pernyataan iteratif yang digunakan untuk melakukan suksesi


penaikan atau penurunan nilai suatu variabel secara beraturan berdasarkan deret
aritmatika. Pernyataan DOWHILE (dalam Turbo PASCAL: While do) ini mirip
dengan pernyataan DO-iterasi, kecuali variabel pengendalinya (yang dijadikan
syarat berlangsungnya iterasi) melakukan penambahan nilai di tengah operasi
pernyataan ini (antara DOWHILE dan END DO).
Sebagai ilustrasi dari aplikasi pernyataan DOWHILE ini, di bawah ini

6.1. Pernyataan Iterasi DO atau FORDO


Merupakan pernyataan iteratif yang digunakan untuk melakukan suksesi
penaikan atau penurunan nilai suatu variabel secara beraturan berdasarkan deret

diberikan contoh-contoh programnya, baik dalam FORTRAN 77 maupun dalam


Turbo PASCAL.
Pemrogram FORTRAN:

aritmatika.

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

Pemrogram FORTRAN:

C
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

C O N T O H

P R O G R A M

D O

I T E R A S I

P R O G R A M

W H I L E D O :

I = 0

D O

C O N T O H

D O

W H I L E ( I . L T . 1 0 0 )

I = 1 , N E Q
I = I + 1
D O

J = 1 , N E Q
R E A D ( * , * ) B ( I )
A ( I , J ) = 0 . 0
Q ( I ) = I * I - S Q R T ( I )

E N D

D O
E N D

B ( I ) = 0 . 0
E N D

D O

Pemrogram Turbo PASCAL:

Pemrogram Turbo PASCAL:

{ Contoh Program Iterasi FORDO }


{ Variabel-variabel A,B,I,J,NEQ harus terdefinisi }
;
For I:=1 to NEQ do
Begin
For J:=1 to NEQ do
A[I,J] := 0.0;
B[I] := 0.0;
End;
;

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

D O

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 48

{ Contoh Program Iterasi WHILEDO }


{ Variabel-variabel B,I,Q harus terdefinisi }
;
I := 0;
While (I < 100) do
Begin
I := I + 1; {dapat juga ditulis: Succ(I);}
Readln(B[I]);
Q[I] := I*I Sqrt(I);
End;
;

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 49

6.3. Pernyataan Iterasi REPEATUNTIL

1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

Pernyataan REPEATUNTIL merupakan pernyataan khas dari bahasa

C O N T O H

pemrograman Turbo PASCAL, yang tidak dijumpai dalam bahasa pemrograman

R E P E A T U N T I L

FORTRAN. Pernyataan ini digunakan untuk melakukan suatu proses iterasi

C A T A T A N :

(pengulangan) yang syarat penghentian prosesnya berada di bagian akhir dari

J A N G A N

blok pernyataan ini (yaitu di depan atau setelah kata UNTIL).

D E K L A R A S I

D I G U N A K A N !

Di bawah ini diberikan suatu contoh penggaalan program dalam Turbo

E K I V A L E N

PASCAL tentang aplikasi REPEATUNTIL, yang mungkin dapat dijadikan

referensi oleh pembaca sekalian dalam membuat atau menulis program-program

I = 1 0 0

numerik dalam bahasa Turbo PASCAL.

D O

P R O G R A M

D A L A M

L U P A

F O R T R A N

U N T U K

V A R I A B E L

M E N Y A N G

W H I L E ( I . G E . 1 )
B ( I ) = I * I - 5 . 0
W R I T E ( * , * ) B ( , I ,

{ Contoh Program Iterasi REPEATUNTIL }


{ Variabel-variabel B,I,Z harus terdefinisi }
;
I := 100;
Repeat
B[I] := I*I 5.0;
Writeln(B[,I,] = ,B[I]);
Z[I] := Sqr(I) B[I]*I/2.0;
B[I] := B[I] + B[I]*Z[I] I*I/3
Writeln(B[,I,] = ,B[I]);
Writeln(Z[,I,] = ,Z[I]);
I := I - 1; {dapat juga ditulis: Pred(I);}
Until (I < 1);
;

) = , B ( I )

Z ( I ) = I * I - B ( I ) * I / 2 . 0
B ( I ) = B ( I ) + B ( I ) * Z ( I )
- I * I / 3 . 0

W R I T E ( * , * ) B ( , I ,
) = , B ( I )

W R I T E ( * , * ) Z ( , I ,
) = , Z ( I )

*
I = I - 1
E N D

D O

Berhubung pernyataan perangkat pemrograman REPEAT...UNTIL tidak

Sesungguhnya ada beberapa variasi modifikasi program dari pernyataan

dijumpai dalam bahasa pemrogram FORTRAN secara umum, maka kita perlu

REPEATUNTIL dalam pemrograman Turbo PASCAL, dan penulisan program di

melakukan suatu modifikasi program sedemikian rupa sehingga dapat memiliki

atas adalah salah satunya. Namun, dalam hal ini pembaca perlu juga memikirkan

suatu program yang dapat dikatakan ekivalen dengan homolognya dalam

program ekivalensi yang lainnya dalam pemrograman FORTRAN 77. Cobalah

pemrograman Turbo PASCAL.

usulkan program tersebut !

Di bawah ini diberikan suatu bentuk modifikasi yang relatif sederhana


tentang modifikasi REPEATUNTIL yang ditujukan untuk mencari kesamaan
fungsi dari listing program Turbo PASCAL seperti di atas. Perhatikan dengan
cermat dan seksama beberapa hal yang sama fungsinya, juga hal-hal lain yang
fungsinya tidak sama dan atau sebaliknya, mengalami pergeseran fungsi.

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 50

Kuliah DASKOM. Dasar-Dasar Pemrograman dalam FORTRAN 77 dan Turbo PASCAL

Metode Numerik: Komputasi dengan FORTRAN 77 dan Turbo PASCAL # 51

Anda mungkin juga menyukai