SPESISIFIKASI SISTEM AUTOMATIC VEHICLE CLASSIFICATION MENGGUNAKAN B-METHOD

dokumen-dokumen yang mirip
Teknik Informatika S1

Software Requirement (Persyaratan PL)

DESAIN FUZZY STATE MACHINE UNTUK MENGHASILKAN VARIASI RESPON NPC (NON-PLAYABLE CHARACTER) PADA SEBUAH GAME

PENDAHULUAN. Data dan Informasi. Sistem Informasi. Komponen sistem informasi. Basis data

BAB 1 PENDAHULUAN. memarkirkan mobilnya di tempat-tempat perparkiran yang cukup sibuk seperti

BAB III TEORI PENUNJANG

BAB III ANALISIS DAN PERANCANGAN SISTEM. Berdasarkan System Development Life Cycle (SDLC) metode waterfall yang

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

SISTEM INFORMASI MANAJEMEN

RENCANA PEMBELAJARAN SEMESTER PROGRAM STUDI D3 KOMPUTERISASI AKUNTANSI FAKULTAS ILMU TERAPAN TELKOM UNIVERSITY

Modifikasi Motif Kain Tradisional Menggunakan Cellular Automata

Silo Simulation. Tidak dibenarkan mengcopy file dari computer lab PLC 1. Terdapat tombol selektor :

BAB I PENDAHULUAN. PLN, di ganti menjadi kwh meter digital yang dapat memberikan nilai lebih

BAB I PENDAHULUAN 1.1 REVOLUSI KOMUNIKASI KOMPUTER

Kalkulasi Bantuan Korban Bencana Alam Menggunakan Sistem Pakar (Help Victims Of Natural Disasters Calculation Using Expert System)

Desain Software. Arna Fariza PENS. Rekayasa Perangkat Lunak. Materi. Apakah desain software itu? Apakah modularisasi itu? Model

Proses Kerja Automatic Lane Barrier (ALB) Di PT. Jasa Marga (PERSERO) Tbk.

Mesin Pemotong Foil Otomatis

Pertemuan 1. Pengenalan Delphi 7

BAB III ANALISIS DAN PERANCANGAN SISTEM

PENGANTAR SISTEM KENDALI

BAB I PENDAHULUAN. 1.1 Pengenalan Algoritma dan Pemrograman

APLIKASI SOFTWARE PERPUSTAKAAN DIGITAL

system) yang elemennya terdiri dari hardware, software dan brainware. Ketiga

Kompresi Pohon dengan Kode Prüfer

BAB 1 Pengenalan Pemrograman Komputer

Lampiran : Instalasi dan Konfigurasi Sistem

BAB II LANDASAN TEORI

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Pada bab ini akan dibahas tentang tahapan-tahapan yang dilakukan dalam

Proses Software. Tujuan

BAB II. Pengenalan Tipe Data pada VB, Variabel, Konstanta, Operator, Array serta penggunaan Fungsi-Fungsi bawaan dari VB

LAMPIRAN IT POLICY. komputer bagi karyawan yang masuk dan karyawan yang keluar serta bagi

Nama : Rendi Setiawan Nim :

KEMENTERIAN KOPERASI DAN USAHA KECIL DAN MENENGAH REPUBLIK INDONESIA MANUAL REGISTRASI REGISTRASI REGISTRASI

6 Maret Structure of Java [Penyeleksian Kondisi]

Tugas e-learning 1 Komputer Masyarakat

BAB 2 LANDASAN TEORI. Sejak komputer ditemukan, para peneliti telah berpikir adakah kemungkinan agar

Taman edukasi profesi dan Rekreasi anak medan

BAB 3. Gambaran Umum Sistem Informasi Yang Sedang Berjalan

BAB I PENDAHULUAN. sangat membutuhkan alat pengukur kemiringan kendaraan terhadap media yang

BAB IV DESKRIPSI KERJA PRAKTIK. tersebut, diperlukan langkah-langkah sebagai berikut. di harapkan akan dapat menyelesaikan permasalahan yang ada.

3.3. TAHAP METODE PENGUMPULAN DATA

Teknik Informatika S1

BAB III ANALISIS DAN PERANCANGAN SISTEM. menggunakan model waterfall. Pada model waterfall terdapat tahapan analisis

