SISTEM PENGATURAN LAMPU LALULINTAS BERBASIS FUZZY.

(1)

SISTEM PENGATURAN LAMPU LALULINTAS BERBASIS

FUZZY

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Persyaratan

Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika

Disusun oleh :

MUKHAMMAD BAGUS KURNIAWAN

NPM: 0534010262

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR

SURABAYA

2010


(2)

SISTEM PENGATURAN LAMPU LALULINTAS BERBASIS FUZZY

Disusun Oleh :

MUKHAMMAD BAGUS KURNIAWAN

0534010262

Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skripsi

Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur

Pada Tanggal 26 november 2010

Pembimbing :

Tim Penguji :

1. 1.

Basuki Rahmat,S.Si.MT

Prof. Dr. Ir. H. Akhmad Fauzi, MMT

NIP. 369 070 602 09

NIP. 030 212 918

2. 2.

Budi Nugroho,S.Kom

Budi Nugroho,S.Kom

NPT. 380 090 50 205

NPT. 380 090 50 205

3.

Dian Puspita Hapsari,S.Kom,M.Kom

NIP.

Mengetahui,

Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur

Ir. Sutiyono, MT

NIP. 030 191 025


(3)

SISTEM PENGATURAN LAMPU LALULINTAS BERBASIS FUZZY

Disusun Oleh :

MUKHAMMAD BAGUS KURNIAWAN

0534010262

Telah disetujui untuk mengikuti Ujian Negara Lisan

Gelombang II Tahun Akademik 2010/2011

Pembimbing I

Basuki Rahmat, S.Si, MT

NPT. 369 070 602 09

Pembimbing II

Budi Nugroho,S.Kom

NPT. 380 090 50 205

Mengetahui,

Ketua Program Studi Teknik Informatika

Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur

Basuki Rahmat, S.Si, MT

NPT. 369 070 602 09


(4)

KETERANGAN REVISI

Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut :

Nama

: MUKHAMMAD BAGUS KURNIAWAN

NPM

:

0534010262

Program Studi : TEKNIK INFORMATIKA

Telah mengerjakan revisi/ tidak ada revisi pra rencana (design)/ skripsi ujian lisan

Gelombang II Tahun Akademik 2010/2011 dengan judul :

SISTEM PENGATURAN LAMPU LALU LINTAS BERBASIS FUZZY ”

Surabaya, 01 desember 2010

Dosen yang memerintahkan revisi :

1)

Prof. Dr. Ir. H. Akhmad Fauzi,MMT

NIP. 030 212 918

2) Budi Nugroho,S.Kom

NPT. 380 090 50 205

3) Dian Puspita Hapsari,S.Kom,M.Kom

NPT.

\

Mengetahui,

Pembimbing I

Pembimbing II

Basuki Rahmat, S.Si, MT

Budi Nugroho,S.Kom

NPT. 369 070 602 09

NPT. 380 090 50 205


(5)

Pembimbing I : Basuki Rahmat, S.Si, MT Pembimbing II : Budi Nugroho,S.Kom

Penyusun : Mukhammad Bagus Kurniawan

ABSTRAK

Dalam era modern ini penggunaan pengaturan lampu lalulintas ini

menggabungkan antara perangkat keras yang berupa rangkaian elektronik dengan sebuah

komputer.Cara kerja aplikasi ini adalah mengatur lama waktu lampu lalulintas menyala

dengan menerapkan logika fuzzy pada program.Dimana dua jalur merupakan jalur satu

arah dan dua jalur merupakan jalur dua arah, setelah logika fuzzy diterapkan, maka

sensor pada perangkat alat elektronik akan membagiwaktu secara otomatis untuk

menentukan lama nyala lampu berdasarkan jumlah kendaraan.Sistem pengendalian

lampu lalulintas yang baik akan secara otomatis menyesuaikan diri dengan kepadatan

arus lalulintas pada jalur yang diatur.Dengan penerapan sistem pengendalian fuzzy yaitu

sistem yang mempunyai dua masukan dan satu keluaran.

Program yang digunakan untuk melakukan pengaturan lampu lalulintas

berdasarkan masukan jumlah kendaraan yang lewat pada jalur satu dan jalur dua.Program

ini memerlukan alat berupa miniatur perempatan jalan yang di hubungkan ke aplikasi

pengaturan lampu lalulintas menggunakan port paralel untuk menjalankannya.

Dengan penggunaan logika fuzzy dalam aplikasi ini digunakan secara terus

menerus sehingga dibutuhkan lebih dari satu operator untuk menjalankan aplikasi

ini.diharapkan password yang digunakan untuk mengakses aplikasi ini dibedakan untuk

setiap operator.

Kata Kunci : Lampu lalulintas, Sensor, Logika Fuzzy


(6)

Alhamdullilah, puji syukur penulis panjatkan kehadirat Allah Yang Maha Esa

atas segala bimbingan, kekuatan, dan kesehatan yang diberikan-Nya, sehingga

penulis dapat menyelesaikan laporan tugas akhir ini.

Penulis menyadari bahwa selesainya laporan tugas akhir ini tidak lepas dari

bantuan berbagai pihak, baik dari segi material maupun dari segi spiritual.Atas

segala bimbingan, dorongan, dan bantuan baik secara langsung maupun tidak

langsung yang telah diberikan, maka melalui kesempatan ini penulis

mengucapkan terima kasih yang sebesar-besarnya kepada :

1.

Kedua orangtua tercinta dan mbak yang telah memberikan doa, kasih sayang,

dan ilmu yang berguna kepada penulis serta keikhlasannya telah memberikan

biaya kuliah.

2.

Bapak Ir Teguh Sudarto, MM selaku Rektorat Universitas Pembangunan

Nasional ” Veteran ” Jawa Timur.

3.

Bapak Ir Sutiyono,MT selaku Dekan Fakultas Teknologi Industri UPN

”Veteran” Jawa Timur.

4.

Bapak Basuki Rahmat,S.Si,MT Ketua Program Studi Teknik Informatika

UPN ”Veteran” Jawa Timur.

5.

Bapak Basuki Rahmat,S.Si,MT dan Bapak Budi Nugroho,Skom selaku Dosen

Pembimbing I dan II yang telah memberikan pengarahan dan ilmunya dalam

pengerjaan Tugas Akhir ini.

6.

Para Bapak/Ibu Dosen Pengajar di Program Studi Teknik Informatika.


(7)

iii

8.

Buat sahabat dan teman-teman penulis, terima kasih telah menjadi sahabat dan

teman yang baik buat penulis.Sugiarti, Ainun Syifa S, Yoehar Tubagus S, Eka

Wijaya Kurniawan, Rizal Hakim, Bagus Burhanun Na’im, Ibrahim Tauhid,

Ibnoe Qoyim, Ricky Hedi Aprianto, Ferry Syaifullah Arifin, Ahmad Naiim,

Andre Muslim, Dedy Budiawan, Dodik Irmawan, Dodik PP, Apryan B,

Andriyani, Tulus S, Eko Fajar, Vidi Laksono, Khoirul Huda, Sari Dwi Jayanti,

Yogie S,Eko Candra S.

9.

Semua teman-teman semua yang belum disebutkan, terima kasih banyak atas

do’a dan nasehatnya. Sukses selalu buat semua.

Semoga dengan keikhlasan dan kesabaran yang telah diberikan, Allah

balas dengan ganjaran yang setimpal.

Penulis sadar bahwa tidak ada yang sempurna di dunia ini, termasuk

dalam penyelesaian Tugas Akhir ini.Oleh karena itu dengan kerendahan hati

penulis menerima segala bentuk kritik dan saran dari para pembaca sekalian,

semoga menjadi bekal bagi penulis untuk senantiasa melakukan koreksi dengan

harapan lebih baik.

Akhirnya, dengan sedikit tulisan ini semoga akan memberi manfaat bagi

para pembaca semua, Amin.

Surabaya,

oktober

2010


(8)

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... viii

BAB I PENDAHULUAN ... 1

1.1

Latar Belakang ... 1

1.2

Perumusan Masalah ... 2

1.3

Batasan Masalah ... 2

1.4

Tujuan ... 3

1.5

Manfaat ... 3

1.6

Metode Penelitian ... 3

1.6.1

Tinjauan Pustaka

... 3

1.6.2

Pengumpulan Data ... 4

1.6.3

Perencanaan Perangkat Keras ... 4

1.6.4

Perencanaan Perangkat Lunak ... 4

1.6.5

Pembuatan Perangkat Keras

... 4

1.6.6

Pembuatan Perangkat Lunak ... 5

1.6.7

Pengujian Sistem

... 5

1.6.8

Pengambilan Kesimpulan

... 5

1.6.9

Penulisan Laporan Tugas Akhir

... 5

1.7

Sistematika Penulisan ... 5

BAB II TINJAUAN PUSTAKA ... 8

2.1

Metodologi Rekayasa Perangkat Lunak ... 8

2.1.1

Analisa Kebutuhan ... 8

2.1.2

Membangun Model Analisis ... 9

2.2

System Development Life Style ... 9

2.3

Data Flow Diagram ... 12


(9)

2.5.1

Proses Fuzzy

... 20

2.5.1.1.

Proses Fuzzyfikasi ... 20

2.5.1.2.

Proses Evaluasi Kaedah ... 20

2.5.1.3.

Proses Defuzzyfikasi ... 21

2.6

Diagram Alur ( Flowchart ) ... 22

2.6.1

Pembuatan Flowchart ... 23

2.7

Borland Delphi ... 24

2.7.1

Membuat Sebuah Form ... 24

2.7.2

Mengganti Nama Form ... 24

2.7.3

Menyimpan Form

... 25

2.8

Teori Gerbang Paralel

... 26

2.8.1

Latar Belakang Gerbang Paralel

... 26

2.8.2

Diagram Pin Port Paralel ... 27

2.8.3

Alamat Gerbang Paralel ... 30

2.9

Pengujian Perangkat Lunak

... 32

2.9.1

Teknik Pengujian Perangkat Lunak ... 33

BAB III ANALISA DAN PERANCANGAN SISTEM ... 34

3.1

Analisa Sistem ... 34

3.2

Pemodelan Analisis ... 37

3.2.1

Diagram Konteks

... 37

3.2.2

Diagram Level Nol

... 38

3.3

Pemodelan Logika Dengan Diagram Use Case

... 39

3.4

Pemodelan Dengan Logika Fuzzy

... 41

3.4.1

Grafika Range Pada Logika Fuzzy ... 43

3.4.2

Tahapan Logika Fuzzy ... 44

3.5

Pemodelan Dengan Diagram Alur

... 45

3.6

Pemodelan Antarmuka

... 48


(10)

4.2.

Antar Muka Login ... 52

4.3.

Antar Muka Simulasi

... 53

BAB V UJI COBA DAN EVALUASI ... 59

5.1.

Pengujian ...

59

5.2.

Lingkungan Pengujian

... 59

5.3.

Skenario Pengujian ... 60

5.4.

Dokumen Hasil Pengujian ... 61

5.5.

Analisis Hasil Pengujian ... 63

5.6.

Teori Sampling

... 64

5.7.

Test Program

... 65

BAB VI PENUTUP ... 71

6.1.

Kesimpulan ... 71

6.2.

Saran ... 72

DAFTAR PUSTAKA ... 73


(11)

Gambar 2.1. Classic life cycle ( waterfal model )

... 12

Gambar 2.2. Contoh diagram use case ………..………. 17

Gambar 2.3. Perbedaan Fuzzy Logic dan Boolean Logic ……….. 18

Gambar 2.4. Istilah yang di gunakan dalam fuzzy ………. 18

