SISTEM PENGATURAN LAMPU LALULINTAS BERBASIS FUZZY.
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 PengujianSetelah 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.