BAB V HASIL DAN PEMBAHASAN. Pengelolaan Kas Fakultas Teknik Universitas 45 Surabaya memiliki

Journal of Control and Network Systems

Dasar Pemrograman Java

BAB IV DESKRIPSI KERJA PRAKTIK. sistem yang ada saat ini pada CV. Rahayu Sentosa. Hasil yang ditemukan dalam

MENTERI NEGARA PENDAYAGUNAAN APARATUR NEGARA REPUBLIK INDONESIA

Bohal K. Simorangkir UTSU Agustus 2013

BAB II LANDASAN TEORI

[Summary] Sistem Informasi Perusahaan Chapter 1 & 2

JURNAL SISTEM PENGAMBILAN KEPUTUSAN PEMILIHAN SEPATU DENGAN METODE PROMETHEE DI TOKO SEPATU STARS

BAB IV DESKRIPSI PEKERJAAN

PENGGUNAAN ALGORITMA GREEDY PADA PERMAINAN CAPSA SUSUN

BAB III ANALISIS_DAN_PERANCANGAN_APLIKASI. kontrak kru yaitu menggunakan metode System Development Lyfe Cycle (SDLC)

BAB III ANALISIS DAN PERANCANGAN

6. Perangkat Lunak Aplikasi perkantoran dan bisnis

SISTEM INFORMASI PENGOLAHAN BANK SAMPAH MALANG

TERMINAL PENUMPANG KAPAL LAUT KALIWUNGU KENDAL TAHUN 2028 JURUSAN ARSITEKTUR FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO

BAB IV DISKRIPSI PEKERJAAN. cara langsung menemui bagian PPQC (Production Planning and Quality Control)

Desain Proyek Efektif: Menggunakan Pengetahuan Pemecahan Masalah

BAB 1 PENDAHULUAN. Setiap usaha yang didirikan dengan orientasi laba (keuntungan) mempunyai

jl. Setiabudhi 193 Bandung Tlp.: (022) Fax : (022) SATUAN ACARA PERKULIAHAN Entry Skill : (kompetensi prasyarat )

BAB 6 METODE PENGUJIAN

Sistem Pendukung Keputusan untuk Investasi Perumahan Area Malang Menggunakan Algoritma Bayesian

LATAR BELAKANG PRINSIP AGILE SOFTWARE DEVELOPMENT

RENCANA PEMBELAJARAN SEMESTER PROGRAM STUDI SISTEM KOMPUTER FAKULTAS TEKNIK ELEKTRO TELKOM UNIVERSITY

meningkatkan/mempercepat kinerja windows 7 tanpa software

Penjelasan Soal Programming

PEMBUATAN APLIKASI PEMINDAI UANG KERTAS DENGAN ALGORITMA VIOLA-JONES

BAB III METODE PENELITIAN. yaitu: Audit Subject, Audit Objective, Preaudit Planning, Audit Procedure &

BAB I PENDAHULUAN.

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

BAB 3 LANDASAN TEORI

TIPS dan TRIK RECODE & AUTOMATIC RECODE

Menggunakan P-Chart dan Diagram Ishikawa pada PT. Ungaran Multi. Engineering, Ungaran". Penelitian tersebut dilakukan di PT.

WEB-BASED SOFTWARE CONFIGURATION MANAGEMENT TOOL UNTUK PENGEMBANGAN SOFTWARE DALAM TIM

PRAKTIKUM 2. Variabel, Tipe Data dan Operator. Tipe data dan variabel. - Microsoft Visual Studio 2010

Pengantar Common Gateway Interface (CGI) dan Perl. - Konsep CGI dan Perl - Lingkungan variabel di Perl - Metode POST dan GET

APLIKASI TEKNOLOGI GREEN COMPUTING MELALUI OPTIMALISASI KINERJA KOMPUTER

Linux Ubuntu Lucid Lynx

PENYUSUNAN DATABASE JARINGAN JALAN KOTA MAKASSAR BERBASIS GIS OPEN SOURCE

BAB II LANDASAN TEORI. implementasi serta pasca implementasi.(rizky, 2011:21). performasi dan fungsi yang diinginkan.

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

BAB 3. TINJAUAN PROFESI DI BIDANG TEKNOLOGI INFORMASI

BAB 2. LANDASAN TEORI dan KERANGKA PEMIKIRAN

