You are on page 1of 10

BAB 1 PENGULANGAN (LOOPING)

Looping adalah proses pengulangan hingga kondisi syarat yang ditentukan tercapai. Ada 3 jenis looping, yaitu for, while dan repeat. A. LOOPING DENGAN FOR Contoh program : 1: 2: 3: 4: 5: 6: Program ulang_for; var i: Integer; Begin For i:=1 to 5 do writeln('ini yang ke ', i); End.

Perhatikan pada baris 4 dan 5. Pada baris tersebut ada satu persyaratan yaitu baris ke 5 akan dieksekusi bila nilai I antara 1 sampai 5, sehingga jika program di Run hasilnya adalah sebagai berikut : ini ini ini ini ini yang yang yang yang yang ke ke ke ke ke 1 2 3 4 5

Apabila pernyataan for seperti berikut ini : "For i:=10 downto 1 do". Pernyataan itu akan menghitung mundur dari 10 sampai 1.

B. LOOPING DENGAN WHILE Contoh program : 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Program ULANG_while; var i: Integer; Begin i:=1; while i < 5 do begin writeln('ini yang ke ', i); i:=i+1; end; End.

Apa perbedaan mendasar while dengan for? di while dibutuhkan counter (diprogram ini adalah i). Jadi, baris ke-7 dan 8 akan dieksekusi (dijalankan) apabila nilai i < 5. Coba perhatikan baris ke 6, di sana ada "begin" dan "end;" sebagai pasangannya (dibaris ke 9). Bila ada lebih dari satu pernyataan harus di mulai dengan begin untuk kondisi if, case, looping. Jika tidak hanya baris pertama saja yang dieksekusi. Jika program tersebut di eksekusi maka bagaimanakah outputnya ? Berikut adalah outputnya : ini ini ini ini yang yang yang yang ke ke ke ke 1 2 3 4

Dari listing program diatas apabila baris ke 8 diganti dengan "i:=i-1;" apa yang terjadi? Coba jalankan. Hasilnya aadalah akan terjadi looping terus menerus karena kondisinya memenuhi syarat terus (i selalu kurang dari lima). Tekan control break untuk menghentikannya. Hal inilah yang disebut invinitive loop.

C. LOOPING DENGAN REPEAT Contoh program : 1: Program Tutorial3_while; 2: var I: INTEGER; 3: Begin 4: i:=1; 5: repeat 6: writeln('ini yang ke ',i); 7: i:=i+1; 8: until i>3; 9: READLN; 10: End. Apa outputnya? Hasilnya hanya satu ( 1) yaitu, "ini yang ke 1". Hal ini disebabkan karena pada baris ke 8 tidak memenuhi persyaratan i<0. Memang tidak memenuhi persyaratan itu, tapi ini adalah keistemewaan repeat. Ia akan mengeksekusi sekali dulu baru dicek persyaratan yang ada dibawah. Gunakan jenis looping yang ada sesuai kebutuhan. LATIHAN SOAL 1. Buat program untuk menampilkan angka 1,2,3,4,5,6,7,8,9,10 JAWAB :

program p; uses crt; var i:integer; begin clrscr; for i:=1 to 10 do write(i:5); readln; end.
2. Buat program untuk menampilkan angka 10,9,8,7,,1

JAWAB : Program p; Uses crt; Var i:integer; Begin Clrscr; For i:=10 downto 1 do Write(i:5); Readln; End.
3. Buat program untuk menampilkan deret angka berikut : 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50

4.00 4.50 5.00 JAWAB :

Program p; Uses crt; Var x:real; Begin Clrscr; X:=0; While x<=5 do Begin Writeln(x:8:2); x:=x+0.5; end; readln; end.
4. Buat program untuk menampilkan table berikut ini DAFTAR HARGA MINYAK LITER ------JAWAB : HARGA -------

Program p; Uses crt; Const harga = 1500; Var i:real; Begin Clrscr; i:=1; Writeln(DAFTAR HARGA MINYAK); WRITELN(-------------------); Writeln(!liter ! harga !); While i<=10 do Begin Writeln(!,i:5:0,!,i*harga:8:2,!); i:=i+1; End; WRITELN(-------------------); Readln; End.
5. Buat program untuk menampilkan tulisan SMA NEGERI 1 SURAKARTA 10 kali JAWAB :

Program p; Uses crt; Var x:integer; Begin Clrscr;

X:=0; Repeat X:=x+1; Writeln(SMA NEGERI 1 SURAKARTA); Until x>=10 Readln; End.
6. Buat program untuk menampilkan perkalian 10 angka

