Disusun oleh :
Nama : Ida Bagus Ngurah Gede Suwambara
NIM : 120030079
Kelas : F123
Struktur Data
Bab 2 Pembahasan
2.1
2.2
2.3
2.4
2.5
Code ...
3.2
Output .....
13
Sumber
14
Struktur Data
Struktur Data
BAB 1
PENDAHULUAN
Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar
bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta
atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam
bentuk tulisan, suara, gambar, sinyal atau simbol. Struktur data dapat di artikan juga sebagai
representasi data pada memory secara logika dan meng-karakterisasikan setiap variabel
dalam program secara eksplisit ataupun implicit. Untuk operasi yang dibolehkan/berlaku
pada object data tersebut sehingga sangat diperlukan dalam perencanaan Algoritma dan
penyusunan program sebagai dasar teknik dari Database.
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih
efisien dan sederhana.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom
data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya
digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari
kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat
berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan
dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur
data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan)
atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh
struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data
(database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas
dengan teknik tertentu yang memanfaatkan struktur data.
Pada makalah ini saya akan menjelaskan lebih lanjut tentang konversi aritmatika dari Infiks,
Postfiks dan Prefiks.
Struktur Data
Page 1
BAB 2
PEMBAHASAN
Notasi Infiks
Struktur Data
Page 2
Adalah notasi yang terbentuk atas operator dengan operand, dimana operator berada
diantara operand. Notasi ini selalu digunakan dalam perhitungan aritmatika.
Notasi Postfiks
Adalah notasi yang terbentuk atas operator dengan operand, dimana operator berada
dibelakang operand. Notasi ini hanya dikenal oleh processor dan dipahami dalam ALU.
Notasi Prefiks
Adalah notasi yang terbentuk atas operator dengan operand, dimana operator berada didepan
operand.
String infiks merupakan suatu ekspresi infiks tak bertanda kurung valid.
Struktur Data
Page 3
Tingkat Kekuatan
Nama
5
Variabel, Konstanta
4
Sign
3
Pangkat
2
Kali dan Bagi
1
Tambah dan Kurang
Langkah-langkah konversi notasi infliks ke notasi postfiks
Simbol
A..Z,0..9
-, +
^
*, /
+, -
Scan simbol dari kiri ke kanan ekspresi infliks dan setiap kali scan simbol infliks bandingkan
simbol yang di-scan dengan simbol yang ada pada Stack (posisi TOP) saat itu:
-
Jika tingkat kekuatan simbol di Stack lebih besar atau sama dengan tingkat
kekuatan simbol yang di scan maka simbol yang di stack disambung (concate)
dengan string postfiks.
Jika tingkat kekuatan simbol di Stack lebih kecil dengan tingkat kekuatan simbol
yang di scan atau Stack kosong maka simbol yang di scan dimasukkan (PUSH)
ke dalam Stack.
Jika infliks telah kosong maka POP semua isi Stack satu persatu dan Concate
dengan string postfiks.
Contoh : 5*2+4^3/8-7
52*43^8/+7-
Simbol di-Scan
Struktur Data
5
*
2
+
4
Simbol di-Scan
^
3
/
8
7
Isi Stack
#
#
#*
#*2
#+
#+4
Isi Stack
#+^
#+^3
#+/
#+/8
#Page 4
#-7
#
Postfiks
5
5
52*
52*
Postfiks
52*4
52*4
52*43^
52*43^
52*43^8/+
52*43^8/+7
52*43^8/+7-
Prioritas karakter di
scan (fungsi f)
A..Z,0..9
*, /
+, -
Struktur Data
Page 5
Jika prioritas simbol di Stack (fungsi g) lebih besar dengan prioritas simbol yang
di scan (fungsi f) maka simbol yang di Stack disambung (Concate) dengan
string Postfiks.
Jika tingkat kekuatan simbol di Stack lebih kecil atau sama dengan tingkat
kekuatan simbol yang di scan atau Stack kosong maka simboll yang di scan
dimasukkan (PUSH) ke dalam Stack.
Contoh: (( 5*((2+4)^3))/(8-7))
Simbol di-Scan
(
(
5
*
(
(
2
+
4
)
^
3
Simbol di-Scan
)
)
/
(
8
7
)
Struktur Data
524+3^*87-/
Isi Stack
#
#(
#((
#((5
#((*
#((*(
#((*((
#((*((2
#((*((+
#((*((+4
#((*(
#((*(^
#((*(^3
Isi Stack
#((*
#(
#(/
#(/(
#(/(8
#(/(#(/(-7
#(/
Page 6
Postfiks
5
5
5
5
5
52
52
524+
524+
524+
Postfiks
524+3^
524+3^*
524+3^*
524+3^*
524+3^*
524+3^*8
524+3^*8
524+3^*87-
524+3^*87-/
Struktur Data
Page 7
3
Operator Prefiks
Postfiks
Lakukan substitusi untuk memperoleh notasi yang selengkapnya untuk notasi Prefiks dan
Postfiks.
Prefiks
: -3E = -+A2E = -+A/1DE = -+A/*BCDE
Postfiks
: 3E- = A2e- = A1D/E- = ABC*D/E
C. Konversi Notasi Prefiks ke Notasi Infiks dan Postfiks
Konversi notasi prefix ke notasi infiks atau postfiks dilakukan dengan cara mengambil
operator mulai dari kanan ke kiri kemudian diikuti dengan mengambil dua operand
sebelumnya. Tapi untuk notasi infiks harus dituliskan dalam pasangan buka tutup kurung.
Misalnya : -+A/*BCDE
Operator *
ambil dua operand sebelumnya : B dan C
Infiks
: (B*C)
Postfiks
: BC*
1
Maka ekspresi di atas menjadi : -+A/1DE
Operator /
ambil dua operand sebelumnya : 1 dan D
Infiks
: (1/D)
Postfiks
: 1D/
2
Maka eskpresi di atas menjadi : -+A2E
Operator +
ambil dua operand sebelumnya : A dan 2
Infiks
: (A+2)
Postfiks
: A2+
3
Maka ekspresi di atas menjadi : -3E
Operator Infiks
Postfiks
Struktur Data
Page 8
Lakukan substitusi untuk memperoleh notasi yang selengkapnya untuk notasi infiks dan
postfiks.
Infiks
Postfiks
Struktur Data
Page 9
Lakukan substitusi untuk memperoleh notasi yang selengkapnya untuk notasi infiks dan
prefiks.
Infiks
Prefiks
BAB III
CONTOH PROGRAM KONVERSI INFIKS KE POSTFIKS DALAM
BAHASA C++
Code :
Struktur Data
Page 10
Struktur Data
Page 11
Struktur Data
Page 12
Struktur Data
Page 13
Struktur Data
Page 14
Output
Struktur Data
Page 15
SUMBER
Lamhot Sitorus, David J.M. Sembiring, 2012, Konsep dan Implementasi Struktur
Data dengan C++, Andi Offset, Yogyakarta
Struktur Data
Page 16