Sabtu, 19 Mei 2012

Program Untuk Perhitungan Biaya Pemakaian Listrik Dengan Bahasa Turbo Pascal

Program Untuk Perhitungan Biaya Pemakaian Listrik Dengan Bahasa Turbo Pascal

Semakin hari Kebutuhan semakin bertambah, namun harga kebutuhan pokok justru semakin naik. Setelah diselikidiki ternyata ada hubungannya juga dengan kenaikan Tarif dasar listrik yang kadang dihiasi dengan kenaikan BBM. Nah makanya mulai sekarang kita mesti belajar ngirit. Untuk itu pada artikel ini akan dibahas mengenai pengiritan Listrik, tepatnya perhitungan biaya pemakaian listrik supaya kita bisa ngirit dalam menggunakan setrum atau listrik. Masih dengan bahasa pemrograman yang sama yaitu turbo pascal for DOS versi 7.0.
Sebagai contoh kasus misalnya, tarif dasar listrik Rp. 100,- per KWh. dengan ketentuan sebagai berikut :

1. Jika Daya yang digunakan > 1300 VA maka :

- jika pemakaian > 300 KWh maka dikenakan denda 10%
- jika pemakaian <= 300 KWh maka dikenakan diskon 10%

2. Jika Daya yang digunakan <= 1300 VA maka :
- jika pemakaian > 100 KWh maka dikenakan denda 20%
- jika pemakaian <= 100 KWh maka dikenakan diskon 20% 
 
Disini kita menggunakan instruksi if .... then... else bertingkat untuk menyelesaikan algoritma dari permasalahan di atas. Yang perlu diperhatikan adalah bahwa jika ada kondisi seperti di atas maka nilai yang tertinggi dulu yang dimasukkan ke instruksi tersebut.


1. Langkah pertama jalankan Turbo pascal, kemudian Ketikkan listing program berikut :

uses crt;
var daya,pemakaian,total:real;
ulang:char;
begin
repeat
clrscr;
writeln('Perhitungan biaya pemakaian listrik (Rp.100,- per KWh)');
writeln;
write('Besar daya listrik (VA) =');readln(daya);
write('Besar pemakaian (Kwh) =');readln(pemakaian);
if daya>1300 then
if pemakaian > 300 then
total:=1.1*pemakaian*150; {denda 10%}
if pemakaian <= 300 then
total:=0.9*pemakaian*150;{diskon 10%}
else
if pemakaian > 100 then
total:=1.2*pemakaian*150;{denda 20%}
if pemakaian <= 100 then
total:=0.8*pemakaian*150;{diskon 20%}

writeln('total biaya yang harus dibayar Rp.',total:1:0,',-');
writeln('Tekan sembarang tombol untuk mengulang atau X untuk keluar');
ulang:=readkey;
until upcase(ulang)='X';
end.
 
2. Kemudian jalankan program tersebut dengan menekan ctrl+F9 (Run), hasilnya seperti gambar berikut :



inti dari pembahasan kali ini adalah penggunaan struktur IF..then bertingkat, perhatikan penggunaan instruksi if..then di atas. 

terima kasih

Jumat, 11 Mei 2012

Pascal : Program Tumpukkan (Looping)

Pascal : Program Tumpukkan
Program Tumpukan ;
uses wincrt;
const MaxElemen=5;
type Tumpukan =record
isi:array[1..MaxElemen] of integer;
atas: 0..MaxElemen
end;
type isi=array[0..maxelemen] of integer;
const isilama1:isi=(3,7,2,6,4,8);
isibaru1:isi=(4,8,3,6,5,1);
var
Nilailama,Nilaibaru:isi;
T:tumpukan;
{---------------------------------------------------------------------}
Procedure Ganti_NilaiStack(T:tumpukan;Nilailama,Nilaibaru:isi);
var
penuh,habis: boolean;
x,i:integer;
{---------------------------------------------------------------------}
procedure push( var T:tumpukan; var penuh:boolean;x:integer);
begin
if T.atas = maxElemen then penuh:=true
else
begin
penuh :=false;
T.isi[T.atas]:=x;
T.atas:=T.atas+1;
end;
end;
{---------------------------------------------------------------------}
procedure pop(var T:tumpukan;var habis:boolean; var x:integer);
begin
if T.atas =0 then habis:=true
else
begin
habis:=false;
T.atas:=T.atas-1;
x:=T.isi[T.atas];
end;
end;
{---------------------------------------------------------------------}
begin
clrscr;
write('Nilai Lama Sebelum Masuk Tumpukan : ');
for i:=0 to maxelemen do
write(isilama1[i]);
writeln;
write('Nilai Baru Sebelum Masuk Tumpukan : ');
for i:=0 to maxelemen do
write(isibaru1[i]);
6
writeln;
penuh:=false;
while penuh=false do
begin
push(T,penuh,Nilailama[T.atas]);
end;
write('Isi Tumpukan Lama : ');
while T.atas<>0 do
begin
pop(T,habis,x);
write(x);
end;
writeln;penuh:=false;
while penuh=false do
begin
push(T,penuh,Nilaibaru[T.atas]);
end;
write('Isi Tumpukan Baru : ');
while T.atas<>0 do
begin
pop(T,habis,x);
write(x);
end;
end;
{---------------------------------------------------------------------}
begin
Nilailama:=isilama1;Nilaibaru:=isibaru1;
Ganti_NilaiStack(T,Nilailama,Nilaibaru);
readkey;
end.

