Selasa, 15 November 2011

[Turbo Pascal] Program KRS Mahasiswa

program krs_mahasiswa;
uses wincrt;
type
siswa=record
nim:string[5];
nama:string[15];
krs:array[1..4,1..5] of integer;
end;
type kuliah=array[1..20] of siswa;
var kul:kuliah;
{--------------------------------------------------------------------}
function huruf(bobot:integer):char;
begin
case bobot of
0:huruf:='E';
1:huruf:='D';
2:huruf:='C';
3:huruf:='B';
4:huruf:='A';
end;
end;
{--------------------------------------------------------------------}
procedure khs(n:integer;kul:kuliah);
var jumsks,usaha,i,j:integer;
ipnya:real;
begin
for i:=1 to n do
begin
Writeln('Nim : ',kul[i].nim);
Writeln('Nama : ',kul[i].nama);
writeln;
writeln('Kode sks nilai');
jumsks:=0;usaha:=0;
for j:=1 to 2 do
begin
writeln(kul[i].krs[1,j]:3,' ',kul[i].krs[2,j]:3,'
',huruf(kul[i].krs[4,j]):5);
jumsks:=jumsks+kul[i].krs[2,j];
usaha:=usaha + kul[i].krs[2,j]*kul[i].krs[4,j];
end;
if jumsks<>0 then
ipnya:=usaha/jumsks;
writeln;
writeln('IP = ',ipnya:0:2);
readkey;
end;
end;
{--------------------------------------------------------------------}
function bobot(nilai:integer):integer;
begin
if nilai<40 then bobot:=0
else
if (nilai>=40) and (nilai<55) then bobot:=1
else
if (nilai>=55) and (nilai<65) then bobot:=2
else
if (nilai>=65) and (nilai<76) then bobot:=3
else
bobot:=4;
end;
{--------------------------------------------------------------------}
procedure masukdata(var kul:kuliah;var n:integer);
var i,j:integer;
begin
clrscr;
write('Banyak mahasiswa = ');readln(n);
for i:=1 to n do
begin
write('Nim : ');readln(kul[i].nim);
write('Nama : ');readln(kul[i].nama);
writeln;
for j:=1 to 2 do
begin
write('Kode : ');readln(kul[i].krs[1,j]);
write('Sks : ');readln(kul[i].krs[2,j]);
write('Nilai : ');readln(kul[i].krs[3,j]);
writeln('Bobot : ',bobot(kul[i].krs[3,j]));
kul[i].krs[4,j]:=bobot(kul[i].krs[3,j]);
writeln('huruf : ',huruf(bobot(kul[i].krs[3,j])));
writeln;
end;
end;
end;
var n:integer;
begin
masukdata(kul,n);
readkey;
khs(n,kul);
end.

Output:

Minggu, 06 November 2011

[Turbo Pascal] Fungsi Looping Pada Turbo Pascal


Posted on Wednesday, July 13, 2011 by fendri
Pada kesempatan kali ini saya sharing tentang "Fungsi Looping Pada Pascal.

Apa Itu Looping

Pada Pemograman looping diartikan sebagai proses berulang terhadap statement maupun serangkaian statement lebih dari satu kali dengan menggunakan kode atau perintah tertentu.

Tanpa menggunakan looping listing program yang kita tulis bisa jadi panjang dan logika pemograman jadi agak susah.

Selanjutnya bagaimana cara penerapan fungsi looping pada pascal?


Cara Penerapan Fungsi Looping Pada Pascal

Looping pad pascal menggunakan beberapa perintah seperti;
  • for...to.. do;
  • For biasa digunakan untuk perulangan positif dengan penghitung (counter) dari kecil kebesar atau dengan kata lain pertambahannya positif. Bentuk Umum ; For variabel := nilai awal To nilai akhir Do Statement; dan For variabel := nilai awal DownTo nilai akhir Do Statement;
  • while..do;
  • dan repeat until

Pada kesempatan kali ini contoh listing yang saya berikan adalah penerapan fungsi looping dengan perintah "for". Pda postingan berikutnya saya akan membahas contoh penerapan fungsi loopng pada pascal dengan perintah (while..do dan repeat..until)

Berikut contoh list programnya;

uses crt;
var i: integer;
a:string[30];
begin
clrscr;
write('kata='); readln(a);
for i:=1 to 5 do
begin
writeln(a);
end;
readln;
end.


Contoh listing program diatas adalah pengulangan kata yang diinput sebanyak 5 kali. Logika programnya seperti ini;
  • deklarasikan variable
  • input kata
  • cetak kata yang diinput
  • lakukan pengulangan sampai 5 kali
  • selesai

[Turbo Pascal] Deret pangkat bilangan

Menghitungderetpangkatbilangan


Outputnya:

Edit sepuasnya sesuai keinginan kalian..jangan sama seperti punya ku yang di atas ya..
 

Kamis, 03 November 2011

Entry Data Pegawai dengan Array

Program DataPegawai_Array;
Uses Wincrt;
Type Pegawai = record
NIP : String[9];
Nama : String[30];
Golongan : Char;
Jamkerja : Real;
End;
Var
Data : Array [1..100] of Pegawai;
Gapok,Insentif,Gaber : Real;
Tot,Rata : Real;
Ul : Char;
i,n : Integer;
Begin
Repeat
Clrscr;
Write('Masukkan Jumlah Data Pegawai : ');Readln(n);
For i := 1 to n do
Begin
Clrscr;
Writeln('Entry Data Pegawai PT. XYZ');
Writeln('==========================');
Writeln;
Writeln('Data Ke-',i);
Writeln;
Write('NIP : ');Readln(Data[i].NIP);
Write('Nama : ');Readln(Data[i].Nama);
Write('Golongan : ');Readln(Data[i].Golongan);
Write('Jam Kerja : ');Readln(Data[i].Jamkerja);
Writeln;
End;
Clrscr;
Writeln('Laporan Gaji Pegawai');
Writeln('PT. XYZ');
Writeln;
Writeln('=============================================================
==================');
Writeln('|NO. |NIP | Nama | Golongan | Jam
Kerja | Gaji |');
Writeln('=============================================================
==================');
Tot:=0;
For i := 1 to n do
Begin
Case Data[i].Golongan of
'1' : Gapok:=1000000;
'2' : Gapok:=1500000;
'3' : Gapok:=2000000;
Else
Gapok:=0;
End;
if Data[i].Jamkerja>200 then
Insentif:=(Data[i].Jamkerja-200)*10000
else
Insentif:=0;
Gaber:=Gapok+Insentif;
Tot:=Tot+Gaber;
Writeln('|',i:4,'|',Data[i].NIP:10,'|',Data[i].Nama:25,'|',Data[i].Gol
ongan:10,'|',Data[i].Jamkerja:10:0,
'|',Gaber:13:0,'|');
End;
Rata:=Tot/n;
Writeln('=============================================================
==================');
Writeln('Total Gaji Keseluruhan : Rp.',Tot:12:0);
Writeln('Rata Gaji Pegawai : Rp.',Rata:12:0);
Writeln;
Write('Mau Ulang Lagi? [Y/T]: ');Readln(Ul);
Until Upcase(Ul)<>'Y';
End.


Output: 



Program Menjumlahkan Pecahan


Program Pecahan;
Uses Wincrt;
Var pmb,pny : array [1..10] of integer;
i,j,n,t1,t2 : integer;
Begin
Writeln('Program Pecahan');
Writeln('===============');
Writeln;
Write('Jumlah Data Pecahan: ');Readln(n);
Writeln;
For i := 1 to n do
Begin
Write('Pembilang ke-',i,' : ');Readln(pmb[i]);
Write('Penyebut ke-',i,' : ');Readln(pny[i]);
End;
Writeln;
Writeln('Pecahan Yang Di Masukkan:');
For i := 1 to n do
Writeln(pmb[i],'/',pny[i]);
For i := 1 to n-1 do
For j := i+1 to n do
Begin
if ((pmb[i]/pny[i])>(pmb[j]/pny[j])) then
Begin
t1:=pmb[i];
t2:=pny[i];
pmb[i]:=pmb[j];
pny[i]:=pny[j];
pmb[j]:=t1;
pny[j]:=t2;
End;
End;
Writeln;
Writeln('Hasilnya: ');
For i := 1 to n do
Writeln(pmb[i],'/',pny[i]);
End.


Output:


Program Konversi Waktu

Program Konversi_Waktu;
Uses Wincrt;
Var j,m,d,h:integer;
begin
Writeln('Program Konversi Waktu');
Writeln('======================');
Writeln;
Write('Masukkan Jumlah Jam : ');readln(j);
Write('Masukkan Jumlah Menit : ');readln(m);
Write('Masukkan Jumlah Detik : ');readln(d);
Writeln;
h:=(j*3600)+(m*60)+d;
Writeln('Jadi Hasil Konversi : ',h,' Detik');
end.


Output:

Program Konversi Fareinheit Ke Celcius

Program Konversi_Suhu;
Uses WinCrt;
var f,c:real;
begin
Writeln('Program Konversi Fareinheit Ke Celcius');
Writeln('======================================');
Writeln;
Write('Masukan Suhu dalam Farenheit: ');readln(f);
c:=5/9*(f-32);
Writeln;
Writeln('Jadi Suhu Dalam Celcius Adalah: ',c:4:2);
end.


Output:


Program menentukan huruf Vokal dan Konsonan

Program untuk menentukan suatu huruf yang diinputkan, apakah merupakan huruf Vokal atau huruf Konsonan.

Klik Gambar untuk lebih jelasnya!



Output:

Program Menjumlahkan Bilangan Pecahan

Menghitung Pecahan berurutan yang tersusun secara otomatis dan kemudian menjumlahkannya yang memiliki penyebut genap dan pembilang ganjil.                       




Output:


Edit sesuai dengan yang kalian ingankan…jangan sama seperti punya ku yang diatas ya….^_^
Jika ada pertanyaan tinggalkan komentar…

Program menghitung gajih bersih pegawai

Program untuk menyelesaikan perhitungan Gaji Bersih Pegawai jika diminta sebagai input dari program adalah NIP, NAMA dan Gol.
Nilai Gaji Pokok Pegawai didapatkan dengan kondisi berikut ini.
Gol I   : Rp. 1.000.000
GolII  :Rp. 1.800.000
Gol III : Rp. 2.200.000
Gol IV: Rp. 3.500.000Gaji Bersih Karyawan adalah gaji setelah ditambah tunjangan istri dan tunjangan anak.  Jika Pegawai memiliki anak, maka besar tunjangan anak adalah 5 % per anak. Dan besar tunjangan istri adalah 10 %.
Dan dari gaji ini dipotong lagi dengan asuransi Taspen sebesar 2% dari Gaji Pokok.

Output:


Jika ada pertanyaan tinggalkan komentar…

Menentukan Grade Usia Seseorang

Program untuk menentukan grade usia seseorang, apakah termasuk balita, anak-anak, remaja, dewasa atau tua. Grade usia berdasarkan table dibawah ini :
Usia
Ket
1 – 5 tahun
Balita
6 – 10 tahun
Anak-anak
11 – 18 tahun
Remaja
19 – 50 tahun
Dewasa
51 – unlimited Tua





Output:

jika ada pertanyaan tinggalkan komentar…

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews