Rabu, 26 Juli 2017

UAS Arsip

program uasarsip;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
filestr: text;
c: array [1..100] of string ;
z,x:string;

poschar, p: integer;
zs,huruf: string;
awalspasi: boolean;


nc: integer;
k,cs: string;

m,n:integer;

begin
  { TODO -oUser -cConsole Main : Insert code here }

readln (x);
writeln;

{algoritma mengambil kalimat}
awalspasi:= false;
p:= length (x);
poschar:= 1;
while poschar <= p do
  begin
    huruf:= copy (x, poschar, 1);
    if huruf=' ' then zs:= ''
    else
     if huruf='/' then
       if awalspasi = false then
       begin
         z:= zs;
         awalspasi:= true;
       end
        else z:= z + ' '+ zs
     else
     zs:=zs +huruf;
  poschar:=poschar+1;
  end;
writeln (z);

{algoritma memasukkan tiap kata ke dalam array}
nc:=1;
p:= length (z);
poschar:= 1;
while poschar <= p do
  begin
    k:= copy (z, poschar, 1);
    if k=' ' then
     begin
       c[nc]:=cs;
       cs:='';
       nc:=nc+1
     end
     else
      cs:= cs+k;
  poschar:=poschar+1;
  end;
c[nc]:=cs;

for i:= 1 to nc do
writeln (c[i]);
assign (filestr, 'c:/data/uasoutput.txt');
rewrite (filestr);
writeln(filestr, z);
for i:= 1 to nc do
begin
writeln (filestr,c[i]);
end;
close (filestr);

writeln;

readln;
end.

Selasa, 18 Juli 2017

Algoritma 2 Contoh SOAL Pemrograman

program SoalUas2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var

filestr: text;
x,z:string;
jumlaha: array [1..700] of integer;
poschar,p: integer;
zs,huruf: string;
hurchar:char;
awalspasi: boolean;
ask,m:integer;

begin
  { TODO -oUser -cConsole Main : Insert code here }
assign (filestr,'c:/data/input.txt');
reset (filestr);
while not eof(filestr) do
begin
  readln (filestr, x);
  writeln (x);
end;
close (filestr);

writeln;

awalspasi:= false;
p:= length (x);
poschar:= 1;
while poschar <= p do
  begin
    huruf:= copy (x, poschar, 1);
    if huruf=' ' then zs:= ''
    else
     if huruf='/' then
       if awalspasi = false then
       begin
         z:= zs;
         awalspasi:= true;
       end
        else z:= z + ' '+ zs
      else
      zs:=zs +huruf;
  poschar:=poschar+1;
  end;
writeln (z);

assign (filestr,'c:/data/output.txt');
rewrite (filestr);
writeln(filestr, z);
close (filestr);

writeln;

p:= length (z);
for poschar:= 1 to p do
begin
  hurchar:= z[poschar];
  for m:= 32 to 126 do
  begin
    ask:= ord(hurchar);
    if m=ask then jumlaha[ask]:= jumlaha[ask]+1;
  end;
end;


for m:= 32 to 126 do
  begin
    if jumlaha[m]>0 then
    writeln (chr(m),' ',jumlaha[m]);
  end;


readln;


end.




Algoritma 1 Contoh SOAL Pemrograman

program soalUAS;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
filestr: text;
a: array [1..100] of string ;
jumlaha: array [1..100] of integer;
ketemu,poschar,p: integer;
zs,huruf: string;
awalspasi: boolean;
i,j:integer;
nilaicari:string;
z,x:string;

begin
  { TODO -oUser -cConsole Main : Insert code here }
assign (filestr,'c:/data/input.txt');
reset (filestr);
while not eof(filestr) do
begin
  readln (filestr, x);
  writeln (x);
end;
close (filestr);

writeln;

awalspasi:= false;
p:= length (x);
poschar:= 1;
while poschar <= p do
  begin
    huruf:= copy (x, poschar, 1);
    if huruf=' ' then zs:= ''
    else
     if huruf='/' then
       if awalspasi = false then
       begin
         z:= zs;
         awalspasi:= true;
       end
        else z:= z + ' '+ zs
      else
      zs:=zs +huruf;
  poschar:=poschar+1;
  end;
writeln (z);

