Showing posts with label Program Pascal. Show all posts
Showing posts with label Program Pascal. Show all posts
Monday, 29 October 2012
Koding Program Sorting Array dengan Urutan Ascending
Program Sorting Array dengan Urutan Ascending
program sorting;
uses crt;
const
nmax = 50;
type
rdata = record
nim : integer;
nama : string[30];
alamat : string[50];
end;
aData = array [1..nmax] of rdata;
var
{variabel global}
data : aData;
plh, ch : char;
x : integer;
{fungsi menu awal}
function menu : char;
var
c : char;
begin
clrscr;
writeln('--- Program Sorting Array dengan Urutan Ascending ---');
writeln;
writeln('1: Insertion Sort');
writeln('2: Selection Sort');
writeln('3: Bubble Sort');
writeln('4: Keluar Program');
repeat
writeln;
write('Pilih >> ');
c := readkey;
writeln(c);
if not (c in ['1'..'4']) then
writeln('Pilihan salah ...');
until(c in ['1'..'4']);
menu := c;
end;
procedure inputData(var A : aData; var n : integer);
var
i : integer;
begin
repeat
write('Berapa banyak data? ');
readln(n);
if n>0 then
begin
writeln;
for i:=1 to n do
begin
writeln('Mahasiswa ke-',i);
write('NIM : '); readln(data[i].nim);
write('Nama : '); readln(data[i].nama);
write('Alamat : '); readln(data[i].alamat);
writeln;
end;
end
else
writeln('Input salah...')
until(n>0);
end;
{prosedur Insertion Sort}
procedure iS(var A : aData; var ndata : integer);
var
temp,i,j : integer;
temp2,temp3 : string[50];
begin
clrscr;
writeln('Input Data Insertion Sort');
writeln;
inputData(A,ndata);
{rutin kode}
for i:=2 to ndata do
begin
temp := A[i].nim;
temp2 := A[i].nama;
temp3 := A[i].alamat;
j := i-1;
while ((temp<A[j].nim) and (j>=1)) do
begin
A[j+1].nim := A[j].nim;
A[j+1].nama := A[j].nama;
A[j+1].alamat := A[j].alamat;
j := j-1;
end;
A[j+1].nim := temp;
A[j+1].nama := temp2;
A[j+1].alamat := temp3;
end;
end;
{prosedur untuk tukar data}
procedure tukar(i,j : integer);
var
temp : integer;
temp2 : string[50];
begin
temp := data[i].nim;
data[i].nim := data[j].nim;
data[j].nim := temp;
temp2 := data[i].nama;
data[i].nama := data[j].nama;
data[j].nama := temp2;
temp2 := data[i].alamat;
data[i].alamat := data[j].alamat;
data[j].alamat := temp2;
end;
{prosedur Selection Sort}
procedure sS(var A : aData; var ndata : integer);
var
i,j,pos : integer;
begin
clrscr;
writeln('Input Data Selection Sort');
writeln;
inputData(A,ndata);
{rutin kode}
for i:=1 to ndata-1 do
begin
pos := i;
for j:=i+1 to ndata do
if (A[pos].nim > A[j].nim) then
pos := j;
if (pos<>i) then
tukar(pos,i);
end;
end;
{prosedur Bubble Sort}
procedure bS(var A : aData; var ndata : integer);
var
i,j : integer;
begin
clrscr;
writeln('Input Data Bubble Sort');
writeln;
inputData(A,ndata);
{rutin kode}
for i:=1 to ndata-1 do
for j:=ndata downto i+1 do
if (A[j].nim < A[j-1].nim) then
tukar(j,(j-1));
end;
{prosedur tampil data yang terurut Ascending}
procedure showUrut(A : aData; var ndata : integer);
var
i : integer;
begin
clrscr;
writeln('Tampilan Data Terurut');
writeln;
for i:=1 to ndata do
begin
writeln('NIM : ',A[i].nim);
writeln('Nama : ',A[i].nama);
writeln('Alamat : ',A[i].alamat);
writeln;
end;
end;
{program utama}
begin
repeat
plh := menu;
case plh of
'1' : iS(data,x);
'2' : sS(data,x);
'3' : bS(data,x);
'4' : exit;
end;
writeln;
writeln('Next >> Tampilan setelah data diurutkan...');
write('Tekan sembarang karakter untuk berikutnya...') ;
readkey;
showUrut(data,x);
repeat
writeln;
write('Tekan >> 1: Kembali ke Menu, 0: Keluar Program');
ch := readkey;
if not (ch in ['1','0']) then
writeln(' >> Pilihan salah...');
until(ch in ['1','0']);
until(ch = '0');
end.
Koding Program Pencarian data Nomor_induk pegwai
Pencarian data didasarkan pada Nomor_induk pegwai
program searching;
uses crt;
label h, z, g, f;
const max=100;
type pegawai=record
nomor : integer;
nama : string[30];
bagian :string[20];
gaji :integer;
end;
tabel=array[1..max] of pegawai;
tabel_1=array[1..max] of integer;
var
a:tabel;
b:tabel_1;
n:integer;
ni:integer;
i, j, temp:integer;
p:char;
pilih:integer;
procedure cari(a:tabel; n:integer; x:integer; var isearch:integer);
var
i:integer;
begin
if(n=0) then isearch:=0 else
begin
i:=1;
while ((a[i].nomor<x) and (i<n)) do
i:=i+1;
if (a[i].nomor=x) then
begin
writeln('Data yang dicari : ');
writeln('Nomor pegawai : ', a[i].nomor);
writeln('Nama pegawai : ', a[i].nama);
writeln('Bagian : ', a[i].bagian);
writeln('Gaji : ', a[i].gaji);
end
else
writeln('Data tidak ditemukan');
end;
end;
procedure biner(a:tabel; n:integer; x:integer; var isearch:integer);
var
bawah, atas:integer;
tengah:integer;
found:boolean;
begin
if (n=0) then isearch:=0 else
begin
bawah:=1;
atas:=n;
found:=false;
while ((not found) and (atas>=bawah)) do
begin
tengah:=(bawah+atas) div 2;
if (a[tengah].nomor=x) then
found:=true
else
if (a[tengah].nomor>x) then
atas:=tengah-1
else
bawah:=tengah+1;
end;
if found then
begin
isearch:=tengah;
writeln('Data yang dicari : ');
writeln('Nomor pegawai : ',a[i].nomor);
writeln('Nama pegawai : ',a[i].nama);
writeln('Bagian : ',a[i].bagian);
writeln('Gaji : ',a[i].gaji);
end;
end;
end;
begin
h:clrscr;
writeln;
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln('------ SEARCHING DATA ------');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln;
writeln;
write('Banyaknya data pegawai : ');readln(n);
writeln;
for i:=1 to n do
begin
write('Nomor pegawai ke-',i,' : '); readln(a[i].nomor);
write('Nama pegawai ke-',i,' : '); readln(a[i].nama);
write('Bagian ke-',i,' : '); readln(a[i].bagian);
write('Gaji ke-',i,' : '); readln(a[i].gaji);
writeln;
end;
z:
writeln;
writeln('*****************************');
writeln('------- MENU SEARCHING ------');
writeln('*****************************');
writeln;
writeln('1. Pencarian Sekuensial');
writeln('2. Pencarian Biner ');
writeln('3. Exit');
write('Pilihan : '); readln(pilih);
writeln;
case pilih of
1:begin
clrscr;
g:
writeln;
writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
writeln('****** PENCARIAN SEKUENSIAL ******');
writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
writeln;
for i:=1 to n-1 do
begin
for i:=1 to n-i do
begin
if (a[j].nomor) > (a[j+i].nomor) then
begin
temp:=a[j].nomor;
a[j].nomor:=a[j+1].nomor;
a[j+1].nomor:=temp;
end;
end;
end;
writeln('Masukkan nomor pegawai yang ingin disearching : '); readln(ni);
writeln;
cari(a,n,ni,i);
writeln;
write('Ingin cari lagi ? (Y/T) : '); readln(p);
if (p='Y') or (p='y') then goto g;
goto z;
writeln;
end;
2:begin
clrscr;
f:
writeln;
writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
writeln('****** PENCARIAN BINER ******');
writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
writeln;
for i:=1 to n-1 do
begin
for j:=1 to n-1 do
begin
if (a[j].nomor) > (a[j+1].nomor) then
begin
temp:=a[j].nomor;
a[j].nomor:=a[j+1].nomor;
a[j+1].nomor:=temp;
end;
end;
end;
writeln;
writeln('Masukkan nomor pegawai yang ingin disearching : '); readln (ni);
writeln;
biner(a,n,ni,i);
writeln;
write('Ingin cari lagi ? (Y/T) : '); readln(p);
if (p='Y') or (p='y') then goto f;
goto z;
writeln;
end;
3:begin
writeln('Program diakhiri');
writeln;
end
else
writeln('Pilihan Salah');
for i:=1 to n do
begin
delay(5000);
end;
goto h;
end;
readkey;
end.
Wednesday, 23 November 2011
Pemilihan (Selection) pada program pascal
Pemilihan (Selection) digunakan jika ada masalah yang tidak dapat dipecahkan dengan perhitungan yang pasti. Inti dari pemecahan masalah jenis ini adalah menganalisis semua kondisi yang mungkin terjadi dan menentukan statemen yang dilakukan untuk setiap kondisi tersebut.
Terdapat dua skema pemilihan, yaitu menggunakan statemen if...then dan menggunakan statemen case....of. Statemen if dapat digunakan dengan bagian else atau tanpa bagian else, tergantung masalah yang dipecahkan dan algoritma yang dipilih.
Jika terdapat dua kondisi yang komplementer maka statemen if diikuti bagian else. Kondisi dalam statemen if dituliskan dalam ekspresi boolean. Statemen if juga dapat digunakan secara berulang.
Statemen if digunakan untuk memilih dari dua kondisi yang berbeda berdasar ekspresi boolean, sedangkan statemen case digunakan untuk memilih jika terdapat lebih dari dua kondisi yang masing-masing memerlukan penanganan yang berbeda. Variabel yang terlibat dalam statemen case harus bersifat ordinal.
1. Instruksi If/Then/Else
Instrusksi If/Then/Else digunakan untuk memilih alternative apabila suatu syarat atau kondisi dipenuhi ( 1 kasus ), atau memilih satu alternatif dari dua kemungkinan berdasarkan apakah syarat terpenuhi atau tidak ( 2 kasus ).
PERCABANGAN
Statemen Penyeleksian Kondisi
Statemen penyeleksian kondisi menunjukkan bahwa suatu statemen akan dikerjakan bila suatu kondisi adalah benar. Jika kondisi salah satu syarat tidak terpenuhi maka statemen yang lainnya setelah kata cadangan Else akan dikerjakan atau diproses. Kata else tidak boleh diawali dengan titik koma (;) karena titik koma menunjukkan akhir dari statemen.
Struktur IF-THEN
Statemen IF-THEN digunakan untuk menyeleksi suatu kondisi, jika kondisi yang diseleksi terpenuhi, maka statemen yang mengikuti THEN akan diproses. Tetapi, apabila kondisi tidak terpenuhi, maka yang akan diproses adalah statemen berikutnya.
Statemen IF-THEN…ELSE digunakan untuk menyeleksi suatu kondisi. Statemen 1 akan diproses jika kondisi yang diseleksi benar, sedangkan statemen 2 akan diproses jika kondisi yang diseleksi tidak terpenuhi.
2. Instruksi Case
Instruksi case digunakan sebagai instruksi pemilihan dimana aksi yang akan dilakukan hanya bergantung pada nilai dari satu macam variable. Dengan kata lain, variable yang menentukan nilai ini mungkin banyak macam nilai dan setiap nilainya berkaitan dengan satu macam aksi.
Bentuk instruksi case :
Case ( variable )Nilai-1 : aksi-1;Nilai-2 : aksi-2;Nilai-3 : aksi-3;………..Default : aksi-n;Endcase
Bentuk case diatas dapat diterjemahkan sebagai berikut :
- Dimungkinkan ada n-buah aksi, mulai dari aksi-1 hingga aksi-n.
- Setiap aksi hanya dilakukan apabila suatu nilai variabel dicapai sesuai persyaratan. Misalnya, aksi-1 dilakukan hanya bila variabel bernilai nilai-1, aksi-2 dilaksanakan apabila variabel bernilai nila-2, dan seterusnya.
- Apabila tak satu pun nilai variabel yang cocok maka aksi-n dikerjakan sebagai aksi ”default” ( hanya dikerjakan apabila tidak ada yang memenuhi syarat ).
Struktur CASE-OF…ELSE merupakan pengembangan dari struktur CASE-OF dan juga merupakan pengembangan dari standar Pascal. Pada struktur CASE-OF bila tidak ada kondisi yang terpenuhi berarti tidak ada statemen di dalam lingkungan CASE-OF yang diproses. Dengan struktur CASE-OF…ELSE, bila tidak ada kondisi yang terpenuhi, maka statemen yang akan diproses dalam lingkungan CASE-OF adalah statemen yang ada di ELSE.
Saturday, 12 November 2011
Runtunan (Sequentail)
Runtunan merupakan pernyataan yang terdiri dari satu atau lebih pernyataan, setiap pernyataan ditulis dalam satu baris atau dipisahkan dengan tanda titik koma. Tiap pernyataan dikerjakaan secara berurutan (sekunsional) sesuai dengan urutannya di dalam teks algoritma. Bila urutan diubah, maka hasil akhirnya juga akan berubah.
Runtunan adalah kegiatan atau aksi yang dilakukan secara beruntun dan saling terkait, dimana suatu aksi dilakukan setelah aksi sebelumnya selesai.
Bentuk Umum
'Variabel 1:Tipe Data1Variabe2 1:Tipe Data2Input Nilai1Input Nilai2
Runtunan (sequence) adalah struktur algoritma paling dasar yang berisi serangkain intruksi yang diproses secara sekuensial, saru persatu, mulai dari intruksi pertama dan terakhir.
Runtunan satu atau lebih intruksi yang bahwa :
- Tiap instruksi dikerjakan satu peratu;
- Tiap instruksi dilaksanan tepat sekali, tidak ada instruksi yang diulang.
- Urutan instruksi yang dilaksankan pemrosesan sama dengan urutan instruksi.
- Akhir dari instruksi terakhir yang merupakan akhir algoritma.
Pengaruh Urutan Instruksi
Urutan instruksi dalam algoritma adalah penting. Urutan instruksi menunjukan urutan logik penyelesaian masalah.
Urutan instruksi yang berbeda mungkin tidak ada pengaruh terhadap solusi persoalan, tetapi mungkin juga menghasilkan keluaran yang berbeda, tergantung pada masalahnya
Thursday, 3 November 2011
Tipe data pada program pascal
Pengertian Tipe data menyiratkan suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel. Tipe data dikelompokan menjadi dua macam yaitu :
- Tipe dasar
- Tipe bentukan
Tipe dasar merupakan tipe data yang sudah dikenal dalam kehidupan sehari-hari. Tipe ini sudah sejak zaman dahulu. Yang di antaranya adalah
- Tipe integer
- Tipe boolen
- Tipe char
- Tipe real
- Tipe string
Tipe Integer atau bilangan bulat adalah tipe data yang nilainya tidak memiliki titik decimal. Dalam bahasa pemrograman pascal hanya digit yang bisa muncul sebagai integer, tidak boleh ada character lain termasuk koma kecuali + dan -. Adal lima tipe data yang termasuk dalam kelompok ini, yaitu byte, short int, word, integer, long int. Ada pun operasi yang berlaku pada bilangan integer :
Operasi Aretmatika | Operasi Perbandingan |
+ | > |
- | < |
* | >= |
Div | <= |
Mod | = |
< > |
Tipe Boolean adalah nilai data yang sangat penting untuk pengambilan suatu keputusan dalam suatu program karena pada tipe ini data akan mempunyai dua nilai, yaitu true dan false. Operator yang digunakan adalah and, or, not, and xor.
Tipe Char, kata char disini digunakan untuk mendefinisikan tipe data yang nilainya merupakan himpunan karakter yang dikenal komputer seperti dalam tabel ASCII. Dalam program pascal, nilai data tipe char ditulis diantara tanda petik, misalnya ‘F’ ‘A’ ‘U’ ‘Z’ ‘I’ ‘15’ ’12, dan perlu diingat bahwa data tipe char hanya terdiri dari 1 karakter seperti ’FAUZIAH RIZKY AMALIA’ atau ‘AMIK BINA SARANA INFORMATIKA’ yang merupakan tipe data char yang lebih kompleks sehingga disebut dengan string. Ada pun operasi yang berlaku pada operasi karakter :
Operasi |
> |
< |
= |
≠ |
>= |
Tipe Real adalah suatu bilangan yang berisi titik desimal. Dalam bahasa pemrograman pascal minimal harus ada satu digit sebelum titik desimal. Tidak boleh ada koma dan nilainya bisa positif atau negatif. Dapat dinyatakan dalam bentuk eksponsial dengan notasi E,sebagai contoh: 0.00017543 adalah 1.7543E-4. Terdapat 5 macam data pada tipe real, yaitu: real, single, double, extended dan comp. Operator matematika yang digunakan adalah +, -, *, / Penggunaan tipe data real ini adalah dalam perhitungan matematika, sains dimana derajat ketelitian sangat diperhatikan. Ada pun operasi yang e=verlaku pada bilangan real :
Operasi |
> |
< |
= |
≠ |
>= |
Tipe String adalah String adalah untaian karakter dengan panjang tertentu. Nama tipe string adalah string. Ranah tipe string sama dengan ranah tipe char. Semua konstanta string harus diapit oleh tanda petik tunggal.
Tipe bentukan adalah tipe yang di definisikan sendiri oleh pemogram (user-defined type data). Tipe bentukan disusun oleh satu atau lebih tipe dasar.
Tipe bentukan adalah tipe yang di definisikan sendiri oleh pemogram (user-defined type data). Tipe bentukan disusun oleh satu atau lebih tipe dasar.
Ada dua macam tipe bentukan :
- Tipe dasar yang diberi nama tipe baru
- Tipe terstutuktur
Tipe dasar yang diberi nama baru adalah tipe diamana seorang peemogram ingin memberi nama baru terhadap tipe dasar tersebut yang sudah dikenal, alasan dari pemberian nama tersebut mungkin agar nama baru tersebut lebih akrab dan lebih muda diinterpresentasikan oleh orang yang membaca teks algoritma tersebut.
Tipe terstrukutur adalah tipe yang berbentuk rekaman. Rekaman tersebut disusun oleh satu atau lebih failed, tiap failed menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya.
Monday, 31 October 2011
Perintah-Perintah Turbo Pascal
Turbo Pascal merupakan bahasa pemograman tingkat tinggi yang dikembangakan oleh Borland International. Sebagai bahasa yang terstruktur, program pascal terdiri dari beberapa bagian statement yang menyatu membentuk suatu system pogram. Dengan bagian bentuk yang terstruktur ini maka terdapat bebrapa kelebihan yang di antaranya :
- Mudah di pahami
- Mudah dikoreksi bila ada kesalahan
- Mudah dimodifikasi
Program Bagan_Program; {*Nama Program*}
Uses .................... {*Deklarasi Piranti*}
Label .................... {*Deklarasi Label*}
Const .................... {*Deklarasi Konstanta*}
Type .................... {*Deklarasi Tipe Bentukan*}
Var .................... {*Deklarasi Perubah*}
Procedure SATU;
Procedure DUA;
Procedure Tambahan;
Begin {*awal program utama*}
Statemen-statemen dari program BAGAN_PROGRAM
End. (*Akhir Program Utama*)
Beberapa aturan penulisan progam adalah :
- Program dapat ditulis pada kolom sembarangan.
- Pada bagian statement selalu diawali dengan reserved word begin dan end.
- Setiap blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik (.).
- Setiap blok statement bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;).
- Beberapa statemen dapat ditulis sekaligus dalam satu baris, tapi ini tidak dianjurkan.
- • Program tidak dipengaruhi capital atau tidaknya huruf.
- Baris komentar diletakkan diantara tanda (* dan *) atau { dan }.
- Kata baku tidak boleh digunakan sebagai tanda pengenal.
Beberapa tombol penting pengoperasian program adalah :
- F1 :Berguna untuk mengaktifkan jendela pertolongan (Help)
- F2 :Saving File Current (Tanpa mengubah nama file yang ada di layar editor)
- F3 :Memanggil (LOAD) file program ke editor
- F4 :Eksekusi program sampai posisi editor
- F7 :Melacak hasil program ke dalam sub routine
- F8 :Melompati pemanggilan sub routine
- Alt+F1 :Memanggil jendela pertolongan yang terakhir dibaca
- Alt+F3 :Menutup Window editor aktif
- Alt+F5 :Memperlihatkan hasil eksekusi
- Alt+F9 :Meterjemahkan program (Compiling)
Saturday, 15 January 2011
Program Menghitung Luas "pascal" prosedure2
Program Prosedure tanpa parameter.
PROGRAM PERTAMA;
USES CRT;
PROCEDURE HITUNGLUAS;
VAR
P,L : INTEGER;
BEGIN
CLRSCR;
WRITELN('====================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('====================');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN(L);
WRITELN('HASIL LUAS : ', P*L);
WRITELN('====================');
END;
BEGIN
CLRSCR;
HITUNGLUAS;
READKEY;
END.
PROGRAM PERTAMA;
USES CRT;
PROCEDURE HITUNGLUAS;
VAR
P,L : INTEGER;
BEGIN
CLRSCR;
WRITELN('====================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('====================');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN(L);
WRITELN('HASIL LUAS : ', P*L);
WRITELN('====================');
END;
BEGIN
CLRSCR;
HITUNGLUAS;
READKEY;
END.
Program Menghitung Luas "pascal" prosedure1
Program ini mengunakan prosedure yang mengunakan hanya parameter masukan, dimana program ini untuk menghitung luas persegi panjang.
PROGRAM KEDUA;
USES CRT;
VAR
P,L : INTEGER;
A,B : INTEGER;
PROCEDURE HITUNGLUAS(A,B : INTEGER);
BEGIN
WRITELN('=======================');
WRITELN('HASIL : ', A*B);
END;
BEGIN
CLRSCR;
WRITELN('=======================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('-----------------------');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN(L);
HITUNGLUAS(P,L);
READKEY;
END.
PROGRAM KEDUA;
USES CRT;
VAR
P,L : INTEGER;
A,B : INTEGER;
PROCEDURE HITUNGLUAS(A,B : INTEGER);
BEGIN
WRITELN('=======================');
WRITELN('HASIL : ', A*B);
END;
BEGIN
CLRSCR;
WRITELN('=======================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('-----------------------');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN(L);
HITUNGLUAS(P,L);
READKEY;
END.
Program Menghitung Luas "pascal" prosedure
Program dibawah ini program menghitung luas persegi panjang dengan mengunakan prosedur yang mengunakan parameter masukan dan parameter keluaran..
PROGRAM KETIGA;
USES CRT;
VAR
P,L, LUAS : INTEGER;
PROCEDURE HITUNGLUAS(A,B : INTEGER; VAR C : INTEGER);
BEGIN
WRITELN('=====================');
C := A*B;
END;
BEGIN
CLRSCR;
WRITELN('=====================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('---------------------');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN(L);
HITUNGLUAS(P,L,LUAS);
WRITELN('HASIL LUAS : ', LUAS);
READKEY;
END.
PROGRAM KETIGA;
USES CRT;
VAR
P,L, LUAS : INTEGER;
PROCEDURE HITUNGLUAS(A,B : INTEGER; VAR C : INTEGER);
BEGIN
WRITELN('=====================');
C := A*B;
END;
BEGIN
CLRSCR;
WRITELN('=====================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('---------------------');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN(L);
HITUNGLUAS(P,L,LUAS);
WRITELN('HASIL LUAS : ', LUAS);
READKEY;
END.
Program Menghitung Luas "pascal" function
Program dibawah ini adalah program menghitung luas persegi panjang dengan mengunakan function :
PROGRAM KEEMPAT;
USES CRT;
VAR
P,L, HASIL : INTEGER;
FUNCTION LUAS(A,B : INTEGER) : INTEGER;
BEGIN
WRITELN('====================');
LUAS := A*B;
END;
BEGIN
CLRSCR;
WRITELN('====================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('--------------------');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN (L);
HASIL := LUAS(P,L);
WRITELN('HASIL : ', HASIL);
READKEY;
END.
PROGRAM KEEMPAT;
USES CRT;
VAR
P,L, HASIL : INTEGER;
FUNCTION LUAS(A,B : INTEGER) : INTEGER;
BEGIN
WRITELN('====================');
LUAS := A*B;
END;
BEGIN
CLRSCR;
WRITELN('====================');
WRITELN('LUAS PERSEGI PANJANG');
WRITELN('--------------------');
WRITE('MASUKAN PANJANG : '); READLN(P);
WRITE('MASUKAN LEBAR : '); READLN (L);
HASIL := LUAS(P,L);
WRITELN('HASIL : ', HASIL);
READKEY;
END.
Nilai rata rata "pascal" prosedure
Program dibawah ini adalah program menghitung nilai rata-rata dengan menggunakan prosedure, prosedure dibawah ini adalah prosedure dari parameter masukan..
PROGRAM TIGA_SATU;
USES CRT;
VAR
N,A,BILANGAN,TOTALBILANGAN : INTEGER;
RATA2 : REAL;
PROCEDURE NILAIRATA2(TOTALBILANGAN,N : INTEGER);
BEGIN
RATA2 := TOTALBILANGAN/N;
END;
BEGIN
CLRSCR;
WRITE('MASUKAN JUMLAH BILANGAN : '); READLN(N);
TOTALBILANGAN := 0;
FOR A:=1 TO N DO
BEGIN
WRITE('MASUKAN BILANGAN KE ',A,' : '); READLN(BILANGAN);
TOTALBILANGAN :=TOTALBILANGAN+BILANGAN;
END;
NILAIRATA2(TOTALBILANGAN,N);
WRITELN('NILAI RATA - RATA : ', RATA2:1:0);
READKEY;
END.
PROGRAM TIGA_SATU;
USES CRT;
VAR
N,A,BILANGAN,TOTALBILANGAN : INTEGER;
RATA2 : REAL;
PROCEDURE NILAIRATA2(TOTALBILANGAN,N : INTEGER);
BEGIN
RATA2 := TOTALBILANGAN/N;
END;
BEGIN
CLRSCR;
WRITE('MASUKAN JUMLAH BILANGAN : '); READLN(N);
TOTALBILANGAN := 0;
FOR A:=1 TO N DO
BEGIN
WRITE('MASUKAN BILANGAN KE ',A,' : '); READLN(BILANGAN);
TOTALBILANGAN :=TOTALBILANGAN+BILANGAN;
END;
NILAIRATA2(TOTALBILANGAN,N);
WRITELN('NILAI RATA - RATA : ', RATA2:1:0);
READKEY;
END.
Nilai rata rata "pascal"
Program ini adalah program menghitung nilai rata-rata dengan mengunakan fungsi function :
bisa di lihat dibawah ini bagaimana program utama dan badan program fungsi.
PROGRAM TUGAS_DUA;
USES CRT;
VAR
N,A,BILANGAN,TOTALBILANGAN : INTEGER;
RATA2 : REAL;
FUNCTION NILAIRATA2(TOTALBILANGAN,N : INTEGER): REAL;
BEGIN
RATA2 := TOTALBILANGAN/N;
END;
BEGIN
CLRSCR;
WRITE('MASUKAN JUMLAH BILANGAN : '); READLN(N);
TOTALBILANGAN := 0;
FOR A := 1 TO N DO
BEGIN
WRITE('MASUKAN BILANGAN KE ',A,' : '); READLN(BILANGAN);
TOTALBILANGAN := TOTALBILANGAN+BILANGAN;
END;
NILAIRATA2(TOTALBILANGAN,N);
WRITELN('NILAI RATA-RATA : ',RATA2:1:0);
READKEY;
END.
bisa di lihat dibawah ini bagaimana program utama dan badan program fungsi.
PROGRAM TUGAS_DUA;
USES CRT;
VAR
N,A,BILANGAN,TOTALBILANGAN : INTEGER;
RATA2 : REAL;
FUNCTION NILAIRATA2(TOTALBILANGAN,N : INTEGER): REAL;
BEGIN
RATA2 := TOTALBILANGAN/N;
END;
BEGIN
CLRSCR;
WRITE('MASUKAN JUMLAH BILANGAN : '); READLN(N);
TOTALBILANGAN := 0;
FOR A := 1 TO N DO
BEGIN
WRITE('MASUKAN BILANGAN KE ',A,' : '); READLN(BILANGAN);
TOTALBILANGAN := TOTALBILANGAN+BILANGAN;
END;
NILAIRATA2(TOTALBILANGAN,N);
WRITELN('NILAI RATA-RATA : ',RATA2:1:0);
READKEY;
END.
Sunday, 26 December 2010
Program Suhu "Pascal"
program suhu;
uses crt;
var
t : real;
begin
clrscr;
write('masukan suhu : '); readln(t);
if t <= 0 then write ('padat') else if (t > 0) and (t < 100) then write ('cair') else if t >= 100 then write('gas');
readkey;
end.
uses crt;
var
t : real;
begin
clrscr;
write('masukan suhu : '); readln(t);
if t <= 0 then write ('padat') else if (t > 0) and (t < 100) then write ('cair') else if t >= 100 then write('gas');
readkey;
end.
Program Upah Karyawan 'Pascal"
program gaji;
uses crt;
var
nama : string;
gol : char;
jjk,jamlembur : integer;
upahperjam,upahtotal : real;
const jamkerjanormal = 48;
const upahlembur = 3000;
begin
clrscr;
write('masukan nama karyawan : '); readln(nama);
write('masukan golongan karyawan : '); readln(gol);
write('masukan jumlah jam kerja karyawan : '); readln(jjk);
if gol = 'A' then
upahperjam := 4000
else
if gol = 'B' then
upahperjam := 5000
else
if gol = 'C' then
upahperjam := 6000
else
if gol = 'D' then
upahperjam := 7000;
if jjk
upahtotal := jjk*upahperjam
else
jamlembur := jjk - jamkerjanormal;
upahtotal := (jamkerjanormal*upahperjam) + (jamlembur*upahlembur);
writeln('nama karyawan : ', nama);
writeln('gaji yang diterima karyawan : ', upahtotal:3:0);
readkey;
end.
uses crt;
var
nama : string;
gol : char;
jjk,jamlembur : integer;
upahperjam,upahtotal : real;
const jamkerjanormal = 48;
const upahlembur = 3000;
begin
clrscr;
write('masukan nama karyawan : '); readln(nama);
write('masukan golongan karyawan : '); readln(gol);
write('masukan jumlah jam kerja karyawan : '); readln(jjk);
if gol = 'A' then
upahperjam := 4000
else
if gol = 'B' then
upahperjam := 5000
else
if gol = 'C' then
upahperjam := 6000
else
if gol = 'D' then
upahperjam := 7000;
if jjk
else
jamlembur := jjk - jamkerjanormal;
upahtotal := (jamkerjanormal*upahperjam) + (jamlembur*upahlembur);
writeln('nama karyawan : ', nama);
writeln('gaji yang diterima karyawan : ', upahtotal:3:0);
readkey;
end.
program diskon_belanja "Pasxal"
program diskon_belanja;
uses crt;
var
harga, diskon, total : real;
begin
clrscr;
write('masukan total belanja : Rp.'); readln(harga);
if harga >= 100000 then
diskon := harga * 0.02;
total := harga - diskon;
writeln('jumlah diskon : Rp.', diskon:0:0);
writeln('jumlah total harga belanja : Rp.', total:0:0);
readkey;
end.
uses crt;
var
harga, diskon, total : real;
begin
clrscr;
write('masukan total belanja : Rp.'); readln(harga);
if harga >= 100000 then
diskon := harga * 0.02;
total := harga - diskon;
writeln('jumlah diskon : Rp.', diskon:0:0);
writeln('jumlah total harga belanja : Rp.', total:0:0);
readkey;
end.
Subscribe to:
Posts (Atom)



