Tampilkan postingan dengan label Geek code. Tampilkan semua postingan
Tampilkan postingan dengan label Geek code. Tampilkan semua postingan
Pada artikel ini saya akan menjelaskan atau mempublikasikan source code aplikasi/ program sorting, sorting adalah sebuah teknik pengurutan angka yang berguna untuk mengurutkan sesuai dengan tingkat tinggi rendahnya angka. selengkapnya ini source code program sorting menggunakan bahasa pascal.
program sorting;
uses wincrt;

var
index : byte;
last_compare_at : byte;
n,i,temp : byte;
a : array [1..7] of byte;


begin
n:=7;

clrscr;

for i:=1 to n do
begin
write('Masukkan angka ke - ',i);
write(' : ');
readln(a[i]);
end;

writeln('ini hasil sorting menggunakan bubble sort');

for last_compare_at:=n-1 downto 1 do
begin
for index:=1 to last_compare_at do
begin
if(a[index] > a[index + 1]) then
begin
temp := a[index];
a[index] := a[index + 1];
a[index + 1] := temp;

end;
end;
end;

for i:=1 to n do
begin
write(a[i]);
write(' ');
end;

readln;
end.        




Gambar Compile Program nya

Mungkin Itu saja yang bisa saya sampaikan pada artikel tentang program sorting semoga berguna.
Wassalamualaikum,wr,wb.

Aplikasi Sorting Dengan Bahasa Pascal


Pada Artikel ini saya akan menjelaskan tentang langkah-langkah pembuatan aplikasi pegawai menggunakan bahasa pascal :

{Program penyimpanan data }

program simpandata;
uses wincrt;
 type
 record_pegawai= record
                 NIP :string[6];
                 Nama :string[25];
                 kodebagiankerja:char;
                 gajipokok:longint;
                end;
 tipe_file_pegawai=file of record_pegawai;

 var
  file_pegawai : tipe_file_pegawai;
  data_pegawai : record_pegawai;
 begin
  clrscr;
  assign(file_pegawai,'pegawai.DTA');
  rewrite (file_pegawai);
  with data_pegawai do
   begin
    NIP:= '1212005';
    Nama:= 'RISYANDI';
    kodebagiankerja:='4';
    gajipokok:=500000
   end;

 write(file_pegawai, data_pegawai);
 close(file_pegawai);

 writeln;
 gotoxy(10,4); writeln('Data yang anda siapkan sudah di masukan dan terekam !! ');
 gotoxy(10,5);writeln('Tekan Return !! Terima kasih :)');
 readln;
 writeln;
 gotoxy(10,7);writeln('=== Create By : Risyandi ===');
 end.



{Program menambahkan data }

program tambah_data;
uses wincrt;
type
 record_pegawai= record
                 NIP :string[6];
                 Nama:string[25];
                 kodebagiankerja:char;
                 gajipokok:longint;
                 end;
  tipe_file_pegawai= file of record_pegawai;
procedure pemasukan_dan_perekaman_data (var file_pegawai: tipe_file_pegawai; nmr_rec:word);

{untuk memasukan data yang berasal dari papan ketik}
var
 posx:byte;
 data_pegawai:record_pegawai;
begin
 with data_pegawai do
begin

{buat keterangan pada layar}
clrscr;
gotoxy(10,1); writeln('=====================================================================');
gotoxy(10,2); write('pemasukan data ke-',nmr_rec:3);
gotoxy(10,4); write('NIP [6 digit]     : ');
posx:=WHEREx;
gotoxy (10,5); write('nama              : ');
gotoxy (10,6); write('kode bagian kerja :     [1].personalia [2].keuangan');
gotoxy (10,7); write('                        [3].pemasaran  [4].teknik    [5].produksi');
gotoxy (10,8); write('gaji pokok        :Rp ');
gotoxy (10,9); writeln('=====================================================================');
gotoxy (10,14); writeln('=== Created By : Risyandi ===');

