Cheat Sheet OSN Komputer
-
Upload
agustinus-baskara -
Category
Documents
-
view
10 -
download
0
description
Transcript of Cheat Sheet OSN Komputer
SMA PANGUDI LUHUR VANLITH MUNTILAN
BINARY SEARCH (data harus urut)
binary_search(yang dicari, array)
function binary_search(X: real; h: array of real): integer;
var
hasil,kiri,kanan,tengah:integer;
begin
hasil := 0;
kiri := 1;
kanan := high(h);
while ((kiri <= kanan) and (hasil = 0)) do
begin
tengah := (kiri + kanan) div 2;
if (X < h[tengah]) then
begin
kanan := tengah - 1;
end else if (X > h[tengah]) then
begin
kiri := tengah + 1;
end
else begin
hasil := tengah;
end;
end;
if (hasil = 0) then
begin
binary_search:=0;
end
else begin
binary_search:=hasil+1;
end;
end;
BUBBLE SORT
bubble_sort(array)
procedure bubble_sort(var Arr: array of integer);
var i: integer;
Ada_Tukar: boolean;
begin
repeat
Ada_Tukar:= false;
for I:= Low(Arr) to High(Arr)-1 do begin
if Arr[I] > Arr[I+1] then
begin
Arr[I]:=(Arr[I]+Arr[I+1]);
Arr[I+1]:=(Arr[I]-Arr[I+1]);
Arr[I]:=(Arr[I]-Arr[I+1]);
Ada_Tukar:= true;
end;
end;
until Ada_Tukar = false;
end;
CASE
case x of
1..9: begin writeln('satuan'); end;
10..99: begin writeln('puluhan'); end;
100..999: begin writeln('ratusan'); end;
1000..9999: begin writeln('ribuan'); end;
10000..99999: begin writeln('puluhribuan'); end;
end;
1
SMA PANGUDI LUHUR VANLITH MUNTILAN
SIEVE OF ERASTHOTHENES
sieve:array[1..1000]of boolean
a,i:integer
...
for i:= 2 to 1000 do
sieve[i]:=true;
for i:= 2 to 200 do
begin
if sieve[i] then
begin
a:=i+i;
while (a <= 10000) do
begin
sieve[a]:=false;
a:=a+i;
end;
end;
end;
...
jika sieve[x] = true maka x prima
STRING (dimulai dari 1)
a:=length(string) < Panjang string
a:=pos(substring,string) < Mencari Posisi substring
a:=copy(string,awal,sepanjang) < mengambil string
delete(string,awal,sepanjang) < menghapus string
insert(substring,string,posisi) < memasukan string
str(integer,string) < integer ke string
val(string,integer) < string ke integer
ASCII
48-49 = 0-9
65-90 = A – Z
97-122 = a – z
Ord(huruf) > huruf ke ASCII
Chr(ASCII) > ASCII ke huruf
FPB
While C <> 0 or C <> 1 do
begin
C:=A mod B;
A:=B;
B:=C;
End;
B < FPB
KPK
KPK(A,B)=(A*B)/(FPB(A,B))
GRAF
Lintasan Euler mempunyai 2 buah simpul berderajat ganjil atau tidak ada simpul berderajad ganjil sama sekali. (MELALUI SETIAP SIMPUL SEKALI)
Sirkuit Euler jika hanya jika setiap simpul berderajad genap
Graf berarah G memiliki sirkuit Euler jika hanya jika G terhubung dan setiap simpul memiliki derajad masuk dan derajad keluar sama. G memiliki lintasan Euler jika dan hanya jika G terhubung dan setiap simpul memiliki derajad masuk dan derajad keluar sama kecuali 2 simpul, yang pertama memiliki derajad keluar satu lebih besar dari derajad masuk, dan yang kedua memiliki derajad masuk satu lebih besar dari derajad keluar
2