Pengenalan Pascal
Pengenalan Pascal
Sejarah PascalPascal merupakan pengembangan dari bahasa ALGOL 60, bahasa pemrograman untuk sains komputasi. Tahun 1960, beberapa ahli komputer bekerja untuk mengembangkan bahasa ALGOL, salah satunya adalah Dr. Niklaus Wirth dari Swiss Federal Institute of Technology (ETH-Zurich), yang merupakan anggota grup yang membuat ALGOL. Tahun 1971, dia menerbitkan suatu spesifikasi untuk highly-structured language (bahasa tinggi yang terstruktur) yang menyerupai ALGOL. Dia menamainya dengan PASCAL (dari nama Blaise Pascal, ahli matematika&philosophi terkenal abad 17 dari Perancis). Pascal bersifat data oriented, yaitu programmer diberi keleluasaan untuk mendefinisikan data sendiri. Pascal juga merupakan teaching language (banyak dipakai untuk pengajaran tentang konsep pemrograman). Kelebihan yang lain adalah penulisan kode Pascal yang luwes, tidak seperti misalnya FORTRAN, yang memerlukan programmer untuk menulis kode dengan format tertentu.
Struktur Pascal
1. Bagian Judul Program
2. Blok Program
a. Bagian Deklarasi
- Deklarasi tipe data (TYPE)
- Deklarasi variabel (VAR)
- Deklarasi konstanta (CONST)
- Deklarasi label (LABEL)
- Deklarasi sub-program (PROCEDURE dan FUNCTION)
b. Bagian Program Utama Perintah-perintah atau Pernyataan
Struktur Program Pascal Paling Sederhana
begin
statement-statement;
end.
Contoh Program Sederhana
begin
writeln('Saya sedang belajar Pascal');
writeln('--------------------------');
readln
end.
Perintah Input Output pada Pascal
1. Assignment
Komputer bisa mengolah dan menampilkan sesuatu yang ada di dalam memori. Merupakan cara tersederhana untuk "menempatkan" (assign) data ke memori.
2. Perintah Input (read atau readln)
Perintah digunakan untuk membaca data dari default input - keyboard.
Readln=memeasukkan data perbaris, artinya setelah kita menekan tombol Enter, maka akan ganti baris.
Read=tidak ganti baris, masih dalam baris yang sama.
3. Perintah Output (write atau writeln )
Perintah digunakan untuk menyajikan data ke default output - key-board.
Contoh: write('TES'); Perintah ini akan menampilkan teks string TES ke layar monitor pada posisi kursor sebelum perintah write dilaksanakan. Setelah menyajikan ke layar, kursor pindah ke ujung teks TES pada baris yang sama. writeln('TES'); Perintah ini akan menampilkan teks TES ke layar monitor pada posisi kursor sebelum perintah write dilaksanakan. Setelah menyajikan ke layar, kursor pindah ke awal baris berikutnya.
Unsur-unsur Pemrograman
a. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber data lainnya).
b. Menyimpan data ke dalam memori dengan struktur data yang sesuai,
c. Memproses data dengan instruksi yang tepat.
d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau tujuan lainnya).
Nama yang dipergunakan du dalam program Pascal disebut dengan pengenal atau Identifier. Identifier digunakan untuk nama: Program, Sub-program (procedure dan function), nama: Variable, Constant, Type, Label.
Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifier
a. Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A sampai Z atau karakter '_' (underscore - garis bawah).
b. Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik (huruf-numerik).
c. Panjang nama, pada berbagai versi Pascal umumnya antara 32 - 63.
d. Tidak boleh menggunakan karakter istimewa: + - * / | \ = < > [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` " ' dan ? Contoh penulisan:
Penulisan yang benar: NamaMahasiswa, Gaji_Karyawan, PX4, dll.
Penulisan yang salah: 3X, A & B, C Z dll.
Variable adalah identifier yang berisi data yang dapat berubah-ubah nilainya di dalam program. Deklarasi Variable adalah :
a. Memberikan nama variabel sebagai identitas pengenal
b. Menentukan tipe data variabel
Contoh deklarasi variabel:
var X : integer;
R : real;
C : char;
T : boolean;
Konstanta adalah identifier yang berisi data yang nilainya tidak berubah di dalam program. Deklarasi Konstanta adalah:
a. Memberikan nama konstanta sebagai identitas pengenal
b. Menentukan nilai konstanta
Contoh deklarasi konstanta:
conts MaxSize = 100; {integer}
ExitC = 'Q'; {char}
Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksdu tertentu.
Suatu Unit adalah kumpulan dari konstanta, tipe-tipe data, variabel, prosedur dan fungsi-fungsi. Unit standar pada Pascal yang bisa langsung digunakan adalah System, Crt, Printer Dos dan Graph. Untuk menggunakan suatu unit, maka kita harus meletakkan clausa atau anak kalimat Uses di awal blok program, diikuti oleh daftar nama unit yang digunakan. Pada materi ini yang akan dibahas adalah unit Crt. Unit ini digunakan untuk memanipulasi layar teks (windowing, peletakan cursor di layar, Color pada teks, kode extended keyboard dan lain sebagainya
Tipe Data
dan Operator
Tipe Data menunjukkan suatu nilai yang
dpat digunakan oleh sutu variable yang bersangkutan.Tipe Data dalam Pascal :
1. Tipe Data Sederhana, terdiri dari :
a. Tipe data standar :
- integer : merupakan tipe data berupa bilangan bulat
- real : merupakan jenis bilangan pecahan
- char : merupakan karakter yg ditulis diantara tanda petik tunggal. Ex : 'A', 'a', '5' dll
- string : merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal.
- boolean : merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE atau FALSE .
b. Tipe data didefinisikan pemakai
2. Tipe Data Terstruktur, terdiri dari :
a. Array
b. Record
c. File
d. Set
3. Tipe Data Pointer
Operator
Tanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam :
1. Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=). Contoh --> A:=B;
2. Binary operator digunakan untuk mengoperasikan dua buah operand yang berbentuk konstanta ataupun variable. Operator ini digunakan untuk operasi arithmatika yang berhubungan dgn nilai tipe data Integer dan Real. Operasi yang dilakukan adalah : Pertambahan (+), Pengurangan (-), Perkalian (*), Pembagian Bulat (DIV), Pembagian Real (/) dan Modulus atau Sisa Pembagian (MOD)
3. Unary operator, operator ini menggunakan sebuah operand saja dapat berupa unary minus dan unary plus. Contoh : +2.5, a+(+b) dll
4. Bitwise operator digunakan untuk operasi bit per bit pada nilai integer.
Operator yang digunakan (NOT, AND, OR, XOR, Shl, Shr)
Latihan :
1. Membuat program untuk menghitung Luas Persegi Panjang
Rumus : Luas = panjang * lebar
2. Membuat program untuk menghitung Keliling Persegi Panjang
Rumus : Keliling = 2 * (panjang + lebar)
3. Membuat program untuk menghitung Luas Lingkaran
Rumus : Luas Lingkaran = phi * r2 (phi=3,14 dan r=jari-jari)
Prosedur
pada Pascal
1. Prosedur Pemberian Warna
a) Warna Foreground
Cara penulisan : Textcolor(color:byte)
kode warna boleh menggunakan kode atau menyebutkan warnanya.
Warna
|
Kode
|
Warna
|
Kode
|
Warna
|
Kode
|
Black
|
0
|
Brown
|
6
|
LightRed
|
12
|
Blue
|
1
|
LightGray
|
7
|
LightMagenta
|
13
|
Green
|
2
|
DarkGray
|
8
|
Yellow
|
14
|
Cyan
|
3
|
LightBlue
|
9
|
White
|
15
|
Red
|
4
|
LightGreen
|
10
|
Blink
|
128
|
Magenta
|
5
|
LightCyan
|
11
|
Contoh :
Program Tampil_Warna_Teks;
uses crt;
begin clrscr;
textcolor(Red);writeln(‘Tulisan ini berwarna merah’);
textcolor(1);writeln(‘Kalau ini berwarna biru’);
textcolor(yellow+blink);writeln(‘Tulisan warna kuning berkedip’);
readln;
end.
b) Warna Background
Cara penulisan :TextBackground(color:byte)
Program Tampil_Warna_Teks;
uses crt;
begin clrscr;
textcolor(Red);writeln(‘Tulisan ini berwarna merah’);
textcolor(1);writeln(‘Kalau ini berwarna biru’);
textcolor(yellow+blink);writeln(‘Tulisan warna kuning berkedip’);
readln;
end.
b) Warna Background
Cara penulisan :TextBackground(color:byte)
Warna
|
Kode
|
Warna
|
Kode
|
Warna
|
Kode
|
Black
|
0
|
Cyan
|
3
|
Brown
|
6
|
Blue
|
1
|
Red
|
4
|
LightGray
|
7
|
Green
|
2
|
Magenta
|
5
|
Contoh :
Program Tampil_Background;
uses crt;
begin
textcolor(yellow);textbackground(red);writeln(‘Coba tulisan’);
textcolor(7);textbackground(0);writeln(‘Kembali ke Normal’);
readln;
end.
Program Tampil_Background;
uses crt;
begin
textcolor(yellow);textbackground(red);writeln(‘Coba tulisan’);
textcolor(7);textbackground(0);writeln(‘Kembali ke Normal’);
readln;
end.
2. Prosedur Penentuan Lokasi Kursor
a) Prosedur CLRSCR (Clear Screen)
Digunakan untuk membersihkan layer dari tampilan2 sebelumnya dan meletakkan kursor di ujung kiri atas layar.
b) Prosedur GOTOXY
Digunakan untuk meletakkan kursor di posisi layer yang ditunjukkan oleh nilai : X (kolom 1 s/d 80) dan Y (baris 1 s/d 25)
Contoh :
Program Coba_gotoXY;
uses crt;
begin clrscr;
gotoxy(20,15);writeln(‘Saya sedang belajar Pascal’);
End.
c) Prosedur CLREOL (Clear Of Line)
Digunakan untuk menghapus semua karakter dalam suatu baris disebelah kanan posisi kursor.
Contoh :
Program Coba_Clreol;
uses crt;
var nilai : Integer;
Digunakan untuk membersihkan layer dari tampilan2 sebelumnya dan meletakkan kursor di ujung kiri atas layar.
b) Prosedur GOTOXY
Digunakan untuk meletakkan kursor di posisi layer yang ditunjukkan oleh nilai : X (kolom 1 s/d 80) dan Y (baris 1 s/d 25)
Contoh :
Program Coba_gotoXY;
uses crt;
begin clrscr;
gotoxy(20,15);writeln(‘Saya sedang belajar Pascal’);
End.
c) Prosedur CLREOL (Clear Of Line)
Digunakan untuk menghapus semua karakter dalam suatu baris disebelah kanan posisi kursor.
Contoh :
Program Coba_Clreol;
uses crt;
var nilai : Integer;
begin clrscr;
gotoxy(10,15);write(‘Masukkan sebuah nilai :’);Readln(nilai);
gotoxy(10,15);clreol;
writeln(‘Anda pintar deh’);readln;
end.
d) Prosedur DELLINE (Delete Line)
Digunakan untuk menghapus sebuah baris di posisi kursor dan menggeser naik tampilan baris2 di bawahnya.
Contoh :
Program Tampil_Delline;
uses crt;
begin clrscr;
gotoxy(5,8);writeln(‘Satu’);
gotoxy(5,9);writeln(‘Dua’);
gotoxy(5,10);writeln(‘Tiga’);
gotoxy(5,20);write(‘Tekan Sembarang Tombol’);read(tekan;
gotoxy(5,10);Clreol;
gotoxy(5,9);Delline;readln;
end.
e) Prosedur INSLINE (Insert Line)
Digunakan untuk menyisipi sebuah baris pada posisi kursor dan menggeser ke bawah tampilan baris2 di bawahnya.
Contoh :
Program Tampil_Delline;
uses crt;
begin clrscr;
gotoxy(5,8);writeln(‘Satu’);
gotoxy(5,9);writeln(‘Dua’);
gotoxy(5,10);writeln(‘Tiga’);
gotoxy(5,20);write(‘Tekan Sembarang Tombol’);read(tekan;
gotoxy(5,10);Clreol;
gotoxy(5,9);Insline;readln;
end.
f) Prosedur Delay
Digunakan untuk menghentikan sejenak proses program selama nilai argument tempo, yaitu dalam ukuran millisecond (1/1000 detik)
gotoxy(10,15);write(‘Masukkan sebuah nilai :’);Readln(nilai);
gotoxy(10,15);clreol;
writeln(‘Anda pintar deh’);readln;
end.
d) Prosedur DELLINE (Delete Line)
Digunakan untuk menghapus sebuah baris di posisi kursor dan menggeser naik tampilan baris2 di bawahnya.
Contoh :
Program Tampil_Delline;
uses crt;
begin clrscr;
gotoxy(5,8);writeln(‘Satu’);
gotoxy(5,9);writeln(‘Dua’);
gotoxy(5,10);writeln(‘Tiga’);
gotoxy(5,20);write(‘Tekan Sembarang Tombol’);read(tekan;
gotoxy(5,10);Clreol;
gotoxy(5,9);Delline;readln;
end.
e) Prosedur INSLINE (Insert Line)
Digunakan untuk menyisipi sebuah baris pada posisi kursor dan menggeser ke bawah tampilan baris2 di bawahnya.
Contoh :
Program Tampil_Delline;
uses crt;
begin clrscr;
gotoxy(5,8);writeln(‘Satu’);
gotoxy(5,9);writeln(‘Dua’);
gotoxy(5,10);writeln(‘Tiga’);
gotoxy(5,20);write(‘Tekan Sembarang Tombol’);read(tekan;
gotoxy(5,10);Clreol;
gotoxy(5,9);Insline;readln;
end.
f) Prosedur Delay
Digunakan untuk menghentikan sejenak proses program selama nilai argument tempo, yaitu dalam ukuran millisecond (1/1000 detik)
Fungsi
Standar pada Pascal
(Fungsi Standar Operasi String)
(Fungsi Standar Operasi String)
1. Copy, digunakan untuk menyalin (copy)
sejumlah karakter mulai posisi tertentu
2. ConCat, digunakan untuk merangkai beberapa string.
3. Pos, digunakan untuk mencari posisi letak dari suatu nilai string yang ada di dalam nilai string yang lain.
4. Length, digunakan untuk menghitung panjang atau jumlah karakter yang ada di nilai string.
5. Upcase, digunakan untuk merubah karakter menjadi huruf besar.
Fungsi Standar Operasi Arithmatika
Fungsi standar arithmatika digunkan untuk operasi-operasi arithmatika yaitu fungsi standar Abs (mencari nilai mutlak), Exp (mencari nilai pangkat dari suatu bilangan), Frac (mendapatkan nilai pecahan dari suatu nilai), Trunc (menghasilkan bil bulat dgn cara membuang bag decimal suatu bil real), Round (membulatkan nilai real ke bilangan bulat terdekat), Int (menghasilkan nilai interger dari suatu nilai), Ln mecari nilai logaritma dari suatu nilai), Pi (menghasilkan nilai phi), Sqr (menghasilkan nilai pangkat kuadrat) dan Sqrt (menghitung nilai akar kuadrat)
Tipe & Label
1. Tipe
Pengenal (identifier) dari data yang digunakan harus di perkenalkan Tipe-nya. Jika ingin menggunakan tipe data dengan nama yang dibuat pemakai, maka harus disebutkan tipe data standarnya.
Contoh :
Program Contoh_Tipe;
Type
Bil_bulat = integer;
var
jumlah : bil_bulat;
begin
jumlah := 10;
writeln(‘jumlah :’,jumlah);
readln;
end.
2. Label
- Label harus dideklarasikan dahulu pada bagian deklarasi
- Nama label boleh berupa string (Cth : Selesai) atau nilai integer (Cth : 100)
- Label digunakan sebagai arah tujuan dari perintah Goto
- Goto adalah perintah untuk meloncat ke suatu statemen tertentu
- Perintah Goto harus diikuti nama label yang dituju
2. ConCat, digunakan untuk merangkai beberapa string.
3. Pos, digunakan untuk mencari posisi letak dari suatu nilai string yang ada di dalam nilai string yang lain.
4. Length, digunakan untuk menghitung panjang atau jumlah karakter yang ada di nilai string.
5. Upcase, digunakan untuk merubah karakter menjadi huruf besar.
Fungsi Standar Operasi Arithmatika
Fungsi standar arithmatika digunkan untuk operasi-operasi arithmatika yaitu fungsi standar Abs (mencari nilai mutlak), Exp (mencari nilai pangkat dari suatu bilangan), Frac (mendapatkan nilai pecahan dari suatu nilai), Trunc (menghasilkan bil bulat dgn cara membuang bag decimal suatu bil real), Round (membulatkan nilai real ke bilangan bulat terdekat), Int (menghasilkan nilai interger dari suatu nilai), Ln mecari nilai logaritma dari suatu nilai), Pi (menghasilkan nilai phi), Sqr (menghasilkan nilai pangkat kuadrat) dan Sqrt (menghitung nilai akar kuadrat)
Tipe & Label
1. Tipe
Pengenal (identifier) dari data yang digunakan harus di perkenalkan Tipe-nya. Jika ingin menggunakan tipe data dengan nama yang dibuat pemakai, maka harus disebutkan tipe data standarnya.
Contoh :
Program Contoh_Tipe;
Type
Bil_bulat = integer;
var
jumlah : bil_bulat;
begin
jumlah := 10;
writeln(‘jumlah :’,jumlah);
readln;
end.
2. Label
- Label harus dideklarasikan dahulu pada bagian deklarasi
- Nama label boleh berupa string (Cth : Selesai) atau nilai integer (Cth : 100)
- Label digunakan sebagai arah tujuan dari perintah Goto
- Goto adalah perintah untuk meloncat ke suatu statemen tertentu
- Perintah Goto harus diikuti nama label yang dituju
BRANCHING
(Penyeleksian Kondisi)
Untuk menyeleksi kondisi di dalam Pascal, menggunakan
statement sebagai berikut :
1. Statemen IF
a. Struktur IF..THEN..
If <kondisi> then <perintah>
Kondisi adalah syarat yang diseleksi. Bila kondisi benar (terpenuhi), maka perintah akan dikerjakan.
b. Struktur IF…THEN…ELSE
If <kondisi> then
<perintah 1>
Else
<perintah 2>;
Bila kondisi benar (terpenuhi), maka perintah 1 akan dikerjakan, sedangkan bila kondisi salah (tidak terpenuhi), maka statemen 2 yang akan dikerjakan.
c. Struktur Nested IF (IF tersarang)
Merupakan bentuk dari suatu statemen If yang berada di dalam lingkungan statemen If yang lainnya.
Syntaks Penulisannya :
if <kondisi 1> then
if <kondisi 2> then
<perintah 1>
else
<perintah 2>;
Atau
if <kondisi 1> then 1. Statemen IF
a. Struktur IF..THEN..
If <kondisi> then <perintah>
Kondisi adalah syarat yang diseleksi. Bila kondisi benar (terpenuhi), maka perintah akan dikerjakan.
b. Struktur IF…THEN…ELSE
If <kondisi> then
<perintah 1>
Else
<perintah 2>;
Bila kondisi benar (terpenuhi), maka perintah 1 akan dikerjakan, sedangkan bila kondisi salah (tidak terpenuhi), maka statemen 2 yang akan dikerjakan.
c. Struktur Nested IF (IF tersarang)
Merupakan bentuk dari suatu statemen If yang berada di dalam lingkungan statemen If yang lainnya.
Syntaks Penulisannya :
if <kondisi 1> then
if <kondisi 2> then
<perintah 1>
else
<perintah 2>;
Atau
begin
if <kondisi 2> then
<perintah 1>
else
<perintah 2>;
end;
Atau
if <kondisi 1> then
if <kondisi 2> then
<perintah 1>
else
<perintah 2>
else
<perintah 3>;
Atau
if <kondisi 1> then
begin
if <kondisi 2> then
begin
if <kondisi 3> then
begin
if <kondisi 4> then
<statemen 1>
else
<statemen 2>;
end
end
begin
Contoh Program
Program kelulusan;
Uses crt;
var nilai : integer;
ket : string[5];
nm : string[25];
begin clrscr;
write(‘Nama mahasiswa :’);readln(nama);
write(‘Inputkan nilainya [1-100] :’);readln(nilai);
if nilai>65 then
ket:=”Lulus”;
else
ket:=”gagal”;
writeln(‘Mahasiswa ‘,nama,’ : ,ket’);readln;C
end.
Tugas :
Buatlah Program untuk menampilakan Grade seorang mahasiswa dengan :
Input : Nim Mahasiswa, Nama Mahasiswa, Nilai
Proses : Jika Nilai > 85 maka Grade = A dan Ket = Sangat Memuaskan
Jika Nilai > 70 maka Grade = B dan Ket = Memuaskan
Jika Nilai > 60 maka Grade = C dan Ket = Cukup
Jika Nilai > 40 maka Grade = C dan Ket = Kurang
Jika Nilai > 20 maka Grade = C dan Ket = Sangat Kurang
Ouput : NIM & Nama Mahasiswa, Nilai, Grade dan Keterangan
if <kondisi 3> then
begin
if <kondisi 4> then
<statemen 1>
else
<statemen 2>;
end
end
begin
Contoh Program
Program kelulusan;
Uses crt;
var nilai : integer;
ket : string[5];
nm : string[25];
begin clrscr;
write(‘Nama mahasiswa :’);readln(nama);
write(‘Inputkan nilainya [1-100] :’);readln(nilai);
if nilai>65 then
ket:=”Lulus”;
else
ket:=”gagal”;
writeln(‘Mahasiswa ‘,nama,’ : ,ket’);readln;C
end.
Tugas :
Buatlah Program untuk menampilakan Grade seorang mahasiswa dengan :
Input : Nim Mahasiswa, Nama Mahasiswa, Nilai
Proses : Jika Nilai > 85 maka Grade = A dan Ket = Sangat Memuaskan
Jika Nilai > 70 maka Grade = B dan Ket = Memuaskan
Jika Nilai > 60 maka Grade = C dan Ket = Cukup
Jika Nilai > 40 maka Grade = C dan Ket = Kurang
Jika Nilai > 20 maka Grade = C dan Ket = Sangat Kurang
Ouput : NIM & Nama Mahasiswa, Nilai, Grade dan Keterangan
BRANCHING
Lanjutan
2.1 Statemen
Case
Pernyataan CASE dipergunakan apabila kita menulis program yang memerlukan banyak pernyataan IF...THEN...ELSE, sehingga program akan tampak lebih jelas untuk dibaca.
Statemen Case dapat berbentuk struktur Case--Of atau Case--Of…Else.
1. Syntaks Penulisan untuk Case- - Of
CASE variable OF
:
perintah;
:
end
2. Syntaks Penulisan untuk Case- - Of…Else
CASE variable OF
:
perintah 1;
:
else
perintah N;
end
Contoh Program
Program nilai_ujian;
uses crt;
var nilai : char;
begin clrscr;
write(‘Nilai huruf yang didapat ? ‘);readln(nilai);
Case nilai of
‘A’ : writeln(‘Sangat Memuaskan’);
‘B’ : writeln(‘Memuaskan’);
‘C’ : writeln(‘Cukup’);
‘D’ : writeln(‘Kurang’);
‘E’,’F’ : writeln(‘Gagal’); readln;
end;
end.
Pernyataan CASE dipergunakan apabila kita menulis program yang memerlukan banyak pernyataan IF...THEN...ELSE, sehingga program akan tampak lebih jelas untuk dibaca.
Statemen Case dapat berbentuk struktur Case--Of atau Case--Of…Else.
1. Syntaks Penulisan untuk Case- - Of
CASE variable OF
:
perintah;
:
end
2. Syntaks Penulisan untuk Case- - Of…Else
CASE variable OF
:
perintah 1;
:
else
perintah N;
end
Contoh Program
Program nilai_ujian;
uses crt;
var nilai : char;
begin clrscr;
write(‘Nilai huruf yang didapat ? ‘);readln(nilai);
Case nilai of
‘A’ : writeln(‘Sangat Memuaskan’);
‘B’ : writeln(‘Memuaskan’);
‘C’ : writeln(‘Cukup’);
‘D’ : writeln(‘Kurang’);
‘E’,’F’ : writeln(‘Gagal’); readln;
end;
end.
LOOPING
(Struktur Perulangan)
Struktur Perulangan pada Pascal menggunakan statemen For,
While-Do dan Repeat..Until. Pada pertemuan ini yang akan dibahas adalah
struktur perulangan FOR.
FOR digunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan. Perulangan FOR dibedakan menjadi :
1. Perulangan Positif, adalah perulangan dengan penghitung (counter) dari kecil ke besar atau dengan kata lain pertambahannya positif. Perulanagn positip dapat dibentuk dengan menggunakan statemen FOR-TO-DO, syntaks penulisannya :
FOR <variabel kontrol> := <nilai-awal> TO <nilai-akhir> DO <perintah>
Variabel-kontrol, nilai-awal, nilai-akhir harus mempunyai tipe yang sama, yaitu bertipe integer.
2. Perulangan Negatif, perulangan dengan penghitung (counter) dari besar k eke kecil atau dengan kata lain pertambahannya negative. Perulangan negative dapat dibentuk dengan menggunakan statemen FOR-DOWN-TO, syntaks penulisannya :
FOR <variabel kontrol>:=<nilai-awal>DOWN TO <nilai-akhir>DO<perintah>
3. Perulangan Tersarang (Nested loop), adalah perulangan yang berada di dalam perulangan yang lainnya. Perulangan yang lebih dalam akan diproses 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 Program
Program ulang_kata;
uses crt;
var I : integer;
begin clrscr;
For I := 1 to 5 Do
begin
write(I);
writeln(‘Belajar Pascal’);
end;
FOR digunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan. Perulangan FOR dibedakan menjadi :
1. Perulangan Positif, adalah perulangan dengan penghitung (counter) dari kecil ke besar atau dengan kata lain pertambahannya positif. Perulanagn positip dapat dibentuk dengan menggunakan statemen FOR-TO-DO, syntaks penulisannya :
FOR <variabel kontrol> := <nilai-awal> TO <nilai-akhir> DO <perintah>
Variabel-kontrol, nilai-awal, nilai-akhir harus mempunyai tipe yang sama, yaitu bertipe integer.
2. Perulangan Negatif, perulangan dengan penghitung (counter) dari besar k eke kecil atau dengan kata lain pertambahannya negative. Perulangan negative dapat dibentuk dengan menggunakan statemen FOR-DOWN-TO, syntaks penulisannya :
FOR <variabel kontrol>:=<nilai-awal>DOWN TO <nilai-akhir>DO<perintah>
3. Perulangan Tersarang (Nested loop), adalah perulangan yang berada di dalam perulangan yang lainnya. Perulangan yang lebih dalam akan diproses 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 Program
Program ulang_kata;
uses crt;
var I : integer;
begin clrscr;
For I := 1 to 5 Do
begin
write(I);
writeln(‘Belajar Pascal’);
end;
end.
LOOPING
Lanjutan
1. WHILE…DO
Digunakan untuk melakukan proses peulangan suatu statemen atau blok statemen terus menerus selama kondisi ungkapan-logika pada While masih bernilai logika benar. Syntaks penulisannya :
statemen While à While à ungkapan logika à Do à stetemen à
Contoh Program
Program ulang_01;
uses crt;
var I : integer;
begin clrscr;
I := 0;
While I < 5 Do
begin
Writeln(I);
I := I + 1;
end;
end.
2. REPEAT…UNTIL
Digunakan untuk mengulang (Repeat) statemen-statemen atau blok statemen sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi. Syntaks penulisannya :
Statemen Repeat à Repeat à statemen à Until à ungkapan à
Contoh Program
Program ulang_02;
uses crt;
var I : integer;
begin clrscr;
I := 0;
Repeat
I := I + 1;
writeln(I);
Until I = 5;
end.
3. WHILE…DO Tersarang, merupakan perulangan While-Do yang berada didalam perulangan While-Do yang lainnya
4. REPEAT…UNTIL Tersarang, merupakan perulangan Repeat-Until yang berada didalam perulangan Repeat…Until yan lainnya.
Digunakan untuk melakukan proses peulangan suatu statemen atau blok statemen terus menerus selama kondisi ungkapan-logika pada While masih bernilai logika benar. Syntaks penulisannya :
statemen While à While à ungkapan logika à Do à stetemen à
Contoh Program
Program ulang_01;
uses crt;
var I : integer;
begin clrscr;
I := 0;
While I < 5 Do
begin
Writeln(I);
I := I + 1;
end;
end.
2. REPEAT…UNTIL
Digunakan untuk mengulang (Repeat) statemen-statemen atau blok statemen sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi. Syntaks penulisannya :
Statemen Repeat à Repeat à statemen à Until à ungkapan à
Contoh Program
Program ulang_02;
uses crt;
var I : integer;
begin clrscr;
I := 0;
Repeat
I := I + 1;
writeln(I);
Until I = 5;
end.
3. WHILE…DO Tersarang, merupakan perulangan While-Do yang berada didalam perulangan While-Do yang lainnya
4. REPEAT…UNTIL Tersarang, merupakan perulangan Repeat-Until yang berada didalam perulangan Repeat…Until yan lainnya.
ARRAY (Larik)
1. Pendahuluan
Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel). Suatu array dinyatakan dengan type, sehingga variabel yang bekerja akan dinyatakan dengan:
contoh type
A = array [1..10] of integer;
Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel). Suatu array dinyatakan dengan type, sehingga variabel yang bekerja akan dinyatakan dengan:
contoh type
A = array [1..10] of integer;
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
Secara logika pendefinisian array di atas merupakan
sekumpulan kotak , dimana tiap kotak mempunyai nilai indeks integer 1, 2, 3,
...,9, 10 tiap elemen array ditandai dengan:
A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10]
2. Sifat Array
Array merupakan struktur data yang statis, yaitu jumlah elemen yang ada harus ditentukan terlebih dahulu dan tak bisa di ubah saat program berjalan. Untuk menyatakan array dalam PASCAL kita harus terlebih dahulu:
Mendefinisikan jumlah elemen array,-
Mendefinisikan- tipe data dari elemen array
Contoh. const N=10;
type
A= array [1..N] of integer;
3. Array Satu Dimensi
Pernyataan di atas merupakan penjelasan tentang array dengan satu dimensi. Pendefinisian array secara umum adalah sebagai berikut: jika kita ingin membuat beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan dengan type selanjutnya dengan deklarasi var.
SYNTAX
Type nama_array = ARRAY[bawah..atas] of tipe_data;
var variabel_array : nama_array;
atau dengan menggunakan statemen var :
var variabel_array : ARRAY[bawah..atas] of tipe_data;
Penjelasan: Bawah dan Atas menyatakan batas untuk array. tipe_data adalah merupakan tipe variabel yang dipunyai array (mis. Integer, char, real, dsb)
Contoh:
type intarray = ARRAY [1..20] of integer;
Pernyataan diatas adalah pernyataan untuk membentuk suatu array bernama intarray,yang berisi 20 tempat untuk bilangan integer. Setiap posisi disebut elemen, yang menyimpan suatu bilangan integer.langkah berikutnya adalah membuat suatu variabel kerja dengan tipe intarray yaitu,
var numbers : intarray;
kita bisa melakukan operasi pada setiap elemen dari numbers secara individual.
Contoh kita bisa memberi nilai pada suatu elemen array seperti berikut:
numbers[2] := 10;
perintah ini memberikan suatu nilai integer 10 pada elemen ke-2 dari array numbers. Nomor dari elemen ditempatkan didalam kurung tegak. Contoh berikut adalah merupakan array yang menyimpan variabel-variabel integer. Data dengan tipe integer hanya bisa dimasukkan satu persatu, kemudian baru bisa ditampilkan di monitor secara bersamaan
A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10]
2. Sifat Array
Array merupakan struktur data yang statis, yaitu jumlah elemen yang ada harus ditentukan terlebih dahulu dan tak bisa di ubah saat program berjalan. Untuk menyatakan array dalam PASCAL kita harus terlebih dahulu:
Mendefinisikan jumlah elemen array,-
Mendefinisikan- tipe data dari elemen array
Contoh. const N=10;
type
A= array [1..N] of integer;
3. Array Satu Dimensi
Pernyataan di atas merupakan penjelasan tentang array dengan satu dimensi. Pendefinisian array secara umum adalah sebagai berikut: jika kita ingin membuat beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan dengan type selanjutnya dengan deklarasi var.
SYNTAX
Type nama_array = ARRAY[bawah..atas] of tipe_data;
var variabel_array : nama_array;
atau dengan menggunakan statemen var :
var variabel_array : ARRAY[bawah..atas] of tipe_data;
Penjelasan: Bawah dan Atas menyatakan batas untuk array. tipe_data adalah merupakan tipe variabel yang dipunyai array (mis. Integer, char, real, dsb)
Contoh:
type intarray = ARRAY [1..20] of integer;
Pernyataan diatas adalah pernyataan untuk membentuk suatu array bernama intarray,yang berisi 20 tempat untuk bilangan integer. Setiap posisi disebut elemen, yang menyimpan suatu bilangan integer.langkah berikutnya adalah membuat suatu variabel kerja dengan tipe intarray yaitu,
var numbers : intarray;
kita bisa melakukan operasi pada setiap elemen dari numbers secara individual.
Contoh kita bisa memberi nilai pada suatu elemen array seperti berikut:
numbers[2] := 10;
perintah ini memberikan suatu nilai integer 10 pada elemen ke-2 dari array numbers. Nomor dari elemen ditempatkan didalam kurung tegak. Contoh berikut adalah merupakan array yang menyimpan variabel-variabel integer. Data dengan tipe integer hanya bisa dimasukkan satu persatu, kemudian baru bisa ditampilkan di monitor secara bersamaan
Contoh a.
Contoh Program
program INT_ARRAY;
uses crt;
const N=10;
type int_array = ARRAY [1..N] of integer;
var bil : int_array;
indeks : integer;
BEGIN
writeln('masukkan sepuluh bilangan integer.');
for indeks := 1 to 10 do
begin
readln(bil[indeks]); { loop untuk memasukkan elemen array }
end;
writeln('Isi dari array ini adalah'); { tampilkan setiap elemen }
for indeks := 1 to 10 do
begin
writeln('bil[', indeks:2,'] adalah ',bil[indeks] );
end
END.
4. Array Multidimensi
Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom .
SYNTAX
Type nama_array =ARRAY[bawah..atas, bawah..atas] of tipe_data;
var variabel_array : nama_array;
atau dengan menggunakan statemen var :
SYNTAX var variabel_array : ARRAY[bawah..atas, bawah..atas] of tipe_data;
Pernyataan berikut membentuk suatu array integer dengan nama bilangan , 10 x 10 elemen (100).
type matriks = ARRAY [1..10, 1..10] of integer;
var AKU: matriks;
untuk memasukkan tiap elemen maka, diperlukan suatu procedure dengan mempergunakan struktur pengulangan for ...do tersarang seperti berikut
program INT_ARRAY;
uses crt;
const N=10;
type int_array = ARRAY [1..N] of integer;
var bil : int_array;
indeks : integer;
BEGIN
writeln('masukkan sepuluh bilangan integer.');
for indeks := 1 to 10 do
begin
readln(bil[indeks]); { loop untuk memasukkan elemen array }
end;
writeln('Isi dari array ini adalah'); { tampilkan setiap elemen }
for indeks := 1 to 10 do
begin
writeln('bil[', indeks:2,'] adalah ',bil[indeks] );
end
END.
4. Array Multidimensi
Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom .
SYNTAX
Type nama_array =ARRAY[bawah..atas, bawah..atas] of tipe_data;
var variabel_array : nama_array;
atau dengan menggunakan statemen var :
SYNTAX var variabel_array : ARRAY[bawah..atas, bawah..atas] of tipe_data;
Pernyataan berikut membentuk suatu array integer dengan nama bilangan , 10 x 10 elemen (100).
type matriks = ARRAY [1..10, 1..10] of integer;
var AKU: matriks;
untuk memasukkan tiap elemen maka, diperlukan suatu procedure dengan mempergunakan struktur pengulangan for ...do tersarang seperti berikut
Contoh Program
Program Coba;
procedure ISI_MATRIK(AKU:matriks; m,n:integer);
var
i,j: integer; {faktor pengulang}
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
read(A[i,j]);
end;
readln ;{ini memungkinkan kita menulis tiap baris elemen}
end;
Program Coba;
procedure ISI_MATRIK(AKU:matriks; m,n:integer);
var
i,j: integer; {faktor pengulang}
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
read(A[i,j]);
end;
readln ;{ini memungkinkan kita menulis tiap baris elemen}
end;
Komentar
Posting Komentar