Kamis, 28 April 2011

PENGENALAN PASCAL

Pengenalan Pascal

Sejarah Pascal

§ Berakar dari Bahasa Algol dan PL/1 pada tahun 60-an di benua Eropa

§ Pascal disusun oleh Prof.Niklaus Wirth pada tahun 70 dan dipublikasikan tahun 71

§ Diujicoba pada Komputer CDC 6000

§ Turbo Pascal bersifat Compiler dan termasuk bahasa tingkat tinggi

Struktur Bahasa Pascal

§ Judul

Program ;

Uses ;

§ Bagian Deklarasi

Label ;

Const ;

Type ;

Var ;

Procedure ;

Function ;

§ Bagian Pernyataan

Begin

;

End.

Perintah Dasar/Sederhana Pascal

§ Write ( ‘Text/tulisan’,Variabel);

Perintah untuk menampilkan atau cetak dilayar monitor tanpa pindah baris

§ WriteLn( Text/Tulisan,Variabel);

Perintah untuk menampilkan/cetak dilayar monitor lalu pindah baris kebawah

§ Read(Variabel);

Perintah untuk menginput/mengisi data tanpa pindah baris

§ ReadLn(Variabel);

Perintah untuk menginput/mengisi data lalu pindah baris

Identifier/Pengenal Data

Digunakan untuk penamaan elemen-elemen deklarasi seperti Label, Constanta, type, variabel, procedure, function

Text Box: Contoh : Luas_Segi_Tiga LuasSegiTiga LuasS3 LS3Syarat Identifier

§ Diawali huruf

§ Tidak boleh ada spasi/blank

§ Tidak boleh menggunakan reserved word

§ Tidak boleh menggunakan simbol khusus,

kecuali underscore(tanda bawah)

§ Panjang maximal 63 character

STRUKTUR PERCABANGAN

Struktur Percabangan

If…Else

Pernyataan if-else mempunyai sintaks:
if (kondisi)
pernyataan-1
else
pernyataan-2;

Maksud dari pernyataan if-else adalah:
Jika kondisi benar, maka pernyataan-1 dijalankan, Sedangkan jika kondisi bernilai salah, maka pernyataan-2 yang akan dijalankan. Masing-masing pernyataan-1 dan pernyataan-2 dapat berupa sebuah pernyataan tunggal maupun pernyataan majemuk. If… Else berfungsi melibatkan pernyataan majemuk yaitu pernyataan A dan B. Jika pernyataan bukan merupakan pernyataan A, maka yang akan dijalankan merupakan pernyataan B.

If…Else If
Pernyataan untuk if else if hamper sama dengan if else namun disini hanya menambahkan suatu kondisi lagi setelah kondisi yang pertama yaitu pada if pertama

Case
Hampir sama dengan struktur percabangan IF, tetapi lebih cocok digunakan jika kondisi yang diperiksa sangat banyak. Kondisi yang diperiksa harus berupa data ordinal (bertipe integer atau char), dan tidak boleh bertipe real. Menggunakan operator relasional = (sama dengan) untuk melakukan pemeriksaan kondisi.

Referensi :
http://zenkychan.blogspot.com/

STRUKTUR PENGULANGAN

STRUKTUR PENGULANGAN


STRUKTUR PENGULANGAN
Struktur pengulangan secara umum terdiri dari 2 bagian:
1. Body pengulangan, merupakan bagian algoritma yang diulang.
2. Kondisi pengulangan, merupakan ekspresi Boolean yang wajib dipenuhi untuk melaksanakan pengulangan. Kondisi pengulangan ini dapat dinyatakan secara eksplisit ( pemrogram ) atau inplisit ( dikelola computer itu sendiri ).
Dalam struktur pengulangan biasanya disertai dengan bagian:
· Inisialisasi, maksudnya aksi yang dilakukan sebelum pengulangan pertama kali dilakukan.
· Terminasi, maksudnya aksi yang dilakukan setelah pengulangan selesai dilakukan.

