Showing posts with label Algoritma. Show all posts
Showing posts with label Algoritma. Show all posts

Thursday, October 18, 2012

Program MENGHITUNG_NILAI_RATA_RATA


{Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari pirnati keluaran}

{* 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 banyak 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;
{K > N}
Rata := Jumlah/N;                               {rata-rata data bilangan bulat}
Writeln (‘Rata-rata seluruh data = ‘, Rata);
End.

Aturan Penulisan Teks Algoritma


Tulis nilai X dan Y

Dalam notasi algoritmik menjadi:

Write (X,Y);                      {dalam bahasa PASCAL}
Printf (“%d %d”,X,Y);     /* dalam bahasa C */
Write X,Y                         ‘dalam bahasa BASIC

Isikan nilai X ke dalam Min


Ditulis dalam notasi algoritmik menjadi :

Min ¬ X

Notasi “¬” berarti mengisi (assign) peubah (variable) Min dengan nilai perubah X.
Translasi notasi “¬” ke dalam bahasa PASCAL adalah “: =”, dalam bahasa C adalah “=”, dalam bahasa BASIC adalah “=” dan dalam bahasa FORTRAN adalah “=”.
Perhatikan bahwa setiap bahasa pemrograman mempunyai aturan sendiri.
1.1  Teks Algoritma
Teks algoritma disusun oleh tiga bagian (blok); bagian kepala (header) algoritma, deklarasi, dan deskripsi. Setiap bagian dengan komentar  untuk memperjelas teks yang dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda kurung kurawal (‘{‘ dan ‘}’).

1.2  Kepala Algoritma
Kepala algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat dan menggambarkan apa yang dilakukan algoritma tersebut.
Contoh :

Algoritma LUAS_LINGKARAN

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

1.3  Deklarasi
Deklarasi nama adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa tetapan (Const), peubah (Var), tipe (Type), Label, prosedur (Procedure), dan fungsi (Function).
Contoh pendefinisian nama di dalam bagian deklarasi misalnya :
DEKLARASI :
{nama tetapan}
const NPeg = 100                         {jumlah pegawai}
const phi = 3.14                {nilai p}

{nama tipe}
type Titik : record
                   < x : integer,
                      y : integer
                  >

{nama peubah}
c    : char

Q   : Titik  

Ketemu     : boolean

Function APAKAH_A (input c : char) ® boolean
{Mengembalikan nilai true bila c adalah karakter ‘A’, atau false bila sebaliknya}

Procedure TUKAR (input/output A : integer, input/output B : integer )
{Mempertukarkan nilai A dan B}
{Parameter A dan B sudah terdefinisi nilainya}
{Setelah pertukaran, A berisi nilai B semula, B berisi nilai A semula}

1.4  Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi Write untuk mencetak data/informasi, Read untuk mebaca data.  
Contoh :

DESKRIPSI :
      read (c,d)
If   c < d then
      e ¬ a + b
else
      e ¬ a – b
endif
write (e)


1.5  Translasi Teks Algoritma ke dalam Teks Program Pascal

Contoh :

Algoritma MENGHITUNG_NILAI_RATA_RATA

{Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari pirnati keluaran}

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 banyak data}
K ¬ 1                                     {mulai dari data pertama}
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)

Pseudecode Calon Pemilih dalam Pemilu


Algoritma Calon_pemilih
Deklarasi         Status : string
                        Menikah : string
                        Umur : integer
Deskripsi       
write('status :') Readln(Status)
            If (Status='WNI') then
                write('menikah :') readln(menikah)
                        If (Menikah='Ya') then
                            Writeln('Pemilih')
                        else
                            write('umur :') readln(umur)
                            If (Umur > 17) then
                                Writeln('Pemilih')
                            else
                                write('Bukan Pemilih')
            endif
            Else
            Write('Bukan Pemilih')

Penyelesaian dengan Program Pascal

program Calon_pemilih;
uses crt;
var       Status : string;
            Menikah : string;
            Umur : integer;
Begin
        write('status :');Readln(Status);
            If (Status='WNI') then
            begin
              write('menikah :');readln(menikah);
              If (Menikah='Ya') then
                 Writeln('Pemilih')
              else
                 write('umur :');readln(umur);
                         If (Umur > 17) then
                            Writeln('Pemilih')
                 else
                 write('Bukan Pemilih');
        end
            Else
            Write('Bukan Pemilih');
end.
http://goo.gl/BGVrJP

MY Motto

My photo
giving amenity to all visitor.

Total Pageviews