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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[image:30.612.233.434.452.563.2]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
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
[image:32.612.207.430.449.591.2]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
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
[image:33.612.234.406.174.354.2]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
Output Membership Function
Fuzzy Output
Defuzzyfikasi
[image:34.612.200.440.87.262.2]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
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.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
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
[image:37.612.261.392.264.468.2]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
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
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
jantan. Susunan atau bentuk DB-25 betina dan jantan tersebut tampak seperti
[image:40.612.206.441.172.300.2]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
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
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
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
[image:43.612.126.507.313.428.2]tabel dibawah ini.
Tabel 2.5 alamat gerbang (address port)
LPT1 LPT2 LPT3
DATA 378h 3BCH 278h
STATUS 379h 3BDH 279h
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.
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
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
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
Power Supplay
Sensor
Rangkaian Elektronik
Lampu Lalulintas
[image:48.612.141.473.94.302.2]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
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
[image:49.612.156.508.432.615.2]diagram konteks berikut.
Gambar 3.2 Diagram Konteks
Pada gambar diatas terdapat proses akses pengaturan lampu
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
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
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
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
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
distribusi data kendaraan. Kaidah-kaidah yang akan digunakan untuk mengatur
[image:55.612.226.413.155.347.2]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
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
[image:56.612.197.439.331.441.2]Crisp input
Fuzzyfikasi
Rule Evaluation
Deffuzzyfikasi
Crisp output 3.4.2Tahapan logika fuzzy
Untuk mencari hasil keluaran pada logika fuzzy di perlukan
[image:57.612.249.368.157.498.2]tahapan-tahapan sebagai berikut :
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
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
[image:59.612.172.491.71.640.2]Input Mode
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
[image:60.612.123.521.212.435.2]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
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
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
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
[image:63.612.224.413.430.606.2]perempatan jalan dapat di lihat di bawah ini.
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
[image:64.612.138.498.334.485.2]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)
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
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
[image:66.612.134.498.233.403.2]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
}