sasaran yang dirancang

Vol. 13, No.3, Desember 1999

BAB II ANALISIS DAN PERANCANGAN. Pengertian dari Java adalah bahasa pemrograman. serbaguna. Java dapat digunakan untuk membuat suatu program

Pertemuan 1 PENGERTIAN MANAJEMEN KONSTRUKSI

BAB 4. ANALISIS dan PEMBAHASAN

Juara 1 : Rp ,- Juara 2 : Rp ,- Juara 3 : Rp ,- Honorable Mention (2 tim)

BAB III ANALISIS DAN PERANCANGAN SISTEM. aplikasi penjualan perangkat komputer pada CV. Data Baru. Berdasarkan tahaptahap

BAB 1 PENDAHULUAN. perusahaan harus dapat meningkatkan kinerja dan perfomansinya agar dapat unggul

SKRIPSI APLIKASI DIAGNOSA PENYAKIT DIABETES MELITUS MENGGUNAKAN METODE FUZZY MULTI CRITERIA DECISION MAKING (FMCDM)

ANALISA KAPASITAS DAN TINGKAT PELAYANAN PADA RUAS JALAN WOLTER MONGINSIDI KOTA MANADO

RANGKUMAN APLIKASI PENGOLAHAN DATABASE (Menggunakan Microsoft Access 2007)

Tugas Akhir. Pengembangan Sistem Informasi Manajemen Parkir. Universitas Komputer Indonesia, Bandung

PENGANTAR RUP & UML. Pertemuan 2

Transkripsi:

SPESISIFIKASI SISTEM AUTOMATIC VEHICLE CLASSIFICATION MENGGUNAKAN B-METHOD Studi Mandiri Sftware Engineering Bayu Teny 1006836604 Fakultas Ilmu Kmputer Universitas Indnesia Depk 2011

Abstrak Autmatic Vehicle Classificatin merupakan sebuah sistem terpadu yang terdiri dari perangkat keras dan perangkat lunak, untuk digunakan mengklasifikasikan secara tmatis kendaraan yang melewati sebuah gerbang tl sesuai dengan glngannya. Glngan yang ada telah ditentukan berdasarkan hubungan antara variabel tertentu, misalkan dalam kasus ini melihat jumlah gandar, jumlah rda, apakah bis atau bukan. Lapran studi mandiri ini akan menjelaskan spesifikasi yang diperlukan untuk mengembangkan sistem Autmatic Vehicle Classificatin dengan menggunakan B Methd, sehingga memungkinkan membuktikan kebenaran spesifikasi tersebut dengan lgika matematika, dalam hal ini menggunakan sebuah alat bantu: Atelier B. 1. Pendahuluan Menghasilkan spesifikasi sistem tertanam (embedded system) yang berkualitas dalam arti tidak ambigu dan lengkap merupakan hal yang susah. Kesalahan spesifikasi sering terdeteksi saat dilakukan integrasi terakhir dan sistem testing. Padahal melakukan perbaikan kesalahan pada tahapan sistem testing memerlukan biaya yang 10 sampai 1000 kali dibandingkan melakukan perbaikan tersebut pada tahapan spesifikasi [7]. Sistem Autmatic Vehicle Classificatin merupakan sistem tertanam yang digunakan untuk mengglngkan kendaraan yang masuk dalam sebuah gardu tl sesuai dengan relasi atau aturan antar variabel yang sudah ditentukan. Cnth variabel ini antara lain state dari sensr-sensr yang ada dalam sistem. B merupakan metda untuk menspesifikasikan, mendisain, dan mengembangkan kde prgram dari sebuah sistem. Landasan utamanya adalah teri himpunan dari Zermel-Fraenkel dengan axim f chice, penggunaan knsep subtitusi umum pada mekanisme terstruktur dalam hal ini machine, refinement, dan implementatin [2]. Machine merupakan mekanisme terstruktur digunakan untuk menyatakan spesifikasi, sedangkan refinement dan implementatin merupakan kelanjutan dari spesifikasi yang sudah dibuat dengan hasil akhir kde prgram. Dalam lapran tugas mandiri ini, kita hanya akan menggunakan B untuk menyatakan spesifikasi dan membuktikan spesifikasi tersebut benar dengan alat bantu Atelier B. B-Methd sendiri sudah digunakan untuk berbagai macam slusi, diantaranya adalah: flight cntrl system [7], sebagai embeded verifier untuk java card byte cde [6], autmatic train prtectin [8], autmatic train cntrl tanpa pengemudi [8], fungsinal dari subsistem di mbil seperti: lampu, air bag, mesin, dll [8], pemdelan pintu tmatis untuk jalur kereta api [8]. Atelier B, perangkat lunak yang dikembangkan leh ClearSy System Engineering untuk mendukung B-Methd. Alat ini memungkinkan kita untuk membuktikan kebenaran sebuah mekanisme terstruktur apakah itu machine, refinement, dan implementatin, terhadap sifat-sifat sistem, maupun keterhubungan antara ketiganya. Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 1

