Translate to your languages

Selamat Datang . Suatu kehormatan bagi saya atas kunjungan ini. Saya sangat berharap kunjungan berikutnya.

15 April 2008

SEQUENCE ( RUNTUNAN )

Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah.

Perhatikan runtunan instruksi yg dilambangkan dengan

A1, A2, A3, A4, dan A5 berikut :

A1

A2

A3

A4

A5

Mula-mula pemroses melaksanakan instruksi A1. instruksi A2 dilaksanakan setelah instruksi A1 selesai. Selanjutnya, instruksi A3 dilaksanakan setelah instruksi A2 selesai. Demikian seterusnya sampai instruksi terakhir A5 dilaksanakan, setelah instruksi A5 selesai dilaksanakan, algoritma berhenti.

ALGORITMA

Algoritma LUAS_SEGITIGA

{ Dibaca panjang alas(a) dan tinggi(t) segitiga. Hitung luas segitiga tersebu. Untuk panjang alas dan tinggi tertentu. Luas segitiga dihitung dengan rumus L = ½ at. Nilai L dicetak ke piranti keluaran }

DEKLARASI

a : real {panjang alas segitiga, dalam satuan cm}

t : real { tinggi segitiga, dalam satuan cm }

L : real { luas lingkaran, dalam satuan cm2}

DESKRIPSI :

read(a)

read(t)

L = a*t / 2

write(L)


PASCAL

program LUAS SEGITIGA;

{ Dibaca panjang alas (a) dan tinggi (t) segitiga. Hitunglah luas segitiga tersebut. Untuk panjang alas dan tinggi tertentu. Luas segitiga dihitung dengan rumus L = ½ at. Nilai L dicetak ke piranti keluaran. }

{* DEKLARASI *}

var

a : real; {panjang alas segitiga, dalam satuan cm}

t : real; { tinggi segitiga, dalam satuan cm }

L : real; { luas lingkaran, dalam satuan cm2}

{* DESKRIPSI *}

begin

write (’Ketikkan panjang alas segitiga : ’); readln(a);

write (“Ketikkan tinggi segitiga : ”); readln(t);

L:=a*t/2

writeln (’Luas segitiga = ’,L);

end.

LATIHAN :

Lengkapi Algoritma dari permasalahan berikut ini, dan buatlah Programnya :

Ø Menghitung komisi yang diterima salesman berdasarkan jumlah penjualan yg dicapainya. Salesman itu mendapat komisi 10% dari hasil penjualannnya.

Ø Masukkan algoritma adalah nama salesman dan jumlah penjualan yg dicapainya.

Ø Tampilkan ke piranti keluaran nama salesman dan besar komisi yg diperolehnya!

ALGORITMA

Algoritma KOMISI_SALESMAN

{ Menghitung besar komisi yang diterima salesman. Besar komisi adalah 10% dari nilai penjualan yang dicapainya. Data masukan adalah nama salesman dan nilai penjualan. Keluaran algoritma adalah besar komisi yang diterima salesman tersebut }

DEKLARASI

nama_salesman : .......

nilai penjualan : ....... { nilai penjualan yang dicapai, dalam Rp }

komisi : ....... { besar komisi, dalam Rp. }

DESKRIPSI :

read(………………………, …………………………..)

komisi = 0.1 * …………………

write(……………..)

Next PEMILIHAN...

08 April 2008

DASAR & ATURAN PENULISAN TEXT ALGORITMA

II. DASAR - DASAR ALGORITMA

PROSES, INSTRUKSI & AKSI

Algoritma disusun oleh sedereten langkah instruksi yg logis. Tiap langkah instruksi mengerjakan suatu tindakan (aksi). Bila suatu aksi dilaksanakan, maka sejumlah operasi yg bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari pengerjaan suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum dimulai, t0, dan keadaan pada saat aksi selesai dikerjakan, t1,

to : Keadaan sebelum aksi dikerjakan.

Aksi

t1 : Keadaan setelah aksi dikerjakan.

Tahap-tahap penyusunan algoritma dimulai dari langkah yg global lebih dahulu. Langkah global ini diperhalus sampai ke langkah yg lebih rinci. Pendekatan desain algoritma seperti ini dinamakan penghalusan langkah atau perancangan puncak-turun (top-down design).

Contoh :

Diberikan N buah data bilangan bulat yg tersusun secara acak. Susunlah sebuah algoritma utk mengurutkan sekumpulan data tersebut sehingga tersusun terurut dari nilai yg kecil ke nilai yg besar. Misal N = 5 dengan data bilangan bulat yg belum terurut:

1 10
2 15
3 5
4 17
5 2

Algoritma pengurutan yg cukup sederhana adalah dengan mencari elemen yg terkecil di dalam kumpulan mulai dari data ke-1 sampai data ke-N, lalu menempatkannya pada posisi data pertama (dengan cara mempertukarkannya dengan data pertama). Ulangi hal tersebut s/d data yg terakhir.

Setiap pengulangan langkah disebut dengan pass atau lelaran (iteration)

T0 : kumpulan data ke-1 sampai data ke-N belum terurut membesar

Algoritma PENGURUTAN_DATA

T1 : kumpulan data ke-1 sampai data ke-N sudah terurut membesar

Perancangan algoritma dengan pendekatan Top-Down dari algoritma global terlebih dahulu.

Algoritma PENGURUTAN_DATA

Diberikan N buah data yang tersusun acak. Urutkan kumpulan data tersebut sedemikian sehingga

Data ke-1 ≤ data ke-2 ≤ . . . ≤ data ke-N

DESKRIPSI :

