Satu Biru Satu Hati Satu Tujuan...

Latar Belakang
Struktur Data memberikan penjelasan tentang suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.Pemakaian struktur data yang tepat didalam proses pemrograman,akan menghasilkan algoritma yang kebih jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana. Didalam sruktur data ini ada struktur data sederhana, salah satunya adalah array , if then else , while do , until , case .

FlowChart














Listing Program 
Program DataPegawai;
Uses Wincrt; 
Var 
nama :array[1..100]of string; 
kerja:array [1..100]of char; 
nip, gol, jam, Gapok, Insentif, Gaber :array[1..100]of longint; 
a,n,gaji:longint; 
ulang,kembali:char; 
    procedure garis; 
    begin 
        writeln('============================================================================ ');
    end; 
    procedure namapegawai; 
    begin 
        If (nip[n]) = 1 then 
        begin 
            nama[n] := 'Fajar Galih Pradhitia';
            Writeln('Nama : ', (nama[n])); 
        end 
        else if (nip[n]) = 2 then
        begin 
            nama[n] := 'Taofik Febrianto'; 
            Writeln('Nama : ', (nama[n])); 
        end 
        else if (nip[n]) = 3 then 
        begin 
            nama[n] := 'Meri Siti Maryam'; 
            Writeln('Nama : ', (nama[n])); 
        end 
        else 
        begin 
            write('Nama : ');readln(nama[n]); 
        end; 
    end; 
    procedure golongan; 
    begin 
        If (gol[n]) = 1 then 
            Gapok[n]:= 1000000 
        else if (gol[n]) = 2 then 
            Gapok[n]:=1500000 
        else if (gol[n]) = 3 then 
            Gapok[n]:=2000000 
        Else 
        begin 
            Gapok[n]:=0; 
            writeln('golongan yang andamasukantidakada'); 
            readkey; 
            donewincrt; 
        end; 
    end; 
    procedure lembur; 
    begin 
        if upcase(kerja[n]) ='Y' then 
        begin 
            Write('Lama KerjaTambahan (jam) : ');Readln(jam[n]); 
            if (jam[n]) >20 then 
            Insentif[n]:=(jam[n])*20000 
        else 
            if (jam[n])>=10 then 
            insentif[n] :=(jam[n])*10000 
        else 
            Insentif[n]:=(jam[n])*5000; 
            Writeln('Insentif : Rp. ',(insentif[n])); 
            Gaber[n]:=Gapok[n]+Insentif[n] ; 
        end 
        else 
        begin 
            gaber[n]:=Gapok[n]; 
            jam[n]:=0; 
            insentif[n]:=0; 
        end; 
    end; 
    procedure laporan; 
    begin 
    clrscr; 
    writeln('Laporan Data PegawaidanGajiPegawai '); 
    garis;  
    writeln('|No|NIP|      NamaPegawai      |Gol|GajiPokok|JamLembur|Insentif|GajiBersih|');
    garis;
        writeln;
    for a:=1 to n do 
    begin 
    gotoxy(1,a+4);write('|');
    gotoxy(2,a+4);write(a); 
    gotoxy(4,a+4);write('|'); 
    gotoxy(7,a+4);write(nip[a]); 
    gotoxy(8,a+4);write('|'); 
    gotoxy(9,a+4);write(nama[a]); 
    gotoxy(32,a+4);write('|'); 
    gotoxy(33,a+4);write(gol[a]); 
    gotoxy(36,a+4);write('|'); 
    gotoxy(37,a+4);write(gapok[a]); 
    gotoxy(46,a+4);write('|'); 
    gotoxy(47,a+4);write(jam[a]); 
    gotoxy(56,a+4);write('|'); 
    gotoxy(57,a+4);write(insentif[a]); 
    gotoxy(65,a+4);write('|'); 
    gotoxy(66,a+4);write(gaber[a]); 
    gotoxy(76,a+4);write('|'); 
    gaji:=gaji+(gaber[a]);
    end;
        writeln;
        garis;
    writeln(' Total GajiPegawai Yang Harus Di bayaradalahRp. ',gaji); 
    readln; 
    end; 
    procedure utama; 
        begin 
            n:=0; 
            repeat 
            n:=n+1; 
            Clrscr; 
        gotoxy(28,2);Writeln('SelamatDatang'); 
        gotoxy(20,3);Writeln('Entri Data PegawaiKelompok 3'); 
        garis; 
        Write('NIP : ');Readln(nip[n]); 
        namapegawai; 
        Write('Golongan (1,2,3): ');Readln(gol[n]); 
        golongan; 
        writeln('GajiPokok : Rp. ', Gapok[n]); 
        write('Ada KerjaTambahan y/t? ');readln(kerja[n]); 
        lembur; 
        Writeln('GajiBersih : Rp. ', (Gaber[n])); 
        write('Tambah data Pegawai (y/t): ');readln(ulang); 
        until upcase(Ulang) <> 'Y'; 
        end; 
        begin 
        kembali:='Y' ; 
        while upcase(kembali) = 'Y' do 
        begin 
        gaji:=0; 
        utama; 
        laporan; 
        write('inginulangiAplikasi(y/t) ? ');readln(kembali); 
        if upcase(kembali)='T' then 
        donewincrt; 
        end;


sekian untuk postingan kali ini!! :)

Komentar

Postingan populer dari blog ini

Ternyata Ini Alasan Banyak Orang Beralih ke Usaha Kecil

Berita PERSIB