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

Listing Contoh Program Pemrograman Terstruktur (Part 2)

Embed Size (px)

DESCRIPTION

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

Citation preview

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)