Blog Tentang Informasi Tutorial Desain Web Dan Info Terkini

PEMROGRAMAN TERSTRUKTUR


Prinsip Utama dari Pemrograman Terstruktur adalah 
bahwa jika suatu proses telah sampai pada suatu titik tertentu, maka proses selanjutnya tidak boleh kembali lagi ke proses sebelumnya, kecuali untuk proses perulangan “.


Suatu program yang terlalu banyak menggunakan statement GOTO akan mengakibatkan :
v  Akan sulit untuk ditelusuri alur logika dari program tersebut;
v  Bila terjadi kesalahan (error) maka akan membutuhkan waktu lama untuk mengkoreksi kesalahan tersebut.


Struktur berurutan
Dalam struktur berurutan, perintah atau pernyataan dijalankan dalam suatu urutan yang telah ditentukan.
Misalnya  :
Gaji Total adalah Gaji ditambah dengan Bonus;
Gaji Bersih adalah Gaji Total dikalikan Pajak;

Struktur seleksi dibagi menjadi 2 :
1.       Seleksi jika suatu keadaan (kondisi) terpenuhi, maka pernyataan tertentu dilaksanakan.
2.       Pilihan (Case Selection) digunakan jika ingin membentuk suatu konstruksi program yang menyatakan bahwa pernyataan yang dijalankan bergantung pada suatu keadaan (kondisi).
Contoh :
IF  Gaji_Total <= 1000000  THEN
 Gaji_Bersih := Gaji_Total * 0.10
 ELSE
Gaji_Bersih := Gaji_Total * 0.20
END IF


Struktur perulangan digunakan untuk menyusun pernyataan yang harus diulang sampai pada suatu keadaan yang diberikan terpenuhi. Jika kondisi belum terpenuhi, maka perulangan akan terus dilakukan.
WHILE  (Kondisi)  DO
      Statement – 1;
      Statement – 2; 
      ……….
      Statement – n;
END WHILE



3      sifat dasar pemograman modular :
a.     Suatu modul mengerjakan hanya satu pekerjaan tertentu. Suatu pekerjaan sesuai dengan pemecahan permasalahan.
b.     Sifat lain modul adalah merahasiakan sesuatu. Suatu modul tidak akan melaporkan bagaimana dia melakukan pekerjaan yang ditugaskan kepadanya, tetapi hanya akan memberikan hasil seperti yang diinginkan.
c.     Setiap modul harus independent, artinya suatu modul tidak terikat oleh modul lain kecuali masukan dan keluarannya.

Perbedaan procedure dan fungsi
1.     Fungsi hanya memberikan satu hasil (nilai), sedangkan prosedur dapat memberikan lebih dari satu hasil (nilai)
2.     Nama fungsi dapat sekaligus digunakan sebagai pemanggil dan pengubah pada suatu ungkapan, sedangkan nama prosedur hanya digunakan sebagai pemanggil saja;
3.     Dalam fungsi tidak ada istilah parameter variabel semua parameter-nya adalah parameter nilai, sedangkan dalam prosedur dikenal istilah parameter variabel dan parameter nilai.

Procedure garis;
begin
    writeln (‘-----------’);
end;
{modul utama/main program}
begin
    garis;
    writeln (‘pascal’);
    garis;
end.

Function rata_rata (bilangan:larik; n:integer):real;
var jumlah, i : integer;
begin
jumlah := 0;
for  i :=  1  to  n  do
 jumlah := jumlah + bilangan [i];
 rata_rata := jumlah / n;
end;


1.     Harus memiliki sebuah Anchor.
Dimana satu atau lebih nilai fungsi diberikan.
2.     Harus memiki sebuah Inductive Step.
Dimana penambahan nilai dari suatu fungsi didefenisikan dari nilai fungsi yang sebelumnya.

Rekursif adalah proses dari suatu sub program (dapat berupa prosedur dan fungsi) yang dapat memanggil dirinya sendiri. (prosesnya lama)
Function fibonacci (n:integer):integer;
begin
 if n < 2 then
fibonacci := n
else
fibonacci := fibonaccci(n-2) + fibonaccci (n-1);
end;















praktek
program perkalian_matriks;

Uses WinCrt;
VAR
                A, B, C : Array [1..10,1..10] of Integer;
                I, J, K , Brs_A, Klm_A, Brs_B, Klm_B : Integer;


procedure input_matriks;

procedure input_matriksA;
begin

{Masukan Elemen Matriks A}
writeln ('Masukan Data Matriks A : ');
write ('Masukan Jumlah Baris Matriks A : '); readln (Brs_A);
write ('Masukan Jumlah Kolom Matriks A : '); readln (Klm_A);
for I := 1 to Brs_A do
    for J := 1 to Klm_A do
    begin
         write ('Elemen A [',I,',',J,'] = ');
         readln (A [I,J]);
         end;
    writeln;
end;

procedure input_matriksB;
begin

{Masukan Elemen Matriks B}
writeln ('Masukan Data Matriks B : ');
write ('Masukan Jumlah Baris Matriks B : '); readln (Brs_B);
write ('Masukan Jumlah Kolom Matriks B : '); readln (Klm_B);
for I := 1 to Brs_B do
    for J := 1 to Klm_B do
    begin
         write ('Elemen B [',I,',',J,'] = ');
         readln (B [I,J]);
         end;
    writeln;
end;


Begin
input_matriksA;
input_matriksB;
End;


procedure kali_matriks;
begin

writeln ('Proses Perkalian Matriks ');
write ('Tekan Enter Untuk Melihat Hasilnya ');
for I := 1 to Brs_A do
    for J := 1 to Klm_B do
    begin
         C[I,J] :=0;
         for I := 1 to Brs_A do
             C[I,J] := C[I,J] + A [I,J] * B [I,J];
             end;
    readln;
    clrscr;

end;




procedure tampil_matriks;

procedure tampil_matriksA;
 begin

writeln ('Matriks A :');
for I := 1 to Brs_A do
begin
     for J := 1 to Klm_A do
     write (A[I,J]:3);
     writeln;
end;
writeln;

end;



procedure tampil_matriksB;
begin

{ Cetak Matriks B}
writeln ('Matriks B :');
for I := 1 to Brs_B do
begin
     for J := 1 to Klm_B do
     write (B[I,J]:3);
     writeln;
end;
writeln;


End;



procedure tampil_matriksC;


begin
{ Cetak Matriks C}
writeln ('Hasil Perkalian Matriks A dan B :');
for I := 1 to Brs_A do
begin
     for J := 1 to Klm_B do
     write (C[I,J]:3);
     writeln;
end;


End;


Begin
tampil_matriksA;
tampil_matriksB;
tampil_matriksC;
End;


{menu utama}

begin
input_matriks;
kali_matriks;
tampil_matriks;
end.
Tag : MATA KULIAH
0 Komentar untuk "PEMROGRAMAN TERSTRUKTUR"

INFO NEWS UPDATE

loading...
Back To Top