Listing Contoh Program Pemrograman Terstruktur (Part 2)

28
Listing Contoh Program Pemrograman Terstruktur (part 2) Program Set 2 Unit Menghitung Huruf 4 Unit Larik Dinamis 7 Project Deviasi 11 Project Alamat 13 Project Matriks 16 Unit Segitiga Pascal 20 Project Insertion 22 Project Selection 25

description

ada beberapa program yang setelah di-run hasilnya tidak sesuai dengan yang diinginkan, harap menganalasis program tersebut dan membenarkannya. selamat belajar!

Transcript of Listing Contoh Program Pemrograman Terstruktur (Part 2)

Page 1: Listing Contoh Program Pemrograman Terstruktur (Part 2)

Listing Contoh Program Pemrograman Terstruktur (part 2)

Program Set 2

Unit Menghitung Huruf 4

Unit Larik Dinamis 7

Project Deviasi 11

Project Alamat 13

Project Matriks 16

Unit Segitiga Pascal 20

Project Insertion 22

Project Selection 25

Page 2: Listing Contoh Program Pemrograman Terstruktur (Part 2)

program Project1_set;

{$apptype console}

uses

Forms;

{$R *.res}

type

THuruf = set of Char;

var

Terpakai, TakTerpakai : THuruf;

Huruf: char;

procedure Cetakhasil;

var h : char;

begin

for h := 'A' to 'z' do

if [h] <= Terpakai then write(' ',h);

writeln;

end;

begin

Application.Initialize;

Application.Run;

Terpakai := [];

TakTerpakai := ['A'..'Z','a'..'z'];

Page 3: Listing Contoh Program Pemrograman Terstruktur (Part 2)

writeln('Tulis sebuah kalimat: ');

while not eoln do begin

read(Huruf);

if [Huruf] <= TakTerpakai then begin

Terpakai := Terpakai + [Huruf];

TakTerpakai := TakTerpakai - [Huruf];

end;

end;

Cetakhasil;

readln;

readln;

end.

Page 4: Listing Contoh Program Pemrograman Terstruktur (Part 2)

unit Unit1_menghitung_huruf;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Label4: TLabel;

Edit3: TEdit;

Edit4: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Page 5: Listing Contoh Program Pemrograman Terstruktur (Part 2)

var

Form1: TForm1;

implementation

{$R *.dfm}

type

THuruf = set of char;

const

cVokal = ['A','I','U','E','O','a','i','u','e','o'];

CKonsonan : THuruf = ['A'..'Z','a'..'z'] - cVokal;

var

CacahKarakter, CacahVokal, CacahKOnsonan : Integer;

procedure TForm1.Button1Click(Sender: TObject);

var i : integer;

teks : string;

begin

CacahKarakter :=0;

CacahVokal :=0;

CacahKonsonan := 0;

teks := Edit1.Text;

for i:=1 to length(teks) do begin

inc(CacahKarakter);

Page 6: Listing Contoh Program Pemrograman Terstruktur (Part 2)

if teks[i] in cVokal then

inc(CacahVokal)

else if teks[i] in cKonsonan then

inc(CacahKonsonan);

end;

Edit2.Text := IntToStr(CacahKarakter);

Edit3.Text := IntToStr(CacahKonsonan);

Edit4.Text := IntToStr(CacahVokal);

end;

end.

Page 7: Listing Contoh Program Pemrograman Terstruktur (Part 2)

unit Unit1_larik_dinamis;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Page 8: Listing Contoh Program Pemrograman Terstruktur (Part 2)

Data: array of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

i: integer;

begin

Randomize;

SetLength(Data,20);

for i:= Low(Data) to High(Data) do

Data[i]:= Random(100);

Memo1.Clear;

for i:= low(Data) to high(Data) do

Memo1.Lines.Add(IntToStr(Data[i]));

end;

procedure TForm1.Button2Click(Sender: TObject);

var

i,j,k,t: integer;

begin

for i:=low(Data) to high(Data) do begin

k:=i;

Page 9: Listing Contoh Program Pemrograman Terstruktur (Part 2)

for j:=i+1 to Memo1.Lines.Count-1 do

if Data[k] > Data[j] then k:=j;

t:=Data[i];

Data[i]:=Data[k];

Data[k]:=t;

end;

Memo1.Clear;

for i:= low(Data) to high(Data) do

Memo1.Lines.Add(IntToStr(Data[i]));

end;

procedure TForm1.Button3Click(Sender: TObject);

var

i,j,k,t: integer;

begin

for i:=low(Data) to high(Data) do begin

k:=i;

for j:= i+1 to Memo1.Lines.Count-1 do

if Data[k]>Data[j] then k:=j;

t:=Data[i];

Data[i] := Data[k];

Data[k]:=t;

memo1.Lines[i]:=inttostr(Data[i]);

memo1.Lines[k]:=inttostr(Data[k]);

sleep(500);

Page 10: Listing Contoh Program Pemrograman Terstruktur (Part 2)

end;

end;

end.

Page 11: Listing Contoh Program Pemrograman Terstruktur (Part 2)

program Project1_deviasi;

{$apptype console}

uses

Forms;

{$R *.res}

var

n,hitung : integer;

jumlah,rerata,deviasi: real;

x : array [1..100] of real;

begin

Application.Initialize;

Application.Run;

begin

write('berapa data yang akan direratakan? ');

readln(n);

writeln;

jumlah := 0;

for hitung := 1 to n do begin

write('i = ',hitung:3,' x = ');

readln(x[hitung]);

jumlah := jumlah + x[hitung];

end;

Page 12: Listing Contoh Program Pemrograman Terstruktur (Part 2)

rerata := jumlah/n;

writeln('reratanya adalah: ',rerata:5);

writeln;

end;

begin

for hitung := 1 to n do begin

deviasi := x[hitung] - rerata;

write('i = ',hitung:3,' x = ',x[hitung]:5);

writeln(' nilai deviasi = ',deviasi:5)

end;

end;

readln;

end.

Page 13: Listing Contoh Program Pemrograman Terstruktur (Part 2)

program Project1_alamat;

{$apptype console}

uses

Forms;

{$R *.res}

var

hitung, hitungnama, hitungjalan, hitungkota : 0..60;

nama, jalan, kota : array [1..60] of char;

procedure baca;

begin

write('Nama : ');

hitung := 0;

repeat

hitung := hitung + 1;

read(nama[hitung]);

until eoln;

hitungnama:= hitung;

readln;

write('Alamat : ');

hitung := 0;

repeat

hitung := hitung + 1;

Page 14: Listing Contoh Program Pemrograman Terstruktur (Part 2)

read(jalan[hitung]);

until eoln;

hitungjalan:= hitung;

readln;

write('Kota : ');

hitung := 0;

repeat

hitung := hitung + 1;

read(kota[hitung]);

until eoln;

hitungkota:= hitung;

readln;

end;

procedure tulis;

begin

for hitung := 1 to hitungnama do write(nama[hitung]);

writeln;

for hitung := 1 to hitungjalan do write(jalan[hitung]);

writeln;

for hitung := 1 to hitungkota do write(kota[hitung]);

end;

begin

Page 15: Listing Contoh Program Pemrograman Terstruktur (Part 2)

Application.Initialize;

Application.Run;

baca;

writeln;

tulis;

readln;

end.

Page 16: Listing Contoh Program Pemrograman Terstruktur (Part 2)

program Project1_matriks;

{$apptype console}

uses

Forms;

{$R *.res}

type

matriks = array [1..3,1..3] of real;

procedure bacamatriks(var m:matriks);

var

i,j: integer;

begin

for i:= 1 to 3 do

for j:= 1 to 3 do begin

write('elemen matriks (',i,',',j,'): ');

readln(m[i,j]);

end;

end;

procedure tulismatriks(m:matriks);

var i,j: integer;

begin

Page 17: Listing Contoh Program Pemrograman Terstruktur (Part 2)

writeln('isi matriks');

for i:= 1 to 3 do begin

for j:= 1 to 3 do

write(m[i,j]:8:3);

writeln;

end;

end;

procedure tambahmatriks(m1,m2:matriks; var m3:matriks);

var

i,j:integer;

begin

for i:= 1 to 3 do

for j:= 1 to 3 do

m3[i,j] := m1[i,j] + m2[i,j];

end;

procedure kalimatriks(m1,m2:matriks; var m3:matriks);

var

i,j,k:integer;

begin

for i:= 1 to 3 do

for j:= 1 to 3 do begin

m3[i,j] := 0;

for k := 1 to 3 do

Page 18: Listing Contoh Program Pemrograman Terstruktur (Part 2)

m3[i,j] := m3[i,j] + m1[i,k] * m2[k,j];

end;

end;

var

a,b,c : matriks;

pilihan : char;

begin

Application.Initialize;

Application.Run;

pilihan := '1';

while pilihan <> '5' do begin

writeln('matriks');

writeln('1. baca matriks a');

writeln('2. baca matriks b');

writeln('3. matriks c = a + b');

writeln('4. matriks c = a x b');

writeln('5. selesai');

write('pilih salah satu: ');

readln(pilihan);

case pilihan of

'1' : bacamatriks(a);

'2' : bacamatriks(b);

'3' : begin

tambahmatriks(a,b,c);

Page 19: Listing Contoh Program Pemrograman Terstruktur (Part 2)

tulismatriks(c);

end;