Sumber : http://kumpulanprogram.nikisunday.com/2010/12/pascal-program-tumpukkan.html

Cara Membuat Program Dengan Turbo Pascal


Cara Membuat Program Dengan Turbo Pascal

 Program yang akan saya jelaskan berikut adalah contoh pengolahan data pada sebuah klinik. Pada contoh ini saya sertakan flow/deskripsi kebutuhan user dari program dan listing kode program. Listing program bisa sobat edit sesuai kebutuhan. Program ini saya buat berdasarkan tips membuat program pada blog ini.

Coba praktekan latihan berikut ini:
Berikut deskripsi kebutuhan user dari program pembayaran pada sebuah klinik;
Berikut adalah pengolahan data sebuah klinik
Nomor pasien :
Nama pasien :
Jenis kelamin :
Keluhan:
Dokter :
Biaya dokter :
Obat :
Biaya obat:
Lama inap:
Kamar inap:
Biaya kamar:
Discount:
Total bayar:
Catatan dari user;
  • Jika keluhan = umum, maka dokter = dr.ilham wijaya dan biaya dokter =100000(100ribu)
  • Jika keluhan = gigi, maka dokter = dr. Artalya dan biaya dokter = 110000(110ribu)
  • Jika keluhan = anak, maka dokter = dr. Salim Hakim dan biaya dokter = 125000(125ribu)
  • Jika keluhan = kandungan, maka dokter = dr. Kartini, SKM dan biaya dokter = 95000(95ribu)
  • Jika obat “a” maka biaya obat = 50000(50ribu)
  • Jika obat “b” maka biaya obat = 65 ribu
  • Jika obat “c” maka biaya obat = 75 ribu
  • Jika obat “d” maka biaya obat = 100 ribu
  • Jika kamar inap =” vip” maka biaya kamar= 150 ribu permalam
  • Jika kamar inap = “kelas 1” maka biaya kamar = 125 ribu
  • Jika kamar inap = “kelas 2” maka biaya kamar = 110 ribu
  • Jika kamar inap = “sal” maka biaya kamar = 75 ribu
  • Discount = 5% dari transaksi
  • Jika Pasien rawat jalan, maka biaya kamar tidak ada


Berikut listing program dari contoh kasus ini.
program datars;
uses crt;
var bdok,bob,bkm,dsc,tby,tbr:real;
np:string[10];
nap:string[30];
jkl:string[10];
klh:string[17];
dok:string[30];
kin:string[10];
ob:string[3];
lin:byte;
begin
clrscr;
write('Nomor Pasien=');
readln(np);
write('Nama Pasien=');
readln(nap);
write('Jenis Kelamin=');
readln(jkl);
write('Keluhan=');
readln(klh);
write('Type Obat=');
readln(ob);
writeln('* Jika rawat jalan, isi kamar inap"jalan" ');
Writeln('** Pilihan jenis kamar inap adalah"vip","k1","k2","sal",dan"jalan"');
writeln('*** Jika rawat jalan, isi lama inap"1"');
write('Kelas kamar=');
readln(kin);
write('Lama Inap=');
readln(lin);
if klh='umum' then begin
dok:='dr.ilham';
bdok:=100000*lin;
end
else
if klh='gigi' then begin
dok:='dr.Artalya';
bdok:=110000*lin;
end
else
if klh='anak' then begin
dok:='dr.Salim';
bdok:=125000*lin;
end
else begin
dok:='dr.Kartini';
bdok:=95000*lin;
end;
write('Dokter=',dok);
readln;
write('Biaya Dokter=',bdok:2:0);
readln;
if ob='a' then begin
bob:=50000;
end
else
if ob='b' then begin
bob:=65000;
end
else
if ob='c' then begin
bob:=75000;
end
else begin
bob:=100000;
end;
write('Biaya Obat=',bob:2:0);
readln;
if kin='vip' then begin
bkm:=150000*lin;
end
else
if kin='k1' then begin
bkm:=125000*lin;
end
else
if kin='k2' then begin
bkm:=110000*lin;
end
else
if kin='sal' then begin
bkm:=70000*lin;
end
else begin
bkm:=0;
end;
write('Biaya Kamar=',bkm:2:0);
readln;
tby:=bdok+bob+bkm;
dsc:=tby*0.05;
tbr:=tby-dsc;
writeln('Total Bayar=',tbr:2:0);
readkey;
end.
Inilah tampilan saat program dijalankan;
Tampilan program klinik

Demikianlah penjelasan yang bisa saya jabarkan tentang"Cara Membuat Program Dengan Turbo Pascal"
Sumber : http://fendri-informatika.blogspot.com/2011/05/cara-membuat-program-dengan-turbo.html