{pemasukan data dari papan ketik}
gotoxy (posx,4); readln(NIP);
gotoxy (posx,5); readln(nama);
gotoxy (posx,6);
repeat
 kodebagiankerja:= READKEY
 until kodebagiankerja in ['1'..'5'];
 write (kodebagiankerja);
 gotoxy (posx+4, 8); readln(gajipokok);
 end;

write(file_pegawai,data_pegawai); {rekam ke disket}
end; {akhir prosedure pemasukan_perekaman_data}
procedure menambah_data;
var
 file_pegawai :tipe_file_pegawai;
 jawaban      :char;
 nmr_record,nmr_komponen:word;
begin
 clrscr;
 assign (file_pegawai,'pegawai.DTA');
 reset(file_pegawai);
 nmr_komponen:= filesize(file_pegawai);
 seek (file_pegawai,nmr_komponen);
 nmr_record := nmr_komponen+1;
 repeat
  pemasukan_dan_perekaman_data(file_pegawai,nmr_record);
  inc(nmr_record);
  gotoxy (10,10); write('menambah data lagi (Y/N)? ');
 repeat
  jawaban:=readkey
  until jawaban in ['Y','y','N','n'];
  until upcase(jawaban)='N';
  write (upcase(jawaban))
  end;
 begin
  menambah_data
 end.


{Program Membaca semua data yang telah di masukan dan telah tersimpan}
program bacasemuadata;
uses wincrt;
type
 record_pegawai= record
                 NIP :string[6];
                 Nama:string[25];
                 kodebagiankerja:char;
                 gajipokok:longint;
                 end;
 tipe_file_pegawai = file of record_pegawai;

 procedure menampilkansemuadata;
 var
  file_pegawai : file of record_pegawai;
  bagiankerja : string [10];
  data_pegawai : record_pegawai;
 begin
  clrscr;
  assign (file_pegawai,'pegawai.DTA');
  reset(file_pegawai);
  writeln('   NIP             NAMA            BAGIAN KERJA             GAJI');
  writeln('====================================================================');
  while not eof (file_pegawai) do
   with data_pegawai do
    begin
     read (file_pegawai, data_pegawai);
      case kodebagiankerja of
       '1':bagiankerja:='personalia';
       '2':bagiankerja:='keuangan';
       '3':bagiankerja:='pemasaran';
       '4':bagiankerja:='Teknik';
       '5':bagiankerja:='Produksi';
       end;
      writeln (NIP:6,      Nama:20,      bagiankerja:16,'           Rp',gajipokok:8);
      end;
  writeln('====================================================================');
  end;

     begin
      menampilkansemuadata;
      write('Tekan Return'); readln;
      end.




{Program Menghapus Bagian Data yang ingin di hapus}