a. Pernyataan FOR
Merupakan konstruksi pengulangan tanpa kondisi ( unconditional looping ), artinya perintah-perintah yang ada di dalam badan pengulangan diulangi sejumlah kali yang dispesifikasikan oleh pemrogram. Jadi, jumlah pengulangan sudah diketahui/ dapat dtentukan sebelum konstruksi pengulangan eksekusi.
Pernyataan dengan to adalah suatu pernyataan yang menjalankan program dengan urut/ semestinya/ dari kecil sampai ke yang besar, misalnya: dari angka 1 sampai angka 5. Example:
Example 1.
uses wincrt;

var a : integer :
begin
for a := 1 to 5 do
writeln(a);
end.
Output:
1
2
3
4
5
b. Pernyataan for bersarang
Perulangan yang berada didalam perulangan yang lainnya. Perulangan yang lebih dalam akan diproses lebih dulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Contoh program :

Var
I, J : integer ;
Begin
For I : = 1 to 5 do
Begin
For J : = 1 to 3 do
Write ( I : 8, J : 3);
Writeln ;
End ;
End.
c. Pernyataan WHILE
Merupakan pengulangan dengan kondisi ( conditional looping ), maksudnya perintah-perintah yang ada di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi yaitu dengan menentukan kondisi berhenti pengulangan. Tetapi jumlah pengulangan tidak diketahui sebelum eksekusi.
Struktur umum pernyataan While:
1
2
3
while kondisi do
pernyataan
endwhile
Jadi, pernyataan while akan berjalan berulang terus apabila belum menemukan nilai false, tetapi kalau kondisi bernilai true maka pengulangan akan terus berjalan.
Sedangkan, apabila pengulangan berjalan terus tanpa henti berarti pengulangan tersebut pada logika algoritma algoritma yang salah.
Example:
1
2
3
4
5
6
7
8
9
10
uses wincrt:

var c : integer ;
begin
c := 1;
while(c<5) do begin
writeln(’tidak’, c);
a := a + 1;
end;
end.
d. Pernyataan REPEAT-until
Merupakan pengulangan dengan kondisi ( conditional looping ), maksudnya perintah-perintah yang ada di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi yaitu dengan menentukan kondisi berhenti pengulangan. Tetapi jumlah pengulangan tidak diketahui sebelum eksekusi.
Struktur umum pernyataan Repeat:
1
2
3
repeat
pernyataan
until kondisi
Jadi, bisa diartikan bahwa apabila program itu dijalankan dengan kondisi bernilai false dan masih saja bernilai false, maka proses akan terus berlangsung. Tetapi apabila kondisi sudah menemukan nilai true maka proses akan berhenti. Karena nilai true yang dicari. Disamping itu, apabila pengulangan tidak berhenti/ berjalan terus tanpa henti maka terdapat logikaalgoritma yang salah.
Example:
1
2
3
4
5
6
7
8
uses wincrt;

var a : integer ;
begin
repeat
writeln(’tidak’, a);
until(a=5);
end.
Output:
tidak 0
tidak 1
tidak 2
tidak 3
tidak 4

SUBRUTIN

SUBRUTIN

Ada dua macam subrutin pada Pascal, yaitu prosedur dan fungsi.

Prosedur adalah bagian dari program yang dibuat terpisah untuk melaksanakan sebagian dari tugas yang harus diselesaikan oleh suatu program. Sedangkan fungsi adalah bagian dari program yang dibuat terpisah untuk melakukan fungsi tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program utama.

Keduanya mempunyai kegunaan yang sama, yaitu melakukan tugas tertentu. Perbedaannya kalau fungsi selalu mengembalikan suatu nilai setelah dipanggil sedangkan prosedur tidak.

Manfaat pembuatan SUBRUTIN:

  • modularisasi: suatu program yang besar dan kompleks dapat dibagi ke dalam beberpa prosedur sehingga setiap prosedur merupakan bagian yang mudah dikerjakan. dengan demikian, program besar tersebut menjadi mungkin diselesaikan.
  • simplifikasi: dalam suatu program, sering diperlakukan suatu tugas yang harus dikerjakan berulang-ulang dengan nilai-nilai variabel yang berbeda. Agar tidak merepotkan maka tugas ini cukup ditulis sekali saja dalam bentuk subrutin yang kemudian dipanggil berulang-ulang sesuai kebutuhan.

