Welcome

Selamat Datang Gan

Kamis, 12 Januari 2012

Bahasa PemrogramanTurbo Pascal

            Pengenalan Pascal
          Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman tingkattinggi menandakan bahwa Pascal banyak menggunakan bahasa manusia dalam penulisansintaksnya.Beberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu BASIC dan DELPHI.

            Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masihbanyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih “kotor”. Beberapabahasa pemrograman tingkat rendah yang sering digunakan adalah C, C++ dan Java.Mari kita melihat perbedaan antara bahasa Pascal dan C untuk pembanding dalam sintaks yang digunakan:
            
             PASCAL
uses crt;
var a : integer;
begin
clrscr;
writeln('Masukkan nilai antara 0 sampai 100 : ');
readln(a);
if a > 5 then begin
writeln('Nilai a lebih besar dari 5');
writeln('Tekan sembarang tombol untuk keluar');
end
else begin
writeln('Nilai a lebih kecil atau sama dengan 5');
writeln('Tekan sembarang tombol untuk keluar');
end;
readkey;
end.

            C

#include <stdio.h>
#include <conio.h>
int a;
void main() {
clrscr();
printf(“Masukkan nilai antara 0 sampai 100 : “);
scanf(“%d”, &a);
if (a > 5) {
printf(“Nilai a lebih besar dari 5\nTekan sembarang tombol untuk keluar”);
} else {
printf(“Nilai a lebih kecil atau sama dengan 5\nTekan sembarang tombol
untuk keluar”);
}
getch();
}

           Dua penggalan program di atas akan menghasilkan program yang sama persis yaitu meminta sebuah input berupa angka antara 0 sampai 100. Kemudian sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan. Dari 2 bahasa tersebut, dapat dilihat bahwa dalam bahasa Pascal lebih sederhana danlebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa C, lebih banyakpenggunaan simbol.

              Turbo Pascal dan C merupakan program compiler. Compiler sendiri berarti program
yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapatdimengerti oleh komputer. Proses yang dilakukan disebut compile atau compiling. Suatuprogram dapat di-compile dengan menggunakan kombinasi tombol Alt + F9. Sedangkanuntuk menjalankan program, tombol yang dapat digunakan adalah Ctrl + F9. Bila selamaproses compile terdapat error atau kesalahan dalam penulisan program, maka TurboPascal atau C akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat memperbaikinya di halaman editor.

           Turbo Pascal merupakan bahasa yang case insensitive yang berarti penulisan dalam hurufkapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada C yang case sensitive,maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan.Untuk pembahasan berikutnya, kita akan menggunakan program Turbo Pascal dengan bahasa pemrograman Pascal sebagai pengantar contoh. Perlu diingat bahwa bila anda telah  menguasai satu bahasa pemrograman, maka anda akan dengan cukup mudah berpindah ke bahasa pemrograman lainnya selama anda memiliki dasar algoritma dan logika yang baik. Oleh sebab itu, pada pembahasan yang selanjutnya, yang akan ditekankan adalah algoritma dan logika, bukan sintaks dan function / procedure yangterdapat dalam Turbo Pascal. Function atau procedure yang telah disediakan oleh TurboPascal dapat anda pelajari sendiri penggunaannya melalui Help yang terdapat di TurboPascal.

               Struktur kode
           Pada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar programtersebut dapat menjalankan (compile) suatu program dengan baik tanpa error. Strukturutama pada Turbo Pascal adalah sebagai berikut.

program ... ; {deklarasi nama program}
uses ... ; {deklarasi penggunaan unit}
label ... ; {deklarasi label}
const ... ; {deklarasi konstant}
type ... ; {deklarasi tipe data}
var ... ; {deklarasi variabel}
procedure ... ; {deklarasi procedure}
function ... ; {deklarasi function}
begin
statement; {program ditulis di sini}
...
end.

             Tulisan yang diapit oleh tanda kurung kurawal {} adalah comment dan tidak dianggap sebagai bagian program ketika di-compile oleh compiler. Pada baris pertama, anda dapatmendeklrasikan nama program. Umumnya untuk mengefisiensikan pengerjaan suatu program (khususnya pada lomba), baris pertama dapat diacuhkan atau dilewatkan.Baris kedua yaitu “USES” merupakan deklarasi penggunaan unit dalam Turbo Pascal. Unit merupakan bagian dari program yang berisi kumpulan function dan procedure.

      Contoh fungsi yang banyak digunakan adalah CRT, dengan function yang terdapat di dalamnyayaitu clrscr dan readkey. Anda dapat menjalankan suatu program tanpa menggunakanUSES, akan tetapi anda hanya dapat menggunakan function dan procedure yang sudahterkandung secara native dalam Turbo Pascal. Contohnya anda tidak dapat menggunakanclrscr atau readkey tanpa CRT, tetapi bisa menggunakan writeln dan readln tanpa CRTtersebut karena CRT merupakan unit untuk pengolahan output ke layar dan input dari keyboard.

              Label digunakan bersamaan dengan keyword GOTO. GOTO sendiri jarang digunakan
