- Hanya mereka yang berani gagal dapat meraih keberhasilan (Robert F. Kennedy)
- Setiap pria dan wanita sukses adalah pemimpi-pemimpi besar. Mereka berimajinasi tentang masa depan mereka, berbuat sebaik mungkin dalam setiap hal, dan bekerja setiap hari menuju visi jauh ke depan yang menjadi tujuan mereka (Brian Tracy)
- Percayalah pada keajaiban, tapi jangan tergantung padanya (H. Jackson Brown, Jr)
- Rayulah aku, dan aku mungkin tak mempercayaimu. Kritiklah aku, dan mungkin aku tak menyukaimu. Acuhkan aku, dan aku mungkin tak memaafkanmu. Semangatilah aku, dan aku mungkin takkan melupakanmu (William Arthur)
- Jika Anda membuat seseorang bahagia hari ini, Anda juga membuat dia berbahagia dua puluh tahun lagi, saat ia mengenang peristiwa itu (Sydney Smith)
25 April 2010
123 Kata Mutiara
21 Maret 2010
07 Juni 2009
Tugas Pascal IV
Soal:
Buat program perekaman dengan ketentuan sebagai berikut:
Gunakan record untuk perekaman data seperti masukan dibawah ini
DEALER MOTOR “JAYA”
------------------------------
Nama Pembeli:
Data Motor
- Merk Motor : _______ input
- Jenis Motor : _______input
- Harga Motor : Rp.____input
Jenis Bayar [Tunai/Kredit] :_______input
Masukkan data lagi [Y/T]:______input
Buat function untuk menentukan diskon
------------------------
Merk | Diskon |
| Tunai |Kredit |
------------------------
Honda |20% |5% |
Yamaha |20% |7% |
Kawasaki|20% |6% |
------------------------
Diskon diberikan dari harga motor
Buatlah function urutdata untuk mengurutkan data
Buatlah function cetakdata untuk mencetak data
Tampilan keluaran:
Dealer Motor “Jaya”
===================================================================================
No Nama Pembeli Merk Harga Jenis Bayar Diskon Jumlah Bayar
=================================================================================== Rp. Rp.
===================================================================================
Jawaban:
uses crt;
const max = 10;
type dealer = Record
nama,merk,jns,jb : string;
hrg : longint;
disk,jml : real;
End;
datamotor = array[1..max] of dealer;
var
data : datamotor;
a : integer;
function diskon(var mrk,jn:string;var hrg:longint) : real;
Begin
if mrk='Honda' then
begin
if jn='Tunai' then
diskon:=0.2*hrg
else if jn='Kredit' then
diskon:=0.05*hrg
else diskon:=0;
end
else if mrk='Yamaha' then
begin
if jn='Tunai' then
diskon:=0.2*hrg
else if jn='Kredit' then
diskon:=0.07*hrg
else
diskon:=0;
end
else if mrk='Kawasaki' then
begin
if jn='Tunai' then
diskon:=0.2*hrg
else if jn='Kredit' then
diskon:=0.06*hrg
else diskon:=0;
end;
End;
function BacaData:real;
var
Lagi : Char;
Begin
a := 0;
REPEAT
a := a + 1;
WITH data[a] DO
Begin
WriteLn('DEALER MOTOR "JAYA"');
Write('Nama Pembeli : '); ReadLn(nama);
Writeln('Data Motor');
Write('- Merk Motor : '); ReadLn(merk);
Write('- Jenis Motor : '); ReadLn(jns);
Write('- Harga Motor : '); ReadLn(hrg);
write('Jenis Bayar [Tunai/Kredit]: ');readln(jb);
disk := diskon(merk,jb,hrg);
jml:=hrg-disk;
Write('Input Data Lagi [Y/T] : '); ReadLn(Lagi);
IF a + 1 > max Then
Begin
Lagi := 'T';
End;
End;
UNTIL UPCASE(LAGI) = 'T';
End;
function UrutData:real;
VAR
i, j : integer;
simpan : dealer;
Begin
FOR i := 1 To a - 1 DO
FOR i := 1 + i To a DO
IF data[i].disk < data[j].disk THEN
Begin
simpan := data[i];
data[i] := data[j];
data[j] := simpan;
End;
End;
Procedure CetakData;
VAR
i : Integer;
Begin
clrscr;
writeln;
writeln('DEALER MOTOR "JAYA"');
writeln('=============================================================================');
writeln('No Nama Pembeli Merk Harga Jenis Bayar Diskon Jumlah Bayar');
writeln('=============================================================================');
for i := 1 to a do
begin
with data[i] DO
writeln(i:2,' ',nama:15,' ',merk:10,' ',hrg:10,' ',jb:12,' Rp.',disk:2:0,' Rp.',jml:2:0);
end;
writeln('=============================================================================');
End;
{PROGRAM UTAMA}
begin
clrscr;
BacaData;
UrutData;
CetakData;
readln;
end.
Selengkapnya....
Buat program perekaman dengan ketentuan sebagai berikut:
Gunakan record untuk perekaman data seperti masukan dibawah ini
DEALER MOTOR “JAYA”
------------------------------
Nama Pembeli:
Data Motor
- Merk Motor : _______ input
- Jenis Motor : _______input
- Harga Motor : Rp.____input
Jenis Bayar [Tunai/Kredit] :_______input
Masukkan data lagi [Y/T]:______input
Buat function untuk menentukan diskon
------------------------
Merk | Diskon |
| Tunai |Kredit |
------------------------
Honda |20% |5% |
Yamaha |20% |7% |
Kawasaki|20% |6% |
------------------------
Diskon diberikan dari harga motor
Buatlah function urutdata untuk mengurutkan data
Buatlah function cetakdata untuk mencetak data
Tampilan keluaran:
Dealer Motor “Jaya”
===================================================================================
No Nama Pembeli Merk Harga Jenis Bayar Diskon Jumlah Bayar
=================================================================================== Rp. Rp.
===================================================================================
Jawaban:
uses crt;
const max = 10;
type dealer = Record
nama,merk,jns,jb : string;
hrg : longint;
disk,jml : real;
End;
datamotor = array[1..max] of dealer;
var
data : datamotor;
a : integer;
function diskon(var mrk,jn:string;var hrg:longint) : real;
Begin
if mrk='Honda' then
begin
if jn='Tunai' then
diskon:=0.2*hrg
else if jn='Kredit' then
diskon:=0.05*hrg
else diskon:=0;
end
else if mrk='Yamaha' then
begin
if jn='Tunai' then
diskon:=0.2*hrg
else if jn='Kredit' then
diskon:=0.07*hrg
else
diskon:=0;
end
else if mrk='Kawasaki' then
begin
if jn='Tunai' then
diskon:=0.2*hrg
else if jn='Kredit' then
diskon:=0.06*hrg
else diskon:=0;
end;
End;
function BacaData:real;
var
Lagi : Char;
Begin
a := 0;
REPEAT
a := a + 1;
WITH data[a] DO
Begin
WriteLn('DEALER MOTOR "JAYA"');
Write('Nama Pembeli : '); ReadLn(nama);
Writeln('Data Motor');
Write('- Merk Motor : '); ReadLn(merk);
Write('- Jenis Motor : '); ReadLn(jns);
Write('- Harga Motor : '); ReadLn(hrg);
write('Jenis Bayar [Tunai/Kredit]: ');readln(jb);
disk := diskon(merk,jb,hrg);
jml:=hrg-disk;
Write('Input Data Lagi [Y/T] : '); ReadLn(Lagi);
IF a + 1 > max Then
Begin
Lagi := 'T';
End;
End;
UNTIL UPCASE(LAGI) = 'T';
End;
function UrutData:real;
VAR
i, j : integer;
simpan : dealer;
Begin
FOR i := 1 To a - 1 DO
FOR i := 1 + i To a DO
IF data[i].disk < data[j].disk THEN
Begin
simpan := data[i];
data[i] := data[j];
data[j] := simpan;
End;
End;
Procedure CetakData;
VAR
i : Integer;
Begin
clrscr;
writeln;
writeln('DEALER MOTOR "JAYA"');
writeln('=============================================================================');
writeln('No Nama Pembeli Merk Harga Jenis Bayar Diskon Jumlah Bayar');
writeln('=============================================================================');
for i := 1 to a do
begin
with data[i] DO
writeln(i:2,' ',nama:15,' ',merk:10,' ',hrg:10,' ',jb:12,' Rp.',disk:2:0,' Rp.',jml:2:0);
end;
writeln('=============================================================================');
End;
{PROGRAM UTAMA}
begin
clrscr;
BacaData;
UrutData;
CetakData;
readln;
end.
Selengkapnya....
28 Mei 2009
Latihan Procedure
uses crt;
var i,n:byte;
kode:array[1..10]of char;
jml:array[1..10]of integer;
nama,jns:array[1..10]of string;
hrg,toha:array[1..10]of longint;
tp:longint;
lg:char;
label awal;
procedure output;
begin
clrscr;
writeln('DATA PENJUALAN');
writeln('=============================================');
writeln('No Nama Jenis Harga Jumlah Total');
writeln(' Pembeli Barang Barang Beli Harga');
writeln('=============================================');
for i:=1 to n do
begin
gotoxy(1,i+5);write(i);
gotoxy(4,i+5);write(nama[i]);
gotoxy(14,i+5);write(jns[i]);
gotoxy(25,i+5);write(hrg[i]);
gotoxy(35,i+5);write(jml[i]);
gotoxy(41,i+5);writeln(toha[i]);
end;
writeln('=============================================');
writeln(' Total Penjualan: ',tp);
end;
begin
awal:
clrscr;
tp:=0;
write('Masukkan jumlah data: ');readln(n);
writeln;
for i:=1 to n do
begin
writeln('Data ke-',i);
write('Nama pembeli : ');readln(nama[i]);
write('Kode Barang[A/B/C]: ');readln(kode[i]);
if upcase(kode[i])='A' then
begin
jns[i]:='Mouse';
hrg[i]:=125000;
end
else if upcase(kode[i])='B' then
begin
jns[i]:='Keyboard';
hrg[i]:=50000;
end
else if upcase(kode[i])='C' then
begin
jns[i]:='Monitor';
hrg[i]:=1000000;
end
else
begin
jns[i]:='Tidak Ada';
hrg[i]:=0;
end;
write('Jumlah beli : ');readln(jml[i]);
toha[i]:=hrg[i]*jml[i];
tp:=tp+toha[i];
end;
output;
write('Input data lagi[Y/T]: ');readln(lg);
if upcase(lg)='Y' then
goto awal;
readln;
end.
Selengkapnya....
var i,n:byte;
kode:array[1..10]of char;
jml:array[1..10]of integer;
nama,jns:array[1..10]of string;
hrg,toha:array[1..10]of longint;
tp:longint;
lg:char;
label awal;
procedure output;
begin
clrscr;
writeln('DATA PENJUALAN');
writeln('=============================================');
writeln('No Nama Jenis Harga Jumlah Total');
writeln(' Pembeli Barang Barang Beli Harga');
writeln('=============================================');
for i:=1 to n do
begin
gotoxy(1,i+5);write(i);
gotoxy(4,i+5);write(nama[i]);
gotoxy(14,i+5);write(jns[i]);
gotoxy(25,i+5);write(hrg[i]);
gotoxy(35,i+5);write(jml[i]);
gotoxy(41,i+5);writeln(toha[i]);
end;
writeln('=============================================');
writeln(' Total Penjualan: ',tp);
end;
begin
awal:
clrscr;
tp:=0;
write('Masukkan jumlah data: ');readln(n);
writeln;
for i:=1 to n do
begin
writeln('Data ke-',i);
write('Nama pembeli : ');readln(nama[i]);
write('Kode Barang[A/B/C]: ');readln(kode[i]);
if upcase(kode[i])='A' then
begin
jns[i]:='Mouse';
hrg[i]:=125000;
end
else if upcase(kode[i])='B' then
begin
jns[i]:='Keyboard';
hrg[i]:=50000;
end
else if upcase(kode[i])='C' then
begin
jns[i]:='Monitor';
hrg[i]:=1000000;
end
else
begin
jns[i]:='Tidak Ada';
hrg[i]:=0;
end;
write('Jumlah beli : ');readln(jml[i]);
toha[i]:=hrg[i]*jml[i];
tp:=tp+toha[i];
end;
output;
write('Input data lagi[Y/T]: ');readln(lg);
if upcase(lg)='Y' then
goto awal;
readln;
end.
Selengkapnya....
27 Mei 2009
TUGAS PASCAL III
Soal:
Buatlah program hitung nilai dengan ketentuan sebagai berikut:
Layar Masukan
Hitung Nilai
---------------
Nama Siswa :
Nilai Mid Test :
Nilai Final Test :
Nilai Tugas Mandiri :
Proses
Buatlah fungsi untuk hitung nilai akhir dengan konten proses:
Nilai murni final test = nilai final test x 30%
Nilai murni mid test = nilai mid test x 30%
Nilai murni tugas mandiri = nilai tugas mandiri x 40%
Nilai akhir = summary nilai murni
Buatlah fungsi grade untuk mencari nilai akhir berdasarkan nilai akhir:
Nilai akhir >=85, grade = A
Nilai akhir >=76, grade = B
Nilai akhir >=67, grade = C
Nilai akhir <67, grade =D
Layar Keluaran:
Hasil Perhitungan
---------------------
Nilai Mid Test : …x 30%
Nilai Final Test : …x 30%
Nilai Tugas Mandiri : …x 40%
-----------------------------
Nilai Akhir : Grade :
Jawaban:
uses crt; {deklarasi unit yang digunakan untuk memanipulasi layar monitor}
{deklarasi fungsi dengan nama fungsi nilai akhir diikuti dengan nama parameter, yang dipanggil secara acuan dan
tipe data fungsi adalah integer}
function nilaiakhir(var mt,ft,tm:integer;var mmt,mft,mtm,na:real):integer;
begin
mmt:=mt*0.3;{perhitungan nilai murni mid test}
mft:=ft*0.3; {perhitungan nilai murni final test}
mtm:=tm*0.4; {perhitungan nilai murni tugas mandiri}
na:=mmt+mft+mtm; {perhitungan nilai akhir}
end;
{deklarasi fungsi grade diikuti nama parameter yang proses pemanggilannya dilakukan secara acuan dan
tipe data fungsi adalah integer }
function grade(var na:real;var grd:char):integer;
begin
{proses seleksi nilai akhir untuk mencari grade}
if na>=85 then
grd:='A'
else if na>=76 then
grd:='B'
else if na>=67 then
grd:='C'
else if na<67 then
grd:='D'
end;
{deklarasi variabel}
var nm:string; mid,final,tugas:integer;
n_mid,n_final,n_tugas,n_akhir:real;
n_grade:char;
{bagian pernyataan/program utama}
begin
clrscr;{perintah untuk membersihkan layar}
writeln('Hitung Nilai');
writeln('------------');
write('Nama Siswa : ');readln(nm); {menginput nama}
write('Nilai Mid Test : ');readln(mid); {menginput nilai mid test}
write('Nilai Final test : ');readln(final); {menginput nilai final test}
write('Nilai Tugas Mandiri : ');readln(tugas); {menginput nilai tugas mandiri}
nilaiakhir(mid,final,tugas,n_mid,n_final,n_tugas,n_akhir); {pemanggilan fungsi nilai akhir disertai pemanggilan parameternya}
grade(n_akhir,n_grade); {pemanggilan fungsi grade disertai pemanggilan parameternya}
clrscr; {membersihkan layar}
writeln('Hasil Perhitungan');
writeln('-----------------');
writeln('Nilai Mid Test : ',mid,' x 30% : ',n_mid:2:0); {menampilkan nilai mid tes}
writeln('Nilai Final Test : ',final,' x 30% : ',n_final:2:0); {menampilkan nilai final tes}
writeln('Nilai Tugas Mandiri : ',tugas,' x 40% : ',n_tugas:2:0); {menampilkan nilai tugas}
writeln('------------------------------------------');
writeln('Nilai Akhir : ',n_akhir:2:0); {menampilkan nilai akhir}
writeln('Grade : ',n_grade); {menampilkan grade}
readln; {menahan tampilan hasil}
end.
Tampilan Masukan:

Tampilan Keluaran:

Selengkapnya....
Buatlah program hitung nilai dengan ketentuan sebagai berikut:
Layar Masukan
Hitung Nilai
---------------
Nama Siswa :
Nilai Mid Test :
Nilai Final Test :
Nilai Tugas Mandiri :
Proses
Buatlah fungsi untuk hitung nilai akhir dengan konten proses:
Nilai murni final test = nilai final test x 30%
Nilai murni mid test = nilai mid test x 30%
Nilai murni tugas mandiri = nilai tugas mandiri x 40%
Nilai akhir = summary nilai murni
Buatlah fungsi grade untuk mencari nilai akhir berdasarkan nilai akhir:
Nilai akhir >=85, grade = A
Nilai akhir >=76, grade = B
Nilai akhir >=67, grade = C
Nilai akhir <67, grade =D
Layar Keluaran:
Hasil Perhitungan
---------------------
Nilai Mid Test : …x 30%
Nilai Final Test : …x 30%
Nilai Tugas Mandiri : …x 40%
-----------------------------
Nilai Akhir : Grade :
Jawaban:
uses crt; {deklarasi unit yang digunakan untuk memanipulasi layar monitor}
{deklarasi fungsi dengan nama fungsi nilai akhir diikuti dengan nama parameter, yang dipanggil secara acuan dan
tipe data fungsi adalah integer}
function nilaiakhir(var mt,ft,tm:integer;var mmt,mft,mtm,na:real):integer;
begin
mmt:=mt*0.3;{perhitungan nilai murni mid test}
mft:=ft*0.3; {perhitungan nilai murni final test}
mtm:=tm*0.4; {perhitungan nilai murni tugas mandiri}
na:=mmt+mft+mtm; {perhitungan nilai akhir}
end;
{deklarasi fungsi grade diikuti nama parameter yang proses pemanggilannya dilakukan secara acuan dan
tipe data fungsi adalah integer }
function grade(var na:real;var grd:char):integer;
begin
{proses seleksi nilai akhir untuk mencari grade}
if na>=85 then
grd:='A'
else if na>=76 then
grd:='B'
else if na>=67 then
grd:='C'
else if na<67 then
grd:='D'
end;
{deklarasi variabel}
var nm:string; mid,final,tugas:integer;
n_mid,n_final,n_tugas,n_akhir:real;
n_grade:char;
{bagian pernyataan/program utama}
begin
clrscr;{perintah untuk membersihkan layar}
writeln('Hitung Nilai');
writeln('------------');
write('Nama Siswa : ');readln(nm); {menginput nama}
write('Nilai Mid Test : ');readln(mid); {menginput nilai mid test}
write('Nilai Final test : ');readln(final); {menginput nilai final test}
write('Nilai Tugas Mandiri : ');readln(tugas); {menginput nilai tugas mandiri}
nilaiakhir(mid,final,tugas,n_mid,n_final,n_tugas,n_akhir); {pemanggilan fungsi nilai akhir disertai pemanggilan parameternya}
grade(n_akhir,n_grade); {pemanggilan fungsi grade disertai pemanggilan parameternya}
clrscr; {membersihkan layar}
writeln('Hasil Perhitungan');
writeln('-----------------');
writeln('Nilai Mid Test : ',mid,' x 30% : ',n_mid:2:0); {menampilkan nilai mid tes}
writeln('Nilai Final Test : ',final,' x 30% : ',n_final:2:0); {menampilkan nilai final tes}
writeln('Nilai Tugas Mandiri : ',tugas,' x 40% : ',n_tugas:2:0); {menampilkan nilai tugas}
writeln('------------------------------------------');
writeln('Nilai Akhir : ',n_akhir:2:0); {menampilkan nilai akhir}
writeln('Grade : ',n_grade); {menampilkan grade}
readln; {menahan tampilan hasil}
end.
Tampilan Masukan:

Tampilan Keluaran:

Selengkapnya....
Langganan:
Postingan (Atom)
