Selasa, 07 Februari 2012

Program Data Pegawai


Seorang pemilik perusahaan meminta kepada programmer perusahaannya, untuk membuat program penggajian karyawan.
langkah2 penggunaan:
  1.  input NIP
  2.  input nama
  3.  input golongan (golongan 1-3) guna menentukan gaji pokok
  4.  input masa kerja
kurang lebih listing program seperti ini, mohon maaf klo ada yg salah ketik. Lampu diwarnet baru diperbaiki, gelap (huruf di keyboard ga keliatan)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Program DataPegawai;
Uses Wincrt;
Type Pegawai = record
NIP       : String[9];
Nama      : String[50];
Golongan  : Char;
Jamkerja  : Real;
End;
Var
Data                 : Pegawai;
Gapok               : Real;
Insentif,Gaber    : Real;
Ul                    : Char;
Begin
  Repeat
    Clrscr;
    Writeln('Entry Data Pegawai PT. Punya gua');
    Writeln('==========================');
    Writeln;
    Write('NIP          : ');Readln(Data.NIP);
    Write('Nama         : ');Readln(Data.Nama);
    Write('Golongan     : ');Readln(Data.Golongan);
    Write('Jam Kerja    : ');Readln(Data.Jamkerja);
    Writeln;
    Writeln;
    Case Data.Golongan of
      '1'  : Gapok:=1000000;
      '2'  : Gapok:=1500000;
      '3'  : Gapok:=2000000;
      Else
        Gapok:=0;
    End;
 
    if Data.Jamkerja>200 then
      Insentif:=(Data.Jamkerja-200)*10000
    else
      Insentif:=0;
    Gaber:=Gapok+Insentif;
    Clrscr;
    Writeln('Laporan Gaji Pegawai');
    Writeln('PT. XYZ');
    Writeln;
    Writeln('============================================================================');
    Writeln('|NIP       | Nama                    | Golongan | Jam Kerja | Gaji         |');
    Writeln('============================================================================');
    Writeln('|',Data.NIP:10,'|',Data.Nama:25,'|',Data.Golongan:10,'|',Data.Jamkerja:11:0,'|',Gaber:14:2,'|');
    Writeln('============================================================================');
    Writeln;
    Write('Mau Ulang Lagi? [Y/T]: ');Readln(Ul);
  Until Upcase(Ul) <> 'Y';
End.

Sumber nusinau.com

Array dan Record 3


ARRAY
Suatu hari karena melihat kemajuan teknologi seorang guru ingin mengetahui bilangan prima yang ada pada bilangan antara 1 sampai dengan 200 tanpa harus menghitung manual,maka guru tersebut menyuruh anaknya yang seorang programmer untuk membuatkan program mencari bilangan prima antara 1 sampai 200, si programmer membuat program tersebut dengan turbo pascal,program tersebut dibuat dengan bagian dari pascal yaitu array, maka dibuatlah program tersebut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses winCrt;
Var
  Prima : Array[1..200] of Integer;
  i,j : Integer;
  bil : Integer;
Begin
  ClrScr;
  For i := 2 to 200 Do
  Begin
    Prima[i]:=i;
    For j:= 2 to i-1 Do
    Begin
      bil := (i mod j); {* i dibagi j dicek apakah 0*}
      If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
    End;
    If Prima[i] 0 Then Write(Prima[i],' '); {*cetak array yg prima*}
  End;
  Readln;
End.
Program tersebut mencari bilangan prima cara kerja dari program tersebut adalah mengecek apakah bilangan yang ada dapat dibagi dan habis atau tidak,jika bilangan tersebut habis dibagi maka bukan bilangan prima,tapi jika tidak habis dibagi berarti prima,terus berulangan sampai dengan angka 200.
RECORD
Pada kasus ini ada seorang kasir sebuah penginapan membutuhkan sebuah program untuk merecord data seorang wisatawan yang akan menginap pada sebuah hotel.Record tentang nama,Jenis Kelamin,Alamat,Umur.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Uses wincrt;
Type
  wisatawan = Record
  Nama              : string[30];
  JenisKelamin     : string[20];
  Alamat            : string[20];
  Umur              : real;
end;
Var
  Wstw:Wisatawan;
Begin
  ClrScr;
  write ('Nama:');ReadLn(Wstw.Nama);
  write ('Alamat:');Readln(Wstw.Alamat);
  write ('Jenis Kelamin:');Readln(Wstw.JenisKelamin);
  write ('Umur:');Readln(Wstw.Umur);
  Writeln;
  Writeln('Nama Anda:',Wstw.Nama);
  Writeln('Alamat Anda:',Wstw.Alamat);
  Writeln('Jenis Kelamin Anda:',Wstw.JenisKelamin);
  Writeln('Umur Anda:',Wstw.Umur:0:0);
End.
Sumber nusinau.com

Array dan Record 2


ARRAY
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama.
LISTING PROGRAM:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program aljan;
 
Uses winCrt;
Var
  nil1 : Array[1..100] of Integer;
  n,i,j,dum : Integer;
