• Tidak ada hasil yang ditemukan

STRUKTUR PROGRAM. Struktur Berurutan

N/A
N/A
Protected

Academic year: 2021

Membagikan "STRUKTUR PROGRAM. Struktur Berurutan"

Copied!
24
0
0

Teks penuh

(1)

STRUKTUR PROGRAM

Armadyah Amborowati , Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta, Jl. Ring Road Utara, Condong Catur, Sleman, Yogyakarta - Indonesia

Pemrograman terstruktur pada dasarnya tersusun atas tiga struktur program utama, yaitu: Struktur berurutan, struktur seleksi, dan struktur perulangan.

Struktur Berurutan

Struktur berurutan, dimana perintah atau pernyataan dijalankan dalam suatu urutan yang telah ditentukan. Hanya ada satu cara memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian bawah. Urutan eksekusi berjalan urut ( satu arah dan tidak bercabang ) dan tidak ada interupsi lain.

Gambar 6.1. Struktur berurutan Dengan program Pascal akan tampak sebagai berikut: ………… ………… Begin Pernyataan 1; Pernyataan 2; Pernyataan 3; end.

Pernyataan 1 akan dikerjakan terlebih dahulu, kemudian pernyataan 2 dan berakhir pada pernyataan 3.

1

2 3

(2)

Contoh: Program contoh_urut; uses wincrt; var NIP:string[2]; gaji_pokok,tunjangan,total_gaji:longint; begin writeln('Masukkan NIP='); {1} readln(NIP); {2}

writeln('masukkan gaji pokok '); {3} readln(gaji_pokok); {4}

writeln('masukkan tunjangan ='); {5} readln(tunjangan); {6}

total_gaji:=gaji_pokok+tunjangan; {7} writeln('NIP anda =',' ',NIP); {8}

writeln('Gaji bersih anda =',' ',total_gaji); {9} end.

Output:

Perintah dikerjakan secara urut dari nomor 1 sampai dengan nomor 9.

(3)

Struktur Seleksi

Struktur seleksi digunakan untuk melakukan proses pengujian dalam mengambil suatu keputusan. Kondisi yang dinilai berupa ekspresi, dengan nilai true atau false.

Pada ekspresi Boolean, operasi relasi yang digunakan sehingga menghasilkan nilai True jika benar dan False jika salah.

6.2.1. Statement IF..THEN

Bentuk umum dari IF..THEN adalah: IF < ekspresi Boolean > then Begin

…….. …….. end;

Jika syarat dipenuhi atau ekspresi Boolean bernilai true maka akan mengeksekusi penyataan pada blok begin..end.

Contoh: Program contoh_ifthen; uses wincrt; const pajak=0.05; var NIP:string[2]; gaji_pokok,tunjangan,total_gaji:real; begin writeln('Masukkan NIP='); readln(NIP);

writeln('masukkan gaji pokok ='); readln(gaji_pokok);

(4)

writeln('masukkan tunjangan ='); readln(tunjangan);

total_gaji:=gaji_pokok+tunjangan; IF total_gaji>=2000000 then

total_gaji:=total_gaji - pajak; writeln('NIP anda =',' ',NIP);

writeln('Gaji bersih anda =',' ',total_gaji:10:2); readln;

donewincrt; end.

Output:

6.2.2. IF …Then…Else

Statemen ini digunakan jika ada 2 pilihan. Jika syarat dipenuhi atau ekspresi Boolean bernilai true maka akan mengeksekusi penyataan pada blok begin..end, jika tidak maka akan mengeksekusi penyataan setelah else.

Bentuk Umum dari If..Then..Else adalah: IF < ekspresi Boolean > then

Begin

…….. Blok begin..end digunakan jika pernyataan lebih dari 1. ……..

end {tanda ; dihilangkan karena IF belum berakhir} Else

(5)

Begin

……. Blok begin..end digunakan jika pernyataan lebih dari 1. ……..

end; { menggunakan tanda ; karena mengakhiri blok IF }

Contoh: Program nilai; uses wincrt; var PPN,Agama,SPBD,Total_nilai:byte; begin writeln('angka range 1..10'); Writeln('masukkan nilai PPN='); readln(PPN);

Writeln('masukkan nilai Agama='); readln(Agama); Writeln('Masukkan Nilai SPBD='); readln(SPBD); Total_nilai:=PPN+Agama+SPBD; Writeln('nilai minimum = 25'); If Total_nilai >= 25 then Begin

Writeln('total nilai anda=',' ',total_nilai); writeln('Baguuuus')

end else Begin

Writeln('total nilai anda=',' ',total_nilai); Writeln('belajar lagi ya!');

end; readln;

(6)

end.

Output:

6.2.3. Statement IF..Then..Else If

