Mengenai Saya

Foto Saya
Jakarta Raya, DKI Jakarta
Selalu Berusaha & Ikhtiar..

Categories

Labels


zil

Senin, 08 Juni 2009

tugas pascal IV




Program tugas4pascal;

Uses CRT;
Type
dealer = Record
Nama : String[12];
Merk : String[8];
Jenis : String[10];
Harga : LongInt;
Bayar : String[6];
Diskon : LongInt;
Total : LongInt;
End;

data = Array [1..100] Of dealer;
Const
Maks = 100;

Var
motor : data;
Pilih : Char;
jml : Byte;
GTotal : LongInt;

Function UpCaseStr(S : String): String;
Var
I : Byte;
Begin
For I := 1 to Length(S) do
If (S[I] >= 'a') And (S[I] <= 'z') Then
Dec(S[I], 32);

UpCaseStr := S;
End;

Function urutdata(Var Brg : data; B : Byte) : Byte;
Var
I, J : Byte;
BTemp : dealer;

Begin
For I := 1 To B Do Begin
For J := (I + 1) To B Do Begin
If (Brg[J].Merk < Brg[I].Merk) Then Begin
BTemp := Brg[I];
Brg[I] := Brg[J];
Brg[J] := BTemp;
End;
End;
End;

urutdata := B;
End;

Function InputData(I : Byte) : Char;
Var
Lagi : Char;

Begin
WriteLn;
Write('Nama Pembeli : '); ReadLn(motor[I].Nama);
WriteLn('Data Motor');
Write('- Merk Motor : '); ReadLn(motor[I].Merk);
Write('- Jenis Motor : '); ReadLn(motor[I].Jenis);
Write('- Harga Motor : Rp. '); ReadLn(motor[I].Harga);

Repeat
Write('Jenis Bayar [Tunai/Kredit] : ');
ReadLn(motor[I].Bayar);
motor[I].Bayar := UpCaseStr(motor[I].Bayar);
Until (motor[I].Bayar = 'TUNAI') Or (motor[I].Bayar = 'KREDIT');

motor[I].Merk := UpCaseStr(motor[I].Merk);

If (motor[I].Merk = 'HONDA') And (motor[I].Bayar = 'KREDIT') Then
motor[I].Diskon := (motor[I].Harga * 5) div 100;

If (motor[I].Merk = 'YAMAHA') And (motor[I].Bayar = 'KREDIT') Then
motor[I].Diskon := (motor[I].Harga * 7) div 100;

If (motor[I].Merk = 'KAWASAKI') And (motor[I].Bayar = 'KREDIT') Then
motor[I].Diskon := (motor[I].Harga * 6) div 100;

If (motor[I].Bayar = 'TUNAI') Then
motor[I].Diskon := (motor[I].Harga * 20) div 100;

If (motor[I].Merk <> 'HONDA') And (motor[I].Merk <> 'YAMAHA') And
(motor[I].Merk <> 'KAWASAKI') Then Begin
motor[I].Harga := 0;
motor[I].Diskon := 0;
End;

motor[I].Total := motor[I].Harga - motor[I].Diskon;

Repeat
WriteLn;
Write('Masukan data lagi [Y/T] : ');
ReadLn(Lagi);
Lagi := UpCase(Lagi)
Until (UpCase(Lagi) = 'Y') Or (UpCase(Lagi) = 'T');

InputData := Lagi;
End;

Function CetakData(B : Byte) : LongInt;
Var
I : Byte;
GT : LongInt;

Begin
WriteLn;
WriteLn('NO. NAMA PEMBELI MERK HARGA JENIS BAYAR DISKON JML. BAYAR');
WriteLn('-------------------------------------------------------------------------------');

For I := 1 To B Do Begin
GT := GT + motor[I].Total;

Write(I:3,' ');
Write(motor[I].Nama:12, ' ');
Write(motor[I].Merk:8, ' ');
Write(motor[I].Harga:10);
Write(motor[I].Bayar:11);
Write(motor[I].Diskon:15);
WriteLn(motor[I].Total:14);
End;