Gambar 2.5. Proses Fuzzyfikasi

….………...……… 20

Gambar 2.6. Proses evaluasi kaidah

….……….………….. 21

Gambar 2.7. Proses deffuzzyfikasi

….………... 22

Gambar 2.8. Simbol Flowchart

……… 23

Gambar 2.9. Jendela object inspector

……… 25

Gambar 3.1. Alur Kerja Aplikasi

……… 35

Gambar 3.2. Diagram Konteks

……… 36

Gambar 3.3. Diagram Level Nol

……… 38

Gambar 3.4. Use Case Pengaturan Lampu Lalulintas

……….. 39

Gambar 3.5. Grafik Range Logika Fuzzy ……….. 43

Gambar 3.6. Tahapan Logika Fuzzy

……….. 44

Gambar 3.7. Diagram Alur Aplikasi Pengaturan Lampu Lalulintas ………… 46

Gambar 3.8. Antar Muka Login Aplikasi Pengaturan Lampu Lalulintas ... 47

Gambar 3.9. Antar Muka Aplikasi Pengaturan Lampu Lalulintas

... 48

Gambar 4.1. Miniatur Perempatan Jalan ... 50

Gambar 4.2. Antar Muka Login

………. 51

Gambar 4.3. Antar Muka Simulasi

………. 52


(12)

viii

Tabel 2.1. Simbol DFD

……….. 13

Tabel 2.2. Notasi Diagram Use Case

………. 16

Tabel 2.3. Diagram Pin Konektor DB – 25

………. 28

Tabel 2.4. Fungsi Pin Konektor DB – 25 dan Centronic

……….. 29

Tabel 2.5. Alamat Gerbang ( Port Paralel )

………. 31

Tabel 3.1. Fuzzy Associative Memory Untuk Kepadatan Lalulintas

……… 42

Tabel 4.1. Skenario Pengujian Perangkat Lunak

... 60


(13)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Lalulintas yang teratur merupakan harapan dari semua pengguna jalan raya. Seiring dengan pertambahan penduduk dan pengguna jalan raya maka tingkat kepadatan pengguna jalan tidak dapat dihindari khususnya dipersimpangan jalan. Selama ini sistem pengaturan lampu lalulintas menggunakan pengaturan yang hanya berdasarkan waktu tetap yaitu lama waktu yang sudah ditentukan pada setiap lampu lalulintas untuk menyala tanpa memperhatikan tingkat kepadatan lalulintas yang ada.

Tentunya dengan cara ini tingkat kemacetan tidak dapat dikendalikan dengan baik, karena tingkat kepadatan pada persimpangan jalan tidak selalu sama. Pergerakan lalulintas pada persimpangan adalah cukup kompleks karena variasi dari volume lalulintas sangat bergantung pada jam dan hari dalam satu minggu, maupun pada beberapa faktor lain.

Sistem pengendalian lampu lalulintas yang baik akan secara otomatis menyesuaikan diri dengan kepadatan arus lalulintas pada jalur yang diatur. Dengan penerapan sistem pengendalian fuzzy yaitu sistem yang mempunyai dua masukan dan satu keluaran. Masukan adalah jumlah kendaraan pada suatu jalur yang sedang diatur dan jumlah kendaraan pada jalur, dan keluaran berupa nyala lampu hijau pada jalur masukan satu. Penggunaan dua masukan dimaksudkan supaya sistem tidak hanya memperhatikan sebaran kendaraan pada jalur yang sedang diatur saja, tetapi juga memperhitungkan kondisi jalur yang lain.


(14)

Sistem pengaturan lampu lalulintas yang dirancang ini,juga mempertimbangkan masukan interupsi sehingga pengaturan lampu lalulintas yang sedang berjalan akan dihentikan sementara untuk melayani jalur yang menyela.fasilitas ini digunakan untuk keadaan darurat atau mendesak, misalnya seperti pelayanan mobil pemadam kebakaran atau mobil ambulance.Jika lebih dari satu jalur interupsi, maka yang dilayani dulu adalah yang pertama menekan tombol interupsi itu.

1.2 Perumusan Masalah

Untuk dapat menyelesaikan itu semua maka dalam tugas akhir ini akan dibahas beberapa pokok, antara lain :

a. Membuat aplikasi untuk melakukan pengaturan lama waktu lampu lalulintas menyala hijau dan merah secara otomatis berdasarkan jumlah kendaraan. b. Memahami pengaksesan port paralel ( data, kontrol, dan status) pada Borlan

Delphi 7.0.

c. Untuk memenuhi sistem pengaturan lampu lalulintas secara optimal, yaitu dengan melakukan pengaturan berdasarkan panjangnya antrian kendaraan yang dideteksi oleh sensor pada persimpangan jalan.

1.3 Batasan Masalah

Pada tugas akhir ini, diperlukan batasan batasan masalah agar pembahasan tidak terlalu luas dan menyimpang dari topik. Pembatasan masalah yang diberikan.

batasan masalah adalah sebagai berikut :

 Penulis hanya membahas aplikasi dari sistem pengaturan lampu lalulintas berdasarkan metode fuzzy menggunakan Borland Delphi 7.0


(15)

 Aplikasi yang penulis buat hanya mempresentasikan masukan sensor pada program yang menghasilkan lama waktu lampu lalulintas menyala pada setiap jalur berdasarkan banyaknya jumlah kendaraan pada jalur satu dan jalur dua, yaitu dua jalur satu arah dan dua jalur dua arah dimana lampu lalulintas berada pada jalur yang dua arah. Dan peletakan sensor berada pada jalur dua arah pada arah menuju lampu lalulintas.Dengan menggunakan sebuah rangkaian elektronik sederhana dengan miniatur perempatan lampu lalulintas.

1.4 Tujuan

Melakukan analisis, perancangan, pembuatan aplikasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan Borland Delphi 7.0, dan melakukan pengujian program yang telah dibuat. Metode yang digunakan adalah metode waterfall.

1.5 Manfaat

Membuat aplikasi yang berguna untuk kelancaran lalulintas, terutama dipersimpangan jalan yang menggunakan lampu lalulintas.

1.6. Metodologi Penelitian

Metodologi yang digunakan dalam pembuatan skripsi ini meliputi beberapa bagian, yaitu :

1.6.1. Tinjauan pusataka

Tinjauan pustaka ini meliputi studi mengenai teori, instruksi-instruksi dan fitur-fitur dari logika fuzzy.


(16)

1.6.2. Pengumpulan data

Pengumpulan data yang dilakukan meliputi pengumpulan data pengaturan lampu lalulintas dan logika fuzzy.

1.6.3. Perencanaan perangkat keras

Perencanaan perangkat keras pada sistem ini meliputi :

1) Perencanaan perangkat keras pada miniatur perempatan lampu lalulintas.

2) Perencanaan perangkat keras lampu lalulintas. 3) Perencanaan perangkat keras pada server. 1.6.4. Perencanaan perangkat lunak

Perencanaan perangkat lunak pada sistem ini meliputi :

1) Perencanaan perangkat lunak miniatur perempatan lampu lalulintas 2) Perencanaan perangkat lunak lampu lalulintas.

3) Perencanaan perangkat lunak pada server. 1.6.5. Pembuatan perangkat keras

Pembuatan perangkat keras pada sistem ini meliputi : 1) Pembuatan perangkat keras miniatur perempatan lalulintas. 2) Pembuatan perangkat keras lampu lalulintas.


(17)

1.6.6. Pembuatan perangkat lunak

Pembuatan perangkat lunak pada sistem ini meliputi :

1) Pembuatan perangkat lunak miniatur perempatan lampu lalulintas. 2) Pembuatan perangkat lunak lampu lalulintas.

3) Pembuatan perangkat lunak pada server. 1.6.7. Pengujian sistem

Pengujian sistem pada tugas akhir ini akan dilakukan dengan menguji sistem seperti pada saat sistem pengaturan lampu lalulintas tersebut akan digunakan pada alat miniatur perempatan lampu lalulintas.

1.6.8. Pengambilan kesimpulan

Pengambilan kesimpulan berdasarkan hasil pengujian yang telah dilakukan terhadap sistem yaitu meliputi kesimpulan terhadap padat tidaknya pengaturan lampu lalulintas .

1.6.9. Penulisan laporan tugas akhir

Penulisan laporan tugas akhir diambil dari hal-hal yang telah dilakukan selama pengerjaan mulai dari awal hingga selesai pengerjaan.

1.7 Sistematika Penulisan

Untuk membahas permasalahan yang telah disampaikan diatas, maka dalam tugas akhir ini dibuat sistematika penulisan sebagai berikut :


(18)

BAB I PENDAHULUAN

Bab ini berisikan tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan pembuatan tugas akhir ini.

BAB II TINJAUAN PUSTAKA

Pada bab ini dijelaskan tentang teori-teori serta penjelasan-penjalasan yang dibutuhkan dalam pembuatan Perancangan Sistem Aplikasi Sistem Pengaturan Lampu Lalulintas Berbasis Fuzzy.

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab ini dijelaskan tentang garis besar dan fokus dari rancangan aplikasi, juga berisi tentang alur proses program serta hal-hal yang diperlukan dalam implementasi. Seperti, Flowchart, Data Flow

Diagram (DFD), Entity Relational Diagram (ERD), dan Desain

Antar muka.

BAB IV IMPLEMENTASI SISTEM

Pada bab ini berisikan bagaimana implementasi aplikasi yang telah dibuat berdasarkan desain sebelumnya yang telah dibuat.

BAB V UJI COBA DAN EVALUASI

Pada bab ini menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat. Uji coba program dapat dilakukan pada akhir dari tahap-tahap analisa sistem, desain sistem dan tahap penerapan sistem atau


(19)

implementasi sistem. Sasaran dari uji coba program adalah untuk menemukan kesalahan-kesalahan dari program yang mungkin terjadi sehingga dapat segera diperbaiki.

BAB VI PENUTUP

Bab ini berisi kesimpulan yang diperoleh dari hasil penganalisaan data dalam bab-bab sebelumnya. Juga berisi tentang saran-saran yang diharapkan dapat bermanfaat dan sesuai dengan tujuan penelitian tugas akhir ini.


(20)

BAB II

TINJAUAN PUSTAKA

2.1 Metedeologi Rekayasa Perangkat Lunak

Roger S.Pressman,Ph.D mengatakan metode rekayasa perangkat lunak memberikan teknik untuk membangun perangkat lunak.Metode-metode itu menyangkut serangkaian tugas yang luas menyangkut analisis kebutuhan, kontruksi program, desain, pengujian, dan pemeliharaan. Rekayasa perangkat lunak mengandalkan pada serangkaian prinsip dasar yang mengatur setiap area teknologi dan menyangkut aktivitas pemodelan serta teknik-teknik deskriptif. 2.1.1Analisa Kebutuhan

Berikut ini adalah beberapa analisa kebutuhan dalam rekayasa perangkat lunak :

1. Tanya beberapa pertanyaan yang menjelaskan :

a) pemahaman dari permasalahan

b) orang yang membutuhkan solusi

c) keadaan dari solusi yang diinginkan

d) efektifitas komunikasi dan kolaborasi awal antara konsumen dengan developer.

2. Perolehan :

Memperoleh kebutuhan dari semua stakeholder.

3. Penguraian :

Membuat model analisis yang mampu melakukan identifikasi kebutuhan data, fungsi, dan perilaku.


(21)

4. Negoisasi

Menyepakati sistem penyajian yang realistis bagi konsumen dan developer. 2.1.2Membangun Model Analisis

Elemen-elemen model analisis :