Program p; Uses crt; Var X,y,z:integer; Begin Clrscr; For x:=1 to 10 do Begin For y:=1 to 10 do Begin Z:=x*y; Writeln(x:4,x,y:4,=,z:4); End; End; Readln; End.
SOAL PRAKTEK 1 1. Buat program untuk menampilkan deret angka sbb : 1 4 9 16 25 36 49 64 2. Buat program untuk menampilkan deret angka sbb : 0.00 0.25 0.50 0.75 1.00 1.25 1.50 3. Buat program untuk menampilkan deret angka sbb : 1 2 4 8 16 32 64 128 4. Buat program sehingga menampilkan hasil sbb : TABEL HARGA FOTOCOPY LEMBAR 1 2 3 4 HARGA 100 200 300 Dst.s/d 15 lembar

5. Buat program sehingga menampilkan hasil sbb : TABEL HUBUNGAN JARAK DAN WAKTU WAKTU 0 1 2 3 4 RUMUS : Jarak (s) = Vo*t+0.5*a*t*t Vo=50 Percepatan (a)=5 Hitung s pada saat t ! JARAK ..... . . . Dst ..s/d waktu =20

SOAL PRAKTEK 2 1. Buat program untuk menentukan nilai akhir bidang studi TIK dengan ketentuan sebagai berikut : Nilai akhir mata pelajaran TIK ditentukan oleh rata-rata Nilai ulangan harian + rata rata nilai tugas + nilai MID + nilai semester Ulangan harian dilaksanakan 3 kali, Tugas diberikan 4 kali MID dan Semester masing masing 1 kali. Hitung Nilai Akhirnya (dengan menggunakan looping) 2. Buat program untuk menampilkan table suhu dalam Celcius, dan Fahrenheit. RUMUS : FAHRENHEIT = 1.8*CELCIUS +32 OUTPUT : TABEL KONVERSI SUHU CELCIUS 0.00 0.50 ..DST FAHRENHEIT 32.00 32.90

5.00

41.00

3. Buat program LAPORAN RUGI LABA KETENTUAN : Biaya tetap = 25000 Biaya Berubah per Unit = 5000 Harga Jual per pasang = 10000 Laba rugi = Harga Jual X jumlah produksi (Biaya Tetap+Biaya berubah X jumlah produksi) Jika Labarugi <0 maka perusahaan RUGI Jika Labarugi = 0 maka perusahaan IMPAS Jika Labarugi >0 maka perusahaan LABA OUTPUT : LAPORAN RUGI LABA PT. UNTUNG SELALU Jumlah produksi 1 2 3 Dst.. 10 Laba Rugi . Keterangan RUGI

4. Buat program untuk membuat table sinus dan cosines TABEL SUDUT Sudut 0 30 60 90 270 Sinus ? Cosinus ?

RUMUS 1. UBAH DULU SUDUT DALAM DERAJAT KE RADIAN 2. RADIAN = BESAR SUDUT/180*pi 3. Nilai Sinus = SIN(RADIAN) 4. Nilai Cosinus = COS(RADIAN) 5. Buat program untuk membuat table logaritma TABEL LOGARITMA BILANGAN 10 20 30 40 Dst.. 100 RUMUS : LOG BIL=Ln(BILANGAN)/Ln(10) LOGARITMA 1.0000 1.3010

BAB 2 OPERASI STRING


A. MERANGKAI STRING Operator yang digunakan pada string adalah + Panjang maksimum suatu string pada Pascal adalah 255 karakter. Contoh program : Program p; Uses crt; Const Jenis = Bahasa; Nama = Turbo Pascal; Var Sifat : string[10]; Kalimat : string[80]; Begin Sifat:=terstruktur; Kalimat := jenis+ +nama+ +merupakan+ +sifat; Writeln(kalimat); Readln; End.

B. PROSEDUR STANDAR UNTUK OPERASI STRING B.1. DELETE Contoh program :

Program p; Uses crt; Var Bahasa : string[12];

Urutan, posisi : integer; Begin Bahasa:=TURBO PASCAL; FOR URUTAN :=1 TO 12 DO Begin Posisi:=14 urutan; Delete(bahasa,posisi,1); Writeln(bahasa); End; Readln; End.
Output program tersebut : TURBO PASCAL TURBO PASCA TURBO PASC TURBO PAS TURBO PA TURBO P TURBO TURBO TURB TUR TU T B.2. INSERT Untuk menyisipkan string dalam string. Contoh Program :

Program p; Uses crt; Var nama : string; Begin Nama :=SMA 1 SURAKARTA; WRITELN(nama); INSERT(NEGERI ,NAMA,5); WRITELN(nama); Readln; End.

Running Program tersebut :

