Tuesday, November 29, 2011

program inheritance mobil dalam c#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication27
{
    class kendaraan
    {
        public kendaraan()
        {
            Console.WriteLine("bahan bakar = bensin");
        }
        public kendaraan(string tipe)
        {
            Console.WriteLine("bahan bakar = {0}",tipe);
        }
    }
    class mobilsport : kendaraan
    {
        public mobilsport()
        {
            Console.WriteLine("NOS added");
        }
        public mobilsport(string tipe):base(tipe)
        {
            Console.WriteLine("NOS added");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            mobilsport ob = new mobilsport();
        }
    }
}

program inheritance handphone 2 dalam c#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace inheritance
{
    class Handphone
    {  
        public string nama;
        public void call()
        {
            Console.WriteLine("telepon dari {0}",nama);
        }
        public void sms()
        {
            Console.WriteLine("sms dari {0}",nama);
        }
    }
    class Blackberry : Handphone
    {
        public void b1()
        {
            base.nama="blackbery";
            Console.WriteLine("bbm");
            base.call();
            base.sms();
        }
    }
    class nokia : Handphone
    {
        public void b2()
        {
            base.nama="nokia";
            Console.WriteLine("camera");
            base.call();
            base.sms();
        }
    }
    class dakota : Blackberry
    {
        public void d1()
        {
            {
                base.nama="dakota";
                Console.WriteLine("touch");
                base.call();
                base.sms();
            }
    }
        class Program
        {
            static void Main(string[] args)
            {
                Blackberry obj1 = new Blackberry();
                obj1.b1();
                nokia obj2 = new nokia();
                obj2.b2();
                dakota obj3 = new dakota();
                obj3.d1();
            }
        }
    }
}

program inheritance handphone dalam c#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace inheritance
{
    class Handphone
    {
        public void call()
        {
            Console.WriteLine("call");
        }
        public void sms()
        {
            Console.WriteLine("sms");
        }
    }
    class Blackberry : Handphone
    {
        public void b1()
        {
            Console.WriteLine("bbm");
            base.call();
            base.sms();
        }
    }
    class nokia : Handphone
    {
        public void b2()
        {
            Console.WriteLine("camera");
            base.call();
            base.sms();
        }
    }
    class dakota : Blackberry
    {
        public void d1()
        {
            {
                Console.WriteLine("touch");
                base.call();
                base.sms();
            }
    }
        class Program
        {
            static void Main(string[] args)
            {
                Blackberry obj1 = new Blackberry();
                obj1.b1();
                nokia obj2 = new nokia();
                obj2.b2();
                dakota obj3 = new dakota();
                obj3.d1();
            }
        }
    }
}

Wednesday, November 23, 2011

struktur data list

download aja di
download

Monday, November 21, 2011

penjualan tiket pesawat dalam pascal


Program menjual_tiket;
Uses wincrt;
Type mat = array[1..10,1..10] of integer;
Function free(a: mat): Boolean;
Var
I,j : integer;
                found: boolean;
Begin
Found:= true;
I:= 1;
While (found) and (i<=8) do
                      begin
J:=1;
While (found) and (j<=5) do
If a[I,j] =0 then
Found:=false
Else
J:= j+1;
I:= i+1;
                      end;
                free:= found;
End;

        Function cek_damping(a: mat): boolean;
        Var
  I,j : integer;
  Found : boolean;
        Begin
    Found := false;
    I:= 1;
        While (not found) and (i<=8) do
                     begin
      J:=1;
      While (not found) and (j<5) do
            If (a[I,j] <> 0) and (a[I,j+1]<>0) then
Found := true
    Else
J:= j+1;
      I:= i+1;
                     end;
    Cek_damping:= found;
        End;

        Function kursi_pinggir(a: mat): boolean;
        Var
  I,j : integer;
  Found : boolean;
        Begin
    Found := false;
    j:= 1;
    While (not found) and (j<=5) do
                begin
  I:=1;
  While (not found) and (i<8) do
If a[I,j] <> 0 then
Found := true
Else
   i:= i+1;
  j:= j+4;
                end;
     kursi_pinggir:= found;
        End;


        Function kursi_nonton(a: mat): boolean;
        Var
  I,j : integer;
  Found : boolean;
        Begin
    Found := false;
    I:= 2;
        While (not found) and (i<=8) do
                     begin
      J:=1;
      While (not found) and (j<5) do
            If (a[I,j] <> 0) and (a[I,j+1]<>0) then
Found := true
    Else
J:= j+1;
      I:= i+1;
                     end;
    kursi_nonton:= found;
        End;

        procedure rubah(n : integer; var a:mat);
        var
           i,j : integer;
        begin
           For i:= 1 to 8 do
