Panduan Belajar Pascal
Rabu, 17 Juni 2009

Algoritma..??

pertama kali kata itu di ucapkan,,maka yang terlintas di pikiran kita itu adalah "Apa sih algoritma itu..??"
pertama,,saya akan memperkenalkan anda dengan apa itu algoritma.

Definisi Algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis

Sebagai pembanding,disini dikemukakan definisi kata algoritma menurut kamus besar bahasa Indonesia (KBBI) terbitan Balai Pustaka Tahun 1988 :

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah


setelah itu kita akan bertanya bagaimana sih struktur algoritma itu. dan bagaimana aplikasinya.

Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi sebuah algoritma dapat dibangun dari tiga buah struktur dasar,yaitu :

Runtunan (Sequence)

1. Pemilihan (Selection)

2. Pengulangan (Repetition)

disini saya akan membahas tentang bagaimana implementasi algoritma dalam Turbo Pascal

Pada dasarnya, pokok yang paling dasar dalam pembuatan program ada 3, yaitu:

1. Nama Program

Spesifikasi teks algoritmik secara umum

2. Kamus

Pada bagian ini dilakukan pendefinisan nama variable. Variabel adalah tempat penyimpanan data. Penamaan variabel ini memiliki aturan, selanjutnya aturan tersebut kita kenal dengan aturan penamaan identifier. Aturan penamaan identifier tersebut adalah sebagai berikut:

maksimal 32 karakter

q hanya boleh terdiri dari karakter huruf abjad (A-Z, a-z), angka (0-9), dan garis bawah / underscore ( _ )

q harus diawali dengan karakter huruf abjad

q tidak boleh sama dengan identifier lain

q tidak boleh sama dengan keyword (kata kunci), seperti program, var, begin, end dll.

Aturan penamaan identifier ini berlaku juga untuk nama program, penamaan konstanta, tipe bentukan, label, fungsi, prosedur, unit, dll.

Data yang yang disimpan pada variable harus memiliki tipe data yang sesuai dengan tipe variabel tersebut. (penjelasan mengenai tipe data akan dijelaskan pada sub bab 1.6)

3. Algoritma

Pada bagian notasi algoritma dituliskan. Notasi algoritma yang ditulis, akan dilaksanakan secara beruntun.

Berikut ini adalah transisi perpindahan dari notasi dasar algoritma ke dalam bahasa pascal.

Dalam Algoritma

Program NamaProgram

Kamus

{deklarasi tipe bentukan}

Type NamaType:

<

field1:tipeData

field2:tipeData

...

fieldN:tipeData

>

{konstanta}

Constant NamaKonstanta: tipeData = nilaiKonstanta

{variabel}

NamaVariabel:tipeData

{deklarasi fungsi}

Fungsi NamaFungsi(parameter) à TipeKeluaranFungsi

{deklarasi prosedur}

Prosedur NamaProsedur( parameter)

Algoritma

{notasi algoritma program}



Dalam Pascal
Program NamaProgram;

{deklarasi konstanta}

Const namaKonstanta=nilai;

{deklarasi tipe bentukan}

Type NamaType=record

field1 : tipeData;

field2 : tipeData;

...

fieldN : tipeData;

End;

Var

{deklasari variabel}

NamaVariabel:tipeData;

{deklarasi fungsi}

Function NamaFungsi(parameter): tipeKeluaran;

{deklarasi prosedur}

Procedure NamaProsedur( parameter);

Begin

{notasi algoritma program}

End.

v Input / Output

Perintah input pada bahasa pascal ada 2, yaitu Read dan Readln. Namun yang sering dan biasa digunakan pada proses input melalui keyboard adalah Readln. Readln dan Read memiliki sedikit perbedaan. Readln digunakan untuk memasukkan data perbaris, artinya setelah tombol Enter ditekan, maka akan ganti baris. Perintah Read tidak ganti baris, masih dalam baris yang sama.

Sedangkan perintah output pada bahasa pascal adalah Write dan Writeln. Seperti halnya Read dan Readln, Write akan mengoutputkan data dalam satu baris. Writeln akan mengeluarkankan data lalu posisi kursor akan berganti baris.

Pada perintah write dan writeln,untuk mencetak isi variable maka nama variable diapit dengan tanda koma ( , ), kecuali tanda koma yang dekat tanda tutup kurung dan buka kurung maka tanda koma dihilangkan, dan untuk mencetak krakter yang akan di tampilkan persis dilayar, maka karakter tersebut diapit dengan tanda apostrop ( ‘ ).