1) Elemen-elemen berbasis skenario

a. Fungsional: memproses narasi untuk fungsi perangkat lunak b. Use Case: gambaran interaksi antara aktor dan sistem 2) Elemen-elemen berbasis class

a. Dipengaruhi oleh skenario

3) Elemen-elemen perilaku/behavioral

a. State Diagram

4) Elemen-elemen berorientasi aliran

a. Data Flow Diagram

2.2 System Development Life Cycle (SDLC)

Menurut Kenneth E. Kendall, Julie E. Kendall.System Development Life Cycle (selanjutnya disebut SDLC) adalah langkah pendekatan untuk analisa dan desain dari suatu sistem yang dikembangkan melalui daur tertentu dari analisis dan aktifitas pengguna.SDLC dibagi dalam lima langkah meski setiap langkah dijelaskan terpisah namun merupakan satu kesatuan dan beberapa aktifitas dapat dilakukan bersamaan dan berulang-ulang.Maka lebih muda menggunakan SDLC ini sebagai suatu langkah, bukan suatu tingkat pengembangan, langkah-langkah pada SDLC tersebut adalah :


(22)

1) System Initation and Feasibility Study

Melakukan dokumentasi atas sistem yang ada saat ini, tujuan, dan manfaat pembuatan sistem baru

2) System analysis

Membuat sketsa awal untuk perencanaan proyek dan dokumentasi untuk

sistem baru.

3) System design

Menghasilkan spesifikasi tabel basis data, spesifikasi masukan/keluaran, spesifikasi modul program dan rencana proyek yang lebih rinci

4) Programming

Mengkonversikan perancangan logikal ke dalam operasi coding dengan menggunakan bahasa pemrograman tertentu

5) Testing

Pengguna melakukan testing terhadap program untuk memastikan semua fungsi/modul program dapat berjalan secara benar.

The classic life cycle merupakan salah satu metode penerapan SDLC dan sering juga disebut sebagai “waterfall model”. Dengan menerapkan metode ini, diharapkan bisa mendapatkan pendekatan dan pengembangan perangkat lunak yang sistematis dan sekuensial, yang dimulai dengan level sistem dan dilanjutkan melalui analisa, perancangan, coding, testing, dan perawatan sistem.Berikut ini penjelasan dari level-level yang terdapat pada model waterfall model menurut Roger S Pressman:


(23)

1) Level System Engineering

Level ini menekankan pada pengumpulan kebutuhan pengguna pada tingkatan sistem dengan sejumlah kecil analisis serta desain tingkat puncak. 2) Level analisis

Level ini sama dengan level sebelumnya namun level ini pengumpulan kebutuhan diintensifkan dan difokuskan khususnya pada perangkat lunak.

3) Level design

Adalah proses yang berfokus pada tiga atribut dalam sebuah program antara lain struktur data, perancangan menu, dan perancangan antar muka.

4) Level code

Adalah desain yang diterjemahkan kedalam bentuk mesin yang dibaca oleh komputer.

5) Level testing

Setelah code dibuat, pengujian program dimulai,Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional pengujian untuk menemukan kesalahan-kesalahan dan memastikan input memberikan hasil yang aktual sesuai dengan yang dibutuhkan.

6) Level maintenance

Adalah perubahan perangkat lunak setelah perangkat lunak diserahkan kepada pelanggan.Maksudnya perubahan bisa terjadi karena adanya perangkat periperal baru ataupun sistem operasi baru yang membutuhkan perkembangan unjuk kerja.


(24)

Untuk lebih jelasnya lagi bisa di lihat pada gambar dibawah ini

Gambar 2.1 Classic Life Cylce (waterfall model)

2.3 Data Flow Diagram (DFD)

Data Flow Diagram (DFD) merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.

Sistem pengolahan data DFD ini memiliki simbo-simbol.Berikut ini adalah simbol-simbol DFD.

System Engineering

Analisis

Design

Code

Testing

Main tenance


(25)

Tabel 2.1 Simbol DFD

Simbol Keterangan Simbol

Terminator / Entitas Luar Entitas diluar sistem yang berkomunikasi / berhubungan langsung dengan system

Proses Menggambarkan

transformasi input menjadi output

Data store

Digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda bersifat jamak

Alur data

Digunakan untuk menerangkan

perpindahan data / paket data dari satu bagian ke bagian lainnya


(26)

Tidak ada aturan baku untk menggambarkan DFD, tapi dari berbagai referensi yang ada, secara garis besar :

1) Buat diagram konteks

Diagram konteks, merepresentasikan seluruh elemen sistem sebagai sebuah bubble tunggal dengan data input dan output yang ditunjukan oleh anak panah yang masuk dan keluar secara berurutan. Cara untuk membuat diagram konteks adalah sebagai berikut :

a.tentukan nama sistemnya b.tentukan batasan sistemnya

c.tentukan terminator apa saja yang ada dalam sistem

d.tentukan apa yang diterima/diberikan terminator dari/pada sistem. 2) Buat diagram level satu

Diagram ini digunakan untuk menggambarkan arus data secara lebih lengkap dari tahapan-tahapan proses pada diagram konteks, biasanya pada level satu dapat berisi lima atau enam bubble dengan anak panah yang saling menghubungkan dan setiap proses pada level ini merupakan subfungsi dari seluruh sistem yang digambarkan di dalam diagram konteks.Cara untuk menggambarkan diagram level satu adalah sebagai berikut :

a. temukan proses yang lebih kecil (sub-proses) dari proses utama yang ada di level konteks

b.tentukan apa yang diberikan atau diterima masing- masing sub-proses pada atau dari sistem dan perhatikan konsep keseimbangan.


(27)

c. apabila diperlukan, munculkan data store (transaksi) sebagai sumber maupun tujuan alur data.

3) DFD level dua dan tiga

Diagram ini merupakan dekomposisi dari level sebelumnya. Proses dekomposisi dilakukan sampai dengan proses siap dituangkan ke dalam program.Aturan yang digunakan sama dengan level satu.

2.4 Diagram use case

Diagram use case menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana“. Sebuah use case merepresentasikan sebuah interaksi antara aktor dan sistem. Use case merupakan sebuah pekerjaan tertentu,misalnya login ke dalam sistem, membuat sebuah daftar belanja, dan sebagainya.

Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Diagram use case dapat sangat membantu bila kita sedang menyusun persyaratan sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang kasus pengujian untuk semua corak (feature) yang ada pada sistem. Sebuah use case dapat meliputi (include) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang ditampung akan dipanggil setiap kali use case yang meliputi dieksekusi secara normal.Sebuah use case dapat ditimpung oleh lebih dari satu use case lain, sehingga duplikasi fugnsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum (common).


(28)

Sebuah use case juga dapat meluas (extend) use case lain dengan tingkah lakunya sendiri. Sementara hubungan generialisasi antar use case untuk menunjukan bahwa use case yang satu merupakan spesialisasi dari table yang lain.tabel 2.2 menjelaskan empat komponen diagram use case, yaitu :

Tabel 2.2 Notasi diagram use case

Notasi Nama Keterngan

Actor Actor adalah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Jangan memberi nama aktor dengan nama orang.aktor dapat berupa sistem lain di luar sistem yang dikembangkan

System Sistem berupa ruang lingkup aplikasi yang dikembangkan

Use case

Use case adalah kegiatan atau fungsi yang dilakukan oleh actor, diberi nama sesuai fungsi yang dilakukan oleh actor

Langkah-langkah membuat diagram use case : a. Identifikasi semua aktor

b. Identifikasi semua use case

c. Urutkan prioritas use case d. Rincilah setiap use case


(29)

e. Indentifikasi adanya generalisasi tiap use case

f. Identifikasi hubungan include

g. Identifikasi hubungan extend

h. Gambarkan diagram use case.

Contoh dari diagram use case bisa dilihat dibawah ini

Gambar 2.2 Contoh Diagram Use Case

Dari gambar 2.2 terdapat aplikasi Sistem Informasi Nilai yang dipergunakan dua aktor,yaitu Asisten Praktikum dan Mahasiswa. Asisten Praktikum dapat menentukan nilai praktikum mahasiswa.mahasiswa dapat melihat info nilai praktikum.

2.5 Sistem Fuzzy

System fuzzy ditemukan pertama kali oleh Prof.lotfi Zadeh pada pertengahan tahun 1960 di Universitas California.sistem ini diciptakan karena boolean logic tidak mempunyai ketelitian yang tinggi, hanya mempunyai logika 0 dan 1 saja.Sehingga untuk membuat sistem yang mempunyai ketelitian yang tinggi maka kita tidak dapat menggunakan Boolean logic.Bedanya fuzzy dengan Boolean logic dapat diilustrasikan dibawah ini.


(30)

Gambar 2.3 Perbedaan Fuzzy Logic dengan Boolean Logic

Dari gambar 2.3 pada saat suhu berada pada 75° maka sistem yang pertama akan bingung karena batas kondisi dingin < 75 dan kondisi panas >75 °, pada fuzzy logic, suhu 75° dapat dinyatakan dengan 0,50 dingin dan 0,50 panas. Pengambilan nilai 0,50 berasal dari proses fuzzifikasi yang akan diterangkan pada proses fusifikasi.

Gambar 2.4 Istilah yang digunakan dalam Fuzzy

Pada gambar diatas dapat dilihat istilah yang digunakan dalam fuzzy dan keterangannya adalah sebagai berikut :


(31)

1) Degree of membership

Fungsi dari degree of membership ini adalah untuk memberikan bobot pada suatu input yang telah kita berikan, sehingga input tadi dapat dinyatakan dengan nilai.Misalnya, suhu adalah dingin, dengan adanya degree of membership maka suhu dingin tersebut dapat mempunyai suatu nilai missal 0,5.batas dari degree of membership adalah dari 0 – 1.

2) Scope / Domain

Merupakan suatu batas dari kumpulan input tertentu.misalnya suhu dingin adalah dari 10 – 50 derajat, sangat cepat adalah dari 200 – 500 rpm.

3) Label

Adalah kata-kata untuk memberikan suatu keterangan pada scope / domain.misalnya, panas, dingin, cepat, sangat cepat, dll

4) Membership Function

Suatu bentuk bangun yang merepresentasikan suatu batas scope / domain. 5) Crisp Input

Nilai input analog yang kita berikan untuk mencari degree of membership 6) Universe of Discourse

Batas input yang telah kita berikan dalam merancang suatu fuzzy system.batas ini berbeda dengan batas scope / domain.Universe of discourse adalah batas semua input yang akan diberikan pada scope / domain adalah suatu batas yang menentukan bahwa input tersebut yang nenentukan panas yang menetukan bahwa input tersebut dinyatakan panas, dingin, cepat, dll.


(32)

Input Membership Function

Crisp Input

Fuzzyfikasi

Fuzzy Input 2.5.1Proses Fuzzy

Pada fuzzy sistem terdapat tiga proses yaitu :

1) Fuzzyfikasi

2) Evaluasi kaidah (Rule Evaluation)

3) Defuzzyfikasi

2.5.1.1 Proses Fuzzyfikasi

Proses ini berfungsi untuk merubah suatu besaran analog menjadi fuzzy input. Secara diagram blok dapat dilihat pada gambar dibawah.Prosesnya adalah sebagai berikut suatu besaran analog dimasukan sebagai input (cris input), lalu input tersebut dimasukkan pada batas scope / domain sehingga input tersebut dapat dinyatakan dengan label (dingin, panas, cepat, dll) dari membership function. Membership function ini biasanya dinamakan membership function input. Dari membership function kita bisa mengetahui berapa degree of membership function-nya.