Statement IF..Then..Else If digunakan untuk menyelesaikan permasalahan dengan jumlah kondisi atau pilihan lebih dari dua.

Jika ada 2 pilihan maka ada 1 if, Jika ada 3 pilihan maka ada 2 if, jika ada 6 pilihan maka ada 5 if, dan pilihan yang terakhir sebagai pernyataan yang dikerjakan setelah else.

Bentuk umum statement ini adalah: IF < kondisi> Then

Begin …… end

else if < kondisi > Then Begin ……. End Else Begin …….

(7)

End; Contoh:

Buat program untuk menentukan tunjangan karyawan. Jika golongannya A maka tunjangannya 300.000, Jika B maka 250.000, jika C maka 200.000, dan jika D maka 150.000.

Dari kasus diatas ada 4 pilihan untuk besar tunjangan masing-masing golongan, maka ada 3 if dan pilihan terakhir sebagai pernyataan yang akan dieksekusi setelah else.

Contoh 1: Program golongan; uses wincrt; var gol:char; tunjangan:real; begin Writeln('golongan A,B,C,D');

Writeln('masukkan golongan anda='); readln(gol);

If Gol='A' then {if ke-1}

tunjangan:=300000 {pilihan ke-1} else if gol='B' then { if ke-2 } tunjangan:=250000 {Pilihan kedua} else if gol='C' then {if ke-3} tunjangan:=200000 {pilihan ke-3} else

tunjangan:=150000; {pilihan ke-4}

writeln('golongan anda=',' ',gol);

Writeln('tunjangan anda=',' ',tunjangan:10:2); readln;

(8)

end.

Output:

6.2.4. Operator Logika

Jika pada ekspresi Boolean syarat atau kondisi yang dibandingkan lebih dari satu, maka digunakan suatu operand yang bernama operator logika. Operator logika ini terdiri dari AND, OR, dan NOT.

1. Pernyataan AND

Pernyataan AND akan dieksekusi jika kedua kondisi dalam keadaan true.

Bentuk Umum:

IF < ekspresi Boolean 1> AND <ekspresi Boolen 2 > Then Begin

……… end;

Tabel 6.1 Tabel kebenaran AND

Kondisi 1 Kondisi 2 Nilai kebenaran True True True

True False False False True False False False False Contoh 1:

(9)

program c_and; uses wincrt;

var PBD,SPBD:byte; begin

Writeln('range 1..10');

writeln('masukkan nilai SPBD anda='); readln(SPBD);

writeln('masukkan nilai PBD anda='); readln(PBD);

If (spbd>7) and (pbd>7) then

writeln('anda berhak mengikuti Matakuliah Client-Server') else

Writeln('anda harus mengulang'); end. Output: Contoh 2: Program menentukan_mk_kosentrasi; uses wincrt; var Pemrog_internet,jarkom, komp_grafis,multimedia1:string[5]; begin

writeln('jawab lulus atau tidak');

writeln('======================================='); Writeln('Anda lulus ujian Pemrograman Internet ='); readln(pemrog_internet);

(10)

Writeln('Anda lulus ujian Jaringan komputer='); readln(jarkom);

Writeln('Anda lulus ujian komputer grafis='); readln(komp_grafis);

Writeln('Anda lulus ujian multimedia 1='); readln(multimedia1);

If (pemrog_internet='lulus') and (jarkom='lulus') then writeln('anda ikut kosentrasi e-commerce')

else if (komp_grafis='lulus') and (multimedia1='lulus') then

writeln('anda ikut kosentrasi multimedia') else

writeln('anda ikut kosentrasi sisten informasi akutansi'); end.

Output:

2. Pernyataan OR

Pernyataan OR akan dieksekusi jika salah satu kondisi dalam keadaan true.

Tabel. 6.2 Tabel Kebenaran OR

Kondisi 1 Kondisi 2 Nilai Kebenaran

(11)

True False True False True True False False True

Bentuk Umum:

IF < ekspresi Boolean 1> OR <ekspresi Boolen 2 > Then Begin ……… end; Contoh: program c_OR; uses wincrt; var PBD,SPBD:byte; begin Writeln('range 1..10');

writeln('masukkan nilai SPBD anda='); readln(SPBD);

writeln('masukkan nilai PBD anda='); readln(PBD);

If (spbd>7) or (pbd>7) then

writeln('anda berhak mengikuti MK Client-Server') else

Writeln('anda harus mengulang'); end.

(12)

Output:

3. Pernyataan NOT

Pernyataan NOT untuk mencari nilai kecuali dari suatu kondisi. Bentuk Umum:

IF NOT < ekspresi Boolean > Then Begin ……… end; Contoh: program c_not; uses wincrt; var PBD,SPBD,total_nilai:byte; begin Writeln('range 1..10');

writeln('masukkan nilai SPBD anda='); readln(SPBD);

