Sabtu, 12 Desember 2009

Tipe Bilangan

Bilangan Bulat

Tipe ini sudah dikenal dalam kehidupan sehari-hari. Bilangan bulat adalah bilangan yang tidak menhgandung pecahan desimal, misalnya 34, 8, 1203, 0, -17 dan sebagainya.

Nama Tipe

Nama tipe bilangan bulat adalah integer.

Ranah Nilai

Secara teoretis, tipe bilangan bulat mempunyai ranah nilai yang tidak terbatas. rentang nilainy adalah dari minus tah hingga sampai plus tak hingga asalkan setiap nilainya tidak mengandung titik desimal. Namun di dalam algoritma kita dapat mendefinisikan ranah tertentu untuk objek yang kita definisikan. Pendefinisaian ranah ini diperlukan untuk menyatakan bahwa nilai objek hanya boleh berada dalam ranah tersebut. Misalnya objek “jam” didefinisaikan bertipe bilangan bulat dengan ranah nilai untuk “jam” adalah dalam {0..23}. Bila sebuah objek bilangan bulat tidak didefinisikan ranahnya, maka dianggap ranah tersebut adalah dari minus tak hingga sampai plus tak hingga.

Dalam prakteknya, tipe integer mempunyai rentang nilai yang terbatas. implementasi tipe integer dalam bahasa pemrograman bergantung pada kompilator bahasa yang digunakan. pada kompilator Turbo Pascal misalnya, tipe integer dapat direpresentasikan ke dalam empat macam tipe, yaitu byte, shortint, word, integer dan longint.

Tipe Rantang Nilai Format

byte 0..255 Unsigned 8-bit

shortint -128..127 Signed 8-bit

word 0..65538 Unsigned 16-bit

integer -32768..32767 Signed 16-bit

longint -2147483648.. 2147483647 Signed 32-bit


Bilangan Riil

Bilangan riil adalah bilangan yang mengandung pecahan desimal, misalnya 3.65, 0.0003, 29.0, 2.60240000E-6, .24 dan lain-lain. ingatlah bahwa semua konstanta bilangan riil harus mengandung “.”. Nilai 18 dianggap sebagai bilangan bulat, tetapi 18.0 dianggap sebagai bilanga riil. Bilangan riil dapat juga dituliskan dengan notasi E yang artinya perpangkatan sepuluh. Misalnya 2.60240000E-6 artinya 2.60240000x 10-6.

Nama Tipe

Nama tipe bilangan riil adalah real.

Ranah Nilai

Secara teoretis tipe bilangan riil memiliki ranah nilai yang tak terbatas. Rentangnya adalah dari minus tak hingga sampai plus tak hingga.

Pada kompilator Turbo Pascal tipe real dapat direpresentasikan ke dalam empat macam tipe, yaitu real, single, double dan extended.

Tipe Rentang Nilai Format

real 2.9x10-39..1.7x1038 6 byte

single 1.5x10-45..3.4x1038 4 byte

double 5.0x10-324..1.7x10308 8 byte

extended 3.49x10-4932..1.7x104932 10 byte


Sub Program

Dalam suatu program, kadang ada bagian progam yang disembunyikan dan menggantinya dengan suatu kata. Bagian program tersebut dinamakan subprogram. Dalam bahasa pascal, ada dua tipe subprogram, yaitu procedure dan function.

Keduanya merupakan kelompok dalam bahasa pascal yang dipisahkan dari program utamanya. keduanya dijalankan dan dieksekusi dengan memanggil namanya. Perbedaan procedure dan function adalah pengenal function mempunyai tipe dan membawa nilai ketika dieksekusi. sedangkan pengenal procedure tidak mempunyai tipe dan tidak membawa tipe.

Suatu procedure atau finction mempunyai argument atau parameter yang ditulis dalam tanda kurung.

Parameter formal adalah parameter yang terdapat pada pendeklarasian judul. parameter actual adalah parameter pada pemanggilan.

Rekursi