Gambar 2.5 proses fuzzyfikasi 2.5.1.2Proses Evaluasi Kaidah

Proses ini berfungsi untuk mencari suatu nilai fuzzy output dari fuzzy input.Prosesnya adalah sebagai berikut :


(33)

Rules

Fuzzy Input

Rule Evaluation

Fuzzy Output

Suatu nilai fuzzy input yang berasal dari proses fuzzyfikasi kemudian dimasukkan ke dalam sebuah rule yang telah dibuat untuk di jadikan sebuah fuzzy output. Diagram bloknya dapat dilihat dibawah ini.

Gambar 2.6 proses evaluasi kaidah 2.5.1.3Defuzzyfikasi

Proses ini berfungsi untuk menentukan suatu nilai crisp output.Prosesnya adalah sebagai berikut :

Suatu nilai fuzzy output yang berasal dari rule evaluation di ambil kemudian di masukkan ke dalam suatu membership function output.Bentuk bangun yang digunakan dalam membership function output adalah bentuk singleton yaitu garis lurus vertical ke atas, seperti yang ditunjukkan pada gambar 2.7. Besar nilai fuzzy output dinyatakan sebagai degree of membership function output. Nilai-nilai tersebut dimasukkan ke dalam suatu rumus yang dinamakan COG (Center Of Gravity) untuk mendapatkan hasil akhir yang disebut crisp output.Crisp output adalah suatu nilai analog yang akan kita butuhkan untuk mengolah data pada sistem yang telah dirancang.


(34)

Output Membership Function

Fuzzy Output

Defuzzyfikasi

Crisp Output Gambar 2.7 proses defuzzyfikasi 2.6 Diagram Alur (Flowchart)

Pemakaian komputer dewasa ini sedemikian pesatnya sejalan dengan kemajuan teknologi komputer itu sendiri. Kebanyakan komputer digunakan untuk memproses dan menyimpan data serta informasi. Untuk melakukan tugas-tugas tersebut komputer harus diprogram. Menurut Suryadi H.S.Agus Sumin, diagram alur adalah urutan-urutan intruksi program yang digambarkan dengan symbol-simbol diagram, flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah dan merupakan cara penyajian dari suatu algoritma.Ada 2 macam flowchart :

1) Sistem flowchart

Urutan proses dalam sistem dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.

2) Program flowchart

Urutan intruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.


(35)

2.6.1Pembuatan Flowchart a. Tidak ada kaidah yang baku

b. Flowchart adalah gambaran hasil analisa suatu masalah

c. Flowchart dapat bervariasi antara satu program dengan program lainnya d. Secara garis besar ada tiga bagian utama :input, proses, dan output e. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit

sehingga jalannya proses menjadi singkat

f. Jalannya proses digambarkan dari atas ke bawah dan di berikan tanda panah

untuk memperjelas

g. Sebuah flowchart di awali dari satu titik START dan di akhiri END. 2.8 Gambar Simbol flowchart


(36)

2.7 Borland Delphi 7.0

Delphi adalah kompiler / penerjemah bahasa Delphi (awalnya dari pascal) yang merupakan bahasa tingkat tinggi sekelas dengan Basic,C.Bahasa pemrograman di Delphi disebut bahasa procedural artinya bahasa/sintaknya mengikuti urutan tertentu/prosedur. Ada jenis pemrograman non-prosedural seperti pemrograman untuk kecerdasan buatan seperti bahasa prolog.Delphi termasuk keluarga Visual sekelas Visual Basic, Visual C, artinya perintah-perintah untuk membuat objek dapat dilakukan secara visual. Pemrogram tinggal memilih objek apa yang ingin dimasukkan ke dalam form/window, lalu tingkah laku objek tersebut saat menerima event/aksi tinggal dibuat programnya. Delphi merupakan bahasa berorientasi objek, artinya nama objek, properti, dan methode/procedure dikemas menjadi satu kemasan(encapsulate). Delphi disebut juga visual programming artinya komponen-komponen yang ada tidak hanya berupa teks(yang sebenarnya program kecil) tetapi muncul berupa gambar-gambar.

2.7.1 Membuat sebuah form

Saat pertama kali masuk ke Delphi, anda akan diperhadapkan pada sebuah form kosong yang akan dibuat secara otomatis.Form tersebut diberi nama form1. Form ini merupakan tempat bekerja untuk membuat antarmuka pengguna.

2.7.2Mengganti nama form dan menambahkan judul

Biasakan sebelum menjalankan program, sebaiknya ganti nama form dan beri nama judul sesuai program yang kita buat. Delphi akan secara otomatis memberi nama form1, form2, form3, dst. Nama form tersebut kurang


(37)

mengandung arti dan akan menyulitkan bila form yang dibuat cukup banyak.Saat

membuka Delphi pertama kali, nampak sebuah jendela inspector.Jika tidak

muncul pilih menu view|object inspector atau tekan F11.Pada object inspector ada dua buah halaman yaitu properties dan event.properties digunakan untuk mengganti properti ( kepemilikan ) sebuah objek / komponen.sedangkan events digunakan untuk membuat procedure yang diaktifkan ( trigered ) lewat sebuah event.

Gambar 2.9 Jendela Object Inspector untuk mengganti properti caption 2.7.3Menyimpan form

Pada Delphi ada tiga buah file utama (*.dpr,*.pas, dan *.dfm) 1) *.dpr adalah file proyek yang dibuat berisi program kecil untuk :

a.Mendefinisikan unit yang ada dalam fileproyek b.Menginisialisai data

c.Membangun form


(38)

2) *.pas adalah unit-unit (pascal code file), bisa terdiri satu atau banyak file

3) *.dfm adalah file definisi form (special pseudo code file), bisa terdiri satu atau banyak file.

2.8 Teori Gerbang Paralel

Teori pendukung tentang gerbang paralel (port parallel) yang akan dijelaskan adalah latar belakang parallel, diagram pin gerbang parallel, sinyal gerbang parallel, dan alamat gerbang parallel.

2.8.1Latar Belakang Gerbang Paralel

Tahun 1981 ketika IBM memperkenalkan IBM PC (Personal Computer), ia menyertakan paralel di dalamnya sebagai alternatif dari gerbang serial (serial port) yang lambat.Fungsi gerbang paralel ketika itu hanya untuk mengkomunikasikan komputer dengan mesin pencetak (printer) bertipe dot matrix. Oleh karena perkembangan teknologi maka kebutuhan akan konektifitas komputer dengan piranti eksternal menjadi meningkat, tidak lagi hanya antara komputer dengan printer, namun juga dengan disk drive portable, tape back up, juga CD-ROOM. Kini ada tiga persoalan yang harus diatasi sehubungan dengan gerbang paralel. Pertama, walaupun kemampuan computer meningkat,ternyata tidak ada perubahan yang nyata pada arsitektur gerbang paralel, sehingga transfer data maksimum tetap Terbatas pada 150 kBps.Kedua, tidak ada antarmuka standar yang mengakibatkan munculnya banyak masalah pada saat dilakukan opreasi antar platform yang berbeda. Dan yang ketiga, desain standar gerbang paralel hanya memungkinkan panjang kabel maksimum 2 meter.


(39)

Tahun 1991 ada pertemuan antara pembuat printer waktu itu seperti Lexmark, IBM, Texas instrument, dan juga yang lainnya. Mereka kemudian membentuk Network Printing Alliance (NPA).NPA kemudian menetapkan hal-hal yang harus di ikuti pembuat perangkat keras agar tidak terjadi in-compatible antar berbagai peralatan berbeda.Agar lebih di akui, NPA kemudian mengajukan ke Institute of Electric and Electronics Engineer(IEEE) dan di setujui sehingga menjadi keputusan IEEE 1284,yaitu metode pensinyalan standar interface parallel dua arah untuk komputer, yang dirilis tahun 1994.IEEE 1824 ini adalah sebuah standar baru parallel port yang masih compatible dengan parallel port sebelumnya namun lebih handal karena mampu menangani transfer data 1Mnps, panjang kabel hingga 10 meter(maksimum), dan juga komunikasi dua-arah (bi-directional). 2.8.2Diagram Pin Paralel Port

Ada dua macam penghubung atau konektor gerbang paralel, yaitu 36 pin dan 25 pin.konektor 36 pin dikenal dengan nama centronic dan konektor 25 pin dikenal dengan nama DB-25.Centronic lebih dahulu ada dan di gunakan daripada DB-25.DB-25 diperkenalkan oleh IBM (bersamaan dengan DB-9, untuk serial port) ketika memperkenalkan IBM PC pertama kali, yang bertujuan untuk menghemat tempat.Karena DB-25 lebih praktis, maka untuk koneksitor grbang paralel pada komputer sekarang hanya di gunakan DB-25, sedang centronic masih di gunakan sebagai konektor pada printer(dan/atau piranti luarnya).

Layaknya komponen dalam untai elektronik, gerbang parallel dilabuhkan dengan konektor betina dan jantan. Di komputer, konektor gerbang paralel yang terpasang adalah DB-25 betina, sehingga kabel penghubung keluar adalah DB-25


(40)

jantan. Susunan atau bentuk DB-25 betina dan jantan tersebut tampak seperti dibawah ini.

Tabel 2.3 Diagram Pin Konektor DB – 25

Gerbang paralel sering digunakan untuk antarmuka dalam pembuatan suatu proyek. Gerbang ini dapat memungkinkan masukan sampai 9 bit sekaligus atau keluaran sampai 12 bit pada saat yang sama sehingga meminimalkan rangkaian eksternal dalam penggunaannya. Gerbang paralel terdiri dari 4 jalur control, 5 jalur status, 8 jalur data dan sisanya tidak dihubungkan atau juga dapat dihubungkan sebagai ground.Jalur data digunakan untuk mengirimkan data ke perangkat keras yang telah dihubungkan, misalnya mengirimkan data ke printer untuk dicetak. Jalur kontrol digunakan untuk mengirimkan kode-kode kontrol dari komputer ke suatu perangkat keras, misalnya kode kontrol untuk menggulung kertas pada printer, dan jalur status digunakan untuk mengirimkan kode-kode status perangkat keras ke komputer, misalnya pada sebuah printer telah kehabisan kertas maka untuk mengirimkan status itu digunakan jalur status.Gerbang paralel sering ditemukan pada komputer sebagai konektor male/female 25 pin.

Dan konfigurasi dari DP, PC, dan PS dapat dilihat pada tabel 2.4 pin-pin dengan keterangan komplemen akan berlogika tinggi pada keadaan awal.


(41)

Tabel 2.4 Fungsi pin konektor DB-25 dan centronic

Pin (DB-type 25)

Centronics Register Direction

In / out

Symbol SPP Signal

1 1 Control Out C0 - Nstrobe

2 2 Data Out D0 Data 0

3 3 Data Out D1 Data 1

4 4 Data Out D2 Data 2

5 5 Data Out D3 Data 3

6 6 Data Out D4 Data 4

7 7 Data Out D5 Data 5

8 8 Data Out D6 Data 6

9 9 Data Out D7 Data7

10 10 Status In S6 + nACK

11 11 Status In S7 - BUSY

12 12 Status In S5 + PE (Paper

end)

13 13 Status In S4+ SELECT

14 14 Control Out C1 - nAutoFeed

15 32 Status In S3 + nError

16 31 Control Out C2 + nInit

17 36 Control Out C3 - nSelectIn


(42)

Catatan :

a. Ground dihubungkan dengan (jika memungkinkan) semua pin ground

diatas (18-25)

b. Jangan menghubungkan ground dengan chasing atau piranti lain