program hapusdata;
uses wincrt;
type
 record_pegawai = record
                  NIP                   :string[6];
                  nama                  :string[25];
                  kodebagiankerja       :char;
                  gajipokok             :longint;
                  end;
 tipe_file_pegawai = file of record_pegawai;
 var
  file_pegawai:tipe_file_pegawai;
  data_pegawai:record_pegawai;

 procedure tampilkan_komponen(var data_pegawai: record_pegawai);
 begin
  with data_pegawai do
   begin
    gotoxy(10,4); write('NIP    :',NIP);
    gotoxy(10,5); write('nama   :',nama);
    gotoxy(10,6); write('bagian kerja :');
    case kodebagiankerja of
    '1': write ('Personalia');
    '2': write ('Keuangan');
    '3': write ('pemasaran');
    '4': write ('Teknik');
    '5': write ('Produksi');
   end;
   gotoxy(10,7); write ('gaji pokok :Rp ',gajipokok);
   end;
   end;

 procedure menghapusdata;
 const
  posisi_awal_file=0;
 var
  file_pegawai:tipe_file_pegawai;
  ketemu, adapenghapusan:boolean;
  jawaban:char;
  nip_dicari:string[6];

 procedure proses_penghapusan (var file_pegawai : tipe_file_pegawai);
 const
  namafilesementara='temporer.DTA';
 var
  fileproses:tipe_file_pegawai;
  data_pegawai:record_pegawai;
  nmrrecord:word;
 begin
  clrscr;
  writeln('tunggu .. sedang melakukan proses penghapusan');
  assign(fileproses,'temporer.DTA');
  rewrite(fileproses);
  seek (file_pegawai, posisi_awal_file);
  for nmrrecord := 1 to filesize (file_pegawai) do
   begin
    read (file_pegawai, data_pegawai);
    if data_pegawai.nip<>'*' then
     write (fileproses, data_pegawai)
    else
     write('komponen nomor', filepos(file_pegawai)-1,'dihapus.');
   end;

 close(file_pegawai);
 close(fileproses);
 erase(file_pegawai);
 assign(fileproses, namafilesementara);
 rename(fileproses,'pegawai.DTA');
 writeln('pengahapusan selesai.');
 end;

 begin
  assign(file_pegawai,'pegawai.DTA');
  reset(file_pegawai);
  adapenghapusan:=false;
  repeat
   clrscr;
   gotoxy(10,4); write ('NIP dari data yang akan di hapus : ');
   readln(Nip_dicari);
   gotoxy(10,14); writeln('=== Created By : Risyandi ===');

 seek (file_pegawai, posisi_awal_file);
 ketemu:=false;
 while (not eof(file_pegawai)) and (not ketemu) do
  begin
   read(file_pegawai, data_pegawai);
   if data_pegawai.NIP=Nip_dicari then
   ketemu:=true;
   end;

 if ketemu then
  begin
   clrscr;
   tampilkan_komponen(data_pegawai);
   gotoxy(10,9); write('data ini di hapus (Y/T) ?');
   repeat
    jawaban:=readkey 
   until jawaban in ['Y','y','T','t'];
   if upcase(jawaban)= 'Y' then
    begin
     data_pegawai.NIP:='*';
     seek(file_pegawai, filepos(file_pegawai)-1);
     write(file_pegawai, data_pegawai);
     adapenghapusan:=true;
     end;
     end
     else
      begin
      gotoxy(10,6);
      writeln('Data Tidak Ditemukan !!!');
      end;
  gotoxy (10,9); clreol;
  write('Mau menghapus lagi (Y/T) ?');
  repeat
   jawaban:=readkey;
   until jawaban in ['Y','y','T','t'];
   until upcase (jawaban)= 'T';

  if adapenghapusan then
   proses_penghapusan (file_pegawai)
  else
   close(file_pegawai);
  end;
  begin
  menghapusdata
  end.



{Program mengganti bagian data}
program gantidata;
uses wincrt;
 type
  record_pegawai= record
                  NIP   :string[6];
                  nama  :string[25];
                  kodebagiankerja :char;
                  gajipokok :longint;
                  end;
  tipe_file_pegawai = file of record_pegawai;

 procedure tampilkan_komponen(var data_pegawai: record_pegawai);
 begin
  with data_pegawai do
   begin
    gotoxy(10,4); write('NIP    :',NIP);
    gotoxy(10,5); write('nama   :',nama);
    gotoxy(10,6); write('bagian kerja :');
    case kodebagiankerja of
    '1': write ('Personalia');
    '2': write ('Keuangan');
    '3': write ('pemasaran');
    '4': write ('Teknik');
    '5': write ('Produksi');
   end;
   gotoxy(10,7); write ('gaji pokok :Rp ',gajipokok);
   end;
   end;

 procedure menggantidata;
 const
 posisi_awal_file=0;
  var
   file_pegawai : tipe_file_pegawai;
   data_pegawai : record_pegawai;
   jawaban : char;
   posx    : byte;
   Nip_dicari     : string[6];
   ketemu         :boolean;
  begin
   assign (file_pegawai,'Pegawai.DTA');
   reset(file_pegawai);
   repeat
    clrscr;
    gotoxy(10,4); write('NIP dari data yang akan di ganti : ');
    readln(Nip_dicari);

    seek(file_pegawai, posisi_awal_file);
    ketemu:=false;
    while (not eof(file_pegawai)) and (not ketemu) do
     begin
      read (file_pegawai, data_pegawai);
      if data_pegawai.NIP = Nip_dicari then
       ketemu:= true;
     end;
    if ketemu then
     begin
      clrscr;
      tampilkan_komponen(data_pegawai);
      gotoxy(10,9); write('data baru : ');
      gotoxy(10,11); write('kode bagian kerja : ');
      posx:=wherex;
      gotoxy(posx+3,11); write ('[1] Personalia [2] Keuangan');
      gotoxy(posx+3,12); write ('[3]Pemasaran   [4] Teknik     [5] prouksi');
      gotoxy(10,13); write ('gaji pokok :Rp ');

   gotoxy (posx,11);
   repeat
    data_pegawai.kodebagiankerja := readkey;
    until data_pegawai.kodebagiankerja in ['1'..'5'];
    write (data_pegawai.kodebagiankerja);
    gotoxy (posx+4, 13);
    readln(data_pegawai.gajipokok);

    seek (file_pegawai, filepos(file_pegawai)-1);
    write(file_pegawai,data_pegawai);
    end
    else
     begin
      gotoxy(10,6);
      write('data tersebut tidak bisa di temukan !! ');
      end;

      gotoxy(10,15); write('Mau mengubah lagi ? (Y/T)');
      repeat
       jawaban:= readkey
       until jawaban in ['Y','y','T','t'];
       write(upcase(jawaban));
       until upcase(jawaban)='T';
      end;

      begin
       menggantidata;
       end.