assign (filestr,'c:/data/output.txt');
rewrite (filestr);
writeln(filestr, z);
close (filestr);

writeln;

p:= length (z);
poschar:= 2;
i:=2;

huruf:= copy (z, 1, 1);
a[1]:= huruf;
jumlaha[1]:= 1;
while poschar <=p do
begin
    huruf:= copy (z, poschar, 1);   {poschar +1}
    nilaicari:= huruf;
    j:=i-1;
  ketemu:=0;
  repeat
    begin
        if nilaicari = a[j] then
    begin
            jumlaha[j]:= jumlaha[j]+1;
      ketemu:=1;
    end;
        j:=j-1;
  end;
    until ((ketemu=1) or (j=0)) ;

  if ketemu=0 then
  begin
        a[i]:= nilaicari;
        jumlaha[i]:= 1;
        i:= i+1;

  end;
  poschar:= poschar +1;

end;



for j:= 1 to i-1 do
writeln (a[j],' ',jumlaha[j]);
readln;


end.




Senin, 10 Juli 2017

Algoritma Kombinasi Bilangan Bulat

Tuliskan algoritma untuk menampilkaan semua solusi bilangan bulat tidak negatif dari persamaan berikut:
x+y+z = 25
yang dalam hal ini, x>= 0, y>=0 dan z>=0

jawab:

var
x,y,z: integer;


begin
for x:= 0 to 5 do
    for y:= 0 to 5 do
        for z:= 0 to 5 do
         if x+y+z = 5 then
          writeln (x,' ',y,' ',z);

readln;
end.


Kamis, 06 Juli 2017

Algoritma Menghitung Jarak Tanggal Menggunakan Pascal

program jaraktanggal;

{$APPTYPE CONSOLE}

uses
  SysUtils;
type tanggal = record
                hh: integer;
                bb: integer;
                tt: integer;
               end;

var
tanggal1: tanggal;
tanggal2: tanggal;
Rtanggal: tanggal;
begin
  { TODO -oUser -cConsole Main : Insert code here }
write ('masukkan tanggal pertama berdasarkan hari-bulan-tahun: ');
read (tanggal1.hh); read(tanggal1.bb); read(tanggal1.tt);
write ('masukkan tanggal kedua berdasarkan hari-bulan-tahun: ');
read (tanggal2.hh); read(tanggal2.bb); readln(tanggal2.tt);

if tanggal2.hh>tanggal1.hh then
  Rtanggal.hh:= tanggal2.hh-tanggal1.hh
  else
  begin
    tanggal2.hh:=tanggal2.hh+ 30;
    rtanggal.hh:= tanggal2.hh-tanggal1.hh;
    tanggal2.bb:=tanggal2.bb-1
  end;

if tanggal2.bb> tanggal1.bb then
 rtanggal.bb:= tanggal2.bb-tanggal1.bb
 else
   begin
   rtanggal.bb:= tanggal2.bb+12-tanggal1.bb;
    tanggal2.tt:=tanggal2.tt-1;
    end;

Rtanggal.tt:= tanggal2.tt - tanggal1.tt;
writeln ('jarak tanggal pertama dengan kedua adalah, ', Rtanggal.hh,'-', Rtanggal.bb, '-', Rtanggal.tt);
readln;
end.


Rabu, 05 Juli 2017

konversi ke hari menggunkan Pascal

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type hari = record
            jj: real;
            mm: real;
            dd: real;
            end;
var
h: hari;
konv: real;

begin
  { TODO -oUser -cConsole Main : Insert code here }
write ('jam: '); readln (h.jj);
write ('menit: '); readln (h.mm);
write ('deik: '); readln (h.dd);
konv:= (h.jj/24) + (h.mm/24*1/60) + (h.dd/24*1/60*1/60);
writeln (konv:2:2);
readln;
end.

Rabu, 21 Juni 2017

Penjelasan dan Contoh Soal Teorema Bayes

A. Pengertian Teorema Bayes
Teorema Bayes dikemukakan oleh seorang pendeta Presbyterian Inggris pada tahun 1763 yang bernama Thomas Bayes. Teorema Bayes ini kemudian disepurnakan oleh Laplace. Teorema Bayes digunakan untuk menghitung probabilitas terjadinya suatu peistiwa berdasarkan pengaruh yang didapat dari hasil observasi.

Teorema ini menerangkan hubungan antara probabilitas terjadinya peristiwa A dengan syarat peristiwa B telah terjadi dan probabilitas terjadinya peristiwa B dengan syarat peristiwa A telah terjadi.Teorema ini didasarkan pada prinsip bahwa tambahan informasi dapat memperbaiki probabilitas.

B. Teorema Bayes
Misalkan {B1, B2,...,Bn} suatu himpunan  kejadian  yang  merupakan  suatu  sekatan  runag  sampel S dengan P(Bi) ≠ 0 untuk i = 1, 2,...n. Dan misalkan A suatu kejadian sembarang dalam S dengan P(A) ≠ 0.












C. Contoh Soal
Suatu mata kuliah teori probabilitas  diikuti oleh 50 mahasiswa tahun ke 1, 15 mahasiswa tahun ke 2 dan 10 mahasiswa tahun ke 3. Diketauhi mahasiswa yang mendapatkan nilai A adalah 10 orang dari mahsiswa tahun ke 1, 8 orang dari mahasiswa tahun ke 2 dan 5 orang mahasiswa tahun ke 3. Bila seorang mahasiswa dipilih secara acak ,berapakah peluang dia:
a. Mendapatkan nilai A
b. Mahasiswa tahun ke 1 bila diketauhi dia mendapatkan A

Diketahui
1. Jumlah mahasiswa yang mengikuti mata kuliah teori proababilitas adalah 75 orang
2. P(M1), atau peluang mahasiswa adalah mahasiswa tahun ke-1 yaitu 50/75
3. P(M2), atau peluang mahasiswa adalah mahasiswa tahun ke-2 yaitu 15/75
4. P(M3), atau peluang mahasiswa adalah mahasiswa tahun ke-3 yaitu 10/75
5. P(A|M1) atau peluang mahasiswa tahun ke-1 yang mendapatkan nilai A sebesa 10/50
6. P(A|M2) atau peluang mahasiswa tahun ke-2 yang mendapatkan nulai A yaitu 8/15
7. P(A|M3) atau peluang mahasiswa tahun ke-3 yang mendapatkan nulai A yaitu 5/10

a.  P(A)= ∑ P(Mi)xP(A|Mi)
    = (P(M1)xP(A|M1) + P(M2)xP(A|M2) + P(M3)xP(A|M3))
    =(50/75X10/50 + 15/75X8/15 + 10/75X5/10)
    =23/75
b. Mahasiswa tahun ke 1 bila diketauhi dia mendapatkan A
P(M1|A)    = (P(M1) x P(A|M1))/P(A)
    =(50/75 x 10/50)/(23/75)
    =10/23

Rabu, 14 Juni 2017

SOAL 1 dan SOAL 2 UAS ALPRO SMT2

var
a,b,c: array [0..100] of string;
filestr: text;
o,x,p,h,q,i,j,n:integer;
nbaris, poschar: integer;
cs,bs,k,temp: string ;
spasi: boolean;

begin
  { TODO -oUser -cConsole Main : Insert code here }
{algoritma baca teks soal}
assign (filestr,'c:/data/nimsaudarainput.txt');
reset (filestr);
nbaris:=0;
while not eof(filestr) do
begin
  readln (filestr, a[nbaris]);
  writeln (a[nbaris]);
  nbaris:=nbaris+1;
end;
close (filestr);

{algoritma mengolah teks menjadi frasa kata}
for x:= 0 to nbaris-2 do
begin
  spasi:= false;
  p:= length (a[x]);
  poschar:= 1;
  while poschar < p do
  begin
    k:= copy (a[x], poschar, 1);
    if k=' ' then bs:= ''
    else
     if k='/' then
       if spasi=false then
       begin
         b[x]:= bs;
         spasi:=true;
       end
        else b[x]:= b[x] + ' '+ bs
     else
      bs:=bs +k;
  poschar:=poschar+1;
  end;
writeln (b[x]);
end;

{algoritma menyimpan frasa kata ke array b}
assign (filestr,'c:/data/nimsaudaraoutput1.txt');
rewrite (filestr);
for x:=0 to nbaris do
begin
  writeln(filestr, b[x]);
end;
close (filestr);

{algoritma menyimpan kata ke array c}
q:=0;
for x:= 0 to nbaris-2 do
begin
  p:= length (b[x]);
  poschar:= 1;
  while poschar <= p do
  begin
    k:= copy (b[x], poschar, 1);
    if k=' ' then
     begin
       c[q]:=cs;
       cs:='';
       q:=q+1
     end
     else
      begin
      cs:= cs+k;
      c[q]:=cs;
      end;
   poschar:=poschar+1;
  end;
  c[q]:=cs;
  q:=q+1;
  cs:='';
end;

{algoritma membaca array c}
for x:= 0 to q-1 do
writeln ('c[',x,']: ', c[x]);

writeln;

{algoritma mengurut kata di array c}
for i:= 2 to q do
 for j:= 1 to q-i do
  if c[j]> c[j+1] then
  begin
   temp:= c[j+1];
   c[j+1]:= c[j];
   c[j]:=temp;
  end;

 {algoritma membaca array c setelah diurutkan}
for  x:= 0 to q-1 do
begin
  writeln ('c[',x,']: ', c[x]);
end;


readln;
end.

Sabtu, 27 Mei 2017

Algoritma Perpangkatan Fungsi Rekursif dalam Pascal

program pangkatfungsirekursif;

function pangkat (a,n:integer):integer;
begin
if n = 0 then
 pangkat:=1
else
 pangkat:= a*pangkat (a,n-1)
end;

var
a,n:integer;

begin
writeln ('Bilangan Perangkatan');
write ('bilangan: ');readln (a);
write ('pangkat: '); readln (n);
writeln ('hasil perpangkat: ', pangkat(a,n));
readln;
end.

Lihat juga
Algoritma Perpangkatan prosedur iteratif dalam Pascal

Algoritma Perpangkatan prosedur iteratif dalam Pascal

Program pangkatprocedureitera;


procedure pangkat (b,n:integer; var a:integer)  ;
var
i:integer;
begin
a:=1;
if n = 0 then b:=1
 else
 if n>0 then
  begin
  for i:= 1 to n do
  a:=a*b;
  end;
end;

var
a,b,i,n:integer;

begin
writeln ('Bilangan Perangkatan');
write ('bilangan: ');readln (b);
write ('pangkat: '); readln (n);
pangkat(b,n,a);
writeln ('hasil perpangkat: ',a);
readln;
end.

Lihat Juga:
Algoritma Perpangkatan Fungsi Rekursif dalam Pascal

Jumat, 26 Mei 2017

Algoritma Iteratif dan Rekursif Faktorial Menggunakan Fungsi/Prosedure dalam Pascal

1. Algoritma Program Iteratif Faktorial Menggunakan Fungsi 
program fungsiterafak;

var
n:integer;

function fak (n:integer): integer;
var
i,f:integer;

begin
f:=1;
i:=1;
while i<= n do
 begin
  f:= f*i;
  i:= i+1;
 end;
 fak:= f;
end;

begin
write ('nilai faktorial dari '); readln(n);
write ('nilai faktorial dari ', n, ' adalah ', fak(n));
writeln;
read(n);
end.


2. Algoritma Program Rekursif Faktorial Menggunakan Fungsi
program fungsirekurfak;

var
n:integer;

function fak (n:integer): integer;
begin
if n = 0 then
 fak:= 1
  else
  fak:= n*fak(n-1);
end;

begin
write ('nilai faktorial dari ');  readln(n);
write ('nilai faktorial dari ', n, ' adalah ', fak(n));
writeln;
read(n);
end.

3. Algoritma Program Iteratif Faktorial Menggunakan Prosedure


program proceiterafak;

var
n,fak:integer;

procedure faktorial (n:integer; var f:integer);
var
i:integer;

begin
f:=1;
i:=1;
while i<= n do
 begin
  f:= f*i;
  i:=i+1;
 end;
end;

begin
write ('nilai faktorial dari '); readln(n);
faktorial (n, fak);
write ('nilai faktorial dari ', n, ' adalah ', fak);
writeln;
read(n);
end.

Lihat Juga

Mengenal Keempat Tipe Kecerdasan Buatan (AI)

Kecerdasan Buatan (AI) telah menjadi topik utama dalam banyak diskusi teknologi dan inovasi saat ini. Namun, bagaimana kita mendefinisikan d...

Halaman