c. Tanda “n” di depan nama sinyal menunjukkan pin tersebut aktif rendah

(logika 0)

Tanda “_” (minus) pada status dan kontrol menunjukkan bahwa bit tersebut bersifat hardware inverted, yaitu “dibalik” oleh antarmuka gerbang paralel.Misal jalur BUSY, jika +5V (logika1) dimasukkan ke pin ini dan kemudian status registernya dibaca, maka akan dihasilkan 0 volt (logika 0) di bit 7 pada status register tersebut.

Selain pin hardware inverted diatas, keluaran gerbang paralel berlogika TTL (Transistor Transistor Logic) logika 0 berarti 0 volt, dan logika 1 adalah +5 volt. Jika merancang perangkat keras untuk dihubungkan ke komputer melalui gerbang paralel, perlu dicatat bahwa arus yang dapat ditarik maupun dimasukan kepadanya berkisar kurang lebih 12 miliampere. Namun hal ini dalam prakteknya berbeda satu papan rangkaian (card interface) pabrikan dengan pabrikan yang lain.Jika perlu gunakan buffer agar tidak menarik atau memasukkan arus terlalu besar ke gerbang paralel yang dapat mengakibatkan kerusakan perangkat keras secara permanen.

2.8.3Alamat Gerbang Paralel

Untuk dapat menggunakan gerbang paralel,kita harus mengetahui alamatnya, base address LPT1 biasanya adalah 888(378h) dan LPT2 biasanya 632(278/h). Alamat tersebut adalah alamat yang umumnya digunakan, tergantung


(43)

dari jenis komputer. Tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0408h untuk base address LPT1 dan memori 0000.040Ah untuk base address LPT2.Setelah kita mengetahui alamat dari gerbang paralel, maka kita dapat menentukan alamat DP, PC dan PS.Alamat DP adalah base address dari gerbang paralel tersebut, alamat PS adalah base address +1, dan alamat PC adalah base address +2.Tabel 2.7 adalah tabel masing-masing port yang umumnya digunakan.Alamat gerbang dijelaskan pada tabel dibawah ini.

Tabel 2.5 alamat gerbang (address port)

LPT1 LPT2 LPT3

DATA 378h 3BCH 278h

STATUS 379h 3BDH 279h


(44)

2.9 Pengujian Perangkat Lunak

Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan mempresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktifitas produksi dimana peluang terjadinya kesalahan manusia sangat besar dan karena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak di iringi dengan aktivitas jaminan kualitas.

Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan biaya yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang diteliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.

2.9.1Teknik Pengujian Perangkat Lunak

1.) Teknik Pengujian White Box

Pengujian white box berfokus pada struktur kontrol program.Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, teknik pengujian white box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan. Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program


(45)

dan pengujian loop menyempurnakan teknik white box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi.

2.) Teknik Pengujian Black Box

Pengujian black box berfokus pada domainin formasi perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph based mengeksplorasi hubungan antara tingkah laku objek-objek program.


(46)

BAB III

ANALISIS DAN PERANCANGAN

Sistem pengaturan lampu lalulintas ini diharapkan akan dapat memberikan informasi kepadatan kendaraan pada suatu persimpangan jalan sehingga dapat dijadikan tolak ukur untuk mengatur lalulintas berdasarkan jumlah kendaraan yang lewat.

3.1 Analisis

Pemahaman tentang sistem yang akan dirancang sangat diperlukan sebelum sebuah perangkat lunak dibangun, pembangunan perangkat lunak dimulai dari tahap analisis yang dilanjutkan pada tahap perancangan.

Simulasi pengaturan lampu lalulintas ini menggabungkan antara perangkat keras yang berupa rangkaian elektronik dengan sebuah komputer. Cara kerja aplikasi ini adalah mengatur lama waktu lampu lalulintas menyala dengan menerapkan logika fuzzy pada program. Dimana dua jalur merupakan jalur satu arah dan dua jalur merupakan jalur dua arah, setelah logika fuzzy diterapkan, maka sensor pada perangkat alat elektronik akan membagiwaktu secara otomatis untuk menentukan lama nyala lampu berdasarkan jumlah kendaraan.Pembagian waktu secara otomatis ini berdasarkan pembacaan sensor terhadap banyaknya kendaraan yang lewat pada masing-masing jalur. Cara kerja aplikasi ini juga dapat dilakukan secara manual dengan memasukkan lama waktu pada setiap lampu lalulintas, dan melakukan proses interupsi, yaitu penghentian sementara pada jalur yang sedang berjalan untuk melayani jalur yang di interupsi. Disini penulis mengambil contoh miniatur perempatan jalan dengan lampu lalulintas dan sensor sederhana. Cara kerja sensor adalah dengan melakukan identifkasi kendaraan pada


(47)

ban depan kendaraan sampai dengan ban belakang kendaraan, jika kendaraan yang lewat menggunakan as roda lebih dari dua maka sensor akan mengidentifikasi menjadi dua kendaraan yang lewat.

Saat ini banyak pengaturan lampu lalulintas berdasarkan waktu tetap, yaitu lama waktu yang sudah ditentukan pada setiap lampu lalulintas untuk menyala tanpa memperhatikan tingkat kepadatan lalulintas yang ada, sehingga masih menimbulkan kemacetan pada perempatan jalan karena banyaknya jumlah kendaraan yang tidak sama di setiap jalurnya.

Dari permasalahan yang ada di dapatkan solusi untuk mengatasinya, yaitu dengan pengaturan lampu lalulintas secara otomatis berdasarkan jumlah kendaraan yang lewat pada setiap jalur dari pembacaan sensor. Sebagai contoh jika panjangnya antrian kendaraan pada persimpangan sangat panjang, maka lampu hijau akan menyala lebih lama.Jika panjang antrian kendaraan yang terdapat pada persimpangan A adalah normal maka lampu hijau akan menyala dengan waktu yang lebih singkat.Jika panjang antrian kendaraan yang melewati persimpangan A sangat pendek, maka lampu hijau akan menyala sangat singkat.pembacaan sensor bekerja dengan memakai metode fuzzy.


(48)

Power Supplay

Sensor

Rangkaian Elektronik

Lampu Lalulintas

Komputer

Gambar 3.1 Alur Kerja Aplikasi

Pada gambar 3.1 alur kerja dari aplikasi pengaturan lampu lalulintas berdasarkan logika fuzzy mengunakan Delphi 7.0, dimana power supplay yang menghasilkan arus listrik masuk ke dalam sebuah rangkaian elektronik, setelah rangkaian elektronik mendapatkan arus listrik kemudian rangkaian tersebut siap untuk di kontrol oleh komputer. Setelah operator menjalankan aplikasi tersebut dalam komputer, komputer mengirimkan sinyal digital ke rangkaian elektronik tersebut. Setelah rangkaian tersebut menerima sinyal dari komputer rangkaian itu bekerja untuk menjalankan pengaturan lama waktu lampu lalulintas menyala sesuai jumlah kendaraan pada setiap jalur melalui pembacaan sensor setelah memberikan keluaran pada lampu lalulintas dan memberikan masukan pada aplikasi (komputer).

Untuk menghubungkan rangkaian elektronik dengan komputer dibutuhkan sebuah media. Media itu adalah sebuah gerbang paralel (port paralel) atau gerbang pencetak (port printer), yang biasa digunakan untuk menghubungkan sebuah


(49)

Timer

1.1 Proses Set

Timer Secara Otomatis

Lampu Lalulintas

Sensor Set Timer

Start

Input Data

komputer dengan pencetak (printer).Pada aplikasi ini port paralel tidak sebagai pencetak (printer) tapi merupakan media masukan (input) dan keluaran (output) dari komputer ke rangkaian elektronik dan sebaliknya.

3.2 Pemodelan Analisis

Berdasarkan analisis yang dibuat, maka selanjutnya saya menuangkan ke dalam bentuk yang mudah di mengerti.Pembuatan Diagram Alur Data (Data Flow Diagram) untuk data yang bergantung kepada proses perancangan simulasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan Borland Delphi 7.0, dan pembuatan Diagram Alur (flowchart) yang menggambarkan alur logika dari sistem yang dibuat.

3.2.1Diagram Konteks

Hubungan antara aplikasi dengan lingkungan luar digambarkan pada diagram konteks berikut.

Gambar 3.2 Diagram Konteks

Pada gambar diatas terdapat proses akses pengaturan lampu lalulintas.Setelah operator memasukkan password untuk menjalankan aplikasi,


(50)

operator dapat memilih proses pengaturan apakah pengaturan otomatis, manual, melakukan proses interupsi.Untuk lebih jelasnya dapat dilihat pada diagram level satu.

3.2.2Diagram Level Nol

Diagram level nol merupakan penjelasan dari proses pengaturan lampu lalulintas.Data perintah mengalir ke dalam proses interaksi dengan pengguna dan menghasilkan tiga jalur aksi, yaitu menjalankan aplikasi secara otomatis, secara manual, dan melakukan interupsi pada jalur yang di inginkan.

Aliran informasi pilihan proses pemilihan waktu secara otomatis akan menuju ke sebuah perangkat keras yang nantinya sensor akan memberikan informasi kepadatan jalur untuk menentukan lama setiap lampu lalulintas untuk menyala.

Aliran proses pemilihan secara manual akan melakukan pengisian lama waktu menyala kepada setiap masing-masing lampu lalulintas.

Aliran proses pemilihan interupsi akan melakukan pemilihan jalur yang akan di interupsi. Maka nyala lampu lalulintas pada jalur yang di interupsi akan berwarna hijau dan jalur yang lainnya akan berwarna merah sampai dengan interupsi selesai. Keterangan di atas dapat di lihat dibawah ini.


(51)

Gambar 3.3 Diagram level nol 3.3 Pemodelan logika dengan Diagram Use Case

Aplikasi pengaturan lampu lalulintas digunakan oleh operator untuk melakukan tiga buah proses, yaitu proses pengaturan secara otomatis, manual, dan proses interupsi pada jalur yang di inginkan, pengaturan secara otomatis merupakan proses utama dari simulasi ini.


(52)

Gambar34 Use Case Pengaturan Lampu Lalulintas

Dari diagram use case di atas dapat dijelaskan lagi dari ilustrasi skenario per use case sebagai berikut :

1) Nama use case : set timer secara otomatis Aktor : timer

Deskripsi :

Kegiatan untuk set timer secara otomatis pada aplikasin pengaturan lampu lalulintas, yaitu :

a) Menjalankan aplikasi dan mengaktifkan pengaturan secara otomatis untuk memberikan pengaturan lama waktu menyala pada setiap lampu lalulintas sesuai dengan masukan sensor.

b) Skenario : Skenario untuk proses tersebut adalah sama, yaitu :

c) Mengaktifkan pengaturan secara otomatis dan sensor akan bekerja membagi total waktu lampu lalulintas menyala kesetiap jalur sesuai dengan jumlah kendaraan di setiap jalur.

Timer

Otomatis

Interupsi Set Timer


(53)

Precondition (kondisi awal) : memilih pengaturan otomatis untuk mengaktifkan pengaturan secara otomatis.

Postcondition (kondisi akhir) : lampu akan menyala sesuai dengan pembacaan sensor.

2) Nama use case : set timer secara manual

Aktor : timer

Deskripsi :

Kegiatan untuk set timer secara manual pada aplikasi pengaturan lampu lalulintas, terdiri atas proses masukkan data yaitu :

a. Mengaktifkan pengaturan secara manual

b. Memasukan total waktu pada setiap lampu lalulintas.

Exception (Pengecualian) : memasukkan waktu harus sesuai dengan

format yang ada bila tidak maka proses tidak akan berjalan. Skenario :

