Rabu, 25 April 2012

Senin, 16 April 2012

Minggu, 15 April 2012

Selasa, 10 April 2012

[Turbo Pascal] Program Menentukan Grade Nilai

sekedar sharing tugas dari dosen nih...


Output :

 

Rabu, 04 April 2012

Senin, 02 April 2012

[Turbo Pascal] Perulangan(1) Dengan Repeat...Until


Program Perulangan;
Uses wincrt;
Var
i,jum,bil,n : Integer;
rata : Real;

Begin
i:= 1;
jum:= 0;
write('Isikan Banyaknya Data : '); Readln(n);
  Begin
    Repeat
    write('Isikan Bilangan ke ',i,' = '); Readln(bil);
    i:= i + 1;
    jum:= jum + bil;
    Until n < i;
  End;
rata:= jum / n;
writeln('Nilai Rata-rata Bilangan = ',rata:0:2);
writeln('Jumlah Bilangan          = ',jum);
End.

[Turbo Pascal] Perulangan(2) Dengan Repeat..Until


Program Perulangan;
Uses wincrt;
Var
b_bil, j_bil, bil, bil1, banyak_bil, jum: Integer;
rata: real;
Begin
  b_bil:=0;
  j_bil:=0;
  write('Isi Bilangan Kesatu      : '); readln(bil1);
     Begin
        Repeat
 b_bil:= b_bil + 1;
 j_bil:= j_bil + bil;
 write('Isi Bilangan Berikutnnya : '); readln(bil);
Until (bil <= 10);
     End;
  banyak_bil:= j_bil + ( bil + bil1 );
  jum:= b_bil + 1;
  rata:= banyak_bil / jum;
  writeln;
  writeln('Banyak Bilangan = ',banyak_bil);
  writeln('Jumlah Bilangan = ',jum);
  writeln('Nilai Rata-rata = ',rata:0:2);
End.

Minggu, 01 April 2012

[Turbo Pascal] Perulangan dalam Turbo Pascal


Blok pengulangan ini sebenarnya mirip dengan pengulangan while,perbedaannya hanya pada jenis ini pengulangan akan terus dilakukan apabila kondisi yg didefinisikan masih bernilai false,jadi dengan kata lain pengulangan dihentikan jika kondisi bernilai true. Juga dalam pengulangan repeat, kondisi ditulis di akhir blok.
Bentuk umumnya seperti ini:
repeat
  statemen;
  ...
until (kondisi);

sebagai bahan perbandingan dengan jenis-jenis pengulangan sebelumnya,kita lihat saja contoh programnya dibawah ini:
program statemenrepeat1;
uses wincrt;
var i:integer;
begin
 {inisialisasi nilai indeks i dengan 1}
 i:=1;
 {melakukan pengulangan}
 repeat
   writeln('Coba Perulangan');
   i:=i+1;
 until (i < 5);
end.

lihat contoh lainnya dalam pengulangan repeat

program statemenrepeat2;
uses wincrt;
var
  a:integer;{variabel utk mnympan bil pertama}
  b:integer;{variabel utk mnympan bil kedua}
  sisabagi:integer;{var utk mnympn sisabagi}
  temp:integer;{var utk bantu proses pertukaran}
begin
 write('Masukan bilangan pertama');readln(a);
 write('Masukan bilangan kedua');readln(b);
{memastikan nilai a < b & melakukan pertukaran}
if (a < b) then begin
  temp:=a;
  a:=b;
  b:=temp;
end;
{melakukan pengulangan}
repeat
  sisabagi:= a mod b;
  a:=b;
  b:=sisabagi;
until (sisabagi = 0);
{menampilkan hasil perhitungan}
 writeln;
 writeln('Pembagi bersama terbesar = ', a);
end.

1
2
3
4
5
6
7
8
9
10
11
var
   i : integer;

begin
   i := 1;
   repeat
      write(i);
      writeln(' Turbo Pascal');
      inc(i);
   until i > 5;
end.
Bila program dijalankan maka akan didapatkan hasil:
Turbo Pascal
Turbo Pascal
Turbo Pascal
Turbo Pascal
Turbo Pascal
Beberapa hal yang perlu diperhatikan dalam perulangan repeat until adalah:
1.     Paling sedikit statement didalam perulangan diproses sekali, karena seleksi kondisi pada statement until yang terletak dibawah. Jadi walaupun kondisi awal sudah tidak sesuai dengan kondisi statement until, tapi blok statement setelah repeat tetap akan dikerjakan hingga statement until.
2.     Pada repeat...until dapat tidak menggunakan blok statement (tidak diperlukan begin dan end untuk menunjukkan batas perulangannya), karena batas perulangannya telah ditunjukkan mulai Repeat sampai Until (Jadi Repeat dan Until merupakan pengganti begin dan end). Kalaupun ditambahkan blok statement begin dan end didalam perulangan repeat...until, hasilnya akan sama saja dengan tanpa menggunakan begin dan end.
Untuk dapat lebih memahami maksud dari pernyataan diatas, bisa kita lihat contoh perbedaan penggunaan perulangan repeat...until dengan perulangan while-do:
contoh perulangan dengan repeat...until:
1
2
3
4
5
6
7
8
9
10
11
var
   i : integer;

begin
   i := 10;
   repeat
      write(i);
      writeln(' Turbo Pascal');
      inc(i);
   until i > 5;
end.
contoh perulangan dengan while-do:
1
2
3
4
5
6
7
8
9
10
11
12
var
   i : integer;

begin
   i := 10;
   while i < 5 do
   begin
      write(i);
      writeln(' Turbo Pascal');
      inc(i);
   end;
end.
Kedua script diatas sengaja dibuat nilai awal yang tidak memenuhi kondisi pada tiap perulangan, baik repeat...until maupun while-do. Jika kedua script diatas dijalankan maka script dengan perulangan while-do tidak akan menampilkan hasil apapun, sementara script dengan perulangan repeat...until tetap akan menjalankan statement program minimal satu kali, dan menampilkan hasil seperti ini:
10 Turbo Pascal
Dari contoh diatas semoga kita bisa memahami perbedaan penggunaan repeat...until dan while-do.
Struktur Perulangan repeat...until tersarang
Sama seperti perulangan lainnya, struktur perulangan repeat...until tersarang adalah suatu perulangan repeat...until yang berada didalam perulangan repeat...until lainnya.
contoh:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
   i, j : integer;

begin
   i := 1;
   repeat
      j := 1;
      repeat
         write(j, ' ');
         inc(j);
      until j > 5;
      writeln;
      inc(i);
   until i > 5;
end.
Bila program dijalankan, maka akan dihasilkan:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Jumat, 13 Januari 2012

[Turbo Pascal] Menghitung Luas Lingkaran Menggunakan Prosedur

Program swift;
uses wincrt;
procedure luas_lingkaran;
var
r:integer;
hasil:real;
begin
write('Masukkan Panjang Jari-jari : '); readln(r);
hasil:=(22/7)*sqr(r);
writeln('Luasnya = ',hasil:0:2);
end;
begin
luas_lingkaran;
end.

[Turbo Pascal] Menghitung Luas Lingkaran Menggunakan Fungsi

Program swift;
uses wincrt;
function luas_lingkaran(r:integer; hasil:real):real;
begin
    luas_lingkaran:=(22/7)*sqr(r);
    end;

    var
    r:integer;
    hasil:real;
    begin
      write('Masukkan Panjang Jari-jari : '); readln(r);
      writeln('Luasnya = ',luas_lingkaran(r,hasil):0:2);
end.

[Turbo Pascal] RECORD pada Pascal

Dasar Teori
Record merupakan kumpulan elemen data yang dikumpulkan menjadi satu kesatuan dengan tipe data sama ataupun berbeda. Meskipun field tersebut berada dalam satu kesatuan, namun masih dapat di akses secara individual.
Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array).
Cara pendeklarasian dari record adalah sebagai berikut:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
SYNTAX
type
nama_record = record
identifier_1 : tipe_data_1;
identifier_n : tipe_data_n;
end;
var variabel : nama_record;
Contoh.
type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;


1. Pengaksesan Elemen Record

x.Usia Nama variable disertai nama field.
x.Nama
x.Kota
x.Kodepos
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var
waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.


2. Pengunaan With … do

Pernyataan with untuk lebih menyederhanakan pengaksesan field-field pada record. Pemrograman dapat mengakses field cukup dengan menyebutkan nama field-nya saja.
Misalkan pernyataan :
x.Nama
x.Usia
x.Kota
x.Kodepos
menjadi
with x do
Begin
Nama
Usia
Kota
Kodepos
end
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var
waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.


3. Array dari Record

Suatu array dapat juga berisi record contoh suatu deklarasi record tanggal.
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
kemudian kita membentuk suatu array dari record ini, namakan birthdays.
var birthdays : array[1..10] of tanggal;
pernyataan ini akan membentuk suatu array dengan 10 elemen. Dimana tiap elemen adalah sebuah record tanggal, yaitu, terdiri atas bulan, hari, tahun dengan tipe data Integer.
Digambarkan seperti berikut:
Contoh Pemberian nilai awal dari masing-masing elemen birthdays:
Birthdays[1].hari :=25;
Birthdays[1].bulan:=09;
Birthdays[1].tahun:=1983;


4. Record di dalam Record

Record bisa berisi record lain sebagai field. Seperti contoh record tanggal dan jam dikombinasikan menjadi sebuah record saat ini,
type tanggal = record
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
Kemudian kita perlu membuat variabel kerja
var saat_ini : waktu_ini;
pemberian nilai akan terjadi seperti di bawah ini:
saat_ini.tanggal.bulan:= 11;
saat_ini.tanggal.hari:= 2;
saat_ini.tanggal.tahun:= 1985;
saat_ini.waktu.jam:= 3;
saat_ini.waktu.menit:= 3;
saat_ini.waktu.detik:= 33;
Simple Record dan Array pada Pascal
Pada ujian struktur data kemaren ada sebuah soal yang memerintahkan kita untuk membuat sebuah program untuk sebuah perpustakaan. Program ini akan merekam informasi mengenai 200 data buku-buku yang ada meliputi judul buku, kode, pengarang, edisi, tahun terbit, dan penerbitnya. Output yang diharapkan adalah berupa tabel yang menampilkan informasi data buku yang telah direkam secara terurut ascending dengan metode sorting berdasarkan judul buku. Demikianlah kira-kira gambaran tentang program tersebut..


Berikut Contoh Sederhana Dari RECORD

program swift;
uses wincrt;
type karyawan=record
  nama,kelamin,alamat: string;
end;
var
kry: karyawan;
lagi,pil:char;
       
    Procedure input;
    begin repeat
    clrscr;
    write('Masukkan Nama   : ');readln(kry.nama);
    write('Jenis Kelamin   : ');readln(kry.kelamin);
    write('Alamat          : ');readln(kry.alamat);
        writeln;
    Write('Mau Edit Data [Y/T]: ');Lagi:=Upcase(Readkey);
    Until Lagi<>'Y';
    end;

        procedure output;
    begin clrscr;
    writeln('Nama          :',kry.nama);
     writeln('Jenis Kelamin :',kry.kelamin);
      writeln('Alamat        :',kry.alamat);
    writeln;
    Write('Press Any Key to Continue...');readkey;
    end;

    procedure about;
    begin clrscr;
    writeln('========= Tentang Saya ==========');
    writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
    writeln('Nama                : Budi Santoso');
     writeln('Pendidikan Sekarang : Teknik Informatika (STMIK Palangkaraya)');
    writeln('Alamat              : Jl.G.Obos XII');
        writeln('Email               : Budi_sh4@yahoo.com');
    writeln;
    Write('Press Any Key to Continue...');readkey;
    end;

    procedure menu;
    begin clrscr;
    writeln('* Menu *':20);
        writeln('==========':21);
    writeln('1. Entry Baru':21);
    writeln('2. Tampilkan data':25);
        writeln('3. About me':19);
    writeln('0. Exit':15);
    writeln;
    write('Pilih Nomor : ':23);pil:=readkey;
    end;

    begin Clrscr;
        repeat menu;
    Case Pil Of
    '1': input;
    '2': output;
        '3': about;
    end;

    until pil='0';
        donewincrt;
    end.

[Turbo Pascal] Perkalian Pada Matriks

         Matriks adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (yang biasanya dikonotasikan dengan indeks baris dan indeks kolom). Matriks adalah sekumpulan kotak yang tersusun berjajar pada setiap baris dan kolom. Susunan ini juga disebut GRID.


program perkalian_matriks;
uses wincrt;

const n_i=2;
n_j=2;
n_k=1;

var
A: array [1..n_i,1..n_j] of integer;
B: array [1..n_j,1..n_k] of integer;
C: array [1..n_i,1..n_k] of integer;
i,j,k:integer;
begin
clrscr;
writeln ('penetapan nilai matriks A');

for i:=1 to n_i do
for j:=1 to n_j do
begin

write('baris ke-',i,'kolom ke-',j,' :');
readln(A[i,j]);
end;

writeln('penetapan nilai matriks B');

for j:=1 to n_j do
for k:=1 to n_k do
begin

write('baris ke-',j,'kolom ke-',k,' :');
readln(B[j,k]);
end;
writeln('Perhitungsn sedang dilakukan ..');
for i:= 1 to n_i do
for k:= 1 to n_k do
begin
C[i,k] :=0;

for j:= 1 to n_j do
C[i,k] := C[i,k]+A[i,j] * B[j,k];
end;
writeln('Maka nilai matriks C');

for i:=1 to n_i do
begin
for k:=1 to n_k do
write(C[i,k]:4);
writeln;

end;

readln;
end.


Diatas Adalah Contoh sederhana dari matriks...
Bagi teman2 yang ingin Download selengkapnya tentang Matriks, silahkan klik disini

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews