Sabtu, 24 Maret 2012

Tugas Struktur Data (3)

Program kombinasi;
uses wincrt;
var
   f1,f2,f3:longint;
   n,r,s:integer;
   c: real;
Procedure fak( n:integer; var f:longint);
var
   i:integer;
begin
     f:=1;
     for i:=1 to n do
     f:= f * i;
end;
Begin                                                                                         
     clrscr;
     writeln('------=(( Program Kombinasi Matematika ))=------');
     writeln('________________________________________________');
     writeln('                                  *note : R <= N');
     writeln;
     write('> Masukkan Nilai N : ');readln(n);
     write('> Masukkan Nilai R : ');readln(r);
     writeln('------------------------------------------------');                           
     fak(n,f1);
     fak(r,f2);
     s:=(n-r);
     fak(s,f3);
     c:= f1/(f2*f3);
     write('  Kombinasi dari nilai di atas adalah : ',c:2:0);
     readln;
end.

Output dari script diatas : 
Kombinasi Matematika

Sabtu, 10 Maret 2012

Tugas Struktur Data (2)

Membuat Program Struk Belanja (Rincian Uang)

program struk_belanja;
uses wincrt;

var
   kode,tgl,nama,alamat,brg:string[50];
   hrg,jumlahbrg,uang,tot,byr: longint;
   barang:array[1..50]of integer;

begin
clrscr;
write('Tanggal Pembelian: ');readln(tgl);
write('Nama Pembeli : ');readln(nama);
write('Alamat : ');readln(alamat);
writeln;
writeln('  PEMBELIAN BARANG');
writeln('  ----------------------------------');
write('  Kode Barang : ');readln(kode);
write('  Nama Barang yang dibeli : ');readln(brg);
write('  Harga Satuan Barang : ');readln(hrg);
write('  Jumlah : ');readln(jumlahbrg);
writeln;
tot:=hrg*jumlahbrg;

clrscr;
writeln(' STRUK BELANJA BARANG');
writeln(' CV. GEMBLADUK Typography');
writeln(' Jl.Kh.Abd.Qohar No.17 Dsn.Duyo Ds.Sukorejo');
writeln(' Kec.Pohjentrek Kab.Pasuruan');
writeln;
writeln('Tanggal Pembelian: ',tgl);
writeln('Nama Pembeli : ',nama);
writeln('Alamat : ',alamat);
writeln('——————————————————————————————————————————————————————————————————————————————');
writeln('| Kode barang | Nama Barang | harga satuan(Rp) | jumlah | harga x jumlah(Rp) |');
writeln('——————————————————————————————————————————————————————————————————————————————');
begin
write(kode,'      ');
write(brg:10,'    ');
write(hrg:10,'    ');
write(jumlahbrg,'    ');
writeln(tot:10);
end;
writeln('——————————————————————————————————————————————————————————————————————————————');
  write('Uang Pembayaran : ');readln(byr);
  uang:=byr-tot;
  writeln;
  writeln('Uang Kembalian');
  writeln('===========================');

  if uang div 100000 > 0 then begin
    writeln(uang div 100000, ' lembar seratus ribuan');
    uang := uang mod 100000;
  end;

  if uang div 50000 > 0 then begin
    writeln(uang div 50000, ' lembar lima puluh ribuan');
    uang := uang mod 50000;
  end;

  if uang div 20000 > 0 then begin
    writeln(uang div 20000, ' lembar dua puluh ribuan');
    uang := uang mod 20000;
  end;

  if uang div 10000 > 0 then begin
    writeln(uang div 10000, ' lembar sepuluh ribuan');
    uang := uang mod 10000;
  end;

  if uang div 5000 > 0 then begin
    writeln(uang div 5000, ' lembar lima ribuan');
    uang := uang mod 5000;
  end;

  if uang div 1000 > 0 then begin
    writeln(uang div 1000, ' lembar ribuan');
    uang := uang mod 1000;
  end;

  if uang div 500 > 0 then begin
    writeln(uang div 500, ' lembar lima ratusan');
    uang := uang mod 500;
  end;

  if uang div 100 > 0 then begin
    writeln(uang div 100, ' ratusan');
    uang := uang mod 100;
  end;

  if uang div 50 > 0 then begin
    writeln(uang div 50, ' limapuluhan');
    uang := uang mod 50;
  end;

  if uang > 0 then begin
    writeln(uang, ' satuan');
  end;

  writeln('——————————————————————————————————————————————————————————————————————————————');

end.

Tampilan output dari script diatas :
 Gambar.1- (Inputan data)

 Gambar.2- (Rincian Struk Transaksi)

Sabtu, 03 Maret 2012

Tugas Struktur Data (1)

Jawaban Tugas (1) Array Dua Dimensi (MATRIX)

program Perkalian_Matrix;
uses wincrt;
var
   a,b,c : array [1..5,1..5] of integer;
   i,j,k,n,m,p : integer;
begin
     clrscr;
     writeln('Selamat datang di program matriks..!!');
     writeln('Masukkan ukuran matrik Minim ordo 5 x 5 ');
     writeln('----------------------------------------');
     writeln('Ukuran matrix A');
     write('Baris : '); readln(n);
     write('Kolom : '); readln(m);
     writeln;
     writeln('Ukuran matrix B');
     writeln('Baris : ',m);
     write('Kolom : '); readln(p);
     writeln('----------------------------------------');
     for i:=1 to n do
     for j:=1 to m do
     begin
          write('Elemen A[',i,',',j,'] : ');
          readln(a[i,j]);
     end;
     writeln;
     for i:=1 to m do
     for j:=1 to p do
     begin
          write('Elemen B[',i,',',j,'] : ');
          readln(b[i,j]);
     end;
     for i:=1 to n do
     for j:=1 to p do
     for k:=1 to m do
     c[i,j] := c[i,j] + a[i,k]*b[k,j];
     writeln('----------------------------------------');
     writeln('Hasil dari perkalian Matrix A dengan Matrix B adalah : ');
     Writeln;
     for i:=1 to n do
     begin
          for j:=1 to p do
          write(c[i,j]:4);
     writeln;
     end;
     writeln;
     readln;
end.

Inilah tampilan output  jika script di atas dijalankan :
Gambar.1- (Kali Matrik)


Jawaban Tugas (2) - MATRIKS IDENTITAS (Reverse)
 
program identitas_matrik;
uses WinCrt;
var
mat:array[1..5,1..5]of integer;
x,y:integer;
begin
  for x:=1 to 5 do
  begin
    for y:=1 to 5 do
    begin
      mat[x,y]:=0;
      if x+y=6 then mat[x,y]:=1;
      write (mat[x,y]:3);
    end;
   writeln;
  end;
end.

Inilah tampilan output  jika script di atas dijalankan :


Gambar.2- (Matrik Identitas)