Skenario untuk proses set timer manual adalah sama, yaitu :

a. Mengaktifkan pengaturan secara manual, dan melakukan pengisian waktu

pada setiap jalur.

b. Memasukan waktu sesuai format yang ada.

Postcondition (kondisi akhir) : lampu menyala sesuai dengan lama total waktu yang dimasukan.

3.4 Pemodelan menggunakan Logika Fuzzy

Beberapa istilah yang digunakan dalam pengendalian lampu lalulintas untuk sebaran kendaraan adalah :


(54)

a) Tidak padat (TP)

b) Kurang padat (KP)

c) Cukup padat (CP)

d) Padat (P)

e) Sangat padat (SP)

Sedangkan untuk nyala lampu lalulintas adalah :

a) Cepat (C)

b) Agak cepat (AC)

c) Sedang (S)

d) Agak lama (AL)

e) Lama (L)

Sistem pengendalian fuzzy yang dirancang mempunyai dua masukan dan satu keluaran.Masukan adalah jumlah kendaraan pada suatu jalur yang sedang diatur dan jumlah kendaraan pada jalur lain, dan keluaran berupa lama nyala lampu hijau pada jalur yang sedang diatur.Penggunaan dua masukan dimaksudkan supaya sistem tidak hanya memperhatikan sebaran kendaraan pada jalur yang sedang diatur saja, tetapi juga memperhitungkan kondisi jalur yang sedang menunggu.Pencuplikan dilakukan pada setiap putaran (lewat sensor yang telah dipasang).Satu putaran dianggap selesai apabila semua jalur telah mendapat pelayanan lampu.

Masukan berupa himpunan kepadatan kendaraan oleh logika fuzzy diubah menjadi fungsi keanggotaan masukan, dan fungsi keanggotaan keluaran (lama nyala lampu hijau) .Bentuk fungsi keanggotaan dapat diatur sesuai dengan


(55)

distribusi data kendaraan. Kaidah-kaidah yang akan digunakan untuk mengatur lalulintas ditulis secara subjektif dalam fuzzy associative memory (FAM).

Tabel 3.1 Fuzzy Associative memory untuk kepadatan lalulintas

M1 TK KP CP P SP

M2

TP AC AL S AC C

KP S AL S AC C

CP AL AL S AC AC

P L AL S S AC

SP L AL AL S S

Masukan 1 adalah jumlah kendaraan pada jalur yang diatur Masukan 2 adalah jumlah kendaraan pada jalur lain

Kaidah-kaidah ini sebaiknya dikonsultasikan terlebih dahulu kepada mereka yang berpengalaman dalam bidang yang akan dikendalikan terssebut, misalnya polisi lalulintas.

3.4.1Grafik range pada logika fuzzy

Untuk menentukan lama nyala lampu hijau dan merah pada jalur satu dan jalur dua berdasarkan kepadatan kendaraan pada aplikasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan Delphi 7.0, penulis membuat grafik sebagai berikut :


(56)

Gambar 1 Presentasi variabel A kendaraan 1 dan variabel A kendaraan 2

Gambar 2 Presentasi variabel Lampu 0

0

25 5 75 10 1

C A S A L

Lama nyala lampu hijau Derajat

Keanggotaa n µjk(x)

0 0

25 5 75 10 1

T K C P S

Panjang antrian jml kendaraan Derajat

Keanggotaa n µjk(x)


(57)

Crisp input

Fuzzyfikasi

Rule Evaluation

Deffuzzyfikasi

Crisp output 3.4.2Tahapan logika fuzzy

Untuk mencari hasil keluaran pada logika fuzzy di perlukan tahapan-tahapan sebagai berikut :


(58)

3.5 Pemodelan logika dengan Diagram Alur

Alur logika dari aplikasi pengaturan lampu lalulintas ini dapat dilihat dari flowchart yang dibuat oleh penulis. Pemaparan dari flowchart dapat dilihat pada gambar dibawah.

Pada saat operator mengaktifkan aplikasi ini, maka operator akan mengisi password yang sesuai, untuk dapat masuk pada program pengaturn lampu lalulintas. Pada program ini operator dapat memilih tiga proses pengaturan lampu lalulintas, yang pertama adalah pengatruan secara otomatis berdasarkan banyak jumlah kendaraan yang lewat pada sensor dilakukan pada setiap putaran.Satu putaran dianggap selesai apabila semua jalur telah mendapat layanan lalulintas.

Yang kedua operator dapat melakukan pengaturan lampu lalulintas secara manual, maka operator akan memberikan masukan lama waktu menyala hijau pada lampu lalulintas untuk melakukan pengaturan.

Yang ketiga adalah proses interupsi, yaitu proses untuk menghentikan sementara jalur yang sedang berjalan untuk melayani jalur yang lainnya.Fasilitas ini digunakan untuk kebutuhan mendadak, misalnya untuk melayani mobil pemadam kebakaran, ambulance, atau rombongan presiden yang akan lewat. Selama proses interupsi terjadi, jalur lainnya akan menerima warna lampu lalulintas menyala merah sampai interupsi itu selesai. Semua proses ini dapat dilihat pada gambar di bawah ini.


(59)

Mulai

Apakah Otomatis

Baca Sensor Kepadatan Jalur 1,2

Ya

Proses Fuzzifikasi

Proses Evaluasi Kaidah

Proses defusikasi

Mengatur Lampu Lalulintas

Selesai

Tidak Apakah Manual Tidak Proses Interupsi

Tidak

Tampilkan Panel Tombol

Proses Isi Tombol

Pengaturan Lampu Lalulintas

Ya

Interupsi Jalur 1,2

Pengaturan Lampu Lalulintas Ya

Inisialisai

Input Mode


(60)

OPTION

TUGAS AKHIR PASSWORD

MUKHMMAD BAGUS KURNIAWAN 0534010262

TEKNIK INFORMATIKA

SIMULASI PENGATURAN LAMPU LALULINTAS BERDASARKAN LOGIKA FUUZZY

MENGGUNAKAN DELPHI 7.0

3.6 Pemodelan Antarmuka

Pada aplikasi ini penulis melakukan perancangan antar muka yang berprinsip pada kemudahan pengguna (user friendly) , dimana operator diberikan kemudahan untuk memahami dan menggunakan aplikasi ini. Penulis merancang beberapa antar muka pada aplikasi ini yaitu sebagai berikut :

Gambar 3.8 Antarmuka Login Aplikasi Pengaturan Lampu Lalulintas Antarmuka diatas merupakan proses login operator sebelum menjalankan simulasi, pada proses ini password harus di isi untuk dapat mengakses aplikasi. Jika pengisian password salah maka akan keluar pesan dan untuk kembali mengisi password, operator dapat menekan tombol undo, pada menu option hanya terdapat tombol keluar untuk membatalkan atau keluar dari aplikasi.


(61)

Gambar 3.9 Antarmuka aplikasi pengaturan lampu lalulintas

Antarmuka diatas merupakan proses keseluruhan dari pengaturan waktu lampu lalulintas secara otomatis, secara manual, maupun untuk memberikan interupsi pada jalur tertentu. Untuk memilih salah satu proses dapat menekan tombol ”proses” di kiri atas pada tombol tersebut terdapat fasilitas untuk memilih proses pengaturan lampu lalulintas secara otomatis maupun secara manual.Pada tombol interupsi di kiri atas terdapat fasilitas pemilihan jalur yang akan di interupsi apakah jalur satu atau jalur dua, semua proses yang akan dilakukan akan di tampilkan pada kotak indikator dan parameter.

PENGATURAN LAMPU LLULINTAS PARAMETER

Controller Manual Otomatis Interupsi

Kepadatan Jalur

Jalur 1 Kend/menit

Jalur 2 Kend/menit

Waktu Jalur

Jalur 1 Detik

Jalur 2 Detik

Sensor Count

Jalur 1


(62)

Pada proses set timer secara manual, maka operator akan mengisi waktu dalam satuan detik pada jalur satu dan jalur dua, setelah lama waktu menyala untuk lampu lalulintas akan menyala sesuai dengan waktu yang sudah di masukan.

Pada proses interupsi, operator dapat memilih jalur yang akan di interupsi, maka jika jalur satu yang di interupsi maka jalur dua akan menerima nyala lampu lalulintas berwarna merah selama interupsi itu terjadi, begitu juga sebaliknya.


(63)

BAB IV

IMPLEMENTASI

Seperti yang sudah dijelaskan pada bab sebelumnya bahwa pada bab IV ini akan dijlelaskan mengenai rancangan awal dari aplikasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan delphi 7.0 sampai dengan pengujian simulasi.

4.1 Implementasi

Simulasi pengaturan lampu lalulintas adalah program yang digunakan untuk melakukan pengaturan lampu lalulintas berdasarkan masukan jumlah kendaraan yang lewat pada jalur satu dan jalur dua. Program ini memerlukan alat berupa miniatur perempatan jalan yang di hubungkan ke aplikasi pengaturan lampu lalulintas menggunakan port paralel untuk menjalankannya.miniatur perempatan jalan dapat di lihat di bawah ini.


(64)

Pada aplikasi ini terdapat 2 antarmuka yaitu :

4.2 Antarmuka login

Dapat kita lihat pada gambar dibawah.antarmuka pertama dari 2

antarmuka yang ada.fungsi dari antarmuka ini adalah tampilan awal dari aplikasi pengaturan lampu lalulintas.antarmuka ini akan meminta operator untuk login dengan memasukan password agar dapat mengakses program pengaturan lampu lalulintas.jika password yang dimasukan sesuai maka operator dapat mengaksesprogram pengaturan lampu lalulintas, jika password yang dimasukan tidak sesuai maka akan keluar pesan ’password anda salah, anda tidak diperkenankan mengakses sistem ini’.

Gambar 4.2 Antarmuka Login

Pada form ini terdapat dua even yaitu even run dan clear, dengan kode program seperti dibawah ini.

Kode 4.1 Form Login

