Tuesday, November 06, 2007

Bahasan latihan soal dan pekerjaan rumah untuk jalur/lintasan kereta api.

Soal ini diambil dari buku Aalst di bagian 2. Digambarkan tentang suatu lintasan sepur, spoor, atau kereta api dimana setiap satu track/lintasan memiliki 3 state/status/kondisi, dalam hal ini :

  • Busy : Sibuk, artinya lintasan ini sedang dipergunakan oleh satu unit kereta api.
  • Claimed : Dipesan, artinya satu unit kereta (yang berada di track persis sebelumnya) telah berhasil memesan untuk mempergunakannya. Dalam state ini, tidak ada kereta yang berada diatas track ini.
  • Free: Bebas, artinya tidak ada kereta yang sedang berada diatas track ini, dan tidak ada pesanan untuk mempergunakan track ini.

Satu lintasan hanya bisa dipergunakan oleh satu kereta. Pada saat track atau bagian lintasan tersebut dilalui/didiami, status track dalam kondisi Busy. Untuk pindah ke bagian/lintasan berikutnya kereta harus memesan (claim) terlebih dahulu, dan hanya lintasan yang bebas (Free) yang bisa dipesan. Begitu kereta tersebut pindah ke track berikutnya (setelah di pesan) lintasan sebelumnya langsung melepas kondisi sibuk (Busy) menjadi Free (bebas/kosong).

Gambar dibawah ini menunjukkan model Petri Net untuk satu lintasan dengan 3 states.
3 states digambarkan dalam 3 Place (yang digambarkan dalam bulatan) dengan label b1 untuk state ”busy” di track 1, label c1 untuk state ”claimed” di track 1, dan label f1 yang menunjukkan state ”free” di lintasan 1. Token dalam gambar diatas berada di state busy, artinya lintasan satu sedang dipergunakan oleh satu unit kereta. Model sederhana ini juga menunjukkan 3 buah transisi yaitu: clear_track untuk berpindah dari state busy (b1) ke free (f1), claim_track untuk berpindah dari state free (f1) ke claim (c1), dan use_track untuk merubah state claim (c1) ke busy (b1).

Agar tidak bingung, dalam perpindahan dari state busy ke free, kereta seharusnya sudah memesan (claim) track berikunya, yang dalam model satu railnet ini belum digambarkan.

Untuk menggambarkan model dua lintasan, secara sederhana dapat dilakukan dengan menggabungkan dua model sebelumnya dengan penambahan satu input claim_track di lintasan 2 dari b1 dan penambahan satu output dari claim_track di lintasan 2 ke b1.

Penambahan input dan output ini memberi arti bahwa claim_track hanya bisa di enable jika dan hanya jika ada token di f2 dan b1. Jika memenuhi syarat tersebut dan transisi claim_track 2 tersebut di trigger/fire atau di eksekusi, token akan mengisi di place c2 dan satu token akan mengisi kembali di b1. Model ini menunjukkan bahwa lintasan hanya bisa di pesan jika lintasan tersebut bebas dan ada satu kereta di lintasan sebelumnya. Namun pemesanan track 2 yang merubah state dari f2 ke c2 tidak merubah state di track 1 yang tetap berada di b1. Dengan kata lain, kereta yang memesan track 2 masih tetap menduduki track 1.

Transisi clear_track 1 dan use_track 2 selanjutnya bergabung menjadi satu transisi dengan nama transfer. Pada saat transisi ini dieksekusi, dengan syarat ada token di c2 dan b1, states di track-1 langsung berubah menjadi bebas (dari output ke f1) dan state di track 2 menjadi busy (dari output ke b2).

Jika kita kaji states yang bisa dilalui yang diwakili oleh notasi (state1, state2), kemungkinan perpindahan states di dua track tersebut dapat digambarkan sebagai berikut.


Dapat dilihat disini, bahwa pada saat perpindahan dari b2 ke f2, yang dapat ditunjukkan dalam transisi (b,b) ke (b,f), kereta yang sebelumnya berada di track 2 tidak menuju ke track 1 namun berada di satu lokasi diluar track1 dan track 2 yang bisa dibayangkan dalam suatu stasiun (langsir). Sedangkan kereta yang sebelumnya berada di track 1, setelah track2 dalam kondisi sudah di claim (b,c) maka akan pindah ke track 2 dengan perubahan state menjadi (f,b) dimana track 1 menjadi bebas.

Gambaran fisik lintasan tersebut diatas dapat ditunjukkan pada gambar dibawah ini dimana terdapat dua track/lintasan dan satu stasiun yang bisa menampung 2 kereta, dengan satu arah lintasan dari track 1 ke track 2 ke stasiun dan kembali ke track 1.

Berikut soal pekerjaan rumah yang harus dikumpul di pertemuan mendatang :

  1. Gambarkan model lintasan kereta dengan 4 track sirkular (tanpa ada stasiun) yang dilalui oleh dua unit kereta dalam kerangka Petri Net. Ingat bahwa satu track hanya dapat ditempati oleh satu kereta.
  2. Ada berapa state yang mungkin terjadi, gambarkan kemungkinan perpindahan states tersebut.

Selamat bekerja...

1 comment:

ekosaputro said...

pak kok susah y.. saya sudah baca 2 hr tp tetep g ngerti.maap..ad klu g pak.