WriteLn('-------------------------------------------------------------------------------');

CetakData := GT;
End;

(* Program Utama *)
Begin
ClrScr;
WriteLn('DEALER MOTOR "JAYA"');
WriteLn('-------------------');

While (jml <= Maks) And (Pilih <> 'T') Do Begin
Inc(jml);
Pilih := InputData(jml);
End;

jml := urutdata(motor, jml);
GTotal := CetakData(jml);
ReadLn;
End.

Rabu, 27 Mei 2009

tugas pascal III

Buatlah program untuk menghitung penjualan dengan mengggunakan pilihan barang yang menentukan nama+harga barang.
Buatlah fungsi pilih kode barang untuk memunculkan nma+harga barang.
Ketentuan :
kode nama harga
A sabun 2500
B pasta gigi 4000
C sampo 3000

buatlah fungsi bonus yang didapatkan dari jumlah beli
ketentuan:

Jumlah beli >=12 dapat piring cantik
Jumlah beli >=6 dapat gelas
selain itu tidak dapat

tampilan input:


tampilan output:













Jawab:

program zilfiah;
uses crt;


label awal;
function pilih(var k:char;var n:string;var h:longint): integer;
begin
if upcase(k)='A' then
begin
n:='sabun';
h:=2500;
end
else if upcase(k)='B' then
begin
n:='Pasta Gigi';
h:=4000;
end
else if upcase(k)='C' then
begin
n:='sampo';
h:=3000;
end;
end;


function bonus(var j:integer;var b:string):longint;
begin
if j>=12 then
b:='piring cantik'
elseif j>=6 then
b:='gelas'
else
b:='tidak dapat'
end;
{main program}
var
nama,nabar,bns:string;
kode,ulang:char;
jb:integer;
harga,ttl:longint;

begin
awal:
clrscr;
writeln(' TOKO LARIS ');
writeln('**********************');
writeln; writeln('input penjualan');
writeln('----------------');
write('Nama Pembeli : ');readln(nama);
write('input kode [A/B/C]:');readln(kode);
write('Jumlah Beli : ');readln(jb);
clrscr;

writeln(' TOKO LARIS ');
writeln('**********************');
writeln;
writeln(' Result');
writeln('----------------');
pilih(kode,nabar,harga);
writeln('Nama pembeli :',nama);
writeln('Barang yang dibeli:',nabar);
writeln('Harga Barang :',harga);
writeln('Jumlah Beli :',jb);
ttl:=jb*harga;

bonus(jb,bns);
writeln('Dapat Bonus: ',bns);
writeln; write('isi lagi [Y/T]=');readln(ulang);
if upcase(ulang)='Y' then
goto awal;
readln;
end.


ket:
diatas program menggunakan fungi parameter
sebagai contoh diatas fungsi pilih
dimana k akan ditukar / dibaca sebagai kode pd main program
dan n dibaca sbgi nama barang
dan h dibaca sbgi harga barang

begitu juga dengan funsi bonus
j dibaca sbg jumlah beli
b sebagai bonus

latihan pascal function












uses crt;
function nilaiakhir(var a,b,c,d,e,f,g:real):integer;
begin
d:=a*0.3;
e:=b*0.3;
f:=c*0.4;
g:=d+e+f;
end;

function grade(var x:real;var grd:char):integer;
begin
if x>=85 then
grd:='A'
else if x>=76 then
grd:='B'
else if x>=67 then
grd:='C'
else if x<67>
grd:='D'
end;

var
nm:string;
mid,final,tugas:real;
n_mid,n_final,n_tugas,n_akhir:real;
n_grade:char;

