Kamis, 15 September 2011

Komponen-komponen Program Pascal

Untuk mempelajari program komputer agar dapat membuat program dengan benar dan dapat mengembangkannya,langkah pertama yang harus diketahui adalah mengenai struktur dari program, langkah kedua adalah elemen-elemen pembentuk program tersebut.
                Suatu program pascal dapat mempunyai elemen-elemen sebagai berikut:
1.       Symbol-simbol dasar (basic symbol)
2.       Kata-kata cadangan (reserved words)
3.       Pengenal yang didefinisikan oleh pemakai (user define identifier)
4.       Data
5.       Karakter kontrol (control character)
6.       Tanda operasi (operator)
7.       Komentar program (comment)
8.       Statemen (statement)
9.       Prosedur (procedure)
10.   Fungsi (function)


Okey, yang mau kita bahas sekarang, operator..,
*hello anda terhubung dengan operator,,
oh no, bukan yang itu say,,
as you can see in the beginning,
operator disini,
tanda-tanda operasi,
tapi bukan kaya operasi mba dokter atau mas dokter loh..,,
yang ini beda.
*yaeyalah..,
oke dech kaka..
check this out!! .

Tanda operasi (operator) di dalam bahasa pascal khususnya, dikelompokkan kedalam 9 kategori,yaitu:

1.       Assigment Operator
Assigment operator (operator pengerjaan), adalah instruksi primitif algoritmik untuk menyimpan harga pada suatu nama informasi yang isinya boleh bervariasi (“variabel”), atau dengan perkataan lain adalah memberikan harga pada suatu nama variabel. Dengan pemberian harga ini, harga lama yang disimpan tidak lagi berlaku, yang berlaku adalah harga paling akhir yang diberikan. Notasialgoritmik untuk assignment adalah seperti berikut:




Dengan syarat:
bagian kiri dan bagian kanan tanda pemberian harga (← ) bertype sama
<nama> dan <nama1> (bagian kiri tanda ← ) harus merupakan nama informasi, tidak boleh nama konstanta, type, fungsi atau prosedur
nama yang tertulis di bagian kanan tanda ← (misalnya nama2 atau nama konstanta atau nama yang dipakai dalam ekspresi) boleh berupa nama informasi, nama fungsi, nama konstanta
semua nama yang dipakai dalam assignment tidak boleh berupa nama type atau nama prosedur

Pada bahasa pascal, menggunakan symbol titik dua diikuti oleh tanda sama dengan (:=).
Contoh:




2.       Binary Operator
Disebut dengan binary operator (tanda operasi biner) karena operator ini digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real . dapat dituliskan dalam 3 macam notasi, yaitu :

Notasi infix: operan1 operator operan2
Notasi prefix: operator operan1 operan2
Notasi suffix/Polish: operan1 operan2 operator

Contoh:
infix :
  13 * 5
  ((3 * 5) + (4 div 7) )- (a * b)
prefix :
  * 13 5
  - +* 3 5 div 4 7 * a b
suffix/Polish :
  13 5 *
  3 5 * 4 7 div a b * + -

   Tabel 2.1. Binary operator.

     
Contoh:
        Program 2.2. Penggunaan operator biner pada bahasa pemograman pascal.



Bila program ini dijalankan, akan didapat hasil:


        Operator Div digunakan untuk pembagian dengan hasil yang dibulatkan kebawah atau dengan kata lain semua pecahan dibuang. Jadi hasil pembagian 20 dengan 3 menggunakan operator Div akan dihasilkan niali 6. Operator Mod digunakan untuk menghasilkan sisa pembagian. Sisa pembagian 20 dengan 3 adalah 2.

       
3.       Unary Operator
Disebut dengan unary operator, karena operator ini hanya menggunakan sebuah operand saja. Unary operator dapat berupa unary minus dan unary plus. Unary minus adalah operator yang berupa tanda minus yang hanya digunakan pada sebuah numeric operand saja untuk menunjukkan nilai negative, baik pada operand numeric real maupun numeric integer. Unary plus adalah operator untuk member tanda plus.

        Contoh:



4.       Bitwise Operator
Bitwise operator digunakan untuk operasi bit per bit pada nilai integer.

        Tabel 4.1. Bitwise operator


·         Operator NOT
Operator yang digunakan untuk pembalikan bitwise, yaitu nilai bit 1 menjadi bit 0 dan sebaliknya nilai bit 0 menjadi bit 1.

Contoh:
Program 4.1. Penggunaan operator NOT pada bahasa pemograman pascal.




Bila program ini dijalankan, akan didapat hasil:



Nilai dari Not 0 adalah -1. Nilai 0 tersebut akan tersimpan di memori dengan bentuk bilangan binary:

0000000000000000

Operator Not akan membalik nilai-nilai bit (bit wise), yang bernilai 1 menjadi 0 dan sebaliknya yang bernilai 0 menjadi 1, sehingga Not 0 adalah:



