Algoritma dan Struktur Data 1

ALGORITMA DAN STRUKTUR DATA 1
Apa itu Algoritma ?
o Algoritma adalah teknik penyusunan langkah – langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis
o Algoritma adalah suatu prosedur yang jelas untuk menyelesaiakan suatu persoalan dengan menggunakan langkah – langkah tertentu dan terbatas jumlahanya.
Setelah melihat pengertian diatas kita dapat menyimpulkan bahwa :
ALGORITMA adalah suatu langkah yang logis dan sistematis untuk menyelasaikan suatu permasalahan.

Apa itu Struktur Data ?
Struktur data adalah bahasa program yang dituliskan berdasarkan algoritma yag diterjemahkan kedalam bentuk program.

Apa sebenarnya yang dimaksud dengan Tipe data dan Variabel ?
Tipe data adalah jenis data berdasarkan isi dan sifatnya.
Variabel adalah tepat untuk menyimpan data dengan tipe tertentu yang suatu saat dapat bisa dipanggil jika diperlukan.

• Macam – macam tipe data yang sering digunakan :
o Integer : merupakan tipe data berupa angka. Contoh : 1, 2, 3, dst.
o String : merupakan tipe data karakter ( huruf, angka, dan symbol ) yang dapat memuat hingga 255 karakter.
o Real : merupakan tipe data berupa bilangan decimal. Contoh : 1,5 (satu koma lima).
o Char : merupakan tipe data karakter ( huruf, symbol, angka ) tapi hanya dapat memuat 1 karakter. Tipe data ini ( char ) hampir sama dengan tipe data string yang membedakannya adalah string dapat memuat hingga 255 karakter, sedangkan char hanya dapat menampung 1 karakter saja.
o Boolean : Tipe data boolean biasa digunakan untuk mempresentasikan logika. Tipe data boolean hanya dapat bernilai True (1) atau False (0). Beberapa macam tipe data boolean dirangkum pada tabel di bawah ini.
Dalam suatu ekspresi, operator-operator seperti = , <> , > , < , >= , <= , dan In akan banyak dipakai untuk menentukan hasil dari suatu tipe data boolean.

Struktur Algortima
 Bagian Kepala ( Header ) :
Memuat nama algoritma serta informasi atau keterangan tentang algoritma yag ditulis.
 Bagian Deklarasi ( Defenisi Vaeriabel ) :
Memuat defenisi tantang nama variable, nama tetapan ( const ), nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.
 Bagian Deskripsi ( Rincian Langkah ) :
Memuat langkah – langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilan, ulangi, yang mengubah data input menjadi output, dan sebagainya.

Langkah – langkah penulisan Algortima :
 Mulai.
 Insialisasi variabel
Contoh : a,b : string;
 Proses
 Output
Ditandai dengan kata “ write “.
 Selesai.
Contoh penulisan algoritma :
Contoh 1 :
program contoh;
var
a,b:string;
begin
a:='bahasa';
b:='pemrograman';
write(a,b);
end.


Contoh 2 :
program hitung;
uses crt;
var
a,b,c:integer;
begin
clrscr;
write('masukkan nilai A=');readln(a);
write(;masukkan nilai B=');readln(b);
c:=a+b'
writeln('hasil A + B =',c);
readln;
end.


Flowchat
Flowchart adalah bentuk penulisan algoritma secara singkat ( kerangka program ).
Macam – macam flowchat :
 Mulai / selesai


 Inisialisasi variabel


 Input / output


 Proses


 kondisi














SELECTION ( PENGKONDISIAN )
Selection ( pengkondisian ) adalah blok program yang memeriksa satu atau lebih kondisi untuk melaksanakan satu atau lebih statement.
a) case … of
bentuk penulisan ( rumus ) :
index 1 : statement;
index 2 : statement;
end;

contoh program :
program contoh_case;
uses crt;
var
karakter:char;
begin
clrscr;
write('silahkan tekan 1 tombol sesuka anda =');readln(karakter);
case karakter of
'+' : write ('Karakter plus');
'-' : write ('Karakter minus');
'*','/' : write ('Karakter pembagian pembagian');
'0'..'9': write ('Karakter angka');
'a'..'z': write ('Karakter Huruf kecil');
'A'..'Z': write ('Karakter Huruf Besar');
end;
readln;
end.


b) Selection IF terbagi menjadi 3 yaitu :
 If dengan satu pernyataan :
Bentuk umum :
If kondisi then
Pernyataan
Contoh : if Nilai < 10 then
Write (Nilai);
 If dengan banyak pernyataan :
Bentuk umum :
If kondisi then
Begin
Pernyataan1;
PernyataanN;
End;
Contoh : if x < 10 then
Begin
Gotoxy(2,2);writeln(x);
Writeln;
End;
 If/then/else dengan satu pernyataan
