Tampilkan postingan dengan label pascal. Tampilkan semua postingan
Tampilkan postingan dengan label pascal. Tampilkan semua postingan

Sabtu, Maret 12, 2011

BUBBLE SORT

setelah kemaren saya bahas soal selection sort, hari ini saya mau bahas tentang bubble sort. Bubble sort disebut juga dengan metode Penukaran (Exchange Sort), yaitu metoda yang
mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.
Algoritma Metode gelembung :
• langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
• langkah 1 : Kerjakan langkah 2 untuk i = 1 sampai N-1
• langkah 2 : Kerjakan langkah 3 untuk j = 1 sampai N- i
• langkah 3 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini
• langkah 4 : Selesai

berikut adalah contoh program yg saya buat. .
program buble;

uses Crt;
type ArrInt = array [1..100] of integer;

var     data : arrInt;
        i, n : integer; pil : integer;


Procedure TukarData(var a,b : integer);
var c : integer;
Begin
c:=a;
a:=b;
b:=c;
end;


Procedure bubblesort_asc(var data:arrInt; N:word);
Var i,j : word;
Begin
For i:= 1 to N-1 do
For j:= 1 to N-i do
If data[j] > data[j+1] then
Tukardata (data[j], data[j+1]);
end;

Procedure bubblesort_desc(var data:arrInt; N:word);
Var i,j : word;
Begin
For i:= 1 to N-1 do
For j:= 1 to N-i do
If data[j] < data[j+1] then
Tukardata (data[j], data[j+1]);
end;


begin
clrscr;
writeln('====BUBBLE SORT====');
writeln('1.Masukan Data');
writeln('2.Sort ascending');
writeln('3.Sort Descending');
writeln('4.keluar');
while pil <> 4 do begin
    write('masukan pilihan menu 1/2/3/4 '); readln(pil);
    case pil of
    1  : begin
         write('masukan jumlah data : '); readln(n);
         for i:=1 to N do
         begin
         write('data ke ',i, ': '); readln (data[i]);
         end;

         writeln;
         end;
    2  : begin
         writeln('pengurutaaann, , , ,');
         writeln('secara ascending : ');
         Bubblesort_asc(data, n);
         for i:=1 to n do
         writeln(data[i]);
         writeln;
         end;
    3  : begin
         writeln('pengurutaaann, , , ,');
         writeln('secara descending : ');
         bubblesort_desc(data, n);
         for i:=1 to n do
         writeln(data[i]);
         writeln;
         end;

    end;
end;
readln;

end.
 sayangnya running programnya kelupaan, ketinggal di laptop, hohohohoho, ,
run sendiri yak :p

Minggu, Maret 06, 2011

METODE SELEKSI (SELECTION SORT)

Pengurutan atau shorting merupakan proses untuk menyusun kembali kumpulan entri-entri
yang telah dimasukkan dengan suatu aturan tertentu. Secara umum ada 2 macam
pengurutan yaitu pengurutan secara menaik (ascenden) dan pengurutan secara menurun
(descenden).

METODE SELEKSI (SELECTION SORT)

Masukkan dinyatakan sebagai vector misal vector A (belum terurut), dan N (missal
banyak elemen yang akan diurutkan). Keluaran adalah vector A yang telah terurut.

Algoritma metode seleksi :
• langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
• langkah 1 : Kerjakan langkah 2 sampai 4 untuk i = 1 sampai N -1
• langkah 2 : Tentukan awal = i , kerjakan langkah 3 untuk j = i +1 sampai N
• langkah 3 : (Mencari data terkecil)
Tes : apakah A[awal] > A[j], jika ya maka ubah awal = j
• langkah 4 : Tukarkan nilai A[awal] dengan A[i]
• langkah 5 : selesai


implementasinya sebagai berikut :

program contoh_sorting;
uses crt;
type dataItem = integer;
arrInt = array [1..100] of dataItem;




procedure Tukar(var a,b : dataItem);
var temp : dataItem;
begin
temp := a;
a := b;
b := temp;
end;


procedure SelectionSort(var X : ArrInt; n : integer ; awal : integer);
var i,j : integer;
begin


for i:=1 to N-1 do
begin
awal :=i
for j := i+1 to N do
begin
if (x[i] > x[j]) then awal :=j;


end;
Tukar(x[awal],x[i]);
end;




end;



var data:arrInt;
i, n:integer;




begin
clrscr;
write('masukan jumlah data : '); readln(n);
for i:=1 to N do
begin
write('data ke ',i, ': '); readln (data[i]);
end;


begin


SelectionSort(data, n);
for i:=1 to n do
write(data[i],' ');
readln;
end;


end.
 run programnya adalah sebagai berikut :








next saya mau posting tentang Bubble Sort  ,, tunggu yaaaa!

Minggu, Juli 11, 2010

pengantar grafika komputer pada pascal

bagi yang suka koding pake pascal [ si bahasa pemrograman yg udah tua bangka itu] hahaha, kalian nggak perlu cemas, kita tetep bisa bikin karya yg ada hubungannya sama grafika komputer . . :D 
jadi tak perlu cemasss, lagian logikanya lumayan gampang kok :)


pastikan setiap mau bikin, ada kode buat inisial grafik seperti ini :



uses graph,crt;
procedure init();
var gd, gm : integer;
begin
gm:=detect; gd:=0;
InitGraph(gd,gm,'');
if GraphResult <> grOk then
begin
Writeln('Graph driver ',gd,' graph mode ',gm,' not supported');
Halt(1);
end;
end;

procedure destroy();
begin
closegraph;
end;





nah, , , sekarang kita akan mulai membahas titik koordinat.

saya yakin anda trbiasa memakai Koordinat Kartesius, jadi untuk memahami koordinat layar ini juga tidak membutuhkan waktu lama :)
bedanya cuma terletak di Y. jika pada koordinat kartesius, titik ke atas, maka Y positif, maka sebaliknya, pada koordinat layar, titik kebawah, maka Y positif.  


coba dipahamin dulu, , ntar baru lanjouuuuuuddd :D