Untuk pass k = 1, 2, ..., N-1, lakukan :

1. Cari data terkecil (min) mulai dari data ke-k sampai data ke-N;

2. Pertukarkan min dengan data ke-k

III. ATURAN PENULISAN TEKS ALGORITMA

Teks Algoritma

Teks Algoritma tersusun atas 3 bagian(blok) : bagian kepala(header), algoritma, bagian deklarasi, dan bagian deskripsi algoritma.

Komentar adalah kalimat yg diapit oleh pasangan tanda kurung kurawal { dan }. Setiap bagian disertai komentar untuk memperjelas maksud teks yg dituliskan.


Algoritma NAMA_ALGORITMA

{ Penjelasan tentang algoritma yg berisi uraian singkat mengenai apa yg dilakukan oleh algoritma }

DEKLARASI

{ semua nama yg dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur dan nama fungsi didefinisikan di sini }

DESKRIPSI

{ semua langkah/aksi algoritma dituliskan di sini}

1. Kepala Algoritma

Kepala Algoritma adalah bagian yg terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut.

Penjelasan dibawah judul algoritma sering dinamakan juga spesifikasi algoritma .

Algoritma LUAS_LINGKARAN

{ Menghitung luas lingkaran untuk jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu mencerak luas lingkaran ke piranti keluaran }


2. Deklarasi

Deklarasi nama adalah bagian untuk mendefinisikan semua nama yg dipakai di dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah, nama tipe, nama prosedur dan nama fungsi.

3. Deskripsi

Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Misalnya notasi write untuk mencetak data/informasi, notasi read untuk membaca data, dsb. Setiap langkah algoritma dibaca dari atas ke bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.

Contoh :

DESKRIPSI :

read (c,d)

If c < d

e←a+b

else

e←a-b

endif

write (e)

4. Translasi teks algoritma ke dalam teks program PASCAL

Teks algoritma adalah hasil pemikiran konseptual. Supaya bisa dikerjakan oleh komputer, algoritma harus ditranslasi ke dalam notasi bahasa pemrograman.


Contoh 4.1:

ALGORITMA

Algoritma MENGHITUNG_NILAI_RATA_RATA

{ menghitung nilai rata-rata sekumpulan bilangan bulat yg dibaca dari piranti masukan }

DEKLARASI

X : integer { peubah data bilangan bulat }

N : integer { banyaknya data bilangan bulat, N > 0 }

K : integer { pencacah jumlah pengulangan }

Jumlah : integer { jumlah seluruh data bilangan bulat }

rata : real { rata-rata data bilangan bulat }

DESKRIPSI :

read (N) { baca banyaknya data }

k←1

jumlah←0

while k ≤ N do

read (x)

jumlah←jumlah + x

k←k+1 { cacah pengulangan selanjutnya }

endwhile

{ k > N }

rata←jumlah/N { rata-rata data bilangan bulat }

write (rata)


PASCAL

Program MENGHITUNG_NILAI_RATA_RATA;

{ menghitung nilai rata-rata sekumpulan bilangan bulat yg dibaca dari piranti masukan }

{* DEKLARASI *}

var

X : integer; { peubah data bilangan bulat }

N : integer; { banyaknya data bilangan bulat, N > 0 }

K : integer; { pencacah jumlah pengulangan }

Jumlah : integer; { jumlah seluruh data bilangan bulat }

rata : real; { rata-rata data bilangan bulat }

{* DESKRIPSI *}

begin

write(‘Masukkan jumlah data : ‘ ); readln (N); { baca banyaknya data }

k := 1; { mulai dari data pertama }

jumlah := 0;

while k <= N do

begin

write (‘x = ? ‘); readln (x);

jumlah:= jumlah + x;

k := k+1; { cacah pengulangan selanjutnya }

end; while

{ k > N }

rata:=jumlah/N; { rata-rata data bilangan bulat }

writeln (‘Rata-rata seluruh data = ‘, rata);

end.


Tabel Translasi Notasi Algoritmik ke Notasi Bahasa PASCAL

Kelompok

Algoritmik

Pascal

Ket

1. Tipe Dasar

boolean

Boolean


integer

Byte

Shortint

Word

Integer

Longint

1 byte

1 byte

2 byte

2 byte

4 byte

real

Real

double

extended


char

Char


string

String[n]


record

< style="">

field2 : type,

fieldN : type

>

Record

field1 : type;

field2 : type;

fieldN : type;

end;


2. Operator




a. aritmatik

+

+


-

-


*

*


/

/


div

div


mod

mod





b. perban-

dingan

<

<


<=


>

>


>=


=

=


< >


c. logika

not

not


and

and


Or

or


xor

xor


3. Komentar

{ komentar }

{ komentar }

{* komentar *}


4. Lain-lain

const

const


type

type


true

true


false

false


Tabel Translasi Notasi Algoritmik Pengisian Nilai, Pembacaan dan Penulisan

ke dalam Notasi Bahasa Pascal

Kelompok

Algoritmik

Pascal

Ket

1. Assignment

ß

:=


2. Pembacaan

read

Read

Readln


3. Penulisan

write

Write

writeln


Contoh 4.2:

Translasikan algoritma mencetak string ’Selamat Datang di Pascal’ ke dalam notasi bahasa Pascal.

ALGORITMA

Algoritma Cetak_Selamat1

{ Mencetak string ’Selamat Datang di Pascal’ ke piranti keluaran }

DEKLARASI

{ tidak ada }

DESKRIPSI

Write (’Selamat Datang di Pascal’)

Next ..RUNTUNAN(SEQUENCE)