Bentuk umum :
If kondisi then
Pernyataan1
else
Pernyataan2;
Contoh : if x mod 2 = 0 then
Write (‘Bilangan Genap’);
else
Write (‘Bilangan Ganjil’);


Contoh program :
program contoh_if;
uses crt;
var
nilai : byte;
ket : string;
begin
clrscr;
write('Input =');readln(nilai);
if nilai >= 50 then
   ket := 'Lulus';
else
if nilai <=49 then
   ket := 'Tidak Lulus';
write('Keterangan =',ket);
readln;
end.



LOOPING ( PENGULANGAN )
Looping adalah blok program yang digunakan untuk mengulangi instruksi – instruksi berdasarkan variabel perulangan mulai nilai awal hingga nilai alhir dengan perubahan nilai sebesar n.
a. For … to … do
Blok program yang mengulangi suatu nilai (data) dari nilai awal hingga nilai akhir.
Contoh program :
program contoh_for;
uses crt;
var
batas,y ; integer;
begin
clrscr;
write('Masukkan Batas =');readln(batas);
for y := 1 to batas do
writeln (y);
readln;
end.



b. Repeat … until
Blok program berfungsi untuk mengulangi suatu data yang berkerja apabila tidak memenuhi lagi.
Contoh program :
program cotoh_repeat;
uses crt;
var
y,batas : integer;
begin
clrscr;
write('Masukkan Batas =');readln(batas);
y:=0;
repeat
y:= y + 1;
writeln(y);
until y = batas;
readln;
end.


c. While … do
Blok program yang berfungsi untuk mengulai suatu data yang bekerja (mengulang) apabila sudah memenuhi.
Contoh program :
program contoh_while;
uses crt;
var
y,batas : integer;
begin
clrscr;
write('Masukkan Batas =');readln(batas);
y:=0;
while y <= batas do
begin
   y:= y + 1;
   Writeln(y);
end;
readln;
end.


PROCEDURE DAN FUNCTION
Apa yang dimaksud Procedure dan Function ?
Suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub-program yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama.

A. PROCEDURE
Bentuk umum :
Procedure nama_procedure;
atau
Procedure nama_procedure (parameter : tipe_data);

Contoh program :
program contoh_procedure;
uses crt;
var
a,b,c : integer;
producer tambah;
begin
   c:= a + b;
   writeln('Hasil =',c);
end;
begin
clrscr;
write('Masukkan Nilai A =');readln(a);
write('Masukkan Nilai B =');readln(b);
tambah;
readln;
end.


B. FUNCTION
Bentuk umum :
Procedure nama_function;
atau
Procedure nama_function (parameter : tipe_data) : tipe_data;

Contoh program :
progrm contoh_function;
uses crt;
var
a,b : integer;
function tambah : integer;
begin
     tambah := a + b;
end;
begin
clrscr;
write('Masukkan Nilai A =');readln(a);
write('Masukkan Nilai B =');readln(b);
writeln(hasil =', tambah);
readln;
end.



RECORD
Apa itu Record ?
Record adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan.
Bentuk deklarasi variabel record :
RECORD
Daftar_field_1 : tipe_1;
Daftar_field_2 : tipe_2;

Daftar_field_n : tipe_n;
END;
Contoh program :
Program latihan_record;
Uses crt;
Type;
Identitas karyawan = record;
Nama: String [20];
NoAsuransi : string [11];
Jam : Integer;
Honor: real;
End;
Var
Karyawan : IdentitasKaryawan;
Lembur : Real;
Procedure BacaRecord (Var Karyawan:IdentitasKaryawan);
Var
File : text;
BeginAssign(fileA,’c/buruh.txt’);
Reset (fileA);
Readln(FileA, Karyawan.NoAsuransi);
Readln(FileA, Karyawan.Jam, Karyawan.honor);
End;





ARRAY
Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama dan merupakan gabungan dari beberapa variabel sejenis serta memiliki jumlah komponen yang jumlahnya tetap.
Deklarasi variabel bertipe array dimensi :
Var
NamaArray : Array{tipeIndek] of TypeArray;

Contoh program :
Program mencari_nilai_akar_dengan_metode_newton;
Uses cat;
Const max = 100;
Type indeks = 0..max
Akar = akar (indeks) of real
Var y : akar

X,Fx,dx : real

N : Integer

Begin
x:= y (n-1);
fx:= x * sqr (x) – 11 * sqr (x) + 39 * x – 45;
dx: 3 * sqr (x) ––22* x + 39 ;
((------------------------------------------------------------------) )
Y [n] : x ––fx / dx ;Writeln (n : 10, ‘’‘’,y]n ] : 15,,15,’’’’, abs (y [d] , ––x ) : 15);
End ;
End.