writeln('masukkan nilai PBD anda='); readln(PBD);

Total_nilai:=SPBD+PBD;

Writeln('total nilai anda',' ',total_nilai); If NOT (total_nilai>7) then

writeln('anda berhak mengikuti MK Client-Server') else

(13)

end.

Output:

Program diatas menentukan mengikuti matakuliah client-server. Jika total nilai lebih besar 7 maka berhak mengikuti matakuliah tersebut, jika tidak ( lebih kecil sama dengan 7 ) maka harus mengulang.

6.2.5. Case..of

Pernyataan Case dipergunakan apabila kita menulis program memerlukan banyak pernyataan IF..Then..Else, sehingga program akan tampak lebih jelas untuk dibaca. Bentuk umumnya: Case Variabel OF Kondisi1:pernyataan1; Kondisi2:pernyataan2; ….. end;

(14)

Contoh 1: Dengan IF..Then…elseif Program tunjangan1; uses wincrt; var gol:char; tunjangan:real; begin Writeln('golongan A,B,C,D');

Writeln('masukkan golongan anda='); readln(gol);

If (Gol='A') then tunjangan:=300000

else if (gol='B') then tunjangan:=250000

else if (gol='C') then tunjangan:=200000

else

tunjangan:=150000;

writeln('golongan anda=',' ',gol);

Writeln('tunjangan anda=',' ',tunjangan:10:2); readln;

end.

Diganti dengan Case..of

Program tunjangan1; uses wincrt; var gol:char; tunjangan:real; begin Writeln('golongan A,B,C,D');

(15)

readln(gol); Case gol of 'A':tunjangan:=300000; 'B':tunjangan:=250000; 'C':tunjangan:=200000; 'D':tunjangan:=150000; end;

writeln('golongan anda=',' ',gol);

Writeln('tunjangan anda=',' ',tunjangan:10:2); readln;

end.

Output:

Contoh 2:

Kondisi dengan suatu range. uses wincrt;

var nilai:integer; huruf:string; begin

writeln('masukkan nilai anda='); readln(nilai); case nilai of 80..100: huruf:='A'; 70..79 : huruf:='B'; 60..69 : huruf:='C'; 0..59 : huruf:='D';

(16)

end;

writeln('nilai dalam huruf=',' ',huruf); readln;

end.

Output:

Struktur Perulangan

Secara alamiah, suatu proses bisa berupa proses berurutan dari awal hingga selesai, pilihan berdasarkan kondisi tertentu atau pengulangan bedasarkan batasan tertentu pula. PASCAL menyediakan beberapa konstruksi perintah untuk melakukan proses-proses itu, yaitu:

1. For ... do 2. While ... do 3. Repeat ... until

Beberapa kemungkinan proses pengulangan adalah jumlah pengulangan sudah tertentu atau ditentukan dalam program atau jumlah pengulangan tidak tentu tergantung banyak data yang harus diproses atau kenginan pemakai.

6.3.1. Struktur FOR <Kondisi> DO

Digunakan bila jumlah perulangan sudah diketahui atau sudah ditentukan.

Bentuk umumnya:

For variable:=<awal> to <akhir> Do Begin

Pernyataan; End;

(17)

Keterangan:

Variabel : nama variable yang digunakan sebagai kendali perulangan. <awal> : menyatakan kondisi awal nilai variable kendali perulangan. <akhir> : menyatakan kondisi akhir nilai variable kendali perulangan. <pernyataan>: merupakan instruksi-instruksi yang perlu dilakukan.

Contoh 1: Program fordo; uses wincrt; var i:byte; begin for i:=1 to 5 do begin

writeln('aditya putra gauthama'); end;

end.

Output:

Sebanyak lima baria, kemudian berhenti. Apabila kita akan melakukan perulangan secara cacah mundur kita bisa memakai FOR ..Downto..Do

Contoh 2:

(18)

program mundur; uses wincrt; var i:integer; begin

for i:=5 downto 1 do begin

writeln('i ke ',' ',i);

writeln('aditya putra gauthama'); end; end. Output: Contoh 3: Program fordo2; uses wincrt; var x,x2,x3:integer; begin Writeln('x',' ','x*x',' ','x*x*x'); for x:=1 to 10 do begin X2:=x*x; x3:=x*x*x; writeln(x,' ',x2,' ',x3);

(19)

end; readln; end. Output:

6.3.2. Struktur WHILE <Ekspresi Boolen> DO <Pernyataan>

Pernyataan akan dieksekusi jika ekspresi Boolean dalam keadaan benar. Didalam loop ada nilai yang mengontrol loop, yang nilainya harus berubah sehingga pada akhirnya program akan keluar dari loop.

Bentuk umumnya adalah:

WHILE <ekspresi boolean> DO Begin Penyataan End; Contoh: Program whiledo; uses wincrt; var nama:string[20];