Lapran akhir ini akan dirganisasikan sebagai berikut, gambaran singkat tentang Sistem Autmatic Vehicle Classificatin pada Bab 2, teri singkat mengenai B-Methd pada Bab 3, spesifikasi Autmatic Vehicle Classificatin pada Bab 4, dan pemakaian Atelier-B pada Bab 5. 2. Sistem Autmatic Vehicle Classificatin Gambar 1. Autmatic Vehicle Classificatin Sensrs Sistem autmatic vehicle classificatin ini diinstal pada gerbang tl tmatis, dalam artian bahwa pengemudi mendapatkan kartu masuk jalan tl bukan dari petugas melainkan dari sebuah dispenser. Dimana kartu yang diterima leh pengemudi sesuai dengan glngan kendaraannya, pengglngan tersebut disimpulkan dari hasil yang dikirim sensr-sensr yang ada pada sistem. Dari Gambar 1 (mengacu pada referensi [9]) bisa dilihat bahwa autmatic vehicle classificatin terdiri dari enam buah sensr dan sebuah cntrller. Sensr tersebut dan kegunaannya sebagai berikut: Optical beam sensr, digunakan untuk mengetahui kendaraan ada atau tidak ada, selain itu sebagai tanda pemisah antara kendaraan yang di depan dengan yang di belakangnya. Lp cil, mendeteksi apakah ada kendaraan diatasnya. Treadle axel cunting, menghitung banyaknya gandar yang dimiliki leh sebuah kendaraan. Ultrasnic sensr, mengetahui apakah kendaraan bis ataukah bukan. Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 2

Height sensr, mendeteksi tinggi kendaraan (dalam spesifikasi kali ini hasil dari sensr ini belum digunakan). AVC cntrller, untuk menyimpulkan glngan apakah kendaraan yang melalui gerbang tl ini. Untuk saat ini dikenal 5 glngan kendaraan dimana setiap glngan mempunyai tarif yang berbedabeda. Aturan pengglngan kendaraannya adalah sebagai berikut: Glngan 1 aturan 1 : banyaknya gandar 2, dan tidak duble wheell (mbil). Glngan 1 aturan 2 : banyaknya gandar 2, duble wheel, dan kendaraan adalah bis. Glngan 2: banyaknya gandar 2, duble wheel, bukan bis. Glngan 3: banyaknya gandar 3. Glngan 4: banyaknya gandar 4. Glngan 5: banyaknya gandar 5. 3. B Methd Abstract Machine Untuk menyatakan spesifikasi suatu sistem, dalam B kita bisa menyatakannya dalam sebuah Abstract Machine [1]. Dalam sebuah abstract machine kita tidak menggunakan sequencing dan lping didalamnya, karena kita membuat abstract machine bukan untuk mengembangkan kde prgram tetapi lebih membuat spesifikasi dari sistem. Ntasi yang digunakan sering disebut Abstract Machine Ntatin (AMN). Fitur-fitur yang ada dalam ntasi AMN antara lain: pre-cnditin, multiple assignment, bunded chice, guard, dan unbunded chice. Struktur dari sebuah abstract machine yang akan digunakan dalam lapran studi mandiri ini dapat dilihat sebagai berikut (bentuk lebih lengkapnya dapat dilihat pada referensi-referensi yang ada [1][5]): nama_mesin CONSTANTS cnstant 1, cnstant 2,..., cnstant m PROPERTIES ppredicate 1 ppredicate 2... ppredicate n DEFINITIONS definitin 1 ; definitin 2 ;...; definitin SETS SET 1 ; SET 2 ;...; SET p VARIABLES Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 3