v Assignment

Assignment adalah pengisian nilai terhadap suatu variabel. Nilai yang diisikan terhadap variabel, selain melalui input dapat juga melalui assignment. Tentunya nilai yang diisikan tersebut harus sesuai dengan tipe data dari variabel. Berikut ini notasi algoritmik untuk proses assignment.

Aturan dari proses assignment adalah sebagai berikut:

q nama1 dan nama2 harus memiliki tipe data yang sama

q nama1 harus merupakan variabel, tidak boleh konstanta, tipe bentukan, fungsi, atau prosedur

q nama2 boleh berupa konstanta, nama fungsi, atau variabel lain, akan tetapi boleh juga berupa nilai yang bertipe sama dengan nama1

q nama2 boleh berupa ekspresi (dijelaskan pada sub bab 1.7) yang menghasilkan nilai yang bertipe sama dengan nama1

q nama2 tidak boleh berupa nama prosedur atau nama tipe bentukan

Berikut ini contoh program yang menggunakan assignment.

Dalam Pascal

Program AssignNama;

Var

Nama:string;

BilanganBulat:integer;

BilanganRiil:real;

Begin

Nama:=‘WOW Laboratory‘;

BilanganBulat:=5;

BilanganRiil:=4.5;

Writeln (Nama,BilanganBulat,Bilangan riil)

End.

v Tipe Data

Tipe data dapat dikelompokkan menjadi atas dua macam : tipe dasar dan tipe bentukan. Tipe dasar adalah tipe data yang sudah ada dan dapat langsung dipakai, sedangkan tipe bentukan adalah tipe yang dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan.

1. Tipe Dasar

Tipe dasar adalah tipe yang sudah ada dan siap digunakan. Dalam algortima, kita mengenal 5 tipe dasar. Berikut ini adalah tabel macam-macam tipe yang ada pada algoritma dan transisinya pada bahasa pascal.

- Dalam Algoritma: Integer

Dalam Pascal: Integer, Byte, Longint, Shortint, Word

Keterangan: Digunakan untuk variabel yang menyimpan bilangan bulat

- Dalam Algoritma : String

Dalam Pascal : String

Keterangan : Digunakan untuk variabel yang menyimpan sekumpulan karakter

- Dalam Algoritma : Real

Dalam Pascal : Real, Single, Double, Extended, Comp

Keterangan : Digunakan untuk variabel yang menyimpan bilangan riil

- Dalam Algoritma : Karakter

Dalam Pascal : Char

Keterangan : Digunakan untuk variabel yang menyimpan 1 karakter saja

- Dalam Algoritma : Booelan

Dalam Pascal : Boolean

Keterangan : Digunakan untuk variabel yang menyimpan nilai TRUE (1) atau FALSE (0)

1.1 Integer

Tipe data integer digunakan untuk variabel yang menyimpan data berupa bilangan bulat. Secara teoritis, tipe bilangan bulat mempunyai ranah nilai yang tidak terbatas. Rentang nilainya adalah dari minus tidak hingga sampai plus tidak hingga asalkan setiap nilainya tidak mengandung titik desimal. Dalam implementasi pemrograman, tipe integer mempunyai rentang nilai yang terbatas. Implementasi integer dalam bahasa pemrograman tergantung pada kompilator bahasa pemrograman yang digunakan. Pada kompilator Turbo Pascal misalnya, tipe integer dapat direpresentasikan ke dalam lima macam tipe. Ke lima macam tipe tersebut adalah:

Tabel 1.4: macam-macam tipe data integer

Tipe

Rentang Nilai

Format

Byte

0..255

Unsigned 8 bit

Shortint

-128..127

Signed 8 bit

Word

0..65535

Unsigned 16 bit

Integer

-32768.. 32767

Signed 16 bit

Longint

-2147483648

2147482647

1.2 Real

Bilangan riil adalah bilangan yang mengandung pecahan desimal. Tipe data Real digunakan untuk variabel yang menyimpan data berupa bilangan yang mengandung pecahan atau decimal. Pemisah decimal pada bahasa pascal menggunakan tanda titik (“.”). Bilangan riil dapat juga dituliskan dengan notasi E yang artinya perpangkatan sepuluh. Misalnya 2.60000000E-6 artinya 2.6 x 10-6. Berikut ini adalah macam-macam tipe bilangan riil yang ada pada pascal.