For j:= 1 to 5 do
If a[I,j] = n then
If a[I,j] = n then
A[I,j] :=0;
        end;
Var
   y: string;
   a: mat;
   i,j,n: integer;
   hasil, hasil1, hasil2, hasil3 : boolean;
Begin
For i:= 1 to 8 do
For j:= 1 to 5 do
A[I,j] := ((i*5)-5+j);
For i:= 1 to 8 do
begin
For j:= 1 to 5 do
Write(a[I,j], '             ');
Writeln;
End;

        repeat
Writeln('masukkan no tempat duduk yang anda inginkan');
        Readln(n);
        clrscr;
        hasil := free(a);
        writeln('bangku yang anda pesan masih dalam keadaan ', hasil);
        writeln;
rubah(n,a);
For i:= 1 to 8 do
begin
For j:= 1 to 5 do
Write(a[I,j], '             ');
Writeln;
End;
        writeln('apakah masih ada yang ingin memesan tiket pesawat???? (Y/N) ');
        readln(y);
        until y = 'n';
        hasil1:= cek_damping(a);
        writeln(hasil1);
        hasil2:= kursi_pinggir(a);
        writeln(hasil2);
        hasil3:= kursi_nonton(a);
        writeln(hasil3);
End.

program konversi desimal ke heksa dalam pascal


Program Convert_Decimal_To_heksa;

Uses wincrt;

Const N = 100;

Type Stack = record
      Isi : Array[1..N]of integer;
      Top : integer;
     end;

Procedure CreateStack(Var S:Stack);
     begin
          S.Top := 0;
     end;

Function IsFull(S:Stack):boolean;
     begin
         IsFull := (S.Top = N);
     end;

Function IsEmpty(S:Stack):boolean;
     begin
          IsEmpty := (S.Top = 0);
     end;

Procedure Push(X:integer; var S:Stack);
     begin
          If Not IsFull(S) then
           begin
                S.Top := S.Top + 1;
                S.Isi[S.Top] := X;
           end;
     end;
Procedure Pop(var X:integer; var S:Stack);
    begin
         IF NOt IsEmpty(S) then
          begin
               X := S.Isi[S.Top];
               S.Top := S.Top - 1;
          end;
    end;

Procedure Convert(var S:Stack; X:integer);
    var Sisa : integer;
    begin
         Repeat
          Sisa := X mod 16;
          X := X div 16;
          Push(Sisa,S);
         Until X = 0 ;
    end;

function rubah (x:integer):string;
begin
if x=10 then
rubah:='A';
if x=11 then
rubah:='B';
if x=12 then
rubah:='C';
if x=13 then
rubah:='D';
if x=14 then
rubah:='E';
if x=15 then
rubah:='F';
end;


{Main Program}
Var S : Stack;
    X,i,biner: integer;
    biner2:string;

Begin
     writeln('+---------------------------------+');
     Writeln('|Program Konversi Desimal ke Biner|');
     writeln('+---------------------------------+');
     Writeln;            
     Write('Masukkan angka Desimal : ');
     readln(X);
     writeln;
     write('Angka heksadesimal dari ',X,' adalah ');
     CreateStack(S);
     Convert(S,X);
     for i:=1 to S.Top do
      begin
           Pop(biner,S);
           if biner>=10 then
           begin
           biner2:=rubah (biner);
           write(biner2);
           end
           else
           write(biner);
      end;
End.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

program queue dalam pascal


Program Queveueeueueueueueueueuee;

Uses wincrt;

Const N = 100;

Type Queve = record
      isi : Array[1..N]of integer;
      head:integer;
      tail: integer;
     end;

Procedure CreateQueve(Var S:Queve);
     begin
          S.head:=0;
          S.tail:=0;
     end;

Function IsFull(S:Queve):boolean;
     begin
         IsFull := (S.head = 1) and (S.tail = N);
     end;

Function IsEmpty(S:Queve):boolean;
     begin
          IsEmpty := (S.head = 0 ) and (S.tail = 0);
     end;

Procedure add(X:integer; var S:Queve);
     begin
          If Not IsFull(S) then
           begin
                S.tail := S.tail + 1;
                S.isi[S.tail] := X;
                if S.head=0 then
                S.head:=S.head+1;

           end;
     end;

Procedure remove(var X:integer; var S:Queve);
var i:integer;
    begin
         IF NOt IsEmpty(S) then
          begin
               X:=S.isi[S.head];
               for i:= 2 to S.tail do
               S.isi[i-1]:=S.isi[i];
               S.tail :=S.tail - 1;
               if S.tail=0 then
               S.head:=S.head-1;
          end;
    end;

{Main Program}
Var S : Queve;
    X,i,z,m,Y: integer;

