DISUSUN OLEH :
KELOMPOK 3
Segala Puji bagi Allah sebesar pujian yang dapat memenuhi kesyukuran atas nikmat-
Nya kepada kita semua sehingga penyusunan laporan ini dapat terselesaikan. Rahmat yang
paling utama dan salam yang paling sempurna semoga terlimpah kepada penutup para Nabi
dan Rasul Muhammad saw pembawa agama yang sangat bijaksana dan terpelihara dari
segala macam perubahan dan pergantian berkat pemeliharaan Allah Rabb al ‘Alamiin sampai
hari akhir.
Laporan ini mengenai tentang Pemrograman Bahasa Pascal yang disusun untuk
memenuhi salah satu tugas mata kuliah Algoritma dan Pemrograman Dasar. Laporan ini
disusun selain bertujuan untuk memenuhi tugas juga untuk memeberikan penjelasan
mengenai Pemrograman Bahasa Pascal.
Besar harapan kami semoga laporan ini dapat bermanfaat bagi semua pihak yang
memerlukannya. Amin.
penulis
DAFTAR ISI
KATA PENGANTAR
DAFTAR ISI
BAB I.PENDAHULUAN.............................................................................1
LATAR BELAKANG......................................................................................................................1
RUMUSAN MASALAH.................................................................................................................2
TUJUAN......................................................................................................................................2
BAB II.PEMBAHASAN..............................................................................3
PENGERTIAN PASCAL.................................................................................................................3
MENGENAL TIPE DATA...............................................................................................................4
DEFINISI TIPE DATA....................................................................................................................4
IF THEN ELSE DALAM PASCAL....................................................................................................5
PERNYATAAN PERULANGAN......................................................................................................6
PENGERTIAN PROSEDUR DAN FUNGSI....................................................................................13
PENDEFINISIAN FUNGSI...........................................................................................................18
SORTING (PENGURUTAN DATA)..............................................................................................27
REKURSIF.................................................................................................................................31
BAB III.PENUTUP....................................................................................32
KESIMPULAN............................................................................................................................32
BAB I
PENDAHULUAN
LATAR BELAKANG
Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala
tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University of Zurich,
Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli
matematik dan filosofer terkenal abad 17 dari Perancis.
Profesor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk
komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971
dengan tujuan membantu mengajar program komputer secara sistematis, khususnya untuk
memperkenalkan pemrograman terstruktur.
Dalam waktu singkat, Pascal telah menjadi bahasa yang populer di kalangan pelajar
universitas dan merupakan bahasa yang diajarkan di beberapa perguruan tinggi. Beberapa
profesional komputer juga mulai beralih ke bahasa Pascal. Kenyataannya, Pascal merupakan
bahasa yang paling cepat populer dibandingkan dengan bahasa-bahasa komputer tingkat
tinggi yang lainnya.
Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K.Jensen dan Niklaus Wirth.
Penerapan nyata dari standar Pascal banyak yang berbeda dengan seperti apa yang telah
didefinisikan oleh K. Jensen dan Niklaus Wirth. Standar Pascal di Eropa didefinisiakn oelh
ISO (International Standards Organization) dan di Amerika oleh kerjasama antara ANSI
(American National Standar Institute) dengan IEEE (Intitute of Electrical and Electronic
Engineer).
Beberapa versi dari Pascal yang telah beredar di pasaran, di antaranya UCSD pascal
(University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal), Apple Pascal,
Turbo Pascal dan lain sebagainya. Sampai saat ini untuk komputer-komputer mikro dan
personal, Turbo Pascal merupakan versi bahasa Pascal yang paling populer dan banyak
digunakan. Kompiler Turbo Pascal banyak digemari, karena terutama bersifat interaktif,
seperti interpreter saja layaknya. Selain itu Turbo Pascal mengikuti definisi dari standar
Pascal seperti yang didefinisikan oleh K. Jensen dan Niklaus Wirth di Pascal User Manual
dan Report. Turbo PASCAL adalah copyright dari Borland Inc. dan dapat digunakan pada
sistem operasi PC-DOS, MS-DOS, CPM-86 dan CP/M-80. Berikut yang penulis pakai adalah
Turbo Pascal versi 7.0.
RUMUSAN MASALAH
1. pengertian pascal
2. mengenal tipe data
3. definisi tipe data
4. if then else dalam pascal
5. pernyataan perulangan
6. pengertian prosedur dan fungsi
7. pendefinisian fungsi
8. sorting (pengurutan data)
9. rekursif
TUJUAN
Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth,
seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971.
Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali
menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai
alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain
itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan
bahasa pemrograman yang ada pada saat itu.
Pascal adalah bahasa tingkat tinggi yang orientasinya pada segala tujuan, dirancang oleh Prof.
Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama Pascal diambil
sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan filosofi terkenal abad 17 dari
Prancis.
Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC
6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk
membantu mengajar program komputer secara sistematis, khususnya pemrograman
terstruktur. Pada perkembangannya banyak versi-versi pascal yang beredar, antara lain: MS-
Pascal, Apple Pascal, Turbo Pascal, dll. Pascal merupakan salah satu bahasa pemrograman
tingkat tinggi yang berbasis text (bukan visual). Dari sekian banyak varian Pascal, Turbo
Pascal (Borland) adalah yang paling terkenal. Seperti halnya Basic dengan Visual Basic-nya,
Pascal pun memiliki tingkatan lebih tinggi yaitu Delphi / Kylix.
DEFINISI VARIABLE
Suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam
proses program yang nilainya bisa diubah – ubah sesuai kebutuhan
1. Variable boleh gabungan huruf dan angka, tetapi tidak boleh diawali dengan
angka
SYARAT VARIABLE
Jenis data atau nilai yang dapat ditampung oleh sebuah variable
Jenis data atau nilai yang dapat ditampung oleh sebuah variable
Tipe Data Standar adalah tipe data dasar yang sering digunakan dalam pemrograman (Tipe
data primitive)
Tipe Data Terstruktur adalah tipe data yang dapat digunakan untuk menampung beberapa tipe
data pada sebuah variable sehingga saling berhubungan dan dapat disusun dalam satu struktur
Tipe data integer adalah tipe data yang terdiri dari angka bulat (tidak mengandung nilai
pecahan atau nilai desimal). Nilai ini bisa berbentuk angka positif maupun negatif, contohnya
3, 99, 1114, -44, 10000, atau 128730123.
Tipe data real adalah tipe data angka yang mengandung nilai pecahan (baik positif
maupun negatif), seperti: 3.14, 99.99, atau 679073.22
Tipe data char adalah Char adalah semua tombol yang terdapat pada keyboard atau
lebih lengkapnya semua karakter yang terdapat pada kode ASCII.
Tipe data boolean adalah tipe data yang hanya bisa diisi dengan 1 diantara 2 nilai:
true atau false (benar atau salahMacam – macam tipe data TERSTRUKTUR
Array atau larik terdiri atas bagian-bagian komponen yang memiliki tipe data sama.
Dalam penyimpanannya array selalu mempunyai jumlah komponen yang tetap yang
ditunjukkan oleh indeksnya.
Record terdiri dari komponen yang memiliki tipe data berbeda – beda
program Luas_Persegi_Panjang;
var
panjang : integer;
lebar : integer;
luas : integer;
begin
luas:=panjang*lebar;
end.
program struktur_if_then_else;
uses crt;
var
angka: integer;
begin
clrscr;
angka := 4;
begin
end
else
begin
writeln('Variabel "angka" lebih kecil dari 5');
end;
readln;
end.
PERNYATAAN PERULANGAN
Pengulangan (loop) merupakan bentuk yang sering ditemui di dalam suatu program aplikasi.
Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan
percabangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok
statement berulang kali sesuai sejumlah yang ditentukan pemakai. Pengulangan dapat
dilakukan sejumlah kali, atau sampai kondisi berhenti dan pengulangan tercapai. Di dalam
bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan pernyataan For,
While-Do, dan Repeat…Until.
Pernyataan FOR
Perulangan Positif
Perulangan positif adalah perulangan dengan penghitung dari kecil ke besar atau
pertambahan positif. Perulangan positif dapat dibentuk dengan menggunakan pernyataan For-
To-Do, dengan bentuk umum:
Program cetak;
Uses wincrt;
Var
I:Integer;
Begin
For I:= 1 to 5 Do Writeln(‘sedang belajar for’);
End.
Program penjumlahan_deret;
Uses wincrt;
Var
N :integer;
I :integer;
Jumlah:integer;
Begin
Write (‘berapa N ?’);readln(N);
Jumlah:=0;
For I := 1 to N do
Begin
Jumlah := jumlah + i
End;
Writeln (‘jumlah deret = ‘ , jumlah);
End.
Perulangan Negatif
Perulangan negatif adalah perulangan dengan penghitung dari besar ke kecil atau
pertambahan negatif. Perulangan negatif dapat dibentuk dengan menggunakan pernyataan
For-DownTo-Do, dengan bentuk umum:
For variabel-kontrol := nilai awal DownTo nilai akhir Do
penyataan
Program cetak_menurun;
Uses wincrt;
Var
I:integer;
Begin
For I:=5 downto 1 do
Begin
Writeln(I);
End;
End.
Perulangan Bersarang
Perulangan bersarang adalah perulangan yang berbeda di dalam perulangan yang lainnya.
Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian
perulangan yang lebih luar baru akan akan bertambah, mengerjakan perulangan yang lebh
dalam lagi mulai dari nilai awalnya dan seterusnya.
111213
212223
313233
414243
515253
Program cetak2;
Uses wincrt;
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.
Pernyataan WHILE
Pada struktur WHILE, aksi (atau runtunan aksi) akan dilaksanakan berulang kali selama
kondisi bernilai true. Jika kondisi bernilai false, badan pengulangan tidak akan dilaksanakan,
yang berarti pengulangan selesai. Yang harus diperhatikan adalah pengulangan harus
berhenti. Pengulangan yang tidak pernah berhenti menandakan bahwa logika pemrograman
tersebut salah. Pengulangan berhenti apabila kondisi bernilai false. Agar kondisi suatu saat
bernilai false, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai
variabel kondisi.
while kondisi do
aksi
Program perulanganwhile;
Uses wincrt;
Var
I:integer;
Begin
writeln('Program Perulangan dengan While');
I:=1;
While i<= 10 do
Begin
Writeln(i); I:=i+1;
End;
End.
Contoh 2. Menghitung rata-rata dengan while dengan syarat nilai tidak boleh nol.
Program rerata2;
uses wincrt;
var i,x,jumlah:integer;
rerata:real;
begin
writeln('Masukan nilai-nilai (0 untuk berhenti)=');
readln(x);
i:=0;
while x<>0 do
begin
i:=i+1;
jumlah:=jumlah+x;
read(x);
end;
rerata:=jumlah/i;
writeln(‘Jumlah=’,jumlah);
writeln(‘Rerata=’,rerata);
end.
Pernyataan REPEAT
Repeat
(pernyataan-pernyataan yang akan diulang)
until kondisi
Program cetak;
Uses wincrt;
Var
i : Integer;
Begin
i:=0;
Repeat
i:= i+1;
Writeln (i);
Until i=5;
End.
Uses wincrt;
Var
n : integer;
Begin
n:= 1;
Repeat
Writeln ('Ulangan ke :',n);
n:= n + 1;
Until n >= 10;
Readln;
End.
program berat_badan;
uses wincrt;
var
t,m:real;
j:char;
begin
repeat
begin
write('Masukkan tinggi badan Anda=');readln(t);
m:=((t-100)-(0.1*(t-100)));
writeln('Berat ideal Anda= ',m:2:0);
write('Anda Ingin menghitung lagi?=');readln(j);
end;
until (j<>'y');
end.
Repeat – Until tersarang adalah suatu perulangan Repeat – Until yang satu berada didalam
perulangan Repeat – Until yang lainnya.
Contoh 4: Program mencetak baris dan kolom menggunakan repeat until bersarang
Program Perulangan_Repeat_2;
Var I, J : Integer;
Begin
I:= 0;
Repeat
I:= I + 1;
J:= 0;
Repeat
J:= J + 1;
Writeln (I : 5, J : 5);
Until J = 3;
Until j = 3;
End.
Input : nama, alamat, golongan (A dan B), dan status (tidak menikah, janda, duda, sudah
menikah). Jika termasuk golongan A maka gaji pokok Rp.500.000. Jika golongan B maka
gaji pokok Rp.1000.000. jika status sudah menikah maka mendapatkan tunjangan sebesar 10
% dari gaji pokok, selain itu tidak mendapatkan tunjangan. Gaji bersih pegawai adalah gaji
pokok + tunjangan. Output : nama, alamat, golongan, status, tunjangan, total gaji.
Program gaji;
uses crt;
var
gapok: longint;
gaji,tunj: real;
gol: char;
nama, alamat, status: string;
begin
clrscr;
write('Masukkan nama : '); readln(nama);
write('Masukkan alamat : '); readln(alamat);
repeat
write('Masukkan golongan : '); readln(gol);
gol := UpCase(gol);
until (gol = 'A') or (gol = 'B');
repeat
write('Masukkan status : '); readln(status);
until (status='tidak menikah') or (status='janda') or
(status = 'duda') or (status='sudah menikah');
if gol = 'A' then
gapok := 500000
else
gapok := 1000000;
if status = 'sudah menikah' then
tunj := 0.1 * gapok
else
tunj := 0;
gaji := gapok + tunj;
clrscr;
writeln('Nama anda adalah ',nama,' dan beralamat di ',alamat);
write('Anda bekerja di Golongan ',gol);
writeln(' sehingga gaji pokok anda sebesar Rp', gapok);
writeln('Status anda adalah ', status);
writeln('Sehingga anda mendapat tunjangan sebesar Rp', tunj:0:0);
writeln('Berdasarkan hal tersebut, total gaji anda sebesar Rp', gaji:0:0);
readln;
end.
Di dalam pemrograman prosedur dan fungsi memiliki pengertian yang sama yaitu sebagai
sebuah program terpisah (sub-program) yang berfungsi untuk mengerjakan tugas tertentu.
Tujuan dibuatnya prosedur atau fungsi adalah untuk memudahkan dalam proses ngoding,
karena setiap tugas atau fungsi nantinya dapat di kelompokan ke dalam satu blok program
(sub-program) yang terpisah dari program utama. sehingga proses yang kelihatannya rumit
dapat di pecah menjadi bagian-bagian yang lebih sederhana.
Selain itu ketika kita sudah mendefinisikan suatu prosedur atau fungsi, maka cukup
membuatnya sekali saja dan seterusnya jika ingin menggunakannya kita hanya perlu
memanggilnya dari program utama, hal ini membuat program lebih efisien karena tidak perlu
membuat perintah yang sama berulang-ulang.
Walaupun tujuan fungsi dan prosedur sama sebagai sub program namun keduanya memiliki
sifat dan ciri-ciri yang berbeda. Berikut ini adalah perbedaannya:
Perbedaan yang kedua, prosedur tidak memiliki tipe data sedangkan fungsi mempunyai tipe
data
Karena fungsi memiliki tipe data maka fungsi akan mengembalikan nilai sesuai dengan tipe
nya saat fungsi tersebut dipanggil.
Pendefinisian Prosedur
Program Nama_Program;
Procedure Nama_Prosedur;
Begin
........
........
End;
Begin
.........
.........
End.
Setiap prosedur mempunyai nama yang unik, sebaiknya nama prosedur diawali dengan kata
kerja misalnya HitungKeliling, CariBilangan, CetakNilai dan lain sebagainya.
Program Procedure_1 ;
uses crt;
//Mendefinisikan prosedur
procedure CetakHello;
begin
writeln('Hello World');
end;
Begin
//Memanggil prosedur
CetakHello;
end.
Prosedur tersebut di panggil pada program utama dengan cara menyebutkan nama
prosedur CetakHello.
Hasil Keluaran
Program Procedure_2 ;
uses crt;
var
//Mendefinisikan prosedur
begin
hasil:=a+b;
end;
Begin
//Memanggil prosedur
HitungPenjumlahan(bil1,bil2);
end.
Variabel a dan b merupakan variabel lokal, dimana ruang lingkup aksesnya hanya pada
prosedur itu sendiri, tidak dapat di akses oleh prosedur lain ataupun pada program utama.
Saat program di jalankan, pengguna akan memasukan bilangan pertama dan kedua yang di
tampung pada variabel bil1 dan bil2 (keduanya merupakan variabel global) yang kemudian
nilainya menjadi pelewatan parameter pada prosedur HitungPenjumlahan.
Hasil Keluaran
Program Procedure_3 ;
uses crt;
var
i, N : integer;
a, t : real;
L : real;
//Mendefinisikan prosedur
begin
luas:=(alas*tinggi)/2;
end;
Begin
for i:=1 to N do
begin
//Memanggil prosedur
HitungLuasSegitiga(a,t,L);
writeln();
end;
end.
Pada contoh prosedur yang ketiga kita membuat program untuk menghitung sejumlah N luas
segitiga dengan menggunakan prosedur HutungLuasSegitiga dengan melewatkan 3 parameter
yakni alas, tinggi dan luas yang masing-masing bertipe real. Prosedur ini akan mengerjakan
instruksi untuk menghitung luas segitiga dengan rumus luas=(alas*tinggi)/2;
Karena program akan menghitung sejumlah N luas segitiga, maka kita perlu melakukannya
dengan menggunakan perulangan for do. Nilai N akan menjadi batas perulangan akan
dilakukan.
Pengguna akan memaukan alas dan tinggi segitiga yang di tampung pada variabel a dan t
yang merupakan variabel global, yang selanjutnya nilainya akan di lewatkan pada
prosedur HutungLuasSegitiga.
PENDEFINISIAN FUNGSI
Pendefinisian fungsi sama halnya dengan prosedur, yang membedakan pada kata kunci
menggunakan function sebelum nama fungsi di deklarasikan.
Selain itu fungsi juga memiliki tipe yang mendefinisikan tipe nilai yang diberikan oleh
fungsi, tipe dapat berupa tipe dasar atau bentukan. Nantinya fungsi akan mengembalikan nilai
sesuai dengan tipe fungsi tersebut.
Perlu diketahui setiap variabel/konstanta yang di deklarasikan di dalam fungsi hanya dapat
digunakan dalam fungsi itu sendiri(tidak untuk fungsi lain atau program utama), hal ini kita
kenal dengan istilah variabel lokal.
Program Nama_Program;
Begin
........
........
End;
Begin
.........
.........
End.
Program Fungsi_1;
uses crt;
begin
HitungPerkalian:=a*b;
end;
Begin
write('Nilai X : ');readln(x);
write('Nilai Y : ');readln(y);
writeln;
readln;
end.
Pada program di atas kita membuat program untuk menghitung perkalian dua buah bilangan
menggunakan fungsi HitungPerkalian dengan parameter a dan b bertipe integer. Fungsi ini
akan mengembalikan nilai dengan mengalikan bilangan a dan b. Variabel a dan b merupakan
variabel lokal pada fungsi tersebut.
Pada bagian main program di deklarasikan variabel x dan y dengan tipe integer, nantinya
pengguna akan memasukan nilai x dan y dan nilai tersebut akan dilewatkan pada parameter
fungsi HitungPerkalian.
Program Fungsi_2;
uses crt;
Begin
End;
Var
bil: integer;
begin
clrscr;
if genap(bil) then
begin
end
else
begin
end;
readln;
end.
Pada contoh program yang kedua, untuk menentukan apakah suatu bilangan yang dimasukan
merupakan bilangan genap atau ganjil tentunya menggunakan function.
Fungsi di definisikan dengan nama genap yang membawa sebuah parameter x dengan tipe
integer. Fungsi genap bertipe boolean yang mana fungsi ini akan menghasilkan nilai
balik true atau false.
Fungsi genap akan mengerjakan instruksi untuk melakukan operasi modulus 2 terhadap nilai
x, jika menghasilkan nilai 0 maka fungsi tersebut bernilai true (artinya nilai x adalah genap).
Pada main program pengguna akan memasukan bilangan yang di tampung pada variabel bil
yang kemudian di cek kondisi jika fungsi genap bernilai true maka program menampilkan
bilangan genap sedangkan jika false akan menampilkan bilangan ganjil.
Program Fungsi_3;
uses crt;
Begin
Else
Faktor := faktor(bilangan-1)*bilangan;
End;
Var
n : integer;
begin
clrscr;
readln;
end.
Pada contoh yang ketiga program tentang faktorial, fungsi yang kita definisikan sebenarnya
sudah mengimplementai algoritma rekursif.
Fungsi yang di definisikan adalah faktor bertipe real dengan sebuah parameter bertipe
integer. Fungsi ini akan mengerjakan instruksi untuk menghitung faktorial suatu bilangan.
Pengertian Array
Array adalah suatu tipe atau struktur data yang dapat menyimpan sekumpulan elemen dengan
tipe yang sama, yang mana setiap elemen dapat di akses secara langsung melalui indeks nya.
tipe data indeks bisa berupa karakter atau integer.
Mendeklarasikan Array
Untuk menggunakan array di pascal, kita terlebih dahulu harus mendeklarasinya, maksudnya
di sini kita perlu menentukan seberapa banyak jumlah elemen array yang akan digunakan,
perlu diketahui juga bahwa jumlah elemen larik tidak dapat diubah, ditambah atau dikurangi
selama program berjalan. Berikut ini adalah contoh cara mendeklarasikan array:
var
A: array[0..4] of integer;
A merupakan array yang berukuran 5 buah elemen yang bertipe integer, dengan indeks array
di mulai dari 0 sampai indeks ke 4 jadi totalnya adalah 5 elemen array.
Secara default indeks array dimulai dari 0, walaupun begitu kita dapat mendeklarasikan array
dengan indeks yang dimulai dari 1
var
A: array[1..4] of integer;
ini berarti elemen array A hanya berjumlah 4 karena indeks array dimulai dari 1.
program Contoh1;
var
begin
nilai[0]:=80;
nilai[1]:=67;
nilai[2]:=56;
nilai[3]:=90;
nilai[4]:=78;
end.
Perhatikan pada program di atas array yang di deklarasikan berjumlah 5 elemen dari indeks
ke 0 sampai 4 dengan tipe integer.
nilai pada indeks ke-0 kita isi dengan dengan nilai 80, indeks ke-1 67, indeks ke-2 adalah 56
indeks ke-3 adalah 90 dan indeks ke-4 adalah 78. kemudian kita tampilkan di
layar console dengan perintah writeln(). Hasilnya seperti output berikut:
program Contoh2;
var
n,i: integer;
begin
for i := 1 to n do
begin
end;
writeln('------------------------');
for i := 1 to n do
begin
end.
Pada contoh yang kedua coba perhatikan pada bagian deklarasi array yang kita deklarasikan
dimulai dari indeks ke-1 sampai 50. secara default indeks array dimulai dari 0 namun kita
dapat menentukan dari indeks keberapa elemen array yang akan kita gunakan, dalam hal ini
elemen array pada indeks ke 0 tidak akan kita gunakan.
program Contoh3;
var
n,i,jmh : integer;
rata :real;
begin
jmh :=0;
for i := 1 to n do
begin
end;
rata :=jmh / n ;
writeln ('rata-rata:',rata:0:2);
readln;
end.
Pada contohyang ketiga tentang program pascal menggunakan array, kita membuat program
untuk menghitung nilai rata-rata. Setiap nilai akan di simpan pada elemen array x dengan
indeks sebanyak 100 elemen bertipe integer.
Ada beberapa variabel yang digunakan yaitu n, i dan jmh dengan tipe integer dan variabel
rata dengan tipe real. variabel n berfungsi sebagai nilai pembatas sampai di mana perulangan
akan dijalankan, nilai i berfungsi sebagai deret nilai yang akan di ulang dan menjadi nilai
indeks array yang akan di akses. variabel jmh berfungsi untuk menampung setiap nilai x[i]
yang di masukan pengguna dan terakhir variabel rata berfungsi untuk menampung hasil
pembagian antara jumlah data dan banyaknya data (n).
Saat perulangan berlangsung pengguna akan memasukan setiap nilai ke dalam array x dengan
mengacu pada indeks ke-i (x[i]).
Variabel jmh pada awalnya kita inisialisasikan dengan nilai 0, kemudian saat pengguna
memasukan nilai maka nilai tersebut akan dijumlahkan dan di tampung pada variabel jmh.
Saat kondisi bernilai false maka perulangan akan berhenti dan program akan menghitung
jumlah seluruh bilangan yang dimasukan dan nilai rata-rata dari bilangan tersebut.
Dapat di lihat pada hasil output diatas banyaknya data adalah 5 dengan setiap nilai
anggotanya adalah 78+98+67+90+56=389 maka rata-rata=389/5 hasilnya 77.8
Pengurutan data atau sorting merupakan jenis operasi penting dalam pengolahan data yang
banyak diterapkan dalam permasalahan sehari-hari. Saat ini telah dikenal beberapa
metode Pengurutan data, yaitu seleksi langsung (straight selection), gelembung (buble-sort
atau excenge sort), penyisipan langsung (straight insertion), penyisipan biner (binary
insertion), Shell sort (diminishing increment sort), quick sort (partition excenge sort), Radix
sort serta merge sort (two_way merge sort). Metode penyisipan biner dikembangkan dengan
menggabungkan metode penyisipan langsung dan metode pencarian biner. Dalam metode ini,
metode pencarian biner digunakan untuk menentukan lokasi penyisipan data yang akan
diurutkan.
Metode penyisipan
Memasukkan data yang belum urut kemudian diurutkan sekaligus disimpan ke memori
(array)
Contoh :
uses wincrt;
{$R-}
type
var
ArrayInteger : TipeArray;
procedure DaftarArray(var ArrayInt :TipeArray; JumlahElemen :Integer);
{procedure untuk menampilkan isi daftar pada ArrayInt}
var
indek : Integer;
begin
write(' Isi Daftar ',JumlahElemen,'Item :');
Write(ArrayInt[indek]:4);
writeln
end;
procedure sisip(var ArrayInt : TipeArray; ItemBaru, JumlahElemen :integer);
{prosedur untuk menyisipkan item baru ke dalam}
var
lokasi,indek:Integer;
begin
if JumlahElemen =1 then
ArrayInt[1] := ItemBaru
else
ArrayInt[JumlahElemen]:=ItemBaru
else
begin
lokasi :=1;
Lokasi := lokasi+1;
for indek :=JumlahElemen downTo lokasi do
ArrayInt[indek] :=ArrayInt[indek-1];
ArrayInt[lokasi] :=ItemBaru
end;
DaftarArray(ArrayInt,JumlahElemen)
end;
begin
{program utama}
{Masukkan data}
write (teks);
readln(DataItem);
JumlahItem :=0;
begin
JumlahItem:=JumlahItem +1;
sisip(ArrayInteger,DataItem,JumlahItem);
write(teks);
readln(DataItem)
end;
{Daftar sudah urut}
DaftarArray(ArrayInteger,JumlahItem)
end.
REKURSIF
Program Pangkat Rekursif menggunakan bahasa Pascal
program Pangkat_Rekursif;
uses crt;
var
b, x, hasil_pangkat : integer;
begin
write('Masukkan bilangan yang akan dipangkatkan : ');
readln(b);
write('Masukkan jumlah pangkat : ');
readln(x);
clrscr;
writeln('======================================');
writeln('| PROGRAM PANGKAT (REKURSIF) |');
writeln('| SRI WAHYUNI |');
writeln('| 1400018214 |');
writeln('| <08 JUNI 2015> |');
writeln('======================================');
writeln(' ');
writeln('b = ', b);
writeln('x = ', x);
writeln(' ');
Hasil Compile :
BAB III
PENUTUP
KESIMPULAN
sejarah singkat lahirnya bahasa pascal. Nama 'PASCAL' diambil dari seorang matematikawan
asal Prancis yang juga merupakan pioner dari perkembangan komputer. pada tahun 1641
pada usia 18 tahun ,Blaise Pascal telah membangun sebuah mesin aritmatika pertama yang
kemudian diperdebatkan sebagai komputer pertama. menurut sejarah yang ada, pada sekitar
tahun 1950, Blaise Pascal telah meninggalkan dunia geometri dan fisika dan memfokuskan
dirinya ke bidang agama, seperti yang dituangkan dalam tulisannya yang
berjudul contemplate the greatness and the misery of man . sampai akhirnya ia meninggal
dunia pada 19 agustus 1662. mula mula komputer dibuat dengan bahasa mesin dan
assembly. bahasa pemrograman jenis ini merupakan bahasa yang memiliki tingkat kesulitan
yang tinggi sehingga susah untuk dimengerti dan dimodifikasi. dengan demikian
pemrograman seperti itu tentu akan memakan biaya dan waktu yang besar. maka untuk
mengatasinya dibuatlah bahsa pemrograman tingkat tinggi, yang di desain , yang didesain
menyerupai bahasa manusia (bahasa inggris) . salah satu bahasa tersebut adalah PASCAL.
bahasa pascal sendiri selesai dikembangkan pada tahun 1970 oleh Niklaus Wirth. tujuan
diciptakannya bahasa pascal adalah untuk memudahkan para mahasiswa untuk mempelajari
pemrograman program komputer secara sistematis. bahasa pascal merupakan bahasa
pemrograman yang memliki struktur yang paling teratur. dibanding bahasa pemrograman
yang lain. maka dari itu bahasa pemrograman pascal sangat populer di kalangan akademisi.
sedangkan dunia industri, memang bahasa C++ lah yang merajai.
selain bahasa pascal original, bahasa yang pernah populer di dunia pascal adalah UCSD
Pascal yang berjalan di bawah sistem operasi P-System UCSD. sistem ini dikembangkan di
Universitas Calivornia yang dipimpin oleh Bowles. sistem operasi itu sendiri dikembangkan
menggunakan bahasa UCSD pascal.
pada tahun 1978 UCSD pascal juga digunakan untuk mengembangkan interpreter 6502
oleh Richard Gleaves dan Mark Allen. yang kemudian menjadi dasar pembentukan Apple
pascal yang dibentuk oleh Apple Computer. selanjutnya Apple computer merilis
implementasi objek pascal untuk pertama kalinya, yaitu versi terbaru Apple pascal yang
mendukung adanya pemrograman berarah objek yang lebih dikenal dengan OOP ( Object
oriented Programming)
setelah melalui beberapa proses pen-standar-an oleh ISO, akhirnya pada tahun 1993, Pascal
Standards Committee mempublikasikan ekstensi objek ke dalam bahasa pascal standar.