(20)

i:integer; gapok:real; begin i:=1; while i<=5 do begin

writeln('masukkan nama pegawai ke ',' ',i,' ','='); readln(nama);

Writeln('masukkan gaji pokok='); readln(gapok); Writeln('================================'); i:=i+1; end; readln; end. Output:

(21)

Perulangan berhenti setelah I ke 5.

6.3.3. Struktur REPEAT..UNTIL

Pernyataan Repeat..Until hamper sama dengan pernyataan While..Do, tetapi dengan pernyataan Repeat, akan terjadi paling tidak satu kali statement.

Bentuk umumnya adalah: Repeat …… …… Perintah; ……. …. Until<ekspresi boolean>;

(22)

Perhatikan sintaknya, dalam hal ini kita tidak perlu menggunakan begin…end karena pernyataan diantara Repeat..Until diperlakukan oleh Pascal sebagai sebuah blok. Contoh: Program repeatuntil; uses wincrt; var nama:string[20]; i:integer; gapok:real; begin i:=1; Repeat

writeln('masukkan nama pegawai ke ',' ',i,' ','='); readln(nama);

Writeln('masukkan gaji pokok='); readln(gapok); Writeln('================================'); i:=i+1; until i=5; readln; end.

(23)

Output:

Latihan:

1. Menentukan nilai dalam huruf. A---Æ Nilai > 8

B---Æ Nilai > 7 C---Æ Nilai >= 6 D---Æ Nilai < 6

2. Menentukan tunjangan berdasarkan jumlah anak. Maximal 3 anak, tiap anak mendapatkan sebesar 10% dari gaji pokok.

Output----ÆTunjangan anak dan Gaji Bersih. 3. Belanja > 250.000 ---Æ Diskon 15% dari belanja

Belanja > 500.000 ---Æ Diskon 20% dari belanja Belanja <= 100.000 --Æ Diskon 0% dari belanja

Output---ÆDiskon dan Total yang harus dibayar setelah diskon.

• Gunakan struktur IF dan Case..of terhadap ketiga soal tersebut ( nomor 1 s/d 3 ).

(24)

Gunakan menggunakan For..Do, While..do,dan Repeat..until.

DAFTAR PUSTAKA

Abdul Kadir, Pemrograman Dasar Turbo Pascal, Andi Offset, 1991. Indra Yatini B., Pemrograman Terstruktur, J&J Learning, 2001.

Insap Santosa P., Dasar-dasar Pemrograman Pascal: Teori dan Program, Andi Offset, 1991.

Jogiyanto, H.M., Teori dan Aplikasi Program Komputer Bahasa Pascal Jilid I, Andi Offset, 1995.

Mamdyh M. Hanafi, Pemrograman Terstruktur dengan Bahasa Pascal, BPFE, 1995.

http://ft.uns.ac.id/ts/kul_ol/pascal/pascal3.html

http://sipil.uns.ac.id/kulol/Bahasa_Komputer/pascal1.html http://id.wikipedia.org/wiki/Pascal_(bahasa_pemrograman

Gambar

Tabel 6.1 Tabel kebenaran AND

Referensi

Dokumen terkait

Paket Program Pembelajaran Mandiri mengenai konsep energi secara utuh yang berorientasi pada kehidupan nyata, yang dibuat dengan menggunakan program Borlan Delphi

Berikut adalah hasil pekerjaan siswa yang didukung dengan hasil wawancara yang menunjukkan letak kesalahan siswa dalam proses dalam menyelesaikan tes berbentuk soal

Berdasarkan dari berbagai data yang te- lah diperoleh mulai dari pratindakan dan data dari tindakan yang dilaksanakan dalam siklus I, siklus II dan siklus III, maka dapat

Sama halnya dengan data koordinat dari GPS, metode pengujian yang penulis gunakan yaitu membandingkan data azimuth Matahari pada aplikasi Qibla Compass Sundial Lite dengan

Kelompok I terdiri dari 2 varietas (Adira IV dan Adira I) dan 1 klon (BIC 369) berproduksi lebih tinggi dari klon lokal II baik pada lokasi Pleihari maupun KP Banjarbaru..

Adapun obyek penelitian adalah Galeri elzatta di Ruko Sentra Tropodo Sidoarjo, sehingga judul penelitian yang diambil adalah “Pengaruh In-Store Shopping Environment dan

aktifitas mengajar guru, meningkatkan hasil belajar siswa dalam proses pembelajaran geografi melalui penerapan metode demonstrasi. Jenis penelitian ini yaitu PTK

Keuangan, Kementerian Dalam Negeri, Kepolisian Negara Republik Indonesia, Kementerian Agraria dan Tata Ruang/ Badan Pertanahan Nasional, Komisi Pemberantasan Korupsi, Kementerian