Kamis, Desember 22, 2011

Program Pascal Permutasi, Kombinasi, dan Binomial

program permutasi_kombinasi;
uses wincrt;
var
a,b,a_k,kombinasi,permutasi:real;
i,n,k:integer;
begin
writeln('enghitung permutasi dan kombinasi');
write('Masukkan bilangan n = ');readln(n);
write('Masukkan bilangan k = ');readln(k);
a:=1;
b:=1;
a_k:=1;
for i:=2 to n do
a:=a*i;
for i:=2 to k do
b:=b*i;
for i:=2 to (n-k) do
a_k:=a_k*i;
kombinasi:=a/(b*a_k);
permutasi:=a/(a_k);
writeln(n,'kombinasi',k,'=',kombinasi);
writeln(n,'permutasi',k,'=',permutasi);
end.

program binomial;
uses wincrt;
var n,i,x,s,j,q:integer;
a,b,c, kombinasi,r,p,hasil,hasil2, z:real;
begin
writeln('menghitung dist binomial');
writeln('masukkan nilai n='); readln(n);
writeln('masukkan nilai x='); readln(x);
a:=1; b:=1; c:=1;
for i:=2 to n do
a:=a*i;
for i:=2 to x do
b:=b*i;
for i:=2 to (n-x) do
c:=c*i;
kombinasi:=a/(b*c);
writeln (kombinasi);
writeln ('p pangkat x');
writeln ('masukkan p=');readln(p);
hasil:=1; for i:=1 to x do
hasil:=p*hasil;
writeln('hasil'); writeln(hasil);
begin
writeln ('r pangkat q');
writeln ('masukkan r=');readln(r);
writeln ('masukkan q=');readln(q);
hasil2:=1; for j:=1 to q do
hasil2:=r*hasil2;
writeln ('hasil',hasil2);
end;
begin
z:=kombinasi*hasil*hasil2;
writeln('binomial',z);
end;
end.
»»  READMORE...

Program Pascal Terapan Statistika

program mean;
uses wincrt;
var i,n:integer;
    x, sigma_x, x_bar:real;
begin
write ('banyaknya data= ');
readln (n);
       for i:=1 to n do
       begin
       write ('data ke-', i, '=');
       readln (x);
       sigma_x:= sigma_x+x;
       end;
 writeln ('sigma_x data= ',sigma_x);
 x_bar:= sigma_x/n;
 writeln ('mean data= ', x_bar);
 end.

program varians;
uses wincrt;
var i,n:integer;
    x,sigma_x,sigma_x2,s2:real;
begin
write ('banyaknya data= ');
readln (n);
for i:=1 to n do
  begin
  write ('data ke-',i,' = ');
  readln (x);
  sigma_x:=sigma_x+x;
  sigma_x2:=sigma_x2+sqr(x);
  end;
writeln('sigma_x data= ',sigma_x);
writeln('sigma_x2 data= ',sigma_x2);
s2:=(sigma_x2-(sqr(sigma_x)/n))/(n-1);
writeln ('varians data= ', s2);
end.

program standard_deviasi;
uses wincrt;
var i,n:integer;
    x,sigma_x,sigma_x2,s:real;
begin
write ('banyaknya data= ');
readln (n);
for i:=1 to n do
  begin
  write ('data ke-',i,' = ');
  readln (x);
  sigma_x:=sigma_x+x;
  sigma_x2:=sigma_x2+sqr(x);
  end;
writeln('sigma_x data= ',sigma_x);
writeln('sigma_x2 data= ',sigma_x2);
s:=sqrt((sigma_x2-(sqr(sigma_x)/n))/(n-1));
writeln ('standard deviasi data= ',s);
end.
»»  READMORE...

Selasa, Desember 20, 2011

Program Deret Piramida

program piramida;
uses winCrt;
var n,i,j:integer;
begin
read(n);
for i:=1 to n do
begin 
for j:= 1 to i do
begin
write (i);
end;
writeln;
end;
end.
»»  READMORE...

Program Faktorial dan Deret Jumlah

program latihan;
uses wincrt;
var input, jumlah,i :integer;
faktorial : longint;
begin
write ('Masukkan angka : ');
readln (input);
jumlah:=0;
faktorial:=1;
writeln ('    i    ','faktorial','  jumlah ');
for i:=1 to input do
begin
jumlah:=jumlah+i;
faktorial:=faktorial*i;
writeln ('    ',i,'       ',faktorial,'         ',jumlah)
end;
end.
»»  READMORE...

Program Persegi Bintang

program persegi;
uses winCrt;
procedure gb (brs,kol:integer);
var i,j:integer;
begin
for i:=1 to brs do
    begin
    for j:=1 to kol do
        begin
        if ((i=1)or(i=brs)or(j=1)or(j=kol))then
        write ('*')
        else write(' ');
        end;
        writeln;
        end;                  
    end;
        var x,y:integer;
        begin                
        write('banyak baris= ');readln(y);
        write('banyak kolom= ');readln(x);
        writeln('bentuknya:');
        gb(y,x);
        end.
»»  READMORE...

Program Deret Bilangan Berbentuk Cembung

program cembung;
uses wincrt;

var c,a,i,j,f,k,h:integer;

begin
write('masukkan nilai i : ');
read(a);
c:=a mod 2;
f:=a div 2;

if (a mod 2=1) then
   begin;
   for i:=1 to f+1 do
       begin;
        write(i,'  ');      
        for j:=1 to a-f-1+i do write (j,' ');
        writeln
       end;
   for k:=a-f+1 to a do
       begin;
        write(k,'  ');
        for h:=1 to a+f-k+1 do write (h,' ');
        writeln;
       end;     
   end

else
   begin;
   for i:=1 to f do
       begin;
        write(i,'  ');      
        for j:=1 to a-f+i do write (j,' ');
        writeln
       end;
   for k:=a-f+1 to a do
       begin;
        write(k,'  ');
        for h:=1 to a+f-k+1 do write (h,' ');
        writeln;
       end;     
   end;
end.
»»  READMORE...

Program Deret Bilangan Berbentuk Cekung

program cekung;
uses wincrt;

var c,a,i,j,f,k,h:integer;

begin
write('masukkan nilai i : ');
read(a);
c:=a mod 2;
f:=a div 2;

if (a mod 2=1) then
   begin;
   for i:=1 to f+1 do
       begin;
        write(i,'  ');      
        for j:=1 to a-i+1 do write (j,' ');
        writeln
       end;
   for k:=a-f+1 to a do
       begin;
        write(k,'  ');
        for h:=1 to k do write (h,' ');
        writeln;
       end;     
   end

else
   begin;
   for i:=1 to f do
       begin;
        write(i,'  ');      
        for j:=1 to a-i+1 do write (j,' ');
        writeln
       end;
   for k:=a-f+1 to a do
       begin;
        write(k,'  ');
        for h:=1 to k do write (h,' ');
        writeln;
       end;     
   end;
end.

»»  READMORE...

Program Segitiga Bintang

program segitiga;
uses winCrt;
var p,q,r,s:integer;
begin
write ('banyaknya baris = ');
readln(p);
for r:=1 to p do
begin
for q:= p downto r do
write (' ');
for q:=1 to r*2 do
write ('*');
writeln;
end;
end.
»»  READMORE...

Belajar Memahami Pascal

::Program sederhana untuk memahami Pascal::

program tukar_angka;
uses
wincrt;
Var
    a,b,c:integer;
begin
     writeln ('masukkan angka sembarang!');
     Write ('A=');readln(a);
     Write ('B=');readln(b);
     c:=b;
     b:=a;
     a:=c;
     writeln ('');
     writeln ('jika ditukar akan menjadi:');
     Writeln ('A=',a);
     Writeln ('B=',b);
End.
»»  READMORE...

Senin, Desember 19, 2011

Materi Pendahuluan Pascal

Kepala Program:
Program (nama) (daftar parameter)

Bagian Deklarasi:
USES (deklarasi unit)
VAR (deklarasi variabel)
(deklarasi fungsi dan prosedur)

Bagian Pernyataan:
BEGIN
(pernyataan)
End.

:: Kepala Program ::
Dalam Pascal, posisi kepala program adalah diawal program. Sintak dari kepala
program adalah:Program (nama) (daftar parameter)Penulisan Nama boleh sembarang, tapi harus dimulai dengan huruf dan bukan Reserve
Word (kata baku yang telah digunakan Pascal dan mempunyai definisi tertentu, misal
BEGIN, USES, dsb). Dapat terdiri dari kombinasi huruf, angka dan garis bawah.
Maksimal 127 karakter dan tidak ada perbedaan antara huruf besar dan huruf kecil.

::Bagian Deklarasi::
Dalam Pascal, semua unit, label, konstanta, tipe, variabel, fungsi dan prosedur yang
akan digunakan harus dideklarasikan terlebih dahulu.

::Bagian Pernyataan::
Bagian pernyataan diawal dengan kata BEGIN serta diakhiri dengan kata END dan
tanda titik. Setiap pernyataan diakhiri dengan tanda titik kona (;). Pernyataanpernyataan
yang disusun mengikuti algoritma tertentu diletakkan pada bagian ini.
»»  READMORE...

Program Pascal Membuat efek tulisan berkedip dan berjalan

program tulisan_berjalan;
uses wincrt;
var i,j,k:integer;
begin
for i:=9 downto 1 do
begin
for j:=1 to 1000 do
begin
gotoxy(1,1); write(i);
end;
for k:=1 to 500 do
clrscr;
end;

for j:=1 to 1000 do
begin
gotoxy(1,1);
writeln('      ***       * *   ');
writeln('     *   *    **   *  ');
writeln('   ****   *  *  * *   ');
writeln('  ******   **  *   *  ');
writeln('  ******      *  *    ');
writeln('   ****               ');
end;
for k:=1 to 300 do
clrscr;

for j:=1 to 1000 do
begin
gotoxy(1,1);
writeln('      ***   *  *  ');
writeln('     *   *   *   ');
writeln('   ****   *  * *');
writeln('  ******   **  * ');
writeln('  ******          ');
writeln('   ****               ');
end;
for k:=1 to 300 do
clrscr;


for j:=1 to 1000 do
begin
gotoxy(1,1);
writeln('      ** *  ');
writeln('     *   * *    ');
writeln('   **** * * ');
writeln('  ******    ');
writeln('  ******          ');
writeln('   ****               ');
end;
for k:=1 to 300 do
clrscr;

for j:=1 to 1000 do
begin
gotoxy(1,1);
writeln('      *  ');
writeln('     *      ');
writeln('   ****  ');
writeln('  ******    ');
writeln('  ******          ');
writeln('   ****               ');
end;
for k:=1 to 300 do
clrscr;

for j:=1 to 1000 do
begin
gotoxy(1,1);
writeln('*   *  *  *');
writeln('  *   *  * *   ');
writeln(' *  * * **  ');
writeln('*  * *   *  *    ');
writeln(' * * **  * * *          ');
writeln('*   *  *  ** *               ');
end;
for k:=1 to 300 do
clrscr;

for i:=1 to 50 do
begin
for j:=1 to 50 do
begin
gotoxy(i,1);
writeln(' ***  ********    *****    ');
gotoxy(i,2);
writeln(' ***  ********  *** ');
gotoxy(i,3);
writeln(' ***    ***       **  ');
gotoxy(i,4);
writeln(' ***    ***        ***   ');
gotoxy(i,5);
writeln(' ***    ***     *****    ');

end;
for k:=1 to 50 do
clrscr;
end;
gotoxy(1,1);
writeln('   ***   *****   **  * ');
writeln('  **  *  **  *   ** *  ');
writeln('  **     *****   ***   ');
writeln('  **  *  **  *   ** *  ');
writeln('   ***   **  *   **  * ');
end.
»»  READMORE...

Sabtu, Desember 17, 2011

Apa itu Algoritma?

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarahyang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal- Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
Secara umum, Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

    :: Beda Algoritma dan Program ::
    Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa:
    Program = Algoritma + Bahasa (Struktur Data)
    Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. 

    :: Belajar Memprogram dan Belajar Bahasa Pemrograman ::
    Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo.Untuk lebih jelasnya bisa digambarkan dalam bagan berikut ini.


    »»  READMORE...

    History of Pascal

    Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University of Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan filosofer terkenal abad 17 dari Perancis.
    Profesor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan membantu mengajar program komputer secara sistematis, khususnya untuk memperkenalkan pemrograman terstruktur.
    Dalam waktu singkat, Pascal telah menjadi bahasa yang populer di kalangan pelajar universitas dan merupakan bahasa yang diajarkan di beberapa perguruan tinggi. Beberapa profesional komputer juga mulai beralih ke bahasa Pascal. Kenyataannya, Pascal merupakan bahasa yang paling cepat populer dibandingkan dengan bahasa-bahasa komputer tingkat tinggi yang lainnya.
    Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K.Jensen dan Niklaus Wirth. Penerapan nyata dari standar Pascal banyak yang berbeda dengan seperti apa yang telah didefinisikan oleh K. Jensen dan Niklaus Wirth. Standar Pascal di Eropa didefinisiakn oelh ISO (International Standards Organization) dan di Amerika oleh kerjasama antara ANSI (American National Standar Institute) dengan IEEE (Intitute of Electrical and Electronic Engineer).
    Beberapa versi dari Pascal yang telah beredar di pasaran, di antaranya UCSD pascal (University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal), Apple Pascal, Turbo Pascal dan lain sebagainya. Sampai saat ini untuk komputer-komputer mikro dan personal, Turbo Pascal merupakan versi bahasa Pascal yang paling populer dan banyak digunakan. Kompiler Turbo Pascal banyak digemari, karena terutama bersifat interaktif, seperti interpreter saja layaknya. Selain itu Turbo Pascal mengikuti definisi dari standar Pascal seperti yang didefinisikan oleh K. Jensen dan Niklaus Wirth di Pascal User Manual dan Report. Turbo PASCAL adalah copyright dari Borland Inc. dan dapat digunakan pada sistem operasi PC-DOS, MS-DOS, CPM-86 dan CP/M-80.
    »»  READMORE...