Bit yang paling kanan adalah sign bit, bit yang menunjukkan tanda positip (bila nol adalah positip) atau negatip (bila satu adalah negatip). Pada contoh sign bit bernilai satu, berarti menunjukkan nilai negatip. Turbo pascal menggunakan cara komplemen dua (two complement.), yaitu bila nilainya negatip diartikan sebagai berikut:

Ø  Nilai tersebut dikurangi dengan nilai bit 1, sebagai berikut:
Ø  Kemudian semua nilai dibalik,sehingga didapat nilai:
Ø  Nilai 5 dalam bentuk bilangan binary adalah:
Ø  Nilai Not 5 berarti semua bit dibalik menjadi:
·         OperatorAND
Operator and digunakan untukmembandingkan dua buah elemen, hasulnya akan benar bila keduanya benar. Bila logika benar diberi symbol 1 dan logika salah diberi symbol 0, maka hubungan operator And tampak pada table sebagai berikut :

                               

Tabel 4.2 Hubungan operator And


Contoh:
Program 4.2. Penggunaan operator And pada bahasa pemograman pascal.


Bila program ini dijalankan, akan didapat hasil:

Operator And bekerja dengan membandingkan bit demi bit dari elemen-elemen yang dibandingkan sebagai berikut:

·         Operator OR
Operator OR digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila salah satu atau keduanya benar. Bila logika benar diberi symbol 1 dan logika salah diberi symbol 0, maka hubungan operator OR tampak pada table sebagai berikut :

Contoh:

Bila program ini dijalankan, akan didapatkan hasil:


·         Operator XOR
Operator  XOR digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila salah satunya saja yang benare. Bila logika benar diberi symbol 1 dan logika salah diberi symbol 0, maka hubungan operator XOR tampak pada table sebagai berikut :

       
5.       Relational Operator
Relational operator digunakan untuk membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe Boolean, yaitu true atau false.



Bila program ini dijalankan, akan didapatkan hasil:


6.       Logical Operator
Bentiuk operator ini sama dengan bitwise operator, tetapi penggunaannya lain. Logical operator bekerja dengan nilai logika, true or false



7.       Address Operator
Turbo pascal memberikan dua buah operator khusus yang berhubungan dengan alamat (address) di memori, yaitu addres-of operator (@) dan indirection operator (^). Operator @ akan menghasilkan alamat dari suatu nilai variabel dan operator ^ akan memberikan nilai di alamart yang ditunjukkan.

Contoh:


Bila Program ini dijalankan, akan didapatkan hasil:

Variabel Nama diisi dengan nilai string ‘Jogiyanto H.M’ dan pointer LetakNama diisi dengan alamat nilai yang dikandung oleh variabel Nama. Dengan demikian kedua statemen yang menggunakan prosedur standar WriteLn tersebut mempunyai arti dan hasil yang sama. Statemen WriteLn yang pertama akan menampilkan isi dari variabel Nama, yaitu nilai string ‘Jogiyanto H.M’ dan statemen WriteLn yang kedua akan langsung mengambil nilai string ‘Jogiyanto H.M’ terseut di memori tempat disimpannya.

8.       Set Operator
Set operator (operator himpunan) digunakan untuk operasi himpunan.

Tabel Set Operator
Operator
Operasi
+
Union
-
Perbedaan himpunan
*
Perkalian himpunan

Contoh:

Type
SetDigit     = set of 1..10;
SetHuruf   = set of char;
Var
Desimal                 : SetDigit;
Hexadesimal         : SetHuruf;
Begin
Hexadesimal         := Desimal + [‘A’..’F’];
End.

Hasil dari program penjumlahan ini adalah set ketiga yang mempunyai nilai anggota pertama dan anggota-anggota set ke-2. Misalnya union dari [1,2,3,4] dengan [3,4,5,6,7] hasilnya adalah [1,2,3,4,5,6,7].

9.       String Operator
String operator (operator string) digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabung duah buah nilai string.


Bila program ini dijalankan, akan didapat hasil;

        Arief Kurniawan





Berikutnya kita akan mengenal contoh-contoh tentang Array dan Record. So cekidot….eh salah, check this out!!
1.       ARRAY
Array sebagaimana string adalah sebuah variabel yang meyimpan sekumpulan data yang memiliki tipe sama. setiap data tersebut menempati lokasi atau alamat memori yang berbeda-beda dan selanjutnya disebut dengan elemen array. Elemen array itu kemudian dapat kita akses melalui indeks yang terdapat didalamnya.  Tetapi, berbeda dengan string yang hanya dapat menyimpan data bertipe karakter (char), maka array dapat digunakan untuk menyimpan berbagai tipe data seperti int, float, long dan lain sebagainya. Dengan demikian, dapat dikatakan bahwa array adalah tempat penyimpanan yang mempunyai bentuk yang lebih umum dari string.

adapun bentuk umum pendeklarasian array  pada pengunaan bahasa c++ adalah sebagai berikut:

tipe_data nama_array[jumlah_elemen];



sebagai contoh, jika kita ingin mendeklarasikan integer array (misalnya dengan nama LARIK) yang memiliki 25 elemen dengan tipe data int. maka pendeklarasiannnya adalah seperti yang tampak dibawah ini:
 
