Modul 4 - Belajar Pascal Pemula



Modul 4


Hallo, ketemu lagi, pada pertemuan ini kita akan membahas tentang Looping.

Apa itu Looping

Secara  sederhana  looping  diartikan  sebagai  proses  berulang  terhadap  statement maupun serangkaian statement lebih dari satu kali.

Aduh,  kurang  jelas, dapatkah  anda memberikan  contoh  pemakaian  looping  dari program yang pernah kita buat sebelumnya ?
He-he-he, mungkin anda sudah lupa dengan program Hangman yang pernah kita buat pada pertemuan kedua, disana komputer secara berulang menanyakan huruf tebakan kita sebanyak 10 kali kesempatan, dalam hal ini kita telah menggunakan looping.

Ok,  sekarang  saya  sudah  punya  gambaran.  Apakah  hal  tersebut  tidak  dapat dilakukan tanpa looping ?
Tentu saja bisa, tetapi akibatnya program kita menjadi panjang dan tidak efisien, coba bayangkan misalnya anda ingin mencetak tulisan PentaCOM sebanyak 10 baris di layar, bisa saja anda menggunakan perintah Writeln('PentaCOM'); sebanyak 10 kali.
Bukankah   lebih   baik   kita   memerintahkan   komputer   untuk   secara   berulang menjalankan perintah Writeln('PentaCOM'); sebanyak 10 kali.

Benar juga ya, tetapi bagaimana struktur perintah perulangan pada pascal ?

Salah  satu  struktur  perintah  perulangan  pada  pascal  adalah  yang  menggunakan counter.

For variabel := nilai awal To nilai akhir Do Statement;

Atau

For variabel := nilai awal DownTo nilai akhir Do Statement;

Dimana variabel harus ordinal type

Contoh :

Var I : Integer; Begin
For I := 1 To 10 Do Writeln('PentaCOM'); End.

Tapi tadi saya lihat yang satu pakai To dan yang satu lagi pakai DownTo, apa sih bedanya ?
Kita menggunakan To kalau nilai awal < nilai akhir, dan sebaliknya pakai DownTo
17









Contoh :

Var I : Integer; Begin
For I := 10 DownTo 1 Do Writeln('PentaCOM');
End.

Apa maksudnya variabel counter harus ordinal type ?

Maksudnya variabel counter harus berupa salah satu type seperti Byte, Shortint, Integer, Longint, Char, Boolean.

Misalnya Ch adalah Char, maka dapat dilakukan

For Ch := 'a' to 'z' Do Write(Ch,' ');

Dan bahkan misalnya Bo adalah boolean, dapat juga

For Bo :=false to true do writeln(Bo);

Adakah struktur perulangan lainnya pada bahasa pascal ?
Ya, ada lagi, yaitu yang melakukan perulangan yang menggunakan condition. While condition Do Statement;
Contoh :

I := 1;
While I <= 10 Do
Begin
Writeln('PentaCOM'); I := I + 1;
End;

Apakah  maksudnya  I := I + 1; saya belum pernah  melihat persamaan  seperti  ini secara matematika !

Ya, memang hal ini tidak mungkin ada secara matematika, tetapi pada dunia pemrograman   artiny menaika nila variabe  sebesa 1 Supay tidak membingungkan pascal menyediakan suatu function Inc(variabel); sebagai penganti I:= I + 1;

Ok, sekarang saya sudah jelas dengan struktur looping pada bahasa pascal.
Tunggu dulu, masih ada satu struktur perulangan dengan condition, yaitu :

Repeat
Statement;
Until condition;

Contoh :
18









I := 1; Repeat
Writeln('PentaCOM');
Inc(I);
Until I <= 10;

Kalau    begitu    ya   sama   saj dengan    yang    While,    bukankah begitu ?
Tentu saja ada perbedaannya, coba perhatikan contoh berikut

I := 11;
While I <= 10 Do Begin Writeln('PentaCOM'); Inc(I);
End;

Dan

I := 11; Repeat
Writeln('PentaCOM'); Inc(I);
Until I <= 10;

Pada  contoh  1,  tidak  akan  mencetak  apa-apa,  sedangkan  pada  contoh  2  akan mencetak tulisan PentaCOM minimal 1 kali.

Pada prinsipnya struktur While melakukan pemeriksaan awal, dan struktur Repeat melakukan pemeriksaan di akhir.

Bagaimana kalau kita ingin keluar dari pertengahan looping walaupun conditionnya masih terpenuhi ?

Mudah saja, gunakan perintah Break, dan anda juga dapat menggunakan perintah
Continue untuk kembali ke While ataupun Repeat.

Contoh :

I := 1;
While I <= 10 Do
Begin Writeln('PentaCOM'); I := I + 1;
Break; End;