Tabel 1.5: macam-macam tipe data real

Tipe

Rentang Nilai

Size

Real

2.9 X 10-39 ..1.7 X 1038

6 byte

Single

1.5 X 10-45 ..3.4 X 10-38

4 byte

Double

5.0 X 10-324 ..1.7 X 10308

8 byte

Extended

3.4 X 10-4932 ..1.1 X 104932

10 byte

Comp

9.2 X 10-18 ..9.2 X 1018

8 byte

1.3 Karakter

Tipe data karakter digunakan untuk variabel yang menyimpan satu karakter. Keyword tipe data karakter dalam pascal adalah char. Yang termasuk ke dalam karakter adalah huruf-huruf alfabet ,tanda baca angka ‘0’,’1’,..’9’ dan karakter-karakter khusus seperti ‘&’,’^’,’%’,’@’ dst. Ukuran (size) yang digunakan untuk variabel yang bertipe karakter adalah 8 bit. Karakter kosong (null) adalah karakter yang panjangnya nol, dan dilambangkan dengan ‘’. Dalam pascal, nilai null dinyatakan dengan keyword nil.

1.4 String

Tipe data ini digunakan untuk variabel yang menyimpan lebih dari satu karakter. Pengertian String sendiri adalah deretan karakter dengan panjang tertentu. Contoh string misalnya ‘hallo’, ‘plis dong’.

String sebenarnya bukan tipe dasar murni karena ia disusun dari tipe karakter. Namun karena tipe string banyak dipakai dalam pemrograman, maka string dapat diperlakukan sebagai tipe dasar.

1.5 Boolean

Nama tipe Boolean (diambil dari nama seorang matematikawan dari inggris, George Boole) merupakan tipe data yang digunakan untuk variabel yang menyimpan nilai TRUE atau FALSE. Berdasarkan deskripsi tersebut, maka dapat disimpulkan bahwa tipe data Boolean hanya memiliki rentang nilai TRUE atau FALSE.

Setelah mengenal kelima tipe dasar tersebut di atas, silakan anda coba ketik program berikut ini.

Program TipeDasar;

{program ini adalah program } {contoh penggunaan tipe dasar }

Var

Nama:string;

Umur:integer;

Berat:real;

JenisKelamin:char;

Menikah:Boolean;

Begin

Write(‘Masukan Nama Anda:‘);

readln(Nama);

Write(‘Umur (Thn): ‘);

readln(Umur);

Write(‘Berat (Kg): ‘);

readln(Berat);

Write(‘JenisKelamin(L/P):‘);

readln(JenisKelamin);

Menikah:=TRUE;

Write(‘Nama: ‘,Nama);

Write(‘Umur:‘,Umur,‘Tahun‘);

Write(‘Berat:‘,Berat,‘ Kg‘);

Write(‘Jenis Kelamin: ‘, JenisKelamin);

Write(‘Menikah (T/F): ‘, Menikah);

End.

2. Tipe Bentukan

Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram (programmer). Tipe bentukan disebut juga sebagai user defined type data. Tipe bentukan disusun oleh satu atau lebih tipe dasar atau tipe yang sudah dikenal. Tipe bentukan dibuat/didefinisikan jika elemen / variabel (selanjutnya disebut dengan field) tipe bentukan tersebut mempunyai sebuah makna semantik, ada relasi yang persis antara satu field dengan field yang lain. Berikut ini contoh pendeklarasian tipe bentukan dalam algoritma dan contoh pemakaiannya dalam program.

Type NamaTipe=record

field1: tipeData;

...

fieldN: tipeData;

end;

Program contohRecord;

Type Mahasiswa=record

NIM,Nama:String;

Nilai:integer;

End;

Var

M:Mahasiswa;

Begin

Writeln(‘masukkan NIM: ‘);

Readln(M.NIM);

Writeln(‘masukkan Nama: ‘);

Readln(M.Nama);

Writeln(‘masukkan Nilai:‘);

Readln(M.Nilai);

Writeln(‘NIM : ‘,M.NIM);

Writeln(‘Nama: ‘,M.Nama);

Writeln(‘Nilai: ‘,M.Nilai);

End.