Begin
  ClrScr;
  Write('mau isi berapa data acak (integer) ='); readln(n);
  For i := 1 to n Do
  Begin
    Write('Data Ke ',i,':');Readln(nil1[i]);
  End;
 
  {* penyapuan proses}
  for i:= 1 to n-1 do
  begin
    for j:= i to n do
      begin
        if nil1[j]
          begin
            dum:=nil1[j];
            nil1[j]:=nil1[i];
            nil1[i]:=dum;
          end;
      end;
  end;
  writeln;
  writeln('Hasil Sortir');
  for i := 1 to n do
    write(nil1[i]:3);
  readln;
end.
RECORD
Record adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan.
LISTING PROGRAM :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses wincrt;
type
  Mahasiswa = Record
  Nama :string[30];
  NIM :string[10];
  Alamat :string[50];
end;
var
  mhs:Mahasiswa;
Begin
  clrscr;
  write('Nama : ');readln(Mhs.Nama);
  write('NIM : ');readln(Mhs.NIM);
  write('Alamat : ');readln(Mhs.Alamat);
  writeln;
  writeln('Nama Anda : ',Mhs.Nama);
  writeln('NIM Anda : ',Mhs.NIM);
  writeln('Alamat Anda : ',Mhs.Alamat);
end.
sumber nusinau.com

Array dan Record


Contoh program data pribadi dengan pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
USES WINCRT;
TYPE DATA = RECORD
  NAMA : STRING[25];
  ALAMAT : STRING[30];
  JK : STRING ;
  TELP : STRING [10];
  TANGGALLAHIR : STRING[20] ;
END;
VAR
  a : data;
  JAWABAN : CHAR;
BEGIN
  REPEAT
    CLRSCR;
    BEGIN
      WRITE ('NAMA :');READLN(a.NAMA);
      WRITE ('ALAMAT :');READLN (a.ALAMAT);
      WRITE ('JK ;');READLN (a.JK);
      WRITE ('TELP :');READLN (a.TELP);
      WRITE ('TANGGAL LAHIR :');READLN (a.TANGGALLAHIR);
      WRITELN;
      WRITELN('NAMA ANDA :',a.NAMA);
      WRITELN ('ALAMAT ANDA : ',a.ALAMAT);
      WRITELN ('JK :',a.JK);
      WRITELN ('TELP :',a.TELP);
      WRITELN ('TANGGAL LAHIR :', a.TANGGALLAHIR);
      WRITELN ('APAKAH ANDA AKAN ENTRI DATA LAGI(Y/T):');
      READLN(JAWABAN);
    end;
  UNTIL (JAWABAN='T');
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program arrayku;
uses wincrt;
var angka:array[1..100] of integer;
  i,n:integer;
begin
  clrscr;
  writeln('Jumlah data : ');readln(n);
  for i:=1 to n do
  begin
    writeln('Masukkan angka ke-',i,':');readln(angka[i]);
  end;
  writeln;
  for i:=1 to n do writeln('Angka ke-',i,':',angka[i]);
End.

sumber nusinau.com

Contoh Array


Pada source array berikut ini, dibuat suatu program untuk menyimpan array sebanyak 100 (max), pada awalnya program akan meminta jumlah data yang akan di masukkan. Dalam memberikan nilai pada array, akan dilakukan pengacak-an serta pengecekan nilai yang dihasilkan. Nilai yang dihasilkan kemudian ditampilkan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses wincrt;
 
var X : array[1..100] of integer;
a,b,n,r : integer;
beda : boolean;
begin
  write('Banyaknya data : ');readln(n);
  if n > 100 then begin
    writeln('Melebihi batas, (tidak boleh lebih dari 100)');
    exit;
  end;
  for a:=1 to n do begin
    repeat
      r:=random(100)+1;
      b:=1;beda:=true;
      repeat
        if r=x[b] then beda:=false else inc(b);
      until (b>a-1) or (beda=false);
    until (beda);
    x[a]:=r;
  end;
  writeln;
  for a:=1 to n do write(X[a],' ');
end.

sumber nusinau.com

Program Dengan Array of String


uses wincrt;
 
var x : array[1..3] of string;
    a : integer;
begin
  for a := 1 to 3 do begin
    write('input ', a, ' : ');
    readln(x[a]);
  end;
 
  writeln;
  write('output : ');
  for a := 1 to 3 do
    write(x[a],' ');
end.

sumber nusinau.com

Bilangan Prima Menggunakan Array


Contoh program :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses Crt;
Var
  Prima : Array[1..100] of Integer;
  i,j : Integer;
  bil : Integer;
Begin
  ClrScr;
  For i := 2 to 100 Do
  Begin
    Prima[i]:=i;
    For j:= 2 to i-1 Do
    Begin
      bil := (i mod j); {* i dibagi j dicek apakah 0*}
      If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
    End;
    If Prima[i] <> 0 Then Write(Prima[i],' '); {*cetak array yg prima*}
  End;
  Readln;
End.

sumber nusinau.com