VERIFIKASI FORMAL ALGORITMA TERDISTRIBUSI UNTUK MASALAH ALOKASI KANAL BERBASIS MUTUAL EXCLUSION PADA JARINGAN SELULAR MENGGUNAKAN PROMELASPIN Formal Verification of Distributed Algorithms for Channel Allocation Problem-Based Mutual Exclusion on a Cellular

VERIFIKASI FORMAL ALGORITMA TERDISTRIBUSI UNTUK MASALAH
ALOKASI KANAL BERBASIS MUTUAL EXCLUSION PADA JARINGAN SELULAR
MENGGUNAKAN PROMELA/SPIN
Formal Verification of Distributed Algorithms for Channel Allocation Problem-Based
Mutual Exclusion on a Cellular Network using Promela / Spin
Andi Yulia Muniar1, Armin Lawi2, Merna Baharuddin3
Fakultas Teknik Universitas Hasanuddin
you_lee04@yahoo.co.id

Abstrak
Penelitian ini bertujuan membangun model formal algoritma terdistribusi (distributed
algorithm) untuk masalah alokasi kanal berbasis Mutual Exclusion pada jaringan selular yang
mana hanya ada satu kanal dalam jaringan selular dan jarak minimum reuse-nya tidak
terhingga (infinity) menggunakan bahasa pemrograman PROMELA. Serta memverifikasi
kebenaran algoritma dari spesifikasi masalah sistem terdistribusi dan menganalisis kinerja
algoritma dengan menggunakan tools SPIN. Masalah mendasar dari Distributed Mutual
Exclusion (DME) adalah pada waktu yang bersamaan hanya satu proses yang dapat masuk
pada critical section. Dengan kata lain tidak ada dua proses yang berada di critical section
pada saat yang bersamaan. Jika proses-proses ingin mengeksekusi critical resource pada
waktu yang bersamaan, maka proses-proses tersebut harus bersaing untuk masuk ke dalam
critical section. Hasil penelitian yang diperoleh yaitu dalam membangun model formal yang

pertama dilakukan adalah merancang algoritma terdistribusi (distributed algorithm) untuk
masalah alokasi kanal berbasis Mutual Exclusion kemudian algoritma diterjemahkan ke dalam
bahasa pemrograman PROMELA, yang kemudian memverifikasi kebenaran algoritma tools
SPIN.
Kata Kunci : Model formal, Distributed Mutual Exclusion, PROMELA/SPIN
1. Pendahuluan
Belakangan ini istilah “formal
methods” (atau dapat diterjemahkan ke
dalam bahasa Indonesia menjadi Metoda
Formal) mulai ramai dibicarakan di
majalah, jurnal, dan sumber informasi yang
berhubungan dengan disain perangkat
keras
(hardware).
Metode
formal
diperlukan diantaranya untuk melakukan
verifikasi terhadap suatu pemodelan
sistem, dan keperluan ini berkembang
seiring dengan semakin kompleksnya

sistem hardware yang dikembangkan oleh
manusia.
Pada
penelitian
ini
diteliti
implementasi metode formal untuk kasus

mengenai masalah pengalokasian kanal
(Channel Allocation) pada jaringan selular
yang mana di dalam satu sel terdapat satu
kanal yang digunakan dari sekian banyak
kanal yang tersedia dan tidak terjadi
interferensi (jarak minimum reuse-nya
tidak terhingga (infinity)). Masalah
pengalokasian kanal seperti ini memiliki
sifat-sifat yang sama dengan masalah
Distributed Mutual Exclusion (DME),
dalam hal ini kanal sebagai critical
resource dan sejumlah sel sebagai prosesproses yang bersaing untuk mengakses

critical resource. Masalah mendasar dari
DME adalah pada waktu yang bersamaan
hanya satu proses yang dapat masuk pada
critical section. Atau dengan kata lain tidak
1

ada dua proses yang berada di critical
section pada saat yang bersamaan. Jika
proses-proses ingin mengeksekusi critical
resource pada waktu yang bersamaan,
maka proses-proses tersebut harus bersaing
untuk masuk ke dalam critical section.
Jadi dalam penelitian ini kami akan
memperlihatkan hubungan antara kedua
masalah pengalokasian kanal dan DME.
Secara
khusus,
kami
akan
memperkenalkan