terima kasih itulah sebagian coding untuk membuat program data pegawai terstruktur !!
wassalam.wr.wb



Aplikasi Penggajian Pegawai Dengan Bahasa Pascal

pada artikel ini saya akan menjelaskan tentang langkah-langkah dalam pembuatan aplikasi gaji pegawai menggunakan delphi

Pertama : Buatlah Form seperti gambar Berikut ! 


komponen yang di perlukan adalah sebagai berikut :
      1. label     --------- 5
      2. Textbox   --------- 1
      3.Combobox   --------- 1
      4.memo   --------- 1
      5.Buttons   --------- 2
      6.Checkbox --------- 1
      7. Radio Buttons ------- 3
      


CODE LENGKAP
========================================================================

var Form1: TForm1; gp, tj, ta, tl : real; implementation uses Math; {$R *.dfm} procedure TForm1.ComboBox1Change(Sender: TObject); begin case ComboBox1.ItemIndex of 0 : Label2x.Caption := 'Agus'; 1 : Label2x.Caption := 'Amin'; 2 : Label2x.Caption := 'Anwar'; 3 : Label2x.Caption := 'Asep'; end; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin Edit1.Enabled := CheckBox1.Checked; if CheckBox1.Checked = False then Edit1.Text := '0'; end; procedure TForm1.Button1Click(Sender: TObject); begin If RadioButton1.Checked then gp := 900000; if RadioButton2.Checked then gp := 1100000; If RadioButton3.Checked then gp := 1400000; if CheckBox1.Checked = true then tj := 0.2 * gp else tj := 0.05 * gp; if StrToInt(Edit1.Text)>= 3 then ta := gp * 0.3 else ta := gp * 0.1 * StrToInt(Edit1.Text); tl := gp + tj + ta; ListBox1.Items.Clear; ListBox1.Items.Add('Gaji Pokok : '+formatcurr('Rp '+'###,##0',gp)); ListBox1.Items.Add('Tunj. Kel : '+formatcurr('Rp '+'###,##0',tj)); ListBox1.Items.Add('Tunj. Anak : '+formatcurr('Rp '+'###,##0',ta)); ListBox1.Items.Add('======================'); ListBox1.Items.Add('Gaji Pokok : '+formatcurr('Rp '+'###,##0',tl)); end; end.
========================================================================

masukan kode tersebut pada bagian button proses ! ingat untuk button reset kita cuma memasukan code seperti ini :
==============
edit1.Text := ' ';
edit2.Text := ' ';
end;
==============

nama "edit1." bisa di ganti sesuai name yang kalian edit di name delphi nya makasih semoga bermanfaat !! :) 


wassalam.wr.wb

Aplikasi Penggajian Pegawai Dengan Delphi 7