SMA 1 SURAKARTA SMA NEGERI 1 SURAKARTA


B.3. STR Bentuk Umum : Str(x[:width[:decimals]var s:string]); Prosedur Standar ini digunakan untuk merubah nilai numeric (ditunjukkan oleh nilai x) menjadi nilai string (ditunjukkan oleh pengenal variable string s). Nilai x dapat berupa nilai numeric integer maupun nilai numeric real. Contoh program

Program p; Uses crt; Var Nilai1,nilai2:integer; X1,x2:string[5]; Begin Nilai1:=1234; Nilai2:=567; Writeln(nilai1+nilai2); Str(nilai1:4:x1); Str(nilai2:4:x2); Writeln(x1+x2); Readln; End. Running program tersebut adalah. 1801 1234 567
B.4. VAL Bentuk umum prosedur VAL : VAL(s:string;V;;var code); Prosedur ini digunakan untuk mengkonversi suatu nilai string (ditunjukkan oleh s) menjadi numeric (yang ditunjukkan oleh V) Contoh program :

Program p; Uses crt; Var nilaistring : string[6]; Nilaireal : real; Posisi salah : integer; Begin Clrscr; Nilaistring:=123.45; Val(nilaistring,nilaireal,posisisalah); Writeln(Nilai String = ,Nilaistring); Writeln(Nilai Real = ,nilaireal); Writeln(Posisi Salah = ,posisisalah); Readln; End. Apabila program ini dijalankan : Nilai String = 123.45 Nilai Real = 1.2345000000E+02 Posisi salah = 0
C. FUNGSI STANDAR UNTUK OPERASI STRING C.1. COPY Bentuk umum : Copy(s:string;index:integer,count:string):string; Fungsi copy adalah untuk menyalin sejumlah karakter mulai dari posisi yang ditunjukkan oleh nilai integer index dari nilai string yang ditunjukkan oleh s. Contoh program :

Program p;

Uses crt; Var karakter:string; Begin Uses crt; Karakter:=ABCDEFGHIJKLMNO; WRITELN(Karakter); Writeln(copy(karakter,5,3)); Writeln(copy(karakter,3,10)); Readln; End. Running Program tersebut adalah.. ABCDEFGHIJKLMNO EFG CDEFGHIJKL
C.2. CONCAT Bentuk Umum : Concat(s1[,s2,,sn]:string):string; Fungsi concat adalah sama dengan operator + yaitu merangkai beberapa nilai string yang ditunjukkan oleh nilai string S1,S2 dst Contoh program :

Program p; Uses crt; Const nama1 = SMA; Nama2=SURAKARTA; BEGIN Clrscr; Writeln(concat(nama, NEGERI 1 ,nama2)); Readln; End. Running Program tersebut. SMA NEGERI 1 SURAKARTA
C.3. POS Bentuk umum POS : Pos(substr:string;s:string):byte; Fungsi ini digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh substr) yang ada didalam nilai string yang lain (ditunjukkan oleh s). Nilai yang dihasilkan adalah berupa nilai byte yang menunjukkan letaknya. Bila bernilai nol maka string yang ditunjukkan tidak ada. Contoh program :

Program p; Uses crt; Const Alpa Tek1 Tek2 Tek3 Tek4

= = = = =

ABCDEFGHIJKLMNOPQRSTUVWXYZ; FGHI; F; JUGA; DCB;

Tek5 = PQRST; Begin Clrscr; Writeln(alpa); Writeln(tek1,ada di Writeln(tek2,ada di Writeln(tek3,ada di Writeln(tek4,ada di Writeln(tek5,ada di Readln; END.

posisi posisi posisi posisi posisi

ke ke ke ke ke

,Pos(tek1,alpa)); ,Pos(tek2,alpa)); ,Pos(tek3,alpa)); ,Pos(tek4,alpa)); ,Pos(tek5,alpa));

Running Program diatas adalah. ABCDEFGHIJKLMNOPQRSTUVWXYZ FGHI ada di posisi ke 6 F ada di posisi ke 6 JUGA ada di posisi ke 0 DCB ada di posisi ke 0 PQRST ada di posisi ke 16

C.4. LENGTH Bentuk Umum : Length(s:string):integer; Fungsi length digunakan untuk menghitung panjang atau jumlah karakter yang ada di nilai string yang ditunjukkan oleh s. Contoh program : Program P; Uses crt; Var Nama : string; Begin Clrscr; Begin Write( Nama Anda =); Readln(nama); Writeln(Panjang nama anda = ,length(nama), karakter); Readln; End. Running Program tersebut adalah. Nama Anda = SUSANA Panjang nama anda =6 karakter

You might also like