Minggu, 12 Januari 2014

NOTASI PREFIX,INFIX,DAN POSTFIX

Notasi Prefix,Infix, dan Postfix


Dalam struktur data yang kita pelajari secara umum ada 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika,yaitu Prefix,Infix,dan postfix.Dan untuk mengetahui notasi-notasi yang diatas itu,sebelumnya kita harus mengenal dan mengetahui indikator yang ada di notasi itu tersebut.

    Notasi ini terbentuk dari Operand dan Operator.
Operand adalah data atau nilai yang membantu dalam proses,sedangkan Operasi adalah fungsi yang digunakan dalam proses.



contohnya:
A+B*C
2 + 5 * 3
Keterangan: A ,B ,C ,2 ,3 ,5 adalah Operand.
+,*  adalah Operator.

   Setelah kita mengenal dan mengetahui dengan Operand dan Operator, maka mari kita mengenal juga tingkat/ level yang ada didalam notasi tersebut:
-( ) (Kurung).
- ^ (Pangkat).
- * / (Perkalian / Pembagian).
- + - (Penjumlahan / Pengurangan).

Notasi ada 3 jenis, yaitu Prefix,Infix dan Postfix yang seperti kita ketahui di atas:

1.Prefix adalah notasi yang terbentuk atas operator dengan operand, dimana oprator didepan operand.
   contoh: A + B * C (infix).
   maka notasi prefixnya adalah: +A*BC.

   Pemecahannya:

                A+B*C

        Diketahui ada 3 operand yaitu: A, B, C dan 2 operand yaitu: +, *.proses dimulai dengan melihat dari hirarkhi oprator.Contoh diatas operator yang tertinggi adalah * kemudian +. Tanda * diapit oleh 2 operand yaitu B*C, prefixnya dengan menggabungkan operand dan memindahkan operator ke depan dari operand,sehingga fungsi B*C, notasi prefixnya menjadi *BC.

Sehingga hasil sementara dari notasi prefix adalah:
      A+*BC

        Selanjutnya mencari prefix untuk operator yang berikutnya yaitu  +, cara yang dilakukan sama seperti diatas, operator + diapit oleh operand, yaitu A dan *BC, gabungkan operand,sehingga menjadi A*BC,lalu pindahkan operator kedepan operand,sehingga hasil akhir menjadi :
     +A*BC.


2.Infix adalah notasi yang membentuk atas operator dengan operand,dimana operator berada diantara operand.
   Contoh :          
                 - A + B * C
                 - (A + B) * C
                 - A - (B + C) * D ^ E


3.Postfix adalah notasi yang membentuk atas operator dengan operand, dimana operator berada dibelakang operand.
   Contoh : A + B * C ( infix).
maka notasi postfix adalah ABC*+.

Pemecahannya:

                  A + B * C

     Diketahui ada 3 operand yaitu : A,B,C dan 2 operator yaitu : +, *. proses dimulai dengan melihat dari hirarkhi operator.Contoh diatas operator yang tertinggi adalah * kemudian +.


Tanda * diapit oleh kedua operand yaitu B dan C yaitu B*C, postfix dengan menggabungkan operand B dan C menjadi BC,lalu memindahkan operator ke belakang operand C, sehingga fungsi B*C, notasi postfixnya menjadi BC*.Sehingga hasil sementara dari notasi postfix adalah A + BC*

      Selanjutnya mencari postfix untuk operator yang berikutnya, yaitu +, dengan cara yang dilakukan sama seperti di atas, operator + diapit oleh 2 operand, yaitu : A dan BC* gabungkan operand tersebut,sehingga menjadi ABC*,lalu pindahkan operator + kebelakang operand ABC*.
Sehingga hasil akhir  menjadi :   ABC*+.

contoh Notasi Huruf :


Contoh Notasi Angka:

QUEUE(Antrian)

A.    Pengertian Queue (Antrian)
Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran elemen dilakukan pada sisi depan.
Jenis struktur data antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Antrian banyak dijumpai dalam kehidupan sehari-hari. Misal : antrian registrasi mahasiswa, tiket kereta api dan lain-lain.
Berbeda dg stack, prinsip yg digunakan dalam antrian adalah FIFO ( First In First Out ). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya.
Dalam antrian tidak semuanya dilakukan secara FIFO murni, contoh yg relevan dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah penakai ( user ) yg menggunakan sistem tsb secara serempak. Karena sistem ini biasanya menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang user, maka user yang lain harus antri sampai gilirannya.
           
Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas tertentu. Antrian yang memasukkan unsur prioritas dinamakan dengan ANTRIAN PRIORITAS ( PRIORITY QUEUE )
Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya. DEQUEUE adalah mengeluarkan satu elemen dari suatu antrian. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya sehingga membutuhkan variabel Head dan Tail
           
Deklarasi Queue :

B.     Operasi dalam Queue
1.       Create ( )
a.       Untuk menciptakan dan menginisialisasi Queue
b.      Dengan cara membuat Head dan Tail = -1
2.      IsEmpty ( )
a.       Untuk memeriksa apakah Antrian sudah penuh atau belum
b.      Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
c.      Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
d.    Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail
3.      IsFull
a.       Untuk mengecek apakah Antrian sudah penuh atau belum
b.      Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh 
4.      Enqueue (data)
a.       Untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu ditambahkan di elemen paling belakang.
b.      Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail
5.      Dequeue()
a.       Digunakan untuk menghapus elemen terdepan/pertama dari antrian
b.      Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan.
c.       Penggeseran dilakukan dengan menggunakan looping
6.      Clear()
a.       Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
b.      Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya 
7.      Tampil
a.       Untuk menampilkan nilai-nilai elemen antrian
b.      Menggunakan looping dari head s/d tail
 

sumber :  isasisteminformasi.blogspot