'4' : begin

kalimatriks(a,b,c);

tulismatriks(c);

end;

end;

end;

end.

Page 20: Listing Contoh Program Pemrograman Terstruktur (Part 2)

unit Unit1_segitigapascal;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Memo1: TMemo;

Edit1: TEdit;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

tpascal: array of array of integer;

implementation

Page 21: Listing Contoh Program Pemrograman Terstruktur (Part 2)

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

maxn,i,j: integer;

st : string;

begin

memo1.Clear;

maxn := strtoint(edit1.Text);

setlength(tpascal,maxn);

for i := low(tpascal) to high(tpascal) do begin

setlength(tpascal[i], i+1);

tpascal[i][0] := 1;

for j := 1 to i-1 do

tpascal[i][j]:= tpascal[i-1,j-1]+tpascal[i-1,j];

tpascal[i][i] := 1;

st := ' ';

for j:= 0 to i do

st := st+format('%4d',[tpascal[i,j]]);

memo1.Lines.Add(st);

end;

end;

end.

Page 22: Listing Contoh Program Pemrograman Terstruktur (Part 2)

program Project1_insertion;

{$apptype console}

uses

Forms;

{$R *.res}

type

tipearray = array [1..100] of integer;

var

arrayinteger : tipearray;

dataitem, jumlahitem : integer;

const

teks = 'Masukan bilangan (0 untuk berhenti) : ';

procedure daftararray(var arrayint:tipearray; jumlahitem:integer);

var

indeks : integer;

begin

write(' Isi Daftar ', jumlahitem, ' Item');

for indeks := 1 to jumlahitem do

write(arrayint[indeks]:4);

Page 23: Listing Contoh Program Pemrograman Terstruktur (Part 2)

writeln;

end;

procedure sisip(var arrayint:tipearray; itembaru,jumlahitem:integer);

var

lokasi,indeks:integer;

begin

if jumlahitem = 1 then

arrayint[1] := itembaru

else

if itembaru > arrayint[lokasi] then

arrayint[jumlahitem] := itembaru

else

begin

lokasi := 1;

while itembaru > arrayint[lokasi] do

lokasi := lokasi + 1;

for indeks := jumlahitem downto lokasi do

arrayint[indeks] := arrayint[indeks-1];

arrayint[lokasi] := itembaru

end;

daftararray(arrayint,jumlahitem);

end;

begin

Page 24: Listing Contoh Program Pemrograman Terstruktur (Part 2)

Application.Initialize;

Application.Run;

write(teks);

readln(dataitem);

jumlahitem := 0;

while dataitem <> 0 do

begin

jumlahitem := jumlahitem + 1;

sisip(arrayinteger,dataitem,jumlahitem);

write(teks);

readln(dataitem);

end;

readln;

daftararray(arrayinteger,jumlahitem);

writeln;

readln;

end.

Page 25: Listing Contoh Program Pemrograman Terstruktur (Part 2)

program Project1_selection;

{$apptype console}

uses

Forms;

{$R *.res}

const

teks = 'Masukan bilangan ( masukan 0 untuk berhenti) :';

type

tipearray = array [1..100] of integer;

var

arrayinteger : tipearray;

dataitem, jumlahitem : integer;

procedure daftararray(var arrayint : tipearray; jumlahelemen : integer);

var

indeks : integer;

begin

write('Isi Daftar ',jumlahelemen, ' Item : ');

for indeks := 1 to jumlahelemen do

write(arrayint[indeks]:4);

writeln;

end;

Page 26: Listing Contoh Program Pemrograman Terstruktur (Part 2)

procedure swap(var a,b : integer);

var

c : integer;

begin

c := a;

a := b;

b := c;

end;

procedure sort(var arrayint : tipearray; jumlahelemen : integer);

var

lokasi,indeks,terkecil:integer;

begin

for lokasi:= 1 to jumlahelemen - 1 do

begin

terkecil := lokasi;

for indeks:= lokasi+1 to jumlahelemen do

terkecil := indeks;

swap(arrayint[lokasi],arrayint[terkecil])

end;

end;

begin

Application.Initialize;

Page 27: Listing Contoh Program Pemrograman Terstruktur (Part 2)

Application.Run;

write(teks);

readln(dataitem);

jumlahitem:= 0;

while dataitem <> 0 do

begin

jumlahitem := jumlahitem + 1;

arrayinteger[jumlahitem] := dataitem;

write(teks);

readln(dataitem);

end;

daftararray(arrayinteger,jumlahitem);

//writeln;

//readln;

sort(arrayinteger,jumlahitem);

//writeln;

daftararray(arrayinteger,jumlahitem);

//writeln;

readln;

end.

Page 28: Listing Contoh Program Pemrograman Terstruktur (Part 2)