Setelah mencoba program diatas, silakan ketik program di bawah ini dan tambahkan sendiri sintaks untuk mengoutputkan datanya.

Program contohRecord;

Type NilaiMhs=record

UTS,UAS,QUIZ:integer;

End;

Type Mahasiswa=record

NIM,Nama:String;

Nilai:NilaiMhs;

End;

Var

M:Mahasiswa;

Begin

Write(‘masukkan NIM: ‘);

Readln(M.NIM);

Write(‘masukkan Nama: ‘);

Readln(M.Nama);

Writeln(‘masukkan Nilai:‘);

Write(‘UTS: ‘);

Readln(M.Nilai.UTS);

Write(‘UAS: ‘);

Readln(M.Nilai.UAS);

Write(‘Quiz: ‘);

Readln(M.Nilai.Quiz);

End.

v Ekspresi dan Operator

Ekspresi merupakan suatu “rumus perhitungan”, yang terdiri dari operand dan operator. Operand harus memiliki nilai, oleh karenanya operand dapat berupa variabel, konstanta atau nilai itu sendiri. Berdasarkan hasil dari ekspresi, ekspresi dibagi menjadi 2 jenis, yaitu:

1. Ekspresi Boolean; contoh

Ekspresi

Hasil

True and False

False

True or False

True

2. Ekspresi Numerik; contoh

Ekspresi

Hasil

1 + 5

6

1 + 3 * 5

16

1/2

0.5

1.9/0.2

9.5

10 mod 3

1

10 div 3

3

Sama dengan ekspresi, operator juga dibagi menjadi 2 jenis, yaitu operator boolean (operator logika) dan operator numerik. Berikut ini daftar operator boolean pada algoritma dan pada bahasa pascal.

Dalam Algoritma Dalam Pascal

< <

> >

>=

<=

= =

<>


Untuk operator numerik, baik pada algoritma maupun pada bahasa pascal keduanya sama. Operator tersebut yaitu: +,-,*,/,div, dan mod. Untuk lebih memahami pemakaian operator, silakan ketik contoh program di bawah ini dan tambahkan sendiri sintaks untuk mengouputkan datanya.

Program operator;

Var

Bool1,bool2,TF: boolean;

i,j,hasil: integer;

x,y,res: real;

Begin

Writeln(‘untuk program ini, baca teksnya dan tambahkan sendiri outputnya’);

Bool1:= true; bool2:= false;

{ contoh-contoh ekspresi boolean }

TF := bool1 AND bool2;

TF := bool1 OR bool2;

TF := NOT bool1;

TF := bool1 XOR bool2;

{ operasi numerik }

i:=5; j:=2;

hsl:=i+j; hsl:=i-j; hsl:=i/j; hsl:=i*j;

hsl:=i div j;

hsl:=i mod j;

{ operasi numerik }

x:=5.0; y:=2.0;

res:= x+y; res:= x-y; res:= x/y; res:= x*y;

{ operasi relasional numerik }

TF := ij ; TF :=i=j ;

TF := xy ; TF := x<>y ;

End.

v Konstanta

Konstanta hampir sama dengan variabel. Perbedaannya adalah nilai konstanta selalu tetap (constant) dan tak dapat diubah. Stuktur dan deklarasi konstanta dapat dilihat pada Tabel 1.1 di halaman 2.

Berikut ini contoh pemakaian konstanta dalam program.

Program LuasLingkaran;

Const phi=3.14;

Type Lingkaran=record

Jari2:integer;

Luas:real;

End;

Var

L:Lingkaran;

Begin

Write(‘masukkan jari2 lingkaran: ‘);

Readln(L.jari2);

L.Luas:=phi*L.jari2*L.jari2;

Write(‘Luas lingkaran= ‘, L.Luas);

End.

Note : jika semua program yang dijalankan tidak kelihatan hasil outputnya,maka tambahkan perintah “ readln; “ tepat sebelum perintah terakhir yaitu “ End. “ tombol untuk menahan program keluar hingga menekan “ Enter “ atau dengan menekan tombol alt dan F5 secara bersamaan untuk melihat hasilnya secara manual.

posted by Belajar Pascal @ 03.07   2 comments
About Me

Name: Belajar Pascal
Home: Bandung, Bandung, Indonesia
About Me:
See my complete profile
Previous Post
Archives
Shoutbox

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Links
Powered by

BLOGGER