JARINGAN PETRI
8. Event
Event adalah aksi yang terjadi dalam sistim tersebut. Kemunculan dari
event-event ini di kontrol oleh stata dari sistem tersebut. Stata dari sistem
dapat dijelaskan sebagai sekumpulan kondisi-kondisi.
b. Kondisi
Kondisi adalah predikat atau deskripsi lojik terhadap stata dari sistem.
Karenanya, suatu kondisi bisa hold (menjadi benar) atau not hold (menjadi
salah).
Karena event adalah aksi, maka event tersebut hams ada. Agar suatu
event terjadi, maka diperlukan adanya kondisi-kondisitertentu sebelumnya.
Hal ini disebut sebagai prekondisi dari event. Kemunculan dari event dapat
menyebabkan timbulnya kondisi lain, yang disebut sebagai post kondisi,
menjadi benar.
Contoh 1 :
Pemodelan terhadap suatu mesin toko. Mesin tersebut menunggu hingga
munculnya suatu order yang kemudian memproses order tersebut serta
mengirimkan untuk pengantaran.
Kondisi-kondisi untuk sistem tersebut diatas adalah :
32
a.
b.
::H:::::::::BIIIIIIIIt:::::m:
:::::::::::'::::::::::::::::::::::::::::::::::11I.:::::::::::::::;::::j:::::::I:::::::::
.......................................................................................................................................... 1:'/',1:11',1'::::111:111111111::':::::'1::::,1:11":':,:'
:;:::::::::::::=::::::::::::;::::::::::::::::;::::::::::::::;:;:;:;::::::::::::::::::::::::::::;:::::::::;::::::::::;:::::::::::::::::::::
::i::i:i::i:;:::;:;:::::::j::::j:j:j:j:j:i:i:i:j:i:j:i:i:j:i:i:i:i:i:i:i:i:i:i:i:i:j:j:j:j:j:j:j;j:j:j::j::j::::::
Tidak ada
.a, b
3
4
'
'
c,
i@iUi.
. :.;::.. : ,':.::.}. .:: . .. """ :: ..:.::;:.:. .: .,::.. ::.'..:. }m:m;n
:::::i::i:;:;::i:}i::i:i::i::;::1::i:1:i:1:i:j:j:j:j:j:j:;:j:i:i:;:i@i:i@i:i:i:i:i:j:j:j:j:;:;:;:;:j:j:j:j:j:j:;
b
c
d, a
Tidak ada
. _.
u..
..
---
-.-..-.
An order
arrives
An order Processing
is waiting starts
Processing
is complete
The order
is complete
b.
c.
d.
Mesin Ml menganggur
e.
Mesin M2 menganggur
f.
Mesin M3 menganggur
g.
Operator Fl menganggur
h.
Operator F2 menganggur
k.
7.
35
Prekondisi-prekondisi
Tidak ada
a, g, d
Postkondisi-postkondisi
a
g, d, b
J
b, h, d
k
c, g, e
I
c, f, h
tidak ada
a, h, d
J
b, g, e
k
b, f, h
I
c
Gambar 3-2. Model jaringan petri dari sistem toko yang lebih rumit.
36
Contoh ,3 :
Ajob
is waiting
Ajub
is started
Ajob
;~ waiting
to be output
The nonprimilive
evenl SlarlS
The nonprimilive
event finishes
39
0-+--0
Gambar 3-5.
40
1',
Gambar 3-6.
Konflik. Transisi-transisi
tj dan tk konflik karena
penembakan salah satu transisi akan menghilangkan token
dari Pi dan tidak meng-enabled transisi lainnya.
,qk}
41
= qj dan r(qi,
0/0
011
III
R/R
I/O
Gambar 3-7.
42
b.
= {tq,(JI q E
I(tq,(J)
O(tq,a)
8 dan cr E L}
= {q,
= {o(q,
cr),
cr}
r (q,cr)}
43
Garnbar 3-8.
IVI
Garnbar 3-9. Mesin stata hingga untuk menghitung paritas dari suatu
bilangan biner input.
Di sarnping itu model Jaringan Petri memiliki keuntungan-keuntungan
tertentu dalarn mengkombinasikan beberapa mesin stata hingga. Sebagai
contoh, karena keluaran alfabet dari mesin pada garnbar 3,.8 adalah sarna
dengan masukan alfabet pada garnbar 3.10. Dengan menjalankan keluaran
dari 3-8 kedalarn masukan dalarn dari garnbar 3.10, kita dapat membuat
suatu mesin yang dapat menghitung two's cO!Illement negative dan
paritasnya.
45
Gambar 3.10 Jaringan Petri yang ekivalen ke mesin stata hingga dari
gambar 3-9.
Kombinasi dalam mesin stata ini sangat komplek, membutuhkan suatu
stata komposisidengan komponen-komponendari kedua mesin stata hingga
tersebut, yang hasilnya berupa suatu mesin cross-product. Gambar 3-11
menunjukkan mesin cross-product. Untuk mesin jaringan petri, komposisi
tersebut dilakukan dengan menumpang-tindihkan place-place output dari
jaringan pertama dengan place-place input dari jaringan kedua. Gambar 312 menunjukkankomposisi dari keduajaringan petri gmbar 3-8 dan gambar
3-10.Keuntunganlain dari representasijaringan petri adalah dapat membuat
bentuk komposisi yang lain dari sebelumnya. Sebagai contoh, suatu
komposisi yang paralel memungkinkan komponen mesin tersebut dapat
bekerja secara serempak. Untuk suatu mesin stata, sekali lagi melibatkan
mesin cross-product,sementaraitu untukjaringan petri, hanyalah melibatkan
penduplikatan tanda masukan yang menggambarkan simbol masukan dan
46
47
Gambar 3-12. Komposisi paralel ~ari gambar 3-8 dan 3-10. Suatu subJaringan duplikator diperlukan untuk menyediakan input
bagi kedua komponen Jaringan Petri.
48
-.-..-
...
.._u. __.
.. __
.....
mlat-mlatpadaregIsteroutputnya(buffer).
'eg..'..lmsl.:~.~'"4 '~
..
,~~
~~~,
..,'
_
~
. "~t'
. oil":'._
-.",. .
-t5
~006
t!..~
:~
:....
",
rr/"~
!-.p.'i
'
. ~",..;;-,j.:'
A -'~'#Ii'.~..
...-. -'
~ ...1'A
.
'#;' \(c:}~;.,
..t-":l/.
"~~'\""''"'.&t"1..
50
.
~.1/' 'A't;,,(.->,\'./
>-
;<\
'
~~
-.' .
". .
It"""
-~
4
.
~
...
~
t'~..
,',~;
Dalam hal ini, kontrol untuk tingkat k dari pipeline tersebut perlu
untuk tahu kapan kondisi berikutnya hold :
Register input penuh
Register input kosong
Register Output penuh
Register Output kosong
Unit dalam keadaan sibuk
Unit dalam keadaan menganggur
Transfer/copying sedang berlangsung
Gambar 3-13 dan Gambar 3-14 menunjukanbagaimana sebuah pipeline
yang tidak sinkronlasinkrondapat dimodelkan. Gambar 3-13 adalah sebuah
diagram blok dari pipeline yang dimodelkan sebagai jaringan petri seperti
pada gambar 3-14
Perlu diingat bahwa dalam model ini kita telah memodelkan eksekusi
yang aktual dari unit-unit pipeline sebagai event-event non primitive. Hal
ini membolehkan kita untuk mengabaikan, pada leveUni, detail-detail yang
specifik dari hal-hal yang dilakukan setiap unit dan mengkonsentrasikan
pada interaksinya yang memungkinkan.Setiap operasijuga dapat dibuatkan
model Jaringan Petrinya. Jaringan Petri untuk setiap unit dapat disubtitusi
kedalam Jaringan Petri dari gambar 3.19 untuk mendapatkanjaringan petri
yang lebih mendetail. Kemampuan untuk memodelkan suatu sistem pada
beberapa level abstraksi yang berbeda, dalam suatu cara yang hierarki,
dapat berguna sekali.
51
unit k
-1
Output
r~gistcr k
Input register k
Output register k
I:-:put r~gist~r k
-:
Gambar 3-13. Diagram blok dari control unit yang tidak sinkron untuk
komputer pipeline.
52
,,
Output or k
'ut or k - I empty
- I rull
Input or k empty
Input or k rull
'utput or k empty
Output of k full
,put of k + I full
Input uf k + I empty
'\.
'\.,
Gambar 3-14. Model Jaringan Petri dari unit kontrol suatu komputer
pipeline yang tidak sinkron.
53
3.3.3
1
1
3.20 menunjukkan sebuah porsi dari Jaringan Petri yang dapat digunakan
sebagai model eksekusi instruksi menggunakan unit u dan register i, j dan
k. Memodelkan seluruh unit kontrol tentunya akan membuktikan Jaringan
Petri yang besar.
i.
i.
and
Ie
Ready to decode
neJtt instruction
Unit u
is free
Register;
is free
Registeri
is free
Register Ie
is free
56
3.4.1
Flowchart
57
= y3 * y2 ;
y1 : =y1 - 1 ;
end;
y2 :
= y2 * y2 ;
y1 : =y1 - 2 ;
end;
output (y3) ;
end;
58
c/
('
Alesi
a
Interpretasi
Input (y1); Input (y2); y3
=1
y1 > 0 ?
Odd(y1) ?
y3 := y3 * y2 : y1 := y1 - 1
y2 := y2 * y2 ; y1 := y1 / 2
Output (y3)
60
Computation
T
Computation
T
3.4.2 Parallelisme
Parallelisme atau konkurensi dapat dinyatakan dalam beberapa cara.
Perhatikan kasus dua proses yang konkuren. Setiap proses dapat dinyatakan
oleh suatu Jaringan Petri. Jadi penggabungan Jaringan Petri merupakan
penggabungan dari Jaringan Petri untuk masing-masing proses
merepresentasikaneksekusikonkuren dari kedua proses tersebut. Penandaan
awal dari Jaringan Petri gabungan tersebut memiliki 2 token, satu pada
place yang merepresentasikan program counter awal dari suatu proses. Hal
ini menimbulkan suatu paralellisme yang tak dapat dinyatakan dalam suatu
flowchart, tetapi bukan merupakan sesuatu yang bermanfaat.
61
b.F
Operasi operasi ini dapat dimodelkan pada suatu jaringan petri yang
ditunjukkan pada gambar 3-19.
Usulan lain untuk memperkenalkanparallelisme adalah strukturkontrol
parbegin dan parend. Strukturkontrol ini diusulkan oleh djikstra dan bentuk
umumnya adalah parbegin SI;S2;S3; ;Sn parend, dimana Sj adalah
statement-statemen. Arti dari struktur parbegin/parend adalah untuk
mengeksekusi setiap statemen, SI,S2,S3, Sn secara paralel. Bentuk ini
dapat direprsentasikan dalam suatu jaringan petri yang ditunjukkan pada
gambar 3-20.
(a)
(b)
3.4.3 Sinkronisai
Paralellisme yang telah dijelaskan sebelumnya sangat berguna untuk
memecahkan suatu masalah hanya jika komponen dari proses dapat saling
bekerja sarna dalam menyelesaikan masalah tersebut. Kerjasama yang
dimaksud adalah pemakaian secara bersama informasi dan sumber diantara
proses.,proses tersebut. Hal ini hams dikontrol untuk menjamin operasi
yang benar dari keseluruhan sistem. Beberapa masalah sinkronisasi
dikemukakan oleh Dijkstra, yaitu : masalah mutual exclusion, masalah
Producer/Consumer, masalah The Dining Philosophers serta masalah
ReaderslWriters. Semua masalah diatas merupakan masalah klasik dalam
64
Efek komputasi dari proses pertama telah hilang dan nilai dari objek
yang digunakan bersama sekarang adalah g(x), sementara nilainya
seharusnya adalah g(f(x atau f(g(x. Bayangkan pengaruhnya jika g(x)
adalah "penarikan $1000 ke account x" serta proses I dan II adalah bak
tellers.
Untuk mencegah masalah diatas maka perlu untuk menyediakan suatu
mekanisme untuk mutual exclusion. Mutual Exclusion adalah suatu teknik
65
pendefinisian kode entry dan exit sehingga paling banyak satu proses
dapat mengakses suatu objek data yang digunakan bersama pada suatu
saat. Kode yang mengakses objek yang digunakan bersama tersebut dan
membutuhkan perlindungan dari campur tangan proses lain disebut seksi
kritis.
Idenya adalah bila suatu proses akan mengeksekusi seksi kritisnya
maka pertama-tama proses tersebutharns menungguhingga tidak ada proses
lain yang sedang mengeksekusi seksi krisisnya. Kemudian proses tersebut
mengunci akses ke seksi kritis untuk mencegah proses lain memasuki
seksi kritisnya. Proses tersebut memasuki seksi kritis, mengeksekusinya
dan meninggalkan seksi kritis tersebut dengan membuka kunci agar
membolehkan proses-proses lain mengaksesnya.
Masalah ini dapat dipecahkan dengan suatujaringan petri, seperti yang
ditunjukkan pada gambar 3-21. Place m merepresentasikan ijin untuk
memasuki seksi kritis. Agar suatu proses dapa masuk ke seksi kritis, maka
proses tersebut harns memiliki satu token di pi atau P2yang mensinyalkan
bahwa proses tersebut berkeinginan untuk masuk. Jika kedua proses ingin
masuk secara bersamaan maka transisi-transisitl dan t2berada dalam situasi
konflik, dan hanya satu dari mereka yangdapat ditembak.
66
Critical
section
Critic:ll
section
..
Process I
Process2
3.4.5
Masalah Producer/Consumer
67
Producer
Consumer
68
.r
".
Produce
Producer
Consumer
69
Produce
?
Producer
Consumer
reader yang multiple dapat mengakses data yang terbagi secara serempak.
Masalahnya adalah memberi definisi sebuah struktur kontrol yang tidak
deadlock atau memperbolehkan pelanggaran kriteria mutual exclusion.
Gambar 3.26 mengilustrasikan suatu solusi bila jumlah proses reader
dibatasi n. pada suatu sistem dimana jumlah proses reader tidak terbatas
maka hanya n reader dapat membaca pada satu saat.
Readers
Writers
72
73
74
20
y = y +
30
z = x + y
Key:
Excavate
Job
IdentiCic~
Job time
requiRment
r;;J
Storm
dr:ains
Rouch
plumbinc
Walksand
Jandscapinl
Finish
pJumbin,
P~int
Finish
cJcctric~1
work
Gambar 3-29. Representasi jaringan petri dari diagram Pert gambar 3-28.
76
77
Gambar 3-31. Suatu jaringan petri yang menyatakan reduksi-oksidasi dari asam
axalic dan idrogen poroksida menjadi karbon dioksida dan air.
78
79