variable 1, variable 2,..., variable q INVARIANT ipredicate 1 ipredicate 2... ipredicate r INITIALISATION init 1 init 2... init s peratin 1 ˆ ;. utvalue peratin t (param1, param2) ˆ Penjelasannya sebagai berikut: nama_mesin : merupakan nama abstract machine yang dispesifikasikan. cnstant 1, cnstant 2,..., cnstant m : merupakan daftar knstanta yang berlaku dalam abstract machine nama_mesin. ppredicate 1 ppredicate 2... ppredicate n : adalah daftar prperti yang berlaku dalam nama_mesin, dinyatakan dalam predikat. Predikat-predikat yang ada menjelaskan batasan yang berlaku untuk knstanta-knstanta yang sudah didefinisikan, dalam nama_mesin. definitin 1 ; definitin 2 ;...; definitin : adalah daftar definisi yang berlaku pada nama_mesin, mirip peran makr pada bahasa C. Sebagai cnth: INDEX_MBL == 1..1000, dengan adanya definisi tersebut, setiap kemunculan INDEX_MBL pada klausa-klausa yang lain (misalkan pada klausa ) sebenarnya menggantikan 1..1000. SET 1 ; SET 2 ;...; SET p : adalah definisi kumpulan himpunan yang digunakan dalam nama_mesin. variable 1, variable 2,..., variable q : adalah daftar variabel yang digunakan dalam nama_mesin. ipredicate 1 ipredicate 2... ipredicate r : adalah kumpulan predikat yang menjadi batasan variabel-variabel, yang berlaku dalam nama_mesin. init 1 init 2... init s : merupakan pemberian nilai awal dari nilai variabel-variabel yang ada, nilai tersebut berlaku sampai variabel bersangkutan mendapatkan assignment dalam klausa. peratin 1,..., peratin t : merupakan spesifikasi perasi-perasi yang berlaku dalam nama_mesin. Sebuah perasi bisa dibayangkan seperti methd pada paradigma Object Oriented Prgramming, dan sebuah variabel seperti attribute. Variabel-variabel yang Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 4

berlaku pada abstract machine hanya bisa dirubah dan diakses nilainya melalui sebuah perasi. utvalue merupakan utput parameter dari peratin t, seperti return value dari sebuah methd. param 1, param 2 merupakan input parameter dari, seperti input parameter dari sebuah methd. 4. Spesifikasi Autmatic Vehicle Classificatin Spesifikasi utama dalam AVC adalah: Kendaraan yang masuk harus masuk dalam glngan yang sudah ditentukan. Kendaraan yang masuk memperleh tiket/kartu yang didalamnya terdapat infrmasi glngannya. Dalam B, spesifikasi tersebut dapat dijabarkan sebagai berikut: Nama mesin yang digunakan dalam spesifikasi ini adalah. Daftar knstanta yang ada dalam sistem adalah: maxgandar, merepresentasikan jumlah gandar maksimum yang bisa diterima leh sistem. Dalam abstract machine nilai knkrit dari knstanta tidak harus dinyatakan. maxmbil, merepresentasikan jumlah maximum mbil yang dapat disimpan dalam sistem. CONSTANTS maxgandar, maxmbil Predikat yang harus berlaku atas knstanta-knstanta di atas adalah: maxgandar adalah anggta bilangan natural yang dimulai dari 1, dan maxmbil adalah anggta bilangan 1..MAXINT. CONSTANTS maxgandar, maxmbil Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 5

PROPERTIES maxgandar NATURAL1 maxmbil 1..MAXINT-1 Definisi yang ada adalah: INDEXMBL == 1..maxmbil. CONSTANTS maxgandar, maxmbil DEFINITIONS INDEXMBL == 1..maxmbil Himpunan yang ada dalam sistem: GOLONGAN, himpunan yang merepresentasikan glngan-glngan yang ada dalam sistem. STATUS, himpunan yang merepesentasikan lkasi sebuah mbil terhadap daerah A1 (lihat Gambar 1). KARTUSTS, himpunan yang merepesentasikan status kartu untuk sebuah mbil yang sudah memasuki GTO dan sudah. CONSTANTS maxgandar, maxmbil SETS GOLONGAN = {Glngan1, Glngan2, Glngan3, Glngan4, Glngan5}; STATUS = {belumlewat, didalam, keluar}; KARTUSTS={ntavailable, available} Variabel-variabel yang ada dalam sistem: mbildia1, menyimpan status lkasi dari kendaraan dilihat dari area A1, apakah belum lewat, ada di dalam, ataukah di luar dari A1. Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 6

