DASAR BAHASA PEMROGRAMAN PASCAL STRUKTUR PROGRAM PASCAL Untuk mempelajari bahasa pemrograman pascal pertama kali yang harus kita pahami adalah struktur dasar pascal yaitu : PROGRAM
USES LABEL CONST TYPE VAR BEGIN END.
Struktur program diatas merupakan struktur lengkap dari program pascal. Dalam prakteknya tidak semua struktur dalam pascal dipergunakan, hanya yang benar-benar dibutuhkan saja yang dipergunakan. Deklarasi Kepala Program Kepala progam merupakan nama dari program yang akan dibuat. Deklarasi ini bersifat opsional, sehingga jika kepala program tidak dideklarasikan tidak akan memperngaruhi progam. Bentuk deklarasi kepala program : PROGRAM merupakan nama yang diberikan untuk program yang akan dibuat.
Contoh : PROGRAM Luas_lingkaran;
Pemakaian Unit Unit adalah pustaka yang terdiri dari prosedur dan fungsi, yang dapat dicompile terpisah dari program Turbo Pascal. Keuntungan pemakaian unit adalah program akan dikompilasi lebih cepat karena bagian dari unit sudah dikompilasi tersendiri. Unit yang tersedia dalam pascal antara lain : System Crt Dos Graph Printer
Berisi fungsi dan prosedur standar pascal Digunakan untuk desain layar Berisi fungsi untuk mengkases sistem, sepeti jam sistem Berisi fasilitas untuk membuat grafik Berisi fasilitas untuk mengatur cetakan ke printer
Deklarasi Label Label digunakan sebagai identitas didalam program berkaitan dengan adanya pertintah goto yaitu perintah yang mengistruksikan untuk meloncat ke pernyataan yang diawali dengan . Bentuk deklarasi label : LABEL ,,...,
Contoh program : { Contoh program yang mengandung label dan goto } program LabelDanGoto; uses crt; {Memanggil unit crt} {Deklarasi label} label tengah, akhir, selesai; {program utama} begin clrscr; {hapus layar} writeln('Teks ini diawal program');writeln; goto akhir; writeln('Saya ngak pernah tampil dilayar'); writeln; tengah: writeln('Teks ini ditengah program'); writeln('Kalau saya tampil dilayar'); writeln; goto selesai; akhir : writeln('Teks ini diakhir program'); writeln('Lompat ketengah dulu ya...'); writeln; goto tengah; selesai : readln; end.
Untuk menjalankan program diatas dapat anda dugunakan tombol Ctrl+F9. Deklarasi Const Deklarasi const (konstanta) digunakan untuk mendefinisikan pengenal yang mempunyai nilai tetap (konstan). Nilai pengenal pada konstanta yang telah didefinisikan tidak dapat diubah didalam bagian pernyataan. Bentuk deklarasi const : CONST
= ; ... = ;
Contoh program : { Program menghitung keliling lingkaran } uses crt;
{memanggil unit crt}
{Deklarasi konstanta} const phi = 3.14; {Deklarasi variabel} var jari2 : integer; kel : real; begin {Prorgam utama} clrscr; {Hapus layar} write('Jari-jari : '); readln(jari2); kel := 2 * phi * jari2; writeln('Keliling lingkaran : ',kel:7:2); readln; end.
Deklarasi Type Deklarasi ini digunakan untuk menciptakan tipe khusus yang nanti akan digunakan untuk menentukan tipe variabel dalam deklarasi VAR. Tipe yang dapat diciptakan dalam deklarasi type adalah tipe-tipe dalam pascal misalanya real, integer, byte, char, boolean, string, array, record, pointer dan sebagainya. Bentuk deklarasi type : TYPE = ; ... = ;
Contoh : TYPE Bulat = integer;
Menyatakan bahawa tipe Bulat merupakan tipe baru yang identik dengan tipe integer. Deklarasi Var Deklarasi var digunakan untuk mendeklarasikan selurh variabel yang akan digunakan dalam program. Deklarasi variabel adalah deklarasi yang mengalokasi tempat dalam memori dengan nama tertentu dan hanya bisa menampung nilai data dengan tipe tertentu sesuai dengan yang sudah dideklarasikan.
Bentuk deklarasi var : VAR = ; ... = ;
Contoh : TYPE Bulat = integer; VAR nama, alamat : string; umur, jumlah : bulat;
Contoh diatas terdapat dua variabel yaitu nama dan alamat yang bertipe string , sedangkan umur dan jumlah bertipe bulat (yaitu identik dengan tipe integer yang sudah dideklarasikan dalam deklarasi type). Contoh program : { Program memasukkan biodata } uses crt; {memanggil unit crt} {Deklarasi tipe buatan sendiri} type bulat = integer; {Deklarasi variabel} var nama, alamat : string; umur, jumlah : bulat; begin clrscr; writeln('Masukkan Datanya'); Writeln('----------------'); write('Nama : '); readln(nama); write('Alamat : '); readln(alamat); write('Umur : '); readln(umur); write('Jumlah anak : '); readln(jumlah); clrscr; writeln('Data Yang Anda Masukkan'); Writeln('======================='); writeln('Nama : ',nama); writeln('Alamat : ',alamat); writeln('Umur : ',umur); writeln('Jumlah anak : ',jumlah); readln; end.
Deklarasi Prosedur dan Fungsi Khusus untuk bagian deklarasi prosedur dan fungsi akan dibahas pada bab tersendiri.
Bagian Pernyataan Pada bagian pernyataan selalu diawali dengan Begin dan diakhiri dengan End. Pada akhir subprorgam End selalu diakhiri dengan titik koma (;) sedangkan End pada program utama selalu diakhiri dengan titik (.). Prorgam terpendek dalam Turbo Pascal hanya terdiri dari Begin dan End. saja. Komentar Program Komentar digunakan untuk menjelaskan suatu prorgam berkaitan dengan dokumentasi program. Dalam Pascal komentar ada dua macam yaitu : a. Diawali dengan (* dan diakhiri dengan *). b. Diawali dengan { dan diakhiri dengan }. Pada contoh-contoh prorgam diatas sudah banyak contoh penggunaan simbol komentar dalam program. Pernyataan Input-Output Dalam Pascal untuk melakukan input-output digunakan prosedur standar write, writeln, read dan readln. Read dan Readln Read dan Readln Berfungsi untuk menerima input dari keyboard dan menampungnya dalam variabel. Bentuk : READ(nama_variabel); READLN(nama_variabel); nama_variabel digunakan untuk menampung data yang dimasukkan dari keyboard. Perbedaan
antara read dan readln adalah : Read Jika input data kelebihan maka data akan masuk ke variabel pada read selanjutnya. Readln jika input data kelebihan maka diabaikan. Write dan Writeln Write dan Writeln berfungsi untuk menampilkan nilai variabel, suatu konstanta, suatu fungsi dan suaru hasil ungkapan pada layar. Bentuk : WRITE(nilai_data); WRITELN(nilai_data);
Perbedaan antara write dan writeln adalah : Write Setelah menampilkan nilai data maka kursor ada berada disebelah kanan dari nilai data tersebut. Writeln Setelah menampilkan nilai data maka kursor akan berganti dibaris bawahnya dari nilai data tersebut. Mengatur Format Keluaran Dalam Pascal disediakan fasilitas yang dapat digunakan untuk mengatur format keluaran dari nilai data sesuai dengan yang kita inginkan.
Tipe Char Bentuk : Ch : n
Karakter ch akan menempati medan data sebesar n secara rata kanan. Tipe String Bentuk : s : n
String s akan menempati medan data sebesar n secara rata kanan. Tipe Integer Bentuk : i : n
Bilangan i akan menempati medan data sebesar n secara rata kanan. Tipe Boolean Bentuk : b : n
Nilai boolean b (True atau False) akan menempati medan data sebesar n secara rata kanan. Tipe Real Bentuk : r : n : m
Nilai r akan menempati medan data sebesar n dengan banyak pecahan sebanyak m. Contoh program : { Contoh program yang mengandung format tampilan } uses crt; {memanggil unit crt} begin clrscr; writeln('STMIK EL RAHMA':20); writeln('STMIK EL RAHMA'); writeln(FALSE:10); writeln(12345:10); writeln(12345:4); writeln(1234.567); writeln(1234.567:2:2); writeln(1234.567:10:2); writeln(1234.567:0:0); readln; end.
Hasil eksekusi : STMIK EL RAHMA STMIK EL RAHMA FALSE 12345 12345 1.2345670000E+03 1234.57 1235
TIPE DATA DALAM PASCAL Tipe Bilangan Bulat Dalam Pascal terdapat lima macam tipe bilangan bulat yaitu shortint, integer, longint, byte dan word. Masing-masing tipe data tersebut dibedakan oleh jangkauan nilai yang dapat ditampungnya. Tipe Shortint Integer Longint Byte Word
Kawasan -128 .. 127 -32768 .. 32767 -2147483638 .. 2.147.483.647 0 .. 255 0 .. 65535
Ukuran memori 1 byte 2 byte 4 byte 1 byte 2 byte
Dalam penggunaan tipe data dalam program harus diperhitungkan besar nilai data yang akan disimpan untuk menentukan tipe data yang akan digunakan. Tipe Boolean Tipe boolean adalah tipe data yang nilai datanya berupa TRUE (benar) dan FALSE (salah) saja. Fungsi tipe data ini biasanya untuk menampung hasil pengujian logika. Tipe Char Tipe Char adalah tipe data yang hanya dapat menampung sebuah karakter saja. Untuk menyatakan konstanta dalam tipe char, karakter ditulis dalam tanda petik tunggal. Contoh : ’a’ karatker a ’b’ karakter b ’3’ karakter 3 Tipe String Tipe string adalah tipe data yang dapat menampung data berupa kumpulan karatker, angka dan simbol lainnya. Untuk menyatakan konstanta dalam tipe string, data harus diapit dalam tanda petik tunggal. Contoh : ’STMIK EL RAHMA’ String STMIK EL RAHMA ’Jl. Wates Km 9’
String Jl.Wates Km 9
Tipe Pecahan Dalam Pascal terdapat lima buah tipe data pecahan yaitu real, single, double, extended, dan comp. Tipe Real Single Double Extended Comp
Kawasan ± 2.9 x 10-39 .. 1.7 x 10^38 ± 1.5 x 10-45 .. 3.4 x 10^38 ± 5.0 x 10-324 .. 1.7 x 10308 ± 5.0 x 10-4951 .. 1.1 x 10^4932 - 9.2 x 1018 .. 1.1 x 1018
Ukuran memori 6 byte 4 byte 8 byte 10 byte 8 byte
Konstanta bilangan pecahan dalam Pascal menggunakan tanda titik bukan koma.
OPERATOR DALAM PASCAL Dalam Pascal terdapat beberapa operator yaitu : Operator Aritmatika Dalam operator aritmatika ada yang bersifat unary dan binary. Operator unary adalah operator yang hanya membutuhkan sebuah operand saja, sedangkan operator binary adalh operator yang membutuhkan dua buah operand. Operator + * / div mod + -
Operasi Penjumlahan Pengurangan Perkalian Pembagian Pembagian bulat Sisa pembagian bulat Tanda plus Tanda minus
Sifat binary binary binary binary binary binary unary unary
Contoh program : { contoh program penggunaan operator aritmatika } uses crt; {memanggil unit crt} var a,b,c : integer; d : real; begin clrscr; a := 28; b := 5; writeln('Nila awal writeln; c := a + b; writeln('a + b = c := a - b; writeln('a - b = c := a * b; writeln('a * b = d := a / b; writeln('a / b = c := a mod b; writeln('a mod b = c := a div b; writeln('a div b = readln end.
a = 28, b = 5'); ',c:5);
{33}
',c:5);
{23}
',c:5);
{140}
',d:7:2);
{5.60}
',c:5);
{3}
',c:5);
{5}
Operator Boolean Operator boolean digunakan untuk menghubungkan dua buah operand kondisi menjadi sebuah kondisi. Dalam Pascal terdapat empat buah operator boolean yaitu AND, OR, XOR dan NOT. Operator AND
Jenis Operator binary
OR
binary
XOR
binary
NOT
unary
Sifat operasi Akan bernilai False jika salah satu operand bernilai False Akan bernilai True jika salah satu operand bernilai True Akan bernilai True jika hanya salah satu operand bernilai True Akan bernilai True jika operand bernilai False dan akan bernilai False jika operand bernilai True
Contoh program : { contoh program penggunaan operator boolean } uses crt; {memanggil unit crt} begin clrscr; writeln('Operand1 Operand2 AND OR XOR'); writeln('-------------------------------------'); write('FALSE FALSE'); write(' ',FALSE AND FALSE); write(' ',FALSE OR FALSE); writeln(' ',FALSE XOR FALSE); write('FALSE TRUE'); write(' ',FALSE AND TRUE); write(' ',FALSE OR TRUE); writeln(' ',FALSE XOR TRUE); write('TRUE FALSE'); write(' ',TRUE AND FALSE); write(' ',TRUE OR FALSE); writeln(' ',TRUE XOR FALSE); write('TRUE TRUE'); write(' ',TRUE AND TRUE); write(' ',TRUE OR TRUE); writeln(' ',TRUE XOR TRUE); readln; end.
Operator Relasi Operator relasi digunakan untuk membangdingkan dua buah operand yang hasilnya berupa benar (True) atau salah (False). Operator relasi yang dikenal dalam Pascal adalah : Operator = <> > < >= <=
Keterangan Sama dengan Tidak sama dengan Lebih besar Lebih kecil Lebih besar atau sama dengan Lebih kecil atau sama dengan
Contoh program : { contoh program penggunaan operator boolean } uses crt; {memanggil unit crt} var x,y : integer; begin clrscr; x := 12; y := 54; writeln('Operasi Hasil'); writeln('---------------------'); writeln(x,' = ',y,' ',x=y); writeln(x,' <> ',y,' ',x<>y); writeln(x,' > ',y,' ',x>y); writeln(x,' < ',y,' ',x= ',y,' ',x>=y); writeln(x,' <= ',y,' ',x<=y); readln; end.
Prioritas opertor boolean dan relasi : Prioritas tertinggi Prioritas terndah
NOT AND OR XOR = < > <=
>=
<>
Pernyataan GotoXY Pernyataan GotoXY berfungsi untuk menempatkan kursor pada posisi kolom X, baris Y. Contoh program : { contoh program GotoXY } uses crt; {memanggil unit crt} begin clrscr; gotoxy(5,3);write('Teks mulai kolom 5 baris 3'); gotoxy(8,5);write('Teks mulai kolom 8 baris 5'); readln; end.
PERNYATAAN DASAR DALAM PASCAL BLOK PERNYATAAN Blok pernyataan merupakan sekumpulan baris program yang berada di dalam begin dan end. Contoh : begin x := 10; x := x + 1; end;
Struktur Urut Pada struktur ini baris program akan dikerjakan secara urut dari atas kebawah sesuai dengan penulisannya. Algoritmik Pseudocode Luas_Pesegi_panjang // Diketahui sebuah pesegi panjang yang memiliki panjang // dan lebar //DEKLARASI int panjang, lebar, luas //DESKRIPSI { read(panjang) read(lebar) luas = panjang * lebar write(luas) } { contoh program menghitung luas pesegi panjang } uses crt; {memanggil unit crt} var panjang, lebar, luas : integer; begin clrscr; write('Masukkan panjang : '); readln(panjang); write('Masukkan lebar : '); readln(lebar); luas := panjang * lebar; writeln('Luasnya : ',luas); readln; end.
Algoritmik Pseudocode Isi_Tabung // Diketahui sebuah tabung yang diketahui jari-jari
// tabung dan tinggi tabung //DEKLARASI int jari_jari, tinggi float luas_lingk, isi_tabung //DESKRIPSI { read(jari_jari) read(tinggi) luas_lingk = 2 * 3.14 * jari_jari * jari_jari isi_tabung = luas_lingk * tinggi write(isi_tabung) } { contoh program menghitung isi tabung } uses crt; {memanggil unit crt} var jari_jari, tinggi : integer; luas_lingk, isi_tabung : real; begin clrscr; write('Masukkan jari-jari tabung : '); readln(jari_jari); write('Masukkan tinggi tabung : '); readln(tinggi); luas_lingk := 3.14 * jari_jari * jari_jari; isi_tabung := luas_lingk * tinggi; writeln('Isi tabung : ',isi_tabung:7:2); readln; end.
Pernyataan Penyeleksian Kondisi Pernyataan if Pernyataan if digunakan untuk mengambil keputusan berdasarkan kondisi yang diuji. Bentuk if dalam pascal terdiri dari 3 bentuk yaitu : 1. Pernyataan if sederhana Pada bentuk ini pernyataan if hanya memiliki satu kemungkingan pernyataan yang akan dikerjakan jika kondisi yang diuji bernilai benar. Bentuk pernyataan if sederhana : if then pernyataan;
digunakan untuk menentukan hasil pengujian, jika bernilai benar (true) maka pernyataan akan dikerjakan, jika bernilai salah (false) maka tidak ada pernyataan yang dikerjakan. Algoritmik Pseudocode Kelulusan_Siswa // Seorang siswa dikatakan lulus jika nilainya >= 60 //DEKLARASI
int nilai_siswa //DESKRIPSI { read(nilai_siswa) if (nilai_siswa >= 60) write(‘Siswa tersebut lulus’) }
{ contoh program yang mengandung pernyataan if sederhana } uses crt; {memanggil unit crt} var nilai_siswa : integer; begin clrscr; write('Masukkan nilai : '); readln(nilai_siswa); if nilai_siswa >= 60 then writeln('Siswa tersebut lulus'); readln; end.
2. Pernyataan if ... then ... else Pada bentuk ini pernyataan if memiliki dua kemungkinan pernyataan yang akan dikerjakan berdasarkan hasil pengujian kondisi. Bentuk pernyataan if ... then ... else if then pernyataan1; else pernyataan2;
digunakan untuk menentukan hasil pengujian, jika bernilai benar (true) maka pernyataan1 akan dikerjakan, jika bernilai salah (false) maka pernyataan2 yang dikerjakan. Algoritmik Pseudocode Kelulusan_Siswa // Seorang siswa dikatakan lulus jika nilainya >= 60 // jika < 60 maka siswa tidak lulus //DEKLARASI int nilai_siswa //DESKRIPSI { read(nilai_siswa) if (nilai_siswa >= 60) write(‘Siswa tersebut lulus’) else write(‘Siswa tersebut tidak lulus’)
}
{ contoh program yang mengandung pernyataan if..else } uses crt; {memanggil unit crt} var nilai_siswa : integer; begin clrscr; write('Masukkan nilai : '); readln(nilai_siswa); if nilai_siswa >= 60 then writeln('Siswa tersebut lulus') else writeln('Siswa tersebut tidak lulus'); readln; end.
Algoritmik Pseudocode Pembayaran_Gaji // Akan dihitung gaji yang diterima pegawai berdasarkan jumlah hari // kerja dan jumlah jam lembur dengan tarif tertentu //DEKLARASI char nama[20] int jhr_kerja int jjam_lembur float upah float uang_lembur float trans_lembur float gaji //DESKRIPSI { read(nama) read(jhr_kerja) read(jjam_lembur) upah = jhr_kerja * 30000 uang_lembur = jjam_lembur * 5000 if (jjam_lembur >= 10) trans_lembur = 0.1 * uang_lembur else trans_lembur = 0 gaji = upah + uang_lembur + trans_lembur write(upah) write(uang_lembur) write(trans_lembur) write(gaji) }
{ contoh program penghitungan pembayaran gaji } uses crt; {memanggil unit crt}
const bonus = 0.1; var nama : string; jhr_kerja : integer; jjam_lembur : integer; upah : longint; uang_lembur : longint; trans_lembur : real; gaji : real; begin clrscr; upah := 0;uang_lembur:=0; write('Masukkan nama : '); readln(nama); write('Masukkan jml hari kerja : '); readln(jhr_kerja); write('Masukkan jml jam lembur : '); readln(jjam_lembur); upah := jhr_kerja * 30000; uang_lembur := jjam_lembur * 5000; if jjam_lembur > 10 then trans_lembur := bonus * uang_lembur else trans_lembur := 0; gaji := upah + uang_lembur + trans_lembur; writeln('Jumlah upah writeln('Jumlah uang lembur writeln('Transpot lembur writeln(' writeln('Gaji yang diterima readln;
: ',upah:9); : ',uang_lembur:9); : ',trans_lembur:9:0); ---------- +'); : ',gaji:9:0);
end.
3. Pernyataan nested if (if bersarang) Pada bentuk ini pernyataan if memiliki banyak kemungkinan pernyataan dan memiliki banyak pengujian kondisi untuk mengerjakan pernyataan. Bentuk pernyataan if ... then ..... else ...... if then pernyataan1; else if then pernyataan2; else if then pernyataanM; else pernyataanN;
diuji, jika hasil pengujian bernilai benar maka pernyataan1 dikerjakan, jika hasil pengujian bernilai salah maka akan diuji , jika hasil pengujian bernilai benar maka pernyataan2 akan dikerjakan, jika hasil pengujian bernilai salah maka akan diuji, jika hasil pengujian bernilai benar maka akan dikerjakan, jika hasil pengujian bernilai salah maka akan mengerjakan yang merupakan alternatif terakhir jika semua kondisi yang diuji tidak terpenuhi. Algoritmik
Pseudocode Konfersi_Nilai // Diketahui nilai angka seorang siswa yang akan // dikonfersikan ke nilai huruf //DEKLARASI char nama[20] int nilai_angka char huruf //DESKRIPSI { read(nama) read(nilai_angka) if (nilai_angka >= 80) huruf = ‘A’ else if (nilai_angka >= 70) huruf = ‘B’ else if (nilai_angka >= 60) huruf = ‘C’ else if (nilai_angka >= 50) huruf = ‘D’ else huruf = ‘E’ write(nama) write(huruf) }
{ contoh program yang mengandung pernyataan nested if } uses crt; {memanggil unit crt} var nama : string; nilai_angka : integer; huruf : char; begin clrscr; write('Masukkan nama : '); readln(nama); write('Masukkan nilai angka : '); readln(nilai_angka); if nilai_angka >= 80 then huruf := 'A' else if nilai_angka >= 70 then huruf := 'B' else if nilai_angka >= 60 then huruf := 'C' else if nilai_angka >= 50 then huruf := 'D' else huruf := 'E'; writeln; writeln; writeln('Nama writeln('Nilainya readln; end.
: ',nama); : ',huruf);
4. Pernyataan case ... of Pernyataan case digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pilihan. Permilaihan pada pernyataan case berdasarkan nilai dari ungkapan dan nilai dari penyeleksi. Bentuk pernyataan case : case (ungkapan) of begin case ungkapan1 : pernyataan1; case ungkapan2 : pernyataan2; end; (ungkapan)dalam pernyataan case dapat berupa konstanta atau variabel, sedangkan ungkapan1, ungkapan2, dapat berupa konstanta bertipe int atau char. Proses pencocokan (ungkapan) dengan ungkapan1, ungkapan2 dilakukan berurutan mulai ungkapan1, ungkapan2 dan seterusnya. Jika
cocok maka pernyataan yang mengikuti case akan dikerjakan. Eksekusi akan berakhir jika ditemukan pernyataan break. Pernyataan default akan dikerjakan jika ungkapan dalam case tidak ada yang cocok dengan ungkapam dalam switch.
{ contoh penggunaan pernyataan case..of } uses crt; {memanggil unit crt} var pilih : char; rusuk, isi_kubus : integer; alas, tinggi : integer; luas_segi3 : real; begin clrscr; writeln('Menu Pilihan'); writeln('============'); writeln('1. Isi kubus'); writeln('2. Luas segitiga'); writeln('3. Selesai'); write('Pilihan anda [1..3] : '); readln(pilih); case pilih of '1' : Begin write('Panjang rusuk : '); readln(rusuk); isi_kubus := rusuk * rusuk * rusuk; writeln('Isi kubus : ',isi_kubus); end; '2' : begin write('Panjang alas segitiga : '); readln(alas); write('Tinggi segitiga : '); readln(tinggi); luas_segi3 := 0.5 * alas * tinggi; writeln('Luas segitiga : ',luas_segi3:7:2); end; '3' : begin
writeln('Terima kasih...'); readln; end; end; readln; end.
Pernyataan Pengulangan 1. Pernyataan for Pernyataan for berfungsi untuk mengulang satu atau beberapa pernyataan sebanyak syarat yang diberikan. Bentuk pernyataan for : for(ungkakapan1;ungkapan2;ungkapan3) pernyataan;
Keterangan : ungkakapan1 merupakan pernyataan inisialisasi awal dari perulangan for ungkakapan2 merupakan kondisi yang menentukan pengulangan terhadap pernyataan atau tidak ungkakapan2 digunakan sebagai pengatur variabel yang digunakan dalam ungkakapan1 Algoritmik
Pseudocode Cetak_Angka_For // Akan dicetak angka 1 sampai 10 dengan perulangan for //DEKLARASI int i //DESKRIPSI { for(i=1; i<=10; i++) { write(i) } }
{ contoh program perulangan for } uses crt; {memanggil unit crt} var i : integer; begin clrscr; for i := 1 to 10 do writeln('Isi i = ',i); readln; end.
Algoritmik
Pseudocode Cetak_bilangan_genap_for // Akan dicetak bilangan genap dengan batas akhir diinputkan //DEKLARASI int batas_akhir //DESKRIPSI { read(batas_akhir) for(i=1; i<=10; i++) { if( i%2 = 0) write(i) } }
Hasil eksekusi : Jumlah perulangan : 30 2 4 6 8 10 12 14
16
18
20
22
24
26
28
30
Pascal { Mencetak bilangan genap dengan perulangan for } uses crt; {memanggil unit crt} var i : integer; batas_akhir : integer; begin clrscr; write('Jumlah perulangan : '); readln(batas_akhir); for i := 1 to batas_akhir do if (i mod 2 = 0) then write(i,' '); readln; end.
for bersarang (Nested for) for bersarang merupakan pernyataan for yang berada dalam pernyataan for (for dalam for). Sebagai contoh misalkan akan dibentuk segitiga yang tersusun dari karakter * dengan for bersarang. * ** *** **** ***** Algoritmik Pseudocode Segitiga_Bintang // Dicetak karakter * yang membentuk bangun segitiga //DEKLARASI
int tinggi //DESKRIPSI { read(tinggi) for(i=1;i<=tinggi;i++) for(j=1;j<=i;j++) write(‘*’) endl }
Pascal { Contoh for bersarang } uses crt; {memanggil unit crt} var i,j,tinggi : integer; begin clrscr; write('Tinggi segitiga : '); readln(tinggi); for i := 1 to tinggi do begin for j := 1 to i do write('* '); writeln; end; readln; end.
2. Pernyataan while Pernyataan while berfungsi untuk mengulang satu atau beberapa pernyataan sebanyak syarat yang diberikan dengan cara syarat diuji terlebih dahulu baru mengerjakan pernyataan. Bentuk pernyataan while : while (ungkapan) pernyataan; pernyataan yang mengikuti while akan dikerjakan jika ungkapan yang diuji bernilai benar (sama dengan 1). Pada pernyataan while, ungkapan akan diuji terlebih dahulu sebelelum pernyataan dikerjakan, sehingga ada kemungkinan bagian pernyataan pada while tidak akan dikerjakan sama sekali jika ungkapan yang diuji bernilai salah (sama dengan nol).
Algoritmik Pseudocode Cetak_Angka_While // Akan dicetak angka 1 sampai 10 dengan perulangan while
//DEKLARASI int i //DESKRIPSI { i = 1 while(i<=10) { write(i) i++ } }
Pascal { Contoh program menggunakan while } uses crt; {memanggil unit crt} var i : integer; begin clrscr; i := 1; while (i <= 10) do begin writeln('Isi i = ',i); i := i + 1; end; readln; end.
Algoritmik Pseudocode Cetak_bilangan_genap_while // Akan dicetak bilangan genap dengan batas akhir diinputkan //DEKLARASI int batas_akhir //DESKRIPSI { read(batas_akhir) i = 1 for(i; i<=10; i++) { if( i%2 = 0) write(i) } }
Pascal { Mencetak bilangan genap menggunakan while
} uses crt; {memanggil unit crt} var i,batas_akhir : integer; begin clrscr; i := 1; write('Jumlah perulangan : '); readln(batas_akhir); while (i <= batas_akhir) do begin if (i mod 2 = 0) then write(i,' '); i := i + 1; end; readln; end.
3. Pernyataan do...while Pernyataan do...while berfungsi untuk mengulang satu atau beberapa pernyataan sebanyak syarat yang diberikan dengan cara syarat diuji setelah pernyataan dikerjakan. Bentuk pernyataan do...while : do pernyataan; while (ungkapan); pernyataan yang mengikuti do...while akan dikerjakan terlebih dahulu, setelah itu baru diuji ungkapan dalam while, jika ungkapan yang diuji bernilai benar (sama dengan 1) maka pernyataan
akan dikerjakan kembali, begitu seterusnya sampai ungkapan yang diuji bernilai salah (sama dengan nol). Algoritmik Pseudocode Cetak_Angka_do_While // Akan dicetak angka 1 sampai 10 dengan perulangan do…while //DEKLARASI int i //DESKRIPSI { i = 1 do { write(i) i++ } while(i<=10) }
Pascal { Contoh program perulangan dengan repeat...until } uses crt; {memanggil unit crt} var
i : integer; begin clrscr; i := 1; repeat writeln('Isi i = ',i); i := i + 1; until(i > 10); readln; end.
Algoritmik Pseudocode Cetak_bilangan_genap_do_while // Akan dicetak bilangan genap dengan batas akhir // diinputkan //DEKLARASI int batas_akhir //DESKRIPSI { read(batas_akhir) i = 1 do { if( i%2 = 0) write(i) } while ( i <= batas_akhir) }
Pascal { Mencetak bilangan genap menggunakan repeat...until } uses crt; {memanggil unit crt} var i,batas_akhir : integer; begin clrscr; i := 1; write('Jumlah perulangan : '); readln(batas_akhir); repeat if (i mod 2 = 0) then write(i,' '); i := i + 1; until(i > batas_akhir); readln; end.
Latihan Pengulangan : 1. Buatlah pseudocode dan program untuk mencari rata-rata dari sejumlah angka yang diinputkan dengan menggunakan pengulangan. 2. Buatlah pseudocode dan program untuk mencari angka terbesar dan angka terkecil dari sejumlah angka yang diinputkan dengan menggunakan pengulangan. 3. Buatlah pseudocode dan program untuk mencetak angka 1 sampai 1000 dengan menggunakan perulangan. Angka dicetak per 10 kolom dan 10 baris, pada baris pertama jika angka sudah dicetak 10 kolom maka dilakukan pergantian baris, jika sudah 10 baris maka ditampilkan pesan “Tekan enter untuk melanjutkan”. Begitu seterusnya sampai angka ke 1000. 1 2 3 11 12 13 21 22 23 31 32 33 41 42 43 51 52 53 61 62 63 71 72 73 81 82 83 91 92 93 Tekan enter untuk
4 5 6 14 15 16 24 25 26 34 35 36 44 45 46 54 55 56 64 65 66 74 75 76 84 85 86 94 95 96 melanjutkan...
7 17 27 37 47 57 67 77 87 97
8 18 28 38 48 58 68 78 88 98
9 19 29 39 49 59 69 79 89 99
10 20 30 40 50 60 70 80 90 100
4. Buatlah pseudocode dan program untuk menghitung total pembayaran pembelian. Input berupa nama pembeli, dan data barang dengan jumlah barang yang dibeli berupa input nama barang, jumlah dan harga barang. Barang yang dibeli jumlahnya bisa banyak tergantung pembelian dari konsumen.