verifikasi formal
algoritma
terdistribusi
dalam
menyelesaikan masalah
alokasi kanal
berbasis Mutual Exclusion (Mutex).
2. Tinjauan Pustaka
2.1. Teknologi Komunikasi Selular
Teknologi
komunikasi
terus
berkembang seiring dengan bertambahnya
tahun. Komunikasi tanpa kabel (wireless)
cukup diminati di berbagai negara sebagai
salah satu solusi untuk mencukupi
kebutuhan sarana telekomunikasi. (I,
Katzela et.al. 1996)
Peranan telekomunikasi bergerak,
khususnya sistem komunikasi selular

dirasakan
semakin
dibutuhkan
keberadaannya. Karena diharapkan dengan
adanya sarana telekomunikasi bergerak
tersebut akan lebih dapat memudahkan
bagi para pengguna untuk berkomunikasi.
Sistem telekomunikasi bergerak selular,
merupakan sistem telekomunikasi yang
dapat menghubungkan pemakai pada
telepon biasa dan pemakai telepon selular
yang lain.
2.2. Konsep Sel dalam Komunikasi
Selular
Konsep dasar dari suatu sistem
selular adalah pembagian pelayanan
menjadi daerah-daerah kecil yang disebut
sel. Setiap sel mempunyai daerah
cakupannya masing-masing dan beroperasi
secara khusus. Jumlah sel pada suatu


daerah geografis adalah berdasarkan pada
jumlah pelanggan yang beroperasi di
daerah tersebut. (S, Faruque. 1996)
Suatu sel pada dasarnya merupakan
pusat komunikasi radio yang berhubungan
dengan MSC yang mengatur panggilan
yang masuk. Jangkauan pengiriman sinyal
pada sistem komunikasi bergerak selular
dapat diterima dengan baik tergantung
pada kuatnya sinyal batasan sel para
pemakainya. Tetapi, masih terdapat faktor
lain yang dapat menjadi kendala untuk
sinyal yang dikirim dapat diterima dengan
baik. Faktor lain yang dimaksud adalah
faktor geografis (alam).
Ukuran
sel
pada
system

komunikasi selular dapat dipengaruhi oleh:
1. Kepadatan pada traffic.
2. Daya pemancar, yaitu Base Station
(BS) dan Mobile Station (MS).
3. Dan faktor alam, seperti udara, laut,
gunung, gedung-gedung, dan lain-lain.
Akan
tetapi
batasan-batasan
tersebut akhirnya ditentukan sendiri oleh
kuatnya sinyal radio antar Base Station
(BS) yang disebut juga Mobile Service
Station (MSS) dan sejumlah
Mobile
Station (MS).
2.3. Masalah Alokasi Kanal (Channel
Allocation)
Dalam komunikasi jaringan selular,
masalah pengolakasian kanal memiliki
sifat-sifat yang sama dengan masalah

Mutual Exclusion. Dalam hal ini
pengalokasian kanal yang mana hanya
terdapat satu kanal dalam satu jaringan
selular dan jarak minimum reuse yang tak
terhingga (infinity). Kanal sebagai critical
resource dan sejumlah sel sebagai prosesproses yang bersaing untuk mengakses

2

critical resource.
Agrawala. 1997)