int LARIK[25];

ruang memori yang dibutuhkan untuk pendeklarasian array tersebut adalah 100 byte, yang berasal dari 25x4 byte (4 merupakan ukuran dari tipe data integer) sedangakn cara yang digunakan untuk mengakses elemennya adalah dengan menuliskan indeksnya. misalnya kita ingin mengambil nilai yang terdapat pada elemen ke-10 san menampung nilai tersebut kedalam sebuah variabel yang bertipe integer juga (misal X) maka sintax yang harus kita tulis adalah:

X=LARIK[9];                                                                                                        

kenapa 9? bukan 10?,, karena indeks array selalu dimulai dari 0, sehingga untuk mengakses elemen ke-10, maka indeks yang kita butuhkan adalah 10-1 yaitu 9.


 

·         Mengisikan nilai ke dalam elemen array
Untuk mengisikan nilai kedalam elemen  array, kita dapat melakukannya langsung seperti berikut:

A[0]=10
A[1]=20
A[2]=30
dst

namun cara ini tidak efisien, cara yang lebih umum adalah menggunakan pengulangan (looping). Cara ini akan lebih cepat, dibandingkan manual seprti diatas. Sebagai contoh, jika kita ingin melakukan pengisian 25 elemen array, maka kita dapat mnuliskan sintak seperti dibawah ini:

for(int C=0; C<25; C++){
                cout<<”A[“<<C<<”]=”;cin>>A[C];

·         Menampilkan nilai yang terdapat pada array
Berikut program yang akan mengisikan dan menampilkan nilai yang terdapat pada elemen array.

#include<iostream.h>

Int main()
{
//mendeklarasikan array A dengan 5 buah elemen bertipe int
Int A[5];

//mendeklarasikan nilai kedalam elemen array
Cout<<”masukkan nilai yang diinginkan”<<endl;
For(intC=0;C<5;C++)
                {
                cout<<”A[“<<C<<”]=”;cin>>A[C];
                }

Cout<<’\n’;

//menampilkan nilai yang terdapat pada elemen array
Cout<<”menampilkan niali yang telah dimasukkan”<<endl;
For(intJ=0;J<5;J++){
                Cout<<”nilai yang terdapat pada elemen ke-“<<J+1<<”
“<<A[J]<<endl;
}

return 0;
}

Bila program ini dijalankan, akan didapatkan hasil:

Masukkan nilai yang diinginkan
A[0]=     10
A[1]=     21
A[2]=     13
A[3]=     35
A[4]=     28

Menampilkan nilai yang telah dimasukkan
Nilai yang terdapat pada elemen ke-1    :               10
Nilai yang terdapat pada elemen ke-1    :               21
Nilai yang terdapat pada elemen ke-1    :               13
Nilai yang terdapat pada elemen ke-1    :               35
Nilai yang terdapat pada elemen ke-1    :               28



·         Array dua dimensi
      adalah array yang terdiri dari beberapa sub-script,yaitu baris dan kolom biasanya dipakai untuk pemrosesan matriks.bentuk umum array dua dimensi pada C++ adalah sebagai berikut:
     
tipe_data nama_array [jumlah_elemen_baris] [jumlah_elemen_kolom];

 misalnya jika kita akan melakukan penjumlahan matrix ordo 3x2, sintaksnya sebagai berikut:




Bila program ini dijalankan, akan didapatkan hasil:



 

·         Inisialisasi pada array multidimensi:

Bila program ini dijalankan, akan didapatkan hasil:





2.   RECORD
Pascal menyediakan suatu tipe data terstruktur yang disebut dengan record. Dengan tipe data record, dapat dikumpulkan beberapa item data yang masing-masing dapat mempunyai tipe data berbeda-beda. Masing-masing item data disebut dengan field. Jadi record terdiri dari kumpulan field yang dapat berbeda tipe. Biasanya suatu record berisi beberapa field untuk sebuah subyek tertentu. Misalnya record Langganan dapat terdiri dari field kode langganan, nama langganan, alamat langganan dan besarnya piutang.

Contoh 1:

Type
        Lgn = Record
                        Kode                     : integer;
                        Nama                    : string [35];
                        Alamat                  : string [45];
                        Piutang                 : real;
Var
        Langganan          : Lgn;


bila program ini dijalankan maka:

jari-hari lingkaran ? 10

keliling lingkaran = 62.83
luas lingkaran = 314.16


Dan yang terakhir kita bisa akan mengetahui tabel kode ASCII untuk menambah ilmu pengetahuan kita. Monggo dilihat… (klik untuk memperbesar)

  
            Semoga bermanfaat!
Jogiyanto H.M:  Turbo Pascal, Ando Offset, Yogyakarta.
Hartanto Budi: Pembuatan Program, Andi, Yogyakarta.

1 komentar:

  1. semua kode program harus diberi penjelasan dan sebutkan hasil keluaran program tersebut (contoh program array dan record)

    BalasHapus