benarbis, jika nilainya TRUE kendaraan adalah sebuah bis, FALSE jika bukan. axlenb, menyimpan nilai banyaknya gandar yang terdeteksi dari kendaraan. benarduble, jika nilainya TRUE artinya ada rda ganda untuk satu sisi dari sebuah gandar (empat rda dalam satu gandar), FALSE jika tidak benar. treadledublewpress, menyimpan jumlah gandar yang mempunyai rda ganda. mblgl, menyimpan glngan dari sebuah kendaraan. imblgl, indeks dari sebuah kendaraan, menunjukkan urutan masuknya kendaraan ke dalam gerbang tl bersangkutan. glngansudahdiset, untuk mengetahui apakah glngan untuk sebuah kendaraan sudah ditentukan atau belum. Invarian, atau kndisi yang harus selalu terpenuhi untuk setiap variabel dalam adalah: mbildia1 anggta himpunan STATUS, nilainya adalah anggta dari {belumlewat, didalam, keluar}, dan benarbis anggta himpunan BOOL, nilainya TRUE atau FALSE, dan axlenb anggta himpunan {0,1,..., maxgandar}, dan benarduble anggta himpunan BOOL, dan treadledublewpress anggta himpunan {0,1,...,maxgandar}, dan mblgl anggta himpunan dari ttal fungsi dengan dmain {1,2,...,maxmbil} dan range {Glngan1,Glngan2,Glngan3,Glngan4,Glngan5}, artinya semua kendaraan yang tercatat memasuki gerbang tl akan dipetakan ke dalam glngannya, dan imblgl anggta himpunan {1,2,...,maxmbil+1}, dan glngansudahdiset anggta himpunan BOOL. CONSTANTS maxgandar, maxmbil VARIABLES mbildia1, benarbis, axlenb, benarduble, treadledublewpress, mblgl,mblkrt, imblgl, imblkrt, glngansudahdiset INVARIANT mbildia1 STATUS benarbis BOOL axlenb 0..maxgandar benarduble BOOL treadledublewpress 0..maxgandar mblgl INDEXMBL GOLONGAN mblkrt INDEXMBL KARTUSTS imblgl 1..maxmbil+1 imblkrt 0..maxmbil (imblkrt>0mblkrt(imblkrt)=available) Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 7

glngansudahdiset BOOL Inisialisasi dari variabel-variabel dinyatakan sebagai berikut: CONSTANTS maxgandar, maxmbil INITIALISATION mbildia1:=belumlewat benarbis:=false axlenb:=0 treadledublewpress:=0 mblgl:: INDEXMBL GOLONGAN mblkrt:: INDEXMBL KARTUSTS imblgl:=1 imblkrt:=0 glngansudahdiset:=false Berikut ini adalah perasi-perasi yang harus ada dalam sistem: Menandakan sebuah kendaraan itu bis atau bukan, prekndisi yang harus terpenuhi adalah kendaraan ada di area A1 atau sudah keluar dari area A1, dan sensr ultrasnic memberikan tanda bahwa kendaraan yang terdeteksi adalah bis. setbenarbis(frmultrasnic) ˆ (mbildia1=didalam r mbildia1=keluar) benarbis=false frmultrasnic=true benarbis:=true ; Menghitung gandar dari sebuah kendaraan, dengan prekndisi yang harus dipenuhi: kendaraan masih dalam area A1, dan sensr treadle axle cunting memberikan Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 8

