-->

Soal Algoritma & Pemograman

Berikut ini adalah contoh soal Algoritma dan Pemograman dengan menggunakan Pascal


Latihan

 1. Buatlah prosedur untuk menambahkan 2 buah bilangan. Deklarasikan sebuah prosedur untuk menambahkan 2 buah bilangan dan untuk menyimpan hasilnya.
Output yang diinginkan :
Soal Algoritma & Pemograman
Penyelsesaian

program proc_rerata2bilangan;
uses
 wincrt;
Var
 Bil1, Bil2,Hasil : real;

 procedure Tambah(a,b: real; var Result : real);
 Begin
      Result := a + b;  
 End;

Begin
 Write('Masukkan Bilangan 1 : ');
 readln(Bil1);
 Write('Masukkan Bilangan 2 : ');
 readln(Bil2);

 Tambah(Bil1,Bil2,Hasil);

 Writeln('Hasil Penjumlahan 2 Bilangan : ', Hasil:2:0);
 Writeln('Rata ratanya adalah : ', Hasil/2:1:1);
End.






 
 2.    Buatlah prosedur untuk menghitung luas Lingkaran

Penyelesaian :

PROGRAM
 luas_lingkaran;
USES
 wincrt;
var
 r : integer;
 luas : real;

procedure hitung_luas(r : integer);
Begin
 luas := 3.14 * sqr(r);
 writeln('Luas = ', luas:0:2);
End;

procedure input_data;
Begin
 write('Inputkan nilai r : ');
 readln(r);
End;


BEGIN
 input_data;
 hitung_luas(r);

 hitung_luas(7);

END.

3.    Dengan menggunakan prosedur yang sama seperti pada soal No 1, modifikasilah blok pendeklarasian variabel global dan blok program utama diatas agar mampu menghitung rata rata dari 4 buah bilangan ( Ingat, deklarasi prosedur biarkan tetap sama). Ini akan melatih anda bagaimana teknik pemanggilan prosedur dalam Blok program utama.
Output yang diinginkan :

 



Soal Algoritma & Pemograman

 Penyelsesaian

program proc_rerata4bilangan;
uses
 wincrt;
Var
 Bil1, Bil2, Bil3, Bil4,Hasil : real;

 procedure Tambah(a,b: real; var Result : real);
 Begin
      Result := a + b;  
 End;

Begin
 Write('Masukkan Bilangan 1 : ');
 readln(Bil1);
 Write('Masukkan Bilangan 2 : ');
 readln(Bil2);
 Write('Masukkan Bilangan 3 : ');
 readln(Bil3);
 Write('Masukkan Bilangan 4 : ');
 readln(Bil4);

 Tambah(Bil1,Bil2,Hasil);
 Tambah(Hasil,Bil3,Hasil);
 Tambah(Hasil,Bil4,Hasil);

 Writeln('Hasil Penjumlahan 4 Bilanagn : ', Hasil:2:0);
 Writeln('Rata ratanya adalah : ', Hasil/4:2:0);
End.


4.    Buatlah sebuah program yang menampilkan deret bilangan dari mulai 1 sampai dengan N, dan deklarasikan sebuah prosedur yang mampu mengklasifikasikan bilangan tersebut masuk kedalam kategori bilangan Genap atau Ganjil.
Output yang diinginkan :

Soal Algoritma & Pemograman




Penyelsesaian

program proc_Klasifikasi_Deret;
uses
 wincrt;
Var
 Kategori : String;
 i,N : integer;


 procedure Klasifikasikan(a : integer; Var result : String);
 Begin
      If a mod 2 = 0 then
         result := 'GENAP'
      Else  
         result := 'GANJIL';
 End;

Begin
 Write('Masukkan nilai Maksimum Deret : ');
 readln(N);

 For i := 1 to N do
 Begin
   write(' ( ',i);
   Klasifikasikan(i,Kategori);
   write('-',Kategori,' )');
 End;

End.