buat peserta praktikm kelas j jam 9-11...
berhubung nilai teman2 kurang memuaskan. maka berikut merupakan tugas tambahan bwt kalian....
harap dikerjakan sepenuh hati tanpa mengeluh ataupun merasa kecewa...^-^
soal ada 5....tiap soal berbobot 20pt.
soal no 1. buatlah tampilan seperti yang dibawah ini:
-*----*----*-
--*---*---*--
---*--*--*---
----*-*-*----
-***********-
----*-*-*----
---*--*--*---
--*---*---*--
-*----*----*-
(di atas gb bintang tu...)
bisa kedip2.... n berubah warna disetiap kedip....
soal no 2... sama seperti diatas tp dengan nama kalian.
seperti tugas pertama X...ukuran tiap huruf 4*4..
munculnya 1 per 1 y..........
eX:
Recky
maka yang muncul:
1: R semisal dengan warna merah atau kombinasi tiap bintang
2: E semisal dengan warna kuning atau kombinasi tiap bintang
.
.
.
dst
.
5: Y semisal dengan warna hijau atau kombinasidi tiap bintang
soal no 3. tuliskan kesan anda selama mengikuti praktikum di kelas J
soal no 4. tuliskan pesan anda selama mengikuti praktikum di kelas J
soal no 5. tuliskan kritik dan saran yang membangun !!!!!!!!!!!
bonus:
tulisakan nama asisten anda dengan lengkap beserta NIM...
terimakasih buat teman2 telah mengikuti praktikum di kelas saya..........
banzai................
oy ni ralat tugas di kumpulkan pada aat responsi......okey????
yang g,....bisa kirim koment...
Kamis, 27 November 2008
Selasa, 11 November 2008
Alur Kontrol pada Pascal
Hampir tiap program yang komplek mengandung suatu penyeleksian kondisi. Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus di kerjakan, tergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi, didalam bahasa pascal dapat di pergunakan statemen if dan statemen Case.
A.Statemen If
Struktur dari statemen If dapat berupa If-Then atau If-Then-Else.
• Struktur If-Then
Bentuk dari struktur If-Then adalah sebagai berikut:
If ungkapan Then statemen
Ungkapan adalah kondisi yang akan diseleksi oleh statemen If. Bila kondisi yang diseleksi terpenuhi, maka statemen yang mengikuti Then akan di proses.
Contoh:
Var
NilaiUjian : real;
Ket : string[11];
Begin
Ket := ‘Tidak Lulus’;
Write(‘Nilai Yang di Dapat ? ’);
Readln(NilaiUjian);
(* Seleksi Nilai yang didapat, lulus atau tidak *)
If NilaiUjian > 60 Then Ket := ‘Lulus’;
Writln(‘Ket’);
End.
Output:
Nilai Yang di Dapat ? 70
Lulus
• Struktur If-Then...Else
Struktur if-Then...Else merupakan pengembangan dari struktur if-Then dengan struktur sebagai berikut:
If kondisi Then
Statemen1
Else
Satemen2
Statemen 1 atau dapat berupa blok statemen akan di proses bilaman kondisi yang diseleksi benar (terpenuhi) sedang statemen2 atau dapat berupa blok statemen akan diproses bilamana kondisi yang diseleksi tidak terpenuhi.
Contoh:
Var
NilaiUjian : real;
Begin
Ket := ‘Tidak Lulus’;
Write(‘Nilai Yang di Dapat ? ’);
Readln(NilaiUjian);
(* Seleksi Nilai yang didapat, lulus atau tidak *)
If NilaiUjian > 60 Then
Writln(‘Lulus’);
Else
Writln(‘Tidak Lulus’);
End.
Output:
Nilai Yang di Dapat ? 70
Lulus
A.Statemen If
Struktur dari statemen If dapat berupa If-Then atau If-Then-Else.
• Struktur If-Then
Bentuk dari struktur If-Then adalah sebagai berikut:
If ungkapan Then statemen
Ungkapan adalah kondisi yang akan diseleksi oleh statemen If. Bila kondisi yang diseleksi terpenuhi, maka statemen yang mengikuti Then akan di proses.
Contoh:
Var
NilaiUjian : real;
Ket : string[11];
Begin
Ket := ‘Tidak Lulus’;
Write(‘Nilai Yang di Dapat ? ’);
Readln(NilaiUjian);
(* Seleksi Nilai yang didapat, lulus atau tidak *)
If NilaiUjian > 60 Then Ket := ‘Lulus’;
Writln(‘Ket’);
End.
Output:
Nilai Yang di Dapat ? 70
Lulus
• Struktur If-Then...Else
Struktur if-Then...Else merupakan pengembangan dari struktur if-Then dengan struktur sebagai berikut:
If kondisi Then
Statemen1
Else
Satemen2
Statemen 1 atau dapat berupa blok statemen akan di proses bilaman kondisi yang diseleksi benar (terpenuhi) sedang statemen2 atau dapat berupa blok statemen akan diproses bilamana kondisi yang diseleksi tidak terpenuhi.
Contoh:
Var
NilaiUjian : real;
Begin
Ket := ‘Tidak Lulus’;
Write(‘Nilai Yang di Dapat ? ’);
Readln(NilaiUjian);
(* Seleksi Nilai yang didapat, lulus atau tidak *)
If NilaiUjian > 60 Then
Writln(‘Lulus’);
Else
Writln(‘Tidak Lulus’);
End.
Output:
Nilai Yang di Dapat ? 70
Lulus
MEMBUAT PROGRAM SEDERHANA
Langkah-langkahnya :
Aktifkan turbo pascal, buka file baru dari pulldown menu file new.Kemudian ketik baris program. Selanjutnya simpan file anda (klik pulldown menu file save). Kemudian ketik nama program anda (misalnya : program 1), kemudian klik Oke. Untuk menjalankannya Ctrl + F9.
Uses Crt;
Var
Nama, alamat : String;
Gaji, JumlahAnak : Longint;
Begin
Clrscr;
Writeln (‘_ _ _ _ _ _ _’);
Write (‘Nama :’); Readln (Nama);
Write (‘Alamat :’); Readln (Alamat);
Write (‘JumlahAnak :’); Readln (Jumlah Anak);
Write (‘Penghasilan :’); Readln (Gaji);
Writeln (‘_ _ _ _ _ _ _ ‘);
Clrscr:
Writeln (‘_ _ _ _ _ _ _’);
Writeln (‘Data Karyawan’);
Writeln (‘_ _ _ _ _ _ _’);
Writeln (‘Nama : ‘ , Nama);
Writeln (‘Alamat : ‘ , Alamat);
Writeln (‘JumlahAnak : ‘ , JumlahAnak);
Writeln (‘Penghasilan : ‘ , Gaji);
Writeln (‘_ _ _ _ _ _ _’);
Writeln;
Readln;
End.
selamat mencoba..........^-^
Aktifkan turbo pascal, buka file baru dari pulldown menu file new.Kemudian ketik baris program. Selanjutnya simpan file anda (klik pulldown menu file save). Kemudian ketik nama program anda (misalnya : program 1), kemudian klik Oke. Untuk menjalankannya Ctrl + F9.
Uses Crt;
Var
Nama, alamat : String;
Gaji, JumlahAnak : Longint;
Begin
Clrscr;
Writeln (‘_ _ _ _ _ _ _’);
Write (‘Nama :’); Readln (Nama);
Write (‘Alamat :’); Readln (Alamat);
Write (‘JumlahAnak :’); Readln (Jumlah Anak);
Write (‘Penghasilan :’); Readln (Gaji);
Writeln (‘_ _ _ _ _ _ _ ‘);
Clrscr:
Writeln (‘_ _ _ _ _ _ _’);
Writeln (‘Data Karyawan’);
Writeln (‘_ _ _ _ _ _ _’);
Writeln (‘Nama : ‘ , Nama);
Writeln (‘Alamat : ‘ , Alamat);
Writeln (‘JumlahAnak : ‘ , JumlahAnak);
Writeln (‘Penghasilan : ‘ , Gaji);
Writeln (‘_ _ _ _ _ _ _’);
Writeln;
Readln;
End.
selamat mencoba..........^-^
Catetan tanggal 21 Maret 2006 ttg Pascal
Komponen Bahasa Pemrograman Turbo Pascal
a. Aturan Leksikal
1. Token : merupakan elemen terkecil dlm bahasa pemrograman yang memiliki arti penting bagi kompiler.
2. Komentar : merupakan teks yang tidak akan di eksekusi oleh kompiler. Komentar tidak memepengaruhi jalannya program, akan tetapi sangat penting bagi programer.
3. Identifier : merupakan kumpulan karakter yang di gunakan untuk nama program, konstanta, fungsi, label, tipe, unit dan variabel. Dalam turbo pascal, identifier harus diawali oleh karakter selain angka.
4. Reserved Words : merupakan kata baku atau standar dalam bahasa pemrograman yg sudah ada, memiliki arti tertentu dan tdk boleh lagi digunakan dalam identifier.
5. Operator : merupakan hal yang menyatakan hubungan atau relasi pada satu atau beberapa operand. Operator dikelompokkan mjd beberapa jenis, antara lain :
1. operator Aritmatika
meliputi penjumlahan, pengurangan, pembagian dan perkalian.
operator DIF
menghasilkan hasil bagi ( berupa bilangan bulat ) dari suatu operasi pembagian
2. operator penegasan
digunakan untuk memberi nilai suatu identifier pada pemrograman pascal.berupa gabungan tanda sama dengan dan titik dua.
3. operator logika
meliputi operator AND, OR dan NOT. Arti operator logika tsb adl sama seperti dalam pelajaran logika matematika.
4. operator relasi
meliputi tanda lebih kecil,lebih besar, sama dengan, lebih kecil atau sama dengan, lebih besar atau sama dengan, tidak sama dengan.
b.tipe datar
berfungsi untuk menentukan jenis nilai yang di tampung suatu variabel. Yang sering digunakan dalam pemrograman sederhana merupakan tipe data ordinal.
c. ekspression
Ekpresi adl pernyataan yang menghasilkan suatu nilai.
Terdiri dr operand dan operator
d. Statement
Merupakan blok program yang berisi perintah2 tertentu yg akan di eksekusi. Dibagi mjd beberapa kelompok
1. statement sederhana
statement yg tdk mengandung statement yg lainnya
yg termasuk statement sederhana adl statement pengerjaan, schedul, go to
2. statement tertutup
merupakan statement yg di bentuk dari komposisi beberapa statement. Statement terstuktur dapat berupa statement jamak, penyeleksian, perulangan.
a. Aturan Leksikal
1. Token : merupakan elemen terkecil dlm bahasa pemrograman yang memiliki arti penting bagi kompiler.
2. Komentar : merupakan teks yang tidak akan di eksekusi oleh kompiler. Komentar tidak memepengaruhi jalannya program, akan tetapi sangat penting bagi programer.
3. Identifier : merupakan kumpulan karakter yang di gunakan untuk nama program, konstanta, fungsi, label, tipe, unit dan variabel. Dalam turbo pascal, identifier harus diawali oleh karakter selain angka.
4. Reserved Words : merupakan kata baku atau standar dalam bahasa pemrograman yg sudah ada, memiliki arti tertentu dan tdk boleh lagi digunakan dalam identifier.
5. Operator : merupakan hal yang menyatakan hubungan atau relasi pada satu atau beberapa operand. Operator dikelompokkan mjd beberapa jenis, antara lain :
1. operator Aritmatika
meliputi penjumlahan, pengurangan, pembagian dan perkalian.
operator DIF
menghasilkan hasil bagi ( berupa bilangan bulat ) dari suatu operasi pembagian
2. operator penegasan
digunakan untuk memberi nilai suatu identifier pada pemrograman pascal.berupa gabungan tanda sama dengan dan titik dua.
3. operator logika
meliputi operator AND, OR dan NOT. Arti operator logika tsb adl sama seperti dalam pelajaran logika matematika.
4. operator relasi
meliputi tanda lebih kecil,lebih besar, sama dengan, lebih kecil atau sama dengan, lebih besar atau sama dengan, tidak sama dengan.
b.tipe datar
berfungsi untuk menentukan jenis nilai yang di tampung suatu variabel. Yang sering digunakan dalam pemrograman sederhana merupakan tipe data ordinal.
c. ekspression
Ekpresi adl pernyataan yang menghasilkan suatu nilai.
Terdiri dr operand dan operator
d. Statement
Merupakan blok program yang berisi perintah2 tertentu yg akan di eksekusi. Dibagi mjd beberapa kelompok
1. statement sederhana
statement yg tdk mengandung statement yg lainnya
yg termasuk statement sederhana adl statement pengerjaan, schedul, go to
2. statement tertutup
merupakan statement yg di bentuk dari komposisi beberapa statement. Statement terstuktur dapat berupa statement jamak, penyeleksian, perulangan.
Rekursi
Dalam Pascal, ada satu kelebihan dalam cara pemanggilan subprogram. Pascal mengijinkan pemanggilan suatu subprogram dari dalam subprogram itu sendiri. Tidak semua bahasa pemrograman mengijinkan cara pemanggilan subprogram seperti itu karena akan banyak memakan memori. Untuk lebih jelasnya perhatikan potongan program di bawah ini :
procedure Z;
begin
{ statement }
Z;
end;
Pada baris terakhir prosedur Z di atas, terdapat pemanggilan kembali terhadap prosedur Z, sehingga prosedur di atas tidak akan pernah selesai dijalankan sebab begitu sampai pada baris terakhir dari prosedur, program akan kembali lagi ke awal prosedur. Yang terjadi adalah semacam perulangan tanpa perintah perulangan Pascal, dan perulangan dengan cara ini disebut dengan rekursi. Rekursi berlaku terhadap semua subprogram dalam Pascal, yaitu prosedur dan fungsi. Dengan adanya rekursi ini, banyak algoritma komputer menjadi lebih mudah dibuat programnya. Berikut ini adalah program menghitung suku banyak Legendre, salah satu contoh perhitungan yang dapat diselesaikan dengan menggunakan rekursi :
program Rekursi;
uses CRT;
var
Jum_Suku, I : integer;
Bil_X : real;
function Legendre(X : real; N : integer) : real;
var
Suku_1, Suku_2 : real;
begin
if N = 0 then
Legendre := 1
else if N = 1 then
Legendre := X
else
begin
Suku_1 := ((2*N - 1) * (X * Legendre(X, N-1))) / N;
Suku_2 := ((N-1) * Legendre(X, N-2)) / N;
Legendre := Suku_1 + Suku_2;
end;
end;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Writeln('Menghitung Suku Banyak Legendre');
Writeln;
Write('Sampai suku ke : ');
Readln(Jum_Suku);
Write('Masukkan nilai X : ');
Readln(Bil_X);
Writeln;
end;
begin
ClrScr;
Awal;
Baca_Data;
for I := 0 to Jum_Suku do
begin
Writeln('Suku ke-',I:2,', Nilainya = ',Legendre(Bil_X, I):8:3);
end;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Untuk lebih jelas memahami program, jalankan program dengan F7. Perhatikan pula apa yang dilakukan oleh fungsi Legendre. Amati perubahan variabel-variabel yang terlibat dalam fungsi.
Contoh program yang lain:
Var
I : integer ;
Procedure Rekursi ;
Begin
Writeln ( ‘Hallo saya Pascal ‘ ) ;
I : = I + 1 ;
If I < 10 Then
Rekursi ;
End ;
Begin
I : = 1 ;
Rekursi ;
End.
Contoh faktorial menggunakan rekursi :
Program Faktorial_pascal;
function Faktorial(a:integer):longint;
begin
if (A=1)then
Faktorial:=1
else
Faktorial:=a*faktorial(a-1);
end;
var
x:integer;
begin
writeln(’Faktorial sequence’);
write(’Berapa Faktorial :’);readln(x);
writeln(x,’faktorial ‘,’=’,faktorial(x));
readln;
end.
procedure Z;
begin
{ statement }
Z;
end;
Pada baris terakhir prosedur Z di atas, terdapat pemanggilan kembali terhadap prosedur Z, sehingga prosedur di atas tidak akan pernah selesai dijalankan sebab begitu sampai pada baris terakhir dari prosedur, program akan kembali lagi ke awal prosedur. Yang terjadi adalah semacam perulangan tanpa perintah perulangan Pascal, dan perulangan dengan cara ini disebut dengan rekursi. Rekursi berlaku terhadap semua subprogram dalam Pascal, yaitu prosedur dan fungsi. Dengan adanya rekursi ini, banyak algoritma komputer menjadi lebih mudah dibuat programnya. Berikut ini adalah program menghitung suku banyak Legendre, salah satu contoh perhitungan yang dapat diselesaikan dengan menggunakan rekursi :
program Rekursi;
uses CRT;
var
Jum_Suku, I : integer;
Bil_X : real;
function Legendre(X : real; N : integer) : real;
var
Suku_1, Suku_2 : real;
begin
if N = 0 then
Legendre := 1
else if N = 1 then
Legendre := X
else
begin
Suku_1 := ((2*N - 1) * (X * Legendre(X, N-1))) / N;
Suku_2 := ((N-1) * Legendre(X, N-2)) / N;
Legendre := Suku_1 + Suku_2;
end;
end;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Writeln('Menghitung Suku Banyak Legendre');
Writeln;
Write('Sampai suku ke : ');
Readln(Jum_Suku);
Write('Masukkan nilai X : ');
Readln(Bil_X);
Writeln;
end;
begin
ClrScr;
Awal;
Baca_Data;
for I := 0 to Jum_Suku do
begin
Writeln('Suku ke-',I:2,', Nilainya = ',Legendre(Bil_X, I):8:3);
end;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Untuk lebih jelas memahami program, jalankan program dengan F7. Perhatikan pula apa yang dilakukan oleh fungsi Legendre. Amati perubahan variabel-variabel yang terlibat dalam fungsi.
Contoh program yang lain:
Var
I : integer ;
Procedure Rekursi ;
Begin
Writeln ( ‘Hallo saya Pascal ‘ ) ;
I : = I + 1 ;
If I < 10 Then
Rekursi ;
End ;
Begin
I : = 1 ;
Rekursi ;
End.
Contoh faktorial menggunakan rekursi :
Program Faktorial_pascal;
function Faktorial(a:integer):longint;
begin
if (A=1)then
Faktorial:=1
else
Faktorial:=a*faktorial(a-1);
end;
var
x:integer;
begin
writeln(’Faktorial sequence’);
write(’Berapa Faktorial :’);readln(x);
writeln(x,’faktorial ‘,’=’,faktorial(x));
readln;
end.
Senin, 10 November 2008
WHILE-DO & REPEAT-UNTIL
Repetisi while do & repeat until. ni lanjutan dari topik for to do.....
2. WHILE DO
[Photo]
Statemen While-Do digunakan untuk melakukan proses perulangan suatu statement atau blok statemen terus-menerus selma kondisi ungkapan-logika pada While bernilai logika benar.
CONTOH:
Uses Crt;
Var
Celcius, Fah : Real;
Lagi : Char;
Begin
Lagi :=’Y’;
While lagi = ‘Y’ Do
Begin
clrscr;
write(‘Nilai Celcius? ’);
ReadLn(Celcius);
Fah :=1.8 * Celcius + 32;
writeLn;
writeln(‘Fahrenheit = ’,Fah:7:2);
writeLn;
writeLn(‘Menghitung Lagi (Y/T)? ’);
Readln(Lagi);
End;
End.
CONTOH 2:
Var
Nilai,total,RataRata : Real;
N,I: Integer; Lagi: Char;
Begin
Lagi :=’Y’;
While Lagi = ‘Y’ Do
Begin
ClrScr; (*** Masukan Jumlah Dari Data***)
WriteLn(‘Jumlah Data ? ’);
ReadLn(N);
I := 0; Total :=0;
Slide 15 .O {color:black; font-size:149%;} a:link {color:#E2D700 !important;} a:active {color:#009DD9 !important;} a:visited {color:#85DFD0 !important;} While I <>
Begin
I := I + 1;
Write(‘Nilai Data ke ’,I,’? ’);
ReadLn(Nilai);
Total := Total + Nilai;
End; (*end dari while ke dua*)
(* Menghitung Nilai Rata-Rata *)
RataRata := Total/N
(*Menampilkan Hasil*)
Writeln;
Writeln(‘Total Nilai = ’,Total:8:2);
Writeln(‘Jumlah Data = ’,N:3);
Writeln(‘Rata-Rata nilai =’,RataRata:8:2);
Writeln;
Write (‘Akan Menghitung Lagi (Y/T)? ’);
Readline(Lagi);
End;(*end dari while pertama*)
End.
3. REPEAT UNTIL
Repeat .... Until digunakan untuk mengulang(Repeat) statemen-statemen atau blok statemen sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi.
[Photo]
CONTOH :
Var
I,J : integer;
Begin
I :=0;
Repeat
I := I + 1;
J := 0;
Repeat
I := I + 1;
Write(‘*’);
Until J = i;
Writeln;
Until I =4;
End.
2. WHILE DO
[Photo]
Statemen While-Do digunakan untuk melakukan proses perulangan suatu statement atau blok statemen terus-menerus selma kondisi ungkapan-logika pada While bernilai logika benar.
CONTOH:
Uses Crt;
Var
Celcius, Fah : Real;
Lagi : Char;
Begin
Lagi :=’Y’;
While lagi = ‘Y’ Do
Begin
clrscr;
write(‘Nilai Celcius? ’);
ReadLn(Celcius);
Fah :=1.8 * Celcius + 32;
writeLn;
writeln(‘Fahrenheit = ’,Fah:7:2);
writeLn;
writeLn(‘Menghitung Lagi (Y/T)? ’);
Readln(Lagi);
End;
End.
CONTOH 2:
Var
Nilai,total,RataRata : Real;
N,I: Integer; Lagi: Char;
Begin
Lagi :=’Y’;
While Lagi = ‘Y’ Do
Begin
ClrScr; (*** Masukan Jumlah Dari Data***)
WriteLn(‘Jumlah Data ? ’);
ReadLn(N);
I := 0; Total :=0;
Slide 15 .O {color:black; font-size:149%;} a:link {color:#E2D700 !important;} a:active {color:#009DD9 !important;} a:visited {color:#85DFD0 !important;} While I <>
Begin
I := I + 1;
Write(‘Nilai Data ke ’,I,’? ’);
ReadLn(Nilai);
Total := Total + Nilai;
End; (*end dari while ke dua*)
(* Menghitung Nilai Rata-Rata *)
RataRata := Total/N
(*Menampilkan Hasil*)
Writeln;
Writeln(‘Total Nilai = ’,Total:8:2);
Writeln(‘Jumlah Data = ’,N:3);
Writeln(‘Rata-Rata nilai =’,RataRata:8:2);
Writeln;
Write (‘Akan Menghitung Lagi (Y/T)? ’);
Readline(Lagi);
End;(*end dari while pertama*)
End.
3. REPEAT UNTIL
Repeat .... Until digunakan untuk mengulang(Repeat) statemen-statemen atau blok statemen sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi.
[Photo]
CONTOH :
Var
I,J : integer;
Begin
I :=0;
Repeat
I := I + 1;
J := 0;
Repeat
I := I + 1;
Write(‘*’);
Until J = i;
Writeln;
Until I =4;
End.
REPETISI-FOR
Repetisi, perulangan (looping) merupakan bentuk yang sering di temui dalam suatu program aplikasi. Didalam bahasa pascal, dikenal 3 macam perulangan, yaitu dengan manggunakan statemen For, While-Do, Repeat .... Until.
1. Struktur Perulangan FOR
Perulangan dengan statement For di gunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan. Perulangan dengan statemen for berbentuk perulangan positif, perulangan negatif dan perulangan tersarang. Sintak dari statemen For dalam bentuk diagram adalah sebagai berikut:
1.1 FOR TO DO :
—penghitung (counter) dari kecil ke besar
dibentuk dengan menggunakan statemnt For-To-Do, dengan bentuk umum:
—For (variabel-kontrol) := (nilai-awal) To (nilai-akhir) Do (statemen)
CONTOH:
Var
I : integer;
Begin
Clrscr;
For i = 1 to 5 Do
Begin
writeln(‘Paschal’);
End;
End.
1.2 FOR DOWNTO DO :
penghitung (counter) dari besar ke kecil
dengan menggunakan satemen For-Downto-Do, dengan bentuk umum:
For (variabel kontrol) := (nilai awal) DownTo (nilai-akhir) Do (Statemen).
CONTOH:
Var
I : integer;
Begin
For i = 5 DownTo 0 Do
Begin
writeln(i);
End;
End.
1.3 NESTED LOOP
perulangan yang berada didalam perulangan yang lainnya.
Perulangan yang lebih dalam akan di proses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
CONTOH:
Var
I,J : integer;
Begin
For I := 1 to 5 Do
Begin
For J := 1 to 3 Do
Begin
write (I:8,J:3);
End;
Writeln;
End;
End.
1. Struktur Perulangan FOR
Perulangan dengan statement For di gunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan. Perulangan dengan statemen for berbentuk perulangan positif, perulangan negatif dan perulangan tersarang. Sintak dari statemen For dalam bentuk diagram adalah sebagai berikut:
1.1 FOR TO DO :
—penghitung (counter) dari kecil ke besar
dibentuk dengan menggunakan statemnt For-To-Do, dengan bentuk umum:
—For (variabel-kontrol) := (nilai-awal) To (nilai-akhir) Do (statemen)
CONTOH:
Var
I : integer;
Begin
Clrscr;
For i = 1 to 5 Do
Begin
writeln(‘Paschal’);
End;
End.
1.2 FOR DOWNTO DO :
penghitung (counter) dari besar ke kecil
dengan menggunakan satemen For-Downto-Do, dengan bentuk umum:
For (variabel kontrol) := (nilai awal) DownTo (nilai-akhir) Do (Statemen).
CONTOH:
Var
I : integer;
Begin
For i = 5 DownTo 0 Do
Begin
writeln(i);
End;
End.
1.3 NESTED LOOP
perulangan yang berada didalam perulangan yang lainnya.
Perulangan yang lebih dalam akan di proses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
CONTOH:
Var
I,J : integer;
Begin
For I := 1 to 5 Do
Begin
For J := 1 to 3 Do
Begin
write (I:8,J:3);
End;
Writeln;
End;
End.
FUNGSI
Pada dasarnya yang membedakan fungsi dan prosedur adalah fungsi memberikan nilai balik sedangkan prosedur tidak. Penggunaan fungsi selalu diawali dengan kata Function. Struktur umum penulisan fungsi adalah sebagai berikut :
Function Nama_Fungsi(param_formal:tipe_param,...):tipe_hasil;
var
{bagian deklarasi fungsi, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
Nama_Fungsi:=hasil;
End;
Program persegi; {judul Program Utama}
uses crt;
Function cetakBintang : string; {Fungsi untuk mencetak bintang}
begin
cetakBintang := '****';
end;
{program utama}
begin
writeln(cetakBintang); {Memanggil fungsi cetakBintang}
writeln(cetakBintang);
writeln(cetakBintang);
writeln(cetakBintang);
End.
Function Nama_Fungsi(param_formal:tipe_param,...):tipe_hasil;
var
{bagian deklarasi fungsi, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
Nama_Fungsi:=hasil;
End;
Program persegi; {judul Program Utama}
uses crt;
Function cetakBintang : string; {Fungsi untuk mencetak bintang}
begin
cetakBintang := '****';
end;
{program utama}
begin
writeln(cetakBintang); {Memanggil fungsi cetakBintang}
writeln(cetakBintang);
writeln(cetakBintang);
writeln(cetakBintang);
End.
PROSEDURE BERPARAMETER
1.1 Pengiriman Parameter Secara Nilai (PASSING BY VALUE)
1.2 Pengiriman Parameter Secara Acuan (PASSING BY REFERENCE)
1.1 Pengiriman Parameter Secara Nilai (PASSING BY VALUE)
Bila parameter dikirimkan secara nilai nilai, parameter formal di prosedur akan berisi nilai yang dikirmkan yang kemudian bersifat local di prosedur. Bila nilai parameter formal di prosedur berubah, tidak akan mempengaruhi nilai parameter nyata ( nilai parameter nyata tetap, tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang tidak dikirimkan balik dari parameter formal ke parameter nyata.Parameter – parameter yang digunakan dengan pengiriman secara nilai ini disebut dengan parameter nilai ( value parameter ).
CONTOH PROGRAM:
Procedure Hitung(A, B : integer ) ;
Var
C : integer ;
Begin
C : = A + B ;
Writeln (‘Nilai C =’, C ) ;
End ;
Var
X, Y : integer ;
Begin
Write ( ‘Nilai X =’ ) ; readln ( X ) ;
Write ( ‘Nilai Y =’ ) ; readln ( Y ) ;
Hitung ( X, Y ) ;
End.
PENJELASAN:
- prosedur dimulai dengan deklarasi prosedur dengan judul prosedur hitung. Variable A dan B adalah parameter formal dan integer adalah tipe parameternya.
- Variable local yang hanya dipergunakan di prosedur dan tidak termasuk parameter formal (parameter nilai), harus didefinisikan sendiri, yaitu : variable C
- Hubungan antara parameter formal di prosedur dengan parameter nyata di modul utama adalah : nilai parameter nyata X dan Y di modul utama dikirimkan ke parameter formal A dan B di prosedur. Dengan demikian nilai parameter A dan B diprosedur akan berisi nilai yang sama dengan parameter X dan Y di modul utama.
1.2 Pengiriman Parameter Secara Acuan (PASSING BY REFERENCE)
Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata. Parameter-parameter ini disebut dengan variable parameter serta dideklarasikan di deklarasi prosedur dengan menggunakan kata cadangan Var, sebagai berikut :
PROCEDURE hitung (VAR A, B, C : integer ) ;
CONTOH PROGRAM 2:
Uses crt;
Procedure Hitung ( var A, B, C : integer ) ;
Begin
C := A + B ;
End ;
Var
X, Y, Z : integer ;
Begin
X := 2 ; Y := 3 ;
Hitung ( X, Y, Z ) ;
Writeln (‘ X = ‘, X , ‘ Y = ‘ , Y, ‘ Z = ‘ , Z ) ;
End.
PENJELASAN:
pengiriman parameter secara acuan merupakan pengiriman dua arah, bolak-balik, sehingga perubahan nilai di parameter formal akan mempengaruhi nilai parameter nyata juga. Pada contoh, nilai parameter nyata Z akan mengikuti perubahan nilai dari parameter formal C.
1.2 Pengiriman Parameter Secara Acuan (PASSING BY REFERENCE)
1.1 Pengiriman Parameter Secara Nilai (PASSING BY VALUE)
Bila parameter dikirimkan secara nilai nilai, parameter formal di prosedur akan berisi nilai yang dikirmkan yang kemudian bersifat local di prosedur. Bila nilai parameter formal di prosedur berubah, tidak akan mempengaruhi nilai parameter nyata ( nilai parameter nyata tetap, tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang tidak dikirimkan balik dari parameter formal ke parameter nyata.Parameter – parameter yang digunakan dengan pengiriman secara nilai ini disebut dengan parameter nilai ( value parameter ).
CONTOH PROGRAM:
Procedure Hitung(A, B : integer ) ;
Var
C : integer ;
Begin
C : = A + B ;
Writeln (‘Nilai C =’, C ) ;
End ;
Var
X, Y : integer ;
Begin
Write ( ‘Nilai X =’ ) ; readln ( X ) ;
Write ( ‘Nilai Y =’ ) ; readln ( Y ) ;
Hitung ( X, Y ) ;
End.
PENJELASAN:
- prosedur dimulai dengan deklarasi prosedur dengan judul prosedur hitung. Variable A dan B adalah parameter formal dan integer adalah tipe parameternya.
- Variable local yang hanya dipergunakan di prosedur dan tidak termasuk parameter formal (parameter nilai), harus didefinisikan sendiri, yaitu : variable C
- Hubungan antara parameter formal di prosedur dengan parameter nyata di modul utama adalah : nilai parameter nyata X dan Y di modul utama dikirimkan ke parameter formal A dan B di prosedur. Dengan demikian nilai parameter A dan B diprosedur akan berisi nilai yang sama dengan parameter X dan Y di modul utama.
1.2 Pengiriman Parameter Secara Acuan (PASSING BY REFERENCE)
Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata. Parameter-parameter ini disebut dengan variable parameter serta dideklarasikan di deklarasi prosedur dengan menggunakan kata cadangan Var, sebagai berikut :
PROCEDURE hitung (VAR A, B, C : integer ) ;
CONTOH PROGRAM 2:
Uses crt;
Procedure Hitung ( var A, B, C : integer ) ;
Begin
C := A + B ;
End ;
Var
X, Y, Z : integer ;
Begin
X := 2 ; Y := 3 ;
Hitung ( X, Y, Z ) ;
Writeln (‘ X = ‘, X , ‘ Y = ‘ , Y, ‘ Z = ‘ , Z ) ;
End.
PENJELASAN:
pengiriman parameter secara acuan merupakan pengiriman dua arah, bolak-balik, sehingga perubahan nilai di parameter formal akan mempengaruhi nilai parameter nyata juga. Pada contoh, nilai parameter nyata Z akan mengikuti perubahan nilai dari parameter formal C.
Langganan:
Komentar (Atom)