karena tidak efisien dan cenderung membingungkan penggunanya. Const digunakan untuk mendeklarasikan suatu konstan. Konstan merupakan suatu keyword yang memiliki nilai tertentu. Misalnya bila anda mendeklrasikan PI sebagai 3.14, maka ketika anda menggunakan PI pada baris program, PI akan digantikan dengan 3.14. Type digunakan untuk mendeklarasikan suatu tipe data baru dari tipe data yang sudah adasebelumnya. Berguna ketika harus menggunakan pointer. Var digunakan untuk mendeklarasikan suatu variabel. Variabel yang dideklarasikan harusmemiliki tipe data tertentu. Penjelasan dalam penggunaan variabel akan dibahas di bagianberikutnya.

        Procedure dan function merupakan sub-program. Procedure tidak mengembalikan nilai, sedangkan function mengembalikan nilai. Procedure dan function mengandung suatu penggalan program yang dapat dipanggil oleh program utama atau sub-programyang lainnya. Bila anda belum mengerti maksud dari “mengembalikan nilai” maka anda dapat membayangkan bahwa hasil dari function dapat dimasukkan ke dalam suatu variabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu potongan program.

       Contoh procedure adalah writeln dan clrscr karena kedua procedure tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah “sqrt”yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan.
Sebagai informasi: “procedure” adalah istilah yang digunakan pada Pascal. Pada bahasapemrograman yang lainnya, biasa disebut “function yang tidak mengembalikan nilai” atau“void function”.
Program utama yang akan dijalankan oleh Turbo Pascal dapat ditulis diantara BEGIN
sampai dengan END.

            Variabel dan tipe data
         Terdapat beberapa tipe data yang dapat dipergunakan dalam suatu variabel, di antaranya adalah (beserta range yang dapat diterima):
  1. Integer
    Integer (-2^15 sampai 2^15), word (0 sampai 2^16), shortint (-2^7 sampai 2^7), byte (0 sampai 2^7), longint (-2^23 sampai 2^23)
  2. Float / Real
    Real (6 byte), singel (4 byte), double (8 byte), extended (10 byte), comp (8 byte)
  3. Boolean
    Bernilai TRUE atau FALSE (1 atau 0)
  4. Char
    Merupakan integer yang telah dikonversikan ke kode ASCII.
  5. Array
    Merupakan deretan suatu variabel yang bertipe data sama. Pembahasan yang lebihlengkap akan terdapat di bagian tersendiri. String merupakan array dari char.

            Algoritma dasar

         Pada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman yaitu:
  1.  Operator
  2. Input/output: Bagaimana meminta suatu input dan menampilkan suatu output.
  3. Selection: Bagaimana membuat program yang dapat memilih bagian yang akn dijalankan.
  4. Repetition / looping: Bagaimana membuat program yang dapat mengulang suatubagian program yang dijalankan.
          Operator
        Dalam bahasa pemrograman, sebuah proses dibagi menjadi 2 yaitu operand dan operator. Operand dapat berupa variabel atau nilai. Sedangkan operator merupakan tanda-tandayang dipakai untuk mengolah.Terdapat banyak jenis operator, tapi 4 jenis yang perlu dipelajari untuk saat ini adalah assignment operator, arithmatic operator, comparison operator, logical operator.
  •  ssignment operator ditandai dengan :=, dan digunakan untuk memberi nilai ke suatuvariabel.
  • Arithmatic operator ditandai dengan *, /, +, -, div, mod. Digunakan untukpengolahan nilai matematika.
  • Comparison / Relational operator ditandai dengan =, <, >, <=, >=, <>, dan IN.
    Digunakan untuk perbandingan 2 nilai sehingga menghasilkan nilai true dan false.
  • Logical operator ditandai dengan AND, OR, XOR dan NOT. Digunakan untukperbandingan logika antara dua pernyataan atau lebih.
          Penting: penggunaan = dan := harus diperhatikan karena penggunaan operator ini
terkadang salah tempat.

          Input Output:
          Terdapat 2 jenis input/output secara umum yaitu layar/keyboard dan file. Input menggunakan readln() dan read(). Dalam penggunaan melalui keyboard, kedua procedure ini tidak berbeda. Akan tetapi bila input berasal dari file, kedua procedure akan berbeda dalam mengambil input. Readln() akan mengambil input dalam suatu baris,kemudian cursor akan dipindahkan ke baris selanjutnya. Pada read() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke sebelah bagian yang diinput. Bila tidak ada lagi bagian yang dapat diinput, maka cursor baru dipindah kebawah.

          Output menggunakan writeln() dan write(). Penggunaannya hampir sama dengan yangread() dan readln(). Pada writeln dan write, keduanya akan berpengaruh baik di filemaupun di layar.

Contoh program:

uses crt;
var a,b: integer;
begin
clrscr;
write('Masukkan bilangan antara 1 - 100: ');
readln(a);
b:= a * 2;
writeln('Bilangan yang dimasukkan adalah ', a);
writeln('Bilangan setelah dikali 2 adalah ', b);
readkey;
end.

          Rangkuman Selection
        Selection merupakan salah satu proses program di samping sequential (pengerjaan secaraberurut) dan repetition / looping. Dalam selection, program akan memilih bagian yangakan dijalankan (sehingga terdapat bagian yang tak dijalankan).Umumnya selection menggunakan IF ... THEN ... ELSE ..., akan tetapi terdapat pula CASE... OF. Penggunaan IF lebih umum digunakan bila terdapat pilihan yang tidak terlalubanyak dan eksekusi baris program yang panjang.Blok pertama untuk IF dijalankan bila condition yang digunakan bernilai TRUE,sedangkan blok ELSE dijalankan bila nilai conditionnya adalah FALSE.

Contoh:

uses crt;
var bil1, bil2: integer;
begin
clrscr;
write('Masukkan bilangan 1 : ');
readln(bil1);
write('Masukkan bilangan 2 : ');
readln(bil2);
Pengantar Bahasa Pemrograman Pascal Page 8 / 11
if bil1<bil2 then begin
writeln('Bilangan 1 lebih kecil');
end
else begin
writeln('Bilangan 2 lebih kecil');
end
readkey;
end.

        Penggunaan IF dapat dikombinasikan sehingga suatu blok IF dapat menampung blok IFyang lainnya (nested selection). Penggunaan IF tidak selalu harus selalu bersama ELSE(simple selection). IF juga dapat digunakan lebih dari satu kondisi setelah ELSE (linearselection) atau pada IF yang sama menggunakan operator logika / logical operator(combined selection). Contohnya adalah seperti baris program di bawah:

if (condition1) then begin
if (condition2) then begin
statement1;
stetement2;
end
else if (condition3) then begin
statement3;
statement4;
end
else begin
statement5;
end;
statement6;
statement7;
if (condition4) then begin
statementx;
statementy;
end;
end
else if (conditionx AND conditiony OR conditionz) begin
statement01;
statement02;
end;

Penting: Ada baiknya setiap blok IF selalu dipisahkan dan ditandai dengan spasi kosongatau menggunakan TAB untuk menghindari kebingungan dalam pembuatan blokstatement.

              Rangkuman Repetition / Looping
        Repetition dapat digunakan untuk menjalankan suatu bagian program secara berulangulangsesuai dengan kondisi yang ada.Looping pada Pascal menggunakan beberapa keyword seperti FOR...DO, WHILE...DO danREPEAT...UNTIL.
          FOR...DO dipergunakan ketika nilai yang akan digunakan sudah diketahui dengan nilaiyang ada di dalamnya selalu ditambah atau dikurangi satu ketika mengalami perulangan.

Sintaks:
FOR variable := startindex (TO/DOWNTO) endindex DO BEGIN
statement;
END;

      Dari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu TO danmDOWNTO. TO akan menghasilkan nilai incremental atau penambahan satu setiap kaliterjadi perulangan. Sedangkan DOWNTO akan menghasilkan nilai decremental ataupengurangan satu setiap kali terjadi perulangan.

Contoh penggunaan FOR...DO:

for i:=1 to 10 do begin
write(i,' ');
end;
for j:=10 downto 1 do begin
write(j,' ');
end;

          WHILE...DO dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selamakondisi masih bernilai TRUE, maka perulangan akan dilakukan terus.

Sintaks:
WHILE (condition) DO BEGIN
statement;
END;
Contoh penggunaan WHILE...DO:
i:=10;
while i>2 do begin
i:=i-2;
writeln(i);
end;

         REPEAT...UNTIL berfungsi hampir sama dengan WHILE...DO. Pada REPEAT...UNTIL,looping akan berhenti justru ketika kondisi bernilai TRUE. Selain itu kondisi akan diujipada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satukali walaupun kondisi yang ada masih FALSE.

Sintaks:

REPEAT
statement;
UNTIL (condition);

Contoh penggunaan REPEAT...UNTIL:
i:=10;
repeat
i:=i-3;
writeln(i);
until i<1;

        Dari penggalan program di atas, dapat dilihat bahwa REPEAT...UNTIL tidak memerlukanBEGIN dan END untuk menjalankan suatu blok statement.

TIPS: Gunakan variabel i, j, k, dan seterusnya untuk menandai indeks perulangan

Tidak ada komentar:

Posting Komentar

Entri Populer