(G,

Ricart,

A.K,

Jadi, pada waktu yang bersamaan
hanya satu proses yang dapat masuk pada

critical section. Dengan kata lain, tidak ada
dua proses yang berada di critical section
pada saat yang bersamaan. Jika prosesproses ingin mengeksekusi critical
resource pada waktu yang bersamaan,
maka proses-proses tersebut harus bersaing
untuk masuk ke dalam critical section.
2.4. Masalah Mutual Exclusion
Masalah mutual exclusion adalah
suatu masalah mengatur akses untuk
resource tunggal yang tidak dapat dibagi
yang hanya dapat mendukung satu user
pada suatu waktu. Hal ini dapat dipandang
sebagai permasalahan dalam memastikan
bahwa bagian-bagian tertentu kode
program dieksekusi dalam daerah kritis
(critical section), dimana tidak boleh 2
proses diizinkan dalam daerah kritis pada
waktu yang sama.
Akses user ke resource dimodelkan
sebagai suatu daerah kritis (critical

section), yang mana adalah hanya ditunjuk
suatu subset dari state-statenya. Ketika
user tidak berniat menggunakan resource
untuk mengeksekusi daerah kritisnya,
maka user dikatakan berada dalam daerah
sisa (remainder/non-critical section). Agar
memperoleh hak masuk ke daerah kritis,
user mengeksekusi trying protocol, dan
setelah menggunakan resource, user
mengeksekusi suatu exit protocol. Prosedur
ini dapat diulang, sehingga masing-masing
user mengikuti suatu siklus, perpindahan
dari daerah remainder-nya (remainder
section), R, ke daerah trying-nya (trying
protocol), T, kemudian ke daerah kritis-nya
(critical section), C, kemudian ke daerah
exit-nya(exit protocol), E, dan kemudian
kembali lagi ke daerah remainder-nya, R.

2.5. Algoritma Channel Allocation

berbasis Mutual Exclusion
Seperti yang telah dipaparkan
sebelumnya bahwa kanal sebagai critical
resource dan sejumlah sel sebagai prosesproses yang bersaing untuk mengakses
critical resource. Sebelumnya kita mulai
dari perancangan algoritma untuk 2 proses
(sel) yang bersaing memperebutkan
critical resource. Dan selanjutnya untuk nproses.
2.5.1. Algoritma dengan 2 Proses
Algoritma Peterson2P:
Shared variables:

{ }

turn ∈ 0,1

, initially arbitrary, writable and
readable by all processes
i ∈ { 0,1}
for every
:

() { }

flag i ∈ 0,1

i

, initially 0, writable by
i
and readable by
i

Process :
** Remainder region **
try i

()

flag i := 1
turn := i

()

flag i = 0

waitfor

turn ≠ i

or

crit i

** Critical region **
exit i

()

flag i := 0

3

rem i

2.5.2. Algoritma dengan n- Proses
Algoritma Peterson nP:
Shared variables:

{

}

k ∈ 1,..., n − 1

for every

( ) {

:

}

turn k ∈ 1,.., n

,
initially
arbitrary,
writable and readable by all processes
i j 1≤ i ≠ j ≤ n
for every , ,
:

() {

}

flag i ∈ 0,..., n − 1

, initially 0, writable
j ≠i

i

by and readable by all
i

Process :
** Remainder region **
try i
k =1

For

n −1

to

()

do

flag i := k

( )

turn k := i

[ ∀j ≠ i : flag ( j ) < k ]
waitfor

or

[ turn( k ) ≠ i ]
crit i

** Critical region **
exit i

()

flag i := 0

remi

2.6. Model Formal
PROMELA/SPIN

Sistem

dengan

PROMELA merupakan sebuah
bahasa yang dikembangkan oleh Gerrard
Holzmann untuk memodelkan sistem,

khususnya protokol komputer. PROMELA,
yang merupakan kependekan dari PROcess
MEta LAnguage, menggunakan basis CSP,
bahasa C, dan SDL (Specification
Description
Language).
Selain
mengembangkan bahasanya, Holzmann
juga mengembangkan sebuah tools yang
diberi nama SPIN untuk melakukan
validasi , tepatnya model checking
terhadap spesifikasi yang ditulis dalam
bahasa PROMELA. (Holzmann, Gerrard J.
1991)
Deskripsi dalam bahasa PROMELA
ditulis dalam bentuk statement. Dalam
PROMELA tidak ada perbedaan antara
conditions dan statements. Eksekusi dari
statement ini bergantung kepada sifat
executability-nya. Statement ini bisa
dijalankan (executable) atau terhalang
(blocked) bergantung kepada nilai dari
variable atau isi dari message channel. Jika
kondisinya benar (holds) maka statement
akan dieksekusi. Jika tidak, maka
statement akan terhenti (blocked) sampai
kondisi menjadi benar. (Rahardjo, Budi.
2002)
SPIN
adalah
suatu
paket
software
yang
dikembangkan
di
Laboratorium Bell group "formal
specification and verification". SPIN
dapat digunakan untuk men" trace"
logical error di dalam desain distributed
systems. Tool memeriksa konsistensi
logical
dari
suatu
spesifikasi.
Sehingga
dapat
ditemukan
deadlock, unspecified receptions, flag
incompleteness, race conditions, d a n
unwarranted assumptions t e n t a n g
k e c e p a t a n proses. SPIN merupakan
sebuah tool yang dapat digunakan untuk
melakukan model checking terhadap
sistem yang ditulis dalam bahasa
PROMELA. (Holzmann, Gerrard J. 1991)
SPIN
dapat
menganalisa
sebuah spesifikasi dengan tiga cara :
simulasi, exhaustive search (pencari an
ya n g men yel uruh), dan bit space
4

(partial order reduction) search untuk
spesifikasi yang besar.
Cara yang paling mudah untuk
menggunakan SPIN adalah dengan
simulasi. Simulasi akan berhenti
ketika spesifikasi diakhiri/ terminate
atau ketika terjadi fail/kegagalan.
SPIN dapat melakukan suatu strict
analysis dari
spesifikasi
dengan
exhaustively searching pada s emua
s tate.
SPIN menghasilkan suatu custom
(pan.c) program C, ketika dikompilasi
dan dieksekusi akan melaksanakan
exhaustive search. Ketika program
gagal/fail
untuk
menemukan
spesifikasinya, custom analyzer akan
menghasilkan path yang memaksa
sistem ke invalid state. Ini adalah
kemampuan
untuk
membuktikan
ketepatan dari spesifikasi yang dibuat
oleh user.
3. Metode
Penelitian ini dilakukan melalui
berbagai tahapan yang ditempuh agar hasil
penelitian yang diperoleh memenuhi
kaidah-kaidah ilmiah yang dilaksanakan
secara cermat dan sistematis. Tahapan
penelitian ini dilakukan secara bertahap
sebagai berikut :
1.
Studi Literatur, mempelajari
sumber-sumber pustaka dapat berupa
buku, paper, atau halaman web yang
berisi tentang teori yang berhubungan
dengan konsep selular, Channel
Allocation (CA), Mutual Exclusion
(ME), Metode formal dan bahasa
PROMELA/SPIN.
2.
Perancangan
algoritma
Channel Allocation
(CA) berbasis
Mutual Exclusion (ME).
3.
Analisis algoritma, dengan
merancang
model
dengan
menggunakan bahasa pemrograman
PROMELA.
4.
Verifikasi, melakukan model
checking terhadap model yang telah

dirancang dalam bahasa PROMELA
dengan menggunakan tools SPIN.
4. Hasil dan Pembahasan
4.1. Model Formal dan Spesifikasi
Model
4.1.1 Model Formal Algoritma
Model
formal
dari
metode
penyelesaian
algoritma
yang
telah
dirancang sebelumnya dibangun dalam
bahasa PROMELA sebagai berikut :

#define true 1
#define false 0
bool flag[2];
bool turn;
proctype user(bool i)
{
flag[i] = true;
turn = i;
(flag[1-i] == false || turn == 1
-i);
crit: skip; /* critical section */
flag[i] = false
}
init { atomic { run user(0); run
user(1) } }

Algoritma dengan 2 Proses

#define

N

5

byte flag[N];
byte turn[4];
byte in_cs;
proctype P(byte id) {
byte k, j;
k = 0;

Algoritma dengan n- Proses
4.1.2 Spesifikasi Model
Setelah kita merancang algoritma
dan membangun model formal algoritma,
kemudian
dilakukan
simulasi
dan
verifikasi dengan memasukkan model
formal algoritma ke dalam tools SPIN.

5

4.2. Hasil Simulasi dan Verifikasi Model
4.2.1. Hasil Simulasi Model
Pada bagian ini dilakukan proses
simulasi pada setiap model yang dibangun
untuk melihat perilaku dari model dengan
menggunakan SPIN.
Dengan menggunakan XSPIN,
parameter simulasi dapat diatur dengan
jendela seperti terlihat pada gambar 1.

Gambar 1. Jendela Parameter
Simulasi

Pada interface gambar 32 ada
beberapa hal yang dapat diatur berkaitan
dengan simulasi yang akan dilakukan.
Yang pertama adalah panel apa saja yang
akan ditampilkan selain panel standar
Simulation Output. Panel Message
Sequence Chart (MSC) akan menampilkan
representasi
grafis
dari
interaksi
(pertukaran message) antar proses. Gambar
yang muncul secara default dapat disimpan
dalam file msc.ps. Panel Time Sequence
(TS) menghasilkan representasi tekstual
dari informasi yang serupa dengan yang
muncul pada MSC. Tampilan dari TS ini
dapat disimpan secara default ke file
seq.out. Panel Data Value (DV)
menghasilkan kondisi variabel-variabel
lokal, global, maupun buffer selama
simulasi berlangsung. Seluruh kondisi
variable dapat disimpan secara default ke
file var.out. Panel Execution Bar (EB)
menampilkan informasi tentang berapa
banyak (persentase) step yang dieksekusi
oleh tiap proses. Tampilan grafis EB dapat
disimpan secara default ke file panbar.ps.
Simulasi
dari
setiap
model
penyelesaian masalah mutual exclusion
yang dibangun sebagai berikut:
Simulasi Algoritma dengan 2 Proses
Simulasi algoritma Peterson dengan
2 proses dengan menggunakan tools SPIN
sebagai berikut :
a. Snapshot panel Simulation output :
Pada awal simulasi akan di create
1 proses yaitu proses iniatiasilisasi (proses
0) yang dilakukan pada step 0. Berikut
snapshot simulation output pada awal
simulasi.

6

pada step ke-12, proses 1 terminate pada
step ke-10, dan proses 2 terminate pada
step ke-12. Berikut snapsot panel MSC
dari algoritma 2 proses.

Gambar 2 Awal Simulasi
Sedangkan pada snapshot akhir
simulasi dapat dilihat pada gambar berikut.

Gambar 4 Tampilan Akhir MSC
c. Snapshot panel Data value :
Pada snapshot panel data value
dilihat bahwa proses-proses dalam hal ini
proses 1 dan 2 mengembalikan/ mereset
nilai flag dan turn-nya ke 0 yang berarti
bahwa mengakses daerah remainder atau
sudah keluar dari daerah critical resource
dan mengembalikan izin ke proses lain
untuk mengakses critical resource.

Gambar 3 Akhir Simulasi
b. Snapshot panel Message Sequence
Chart.
Pada panel Message Sequence
Chart
(MSC)
akan
menampilkan
representasi
grafis
dari
interaksi
(pertukaran message) antar proses.
Berdasarkan hasil simulasi MSC diperoleh
bahwa ada 3 proses dianataranya proses
initiasialisasi (proses 0), proses 1 dan
proses 2. Dimana proses 0 (init) terminate
7

Gambar 5 Data Value
d. Snapshot panel execution bar chart

Gambar 7 Akhir execution bar chart
Pada gambar 7 terlihat bahwa dari
ketiga proses yang dibuat, hasil execution
bar chart-nya diantaranya proses 0
dieksekusi sebanyak 2 step yakni pada step
2 dan step 12. Proses 1 dieksekusi
sebanyak 5 step dan proses 2 sebanyak 5
step yang masing-masing dapat dilihat dari
hasil simulation output sebelumnya.
Jadi, dari simulasi dapat dilihat
bahwa 2 proses 1 dan 2 dapat saling
bergantian memasuki critical section.
Prinsip masuk ke critical section, proses P0
mengeset flag[0] = true, dan melihat
apakah ada proses lain yang mencoba
masuk critical section (turn=1). Jika tidak
ada maka P0 masuk ke critical section.
Simulasi Algoritma dengan n-Proses
Simulasi
algoritma
Peterson
dengan n-proses, dimana n=5 dengan
menggunakan tools SPIN sebagai berikut :
a. Snapshot panel Simulation output :

Gambar 6. Awal execution bar chart
Pada gambar 6 terlihat bahwa
proses 0 (initialisasi) dilakukan dengan 1
step, yakni pada step 0 sesuai dengan
snapshot simulation output.

Pada awal simulasi akan di create
1 proses yaitu proses iniatiasilisasi (proses
0) yang dilakukan pada step 0. Berikut
snapshot simulation output pada awal
simulasi.

8

(initialisasi), proses 1, proses 2, proses 3,
proses 4 dan proses 5. Dimana proses 0
(init) terminate pada step ke-425, proses 1
terminate pada step ke-425, proses 2
terminate pada step ke-425, begitu
seterusnya sampai denagn proses 5.
Berikut snapsot panel MSC dari algoritma
n proses (n=5).

Gambar 8 Awal Simulasi
Sedangkan pada snapshot akhir
simulasi dapat dilihat pada gambar berikut.

Gambar 10. Tampilan Akhir MSC

Gambar 9 Akhir Simulasi
Dari gambar dilihat bahwa ada 6
proses yang dibuat diantaranya proses 0
(initialisasi), proses 1, proses 2, proses 3,
proses 4 dan proses 5 dan diproses
sebanyak 425 step.

c. Snapshot panel Data value :
Pada snapshot panel data value
dilihat bahwa proses-proses dalam hal ini
proses 1, 2, 3, 4, dan 5 mengembalikan/
mereset nilai flag dan turn-nya masingmasing sesuai gambar 11 berikut :

b. Snapshot panel Message Sequence
Chart.
Pada panel Message Sequence
Chart
(MSC)
akan
menampilkan
representasi
grafis
dari
interaksi
(pertukaran message) antar proses.
Berdasarkan hasil simulasi MSC diperoleh
6 proses yang dibuat diantaranya proses 0
9

Gambar 11 Data Value
d. Snapshot panel execution bar chart

Gambar 13 Akhir execution bar chart
Pada gambar 13 terlihat bahwa dari ketiga
proses yang dibuat, hasil execution bar
chart-nya diantaranya proses 0 dieksekusi
sebanyak 19,
Proses 1 dieksekusi
sebanyak 101 step, Proses 2 dieksekusi
sebanyak 101 step, Proses 3 dieksekusi
sebanyak 8 step, Proses 4 dieksekusi
sebanyak 100 step dan proses 5 sebanyak
100 step yang masing-masing dapat dilihat
dari hasil simulation output sebelumnya.

Gambar 12 Awal execution bar chart
Pada gambar 12 terlihat bahwa proses 0
(initialisasi) dilakukan dengan 1 step,
yakni pada step 0 sesuai dengan snapshot
simulation output.

Jadi dari simulasi dapat dilihat
bahwa
proses-proses
dapat
saling
bergantian memasuki critical section
melihat nilai flag prosesor i dan variable
turn yang dimiliki setiap level. Setelah
prosesor i melewati semua level atau
dengan kata lain bahwa prosesor i telah
sampai pada variabel turn yang ke-n, maka
prosesor i dapat masuk ke critical section.
2. Verifikasi Model
Simulasi yang dilakukan diatas
belum dapat menunjukkan correctness dari
setiap model spesifikasi penyelesaian
masalah mutual exclusion. Untuk dapat
menguji apakah kriteria -kriteria kebenaran
(seperti yang telah disebutkan di bagian
awal) terpenuhi atau tidak, harus dilakukan
verifikasi.
10

Dengan XSPIN, setting parameter
verifikasi
dilakukan
pada
window
Verification Option, seperti terlihat pada
gambar. Kalau dirasa masih kurang, dapat
dilakukan setting lanjutan pada window
Advanced Verification Option.

Gambar 14 window Verification Option
Verifikasi
setiap
model
penyelesaian masalah mutual exclusion
yang dilakukan adalah dari segi :
1. Safety (state properties) dengan option
assertion
dan
invalid
endstates
dihidupkan.
2. Liveness (cycles/seguence) dengan
option non -progress cycles dihidupkan
dan with weak fairness dihidupkan.
Verifikasi Algoritma 2P
Verifikasi dari segi Safety (state
properties) dengan option assertion dan
invalid endstates dihidupkan, mode search
supertrace/bitstate, didapat verifikasi
sebagai berikut :

Verifikasi dari segi Liveness
(cycle/sequence) dengan option nonprogress cycles dihidupkan, dan with weak
fairness
dihidupkan,
mode
search
supertrace/bitstate
didapat
verifikasi
sebagai berikut :

Dari verifikasi ini dapat dilihat
bahwa algoritma 2P tidak mengalami non11

progress cycles, malah terjadi fairness
dalam memasuki critical section (tidak ada
perlombaan untuk memasuki critical
section).
Verifikasi Algoritma n-P
Verifikasi dari segi Safety (state
properties) dengan option assertion dan
invalid endstates dihidupkan, mode search
supertrace/bitstate, didapat verifikasi
sebagai berikut :

Gambar 15 Awal simulasi

Gambar 16 Akhir simulasi

Dari verifikasi ini dapat dilihat
bahwa algoritma n-P mengalami invalid
endstate pada depth 198 sehingga mutual
exclusion tidak dapat ditangani. Untuk
lebih jelasnya dapat dilihat pada simulasi
dibawah ini :
Hasil
verifikasi :

simulasi

baru

setelah

12

Gambar 17 Data Value

Dari verifikasi ini dapat dilihat
bahwa algoritma n-Proses juga tidak
mengalami non-progress cycles, malah
terjadi fairness dalam memasuki critical
section (tidak ada perlombaan untuk
memasuki critical section).
5.1 Kesimpulan
Berdasarkan penelitian yang telah
dilakukan, maka dapat disimpulkan
bahwa :
Gambar 18 Tampilan Message Sequence
Chart
Verifikasi dari segi Liveness
(cycle/sequence) dengan option nonprogress cycles dihidupkan, dan with weak
fairness
dihidupkan,
mode
search
supertrace/bitstate
didapat
verifikasi
sebagai berikut :

1. Dalam membangun model formal
yang pertama dilakukan adalah
merancang algoritma terdistribusi
(distributed algorithm) untuk masalah
alokasi
kanal
berbasis
Mutual
Exclusion
kemudian
algoritma
diterjemahkan ke dalam bahasa
pemrograman PROMELA.
2. Dalam memverifikasi kebenaran
algoritma, model formal yang telah
dibangun dimasukkan ke dalam tools
SPIN kemudian disimulasi dan
diverifikasi.
3. Bila simulasi yang dilakukan
berhasil, belum tentu bahwa model
tersebut diverifikasi kerjanya sudah
benar
4. Pada algoritma 2P tidak didapati
pelanggaran
mutual
exclusion,
sedangkan pada algoritma n-Proses
mengalami pelanggaran invalid end
state.
13

5.2. Saran
Dengan semakin kompleks dan
besarnya sistem yang ada, menuntut
pengujian model yang lebih teliti dan lebih
cermat. Untuk itu kita harus melakukan
rancangan algoritma secara baik dan benar.
Tahapan yang dilakukan adalah membuat
spesifikasi model secara formal, simulasi
dan verifikasi.

Daftar Pustaka
[1] Djamal, Hidayanto. 2009. Perencanaan
Sistem Terestrial. Jurusan Elektro FTPKK. Universitas Mercu Buana.
[2] G, Ricart, A.K, Agrawala. 1997. An
Optimal Algoritm for Mutual Exclusion
in Computer Networks. Comm. ACM,
pp. 9-17.
[3] Holzmann, Gerrard J. 1991. Design
and Validation of Computer Protocols.
Prentice-Hall.

[5] I, Katzela et.al. 1996. Channel
Assigment Schemes for Cellular Mobile
Telecommunications Systems. IEEE
personal communication 10-31.
[6] Lynch, Nancy A., 1996. Distributed
Algorthms.
Morgan
Kaufman
Publishers,Inc.
San
Fransisco,
California.
[7] Lawi, A., 2008. Quorum Based
Conflict Resolution Algorithms in
Distributed Systems. Department of
Mathematics, Hasanuddin University.
Makassar.
[8]

Rahardjo, Budi. 1996. Formal
Verification of Asynchronous Systems.
University of Manitoba.

[9] Rahardjo, Budi. 2002. Paper Metoda
Formal. Institut Teknologi Bandung.
Bandung.
[10] S, Faruque. 1996. Cellular Mobile
System Engineering. Artech House
Publisher.

[4] Hariyanto, Bambang. 1999. Sistem
Operasi. Edisi 2. Informatika. Bandung.

14

Dokumen yang terkait

PENGARUH PEMBERIAN SEDUHAN BIJI PEPAYA (Carica Papaya L) TERHADAP PENURUNAN BERAT BADAN PADA TIKUS PUTIH JANTAN (Rattus norvegicus strain wistar) YANG DIBERI DIET TINGGI LEMAK

23 199 21

KEPEKAAN ESCHERICHIA COLI UROPATOGENIK TERHADAP ANTIBIOTIK PADA PASIEN INFEKSI SALURAN KEMIH DI RSU Dr. SAIFUL ANWAR MALANG (PERIODE JANUARI-DESEMBER 2008)

2 106 1

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

MANAJEMEN PEMROGRAMAN PADA STASIUN RADIO SWASTA (Studi Deskriptif Program Acara Garus di Radio VIS FM Banyuwangi)

29 282 2

PENGEMBANGAN TARI SEMUT BERBASIS PENDIDIKAN KARAKTER DI SD MUHAMMADIYAH 8 DAU MALANG

57 502 20

ANALISIS PROSPEKTIF SEBAGAI ALAT PERENCANAAN LABA PADA PT MUSTIKA RATU Tbk

273 1263 22

PENERIMAAN ATLET SILAT TENTANG ADEGAN PENCAK SILAT INDONESIA PADA FILM THE RAID REDEMPTION (STUDI RESEPSI PADA IKATAN PENCAK SILAT INDONESIA MALANG)

43 322 21

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25