Selain itu, bila terjadi kesalahan dalam suatu program yang besar maka kita hanya cukup bekerja/memperbaiki program-program kecil (subrutin) tadi saja.

Prosedur dan fungsi merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Manfaat penggunaan sub program antara lain adalah :

Prosedur dan fungsi merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Manfaat penggunaan sub program antara lain adalah :


1. meningkatkan readibility, yaitu mempermudah pembacaan program
2. meningkatkan modularity, yaitu memecah sesuatu yang besar menjadi modul-modul atau bagian-bagian yang lebih kecil sesuai dengan fungsinya, sehingga mempermudah pengecekan, testing dan lokalisasi kesalahan.
3. meningkatkan reusability, yaitu suatu sub program dapat dipakai berulang kali dengan hanya memanggil sub program tersebut tanpa menuliskan perintah-perintah yang semestinya diulang-ulang.


Sub Program Rekursif adalah sub program yang memanggil dirinya sendiri selama kondisi pemanggilan dipenuhi.

adalah Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus memiliki :

1. kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition)
2. pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)

Secara umum bentuk dari sub program rekursif memiliki statemen kondisional :

if kondisi khusus tak dipenuhi
then panggil diri-sendiri dengan parameter yang sesuai
else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi

Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang-kadang sub program rekursif menjadi pilihan kita bila memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori, waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien .
Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang).

Referensi:

http://jauharotul.wordpress.com/2010/12/22/subrutin/

http://ftikom-unmul.nstars.org/t403-prosedur-dan-fungsi-rekursif

REKURSI

Rekursi

Rekursi adalah konsep pengulangan yang penting dalam ilmu komputer. Konsep ini dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan loop for, while do. Pada saat tertentu konsep ini dapat digunakan untuk mendefinisikan permasalahan dengan konsisten dan sederhana. Pada saat yang lain, rekursi dapat membantu untuk mengekspresikan algoritma dalam sebuah rumusan yang menjadikan tampilan algoritma tersebut mudah untuk dianalisa.
Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah "rumit" dari proses dijelaskan dengan langkah-langkah yang lebih "sederhana", dan kejadian yang paling "sederhana" diberi secara gamblang. Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri.
Rekursi merupakan teknik pemrograman yang menyebabkan suatu fungsi/prosedur memanggil dirinya sendiri. Pemanggilan diri sendiri ini berlangsung terus menerus sampai batas terkecil yang nilai dari fungsi tersebut disebutkan secara eksplisit. Salah satu contoh dari penerapan rekursi adalah perhitungan faktorial.

Referensi :
http://bc-omu.blogspot.com/

Jumat, 01 April 2011

MACAM-MACAM OPERATOR


MACAM-MACAM OPERATOR

Operator
Operator digunakan untuk menyatakan suatu perhitungan/operasi.Operator dapat terbagi atas: Operator penugasan, Operator aritmatika, Operator hubungan (perbandingan), Operator logika, Operator bitwise dan operator unary.

Operator Penugasan
Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama dengan (“=”). Contoh operator penugasan: nilai = 50; z = x * y;. Artinya: variabel “nilai” diisi oleh 50 dan variabel “z” diisi oleh hasil perkalian x dan y

Operator Aritmatika
Dalam bahasa C disediakan lima operator aritmatika, yaitu:
• * : untuk perkalian
• / : untuk pembagian
• % : untuk sisa pembagian (modulus)
• + : untuk pertambahan

Operator Hubungan (Perbandingan)
Operator Hubungan digunakan untuk membandingkan hubungan antara dua
buah operand (sebuah nilai atau variabel).
Operator Logika
Jika operator hubungan membandingkan hubungan antara dua buah operand, maka operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan. Operator logika ada tiga macam,yaitu :
a) && : Logika AND (dan)
b) || : Logika OR (atau)
c) ! : Logika NOT (ingkaran)

Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori.Operator bitwise dalam bahasa C :
_ << : Pergeseran bit ke kiri
_ >> : Pergeseran bit ke kanan
_ & : Bitwise AND
_ ^ : Bitwise XOR (exclusive OR)
_ | : Bitwise OR
_ ~ : Bitwise NOT

Operator Unary
Operator Unary merupakan operator yang hanya membutuhkan satu operand saja. Dalam bahasa C terdapat beberapa operator unary yang sering digunakan.

Reference : http://www.scribd.com/doc/29380764/Modul-Algoritma-Pemrograman-Bahasa-C- Tipe-Data-Operator-Kondisi-Dan-Perulangan

Macam-Macam Tipe Data

Macam-Macam Tipe Data

1. Tipe data Integer / Ordinal
Tipe data ini adalah tipe data yang berupa bilangan bulat yang akan digunakan untuk operasi matematika. Ada beberapa tipe data yang termasuk integer, yaitu antara lain:

a. ShortInt : memiliki nilai range -128 sampai 127 (signed 8-bit)
b. SmallInt : memiliki nilai range antara – 32768 sampai dengan 32767 (signed 16-bit)
c. LongInt : memiliki nilai range -2147483648 sampai 2147483647 (signed 32-bit )
d. Int64 : memiliki range -263+1 sampai 263-1 (signed 64-bit)
e. Byte : memiliki nilai range 0 sampai 255 (unsigned 8-bit)
f. Word : memiliki nilai range 0 sampai 65535 (unsigned 16-bit)
g. LongWord : memiliki nilain range 0 sampai 4294967295(unsigned 32-bit )

2. Tipe data Boolean
Tipe data ini hanya terdiri dari nilai logika True dan False. Ada beberapa jenis dari tipe Boolean ini, yaitu:

a. Boolean : berukuran 1 byte (false 0, true 1)
b. ByteBool : berukuran Byte (false 0, true 255 – 8 bit)
c. Bool : berukuran Double (false 0, true -1)
d. WordBool : berukuran Word (false 0, true 65535 – 16 bit)
e. LongBool : berukuran Double (false 0, true -1)

3. Tipe data Floating Point /Real
Tibe data ini meliputi bentuk bilangan desimal. Beberapa bentuk dari tipe data ini adalah:

a. Real : memiliki range 2.9 x 10-39 sampai 1.7 x 1038
b. Single : memiliki range 1.5 x 10-45 sampai 3.4 x 1038
c. Double : memiliki range 5.0 x 10-324 sampai 1.7 x 104392
d. Extended : memiliki range 3.6 x 10-4951 sampai 1.1 x 104392
e. Currency : memiliki range -922337203685477.5808 sampai 922337203685477.5808
f. Comp : memiliki range -263+1 sampai 263-1

4. Tipe Data Enumerated
Tipe data ini adalah berupa nilai urutan dari data yang telah dibuat.

5. Tipe data Sub Range
Tipe data ini memungkinkan kita membuat range sendiri.

6. Tipe data String dan Character
Tipe data String adalah tipe data yang merupakan rangkaian dari huruf, angka atau symbol yang tidak mengandung harga (nilai).

Beberapa tipe data string adalah sebagai berikut:
a. ShortString : Dapat menampung 255 karakter (ANSIChar)
b. AnsiString : Dapat menampung ~231 karakter (ANSIChar)
c. WideString : Dapat menampung ~230 karakter (WideChar)
d. String : Dapat menampung 255 karakter (ANSIChar)

Tipe data Character adalah tipe data yang berkaitan dengan karakter ( huruf, angka, symbol). Ada beberapa tipe data dari Character yaitu:

a. ANSIChar : Satu karakter ANSI
b. WideChar : Satu karakter Unicode
c. Char : Sama dengan ANSIChar


Referensi :

http://wartawarga.gunadarma.ac.id/2010/03/macam-tipe-data/