Begin
      write('masukan jumlah data ');readln(X);
      CreateQueve(S);
      for i:= 1 to X do
          begin
               write('masukan data ke',i,' : ');readln(m);
               add(m,S);
          end;
      writeln;
        write('jumlah data yang akan dikeluarkan ');readln(Y);
        writeln('data yang dikeluarkan : ');
      for i:= 1 to Y do
          begin
               remove(z,S);
               writeln(z);
          end;
          writeln;
          writeln('data yang tersisa : ');
          for i:= 1 to S.tail do
          writeln(S.isi[i]);
          writeln;
          writeln('S.tail berada di elemen ke ',S.tail);
          writeln('S.head berada di elemen ke ',S.head);

End.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

mengubah desimal menjadi biner dalam pascal


program ubah_desimal_binary;
uses wincrt;
const n=100;
type stack = record
             elemen:array[1..n]of integer;
             top:integer;
             end;
   
function isiempty(s:stack):boolean;
begin
isiempty:=(s.top=0);
end;

function isifull(s:stack):boolean;
begin
isifull:=(s.top=n);
end;

procedure create_stack(var s:stack);
begin
s.top:=0;
end;

procedure push(var s:stack; a:integer);
begin
if not (isifull(s)) then
   begin
   s.top:=s.top+1;
   s.elemen[s.top]:=a;
   end
end;

procedure pop(var s:stack; var a:integer);
begin
if not (isiempty(s)) then
   begin
   a:=s.elemen[s.top];
   s.top:=s.top-1;
   end
end;

function convert(a:integer):integer;
var y,x:integer;
    z,tmp:string;
    s:stack;
begin
create_stack(s);
while a>0 do
      begin
      y:=a mod 2;
      push(s,y);
      a:=a div 2;
      end;
tmp:='';
while not isiempty(s) do
      begin
      pop(s,a);
      str(a,z);
      tmp:=tmp+z;
      end;
val(tmp,a,a);
convert:=a;
end;

var i,hasil:integer;
begin
write('Masukan nilai desimal = ');readln(i);
hasil:=convert(i);
writeln(hasil);    
end.

program matrik dalam pascal


program matiks;

uses wincrt;

type
arin=array [1..100] of integer;

function cari(b:arin;m,n,x:integer):integer;
var
i,j,domp:integer;
begin
domp:=0;
for i:=1 to m do
begin
for j:= 1 to n do
begin
if b[j]=x then
domp:=domp+1;
end;
end;
cari:=domp;
end;


var
a:arin;
i,j,m,n,x,domp:integer;

begin
write('masukan jumlah baris : ');readln(n);
write('masukan jumlah kolom : ');readln(m);
for i:=1 to m do
begin
for j:= 1 to n do
begin
write('a[',i,',',j,'] : ');readln(a[j]);
end;
end;
write('masukan bilangan yang dicari : ');readln(x);
domp:=cari(a,m,n,x);
writeln('jadi bilangan yang dicari ada ',domp);
end.

statistik (mean dan titik tengah) dalam pascal


Program interval;

uses wincrt;

type tabin=array [1..200] of integer;

function mean (a:tabin; n:integer):real;
var
i,domp:integer;
begin
domp:=0;
for i:= 1 to n do
domp:=domp+a[i];
mean:=domp/n;
end;

function ttktngah(a:tabin; n:integer):real;
begin
if n mod 2 = 0 then
ttktngah:=(a[n div 2]+a[(n div 2)+1])/2
else
ttktngah:=(a[(n div 2)+1]);
end;

var
a:tabin;
i,n:integer;
hsl,hsl2:real;
begin
write('masukan batas : ');readln(n);
for i:= 1 to n do
begin
write('masukan data ke ',i,' : ');readln(a[i]);
end;
hsl:=mean(a,n);
write('mean : ',hsl:0:2);
hsl2:=ttktngah(a,n);
writeln;
writeln('titik tengah : ',hsl2:0:2);
end.

program warnet dalam pascal


program wartel;

uses wincrt;

type waktu=record
jam:longint;
menit:longint;
detik:longint;
end;

function hitungselisih(jam1,jam2:waktu):longint;
begin
hitungselisih:=((jam2.jam*3600)+(jam2.menit*60)+jam2.detik)-((jam1.jam*3600)+(jam1.menit*60)+jam1.detik);
end;

function hitungbiaya(jam1,jam2:waktu):longint;
var
temp1:longint;
begin
temp1:=hitungselisih(jam1,jam2);
if (temp1 mod 30 >0) then
hitungbiaya:=((temp1 div 30)*250)+250
else
hitungbiaya:=(temp1 div 30)*250;
end;

var
jam1,jam2:waktu;
biaya,lama:longint;

begin
writeln('masukan waktu awal ');
write('jam = ');readln(jam1.jam);
write('menit = ');readln(jam1.menit);
write('detik = ');readln(jam1.detik);
writeln;
writeln('masukan waktu akhir ');
write('jam = ');readln(jam2.jam);
write('menit = ');readln(jam2.menit);
write('detik = ');readln(jam2.detik);
writeln;
biaya:=hitungbiaya(jam1,jam2);
lama:=hitungselisih(jam1,jam2);
writeln('lama percakapan = ',lama,' detik');
writeln('biaya menelpon = ',biaya);
end.

program stack dalam pascal


program stackkkkk;

uses wincrt;

type stack=record
     isistack:array [1..100] of integer;
     top:integer;
     end;

const n:integer=100;

procedure createstack(var s:stack);
begin
s.top:=0;
end;

function isfull(s:stack):boolean;
begin
isfull:=(s.top=n);
end;

function isempty(s:stack):boolean;
begin
isempty:=(s.top=0);
end;

procedure push(var s:stack;x:integer);
begin
if not isfull(s) then
begin
s.top:=s.top+1;
s.isistack[s.top]:=x;
end;
end;

procedure pop(var s:stack;x:integer);
begin
if not isempty(s) then
begin
x:=s.isistack[s.top];
s.top:=s.top-1;
end;
end;

procedure biner(x:integer;var s:stack);
var
a,z:integer;
begin
a:=x;
repeat
begin
z:=a mod 2;
push( s ,z );
a:=a div 2;
end
until (a  = 1);
push( s,a);
end;

var
s:stack;
x,a:integer;

begin
readln(x);
biner (x,s);
repeat
begin
pop (s,a);
writeln(a);
end
until s.top=0;
end.

menghitung jumlah, perkalian dan rata-rata dalam pascal


program ulang;

uses wincrt;

type a=array[1..10000] of longint;

var
T:a;
n,temp,temp2,i,j:longint;
c:real;

begin
i:=1;
repeat
write('masukan angka = ');read(n);
T[i]:=n;
i:=i+1;
until (n>9999);
clrscr;
temp:=T[1];
write('penjumlahan = ',T[1],'+');
for j:=2 to (i-2) do
begin
write(T[j]);
temp:=temp+T[j];
if (j<>(i-2)) then
write('+')
else
write('=');
end;
write(temp);
writeln;
temp2:=T[1];
write('perkalian   = ',T[1],'*');
for j:=2 to (i-2) do
begin
write(T[j]);
temp2:=temp2*T[j];
if (j<>(i-2)) then
write('*')
else
write('=');
end;
write(temp2);
writeln;
c:=(temp/(i-2));
writeln('rata-rata   = ',c:0:2);
end.

program warnet dalam pascal


program wartel;

uses wincrt;

type waktu=record
jam:longint;
menit:longint;
detik:longint;
end;

function hitungselisih(jam1,jam2:waktu):longint;
begin
hitungselisih:=((jam2.jam*3600)+(jam2.menit*60)+jam2.detik)-((jam1.jam*3600)+(jam1.menit*60)+jam1.detik);
end;

function hitungbiaya(jam1,jam2:waktu):longint;
var
temp1:longint;
begin
temp1:=hitungselisih(jam1,jam2);
if (temp1 mod 30 >0) then
hitungbiaya:=((temp1 div 30)*250)+250
else
hitungbiaya:=(temp1 div 30)*250;
end;

var
jam1,jam2:waktu;
biaya,lama:longint;

begin
writeln('masukan waktu awal ');
write('jam = ');readln(jam1.jam);
write('menit = ');readln(jam1.menit);
write('detik = ');readln(jam1.detik);
writeln;
writeln('masukan waktu akhir ');
write('jam = ');readln(jam2.jam);
write('menit = ');readln(jam2.menit);
write('detik = ');readln(jam2.detik);
writeln;
biaya:=hitungbiaya(jam1,jam2);
lama:=hitungselisih(jam1,jam2);
writeln('lama percakapan = ',lama,' detik');
writeln('biaya menelpon = ',biaya);
end.

Thursday, November 17, 2011

mencari nilai max min secara rekursif


Procedure rekursifmaxmin(input T[1..N] array of integer, i:integer, j:integer,  output max,min:integer)

Kamus
  T1,T2: array
  min1,min2,max1,max2:integer

Algoritma
  if i=j then
  max <-- T[i]
  min <-- T[i]
  else
    if i=j-1 then
      if T[j]> T[i] then
         max <-- T[j]
         min <-- T[i]
      else
         max <-- T[i]
         min <-- T[j]
      endif
    else
      mid <-- (i+j) div 2
      maxmin(T1,i,mid,max1,min1)
      maxmin(T2,mid+1,j,2max,min2)

      if max1>max2 then
         max <-- max1
      else
         max <-- max2
      endif

      if min1 > min2 then
         min <-- min2
      else
         min <-- min1
      endif
  endif