if (tombolButton.click) {

if (input_password == password) {


(65)

formLogin = sembunyi; formLogin = nonaktif; buka.formControl() formControl(); }

Pada kode program diatas, jika edit.text1 di isi dengan password yang sesuai maka form simulasi akan tampil dan jika password tidak sesuai, maka akan tampil pesan” wrong password!!!!!!!!!”.

Untuk kode program berikutnya adalah untuk kembali mengisi password, jika password yang dimasukan tidak sesuai.

4.3 Antarmuka simulasi

Antarmuka simulasi adalah antarmuka yang terdiri dari tiga proses pengaturan lampu lalulintas yang dapat di lakukan oleh operator, dalam antarmuka ini ada tiga pilihan proses yang harus dipilih oleh operator.pertama, proses pengaturan lampu lalulintas secara otomatis, yang pengaturannya berdasarkan jumlah kendaraan yang lewat pada jalur satu dan jalur dua dari masukan sensor, sehingga operator tidak lagi menentukan lama waktu lampu lalulintas untuk menyala pada jalur satu dan jalur dua.pada proses ini, kepadatan jalur dan waktu jalan akan ditampilkan pada kotak parameter.peletakan sensor terdapat pada jalur satu dan jalur duayang menuju lampu lalulintas.proses kedua adalah proses pengaturan lampu lalulintas secara manual yang pengaturannya dengan menentukan lama waktu lampu lalulintas untuk menyela pada jalur satu dan jalur dua.proses ketiga adalah proses interupsi, proses yang dapat dilakukan dengan cara memilih jalur mana yang akan di interupsi.proses ini digunakan untuk


(66)

keadaan darurat atau mendesak, misalnya seperti pelayanan mobil pemadam kebakaran atau mobil ambulance.jika lebih dari satu jalur memberi interupsi, maka yang dilayani dulu adalah yang pertama menekan tombol interupsi itu.jalur yang mendapat interupsi akan menerima nyala lampu berwarna hijau dan jalur yang lainnya akan menerima nyala lampu berwarna merah sampai proses interupsi berakhir.dapat di lihat dibawah ini.

Gambar 4.3 Antarmuka Simulasi

Untuk menjalankan form diatas di butuhkan koneksi antara program dengan miniatur perempatan lampu lalulintas (alat) dengan menggunakan port paralel untuk menghubungkannya.

Kode 4.2 koneksi dengan alat if (fYellow1)

{

WarnaLampuKuningJalur1 = Kuning; fYellow1 = false;

SetPortBit(888,4); // out 1 ke address 0x378 bit ke 4 }


(67)

{

WarnaLampuKuningJalur1 = hitam; fYellow1 = true;

ClrPortBit(888,4); // out 0 ke address 0x378 bit ke 4 }

}

Prosedur di atas berfungsi untuk memanggil alamat pada port parallel (LPT1) yaitu data, control, dan status.

Kode 4.3 koneksi dengan sensor

if (buffIn & 64 == 64 && fSensor1 == false) fSensor1 = true;

else if (buffIn & 64 == 0 && fSensor1 == true) {

count1 = count1 + 1; fSensor1 = false; }

if (buffIn & 32 == 32 && fSensor2 == false) fSensor2 = true

else if (buffIn & 32 == 0 && fSensor2 == true) {

count2 = count2 + 1; fSensor2 = false;

Kode program di atas merupakan masukan dari alat ke program, jika status di AND kan dengan 40 hexadesimal sama dengan 40 hexadesimal maka s1 (sensor1) berwarna merah (aktif), jika tidak s1 berwarna putih (tidak aktif).untuk s2 (sensor2) jika status di AND kan dengan 80 hexadesimal sama dengan 00


(68)

hexadesimal, maka s2 (sensor2) berwarna merah (aktif), jika tidak s2 berwarna putih (tidakaktif).

Untuk kode program pengaturan secara otomatis terdapat kode program untuk identifikasi kepadatan jalur, identifikasi kondisi jalan, dan indikator nilai kepadatan jalur.

Kode 4.4 identifikasi kepadatan jalur satu dan jalur dua if (fLampu == false)

kepadatan1 = 60/waktu_jalur1 *count1; fuzzyfikasi(kepadatan1,persen1,kondisi1); fuzzyfikasi(kepadatan2,persen2,kondisi2); total_persen = (persen1 + persen2) / 2;

Program di atas untuk mengidentifikasi kepadatan jalur satu dan jalur dua dengan menggunakan sensor, jika h1 berwarna hijau, maka s1 berwarna merah, maka sj1 (sensor jalur1) sama dengan 1, jika sj1 sama dengan 1 berwarna putih, maka j1 (jalur1) sama dengan j1+1. begitu juga untuk kode program jalur dua. Kode 4.5 identifikasi kondisi jalan jalur satu

Program di atas untuk mengidentifikasi kondisi jalan pada jalur satu, jika man1 (counter) sama dengan 0, maka autoyellow (lampu kuning) aktif, maka man1 sama dengan man1 minus 1, h1 berwarna hijau, m2 berwarna merah, koj1 (kondisi jalur1) jalan, koj2 (kondisi jalur 2) berhenti.

Kode 4.6 identifikasi kondisi jalan jalur dua

Kode program di atas untuk mengidentifikasi kondisi jalan jalur dua, jika man2 (counter) sama dengan 0 maka autoyellow (lampu kuning) aktif, maka


(69)

man2 sama dengan man2 minus 1, h2 berwarna hijau, m1 berwarna merah, koj2 (kondisi jalur2) jalan, koj1 (kondisi jalur1) berhenti.

Kode 4.7 indikator nilai kepadatan jalur

Program di atas untuk menghitung kepadatan jalur, dengan rumus output1 = 60 string menjadi float adalah wj1 (waktu jalan1) kj1 (kondisi jalur1) sama dengan (output *j1/2), untuk mengkategorikan jumlah kendaraan apakah sangat padat, padat, cukup padat, kurang padat, tidak padat.

Kode 4.8 pengaturan secara manual pada jalur satu if (buttonOk.click)

temp_waktu1 := strtoint(editjalur1.Text);

Program di atas untuk pengaturan manual, jika man1 (counter) sama dengan 0 maka autoyellow (lampu kuning) aktif, maka man1 sama dengan man1 minus1, h1 berwarna hijau, m2 berwarna merah, koj1 (kondisi jalur1) jalan, koj2 (kondisi jalur2) berhenti.Untuk pengaturan jalur dua, maka man2 sama dengan man2 minus 2, h2 berwarna hijau, m1 berwarna merah, koj2 (kondisi jalur2) jalan, koj1 (kondisi jalur1) berhenti.

Kode 4.9 indikator lampu kuning if (fLampu == false)

{

timerYellow1 = nonaktif;

warnaLampuKuningJalur1 = hitam; ClrPortBit(888,4);

timerYellow2 = aktif;


(70)

nyala_lampu1(false); if (fManual == false) {

Kode program di atas untuk indicator lampu kuning, pada saat lampu hijau ke lampu merah ataupun sebaliknya maka lampu kuning akan menyala.

Kode 4.10 interupsi pada jalur satu if (buttonOk.click)

{

if (panelJalur1 == terpilih) {

warnaLampuMerahJalur1 = merah; warnaLampuKuningJalur1 = hitam; warnaLampuHijauJalur1 = hitam; warnaLampuMerahJalur2 = hitam; warnaLampuKuningJalur2 = hitam; warnaLampuHijauJalur2 = hijau fInterupsi = false;

}

Kode program di atas untuk melakukan interupsi pada jalur satu, h1 berwarna hijau, m2 berwarna merah berarti lampu hijau untuk jalur satu, lampu lalulintas jalur dua berwarna merah.untuk interupsi pada jalur dua, h2 berwarna hijau, m1 berwarna merah berarti lampu hijau untuk jalur dua, maka lampu lalulintas jalur satu berwarna merah.


(71)

BAB V

UJI COBA DAN EVALUASI

5.1 Pengujian

Setelah tahap implementasi, tahap selanjutnya adalah tahap pengujian.pada tahap ini akan dibahas mengenai lingkungan pengujian, skenario pengujian, dokumen pengujian, analisi pengujian, dan hasil pengujian.

5.2 Lingkungan Pengujian

Lingkungan pengujian pada aplikasi ini meliputi perangkat keras dan perangkat lunak, spesifikasi masing-masing lingkungan tersebut adalah sebagai berikut :

1. Spesifikasi Perangkat Lunak, meliputi :

a. Sistem operasi yang digunakan pada aplikasi kontrol panel lampu ini adalah Microsoft Windows XP

b. Borland Delphi 7.0 digunakan untuk membuat program aplikasipengaturan

lampu lalulintas berdasarkan logika fuzzy. 2. Spesifikasi Perangkat Keras, meliputi :

a. Komputer dengan menggunakan prosesor Intel Pentium 1.6 GHz

b. Memori 256 MB

c. VGA On Board

d. Monitor 15”

e. Keyboard dan Mouse


(72)

5.3 Skenario Pengujian

Skenario pengujian meliputi pengujian perangkat lunak terhadap fungsionalitas aplikasi yang dibangun, pengujian proses yang terjadi pada perangkat lunak yang dibangun dengan proses yang terjadi didalam sistem, dan pengujian kelayakan aplikasi dalam sebuah aplikasi yang digunakan.

Metode yang digunakan dalam aplikasi pengaturan lampu lalulintas ini adalah pengujian Black-Box.metode ini sesuai dengan aplikasi yang dibangun, karena metode pengujian Black-Box melakukan pengujian dengan cara memberikan sejumlah masukan pada program aplikasi yang akan diproses sesuai dengan kebutuhan fungsionalnya untuk menghasilkan keluaran yang diinginkan.

Apabila keluaran proses tidak menghasilkan sesuai yang diinginkan,maka program aplikasi masih terdapat kesalahan-kesalahan yang harus diperbaiki pada program aplikasi tersebut.apabila keluaran proses menghasilkan kebutuhan fungsionalnya, maka program aplikasi tersebut benar.

Pengujian Black-Box melakukan pengujian pada program dimulai dari menu login sampai semua menu yang terdapat pada program aplikasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan Delphi 7.0.


(73)

Tabel 5.1 Skenario Pengujian Perangkat Lunak No Deskripsi

Fungsional

Uji Kasus Hasil Yang Diharapkan

1 Antarmuka Login Memasukkan Password

yang sesuai

Memasukkan Password yang tidak sesuai

Menampilkan form

Akan muncul pesan

2 Antarmuka Simulasi

Memilih set otomatis

Memilih set manual

Interupsi

Program melakukan pengaturan berdasarkan masukan sensor

Program melakukan pengaturan berdasarkan masukan waktu oleh operator Lampu hijau menyala pada jalur yang di interupsi dan lampu merah pada jalur yang lainnya

5.4 Dokumen Hasil Pengujian

Dokumen hasil pengujian merupakan dokumen yang berisi berdasarkan nomor urut pada skenario pengujian perangkat lunak.berikut ini adalah tabel dokumen hasil pengujian :


(74)

Tabel 5.2 Dokumen hasil pengujian perangkat lunak No Deskripsi

Fungsional

Uji Kasus Hasil Yang Diharapkan Uji Hasil

1 Antarmuka Login Memasukkan password yang sesuai Memasukkan password yang tidak sesuai Menampilkan Form Simulasi

Akan muncul pesan

Sesuai Sesuai 2 Antarmuka Simulasi Memilih set otomatis Memilih set manual Interupsi Program melakukan pengaturan berdasarkan masukan sensor Program melakukan pengaturan berdasarkan masukan oleh operator Lampu hijau menyala pada jalur yang di interupsi dan lampu merah menyala pada jalur yang lainnya

Sesuai

Sesuai


(75)

5.5 Analisis Hasil Pengujian

Setelah pengujian perangkat lunak telah dilakukan, selanjutnya melakukan analisis dari hasil pengujian perangkat lunak.

Pada antarmuka login, operator di minta untuk memasukkan password sebelum masuk ke program pengaturan lampu lalulintas.password di maksudkan agar aplikasi ini tidak dapat di akses oleh setiap orang demi keamanan.

Setelah password dari operator di terima maka akan tampil antarmuka simulasi untuk melakukan proses dari pengaturan lampu lalulintas.pada antarmuka simulasi terdapat tiga proses yaitu set otomatis, set manual, dan interupsi.operator dapat memilih salah satu proses sesuai dengan kebutuhan yang ada.

Bila set otomatis yang di pilih maka operator tidak perlu lagi memasukan berapa lama waktu nyala untuk lampu lalulintas di jalur satu dan jalur dua, karena pengaturan sudah di lakukan bedasarkan kepadatan jalur dari masukan sensor ke program sehingga waktu jalan akan otomatis membagi lama waktu nyala pada jalur satu dan jalur dua untuk menyala sesuai dengan kondisi jalan.

Bila operator memilih proses manual, maka operator akan mengisi berapa lama waktu jalan untuk jalur satu dan jalur dua tanpa mempertimbangkan kepadatan jalur.

Proses interupsi di sini di gunakan hanya apabila ada keadaan mendesak seperti permintaan mobil ambulance, atau mobil pemadam kebakaran untuk lewat pada salah satu jalur,jalur yang di interupsi akan menerima masukan lampu hijau dan jalur yang lainnya akan menerima masukan lampu merah sampai interupsi berakhir.


(76)

5.6 Teori Sampling

Pada penghitungan disini, penulis menggunakan metode midle of maxima dari logika fuzzy. Adalah mengambil nilai rata-rata presentase kepadatan pada dua jalur masukan. Dengan rumus a + b / 2 ( masukan satu dan masukan dua ), untuk jumlah kepadatan jalur satu dan jalur dua menggunakan satuan kendaraan/menit ( kend/mnt ).dengan menggunakan rumus 60/waktu jalan * kepadatan jalur ( jumlah kendaraan yang lewat ).

M-1 = Saat Waktu Jalan Jalur ( WJ1 ) 5 detik

Kepadatan Jalur 1 ( KJ1 ) 3 kendaraan = 36 kend/mnt CP = 39.96 %

M-2 = Saat Waktu Jalan Jalur ( WJ2 ) 5 detik

Kepadatan Jalur 1 ( KJ2 ) 5 kendaraan = 60 kend/mnt SP = 0 %

WJ1 = 5 dtk

KJ1 = 3 kendaraan

= 60 / 5 * 3

= 36 kend / mnt

CP = 39.96 %

WJ2 = 5 dtk

KJ2 = 5 kendaraan

= 60 / 5 * 5

= 60 kend / mnt

SP = 0 %


(77)

2

= 19.98 %

AC = 23 detik

 nyala hijau jalur 1 5.7 Test Program

5.7.1 Tabel output 1 5.7.2 Tabel output 2

M2 / J-1 WJ-1 = 23 detik KJ-1 = 9 kend

= 23.47 kend/mnt KP = 56.41 %

M1 / J-2 WJ-2 = 5 detik KJ-2 = 5 kend = 60 kend/mnt SP = 0 %

KP AND SP = AL

AL = 56.41 % + 39.96 % / 2

AL = 48.18 % AL = 54.23 detik

Lampu Hijau J-1 Lampu Hijau J-2

M2 / J-1 WJ-1 = 5 detik KJ-1 = 3 kend = 36 kend/mnt CP = 39.96 % M1 / J-2 WJ-2 = 5 detik

KJ-2 = 5 kend = 60 kend/mnt SP = 0 %

SP AND CP = AC AC = 0 % + 39.96 % / 2

AC = 19.98 % AC = 23 detik


(78)

5.7.3 Tabel output 3 5.7.4 Tabel output 4

M1 / J-1 WJ-1 = 59.46 detik KJ-1 = 43 kend = 43.39 kend/mnt CP = 39.63 %

M2 / J-2 WJ-2 = 54.23 detik KJ-2 = 23 kend = 25.44 kend/mnt KP = 69.53 %

CP AND KP = S S = 39.96 % + 69.53 % / 2

S = 54.58 % S = 46.91 detik

Lampu Hijau J-1 Lampu Hijau J-2

M1 / J-2 WJ-2 = 54.23 detik KJ-2 = 23 kend = 25.44 kend/mnt KP = 69.53 %

M2 / J-1 WJ-1 = 23 detik KJ-1 = 9 kend

= 23.47 kend/mnt KP = 56.41 %

KP AND KP = AL AL = 69.53 % + 56.41 % / 2

AL = 62.97 % AL = 59.46 detik


(79)

5.7.5 Tabel output 5 5.7.6 Tabel output 6

M1 / J-1 WJ-1 = 45.23 detik KJ-1 = 17 kend = 22.54 kend/mnt KP = 50.21 %

M2 / J-2 WJ-2 = 46.91 detik KJ-2 = 29 kend = 37.08 kend/mnt CP = 47.15 %

KP AND CP = AL AL = 50.21 % + 47.15 % / 2

AL = 48.68 % AL = 57.31 detik

Lampu Hijau J-1 Lampu Hijau J-2

M1 / J-2 WJ-2 = 46.91 detik KJ-2 = 29 kend = 37.08 kend/mnt CP = 47.15 %

M2 / J-1 WJ-1 = 59.46 detik KJ-1 = 43 kend = 43.39 kend/mnt CP = 39.63 %

CP AND SP = S

S = 47.15 % + 39.63 % / 2

S = 43.39 % S = 45.23 detik


(80)

5.7.7 Tabel output 7 5.7.8 Tabel output 8

M1 / J-1 WJ-1 = 11.47 detik KJ-1 = 0 kend = 0 kend/mnt TP = 0 %

M2 / J-2 WJ-2 = 57.31 detik KJ-2 = 63 kend =65.94kend/mnt SP = 39.56 %

TP AND SP = L L = 0 % + 39.56 % / 2

L = 19.78 % L = 67.97 detik

Lampu Hijau J-1 Lampu Hijau J-2

M1 / J-2 WJ-2 = 57.31 detik KJ-2 = 63 kend =65.94kend/mnt SP = 39.56 %

M2 / J-1 WJ-1 = 45.23 detik KJ-1 = 17 kend =22.54kend/mnt KP = 50.21 % SP AND KP = C C = 39.56 % + 50.21 % / 2

C = 44.88 % C = 11.47 detik


(81)

5.7.9 Tabel output 9

5.7.10 Tabel Ouput 10

M1 / J-1 WJ-1 = 53.53 detik KJ-1 = 33 kend = 36.98 kend/mnt CP = 46.48%

M2 / J-2 WJ-2 = 67.97 detik KJ-2 = 25 kend = 22.06 kend/mnt KP = 0 %

CP AND KP = S S = 46.48 % + 47.01 % / 2

S = 46.74 % S = 42.02 detik

Lampu Hijau J-1 Lampu Hijau J-2

M1 / J-2 WJ-1 = 67.97 detik KJ-1 = 25 kend = 22.06 kend/mnt KP = 47.01 %

M2 / J-1 WJ-2 = 11.47 detik KJ-2 = 0 kend = 0 kend/mnt TP = 0 %

KP AND TP = AL AL = 47.01 % + 0 % / 2

AL = 23.50 % AL = 53.53 detik


(1)

M1 / J-1 WJ-1 = 45.23 detik KJ-1 = 17 kend = 22.54 kend/mnt KP = 50.21 %

M2 / J-2 WJ-2 = 46.91 detik KJ-2 = 29 kend = 37.08 kend/mnt CP = 47.15 %

KP AND CP = AL AL = 50.21 % + 47.15 % / 2

AL = 48.68 % AL = 57.31 detik

Lampu Hijau J-1 Lampu Hijau J-2 M1 / J-2 WJ-2 = 46.91 detik

KJ-2 = 29 kend = 37.08 kend/mnt CP = 47.15 %

M2 / J-1 WJ-1 = 59.46 detik KJ-1 = 43 kend = 43.39 kend/mnt CP = 39.63 %

CP AND SP = S

S = 47.15 % + 39.63 % / 2

S = 43.39 % S = 45.23 detik


(2)

5.7.7 Tabel output 7 5.7.8 Tabel output 8

M1 / J-1 WJ-1 = 11.47 detik KJ-1 = 0 kend = 0 kend/mnt TP = 0 %

M2 / J-2 WJ-2 = 57.31 detik KJ-2 = 63 kend =65.94kend/mnt SP = 39.56 %

TP AND SP = L L = 0 % + 39.56 % / 2

L = 19.78 % L = 67.97 detik

Lampu Hijau J-1 Lampu Hijau J-2

M1 / J-2 WJ-2 = 57.31 detik KJ-2 = 63 kend =65.94kend/mnt SP = 39.56 %

M2 / J-1 WJ-1 = 45.23 detik KJ-1 = 17 kend =22.54kend/mnt KP = 50.21 % SP AND KP = C C = 39.56 % + 50.21 % / 2

C = 44.88 % C = 11.47 detik


(3)

M1 / J-1 WJ-1 = 53.53 detik KJ-1 = 33 kend = 36.98 kend/mnt CP = 46.48%

M2 / J-2 WJ-2 = 67.97 detik KJ-2 = 25 kend = 22.06 kend/mnt KP = 0 %

CP AND KP = S S = 46.48 % + 47.01 % / 2

S = 46.74 % S = 42.02 detik

Lampu Hijau J-1 Lampu Hijau J-2 M1 / J-2 WJ-1 = 67.97 detik

KJ-1 = 25 kend = 22.06 kend/mnt KP = 47.01 %

M2 / J-1 WJ-2 = 11.47 detik KJ-2 = 0 kend = 0 kend/mnt TP = 0 %

KP AND TP = AL AL = 47.01 % + 0 % / 2

AL = 23.50 % AL = 53.53 detik


(4)

5.7.11 Tabel output11

5.7.12 Tabel output 12

M1 / J-1 WJ-1 = 39.19 detik KJ-1 = 17 kend = 26.02 kend/mnt CP = 73.39 %

M2 / J-2 WJ-2 = 42.02 detik KJ-2 = 22 kend = 31.40 kend/mnt CP = 9.234 %

KP AND CP = AL AL = 73.39 % + 9.234 % / 2

AL = 41.35 % AL = 56.21 detik

Lampu Hijau J-1 Jalur Hijau J-2 M2 / J-1 WJ-2 = 42.02 detik

KJ-2 = 22 kend = 31.40 kend/mnt CP = 9.234 %

M1 / J-2 WJ-1 = 67.97 detik KJ-1 = 25 kend = 22.06 kend/mnt KP = 47.01 %

CP AND KP = S S = 9.234 % + 47.01 % / 2

S = 28.16 % S = 39.19 detik


(5)

6.1 Kesimpulan

Selama mengimplementasikan simulasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan Delphi 7.0, penulis mengambil kesimpulan sebagai berikut :

1. Aplikasi ini dapat digunakan untuk memenuhi tujuan sistem pengaturan lampu lalulintas secara optimal, yaitu dengan melakukan pengaturan berdasarkan panjangnya antrian kendaraan yang dideteksi oleh sensor pada persimpangan jalan.

2. Untuk melayani kebutuhan mendesak seperti pelayanan untuk mobil pemadam kebakaran, ambulance, dan yang lainnya.pada simulasi ini terdapat fasilitas interupsi yang digunakan untuk menyela jalur lain dan memberikan lampu hijau pada jalur yang di lewati.

3. Penerapan aplikasi ini adalah dengan kondisi persimpangan jalan yang menggunakan dua buah lampu lalulintas pada empat jalur, yaitu dua jalur dua arah dan dua jalur satu arah dengan peletakan sensor pada jalur dua arah yang menuju lampu lalulintas.


(6)

6.2 Saran

Tugas akhir yang dilakukan oleh penulis masih jauh dari sempurna, untuk itu penulis memberikan saran-saran agar dapat dikembangkan, yaitu :

1. Proses pendeteksian kendaraan yang dilakukan harus menggunakan beberapa sensor inframerah yang dipergunakan tidak mempunyai kemampuan untuk membedakan antara kendaraan dengan benda lain, sehingga sensor harus diletakkan pada tempat yang tepat.

2. Untuk kondisi persimpangan jalan pada aplikasi yang penulis buat adalah menggunakan dua lampu lalulintas pada jalur dua arah, untuk kondisi persimpangan jalan yang berbeda, maka diperlukan beberapa penyesuaian pada program tergantung dengan kondisi yang ada.

3. Dilihat dari kebutuhan, aplikasi digunakan secara terus menerus sehingga dibutuhkan lebih dari satu operator untuk menjalankan aplikasi ini.diharapkan password yang digunakan untuk mengakses aplikasi ini dibedakan untuk setiap operator, karena pada aplikasi yang penulis buat hanya menggunakan satu password untuk login operator.