Akan mencetak PentaCOM sekali saja, karena begitu ketemu perintah Break, maka proses keluar dari looping. Bagaimana dengan yang berikut ini :

I := 1;
While I <= 10 Do
Begin

19








Writeln('PentaCOM'); I := I + 1;
Continue;
End;

Pelajaran tambahan :

Random dan randomize

Kedua berfungsi menghasilkan bilangan random, bilangan random sering digunakan untuk mensimulasikan dunia nyata yang penuh dengan ketidakpastian. Kita tidak akan mendiskusikan hal ini, tetapi pemakaian kedua perintah tersebut.

Randomize digunakan untuk menginisialisasi suatu bibit random secara acak yang cukup dipanggil sekali saja.

Random digunakan untuk mendapatkan bilangan random(bilangan), yang akan menghasilkan bilangan 0 s/d  bilangan-1. Misalnya num:=random(50); berarti variabel num mungkin berisi salah satu bilangan 0 s/d 49.

Cobalah contoh berikut :

var
i : byte;
begin randomize;
for i:=1 to 10 do write(random(30),' ');
end.

Coba hilangkan "randomize", dan jalankan beberapa kali,  bagaimana dengan bilangan yang dihasilkan apakah sama pada setiap percobaan ?

Jadiselalu   gunaka"randomizeuntuk   menjamikerandomabilangayang dihasilkan pada setiap run.

Latihan IV

1. Explain the characteristics of all three loop syntaxes in Pascal !

2. Explain the differences between them !

3. Suppose the output is :
1
2
3
4
5
6

20








Write an excerpt using all three syntaxes !

4. Explain how to nest one syntax to another !



Latihan di laboratorium

1.
Input
:

5


















2.
Input  :
5


Output
:

1

2

3

4

5

4

3

2

1



Output :
1
2
3
4
5

Input
:

1




















1
2
3
4
5

Output
:

1




















1
2
3
4
5

























1
2
3
4
5
3.
Input
:

5




















1
2
3
4
5

Output
:

1

2

3

4

5










4.
Input  :
5








2

3

4

5

1











Output :
1








3

4

5

1

2












1
2







4

5

1

2

3












1
2
3






5

1

2

3

4












1
2
3
4


























1
2
3
4
5

5.

Input

:


5



















6.

Input  :

5





Output
:

1



















Output :
1
1
1
1
1




2

2


















2
2
2
2
2




3

3

3
















3
3
3
3
3




4

4

4

4














4
4
4
4
4




5

5

5

5

5












5
5
5
5
5

7.

Input

:


5



















8.

Input  :

5





Output
:








1












Output :
1
1
1
1
1









1

2

1











1
2
2
2
1







1

2

3

2

1









1
2
3
2
1





1

2

3

4

3

2

1







1
2
2
2
1



1

2

3

4

5

4

3

2

1





1
1
1
1
1


1
2

3

4

4

4

4

4

3

2

1









1
2
3

3

3

3

3

3

3

3

3

2
1








1 2
2
2

2

2

2

2

2

2

2

2

2
2 1








1 1 1
1
1

1

1

1

1

1

1

1

1

1
1 1 1








9. Make fibonacci series. If input is n, write all the series up to n numbers : Input : 10
Output : 1 1 2 3 5 8 13 21 34 55
The first and the second numbers of fibonacci series are 1. The third is the sum of the first and the second. The fourth is the sum of the second and the third. The fifth is the sum of the third and the fourth, so on.

10. Make a factor tree.
Input  : 100                    Input  : 1001
Output :           100          Output :       1001
/   \                         /\
2     50                      7  143
/\                          /\
25                      113
/\     Input  : 5
5  5    Output : 5 is a prime !

Tugas Rumah :

21









Create a game just like a space invader (you've got to know that),  but in normal text mode (80x25). Use colors as pretty as possible. Normally space  invader have a matrix of enemies, but I make allowances to   you. You just make only one enemy. If the enemy is destroyed, it just  reappears  at a different place and the player gains a point. Each  players have  3  ships to play. If all ships are used up (shot down)  you show "Game  Over"  message and ask if the player want to  play  again.  Each enemy ship scores 10. Player got an extra ship when reaches 500 and its multipliers  (1000,
1500, 2000,...). Players can only have  one  shot. Before the fire is out, players can not trigger another shot. The   same rule applies for the enemy. Player could only move his/her ship horizontally (left or right), not vertically or diagonally. The enemy may come    closer to the ship after it reaches the edge (of left or right). I mean that the enemy ship go left or right, after it touches the edge, it advances a bit -- just like
a normal space invader game. Make it as fancy as possible.


Kembali Ke Modul 3                                       Lanjut Ke Modul 5










Comments

Post a Comment

Popular posts from this blog

[2017] Cara Hack Instagram Terbaru-Tutorial Iphone like hack