sinyal bahwa gandar baru terdeteksi, dan jumlah gandar yang terdeteksi tidak melebihi jumlah maksimum gandar yang ditetapkan. setbenarbis(frmultrasnic) ˆ ; inctraxlecunting(treadleaxle) ˆ mbildia1=didalam treadleaxle=true axlenb<maxgandar axlenb:=axlenb+1 ; Menentukan apakah sebuah kendaraan sudah memasuki area A1, ataukah sudah keluar. Infrmasi lkasi kendaran ini digunakan pada perasi-perasi yang lain: sekiranya kendaraan tersebut sudah keluar untuk menandakan bahwa penghitungan gandar terhadap kendaraan tersebut sudah selesai, sekiranya kendaraan tersebut di dalam A1 berarti penghitungan gandar dimulai atau bisa dilanjutkan. Kendaraan di dalam A1 sekiranya salah satu sensr berikut bernilai TRUE : lp cil, ultrasnic, atau ptical beam. Sedangkan kendaraan dianggap keluar dari A1 jika ketiga sensr tersebut menghasilkan nilai FALSE. setbenarbis(frmultrasnic) ˆ ; psisidia1(lpcil,ultrasnic,pticalbeam) lpcil BOOL ultrasnic BOOL pticalbeam BOOL Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 9

select lpcil=true ultrasnic=true pticalbeam=true mbildia1:=didalam when lpcil=false ultrasnic=false pticalbeam=false mbildia1=didalam mbildia1:=keluar ; Mendeteksi apakah ada gandar dengan rda ganda. Prekndisi yang harus dipenuhi adalah: kendaraan ada di dalam A1 atau sudah keluar dari A1, treadle duble wheel sensr memberitahu adanya gandar dengan rda ganda, selain itu pengecekan dilakukan jika treadle duble wheel sudah tertekan lebih besar atau sama dengan 2. setbenarbis(frmultrasnic) ˆ ; psisidia2(tdwpress, isduble) ˆ (mbildia1=didalam mbildia1=keluar) tdwpress=true isduble BOOL treadledublewpress 2 if isduble=true benarduble:=true ; Menghitung jumlah gandar yang terdeteksi leh treadle duble wheel sensr. Terlepas apakah itu rda ganda ataukah tidak. Prekndisi yang terpenuhi adalah kendaraan di dalam A1 ataukah sudah keluar di A1 dan sensr treadle duble wheel tertekan. Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 10

setbenarbis(frmultrasnic) ˆ ; inctreadledublew(tdwpress) ˆ (mbildia1=didalam mbildia1=keluar) tdwpress=true treadledublewpress<maxgandar treadledublewpress:=treadledublewpress+1 ; Variabel-variabel yang digunakan untuk menglah sebuah kendaraan, harus segera direset, setelah kendaraan tersebut sudah ditentukan glngannya. Sehingga variabel-variabel tersebut bisa digunakan untuk merepresentasikan state dari kendaraan selanjutnya (yang ada dibelakangnya). Prekndisi yang harus terpenuhi adalah kendaraan sudah keluar dari area A1 dan glngan kendaraan sudah ditentukan. setbenarbis(frmultrasnic) ˆ ; resetvariables ˆ mbildia1=keluar glngansudahdiset=true mbildia1:=belumlewat benarbis:=false axlenb:=0 treadledublewpress:=0 glngansudahdiset:=false ; Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 11

Menentukan glngan dari kendaraan menggunakan aturan yang ada. Prekndisi yang harus dipenuhi adalah: kendaraan sudah keluar dari A1 dan indeks kendaraan tidak melebihi dari maksimum kendaraan yang dapat dicatat dalam sistem. setbenarbis(frmultrasnic) ˆ ; menentukanmblgl ˆ mbildia1=keluar imblgl < maxmbil select axlenb=2 benarduble=false mblgl <+ {imblgl Glngan1} when axlenb=2 benarduble=true benarbis=true mblgl <+ {imblgl Glngan1} when axlenb=2 benarduble=true benarbis=false mblgl <+ {imblgl Glngan2} when axlenb=3 mblgl <+ {imblgl Glngan3} when axlenb=4 mblgl <+ {imblgl Glngan4} when axlenb>=5 mblgl <+ {imblgl Glngan5} imblgl:=imblgl+1 glngansudahdiset:=true ; Mengembalikan nilai ke nilai inisialisasi dari variabel yang merepresentasikan jumlah kendaraan yang dicatat dalam sistem, sekiranya nilai variabel tersebut sudah melebih batas maksimum. Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 12

setbenarbis(frmultrasnic) ˆ ; resetindexmbilgl ˆ imblgl = maxmbil + 1 imblgl:= 1 ; Mengembalikan nilai ke nilai inisialisasi dari variabel yang merepresentasikan jumlah kendaraan yang sudah menerima kartu yang dicatat dalam sistem, sekiranya nilai variabel tersebut sudah melebihi batas maksimum. setbenarbis(frmultrasnic) ˆ ; resetindexmbilkartu ˆ imblkrt = maxmbil imblkrt:= 0 ; Menyediakan glngan untuk kendaraan yang sudah diglngkan dan memberi tanda bahwa kartu untuk kendaraan tersebut sudah bisa diambil. Prekndisi yang harus terpenuhi adalah: kendaraan yang akan mengambil kartu glngannya sudah ditentukan, dan kendaraan sebelumnya sudah mengambil kartu, dan indeks yang Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 13

merepresentasikan kendaraan yang sudah mengambil kartu tidak melewati batas maksimum yang sudah ditentukan. setbenarbis(frmultrasnic) ˆ ; valglngan<--ambilkartumbil = glngansudahdiset=true & (imblkrt=0 r (mblkrt(imblkrt)=available & imblkrt>0))& imblkrt+1 <= maxmbil valglngan:=mblgl(imblkrt+1) imblkrt:=imblkrt+1 mblkrt(imblkrt+1):=available ; 5. Atelier B Bantuan yang diberikan leh Atelier B dalam pembuktian spesifikasi sebuah abstrack machine ada dua macam, yaitu: type check dan prf bligatin. Type check dilakukan di awal sebelum kita membuktikan prf bligatin (PO). Dalam tahapan ini Atelier B akan mecari kesalahan sintaks yang mungkin terjadi dalam mekanisme terstruktur kita, apakah abstract machine, ataukah refinement, atau implementatin, dalam hal ini spesifikasi dalam abstrack machine. Setelah spesifikasi terbebas dari kesalahan sintaks, kita bisa melangkah menghasilkan PO, untuk kemudian dibuktikan kebenarannya. Berikut ini adalah sebuah PO yang diambil dari perasi inctraxlecunting: axlenb 0..maxgandar axlenb+1 0..maxgandar Banyaknya PO yang ditemukan leh Atelier B dalam spesifikasi ini adalah sebanyak 30. N Klausa/Operasi Banyaknya PO 1 Initialisatin 3 2 setbenarbis 0 3 inctraxlecunting 1 Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 14

N Klausa/Operasi Banyaknya PO 4 psisidia1 0 5 psisidia2 0 6 inctreadledublew 1 7 resetvariables 1 8 menentukanmblgl 18 9 getglmbilke 0 10 resetindexmbilgl 1 11 resetindexmbilkrt 1 12 ambilkartumbil 4 Untuk membuktikan semua PO terkadang kita tidak bisa mengandalkan bantuan Atelier B, untuk itu kita bisa memberikan bantuan atau melakukan pembuktian secara interaktif. Pada kasus ini, spesifikasi yang dibuat berhasil dibuktikan secara tmatis. Berikut screen capture dari hasil pemeriksaan sintaks dan pembuktian PO secara tmatis. Gambar 2. Screen Capture Pembuktian Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 15

Daftar Pustaka [1] J.R. Abrial. The B Bk - Assigning Prgrams t Meanings. Cambridge University Press, 1996. ISBN 0-521-49619-5. [2] Dminique Cansell, Dminique Méry. Fundatins f B Methd. Cmputing and Infrmatics, Vl. 22, 2003, 1 31. [3] J.R. Abrial. Frmal Methd: Thery Becming Practice. Jurnal f Universal Cmputer Science, vl. 13, n. 5 (2007), 619-628. [4] Atelier B. User Manual Versin 4. ClearSy System Engineering. [5] B Language Reference Manual Versin 1.8.5. ClearSy System Engineering. [6] Ludvic Casset. Develpment f an Embedded Verifier fr Java Card Byte Cde using Frmal Methds. Gemplus Research Labratry. [7] Liu Jiufu, Yang Zhng. UML and B Methd Based Analysis and Refinement fr Flight Cntrl Sftware f Unmanned Aerial Vehicle. 2008 Internatinal Cnference n Cmputer Science and Sftware Engineering. [8] Industrial Use f B Methd. ClearSy System Engineering. [9]...Lapran studi mandiri Iis... Studi Mandiri Sftware Engineering 2011 Bayu Teny Halaman 16