begin
clrscr;
writeln('Hitung Nilai');
writeln('------------');
write('Nama Siswa : ');readln(nm);
write('Nilai Mid Test : ');readln(mid);
write('Nilai Final test : ');readln(final);
write('Nilai Tugas Mandiri : ');readln(tugas);
nilaiakhir(mid,final,tugas,n_mid,n_final,n_tugas,n_akhir);
grade(n_akhir,n_grade);
clrscr;
writeln('Hasil Perhitungan');
writeln('-----------------');
writeln('Nilai Mid Test : ',mid,' x 30% : ',n_mid:2:0);
writeln('Nilai Final Test : ',final,' x 30% : ',n_final:2:0);
writeln('Nilai Tugas Mandiri : ',tugas,' x 40% : ',n_tugas:2:0);
writeln('------------------------------------------');
writeln('Nilai Akhir : ',n_akhir:2:0);
writeln('Grade : ',n_grade);
readln;
end.

Minggu, 17 Mei 2009

Pascal 2:function









uses crt;
var
nmurni:real;
grade:char;

{function nilai akhir}
function nilakhir(var abs,tgs,ujn:integer):integer;
begin
nmurni:=(abs*0.3)+(tgs*0.3)+(ujn*0.4);
end;

function nilgrade:integer;{ function Grade}
begin
if nmurni>=80 then
grade:='A'
else
if nmurni>=70 then
grade:='B'
else
if nmurni<70>
grade:='C';
end;

var
nama:string;
absen,tugas,ujian:integer;
begin


clrscr;


writeln(' Input Nilai');
writeln('===============');
write('Nama Siswa : ');readln(nama);
write('Nilai Absen : ');readln(absen);
write('Nilai Tugas : ');readln(tugas);
write('Nilai Ujian : ');readln(ujian);
nilnakhir(absen,tugas,ujian);{pemanggilan function nilai akhir}
nilgrade;{Pemanggilan function grade}
clrscr;
writeln('Siswa Yang Bernama : ',nama);
writeln('Nilai Akhir = ',nmurni:2:2);{pemanggilan hasil function nilai akhir}
writeln('Grade = ',grade); {Pemanggilan hasil function grade}
readln;
end.

Rabu, 15 April 2009

11080645(zilfiah) tugas pascal

brikut programnya
c. 0,1,1,2,3,5,8,...(DERET FIBONANCI)

program deret_fibonaci;
uses crt;
var
a, b, c, d, banyak : integer;
begin
clrscr;
write('Banyak deret fibonaci? ');
readln(banyak);

b := 0;
c := 1;
d := 0;

for a := 1 to banyak do
begin
b := d;
write(b, ' ');
d := b + c;
c := b;
end;

readln;
end.



a. 1+3+5+7+9=25

uses crt;
var i,j,k:integer;
begin
clrscr;
for i:=1 to 5 do { Ulang i mulai dari 1 sampai 5}
begin
j:=2*i-1; { nilai awal i = 1  2 * 1 – 1 = 1, 2 * 2 – 1 = 3, 2 * 3 – 1 = 5, dst }
write(j); { cetak j }
k:=k+j; { nilai awal k = 0  0 + 1 = 1, 1 + 3 = 4, 4 + 5 = 9, 9 + 7 = 16, 16 + 9 = 25}
if j<9 then { Kalau nilai j kurang dari 9 maka cetak tanda “+” }
write(‘+’)
else { Tapi kalau lebih dari 9, cetak tanda “=” A }
write(‘=’,k);
end;
readln;
end.

b. 1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

uses crt;
var i, j : integer;
begin
clrscr;
for i:=1 to 5 do { perulangan i dengan nilai awal 1 dan nilai akhir 5 }
begin
for j:=1 to i do { perulangan j dengan nilai awal 1 dan nilai akhir sesuai nilai variabel i}
begin
write(j, ’ ’); { perintah untuk mencetak nilai j}
end;

writeln; {untuk membuat pindah baris/baris kosong}
end;

readln;
end.

Selasa, 14 April 2009

Jalan - jalan ke PP IPTEK


Sudah pernah ke PP IPTEK?

Pasti seru ya jalan-jalan ke sana. Kita bisa coba semua alat peraga, selai itu jadi menambah pengetahuan juga.

PP IPTEK (Pusat Pengembangan Ilmu Pengetahuan dan Teknologi) berlokasi di Taman Mini Indonesia Indah, Jakarta Timur.