Rekursi bisa melalui procedure atau function. Procedure memanggil dirinya sendiri meruakan suatu procedure yang memanggil atau menggunakan procedure itu juga. Fungsi juga dapat memanggil dirinya sendiri. Proses dari suatu program yang memenggil dirinya sendiri disebut rekursi.

Contoh:

Program Latihan_Rekursi_1;

Uses Wincrt;


Function Faktorial(a:real):real;

Begin

If (a=1)then

Faktorial:=1

else

Faktorial:=a*faktorial(a-1);

End;


Var

x:longint;

Begin

Writeln('Berapa Faktorial? ');Readln(x);

Writeln(x,' faktorial ','= ',Faktorial(x):5:0);

End.

Procedure

Dalam dunia pemrograman, procedure adalah modul program yang mengerjakan tugas yang spesifik dan menghasilkan efek netto. Suatu efek netto diketahui dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah procedure.

Setiap procedure mempunyai nama yang unik. nama procedure sebaiknya diawali dengan kata kerja.

Contoh:

Program Menukar_Nilai_A_dan_B;

Uses Wincrt;

Var

A,B:real;

Procedure Tukar(Var X,Y:real);

Var

penukar:real;

Begin

penukar:=X;

X:=Y;

Y:=penukar;

End;

Begin

Write ('Masukkan Nilai A=');readln (A);

Write ('Masukkan Nilai B=');readln (B);

Writeln ('Nilai A sebelum ditukar',(A):5:0);

Writeln ('Nilai B sebelum ditukar',(B):5:0);

Tukar(A,B);

Writeln ('Nilai A setelah ditukar',(A):5:0);

Writeln ('Nilai B setelah ditukar',(B):5:0);

End.

Pengulangan

Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. ini berbeda dengan manusia yang cepat lelah bila mengerjakan pekerjaan yang sama berulang-ulang. tidak hanya lelah, tetapi juga cepat bosan.

Dalam bahasa Pascal terdapat 3 macam kendali untuk melakukan proses pengulangan (looping) yang sering digunakan dalam bahasa pemrograman tingkat tinggi, yaitu pernyataan for, while dan repeat. masing-masing pernyataan mempunyai kekhususan dan keunggulan sendiri. Pada umumnya control pengulangan mengulang satu atau lebih pernyataan berdasarkan suatu kondisi. Hal ini sangat memudahkan kita membuat suatu program karena dapat menghemat jumlah pernyataan yang harus ditulis.

Kontrol Program For

For adalah salah satu pernyataan yang digunakan untuk menjalankan pengulangan sebuah pernyataan atau blok pernyataan. Kontrol program for paling sesuai digunakan untuk mengulang sejumlah pernyataan apabila jumlah perulangannya diketahui.

Perulangan dengan pernyataan for bisa memiliki nilai penghitung dari kecil ke besar atau dari besar ke kecil. bentuk sintaks perulangan dengan nilai penghitung naik adalah:

For := awal To akhir Do

Bentuk sintaks perulangan dengan nilai penghitung turun adalah:

For := awal Downto akhir Do

Kontrol Program While

Pada umumnya, banyaknya perulangan kendali while tidak dapat ditentukan terlebih dahulu. Pernyataan While do digunakan untuk melakukan proses perulangan suatu pernyataan atau kelompok pernyataan terus menerus selama kondisi pada pernyataan while masih bernilai benar. Bentuk umumpernyataan while adalah:

While do pernyataan

Kontrol Program Repeat Until

Pernyataan repeat digunakan untuk mengulang satu/lebih pernyataan hingga kondisi yang diinginkan terpenuhi. pada pernyataan repeat, kondisi penghentian proses berada pada akhir perulangan. Pada repeat satu/lebih pernyataan dijalankan terlebuh dahulu, kemudian dievaluasi. apabila kondisi dipenuhi maka perulangan berhenti, bila kondisi tidak terpenuhi, proses perulangan dilanjutkan. Pernyataan repeat memiliki bentuk umum sebagai berikut:

Repeat

pernyataan;

pernyataan;

Until

dimana pernyataan yang tertulis antara kata tercadang adalah yang akan diulang. sedangkan kondisi adalah kondisi yang harus dipenuhi unruk mrnghentikan proses perulangan.

Contoh:

Program For_to_do;

Uses Wincrt;

Var

a:longint;

Begin

For a:=1 to 5 do

Writeln (a,' . Pemrograman Komputer');

End.


Program While_do;

Uses Wincrt;

Var

a:longint;

Begin

a:=0;

While a<5 do

Begin

a:=a+1;

Writeln (a,' . Pemrograman Komputer');

End;

End.


Program Repeat_until;

Uses Wincrt;

Var

a:longint;

Begin

a:=0;

Repeat

a:=a+1;

Writeln (a,' . Pemrograman Komputer');

Until a>4;

End.

Pemilihan

Adakalanya sebuah instruksidikerjakan jika kondisi tertentu dipenuhi. Pencarian data terkecil dilakukan dengan membandingkan data. Mula-mula data pertama dianggap data terkecil sementara (min). Bandingkan (min) denghan data ke-2, 3, …, N. Selama proses pembandingan, bila data ke-j lebih kecil dari min, maka data ke-j itu jadi min baru.

If-then

Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi dipenuhi, dan tidak memberi pilihan aksi lain bila kondisi bernilai salah. Bentuk pemilihan yang lebih umum adalah memilih satu dari dua buah aksi bergantung pada nilai kondisinya:

if kondisi then

aksi 1

else

aksi 2

Else artinya kalau tidak. Bila kondisi benar aksi 1 dikerjakan, kalau tidak aksi 2 dikerjakan. Contoh:

If hari hujan then

pergilah dengan mobil

else

pergilah dengan motor

Contoh:

program Kelulusan;

uses wincrt;

var

a,b,c,d:real;

Ket:string[11];

begin

writeln ('Masukkan Nilai PDB=');readln(a);

writeln ('Masukkan Nilai Kalkulus=');readln(b);

writeln ('Masukkan Nilai Statistika Inferensial=');readln(c);

d:=(a+b+c)/3;

Writeln ('Rata-rata Nilai',(d):5:2);

Ket:='Lulus';

if d <50 then Ket:='Tidak Lulus';

writeln(Ket);

end.

Function

Blok fungsi hamper sama dengan blok procedure, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari function. Pada daftar parameter bisa berisi sejumlah parameter yang dipisahkan denga tanda koma. jika function tidak memiliki parameter, tanda() tidak perlu disertakan.

Contoh:

Program Latihan_Function;

Uses Wincrt;

Var

x,y:longint;


Function Tambah(a,b:longint):longint;

Var

Hasil:longint;

Begin

Hasil:=a+b;

Tambah:=Hasil;

End;


Begin

Write('Masukkan bilangan pertama: ');readln(x);

Write('Masukkan bilangan kedua: ');readln(y);

Write('Hasilnya adalah ',(Tambah(x,y)));

end.

Larik (Array)

Apakah Larik Itu?

Larik adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung dari indeksnya. Indeks larik haruslah tipe data yang menyatakan keterurutan, misalnya integer atau karakter.

Larik yang bernama A dengan delapan buah elemen dapat dibayangkan lecara logis sebagai sekumpulan kotak yang terurut. tiap kotak tersebut diberi indeks.

Contoh:

A[1], A[2], A[3], A[4], A[5]

Angka didalam tanda kurung siku menyatakan indeks larik.

Setiap elemen larik menyimpan sebuah nilai. Karena seluruh elemen larik bertipe sama, maka nilai yang disimpan setiap elemen harus bertipe sama pula.

Contoh:

Program Latihan_Array_1;

Uses Wincrt;

Var

a,b:integer;

tabel: array[1..3,1..2] of integer;

Begin

Write('Tabel 1,1:');Readln(tabel[1,1]);

Write('Tabel 1,2:');Readln(tabel[1,2]);

Write('Tabel 2,1:');Readln(tabel[2,1]);

Write('Tabel 2,2:');Readln(tabel[2,2]);

Write('Tabel 3,1:');Readln(tabel[3,1]);

Write('Tabel 3,2:');Readln(tabel[3,2]);

Writeln;

Clrscr;

For a:=1 to 3 do

Begin

For b:=1 to 2 do

Write(tabel[a,b],' ');

Writeln;

End;

End.

Apakah Algoritma Itu?

Ditinjau dari asal-usul kata, kata algoritma mempunyai sejarah yang aneh. Kata ini tidak muncul dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemuka kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika anda menggunakan angka arab. para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism 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-Khawarizmi menulis buku berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan”. Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi -thm. Kata algorithm dipakai sebagai metode perhitungan secara umum. dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.


Algoritma

Definisi:

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

Sebagai pembanding, disini dikemukakan definisi algoritma menurut Kamus besar Bahasa Indonesia:

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.


Rabu, 09 Desember 2009

Tugas Pemrograman Komputer 1

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang segitiga asik.

Program Jumlah_Segitiga_Asik;
Uses Wincrt;
Var
a,b,c,d:longint;
Begin
Write ('Berapa baris segitiga asik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to c do
Begin
Write (c:2);
If b End;
For b:=1 to c do
d:=b*b;
Write (' = ');
Write (d);
Writeln;
Writeln;
End;
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang segitiga asik.

Program Jumlah_Segitiga_Asik;
Uses Wincrt;
Var
a,b,c,d:longint;
Begin
Write ('Berapa baris segitiga asik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to 1 do
Write (c:2);
For b:=2 to c do
Write (' +',c:2);
For b:=1 to c do
d:=c*b;
Write (' = ');
Write (d);
Writeln;
Writeln;
End;
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang segitiga asik.

Program Segitiga_Asik;
Uses Wincrt;
Var
a,b,c:longint;
Begin
Write ('Berapa baris segitiga asik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to c do
Write (c:3);
Writeln;
Writeln;
End;
End.

Tugas Pemrograman Komputer 1

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang for to do.

Program For_to_do;
Uses Wincrt;
Var
a:longint;
Begin
For a:=1 to 5 do
Writeln (a,' . Pemrograman Komputer');
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang repeat until.

Program Repeat_until;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
Repeat
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
Until a>4;
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang while do.

Program While_do;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
While a<5 do
Begin
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
End;
End.

Tugas Pemrograman Komputer 1

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_1;
Uses Wincrt;

Function Faktorial(a:real):real;
Begin
If (a=1)then
Faktorial:=1
else
Faktorial:=a*faktorial(a-1);
End;

Var
x:longint;
Begin
Writeln('Berapa Faktorial? ');Readln(x);
Writeln(x,' faktorial ','= ',Faktorial(x):5:0);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_2;
Uses Wincrt;

Procedure Rekursi(a:integer);
Var
y:integer;
Begin
If a<10 then
Begin
Writeln('Pascal');
Writeln;
a:=a+1;
Rekursi(a);
End;
End;

Var
x:integer;
Begin
Writeln('Berapa batas awalnya?');Readln(x);
Rekursi(x);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_3;
Uses Wincrt;
Var
suku,a,b,c: longint;

Function Fibonacci(n:longint):longint;
Begin
If (n=1) then Fibonacci:=a
else
If (n=2) then Fibonacci:=b
else
Fibonacci:=Fibonacci(n-1)+Fibonacci(n-2);
End;

Begin
Write('Masukkan suku pertama dalam deret fibonacci :');readln(a);
Write('Masukkan suku kedua dalam deret fibonacci :');readln(b);
Write('Sampai suku keberapa deret fibonacci yang diinginkan?: ');readln(c);
Writeln;
Writeln('Deret Fibonaccinya adalah sebagai berikut:');
For suku:= 1 to c do
Write(Fibonacci (suku):3);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_4;
Uses Wincrt;
Var
a:real;
b:integer;

Function Pangkat(x:real;n:integer):real;
Begin
If n=0 then pangkat:=1
else if n>0 then pangkat:=pangkat(x,n-1)*x
else pangkat:=pangkat(x,n+1)/x;
End;

Begin
Clrscr;
Write('data pertama: ');readln(a);
Writeln;
Write('data kedua: ');readln(b);
Writeln;
While(a<>0) or (b<>0) do
Begin
Writeln;
Write(a:5:2,' pangkat ',b:3,' = ');
Write(pangkat(a,b):5:2);
Writeln;
Writeln;
Write('data pertama: ');readln (a);
Writeln;
Write('data kedua: ');readln (b);
Writeln;
End;
End.

Tugas Pemrograman Komputer 1

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang konversi detik ke jam.

Program Konversi_Detik_ke_Jam;
Uses Wincrt;
Var
hh,mm,ss,Total_Detik:longint;
Begin
Write ('Total Detik= ');readln (Total_Detik);
hh:=Total_detik div 3600;
mm:=(Total_detik mod 3600) div 60;
ss:=(Total_detik mod 3600) mod 60;
Writeln ('Waktu dalam Jam adalah ',hh,(' jam, '),mm,(' menit, '),ss,(' detik.'));
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang konversi detik ke jam.

Program Konversi_Detik_ke_Jam;
Uses Wincrt;
Type Jam = record
hh:longint;
mm:longint;
ss:longint;
end;
Var
J:Jam;
Total_Detik:longint;
Begin
Write ('Total Detik= ');readln (Total_Detik);
J.hh:=Total_detik div 3600;
J.mm:=(Total_detik mod 3600) div 60;
J.ss:=(Total_detik mod 3600) mod 60;
Writeln ('Waktu dalam Jam adalah ',J.hh,(' jam, '),J.mm,(' menit, '),J.ss,(' detik'));
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang konversi jam ke detik.

Program Konversi_Jam_ke_Detik;
Uses Wincrt;
Var
hh,mm,ss,Total_Detik:longint;
Begin
Write ('Jam = ');readln (hh);
Write ('Menit= ');readln (mm);
Write ('Detik= ');readln (ss);
Total_Detik:=(hh*3600)+(mm*60)+ss;
Writeln ('Waktu dalam detik adalah ',Total_Detik);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang konversi jam ke detik.

Program Konversi_Jam_ke_Detik;
Uses Wincrt;
Type Jam = record
hh:longint;
mm:longint;
ss:longint;
End;
Var
J:Jam;
Total_Detik:longint;
Begin
Write ('Jam = ');readln (J.hh);
Write ('Menit= ');readln (J.mm);
Write ('Detik= ');readln (J.ss);
Total_Detik:=(J.hh*3600)+(J.mm*60)+J.ss;
Writeln ('Waktu dalam detik adalah ',Total_Detik);
End.

Tugas Pemrograman Komputer 1

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang konversi suhu.

Program Konversi_Suhu;
Uses Wincrt;
Var
C,K,F:real;
Begin
Write ('Masukkan suhu dalam Celcius= ');readln(C);
F:=((9/5)*C)+32;
K:=C+273;
Writeln ('Suhu dalam Fahrenheit= ',(F):5:2);
Writeln ('Suhu dalam Kelvin= ',(K):5:2);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang konversi suhu.

program Konversi_Suhu;
uses wincrt;
var
a:real;
b,c,d:real;
begin
write ('Masukkan suhu dalam Celcius=');readln(a);
b:=(5/9*a)+32;
c:=(4/5*a);
d:=a+273;
writeln ('Suhu dalam Fahrenheit=',(b):5:2);
writeln ('Suhu dalam Reamur=',(c):5:2);
writeln ('Suhu dalam Kelvin=',(d):5:2);
end.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Buy Printable Coupons