PERANCANGAN SISTEM INFORMASI GEOGRAFIS KEBAKARAN ( STUDI KASUS SUKU DINAS PEMADAM KEBAKARAN JAKARTA TIMUR )
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
Oleh Linggo Murti 103093029710
PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN) SYARIF HIDAYATULLAH JAKARTA 2010 M / 1431 H
i
PERANCANGAN SISTEM INFORMASI GEOGRAFIS KEBAKARAN ( STUDI KASUS SUKU DINAS PEMADAM KEBAKARAN JAKARTA TIMUR )
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Pada Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh Linggo Murti 103093029710
Menyetujui,
Pembimbing I
Pembimbing II
Dr. Eko Syamsudin Hasrito, M.Eng NIP.
Zainul Arham, M.Si NIP. 19740730 200710 1 002
Mengetahui, Ketua Program Studi Sistem Informasi
Aang Subiyakto, M.Kom NIP. 150411252
ii
Dengan ini menyatakan bahwa skripsi yang ditulis oleh : Nama
: Linggo Murti
NIM
: 103093029710
Program Studi : Sistem Informasi Judul Skripsi : Perancangan Sistem Informasi Geografis Kebakaran ( Studi Kasus Suku Dinas Pemadam Kebakaran Jakarta Timur )
Dapat diterima sebagai syarat kelulusan untuk memperoleh gelar Sarjana Komputer pada Program Studi Sistem Informasi, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. Jakarta, Agustus 2010
Menyetujui
Penguji I
Penguji II
Dr. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Aang Subiyakto, M.Kom NIP. 150411252 Mengetahui
Dekan Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta
Dr. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Ketua Program Studi Sistem Informasi
Aang Subiyakto, M.Kom NIP. 150411252
iii
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN
Jakarta, Agustus 2010
Linggo Murti 103093029710
iv
ABSTRAK LINGGO MURTI, Perancangan Sistem Informasi Geografis Kebakaran pada Suku Dinas Pemadam Kebakaran Jakarta Timur, (dibawah bimbingan Bapak Eko Syamsudin Harsito, dan Bapak Zainul Arham ) Suku Dinas Pemadam Kebakaran Kotamadya Jakarta Timur yang berwenang menanggulangi masalah Kejadian Kebakaran di wilayah Jakarta Timur, harus siaga dalam menangani masalah ini . Dari hasil penelitian penulis, proses pengolahan data kebakaran dan pelaporan kasus kejadian kebakaran masih dilakukan secara sederhana. Untuk itu diperlukan suatu aplikasi untuk memaksimal proses penanganan kebakaran dan meningkatkan kualitas informasi penyebaran kasus kebakaran di wilayah Jakarta Timur. Dalam penelitiannya penulis merancang sebuah aplikasi berbasis SIG dalam mengolah data kebakaran (mencari lokasi, menentukan pos penanganan kebakaran terdekat dan pembuatan laporan penyebaran kebakaran) . Dalam mengembangkan Sistem Informasi Geografis Kebakaran pada Wilayah Jakarta Timur ini, penulis menggunakan metode terstruktur dari siklus hidup pengembangan sistem (system development life cycle-SDLC) dengan model pendekatan waterfall, dan pengembangan aplikasi ini menggunakan bahasa pemrograman Avenue pada ArcView 3.3. Harapannya, hasil penelitian ini mampu memaksimalkan proses penanganan kebakaran, pengolahan data dan pelaporan data penyebaran kasus kebakaran di wilayah Jakarta Timur oleh SUDIN Pemadam Kebakaran Jakarta Timur. V Bab + 121 halaman + Daftar Pustaka + Lampiran, 2009 Kata kunci : perancangan Sistem Informasi Geografis (SIG), Penanganan Kebakaran, pengolahan data kebakaran. Buku Acuan (10, 1994 – 2007)
v
KATA PENGANTAR
Assalamu’alaikum Wr. Wb. Puji dan syukur penulis panjatkan kehadirat Allah SWT, karena hanya dengan Ridha-Nya penulis dapat menyelesaikan skripsi ini yang berjudul “Analisa dan Perancangan Sistem Informasi Geografis Kebakaran (study kasus: Suku Dinas Pemadam Kebakaran Jakarta Timur)”. Penulis menyadari bahwa skripsi ini tidak dapat terselesaikan dengan baik tanpa bantuan dari berbagai pihak. Pada kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya atas bimbingan dan arahan yang diberikan kepada penulis selama menyusun skripsi ini. Oleh karena itu izinkanlah penulis menyampaikan ucapan terima kasih kepada : 1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. 2. Bapak Aang Subiyakto, M.Kom serta Ibu Nur Aeni Hidayah, MMSI selaku Ketua dan Sekertaris Program Studi Sistem Informasi 3. Bapak Dr. Eko Syamsudin M.Eng selaku Dosesn Pembimbing I dan Bapak Zainul Arham M.Si selaku Dosen Pembimbing II. 4. Bapak Munadi S.Sos selaku Pimpinan SUDIN Kebakaran Jakarta Timur dan seluruh staf SUDIN Kebakaran Jakarta Timur, terima kasih atas bantuan dan kerjasamanya. 5. Kedua orang tua, yang telah memberikan do’a untuk membantu dalam penyelesaian skripsi ini.
vi
6. Teman-teman seperjuangan di Program Studi Sistem Informasi angkatan 2003 . annep, makasih banyak waktunya dan teman-teman lainnya yang telah mambantu dalam penyelesaian skripsi ini. 7. Ristty Wara Ariestyadi terima kasih atas semua rasa yang kau berikan. 8. Teman-teman dekat yang telah mendukung, mendoakan dan memberikan motifasi kepada penulis sehingga penulisan skripsi ini dapat terselesaikan.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, dengan segala kerendahan hati, saran dan kritik akan sangat membantu untuk proses perbaikan selanjutnya, semoga skripsi ini dapat berguna bagi penulis khususnya dan bagi pembaca umumnya. Wassalamu’alaikum Wr. Wb.
Jakarta, Agustus 2010
Linggo Murti Penulis
vii
DAFTAR ISI
Halaman Judul...........................................................................................................i Lembar Persetujuan Pembimbing............................................................................ ii Lembar Pengesahan Ujian...................................................................................... iii Lembar Pernyataan................................................................................................. iv Abstrak.....................................................................................................................v Kata Pengantar........................................................................................................vi Daftar Isi............................................................................................................... viii Daftar Gambar...................................................................................................... xiv Daftar Tabel......................................................................................................... xvii Daftar Simbol........................................................................................................xix
BAB I
: PENDAHULUAN 1.1 Latar Belakang......................................................................... 1 1.2 Perumusan Masalah................................................................. 4 1.3 Batasan Masalah...................................................................... 5 1.4 Tujuan dan Manfaat................................................................. 6 1.4.1
Tujuan..........................................................................6
1.4.2
Manfaat........................................................................6
1.5 Metodologi............................................................................... 7 1.6 Sistematika Penulisan...............................................................9
viii
BAB II
: LANDASAN TEORI 2.1 Sistem Informasi................................................................... 10 2.1.1 Pengertian Sistem........................................................10 2.1.2 Karakteristik Sistem.................................................... 11 2.1.3 Pengertian Data dan Informasi.....................................12 2.1.4 Pengertian Sistem Informasi.........................................13 2.2 Sistem Informasi Geografis....................................................13 2.2.1 Konsep Dasar Sistem Informasi Geografis..................13 2.2.2 Pengertian Sistem Informasi Geografis.......................14 2.2.3 Komponen Sistem Informasi Geografis.......................15 2.2.4 Subsistem Sistem Informasi Geografis........................16 2.2.5 Model Data pada Sistem Informasi Geografis.............17 2.2.6 Kemampuan Sistem Informasi Geografis....................19 2.2.7 Fungsi Analisis pada Sistem Informasi Geografis.......20 2.2.8 Perangkat Lunak Sistem Informasi Geografis.............21 2.3 Proses Pengembangan Sistem ...............................................23 2.3.1 Model SDLC (System Development Life Cycle)..........24 2.3.2 Waterfall Model...........................................................25 2.4 Alat/Tools Perancangan Sistem ........................................... 27 2.4.1 Flowchart (Diagram Alir)............................................27 2.4.2 DFD (Data Flow Diagram)......................................... 29 2.4.3 ERD (Entity Relationship Diagram)............................29 2.4.4 Normalisasi...................................................................30
ix
2.4.5 STD (State Transition Diagram).................................31 2.4.6 Kamus Data................................................................. 32 2.5 Kebakaran..............................................................................32 2.5.1 Konsep Dasar Kebakaran.............................................32 2.5.2 Kelas-Kelas Kebakaran.................................................32 2.5.3 Konsep Dasar Dinas Pemadam Kebakaran Jakarta Timur ...........................................................................33 2.5.4 Konsep Dasar Fungsi Pendukung................................35 2.5.5 Konsep Dasar Jalan .....................................................37
BAB III
: METODOLOGI PENELITIAN 3.1 Lokasi dan Waktu Penelitian................................................ 38 3.2 Peralatan dan Bahan.............................................................. 38 3.2.1 Peralatan...................................................................... 38 3.2.2 Bahan........................................................................... 39 3.3 Ruang Lingkup Penelitian......................................................39 3.4 Metode Pengumpulan Data....................................................41 3.4.1 Studi Pustaka.............................................................. 42 3.4.2 Observasi Lapangan.....................................................42 3.4.3 Wawancara...................................................................43 3.5 Metode Pengembangan Sistem..............................................44 3.5.1 Rekayasa dan Pemodelan Sistem.... ............................44
x
3.5.2 Analisis Sistem (Kebutuhan)........................................45 3.5.3 Perancangan (Design)..................................................45 3.5.4 Penulisan Program (Coding)........................................45 3.5.5 Pengujian (Testing)......................................................46 3.5.6 Operasi dan Pemeliharaan............................................. ..46
BAB IV
: HASIL DAN PEMBAHASAN 4.1 Perencanaan Sistem Informasi Geografis Kebakaran...........47 4.2 Metode Pengembangan Sistem..............................................42 48 4.2.1 Rekayasa dan Pemodelan Sistem.... ............................42 4.2.1.1 Latar Belakang Dinas Pemadam Kebakaran Jakarta Timur ..................................................49 4.2.1.2 Tugas dan Fungsi Dinas Pemadam Kebakaran Jakarta Timur...................................................50 4.2.1.3 Struktur Organisasi Dinas Pemadam Kebakaran Jakarta Timur ..................................................50 4.2.1.4 Rekayasa Sistem...............................................51 4.2.2 Analisis Sistem (Kebutuhan)........................................52 4.2.2.1 Sistem yang Sedang Berjalan...........................52 4.2.2.2 Kebutuhan Sistem yang Sedang Berjalan........55 4.2.2.3 Usulan Pemecahan Masalah.............................56 4.2.3 Perancangan (Design)..................................................58 58 4.2.3.1 Perancangan Data Flow Diagram SIGK.............
xi
4.2.3.2 Perancangan Kamus Data SIGK........................68 4.2.3.3 Perancangan Basis Data SIGK .........................70 4.2.3.4 Perancangan Input / Output SIGK...................... 85 ..99 4.2.4 Penulisan Program (Coding)........................................ 4.2.4.1 Spesifikasi program untuk modul pembuka....99 4.2.4.2 Spesifikasi program untuk modul layar utama.................................................................99 4.2.4.3 Spesifikasi program untuk sub menu Menu Utama ……………………..…...…..........…. 102 4.2.4.4 Spesifikasi
program
untuk
sub
menu
Informasi ……........……..……………….....103 4.2.4.5 Spesifikasi
program untuk sub menu Peta
Tematik ........…………................................. 103 4.2.4.6 Spesifikasi
program
untuk
sub
menu
Penanganan Kebakaran ……........................104 4.2.4.7 Spesifikasi
program
untuk
sub
menu
Pemeliharaan Data………............................105 4.2.4.8 Spesifikasi
program
untuk
sub
menu
Laporan.............…………………………… 107 4.2.4.9 Spesifikasi
program
untuk
sub
menu
Petunjuk .............……………………………108 4.2.5 Pengujian (Testing)....................................................109 4.2.6 Operasi dan Pemeliharaan.........................................111
xii
4.2.6.1 Pemakaian SIGK............................................ 112 4.2.6.2 Evaluasi........................................................... 112 4.2.6.3 Kelebihan SIGK.............................................. 118 4.2.6.4 Kekurangan SIGK........................................... 119
BAB V
: PENUTUP 5.1 Kesimpulan...........................................................................120 5.2 Saran.....................................................................................121
DAFTAR PUSTAKA......................................................................................... 169 LAMPIRAN I WAWANCARA........................................................................ 170 LAMPIRAN II DOKUMEN-DOKUMEN...................................................... 171 LAMPIRAN III TATA CARA PENGGUNAAN APLIKASI SIGK............ 172 LAMPIRAN IV SCRIPT PROGRAM............................................................173
xiii
DAFTAR GAMBAR Gambar 1.1 Grafik kejadian kebakaran, tahun 2000 – 2008 di wilayah jakarta Timur................................................................................................ 2 Gambar 1.2 Grafik Kerugian yang disebabkan kebakaran, tahun 2000 – 2008 di wilayah jakarta timur....................................................................... 2 Gambar 2.1 Subsistem SIG.................................................................................. 16 Gambar 2.2 Data Raster....................................................................................... 18 Gambar 2.3 Data Vektor...................................................................................... 19 Gambar 2.4 Pengembangan Sistem dengan Model Waterfall............................. 25 Gambar 3.1 Pengembangan Sistem dengan Model Waterfall............................. 44 Gambar 4.1 Struktur Organisasi Dinas Pemadam Kebakaran Jakarta Timur....... 50 Gambar 4.2 Diagram Alir Dokumen Sistem Yang Berjalan................................. 54 Gambar 4.3 Diagram Alir Dokumen Sistem Usulan............................................ 57 Gambar 4.4 Diagram Konteks............................................................................. 58 Gambar 4.5 Diagram Nol..................................................................................... 59 Gambar 4.6 Diagram Rinci 1.0 ( Pengolahan Data Geografis ) ......................... 62 Gambar 4.7 Diagram Rinci 2.0 (Pengolahan Data Kebakaran) ........................ 64 Gambar 4.8 ERD Sebelum di Normalisasikan................................................... 70 Gambar 4.9 ERD SIGK Sesudah Di Normalisasikan......................................... 75 Gambar 4.10 STD Layar Utama SIGK............................................................. 85 Gambar 4.11 STD Menu Utama........................................................................ 86 Gambar 4.12 STD Menu Informasi.................................................................... 86 Gambar 4.13 STD Menu Peta Tematik............................................................... 87
xiv
Gambar 4.14 STD Menu Penanganan Kebakaran.............................................. 87 Gambar 4.15 STD Menu Pemeliharaan Data..................................................... 88 Gambar 4.16 STD Menu Laporan...................................................................... 89 Gambar 4.17 STD Menu Petunjuk..................................................................... 89 Gambar 4.18 Perancangan Layar Utama............................................................ 90 Gambar 4.19 Perancangan Layar Menu Utama................................................. 91 Gambar 4.20 Perancangan Layar Menu Informasi............................................ 92 Gambar 4.21 Perancangan Layar Menu Peta Tematik........................................ 93 Gambar 4.22 Perancangan Menu Penanganan Kebakaran................................. 93 Gambar 4.23 Perancangan Layar Menu Pemeliharaan Data.............................. 94 Gambar 4.24 Perancangan Layar Menu Laporan............................................... 95 Gambar 4.25 Perancangan Layar Menu Petunjuk............................................... 95 Gambar 4.26 Rancangan Dialog Login.............................................................. 96 Gambar 4.27 Dialog Seleksi Wilayah................................................................ 96 Gambar 4.28 Dialog Print.................................................................................. 96 Gambar 4.29 Dialog Print Setup........................................................................ 97 Gambar 4.30 Rancangan Dialog Pemeliharaan Data Pos dan RS...................... 97 Gambar 4.31 Rancangan Dialog Entri Data Kebakaran..................................... 97 Gambar 4.32 Rancangan Dialog Pemeliharaan data ”Kasus Kebakaran” ........ 98 Gambar 4.33 Tabel hasil kuisioner tampilan aplikasi......................................... 114 Gambar 4.34 Tabel hasil kuisioner fasilitas aplikasi........................................... 115 Gambar 4.35 Tabel hasil kuisioner penggunaan fasilitas.................................... 115 Gambar 4.36 Tabel hasil kuisioner informasi yang dihasilkan............................ 116
xv
Gambar 4.37 Tabel hasil kuisioner penyajian laporan........................................ 116 Gambar 4.38 Tabel hasil kuisioner manfaat informasi yang dihasilkan............. 117
xvi
DAFTAR TABEL Tabel 2.1 Tabel Pembagian Kantor Polisi…………………………………….... 36 Tabel 4.1 Kamus Data SIGK................................................................................ 68 Tabel 4.2 Bentuk Tidak Normal........................................................................... 71 Tabel 4.3 Bentuk 1NF.......................................................................................... 72 Tabel 4.4 Bentuk 2 NF......................................................................................... 73 Tabel 4.5 Bentuk 3 NF......................................................................................... 74 Tabel 4.6 Tabel Provinsi...................................................................................... 76 Tabel 4.7 Tabel Kotamadya................................................................................. 76 Tabel 4.8 Tabel Kecamatan.................................................................................. 76 Tabel 4.9 Tabel Kelurahan.................................................................................. 77 Tabel 4.10 Tabel Pos Polisi.................................................................................. 77 Tabel 4.11 Tabel pos pemadam........................................................................... 77 Tabel 4.12 Tabel Rumah sakit............................................................................. 78 Tabel 4.13 Tabel Jalan......................................................................................... 78 Tabel 4.14 Tabel Sungai...................................................................................... 79 Tabel 4.15 Tabel Data kebakaran.dbf................................................................... 79 Tabel 4.16 Tabel Pelapor.dbf .............................................................................. 80 Tabel 4.17 Tabel Penyebab kebakaran per kecamatan.dbf .................................. 80 Tabel 4.18 Tabel Waktu kebakaran per kecamatan.dbf ...................................... 80 Tabel 4.19 Tabel Benda terbakar per kecamatan.dbf ......................................... 81 Tabel 4.20 Tabel Kejadian Kebakaran per Kecamatan.dbf.................................. 81 Tabel 4.21 Tabel Kej Keb bulanan per kecamatan.dbf......................................... 82
xvii
Tabel 4.22 Tabel Penyebab kebakaran per kelurahan.dbf ................................... 82 Tabel 4.23 Tabel Waktu kebakaran per kelurahan.dbf ........................................ 83 Tabel 4.24 Tabel Benda terbakar per kelurahan.dbf............................................. 83 Tabel 4.25 Tabel Kejadian Kebakaran per kelurahan.dbf.................................... 83 Tabel 4.26 Tabel Kej Keb bulanan per kelurahan.dbf.......................................... 84 Tabel 4.27 Hasil Pengujian................................................................................ 109 Tabel 4.28 Perbandingan Sistem Lama dan Sistem Baru.................................. 118
xviii
DAFTAR SIMBOL DAFTAR SIMBOL DFD (Data Flow Diagram) Menurut Jourdan dan DeMarco (Ladjamudin, p64 -70)
No a.
b.
c.
d.
Jourdan dan DeMarco
Keterangan External entity (kesatuan luar) merupakan entity di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lain yang berada di lingkungan luarnya yang akan memberikan masukkan (input) atau menerima keluaran (output) dari sistem. External entity (kesatuan luar) disimbolkan dengan suatu kotak. Proses adalah pekerjaan yang dilakukan oleh sistem sebagai respon terhadap aliran data yang masuk menjadi aliran data yang keluar. Suatu proses ditunjukkan dengan simbol lingkaran. Arus data adalah data yang menjadi masukkan (input) atau keluaran (output) menuju atau dari proses. Arus data diberi simbol dengan suatu panah. Simpanan data adalah merupakan tempat penyimpanan data yang akan digunakan oleh proses-proses yang ada di dalam sistem. Data store dapat berupa file/database yang tersimpan dalam disket, harddisk atau bersifat manual seperti buku alamat, file folder.
xix
STATE TRANSITION DIAGRAM (STD) Menurut Roger, S. Pressman
Nama Keadaan Sistem (State)
Notasi
Perubahan sistem
Kondisi dan aksi
Keterangan Setiap kotak mewakili suatu keadaan dimana sistem mungkin berada didalam state
Untuk memungkinkan suatu keadaan dengan keadaan lain, jika sistem melakukan transisi dalam perilakunya maka suatu keadaan berubah menjadi keadaan tertentu.
Keadaan 1
Untuk melengkapi STD dibutuhkan dua hal tambahan, yaitu kondisi sebelum keadaan. Gambar disamping adalah ilustrasi dari kondisi dan aksi yang ditampilkan disebelah anak panah yang menghubungkan dua keadaan.
Condition Action
Keadaan 2
DAFTAR SIMBOL ERD (Entity Relationship Diagram) Menurut Ladjamudin (2005, p 142) No
a.
b.
Simbol
Keterangan Persegi panjang Entitas/tipe entitas menyatakan kelompok orang, tempat, objek, kejadian atau konsep tentang apa yang kita perlukan untuk menangkap dan menyimpan data. Ellips menyatakan atribut-atribut entity set Atribut adalah item data yang menjadi bagian dari entitas, sifat atau karakteristik suatu entitas.
xx
c.
Belah ketupat (Diamond) menggambarkan hubungan bisnis alami yang ada diantara satu atau lebih entitas.
d.
Garis, menghubungkan antara entity set dengan atribut-atributnya dan antara entity set dengan relationship setnya.
Notasi 1
Derajat Relasi Minimum dan Maksimum 1
1:1 1
m
1:M m
n
1:N
DAFTAR SIMBOL FLOW CHART Menurut Ladjamudin (2005, p263) Flow Directions Symbols (simbol Penghubung ) No
Simbol
Arti
Keterangan
1.
Simbol flow atau arus
Untuk menyatakan jalannya arus suatu proses
2.
Simbol communication Link
Untuk menyatakan bahwa adanya transisi suatu data atau informasi dari satu lokasi ke lokasi lainnya.
3.
Simbol connector
Untuk menyatakan sambungan dari satu proses ke proses lainnya dalam halaman yang sama
4.
Simbol offline Connector
Untuk menyatakan sambungan dari satu proses ke proses lainnya dalam halaman yang berbeda.
xxi
Process Symbols (simbol proses) No
Simbol
Arti
Keterangan
1.
Simbol Process
Untuk menunjukan proses dilakukan secara komputerisasi
2.
Simbol Manual
Menunjukkan pekerjaan manual
3.
Simbol Logical
4.
Simbol Process
5.
Simbol Terminal
6.
Simbol Operation
7.
Simbol Off-line Storage
Untuk menunjukan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu.
8.
Simbol Manual Input
Untuk memasukan data secara manual dengan online keyboard.
Decision
yang
/ Simbol keputusan
Predefined menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal. Untuk menyatakan permulaan atau akhir suatu program. Keying Untuk menyatakan segala jenis operasi yang diproses menggunakan suatu mesin yang berkeyboard.
Input-output Symbols (simbol input-output) No
Simbol
Arti
Keterangan
1.
Simbol Input-output
Untuk menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya.
2.
Simbol Punched Card
Untuk menyatakan input berasal dari kartu atau output ditulis ke kartu.
3.
Simbol Document
Untuk mencetak laporan ke printer
xxii
4.
Simbol Disk Storage
Untuk menyatakan input berasal dari disk atau output disimpan ke disk.
5.
Simbol Magnetic-tape unit
Untuk menyatakan input berasal dari pita magnetic atau output disimpan ke pita magnetic.
6.
Simbol Display
Untuk menyatakan peralatan output yang digunakan berupa layar komputer.
DAFTAR SIMBOL KAMUS DATA Menurut Ladjamudin (2005) No Simbol
Uraian
1
=
Terdiri dari, mendefinisikan, diuraikan menjadi, artinya
2
+
Dan
3
()
Opsional (boleh ada atau boleh tidak)
4
{}
Pengulangan data
5
[]
Memilih salah satu dari sejumlah alternative, seleksi
6
**
Komentar
7
@
Identifikasi attribut kunci
8
!
Pemisah sejumlah alternative pilihan antara simbol [ ]
xxiii
BAB I PENDAHULUAN 1.1
Latar Belakang Wilayah kotamadya Jakarta Timur yang merupakan bagian dari kota Jakarta yang telah memainkan peranan penting dalam menunjang pembangunan kota Jakarta. Kotamadya Jakarta Timur telah berperan sebagai kawasan perdagangan dan jasa baik dalam skala pelayanan nasional maupun regional, serta telah berfungsi sebagai kawasan hunian. Berbagai peran dan fungsi tersebut mengakibatkan perkembangan wilayah tersebut menjadi sangat pesat, baik dari perkembangan fisik dan aktifitasnya. Resiko dari perkembangan yang pesat adalah munculnya berbagai macam masalah sosial yang tidak dapat dihindari, misalnya kejahatan, kesehatan serta salah satu hal yang terpenting adalah ancaman bahaya kebakaran. Di kota-kota besar seperti Jakarta khususnya kotamadya Jakarta Timur tidak akan luput dari musibah kebakaran, karena sebagaian wilayahnya sudah berfungsi sebagai kawasan hunian padat penduduk, banyak berdirinya pabrik-pabrik
dan
gedung-gedung.
Yang dalam
pendiriannya
tidak
memperhatikan aturan tata ruang kota yang baik, banyaknya pencurian listrik dari tiang listrik di pinggir jalan. Hal-hal tersebut merupakan faktor yang berpengaruh dalam terciptanya kebakaran. Kotamadya Jakarta Timur sebagai wilayah terbesar di ibukota Jakarta yang memiliki 10 kecamatan dan 65 kelurahan serta memiliki unit pos pemadam kebakaran terbanyak dibandingkan dengan wilayah kotamadya 1
lainnya, yaitu dengan jumlah 20 unit pos pemadam kebakaran yang tersebar diseluruh wilayah kotamadya Jakarta Timur. Namun dengan melihat luasnya wilayah kotamadya Jakarta Timur akan menjadi suatu masalah apabila terjadi kebakaran di suatu wilayah tapi lamban dalam penanganannya. G ra fik K e ja d ia n K e b a k a ra n T a h u n 2 0 0 0 -2 0 0 8 188
187
200
106 100
96
161
145
140
150 83 53 50 0 2000
2001
2002
2003
2004
2005
2006
2007
2008
Gambar 1.1 Grafik Kejadian Kebakaran tahun 2000 – 2008 di wilayah Jakarta Timur 100 90 80 70
Bangunan Perumahan
60
Bangunan Industri
50
Bangunan Umum
40
Kendaraan Lain-lain
30 20 10 0 Tahun 2000
Tahun 2001
Tahun 2002
Tahun 2003
Tahun 2004
Tahun 2005
Tahun 2006
Tahun 2007
Tahun 2008
Gambar 1.2 Grafik Kerugian yang disebabkan Kebakaran, tahun 2000 – 2008 di wilayah Jakarta Timur Keterbatasan informasi tentang lokasi kebakaran merupakan salah satu penyebab pengolahan data dalam penanganan kejadian kebakaran menjadi lamban, sehingga membuat pengambil keputusan mengalami kesulitan untuk mengetahui lokasi kebakaran dan ketika menugaskan pemadam kebakaran yang akan melakukan penanganan awal pada kejadian kebakaran. Dan juga minimnya informasi tentang lembaga terkait yang 2
menjadi fungsi pendukung dalam penanganan kejadian kebakaran menjadi masalah penting, karena lembaga seperti polisi dan rumah sakit sangat berperan dalam proses penanganan kebakaran. Penyajian laporan kebakaran yang sederhana dan belum terotomasi, membuat kebutuhan informasi pada Dinas Pemadam Kebakaran Kotamadya Jakarta Timur kurang, sehingga untuk meningkatkan pelayanan kepada masyarakat menjadi kurang optimal. Berdasarkan hal tersebut, pengolahan data kebakaran yang baik merupakan salah satu jenis pelayanan yang perlu ada di Dinas Pemadam Kebakaran Kotamadya Jakarta Timur. Sebagai instansi yang bertanggung jawab pada kejadian kebakaran di wilayahnya merasa perlu adanya dukungan sistem informasi yang dapat membantu dalam pengolahan data kebakaran. Pesatnya kemajuan teknologi informasi yang diikuti oleh pesatnya perkembangan piranti lunak membawa perubahan di berbagai bidang, yang meningkatkan kebutuhan akan kemudahan untuk mendapatkan informasi. Mengingat perlu adanya pengolahan data yang baik pada Dinas Pemadam Kebakaran Kotamadya Jakarta Timur, mendorong penulis untuk membuat suatu sistem informasi yang mempermudah proses pengolahan data dalam penanganan kebakaran yaitu mencari lokasi kebakaran dan menentukan unit pemadam kebakaran serta fungsi-fungsi pendukung terdekat dengan lokasi atau wilayah terjadinya kebakaran, dan mempermudah proses pengolahan data untuk menghasilkan laporan penyebaran kebakaran yaitu dengan mengkalkulasi jumlah data kebakaran dan elemen data kebakaran tertentu yang dikelompokan berdasarkan waktu dan wilayahnya. 3
Penulis berharap sistem informasi ini dapat bermanfaat bagi Suku Dinas Pemadam Kebakaran Jakarta Timur dalam menangani kebakaran dan berkoordinasi dengan lembaga-lembaga yang terkait dalam melakukan penanganan kebakaran, serta pengolahan data kebakaran lanjut yang berguna untuk mengolah laporan penyebaran kebakaran sehingga dapat memenuhi kebutuhan informasi bagi Dinas Pemadam Kebakaran Jakarta Timur. Dengan dukungan sistem informasi geografis kebakaran, Sebagai instansi yang bertanggung jawab pada kejadian kebakaran di wilayahnya diharapkan dapat meningkatkan pelayanan yang optimal kepada masyarakat.
1.2
Perumusan Masalah Berdasarkan identifikasi masalah yang telah dilakukan pada Sudin Kebakaran Jakarta Timur maka permasalahan yang penulis angkat dalam penulisan ini adalah: a. Bagaimana memperbaiki proses pencarian lokasi atau wilayah terjadinya kebakaran pada penanganan kebakaran. b. Bagaimana memperbaiki proses pencarian lokasi atau wilayah pos pemadam kebakaran serta fungsi-fungsi pendukung (pos polisi, rumah sakit) yang terdekat dengan lokasi atau wilayah terjadinya kebakaran. c. Bagaimana memperbaiki kualitas laporan kebakaran yang dihasilkan dari pengolahan data kebakaran, menggunakan pendekatan yang bersifat spasial ?
4
1.3
Batasan Masalah Batasan masalah dalam penulisan ini adalah sebagai berikut: a. Perancangan aplikasi sistem informasi geografis kebakaran dikhususkan di wilayah kelurahan, kecamatan pada Kotamadya Jakarta Timur. b. Fasilitas untuk menentukan pos pemadam kebakaran serta fungsi-fungsi pendukung (pos polisi, rumah sakit) yang terdekat dengan lokasi atau wilayah terjadinya kebakaran menggunakan fungsi analisis spasial dengan operasi buffering. c. Penggambaran tentang lokasi kebakaran hanya melalui jaringan jalan dan batas wilayah. d. Aplikasi Sistem Informasi Geografis kebakaran ini dibangun dengan menggunakan program aplikasi SIG ArcView 3.3 dengan bahasa pemrograman Avenue. e. Aplikasi yang dibuat berbasis desktop dan hanya tersedia dan dapat diakses di SUDIN pemadam kebakaran Jakarta Timur. f. Pada tahapan pengembangan sistem menggunakan metode terstruktur dengan model waterfall hanya sampai pada tahap pengujian dan tidak sampai pada tahap operasi dan pemeliharaan.
5
1.4
Tujuan dan Manfaat 1.4.1 Tujuan Tujuan penulisan ini adalah menganalisis dan merancang suatu aplikasi Sistem Informasi Geografi (SIG) yang ditujukan untuk membantu tugas Dinas Pemadam Kebakaran Jakarta Timur pada pengolahan data kebakaran, antara lain dengan cara : a. Mengolah informasi kejadian kebakaran, sehingga mempermudah si pengambil keputusan dalam mencari wilayah terjadinya kebakaran, mencari pos pemadam kebakaran dan fungsi-fungsi pendukung yang terdekat dengan wilayah terjadinya kebakaran. b. Mengolah
data-data
kebakaran
per
wilayahnya
yang
menghasilkan laporan pola sebaran kebakaran yang berguna untuk memenuhi kebutuhan informasi bagi Dinas Pemadam Kebakaran Jakarta Timur.
1.4.2 Manfaat Manfaat yang didapat dari penulisan ini adalah: a. Bagi Penulis : 1. Menerapkan seluruh ilmu-ilmu yang diperoleh selama kuliah, melalui pembuatan aplikasi berbasis SIG. 2. Mengetahui kondisi dan memahami masalah-masalah yang dihadapi dalam bidang sosial, khususnya tentang musibah kebakaran dan pengolahan data kebakaran.
6
b.
Bagi Sudin Kebakaran Jakarta Timur : 1. Sebagai fasilitas pengolah informasi bagi Dinas Pemadam Kebakaran Jakarta Timur untuk meningkatkan kinerja dan koordinasi dengan lembaga lainnya dalam proses penanganan kebakaran. 2. Tersedianya aplikasi berbasis SIG yang dapat menghasilkan informasi yang bersifat spasial tentang pola penyebaran kebakaran pada Kotamadya Jakarta Timur.
1.5
Metodologi Metodologi yang digunakan dalam pengembangan sistem ini terdiri dari metode pengumpulan data dan metode perancangan sistem, adapun kegiatannya terdiri dari : a. Metode Pengumpulan Data, yaitu mendapatkan data dengan cara : 1. Studi Pustaka Membaca dan mempelajari buku-buku, literatur dan website, yang dapat dijadikan pendukung dalam penyelesaian skripsi ini. 2. Wawancara Serangkaian diskusi dan tanya jawab kepada Kepala Sudin Kebakaran Jakarta
Timur untuk mendapatkan informasi tentang proses
penanganan kebakaran dan pengolahan data kebakaran yang dilakukan, serta menganalisa masalah yang menjadi kendala dalam penanganan masalah kebakaran di wilayah Jakarta Timur. 7
3. Observasi Mengamati kegiatan penanganan dan pengolahan data
yang
dilakukan oleh seksi operasi sudin kebakaran kotamadya jakarta timur,
untuk
mendapatkan
gambaran
yang
jelas
mengenai
pelaksanaan sistem yang berjalan. Kegiatan ini di perlukan guna mencari dan mengumpulkan data-data sekunder yang dibutuhkan langsung dari sumbernya.
b.
Metode perancangan sistem Metode yang digunakan untuk perancangan dan pengembangan sistem yang akan dibuat ini menggunakan metode terstruktur yang didasari pada pengembangan Model Waterfall , yang urutan kegiatannya terdiri dari enam tahap yaitu rekayasa sistem, analisa sistem, perancangan sistem, pemrograman sistem, pengujian, operasi dan pemeliharaan sistem.
8
1.6
Sistematika Penulisan Secara garis besar, penulisan ini dibagi menjadi 5 Bab. Adapun isi dari masing-masing bab tersebut adalah sebagai berikut: Bab 1 : Pendahuluan Bab ini mengemukakan latar belakang dibuatnya penulisan skripsi, perumusan masalah dan batasan masalah yang diangkat dalam penulisan, tujuan dan manfaat penulisan, metodologi yang digunakan serta sistematika penulisan. Bab 2 : Landasan Teori Bab ini menguraikan tentang teori-teori yang digunakan sebagai landasan berfikir dalam penulisan skripsi ini. Bab 3 : Metodologi Penelitian Bab ini menguraikan tentang objek yang diteliti dan metodemetode
yang
digunakan
untuk
mengumpulkan
data
dan
mengembangkan sistem dalam penelitian tersebut. Bab 4 : Pembahasan Bab ini menguraikan tentang hasil yang didapatkan dari pengembangan sistem yang dilakukan. Bab 5 : Penutup Bab ini menguraikan kesimpulan dari apa yang telah dibahas dalam bab-bab sebelumnya dan memberikan saran-saran untuk perbaikan sistem yang telah dibuat.
9
BAB II LANDASAN TEORI 2.1
Sistem Informasi 2.1.1 Pengertian Sistem Terdapat
beberapa
pengertian
mengenai
definisi
sistem,
diantaranya menurut Menurut Hanif al Fatta (2007, p3) mendefinisikan sistem sebagai Sekumpulan objek-objek yang saling berelasi dan berinteraksi, serta hubungan antar objeknya bisa dilihat sebagai satu kesatuan yang dirancang untuk mencapai satu tujuan Menurut Ladjamudin (2005, p2) Sistem adalah kumpulan komponen yang saling berkaitan dan bekerjasama untuk mencapai suatu tujuan tertentu. Sementara dalam hanif al fatah (2005, p4) menurut Scott, sistem terdiri
dari
unsur-unsur
seperti
masukan
(input),
pengolahan
(processing), serta keluaran (output). Dari beberapa pengertian di atas dapat ditarik kesimpulan bahwa sistem adalah suatu kesatuan yang terdiri dari dua atau lebih komponen yang saling terintegrasi, yang menerima masukan (input) dan dengan melalui
pengolahan
(processing)
yang
terorganisasi
sehingga
menghasilkan keluaran (output) yang diharapkan untuk mencapai satu tujuan.
10
2.1.2 Karakteristik Sistem Menurut Ladjamudin (2005, p3) suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu : a. Komponen Sistem Sistem terdiri dari sejumlah komponen yang saling berinteraksi dan bekerjasama membentuk suatu kesatuan. Komponen atau elemen sistem dapat berupa subsistem atau beberapa bagian sistem. b. Batasan Sistem Daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem inilah yang membuat sistem dipandang sebagai satu kesatuan. c. Lingkungan Luar Sistem Apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan sistem atau merugikan sistem. d. Penghubung Sistem Media yang menghubungkan antara satu subsistem dengan subsistem yang lainnya. Penghubung inilah yang menyebabkan beberapa subsistem berintegrasi dan membentuk satu kesatuan. e. Masukan Sistem Adalah energi yang dimasukan ke dalam sistem. f. Keluaran Sistem Merupakan energi yang diolah dan diklasifikasikan menjadi keluaran/hasil yang berguna.
11
g. Pengolahan Sistem Sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah akan merubah masukan menjadi keluaran. h. Sasaran atau tujuan Sistem Sesuatu yang menyebabkan mengapa sistem itu dibuat atau ada. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.
2.1.3 Pengertian Data dan Informasi Hanif al Fatta (2007, p9) mendefinisikan data sebagai suatu nilai, keadaan atau sifat yang berdiri sendiri lepas dari konteks apapun. Sedangkan informasi menurut Mc Leod dalam Hanif al Fatta (2007, p9) mengatakan bahwa informasi adalah data yang telah diproses atau data yang memiliki arti. Sedangkan menurut Ladjamudin (2005, p8) data merupakan kenyataan yang menggambarkan suatu kejadian - kejadian dan kesatuan nyata, dan menurut Davis dalam Ladjamudin (2005, p8) informasi adalah data yang telah diolah menjadi bentuk yang lebih berarti dan berguna bagi penerimanya untuk mengambil keputusan masa kini maupun yang akan datang. Dari definisi diatas dapat disimpulkan bahwa data adalah kenyataan dari suatu kejadian, dan informasi adalah sekumpulan data
12
yang telah diproses dan menjadi bentuk yang lebih berarti bagi penggunanya dan bermanfaat dalam pengambilan keputusan.
2.1.4 Pengertian Sistem Informasi Menurut Ladjamudin (2005, p13), definisi Sistem informasi yaitu, a. Suatu sistem yang dibuat oleh manusia yang terdiri dari komponenkomponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan informasi. b. Sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan dan atau untuk mengendalikan organisasi. Sistem informasi menurut Budihar dalam prahasta (2002, p40) dapat diartikan sebagai suatu sistem manusia-mesin yang terpadu untuk menyajikan informasi guna mendukung fungsi operasi, manajemen, dan pengambilan keputusan dalam organisasi. Dari pendapat beberapa pendapat diatas, secara singkat dapat disimpulkan bahwa sistem informasi adalah sistem yang berguna untuk menghasilkan informasi dari data yang tersedia, dan digunakan untuk mendukung tindakan dalam mengambil keputusan dalam organisasi.
2.2
Sistem Informasi Geografis 2.2.1 Konsep Dasar Sistem Informasi Geografis (SIG) Pada awalnya, data geografi hanya disajikan di atas peta dengan menggunakan simbol, garis, dan warna. Peta adalah media yang efektif
13
baik sebagai alat presentasi maupun tempat penyimpanan data geografis. Tetapi media peta ini memiliki kelemahan atau keterbatasan informasi-informasi yang tersimpan dalam peta yang telah diproses dan dipresentasikan dengan suatu cara tertentu, dan biasanya untuk tujuan tertentu pula, yang sudah dimanipulasi sehingga bersifat statis. Bila dibandingkan dengan peta, SIG memiliki keunggulan yang melekat karena penyimpanan data dan presentasinya dipisahkan. Dengan demikian, data dapat dipresentasikan dalam berbagai cara dan bentuk. Berbeda dengan sistem informasi lainnya, SIG membantu pekerjaan-pekerjaan yang berkaitan dengan bidang-bidang spasial dan geo-informasi.
Salah
satu
keuntungan
teknologi
SIG
adalah
kemampuannya dalam menyediakan data atau informasi berkaitan dengan keruangan (spasial). Hasil analisis data geografi dapat disajikan dalam media peta, laporan atau keduanya. Peta dipakai untuk menampilkan hubungan geografi suatu data, sementara itu laporan sangat tepat untuk merangkum data tabular dan mendokumentasikan suatu nilai hasil perhitungan atau analisis. Secara singkat, SIG mampu mengolah gambar visual sekaligus mengolah basisdata.
2.2.2 Pengertian Sistem Informasi Geografis (SIG) SIG adalah sistem komputer yang digunakan untuk memasukkan (capturing), menyimpan, memeriksa, mengintegrasikan, menganalisa, dan menampilkan data-data yang berhubungan dengan posisi di permukaan bumi. Rise dalam prahasta (2002, p54)
14
SIG adalah sistem yang terdiri dari perangkat keras, perangkat lunak, data, manusia (brainware), organisasi dan lembaga yang digunakan untuk mengumpulkan, menyimpan, menganalisa dan menyebarkan
informasi-informasi
mengenai
daerah-daerah
di
permukaan bumi. Chrisman dalam prahasta (2002, p55)
2.2.3 Komponen Sistem Informasi Geografis Menurut prahasta (2002, p58) Sistem Informasi Geografis terdiri dari empat komponen utama yang terintergrasi menjadi satu kesatuan, yaitu: a. Perangkat keras, Perangkat keras yang sering digunakan untuk SIG adalah komputer (PC), mouse, digitizer, printer dan plotter (untuk pengolahan), dan scanner. untuk konversi data ke dalam bentuk digital. b. Perangkat lunak, Perangkat lunak SIG menyediakan fungsi untuk masukan, menyimpan, menganalisis dan menampilkan data dalam bentuk geografis. Perangkat lunak SIG yang umum digunakan adalah Mapinfo, ArcView, Autocad Map. c. Data dan informasi geografis, SIG dapat mengumpulkan dan menyimpan data yang diperlukan baik secara langsung dengan cara dijitasi data spasial dari peta dan masukan data atributnya dari tabel, laporan dengan menggunakan keyboard, maupun secara tidak langsung dengan cara mengimpornya dari perangkat lunak SIG
15
lainnya. Data geografis juga dapat diperoleh dengan membelinya dari penyedia jasa peta. d. User, proyek SIG akan berhasil jika diatur dengan baik dan dikerjakan oleh orang-orang yang memilki keahlian untuk setiap tahapan implementasi SIG.
2.2.4 Subsistem Sistem Informasi Geografis Subsistem SIG merupakan seluruh kesatuan cara kerja SIG yang dapat merepresentasikan kondisi dunia nyata ke dalam komputer seperti pada peta yang mampu merepresentasikan keadaan dunia nyata diatas kertas. Adapun proses untuk merepresentasikannya adalah sebagai berikut
Gambar 2.1 Subsistem SIG Menurut prahasta (2002, p56) Sistem Informasi Geografis dapat diuraikan menjadi beberapa subsistem sebagai berikut: a. Data Input, Subsistem ini bertugas untuk mengumpulkan data dan mempersiapkan data spasial dan atribut dari berbagai sumber dan bertanggung jawab dalam mengkonversi atau mentransformasikan
16
format-format data-data aslinya ke dalam format yang dapat digunakan oleh SIG. b. Data output, Subsistem ini menampilkan atau menghasilkan keluaran seluruh atau sebagian basis data, baik dalam bentuk softcopy maupun bentuk hardcopy seperti tabel, grafik dan peta. c. Data Management, Subsistem ini mengorganisasikan data spasial maupun data atribut ke dalam sebuah basis data sedemikian rupa sehingga mudah dipanggil, di-update dan di-edit. d. Data Manipulation dan Analysis, Subsistem ini menentukan informasi-informasi yang dapat dihasilkan oleh SIG dan melakukan manipulasi serta pemodelan data untuk menghasilkan informasi yang diharapkan.
2.2.5 Model Data pada Sistem Informasi Geografis Menurut prahasta (2002, p146) dalam pengolahan data SIG, terdapat 2 jenis data, yaitu data spasial dan data non-spasial (atribut) yang saling melengkapi. Data spasial (keruangan), yaitu data yang menunjukkan ruang, lokasi atau tempat-tempat di permukaan bumi. Data spasial berasal dari peta analog, foto udara dan penginderaan jauh dalam bentuk cetak kertas atau digital. Data atribut (deskriptis), yaitu data yang terdapat pada ruang atau tempat. Atribut menjelaskan suatu informasi dari suatu keruangan.
17
Data atribut diperoleh dari catatan lapangan, statistik, sensus dan tabular (data yang disimpan dalam bentuk tabel) lainnya. Pada SIG, data spasial dan data atribut disajikan dalam bentuk titik (node), garis (arc), dan bidang (polygon) melalui 2 model, yaitu : a. Model Data Raster Menampilkan,
menempatkan,
dan
menyimpan
data
spasial
menggunakan struktur matriks atau pixel (picture cell) yang tersusun membentuk grid. Umumnya sel-sel berbentuk bujur sangkar atau empat persegi panjang, tetapi bisa juga berupa segitiga atau persegi enam. Akurasi pada model raster sangat bergantung pada resolusi (jumlah pixel yang termuat dalam suatu gambar) yang digunakan.
Gambar 2.2 Data Raster
b. Model Data Vektor Menampilkan,
menempatkan,
dan
menyimpan
data
spasial
menggunakan titik-titik, garis, dan polygon beserta atributnya. Bentuk-bentuk dasar representasi data spasial ini, di dalam model
18
data vektor didefinisikan oleh sistem koordinat kartesian dua dimensi (x,y).
Gambar 2.3 Data Vektor
2.2.6 Kemampuan Sistem Informasi Geografis Menurut prahasta (2002, p72) Secara jelas, kemampuan SIG juga dapat dilihat dari pengertian atau definisinya. Kemampuankemampuan SIG yang diambil dari beberapa definisi SIG yaitu: a. Memasukan dan mengumpulkan data geografi b. Mengintegrasikan data geografi c. Memeriksa, meng-update data geografi d. Menyimpan dan memanggil kembali data e. Mempresentasikan atau menampilkan data geografi f. mengelola data geografi g. Memanipulasi data geografi h. Menganalisis data geografi
19
i. Menghasilkan keluaran (output) data geografi dalam bentuk peta tematik (view dan layout), table, grafik (chart), laporan (report), dan lainnya baik dalam bentuk softcopy ataupun hardcopy.
2.2.7 Fungsi Analisis pada Sistem Informasi Geografis Menurut prahasta (2002, p73)
Kemampuan SIG dapat juga
dikenali dari fungsi-fungsi analisis yang dapat dilakukannya. Secara umum, terdapat dua jenis fungsi analisis dalam SIG yaitu fungsi analisis atribut dan fungsi analisis spasial. Fungsi analisis atribut terdiri dari operasi dasar sistem pengelolaan basisdata (DBMS) dan perluasannya: a. Operasi dasar basisdata mencakup : 1) Membuat basisdata baru, 2) Menghapus basisdata, 3) Membuat tabel basisdata, 4) Menghapus tabel basisdata, 5) Mengisi dan menyisipkan data ke dalam tabel, 6) Membaca dan mencari data dari tabel basisdata, 7) mengubah dan meng-edit data yang terdapat di dalam tabel basisdata, 8) Menghapus data dari tabel basisdata, 9) Membuat indeks untuk setiap tabel basisdata. b. Perluasan operasi basisdata seperti : 1) Membaca dan menulis basisdata dalam sistem basisdata yang lain, 2) Dapat berkomunikasi dengan sistem basisdata yang lain, 3) Dapat menggunakan bahasa basisdata standar, 4) Operasi-operasi atau fungsi analisis lain yang sudah rutin digunakan di dalam sistem basisdata.
20
Sedangkan fungsi analisis spasial terdiri dari operasi seperti berikut ini: a. Klasifikasi: fungsi ini mengklasifikasikan atau mengklasifikasikan kembali suatu data spasial (atau atribut) menjadi data spasial yang baru dengan menggunakan kriteria tertentu. b. Network : fungsi ini merujuk data spasial titik-titik (point) atau garis-garis (lines) sebagai suatu jaringan yang tidak terpisahkan. c. Overlay: menghasilkan data spasial baru dari minimal dua data yang menjadi masukannya. d. Buffer: menghasilkan data spasial baru yang berbentuk polygon atau zone dengan jarak tertentu dari data spasial yang menjadi masukannya. e. 3D analysis: fungsi ini terdiri dari sub-sub fungsi yang berhubungan dengan presentasi data spasial dalam ruang 3 dimensi.
2.2.8 Perangkat Lunak Sistem Informasi Geografis a. Arcview 3.3 Perangkat lunak merupakan salah satu dari empat komponen utama SIG. Perangkat lunak SIG harus dapat menyediakan fungsi untuk masukan, menyimpan, menganalisis dan menampilkan data dalam bentuk geografis. ArcView 3.3 merupakan salah satu dari sekian banyak perangkat lunak SIG yang dapat menyediakan fungsi-fungsi tersebut.
21
Perangkat lunak ArcView adalah alat (tools) yang paling banyak digunakan pada saat ini karena kemudahan yang dimilikinya. ArcView memungkinkan kita untuk melakukan organisasi, menyusun, menggambarkan dan menganalisis peta atau informasi spasial. ArcView menyediakan sebuah perangkat kerja guna pembuatan keputusan spasial, dan mempunyai kemampuan untuk
menggambarkan,
menyelidiki,
atau
mengevaluasi,
melakukan query, dan menganalisis data spasial. Pekerjaan mengubah simbol peta, menambah gambar citra atau grafik, menempatkan tanda arah utara, skala batang dan judul, serta mencetak peta yang kualitasnya baik, dapat dilakukan secara cepat dengan menggunakan ArcView. ArcView bekerja dengan data tabular, citra, textfile data spreadsheet dan data grafik. Selain itu ArcView juga dapat melakukan komunikasi dengan produk perangkat lunak lain, dimana kita dapat mengganti data tanpa melakukan konversi dan tanpa perlu meninggalkan atau keluar dari area kerja ArcView. (Nuarsa 2005 p1-23)
b. Bahasa Pemrograman Avenue Menurut prahasta (2004, p1) Avenue merupakan bahasa pemrograman yang hadir bersama dengan ArcView (terintegrasi dengan paket standar). Bahasa pemrograman script ini merupakan sarana atau tool yang efektif dan efisien yang dapat digunakan
22
untuk meng-customize dan mengembangkan aplikasi-aplikasi yang dibuat dengan perangkat SIG Arcview. Dengan Avenue, secara umum para pengguna dapat melakukan aktifitas-aktifitas sebagai berikut ; 1. Meng-customize tampilan Arcview (menyembunyikan dan atau memunculkan control dari para penggunannya). 2. Memodifikasi menu dan tools standar Arcview. 3. membuat menu dan tools baru (untuk memenuhi kebutuhan pengguna). 4. Mengotomasikan proses integrasi aplikasi-aplikasi Arcview dengan aplikasi-aplikasi lain. 5. Mengembangkan fungsi dan prosedur (baris-baris kode yang membentuk suatu proses yang lebih besar) yang diperlukan di dalam aplikasi.
2.3
Proses Pengembangan Sistem Menurut Whitten (2004, p81) System Development Process adalah Proses pengembangan terstandarisasi yang mendefinisikan suatu aktivitas, metode, praktik terbaik, dan perangkat terotomasi yang akan digunakan oleh para pengembang sistem untuk mengembangkan dan secara berkesinambungan memperbaiki sistem informasi dan perangkat lunak. Dalam pengembangan sistem informasi, perlu melewati beberapa tahapan mulai dari perencanaan sistem hingga penggunaan sistem. Dengan
23
mengikuti tahapan-tahapan ini diharapkan pengembangan sistem dapat diselesaikan dengan baik. Tahap-tahap tersebut dinamakan SDLC (System Development Life Cycle).
2.3.1 Model SDLC (System Development Life Cycle) Di dalam pengembangan sistem informasi, masalah yang muncul tidak langsung dapat dihilangkan tetapi harus dikenali terlebih dahulu sebelum solusinya dibuat.
Biasanya pengembang menggunakan
pendekatan atau model tahapan yang berbeda dalam pengembangan suatu sistem informasi. Menurut prahasta (2002, p222) telah dikembangkan beberapa model proses rekayasa piranti lunak atau sistem informasi, masingmasing memiliki kekuatan dan kelemahan, akan tetapi seluruhnya memiliki serangkaian tahapan yang sama dalam mengembangkan suatu sistem informasi. Berikut adalah beberapa jenis model SDLC yang umum digunakan : a. Waterfall Model b. Prototyping Model c. RAD Model d. Spiral Model
24
2.3.2 Waterfall Model Rekayasa Sistem Analisis Sistem Perancangan Pemrograman Pengujian Operasi dan Pemeliharaan
Gambar 2.4 Pengembangan Sistem dengan Model Waterfall
Penulis menggunakan model ini dalam pengembangan sistemnya Menurut Prahasta (2002, p223) Metode ini membutuhkan pendekatan sistematis dan sekuensial dalam pengembangan perangkat lunak, dimulai dari tingkat sistem, analisis, desain, coding, pengujian dan pemeliharaan. Pada model ini terdapat aktivitas- aktivitas sebagi berikut :
a. Rekayasa Sistem Informasi (System Information Engineering). Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan dari semua elemen sistem dan mengalokasikan suatu subset ke dalam pembentukan perangkat lunak. Hal ini penting, ketika perangkat
25
lunak harus berkomunikasi dengan hardware, manusia dan basis data.
Rekayasa
dan
pemodelan
sistem
menekankan
pada
pengumpulan kebutuhan pada level sistem dengan sedikit perancangan dan analisis. Tahap ini juga kadang disebut dengan Project Definition. b. Analisis Kebutuhan Perangkat Lunak (Software Requirements Analysis). Proses pengumpulan kebutuhan diintensifkan ke perangkat lunak. Harus dapat dibentuk domain informasi, fungsi yang dibutuhkan, performansi dan antarmuka. c. Perancangan (Design). Proses mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum
dimulai
penulisan
program.
Desain
ini
harus
didokumentasikan dengan baik dan menjadi bagian konfigurasi perangkat lunak. d. Pemrograman (Coding). Desain pada tahap sebelumnya harus diubah menjadi bentuk yang dimengerti mesin (komputer). Maka dilakukan langkah penulisan program. Jika desain-nya detil, maka coding dapat dicapai secara mekanis. e. Pengujian (Testing). Setelah kode program selesai dibuat, dan program dapat berjalan, testing dapat dimulai. Testing difokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan mencari segala kemungkinan kesalahan. Dan memeriksa apakah sesuai dengan hasil yang diinginkan.
26
f. Operasi dan Pemeliharaan (Support/Maintenance). Perangkat lunak setelah diberikan pada pelanggan, mungkin ditemukan error ketika dijalankan di lingkungan pelanggan. Atau mungkin pelanggan meminta penambahan fungsi, hal ini menyebabkan faktor maintenance (pemeliharaan) ini menjadi penting dalam penggunaan metode ini. Pemeliharaan ini dapat berpengaruh pada semua langkah yang dilakukan sebelumnya.
2.4
Alat Perancangan Sistem 2.4.1 Flowchart (Diagram Alir) Menurut Ladjamudin (2005, p263) Flowchart adalah baganbagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian masalah. Flowchart disusun dengan simbol. simbol ini dipakai sebagai alat bantu dalam menggambarkan proses, simbol dapat dibagi menjadi tiga kelompok, yakni sebagai berikut. a. Flow Direction Symbols (Simbol penghubung atau alur) Simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. b. Processing Symbols (Simbol proses) Simbol yang menunjukkan jenis operasi pengolahan dalam suatu proses.
27
c. Input-output Symbols (simbol input-output) Simbol yang menunjukkan jenis peralatan yang digunakan sebagai media input-output.
2.4.2 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. DFD menurut Jouran dan DeMarco dalam buku analisa dan desain sistem informasi (Ladjamudin, p64 -70). Data flow diagram merupakan model dari sistem untuk menggambarkan pembagian sistem ke modul yang lebih kecil. Salah satu keuntungan menggunakan Data flow diagram adalah memudahkan pemakai atau user yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan. Adapun tahapan dalam menggambarkan sistem menggunakan DFD adalah sebagai berikut : a. Diagram Konteks ( Level 0 ) Merupakan diagram paling atas yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Diagram konteks menggambarkan input dan output dari sistem secara global.
28
b. Diagram Zero atau Nol ( Level 1 ) Merupakan diagram yang berada diantara diagram konteks dan diagram detail, serta menggambarkan proses utama dari DFD. Diagram Nol memberikan pandangan secara menyeluruh mengenai sistem yang ditangani. c. Diagram Rinci (Level 2, Level 3, dan seterusnya) Merupakan penguraian dalam proses yang ada dalam Diagram Zero atau diagram level diatasnya. Diagram yang paling rendah dan tidak dapat diuraikan lagi.
2.4.3 ERD ( Entity Relationship Diagram) Menurut ladjamudin (2005, p 142) Entity Relationship Diagram (ERD) adalah notasi grafik dari sebuah model jaringan data yang menekankan pada struktur-struktur dan relationship data yang disimpan dalam sistem secara abstrak. Kardinalitas
adalah
menunjukan
jumlah
maksimum
dan
minimum tupel yang dapat berelasi dengan entitas pada entitas lainnya. Kardinalitas relasi antar entitas dapat di katagorikan dalam tiga jenis, yaitu : a. Derajat hubungan 1 : 1 (One to one) Derajat hubungan antar entitas 1 : 1 terjadi bila entitas A hanya boleh berpasangan dengan satu anggota dari entitas B. Demikian pula sebaliknya.
29
b. Derajat hubungan 1 : m (One to many) atau m :1 (Many to one) Derajat hubungan ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota entitas B hanya boleh berpasangan dengan satu anggota entitas A. c. Derajat hubungan m : n (Many to many) Terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Demikian pula sebaliknya.
2.4.4 Normalisasi Menurut Ladjamudin (2005, p169) normalisasi adalah proses pengelompokan data ke dalam bentuk tabel, relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi. Bentuk dan tahapan dalam proses normalisasi adalah sebagai berikut: a. Bentuk Tidak Normal ( Unnormalized Form ) Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi.
30
b. Bentuk Normal Kesatu (1NF atau First Normal Form) Secara sederhana entitas berada pada dalam bentuk normal pertama, yaitu jika tidak ada atribut yang dapat memiliki lebih dari satu nilai untuk contoh entitas tunggal. c. Bentuk Normal Kedua (2NF atau Second Normal Form) Bentuk normal kedua mempunyai syarat yaitu tabel sudah berada pada bentuk normal pertama. Atribut bukan kunci haruslah bergantung secara fungsional pada kunci utama atau primary key. sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci field. d. Bentuk Normal Ketiga (3NF atau Third Normal Form) Untuk menjadi bentuk normal ketiga maka relasi harus sudah termasuk dalam bentuk normal kedua dan semua atribut bukan primer tidak punya hubungan transitif. Dengan kata lain, setiap atribut yang bukan kunci haruslah bergantung pada primary key dan pada primary key secara keseluruhan. 2.4.5 STD (State Transition Diagram) Menurut
Pressman
(2001,
p317),
STD
menggambarkan
kebiasaan dari suatu sistem dengan menggambarkan kondisi dan kejadian yang menyebabkan perubahan suatu kondisi. Selain itu, dapat dikatakan STD menunjukan tindakan yang diambil sebagai akibat dari suatu kejadian. Notasi yang digunakan dalam STD dapat dilihat pada gambar di bawah ini.
31
2.4.6 Kamus Data Menurut Ladjamudin (2005) kamus data adalah katalog fakta tentang data dan kebutuhan - kebutuhan informasi dari suatu sistem informasi.
2.5
Kebakaran 2.5.1 Konsep Dasar Kebakaran Dalam situs resmi Dinas Pemadam Kebakaran Provinsi DKI Jakarta http://www.jakartafire.com/dpk07/pengetahuan/index.php?act= detil&idb=297) Pengertian kebakaran adalah suatu nyala api, baik kecil atau besar pada tempat yang tidak kita hendaki, merugikan dan pada umumnya sukar dikendalikan.
2.5.2 Kelas-Kelas Kebakaran Dalam situs resmi Dinas Pemadam Kebakaran Provinsi DKI Jakarta http://www.jakartafire.com/dpk07/pengetahuan/index.php?act= detil&idb=297), Kebakaran di Indonesia dibagi menjadi tiga kelas, yaitu: a. Kelas A Kebakaran yang disebabkan oleh benda-benda padat, misalnya kertas, kayu, plastik, karet, busa dan lain-lainnya. Media pemadaman kebakaran untuk kelas ini berupa: air, pasir, karung
32
goni yang dibasahi, dan Alat Pemadam Kebakaran (APAR) atau racun api tepung kimia kering. b. Kelas B Kebakaran yang disebabkan oleh benda-benda mudah terbakar berupa cairan, misalnya bensin, solar, minyak tanah, spirtus, alkohol dan lain-lainnya. Media pemadaman kebakaran untuk kelas ini berupa: pasir dan Alat Pemadam Kebakaran (APAR) atau racun api tepung kimia kering. Dilarang memakai air untuk jenis ini karena berat jenis air lebih berat dari pada berat jenis bahan di atas sehingga bila kita menggunakan air maka kebakaran akan melebar kemana-mana. c. Kelas C Kebakaran yang disebabkan oleh listrik. Media pemadaman kebakaran untuk kelas ini berupa: Alat Pemadam Kebakaran (APAR) atau racun api tepung kimia kering. Matikan dulu sumber listrik agar kita aman dalam memadamkan kebakaran.
2.5.3 Konsep Dasar Dinas Pemadam Kebakaran Jakarta Timur Dinas Pemadam Kebakaran Propinsi DKI Jakarta Timur adalah unsur pelaksana pemerintah daerah (Pemda) yang diberi tanggung jawab dalam melaksanakan tugas-tugas melakukan usaha pencegahan dan pemadaman kebakaran serta penyelamatan akibat kebakaran dan bencana lainnya di wilayahnya. Dibentuknya organisasi Dinas
33
Pemadam Kebakaran ini merupakan perwujudan tanggung jawab pemerintah daerah (Pemda) dalam rangka memberikan perlindungan kepada warganya dari ancaman bahaya kebakaran dan bencana lainnya. Dalam mewujudkan rasa aman serta memberikan perlindungan kepada warga, Dinas Pemadam Kebakaran Jakarta Timur pada buku laporan kegiatan tahunan 2006, dalam
melaksanakan tugas dan
fungsinya berpedoman pada : a. Surat Keputusan Gubernur Propinsi DKI Jakarta Nomor 9 tahun 2002, tentang Struktur Organisasi dan Tata Kerja Dinas Pemadam Kebakaran Propinsi DKI Jakarta, b. Surat Keputusan Gubernur Propinsi DKI Jakarta Nomor 673 tahun 2002, tanggal 18 April 2002 tentang pembentukan dan pembagian Wilayah Kerja Sektor Dinas Pemadam Kebakaran Propinsi Daerah Khusus Ibukota Jakarta.
Dinas Pemadam Kebakaran Propinsi DKI Jakarta Timur Mempunyai 3 tugas pokok yakni : 1. Pencegahan Kebakaran. 2. Pemadaman Kebakaran. 3. Penyelamatan Jiwa dari ancaman kebakaran dan bencana lain,
34
2.5.4 Konsep Dasar Fungsi Pendukung Fungsi-fungsi pendukung dalam proses pemadaman kebakaran mempunyai pengertian yaitu semua lembaga yang terlibat langsung dalam proses pemadaman kebakaran. Yang bertugas dalam pemberian pelayanan secara cepat, akurat dan efisien mulai dari informasi kebakaran diterima sampai api padam. Yang termasuk dalam fungsifungsi pendukung dalam proses pemadaman kebakaran yang dibahas dalam penelitian ini adalah Rumah sakit, polisi (kantor polisi). a. Rumah Sakit Menurut Kamus Besar Bahasa Indonesia (Depdiknas, 2001), rumah sakit adalah : 1. Gedung tempat merawat orang sakit. 2. Gedung tempat menyediakan dan memberikan pelayanan kesehatan yang meliputi berbagai masalah kesehatan. Menurut
Peraturan
Mentri
Kesehatan
RI
No
:
159b/MEN.KES/PER/II/1998 (Bab I Pasal 1 Ayat 1), rumah sakit adalah sarana upaya kesehatan yang menyelenggarakan kegiatan pelayanan kesehatan bagi masyarakat serta dapat dimanfaatkan untuk pendidikan tenaga kesehatan dan penelitian. b. Kantor Polisi Menurut Kamus Besar Bahasa Indonesia (Depdiknas, 2001), polisi adalah :
35
1. Badan pemerintah yang bertugas untuk memelihara keamanan dan ketertiban umum (menangkap orang yang melanggar Undang-Undang dan sebagainya). 2. Anggota badan pemerintah (pegawai Negara yang bertugas menjaga keamanan dan sebagainya). Sedangkan kantor memiliki pengertian : 1. Balai (gudang, rumah, ruang) tempat melaksanakan suatu pekerjaan (perusahaan dan sebagainya) 2. Tempat bekerja. Maka, kantor polisi merupakan kantor tempat polisi melakukan urusan kepolisian dan melaksanakan pekerjaannya. Pembagian kantor polisi berdasarkan tingkat kewenangan dan tanggung jawabnya, adalah sebagai berikut: Tabel 2.8 Tabel Pembagian Kantor Polisi No
Nama
Wilayah Tingkat Kewenangan Dan Tanggung Jawab
1
Markas Besar Polisi RI
Kepolisian seluruh wilayah RI dan
(Mabes)
luar negeri (Interpol)
2
Kepolisian Daerah (Polda)
Kepolisian propinsi tertentu
3
Kepolisian Wilayah (Polwil)
Kepolisian pada karesidenan tertentu
4
Kepolisian Resort (Polres)
Kepolisian pada kabupaten/kotamadya tertentu
5
Kepolisian Sektor (Polsek)
Kepolisian pada kecamatan tertentu
6
Pos polisi
Kepolisian pada lokasi tertentu yang dianggap strategis
36
2.5.5 Konsep Dasar jalan Dalam Undang-undang Nomor 13 Tahun 1980 tentang Jalan, ditetapkan pengertian jalan adalah suatu prasarana transportasi darat yang meliputi segala bagian jalan termasuk bangunan pelengkap dan perlengkapannya yang diperuntukkan bagi lalu lintas, yang berada pada permukaan tanah, di bawah permukaan tanah dan/atau air serta di atas permukaan air, kecuali jalan kereta api, jalan lori dan jalan kabel. Yang selanjutnya ditetapkan pula pengertian jalan umum dan jalan khusus. Dalam Undang-undang ini yang dimaksud dengan jalan adalah dalam pengertian jalan umum sebagaimana dimaksud dalam Undangundang Nomor 13 Tahun 1980, yaitu jalan yang diperuntukkan bagi lalu lintas umum. Berdasarkan hal tersebut maka dalam undang-undang ini pengertian jalan tidak termasuk jalan khusus, yaitu jalan yang tidak diperuntukkan bagi lalu lintas umum, antara lain jalan inspeksi pengairan, jalan inspeksi minyak atau gas, jalan perkebunan, jalan pertambangan, jalan kehutanan, jalan komplek bukan untuk umum, jalan untuk keperluan pertahanan dan keamanan Negara.
37
BAB III METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data Metode ini dilakukan untuk memperoleh data-data yang diperlukan dalam pembuatan sistem ini, selain itu pada tahap ini kita bisa mengetahui proses sistem yang sedang berjalan. Sehingga kita bisa menganalisa kekurangan dan kelebihan dari sistem yang sedang berjalan. Dari hal tersebut kita dapat mengetahui permasalahan yang terjadi kemudian dibuat suatu pemecahan masalahnya. Dalam metode pengumpulan data ini terdiri dari tiga tahap meliputi studi pustaka, observasi lapangan dan wawancara. 3.1.1 Studi Pustaka Pada tahap ini kegiatan yang dilakukan adalah dengan mempelajari dan meneliti 12 buku teori tahun 1996 sampai 2007, 1 buku laporan tahunan kegiatan Sudin Kebakaran Jakarta Timur, 1 Kamus Besar Bahasa Indonesia, 1 keputusan mentri dan 5 sumber bacaan dari internet, yang mempunyai hubungan dengan permasalahan yang dihadapi dan yang dapat digunakan sebagai dasar dalam penelitian ini. Adapun sumber bacaan yang dibaca dapat dilihat pada daftar pustaka.
38
3.1.2 Observasi Lapangan Berikut adalah deskripsi lokasi dan waktu penelitian yang dilakukan untuk mengembangkan sistem informasi geografis kebakaran (SIGK) : Lokasi
: Suku Dinas Pemadam Kebakaran Kotamadya Jakarta Timur (Seksi Operasi Kotamadya Jakarta Timur).
Alamat
: JL. Matraman Raya No.132
Waktu
: 14 Desember 2007 - 25 Januari 2008
Pada tahap ini yang dilakukan penulis adalah dengan mengamati kegiatan pencatatan laporan kebakaran dan pengolahan data kebakaran serta proses penanganan kasus kejadian kebakaran yang dilakukan oleh Seksi Operasi Kotamadya Jakarta Timur, untuk mendapatkan gambaran yang jelas mengenai pelaksanaan sistem yang berjalan. Selain itu, kegiatan ini di perlukan guna mencari dan mengumpulkan data-data sekunder yang di butuhkan langsung dari sumbernya. Berikut adalah data-data yang diperoleh dari observasi lapangan: a. Laporan kasus kejadian kebakaran. b. Data Statistik, terdiri dari data kejadian kebakaran per kelurahan dan kecamatan. c. Data Statistik kejadian kebakaran yang dipengaruhi beberapa faktor. (penyebab kebakaran, jenis benda terbakar, dan waktu kejadian).
39
3.1.3 Wawancara Pada tahap ini kegiatan yang dilakukan adalah dengan membuat serangkaian diskusi dan tanya jawab kepada Kepala Sudin Kebakaran Jakarta Timur, yang bertujuan untuk mengetahui masalah-masalah yang menjadi kendala dalam penanggulangan kebakaran di wilayah Jakarta Timur. Adapun hasil wawancara dapat dilihat pada lampiran. Adapun rancangan pertanyaan yang penulis lakukan pada wawancara ini, adalah sebagi berikut : a. Bagaimana prosedur pelaporan kejadian kebakaran dari masyarakat, sehingga informasi terjadinya kebakaran samapai ke SUDIN Pemadam Kebakaran. b. Apakah setiap informasi kebakaran yang diterima SUDIN Pemadam Kebakaran itu benar (valid). Dan bagaimana mengatasi masalah tersebut. c. Tindakan apa yang akan diambil SUDIN Pemadam Kebakaran dari informasi yang sudah valid untuk segera menanggulangi kebakaran tersebut. d. Bagaimana cara mendapatkan data tambahan kebakaran dari suatu kejadian kebakaran di suatu daerah. e. Bagaimana mengolah data kebakaran tersebut agar bisa bermanfaat.
40
3.2 Metode Pengembangan Sistem Metode yang digunakan untuk perancangan dan pengembangan sistem yang akan dibuat ini menggunakan metode terstruktur yang didasari pada pengembangan Model Waterfall , yang urutan kegiatannya digambarkan dibawah ini. Rekayasa Sistem Analisis Sistem Perancangan Pemrograman Pengujian Operasi dan Pemeliharaan
Gambar 3.1 Pengembangan Sistem dengan Model Waterfall ( Prahasta 2002 )
3.2.1 Rekayasa Sistem Tahap
rekayasa
sistem
merupakan
tahap
awal
dalam
pengembangan sistem informasi yang bertujuan mengumpulkan kebutuhan-kebutuhan baik berupa informasi atau kendala-kendala yang ada pada sistem yang berjalan serta merumuskan suatu perencanaan dalam pengembangan suatu sistem informasi. Adapun cara yang dilakukan penulis pada tahap ini adalah mengetahui Latar Belakang Dinas Pemadam Kebakaran Jakarta Timur,
41
mengetahui tugas dan fungsi
Dinas Pemadam Kebakaran Jakarta
Timur, mengetahui struktur organisasi Dinas Pemadam Kebakaran Jakarta Timur.
3.2.2 Analisis Sistem Pada tahap ini, proses pengumpulan kebutuhan diintensifkan ke perangkat lunak. Dapat di bentuk domain informasi, fungsi dan performansi yang dibutuhkan. Adapun cara yang dilakukan penulis pada tahap ini adalah mengetahui kondisi Sistem yang Sedang Berjalan, Kebutuhan Sistem Yang Sedang Berjalan, Usulan Pemecahan Masalah.
3.2.3 Perancangan (Design) Pada tahap ini dilakukan proses mengubah kebutuhankebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak. Tahap perancangan ini harus didokumentasikan dengan baik dan menjadi bagian konfigurasi perangkat lunak. Pada tahap ini gambaran sistem SIGK akan dibuat dengan tools perancangan yaitu Data Flow Diagram, Perancangan Kamus Data, Perancangan Basis Data, Perancangan Input / Output . ( untuk symbol-symbol yang digunakan dapat dilihat pada daftar symbol ).
3.2.4 Penulisan Program (Coding) Hasil perancangan sebelumnya harus diubah menjadi bentuk yang dimengerti mesin (komputer). Maka dilakukan langkah penulisan
42
program. Jika hasil perancangannya detail, maka coding dapat dicapai dengan baik. Pada tahap ini penulis membuat aplikasi berbasis desktop menggunakan Script Avenue yang ada pada ArcView Gis 3.3 . Berikut ini perancangan algoritma penulisan program SIGK.
3.2.5 Pengujian ( Testing ) Setelah kode program selesai dibuat, dan program dapat berjalan, testing dapat dimulai. Testing difokuskan pada logika pemrograman dari perangkat lunak, fungsi (menu, tools, button), dan mencari segala kemungkinan kesalahan. Memeriksa apakah hasilnya sesuai dengan yang diinginkan. Pada tahap pengujian ini dilakukan installasi / pemasangan sistem secara utuh untuk dipergunakan pada Suku Dinas Pemadam Kebakaran Kotamadya Jakarta Timur.
3.2.6 Operasi dan Pemeliharaan Setelah aplikasi SIGK diberikan pada user, mungkin dapat ditemui error ketika dijalankan dilingkungan user. Atau mungkin user meminta penambahan fungsi, hal ini menyebabkan faktor maintenance (pemeliharaan) ini menjadi penting dalam penggunaan metode ini. Pemeliharaan ini dapat berpengaruh pada semua langkah yang dilakukan sebelumnya. Pada tahap ini dilakukan kegiatan perawatan / maintenance, serta review sistem untuk mengetahui apakah sistem masih sesuai dengan kebutuhan user atau tidak.
43
3.3 Kerangka Berfikir
44
BAB IV PEMBAHASAN
4.1
Rekayasa Sistem Tahap rekayasa sistem merupakan tahap awal dalam pengembangan sistem informasi yang bertujuan mengumpulkan kebutuhan-kebutuhan baik berupa informasi atau kendala-kendala yang ada pada sistem yang berjalan serta merumuskan suatu perencanaan dalam pengembangan suatu sistem informasi. 4.1.1 Latar Belakang Dinas Pemadam Kebakaran Jakarta Timur Dinas Pemadam Kebakaran Propinsi Jakarta Timur adalah unsur pelaksana pemerintah daerah yang diberi tanggung jawab dalam melaksanakan
tugas-tugas
penanganan
masalah
kebakaran.
Dibentuknya organisasi Dinas Pemadam Kebakaran ini merupakan perwujudan tanggung jawab Pemerintah Daerah (Pemda) dalam rangka memberikan perlindungan kepada warganya dari ancaman bahaya kebakaran dan bencana lainnya. Dalam
mewujudkan
rasa
aman
serta
memberikan
perlindungan kepada warga kota tersebut, Suku Dinas Pemadam Kebakaran Jakarta Timur dalam melaksanakan tugas dan fungsinya berpedoman pada Surat Keputusan Gubernur Nomor 9 tahun 2002 tanggal 15 januari 2002, tentang Organisasi dan Tata Kerja Dinas Pemadam Kebakaran Propinsi Daerah Khusus Ibukota Jakarta, dan
45
Surat Keputusan Gubernur Nomor.673 / tahun 2002 tanggal 18 april 2002 tentang pembentukan dan pembagian Wilayah Kerja Sektor Dinas Pemadam kebakaran Propinsi Daerah Khusus Ibukota Jakarta.
4.1.2 Tugas dan Fungsi Dinas Pemadam Kebakaran Jakarta Timur Tugas Pokok Melakukan usaha pencegahan dan pemadaman kebakaran serta penyelamatan akibat kebakaran dan bencana lain di wilayahnya. Fungsi Melaksanakan pencegahan terhadap kebakaran, kegiatan operasional penanggulangan kebakaran, penyelamatan akibat kebakaran dan bencana lain termasuk penyelidikan kebakaran dan pelayanan ambulan.
4.1.3 Struktur Organisasi Dinas Pemadam Kebakaran Jakarta Timur Ka.sudin
Sub Bagian Tata Usaha
Seksi Ketrampilan
Sektor Matraman
Sektor Pulogadun g
Seksi Operasi
Sektor Cakung
Seksi Sarana Operasional (H.Omo Sugama) Sektor Jatinegara
Sektor Cipayung
Sektor KramatJati
Sektor Makasar
Seksi Pencegahan
Sektor Duren Sawit
Sektor Ciracas
Sektor Pasar Rebo
Gambar 4.1 Struktur Organisasi Dinas Pemadam Kebakaran Jakarta Timur
46
4.1.4 Rekayasa Sistem Pengolahan data dalam penanganan kebakaran yang lamban, membuat
pengambil
keputusan
mengalami
kesulitan
untuk
mengetahui lokasi kebakaran dan ketika menugaskan pemadam kebakaran yang akan melakukan penanganan awal pada kejadian kebakaran, koordinasi yang kurang baik antara fungsi pendukung seperti polisi dan rumah sakit menjadi masalah penting, karena lembaga-lembaga tersebut sangat berperan dalam proses penanganan kebakaran. Dan juga penyajian laporan kebakaran yang masih sederhana dan belum terotomasi, membuat kebutuhan informasi pada Dinas Pemadam Kebakaran Kotamadya Jakarta Timur kurang, sehingga untuk meningkatkan pelayanan kepada masyarakat menjadi kurang optimal. Berdasarkan hal tersebut, maka perlu dibuatnya sebuah sistem guna mendukung proses pengolahan data kejadian kebakaran dan proses pengolahan data laporan penyebaran kebakaran, untuk meningkatkan pelayanan instansi pemadaman kebakaran kepada masyarakat. Adapun spesifikasi sistem yang dibutuhkan adalah sebagai berikut : 1. Sistem informasi yang dapat menampilkan informasi berupa lokasi dan data pos pemadam kebakaran, pos polisi, rumah sakit, jaringan jalan, sungai dan batas wilayah.
47
2. Sistem informasi menampilkannya
yang dapat dan
memberi
mencari
lokasi
informasi
kebakaran, lalu
tentang pos pemadam
kebakaran, pos polisi, rumah sakit yang terdekat dengan lokasi terjadinya kebakaran. 3. Sistem informasi yang dapat mengotomasi dan membuat laporan jumlah kejadian kebakaran per wilayahnya (kelurahan dan kecamatan), laporan jumlah kejadian kebakaran yang dipengaruhi oleh parameter tertentu (seperti penyebap terjadinya kebakaran, jenis bahan yang terbakar dan waktu kejadian kebakaran ) per wilayahnya
( kelurahan dan
kecamatan ).
4.2 Analisis Sistem Pada tahap ini, proses pengumpulan kebutuhan diintensifkan ke perangkat lunak. Dapat di bentuk domain informasi, fungsi dan performansi yang dibutuhkan.
4.2.1 Sistem yang Sedang Berjalan a. Prosedur pemadaman sebagai berikut : 1. Korban atau masyarakat menelpon ke unit kebakaran dinas pemadam kebakaran yaitu 113 atau 8582150, 8580588 dan memberitahukan lokasi kebakaran. 2. Dinas pemadam kebakaran mencari lokasi kebakaran secara manual (melihat pada peta kertas). 3. Memberangkatkan beberapa unit mobil kebakaran ke lokasi kebakaran, sementara personil lainnya menghubungi pemadam lainnya, polisi dan rumah sakit.
4. Sesampainya di lokasi kebakaran, proses pemadaman pun berlangsung.
48
5. Petugas membuat laporan untuk dokumentasi. b. Pengolahan data kebakaran 1. Dokumentasi kebakaran dilapangan dilaporkan ke seksi operasi SUDIN Kebakaran untuk dilakukan pencatatan data kebakaran. 2. Setelah dalam kurun waktu tertentu data tersebut di kelompokan dan di cetak untuk disertakan dalam laporan. 3. Laporan kebakaran.
Kelebihan dari sistem yang berjalan antara lain : 1. Pencatatan laporan kebakaran dilakukan dengan baik. 2. Dalam proses pengolahan data kebakaran, sudah menggunakan komputer untuk mengolahnya. 3. Informasi yang dihasilkan berupa jumlah kasus kebakaran dalam bentuk tabel dan grafik.
Kekurangan dari sistem yang berjalan antara lain : 1. Ketika pelapor memberitahukan lokasi terjadinya kebakaran (masih dicatat dengan kertas). 2. Belum ada gambaran tentang lokasi kejadian kebakaran membuat petugas tidak dapat mengambil keputusan untuk segera menugaskan pos mana saja yang akan melakukan penanganan awal sebelum datang bantuan. 3. Kebenaran laporan tersebut belum diketahui dengan jelas.
49
4. Koordinasi yang kurang baik antara instansi yang terkait dalam penanganan kebakaran. 5. Pengolahan data kebakaran masih minim akibatnya informasi yang dihasilkan hanya sebatas informasi yang bersifat tekstual.
Gambar 4.2 Diagram Alir Dokumen Sistem Yang Berjalan
50
4.2.2 Kebutuhan Sistem Yang Sedang Berjalan Dengan sistem yang sudah berjalan, dirasa perlu untuk meningkatkan kinerja sistem demi memperbaiki pelayanan kepada masyarakat. Hal-hal yang dibutuhkan sistem yang sedang berjalan antara lain : 1. Adanya suatu sistem informasi yang dapat menampilkan informasi berupa lokasi dan data pos pemadam kebakaran, pos polisi, rumah sakit, jaringan jalan, dan batas wilayah. 2. Adanya suatu sistem informasi yang dapat mencari lokasi kebakaran, lalu menampilkannya dan memberi informasi tentang letak pos pemadam kebakaran, pos polisi, rumah sakit yang terdekat dengan lokasi terjadinya kebakaran.
Sehingga instruksi secara
terpusat bisa cepat diberikan kepada instansi yang terlibat untuk segera melakukan pemadaman kebakaran. 3. Sistem informasi yang dapat mengotomasi pembuatan
laporan
jumlah kejadian kebakaran per wilayahnya ( kelurahan dan kecamatan ), laporan jumlah kejadian kebakaran yang dipengaruhi oleh parameter tertentu (seperti penyebap terjadinya kebakaran, jenis bahan yang terbakar dan waktu kejadian kebakaran ) per wilayahnya
( kelurahan dan kecamatan ).
51
4.2.3 Usulan Pemecahan Masalah Berdasarkan permasalahan diatas, maka penulis mencoba memberikan usulan pemecahan masalah dengan merancang suatu sistem informasi geografis kebakaran yang menyajikan fasilitas-fasilitas : 1. Menampilkan informasi spasial berupa peta wilayah yang dilengkapi dengan batas wilayah administrasi, informasi pos pemadam kebakaran, pos polisi, rumah sakit, jaringan jalan, sungai. 2. Pencarian lokasi kebakaran berbasis spasial, dengan menggunakan kata kunci yaitu "jalan", setelah diketahui lokasi terjadinya kebakaran
lalu
sistem
menyediakan
fasilitas
buffer
untuk
mengetahui letak lokasi pos pemadam kebakaran, pos polisi, rumah sakit yang terdekat dengan lokasi terjadinya kebakaran, Sehingga instruksi secara terpusat bisa cepat diberikan kepada instansi yang terlibat untuk segera melakukan penanganan awal dalam proses pemadaman kebakaran. Polisi, untuk mengamankan lokasi kebakaran dan mengatur jalur jalan yang akan dilalui mobil pemadam dan mobil ambulan untuk sampai
di
lokasi
kebakaran.
Pemadam
kebakaran,
untuk
penanganan awal dan memadamkan api pada kejadian kebakaran, serta mengevakuasi korban kebakaran. Rumah Sakit (RS), menyediakan ambulan dalam penanganan awal dan pengevakuasian korban kebakaran ke rumah sakit.
52
3. Pengolahan data kebakaran berbasis spasial yang menghasilkan laporan jumlah kejadian kebakaran per wilayahnya (kelurahan dan kecamatan), laporan jumlah kejadian kebakaran yang dipengaruhi oleh parameter tertentu (seperti penyebap terjadinya kebakaran, jenis bahan yang terbakar dan waktu kejadian kebakaran ) per wilayahnya ( kelurahan dan kecamatan ).
Gambar 4.3 Diagram Alir Dokumen Sistem Usulan
53
4.3 Perancangan (Design) Pada tahap ini dilakukan proses mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak. Tahap perancangan ini harus didokumentasikan dengan baik dan menjadi bagian konfigurasi perangkat lunak. Pada tahap ini gambaran sistem akan dibuat dengan menggunakan tools sebagai berikut :
4.3.1 Perancangan Data Flow Diagram SIGK Pada tahap ini penggambaran sistem menggunakan tools Data Flow Diagram (DFD) yang merupakan sarana komunikasi antara user dengan pengembang sistem untuk mengetahui segala hal yang berkaitan dengan rencana pembuatan sistem. a. Diagram Konteks Sistem Diagram ini menggambarkan secara garis besar keseluruhan sistem, semua masukan atau keluaran yang ada di sistem.
Gambar 4.4 Diagram Konteks
54
b. Diagram Nol Sistem Memberikan pandangan secara menyeluruh mengenai sistem, Menggambarkan fungsi-fungsi utama atau proses yang ada, adanya aliran data dan eksternal entity. pada level ini sudah dimungkinkan adanya data store yang digunakan.
Gambar 4.5 Diagram Nol No proses
: 1.0
Nama proses : Pengolahan Data Geografis Input
: Peta dasar wilayah Jakarta Timur, lokasi dan data pos polisi, lokasi dan data pos pemadam kebakaran, lokasi dan data Rumah sakit (RS).
Output
: Data geografis, yang tersusun dalam layerlayer, antara lain : layer kotamadya, layer kelurahan, layer kecamatan, layer pemadam, layer polisi, layer Rumah Sakit, layer sungai, layer jalan. 55
Keterangan
: Pada proses ini dilakukan pembuatan dan pengelompokan data spasial berdasarkan karakteristik Contoh:
dari
Semua
masing-masing objek
pos
objek.
pemadam
kebakaran digambarkan dalam satu layer atau satu database, yaitu dalam layer pemadam. Objek polisi layer polisi, jaringan jalan layer jalan. Demikian juga dengan objek lainnya, Objek -objek itu digambarkan sesuai dengan data sebenarnya, untuk menggambarkan wilayah Jakarta Timur. No proses
: 2.0
Nama proses : Pengolahan Data Kebakaran Input
: Laporan
kebakaran dari masyarakat, data
pelengkap kebakaran, data kebakaran, data geografis dari proses 1.0 (layer kotamadya, layer kelurahan, layer kecamatan, layer pemadam, layer polisi, layer Rumah Sakit, layer sungai, layer jalan).
Output
: Hasil
pencarian
lokasi
atau
wilayah
kebakaran di Jakarta Timur, Hasil pencarian lokasi dan informasi (pos pemadam, pos polisi, rumah sakit) terdekat dengan lokasi atau wilayah kebakaran, Data Kebakaran dan Laporan sebaran kebakaran di Jakarta Timur.
56
Keterangan
: Sistem menerima masukan yaitu laporan kejadian kebakaran di suatu lokasi dari masyarakat, dan sistem SIGK akan mengolah informasi tersebut untuk : mencari wilayah atau lokasi kebakaran, mencari lokasi pos pemadam kebakaran, pos polisi, rumah sakit terdekat
dengan
wilayah
atau
lokasi
kebakaran. Lengkapi data kebakaran awal nama pelapor, alamat pelapor dan status kejadian ( Jika status kejadian kebakaran ”Ya” (akan langsung diinput ke dalam data kebakaran dan instruksi penanganan kebakaran dilakukan), jika "tidak" lakukan validasi laporan lebih luas, dan tidak akan dilakukan penyimpanan data kebakaran jika terbukti tidak terjadi kebakaran).
kebakaran
diinput
Data pelengkap
untuk
mengupdate
informasi data kebakaran awal, setelah informasi data kebakaran lengkap maka dilakukan pengolahan data oleh sistem untuk menghasilkan Laporan sebaran kebakaran di Jakarta Timur. a. Diagram Rinci Sistem Diagram yang menguraikan proses yang ada di dalam diagram nol atau diagram level diatasnya.
57
Gambar 4.6 Diagram Rinci 1.0 ( Pengolahan Data Geografis ) No proses
: 1.1
Nama proses : Pembuatan data spasial dan atribut Input
: wilayah Jakarta Timur, lokasi pos Peta dasar polisi di Jakarta Timur, lokasi pos pemadam kebakaran di Jakarta Timur, lokasi Rumah sakit (RS) di Jakarta Timur.
Output
: layer kotamadya, layer kelurahan, layer kecamatan, layer pos pemadam, layer pos polisi, layer RS, layer sungai, layer jalan. di Jakarta Timur
Keterangan
: Proses pembuatan data spasial dilakukan dengan proses digitasi dan penginputan data atributnya. Data keruangan (spasial) untuk menggambarkan kondisi kenyataan di muka bumi ( kotamadya Jakarta Timur). Disimpan dalam layer - layer tertentu yang sesuai
58
dengan
karakteristiknya,
dan
terhubung
dengan tabel data atribut dari tiap-tiap objek. Contoh
:
objek
menerangkan
data
tentang
pemadam
kebakaran
disimpan
dalam
di
layer
keruangan
yang
penyebaran
pos
Jakarta
Timur
pemadam
dan
terhubung dengan tabel atribut pemadam (id_pemadam, nama_pemadam,alamat).
No proses
: 1.2
Nama proses : Update data spasial dan atribut Input
: Lokasi dan data pos polisi, pos pemadam kebakaran, Rumah sakit terbaru di Jakarta Timur.
Output
: layer pos pemadam, layer pos polisi, layer Rumah sakit di Jakarta Timur.
Keterangan
: Dilakukan apabila ada penambahan atau pengurangan serta perubahan informasi pada pos-pos penanganan kebakaran pada sistem. Sistem dirancang untuk memudahkan proses Update data spasial dan atribut yang telah diciptakan sebelumnya.
59
Gambar 4.7 Diagram Rinci 2.0 (Pengolahan Data Kebakaran) No proses
: 2.1
Nama proses : Pencarian lokasi kebakaran Input
: Laporan kejadian kebakaran, layer kotamadya, layer kecamatan, layer kelurahan, layer jalan, layer sungai, layer polisi, layer pemadam, layer rumah sakit di Jakarta Timur.
Output
: Hasil pencarian lokasi (jalan) atau wilayah (kelurahan) kebakaran di Jakarta Timur, pos penanganan kebakaran (pos pemadam, pos polisi, rumah sakit ) terdekat dengan lokasi kebakaran.
Keterangan
: Laporan dari masyarakat diterima operator, lalu segera diinput ke dalam sistem. Nama jalan digunakan sebagai kata kunci untuk mencari lokasi atau wilayah kebakaran, setelah diketahui
lokasi
atau wilayah 60
kebakaran
tersebut,
sistem
menyediakan
fasilitas BUFFER untuk mencari lokasi dan informasi (pos pemadam, pos polisi, rumah sakit) terdekat dengan lokasi kebakaran. (Nama pelapor, alamat pelapor dan status kejadian) diisi dengan data yang sesuai. No proses
: 2.2
Nama proses : Validasi dan instruksi pemadaman Input
: Lokasi
kebakaran
penanganan
dan
terdekat
informasi dengan
pos lokasi
kebakaran (polisi dan pemadam). Output
: Status kejadian, instruksi pemadaman dan Data Kebakaran.
Keterangan
: Validasi laporan dan instruksi dilakukan oleh operator melalui via telepon, validasi laporan dilakukan ke pos polisi dan pemadam terdekat dengan lokasi kebakaran untuk menghasilkan status kejadian (ya atau tidak), jika Ya maka akan segera dilakukan instruksi pemadaman ke pos polisi, pemadam dan rumah sakit via telepon, lengkapi laporan dan Klik ”SIMPAN” maka Data Kebakaran baru akan tercipta.
61
No proses
: 2.3
Nama proses : Update data kebakaran Input
: Data pelengkap kebakaran
Output
: Data kebakaran.
Keterangan
: Data pelengkap kebakaran di input setelah sistem
berjalan
/
proses
penanganan
kebakaran selesai. Data yang diperoleh dari lapangan oleh pemadam kebakaran dan diinput operator seksi operasi. Sistem akan mempermudah untuk update data kebakaran.
No proses
: 2.4
Nama proses : Pembuatan laporan penyebaran kebakaran Input
: Data kebakaran, layer kelurahan dan layer kecamatan di Jakarta Timur.
Output
: Laporan penyebaran kebakaran di wilayah Jakarta Timur.
Keterangan
: Data kebakaran yang telah diinput lalu di dikonversikan dalam bentuk angka lalu dijumlahkan dan diolah untuk menghasilkan peta penyebaran kebakaran di Jakarta Timur, peta sebaran kebakaran yang dipengaruhi oleh parameter tertentu terjadinya kebakaran,
(seperti penyebap jenis
benda yang
62
terbakar
dan
dikelompokan kecamatan,
per
peta
waktu kelurahan penyebaran
kebakaran) dan
per
kebakaran
perbulannya. Dan laporannya dapat disajikan berupa data spasial, grafik, teks dan tabel.
No proses
: 2.5
Nama proses : Validasi laporan penyebaran kebakaran Input
: Pengecekan laporan kebakaran oleh pimpinan
Output
: Laporan penyebaran kebakaran di wilayah Jakarta Timur valid.
Keterangan
: Peta sebaran kebakaran di Jakarta Timur, peta sebaran kebakaran yang dipengaruhi oleh parameter tertentu
(seperti penyebap
terjadinya kebakaran, jenis benda yang terbakar dan waktu kebakaran) per kelurahan dan per kecamatan, peta sebaran kebakaran perbulannya, yang dihasilkan proses 2. 4 dikoreksi dan disetujui oleh pimpinan untuk selanjutnya dikirim ke bagian TU untuk pembuatan laporan kegiatan tahunan Dinas Pemadam Kebakaran Jakarta Timur.
63
4.3.2 Perancangan Kamus Data Untuk menjelaskan data yang ada pada DFD digunakan Data Dictionary (Kamus Data), fungsi kamus data untuk membantu pelaku sistem agar memiliki dasar pengertian yang sama tentang aliran data yang masuk dan keluar, serta penyimpanannya. Tabel 4.1 Kamus Data SIGK Data Flow Data Batas
{@ ID_kot + Nama_kotamadya}
Wilayah Kotamadya Data Batas
{@ ID_kec + Nama_kecamatan}
Wilayah Kecamatan Data Batas
{@ ID_kel + Nama_kelurahan}
Wilayah Kelurahan Data Jaringan
{@ ID_Jalan + Nama_Jalan + Keterangan + Layer + Panjang }
Jalan Data Jaringan
{@ ID_sungai +Nama_sungai + Keterangan + layer + Panjang }
Sungai Lokasi dan data
{@ ID_pemadam + Nama_pemadam + Alamat_pemadam +
Pos Pemadam
telepon_pemadam }
Kebakaran Lokasi dan data
{@ ID_polisi + Nama_polisi + Alamat_polisi + telepon_polisi }
Pos Polisi Lokasi dan data
{@ ID_rs + Nama_rs + Alamat_rs + telepon_rs }
Rumah Sakit Laporan
{@ ID_Keb + Tgl_Kejadian + NamaJalan + NamaKelurahan +
Kejadian
NamaPelapor + AlamatPelapor + StatusKejadian + WaktuKejadian}
Kebakaran Data
{@ ID_Keb + Tgl_Kejadian + NamaJalan + NamaKelurahan +
64
Kebakaran
NamaPelapor + AlamatPelapor + StatusKejadian + WaktuKejadian + JenisBendaTerbakar + PenyebapKebakaran + TaksiranKerugian + KorbanMeninggal + KorbanLuka }
Laporan
{@ ID_Keb_kel + WaktuKejadian_kel + JenisBendaTerbakar_kel +
Penyebaran
PenyebapKebakaran_kel + KejadianBulanan_kel +
Kebakaran
JumlahKebakaran_kel } , {@ ID_Keb_kec + WaktuKejadian_kec + JenisBendaTerbakar_kec + PenyebapKebakaran_kec + KejadianBulanan_kec + JumlahKebakaran_kec }
Data Store File Batas
{@ ID_kot + Nama_Kotamadya}
Kotamadya File Batas
{@ ID_kec + Nama_kecamatan + ID_Kot }
Kecamatan File Batas
{@ ID_kel + Nama_kelurahan + ID_kec}
Kelurahan File Jalan
{@ ID_Jalan + Nama_Jalan + Keterangan + Layer + Panjang + @ID_kel}
File Sungai
{@ ID_sungai +Nama_sungai + Keterangan + layer + Panjang + @ID_kel}
File Pos
{@ ID_pemadam + Nama_pemadam + Alamat_pemadam +
Pemadam
telepon_pemadam + nilai_x + nilai_y + @ID_kel }
Kebakaran File Pos Polisi
{@ ID_polisi + Nama_polisi + Alamat_polisi + telepon_polisi + nilai_x + nilai_y + @ID_kel }
File Rumah
{@ ID_rs + Nama_rs + Alamat_rs + telepon_rs + nilai_x + nilai_y +
Sakit
@ID_kel }
Data
{@ ID_Keb + Tgl_Kejadian + NamaJalan + NamaKelurahan +
Kebakaran
NamaPelapor + AlamatPelapor + StatusKejadian + WaktuKejadian + JenisBendaTerbakar + PenyebapKebakaran + TaksiranKerugian + KorbanMeninggal + KorbanLuka + BulanKejadian + @ID_Kec + @ID_Kel + @ID_Jalan}
65
4.3.3 Perancangan Basis Data SIGK Tahapan awal dalam perancangan basis data ini adalah membuat pemodelan data konseptual yang akan dijadikan landasan untuk basis data, setelah didapat model basis data, pemodelan data konseptual tersebut diwujudkan dengan hubungan antar tabel menggunakan asosiasi sehingga didapatkannya model data relational. Berikut ini akan dijelaskan langkah-langkah yang dilakukan dalam rancangan basis data : a. Perancangan ERD 1. Entity
Relationship
Diagram
(ERD)
Sebelum
dinormalisasikan
Gambar 4.8 ERD Sebelum di Normalisasikan
66
b. Normalisasi Data 1. Bentuk Tidak Normal (Unnormalized Form) Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput. Tabel 4.2 Bentuk Tidak Normal Id_Provinsi Nama_Prov Id_Kotamadya Nama_Kot Nama_Prov Id_Kecamatan Nama_Kec Nama_Kot Id_Kelurahan Nama_Kel Nama_Kec Nama_Kot Id_Pemadam NamaPemadam AlamatPemadam TeleponPemadam Nama_kel Nama_Kec Id_Polisi NamaPolisi AlamatPolisi TeleponPosPolisi Nama_kel Nama_Kec Id_RS NamaRS AlamatRS TeleponRS Nama_kel Nama_Kec
Id_Jalan NamaJalan Keterangan Layer
Panjang Nama_kel Nama_Kec Id_Sungai NamaSungai Keterangan Layer
Panjang Nama_kel Nama_Kec Id_Keb Tgl_Kejadian Nama_Jalan Nama_Kel Nama_Kec NamaPelapor AlamatPelapor StatusKejadian WaktuKejadian JenisBendaTerbakar PenyebapKebakaran TaksiranKerugian KorbanMeninggal KorbanLuka BulanKejadian
67
2. Bentuk 1 NF Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi diantara setiap baris
pada
suatu tabel. Tabel 4.3 Bentuk 1NF
Provinsi *Id_Prov Nama_Prov Kotamadya *Id_Kot Nama_Kot
Rumah_Sakit *Id_RS Nama_RS Alamat_RS Telepon_RS Nama_Kel Nama_Kec
Pos_Pemadam *Id_Pemadam Nama_Pemadam Alamat_Pemadam Telepon_Pemadam Nama_Kel Nama_Kec
Kecamatan *Id_Kec Nama_Kec Nama_kot
Sungai
Data_Kebakaran
*Id_Sungai Nama_Sungai
*Id_Keb Tgl_Kejadian Nama_Jalan Nama_Kelurahan Nama_Kecamatan NamaPelapor AlamatPelapor StatusKejadian WaktuKejadian JenisBendaTerbakar PenyebapKebakaran TaksiranKerugian KorbanMeninggal KorbanLuka BulanKejadian
Kelurahan
Keterangan Layer Panjang
*Id_Kel Nama_Kel Nama_Kec
Nama_Kel Nama_Kec
Pos_Polisi
Jalan *Id_Jalan Nama_Jalan
*Id_Polisi Nama_Polisi Alamat_Polisi Telepon_Polisi Nama_Kel Nama_Kec
Keterangan Layer Panjang
Nama_Kel Nama_Kec
3. Bentuk 2 NF Pada tahap ini, semua atribut memenuhi bentuk normal pertama dan semua atribut bukan kunci hanya bergantung pada atribut kuncinya.
68
Tabel 4.4 Bentuk 2 NF
4. Bentuk 3 NF Pada tahap ini, semua atribut memenuhi bentuk normal kedua dan semua atribut bukan kunci tidak bergantung pada atribut bukan kunci lainnya.
69
Tabel 4.5 Bentuk 3 NF
70
5. Entity Relationship Diagram (ERD) SIGK yang sudah di normalisasikan.
Gambar 4.9 ERD SIGK Sesudah Di Normalisasikan
71
c. Struktur Data Rancangan basis data atribut spasial dalam aplikasi SIGK terdiri dari tabel sebagai berikut: 1. Tema Batas Provinsi Nama file
: Provinsi.shp
Deskripsi
: Data Atribut Provinsi
Primary Key
: Id_Prov Tabel 4.6 Tabel Provinsi
Nama field Id_Prov Nama_Provinsi
Tipe Number String
Panjang 2 25
Keterangan Id provinsi Nama Provinsi
2. Tema Batas Kotamadya Nama file
: Kotamadya.shp
Deskripsi
: Data Atribut Kotamadya
Primary Key
: Id_Kot
Tabel 4.7 Tabel Kotamadya Nama field Id_Kot Nama_Kotamadya
Tipe Number String
Panjang 2 25
Keterangan Id kotamadya Nama kotamadya
3. Tema Batas Kecamatan Nama file
: Kecamatan.shp
Deskripsi
: Data Atribut Kecamatan
Primary Key
: Id_kec
Foriegn Key
: Id_kot
Tabel 4.8 Tabel Kecamatan Nama field Id_kec Nama_Kec Id_kot
Tipe Number String Number
Panjang 2 25 2
Keterangan Id kecamatan Nama kecamatan Id kotamadya
72
4. Tema Batas Kelurahan Nama file
: Kelurahan.shp
Deskripsi
: Data Atribut kelurahan
Primary Key
: Id_kel
Foriegn Key
: Id_kec
Tabel 4.9 Tabel Kelurahan Nama field Tipe Panjang Id_kel Number 2 NamaKelurahan String 25 Id_kec Number 2
Keterangan Id kelurahan Nama kelurahan Id kecamatan
5. Tema Pos Polisi Nama file
: Pos Polisi.shp
Deskripsi
: Data atribut pos polisi
Primary Key
: Id_polisi
Foriegn Key
: ID_kel
Tabel 4.10 Tabel Pos Polisi Nama field Id_polisi Nama_polisi Alamat_polisi Telepon_polisi Id_Kel
Tipe Number String String Number Number
Panjang 2 15 30 15 2
Keterangan Id polisi Nama pos polisi Alamat pos polisi No telepon polisi Id kelurahan
6. Tema Pemadam Kebakaran Nama tabel
: Pemadam kebakaran.shp
Deskripsi
: Data atribut pemadam kebakaran
Primary Key
: Id_pemadam
Foriegn Key
: Id_kel
Tabel 4.11 Tabel pos pemadam Nama field Id_pemadam Nama_pemadam Alamat_pemadam Telepon_pemadam Id_Kel
Tipe Number String String Number Number
Panjang 2 15 30 15 2
Keterangan Id pemadam Nama pemadam Alamat pemadam No telepon pemadam Id kelurahan
73
7. Tema Rumah Sakit Nama file
: Rumah sakit.shp
Deskripsi
: Data atribut rumah sakit
Primary Key
: Id_rs
Foriegn Key
: ID_kel
Tabel 4.12 Tabel Rumah sakit Nama field Id_ rs Nama_ rs Alamat_ rs Telepon_ rs Id_Kel
Tipe Number String String Number Number
Panjang 2 15 30 15 2
Keterangan Id rumah sakit Nama rumah sakit Alamat rumah sakit No telepon rumah sakit Id kel
8. Tema jaringan Jalan Nama file
: Jalan.shp
Deskripsi
: Data atribut jaringan jalan
Primary Key
: Id_jalan
Foriegn Key
: Id_kel Tabel 4.13 Tabel Jalan
Nama field Id_ jalan Nama_ jalan Keterangan Layer Panjang Id_Kel
Tipe Number String String String Number Number
Panjang 2 30 50 10 10 2
Keterangan Id jalan Nama jalan Informasi jalan Kelas jalan Panjang jalan (meter) Id kelurahan
9. Tema jaringan Sungai Nama file
: Sungai.shp
Deskripsi
: Data atrribut jaringan sungai
Primary Key
: Id_sungai
Foriegn Key
: Id_kel
74
Tabel 4.14 Tabel Sungai Nama field Id_ sungai Nama_ sungai Keterangan Layer Panjang Id_Kel
Tipe Number String String String Number Number
Panjang 2 30 50 10 10 2
Keterangan Id sungai Nama sungai Informasi sungai Kelas sungai Panjang sungai (meter) Id kelurahan
10. Tabel Data Kebakaran Nama file
: Data kebakaran.dbf
Deskripsi
: Data laporan kebakaran
Primary Key
: Id_keb
Foriegn Key
: Id_kel, Id_kec, Id_jalan
Tabel 4.15 Tabel Data kebakaran.dbf Nama field Id_Keb Tgl_Kejadian NamaJalan NamaKelurahan StatusKejadian WaktuKejadian JenisBendaTerbakar PenyebabKebakaran TaksiranKerugian KorbanMeninggal KorbanLuka BulanKejadian Id_kec Id_kel Id_jalan Id_pelapor
Tipe Number Date String String String String String String Number Number Number String Number Number Number Number
Panjang 2 20 20 5 5 20 8 9 3 3 10 2 2 2 2
Keterangan Id kebakaran (primary key) Informasi nama jalan Informasi nama kelurahan Informasi status kejadian Informasi waktu kejadian Inf Jenis benda yang terbakar Informasi penyebab kebakaran Informasi taksiran kerugian Informasi korban meninggal Informasi korban luka-luka Informasi Bulan kejadian Id kecamatan (foreign key) Id kelurahan (foreign key) Id jalan (foreign key) Id pelapor (foreign key)
11. Tabel Pelapor Nama file
: Pelapor.dbf
Deskripsi
: Data pelapor.
Primary Key
: Id_Pelapor
Foriegn Key
: Id_kel
75
Tabel 4.16 Tabel Pelapor.dbf Nama field
Tipe Number String String Number Number
ID_Pelapor Nama_Pelapor Alamat_Pelapor Telepon_Pelapor Id_kel
Panjang 2 25 50 15 2
Keterangan Id pelapor Nama pelapor Alamat pelapor No telepon pelapor Id kel
12. Tabel Penyebab Kebakaran per kecamatan Nama file
: Penyebab kebakaran per kecamatan.dbf
Deskripsi
: Data jumlah penyebab kebakaran di setiap Kecamatannya.
Primary Key
: Id_Penyebab
Foriegn Key
: Id_kec
Tabel 4.17 Tabel Penyebab kebakaran per kecamatan.dbf Nama field
Tipe
Panjang
Keterangan
ID_Penyebab Kompor Lampu Listrik Rokok Id_Kec
Number Number Number Number Number Number
2 3 3 3 3 2
Id penyebab kebakaran (primary key) Jumlah penyebab keb (kompor) Jumlah penyebab keb (lampu) Jumlah penyebab keb (listrik) Jumlah penyebab keb (rokok) Id kecamatan (foreign key)
Total_Kejadian_Kec
Number
3
Total kejadian kebakaran per kecamatan
13. Tabel Waktu kebakaran per kecamatan Nama file
: Tabel waktu kebakaran kecamatan.dbf
Deskripsi
: Data jumlah waktu kebakaran di setiap kecamatannya.
Primary Key
: Id_waktu
Foriegn Key
: Id_kec
Tabel 4.18 Tabel Waktu kebakaran per kecamatan.dbf Nama field ID_waktu Pagi Siang Malam Id_Kec
Tipe Panjang Keterangan Number 2 Id waktu (primary key) Number 3 Jumlah waktu keb (pagi) Number 3 Jumlah waktu keb (siang) Number 3 Jumlah waktu keb (malam) Number 2 Id kecamatan (foreign key)
Total_Kejadian kec
Number
3
Jumlah Kejadian Kebakaran per kecamatan
76
14. Tabel Benda terbakar per kecamatan Nama file
: Tabel benda terbakar kecamatan.dbf
Deskripsi
: Data jumlah benda terbakar di setiap kecamatannya.
Primary Key
: Id_BendaTBKR
Foriegn Key
: Id_kec
Tabel 4.19 Tabel Benda terbakar per kecamatan.dbf Nama field ID_BendaTBKR Bgn_Perum Bgn_Umum Bgn_Indus Kendaraan Id_Kec 15. T Total_Kejadian
Tipe Panjang Keterangan Number 2 Id Benda terbakar (primary key) Number 3 Jumlah perumahan Number 3 Jumlah bangunan umum Number 3 Jumlah bangunan industri Number 3 Jumlah kendaraan Number 2 Id kecamatan (foreign key) Number
3
Jumlah Kejadian Kebakaran per kecamatan
kec
14. Tabel Kejadian Kebakaran per Kecamatan Nama file
: Kejadian Kebakaran per Kecamatan.dbf
Deskripsi
: Data jumlah kejadian kebakaran di setiap kecamatannya.
Primary Key
: Id_Jml_keb
Foriegn Key
: Id_kec
Tabel 4.20 Tabel Kejadian Kebakaran per Kecamatan.dbf Nama field ID_Jml_Keb
Tipe Panjang Keterangan Id jumlah kebakaran per kecamatan Number 2
Total_kejadian_kec Number
3
Id_Kec
2
Number
(primary key) Jumlah total kejadian kebakaran per kecamatan Id kecamatan (foreign key)
15. Tabel Kejadian Keb bulanan per kecamatan Nama file
: Tabel Keb bulanan kecamatan.dbf
Deskripsi
: Data jumlah kejadian kebakaran per bulannya di setiap kecamatannya.
77
Primary Key
: Id_bulanan
Foriegn Key
: ID_kec
Tabel 4.21 Tabel Kej Keb bulanan per kecamatan.dbf Nama field ID_bulanan Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember ID_Kec Total_Kejadian kec
Tipe
Panjang
Keterangan
Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number
2 3 3 3 3 3 3 3 3 3 3 3 3 2 3
Id bulan (primary key) Jumlah kebakaran bulan Januari Jumlah kebakaran bulan Februari Jumlah kebakaran bulan Maret Jumlah kebakaran bulan April Jumlah kebakaran bulan Mei Jumlah kebakaran bulan Juni Jumlah kebakaran bulan Juli Jumlah kebakaran bulan Agustus Jumlah kebakaran bulan September Jumlah kebakaran bulan Oktober Jumlah kebakaran bulan November Jumlah kebakaran bulan Desember Id kecamatan (foreign key) Jumlah Kejadian Kebakaran per kecamatan
16. Tabel Penyebab Kebakaran per kelurahan Nama file
: Tabel penyebab kebakaran kelurahan.dbf
Deskripsi
: Data jumlah penyebab kebakaran di setiap kelurahannya.
Primary Key
: Id_Penyebab
Foriegn Key
: Id_kel
Tabel 4.22 Tabel Penyebab kebakaran per kelurahan.dbf Nama field ID_Penyebab Kompor Lampu Listrik Rokok Id_Kel
Tipe Panjang Keterangan Id penyebab kebakaran (primary key) Number 2 Jumlah penyebab keb (kompor) Number 3 Jumlah penyebab keb (lampu) Number 3 Jumlah penyebab keb (listrik) Number 3 Jumlah penyebab keb (rokok) Number 3 Id kelurahan (foreign key) Number 2
17. Tabel Waktu kebakaran per kelurahan Nama file
: Tabel waktu kebakaran kelurahan.dbf
Deskripsi
: Data jumlah waktu kebakaran di setiap
78
kelurahannya. Primary Key
: Id_waktu
Foriegn Key
: Id_kel
Tabel 4.23 Tabel Waktu kebakaran per kelurahan.dbf Nama field ID_waktu Pagi Siang Malam Id_Kel
Tipe
Panjang
Keterangan
Number Number Number Number Number
2 3 3 3 2
Id waktu (primary key) Jumlah waktu keb (pagi) Jumlah waktu keb (siang) Jumlah waktu keb (malam) Id kelurahan (foreign key)
18. Tabel Benda terbakar per kelurahan Nama file
: Tabel Benda terbakar kelurahan.dbf
Deskripsi
: Data jumlah benda terbakar di setiap kelurahannya.
Primary Key
: Id_BendaTBKR
Foriegn Key
: Id_kel
Tabel 4.24 Tabel Benda terbakar per kelurahan.dbf Nama field ID_BendaTBKR Bgn_Perum Bgn_Umum Bgn_Indus Kendaraan 19. T Id_Kel
Tipe Panjang Keterangan Id Benda terbakar (primary key) Number 2 Jumlah Perumahan Number 3 Jumlah bangunan umum Number 3 Jumlah bangunan industri Number 3 Jumlah Kendaraan Number 3 Id kelurahan (foreign key) Number 2
19. Tabel Kejadian Kebakaran per kelurahan Nama file
: Tabel Kejadian Kebakaran kelurahan.dbf
Deskripsi
: Data jumlah kejadian kebakaran di setiap kelurahannya.
Primary Key
: Id_Jml_keb
Foriegn Key
: Id_kel
Tabel 4.25 Tabel Kejadian Kebakaran per kelurahan.dbf Nama field ID_Jml_Keb Total_kejadian Id_Kel
Tipe Number Number Number
Panjang 2 3 2
Keterangan Id jumlah kebakaran kelurahan (primary key) Jumlah total kejadian kebakaran per kelurahan Id kelurahan (foreign key)
79
20. Tabel Kejadian Keb bulanan per kelurahan Nama file
: Tabel Keb bulanan kelurahan.dbf
Deskripsi
: Data jumlah kejadian kebakaran per bulannya di setiap kelurahannya.
Primary Key
: Id_bulanan
Foriegn Key
: ID_kel
Tabel 4.26 Tabel Kej Keb bulanan per kelurahan.dbf Nama field ID_bulanan Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember ID_Kel Total_Kejadian kel
Tipe
Panjang
Keterangan
Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number
2 3 3 3 3 3 3 3 3 3 3 3 3 2 3
Id bulan (primary key) Jumlah kebakaran bulan Januari Jumlah kebakaran bulan Februari Jumlah kebakaran bulan Maret Jumlah kebakaran bulan April Jumlah kebakaran bulan Mei Jumlah kebakaran bulan Juni Jumlah kebakaran bulan Juli Jumlah kebakaran bulan Agustus Jumlah kebakaran bulan September Jumlah kebakaran bulan Oktober Jumlah kebakaran bulan November Jumlah kebakaran bulan Desember Id kelurahan (foreign key) Jumlah Kejadian Kebakaran per kelurahan
80
4.4.4 Perancangan Input / Output SIGK Pada tahap ini menjelaskan penggambaran sistem dengan menggunakan
tools
State
Transition
Diagram
(STD),
yaitu
menggambarkan transisi atau perubahan statement, keadaan sistem yang dipicu oleh adanya aksi yang dilakukan oleh user dan juga mendeskripsikan reaksi sistem terhadap aksi tersebut. Dengan kata lain, STD dapat mendeskripsikan cara kerja fungsi-fungsi yang dimiliki oleh setiap Menu. Dengan adanya STD, rancangan akan lebih terperinci karena fungsi-fungsi setiap objek yang diperlukan telah dideskripsikan melalui STD. Dan dilengkapi dengan pembuatan rancangan tampilan program. a. Perancangan STD 1. STD Layar Utama SIGK
Gambar 4.10 STD Layar Utama SIGK
81
2. STD Menu Utama
Gambar 4.11 STD Menu Utama
3. STD Menu Informasi
Gambar 4.12 STD Menu Informasi
82
4. STD Menu Peta Tematik
Gambar 4.13 STD Menu Peta Tematik
5. STD Menu Penanganan Kebakaran
Gambar 4.14 STD Menu Penanganan Kebakaran
83
6. STD Menu Pemeliharaan Data
Gambar 4.15 STD Menu Pemeliharaan Data
84
7. STD Menu Laporan
Gambar 4.16 STD Menu Laporan
8. STD Menu Petunjuk
Gambar 4.17 STD Menu Petunjuk
85
b. Perancangan Layar Pada bagian ini akan dibahas mengenai perancangan antarmuka
aplikasi
SIGK.
Antarmuka
yang
akan
dibangun, dirancang sesederhana mungkin sehingga memudahkan
pengguna
dalam
menggunakannya.
Rancangan antarmuka dari aplikasi ini adalah sebagai berikut: 1. Layar Utama
Gambar 4.18 Perancangan Layar Utama
86
2. Layar Menu Utama Dalam layar menu utama terdiri 5 sub menu, yaitu seleksi wilayah, tutup modul aktif, cetak, setting cetakan, login dan keluar. Seperti gambar dibawah ini.
Gambar 4.19 Perancangan Layar Menu Utama
3. Layar Menu Informasi Dalam layar menu informasi terdiri 2 sub menu, yaitu Daerah penelitian dan Profil SUDIN kebakaran Jakarta Timur. Seperti gambar dibawah ini.
87
SISTEM INFORMASI GEOGRAFIS PENANGANAN KEBAKARAN
Menu Utama
Informasi
Peta Tematik
Button Bar
Daerah Penelitian
Tools Bar
Profil SUDIN Kebakaran JAKTIM
Penanganan Kebakaran Pemeliharaan Data
Laporan
Judul Peta
Legenda dan Layer Peta
-
x
-
x
Petunjuk
Tampilan Peta
Button View
Gambar 4.20 Perancangan Layar Menu Informasi
4. Layar Menu Peta Tematik Dalam layar menu peta tematik terdiri 2 sub menu, yaitu Penyebaran pos penanganan kebakaran, peta administrasi Jakarta Timur. Seperti gambar dibawah ini.
88
SISTEM INFORMASI GEOGRAFIS PENANGANAN KEBAKARAN
Menu Utama
Informasi
Peta Tematik
Penanganan Kebakaran Pemeliharaan Data
Button Bar
Penyebaran Pos Penanganan Kebakaran
Tools Bar
Peta Administrasi JAKTIM
Judul Peta
Legenda dan Layer Peta
-
x
-
x
Laporan Petunjuk
Tampilan Peta
Keterangan dan Judul Peta Button View
Gambar 4.21 Perancangan Layar Menu Peta Tematik
5. Layar Menu Penanganan Kebakaran Dalam layar menu penanganan kebakaran terdiri 1 sub menu, yaitu Cari lokasi kebakaran . Seperti gambar dibawah ini.
Gambar 4.22 Perancangan Menu Penanganan Kebakaran
89
6. Layar Menu Pemeliharaan Data Dalam layar menu penanganan kebakaran terdiri 4 sub menu, yaitu kasus kebakaran, pos pemadam kebakaran, pos polisi dan rumah sakit. Seperti gambar dibawah ini.
Gambar 4.23 Perancangan Layar Menu Pemeliharaan Data
7. Layar Menu Laporan Dalam layar menu Laporan terdiri 3 sub menu, yaitu Laporan kebakaran per kelurahan, Laporan kebakaran per kecamatan, Laporan kebakaran per bulan. Seperti gambar dibawah ini.
90
Gambar 4.24 Perancangan Layar Menu Laporan
8. Layar Menu Petunjuk Dalam layar menu petunjuk terdiri 2 sub menu, yaitu Program aplikasi dan kontak kami. Seperti gambar dibawah ini.
Gambar 4.25 Perancangan Layar Menu Petunjuk
91
9. Layar Dialog a. Rancangan Dialog Login
Gambar 4.26 Rancangan Dialog Login b. Rancangan Dialog Seleksi Wilayah
Gambar 4.27 Dialog Seleksi Wilayah c. Rancangan Dialog Print
Gambar 4.28 Dialog Print
92
d. Rancangan Dialog Print Setup
Gambar 4.29 Dialog Print Setup e. Rancangan Dialog Pemeliharaan Pemadam, Pos Polisi, Rumah Sakit)
Data
(Pos
Gambar 4.30 Rancangan Dialog Pemeliharaan Data Pos dan RS f. Rancangan Dialog Entri Data Kebakaran
Gambar 4.31 Rancangan Dialog Entri Data Kebakaran 93
g. Rancangan Dialog Pemeliharaan data ”Kasus Kebakaran”
Gambar 4.32 Rancangan Dialog Pemeliharaan data ”Kasus Kebakaran”
94
4.4.5 Penulisan Program (Coding) Hasil perancangan sebelumnya harus diubah menjadi bentuk yang dimengerti mesin (komputer). Maka dilakukan langkah penulisan program. Jika hasil perancangannya detail, maka coding dapat dicapai dengan baik. Pada tahap ini penulis membuat aplikasi berbasis desktop menggunakan Script Avenue yang ada pada ArcView Gis 3.3 .
Berikut ini perancangan algoritma penulisan
program SIGK. 4.4.5.1 Spesifikasi Program Untuk Modul Pembuka Sub pembuka Tutup semua window Panggil modul pembuka Panggil image Panggil modul password Akhir Sub 4.4.5.2 Spesifikasi Program Untuk Modul Layar Utama Sub layar utama Tampilkan semua menu bar pada layar Tampilkan semua button bar pada layar Tampilkan semua tool bar pada layer Tampilkan peta tematik pos penanganan kebakaran Pilih menu Menu Utama Pilih sub modul Menu Utama Seleksi Wilayah 95
Panggil sub modul seleksi wilayah Tutup Modul Aktif Panggil sub modul tutup modul aktif Cetak Panggil sub modul cetak Seting Cetakan Panggil sub modul setting cetakan LOGIN Panggil sub modul LOGIN Keluar Panggil sub modul keluar Informasi Pilih sub modul Informasi Daerah Penelitian Panggil sub modul daerah penelitian Profil SUDIN Kebakaran JakTim Panggil sub modul Profil SUDIN Kebakaran Peta Tematik Pilih sub modul peta tematik Penyebaran pos penanganan kebakaran Panggil sub modul pos penanganan Peta administrasi Jakarta Timur Panggil sub modul peta administrasi Penanganan Kebakaran Pilih sub modul Penanganan Kebakaran Cari Lokasi Kebakaran
96
Panggil sub modul cari lokasi kebakaran Pemeliharaan Data Pilih sub modul pemeliharaan data Kasus Kebakaran Panggil sub modul kasus kebakaran Pos Pemadam Kebakaran Panggil sub modul pos pemadam kebakaran Pos polisi Panggil sub modul pos polisi Rumah sakit Panggil sub modul Rumah sakit Laporan Pilih sub modul Laporan Laporan kebakaran per kelurahan Panggil sub modul Laporan kebakaran per kelurahan Laporan kebakaran per kecamatan Panggil sub modul Laporan kebakaran per kecamatan Laporan kebakaran per bulan Panggil sub modul Laporan kebakaran per bulan Informasi Pilih sub modul informasi Program Aplikasi Panggil sub modul program aplikasi Kontak Kami Panggil sub modul kontak kami Akhir Sub
97
4.4.5.3 Spesifikasi program untuk sub menu Menu Utama a. Sub Menu Seleksi Wilayah Sub seleksi wilayah Tampilkan view peta pos penanganan kebakaran Tampilkan form seleksi wilayah Pilih wilayah ( batas kelurahan ) Keluar dari form seleksi wilayah Akhir Sub
a. Sub Menu Tutup Modul Aktif Sub menu tutup modul aktif Keluar dari view yang tampil paling depan di layar Akhir Sub
b. Sub Menu Cetak Sub menu cetak Tampilkan dialog print Ok untuk memulai proses print Cancel untuk menggagalkan proses print Akhir Sub
c. Sub Menu Setting Cetakan Sub menu setting setakan Tampilkan dialog print setup Akhir Sub
98
e. Sub Menu Keluar Sub menu keluar Keluar dari program aplikasi SIGK Akhir Sub 4.4.5.4 Spesifikasi program untuk sub menu Informasi a. Sub menu Daerah Penelitian Sub menu daerah penelitian Tampilkan dokumen informasi daerah penelitian (Profil Daerah Penelitian.doc) Akhir Sub b. Sub menu Profil Sudin Kebakaran JakTim Sub menu profil SUDIN kebakaran JAKTIM Tampilkan dokumen profil SUDIN kebakaran (Profil SuKu Dinas Pemadam Kebakaran.doc) Akhir Sub 4.4.5.5 Spesifikasi program untuk sub menu Peta Tematik a. Sub menu penyebaran pos penanganan kebakaran Sub menu penyebaran pos penanganan kebakaran Tampilkan view penyebaran pos penanganan keb Button Buka table untuk melihat table Button layout untuk membuat laporan Button tutup untuk keluar dari view Akhir Sub
99
b. Sub menu peta tematik Jakarta Timur Sub menu peta tematik Jakarta timur Tampilkan view peta administrasi Jakarta Timur Button layout untuk membuat laporan Button tutup untuk keluar dari view Akhir Sub
4.4.5.6 Spesifikasi program untuk sub menu Penanganan Kebakaran Sub Menu Cari Lokasi Kebakaran Tampilkan view pos penanganan kebakaran Button cari lokasi kebakaran Dialog data kebakaran Input data kebakaran Cari lokasi kebakaran like input (nama jalan) Buffer lokasi kebakaran Simpan untuk menyimpan data kebakaran Keluar untuk keluar dari form data kebakaran Akhir Form Button cetak untuk membuat laporan Button tutup untuk keluar dari view Akhir Sub
100
4.4.5.7 Spesifikasi program untuk sub menu Pemeliharaan_Data a. Sub menu Kasus Kebakaran Sub menu kasus kebakaran Tampilkan view peta penyebaran kasus kebakaran Dialog update informasi kebakaran Masukan Id kebakaran Input data pelengkap kebakaran (lengkap) Hapus untuk menghapus data kebakaran Simpan untuk menyimpan data kebakaran Keluar untuk keluar dari form dialog Akhir Form Akhir Sub
b. Sub menu pos pemadam kebakaran Sub menu pos pemadam kebakaran Tampilkan view pos penanganan kebakaran Form Dialog update informasi Masukan Id pos pemadam Input data pos pemadam Button hapus data untuk menhapus data Button Simpan untuk menyimpan Button Keluar untuk keluar dari form dialog Button tambah pos pemadam baru Input data pos pemadam baru
101
Button Simpan untuk menyimpan Button Keluar untuk keluar dari form dialog Akhir button Akhir form dialog Akhir Sub
c. Sub menu Pos polisi Sub menu pos polisi Tampilkan view pos penanganan kebakaran Form Dialog update informasi Masukan Id pos polisi Input data pos polisi Button hapus data untuk menhapus data Button Simpan untuk menyimpan Button Keluar untuk keluar dari form dialog Button tambah pos polisi baru Input data pos polisi baru Button Simpan untuk menyimpan Button Keluar untuk keluar dari form dialog Akhir Button Akhir Form Dialog Akhir Sub
102
d. Sub menu Rumah Sakit Sub menu rumah sakit Tampilkan view pos penanganan kebakaran Form Dialog update informasi Masukan Id rumah sakit Input data rumah sakit Button hapus data untuk menhapus data Button Simpan untuk menyimpan Button Keluar untuk keluar dari form dialog Button tambah rumah sakit baru Input data rumah sakit Button Simpan untuk menyimpan Button Keluar untuk keluar dari form dialog Akhir Button Akhir Form Dialog Akhir Sub
4.4.5.8 Spesifikasi program untuk sub menu Laporan a. Sub menu Laporan kebakaran per kelurahan Sub menu Laporan kebakaran per kelurahan Tampilkan view penyebaran kebakaran per kelurahan Button sebaran untuk membuat peta tematik penyebaran kebakaran Button layout untuk membuat laporan
103
Button tutup untuk keluar dari view Akhir Button b. Sub menu Laporan kebakaran per kecamatan Sub menu Laporan kebakaran per kecamatan Tampilkan view penyebaran kebakaran per kecamatan Button grafik untuk membuat presentase grafik Button sebaran untuk membuat peta tematik penyebaran kebakaran Button layout untuk membuat laporan Button tutup untuk keluar dari view Akhir Button c. Sub menu Laporan kebakaran per bulan Sub menu Laporan kebakaran per bulan Tampilkan view penyebaran kebakaran per bulan Button grafik untuk membuat presentase grafik Button sebaran untuk membuat peta tematik penyebaran kebakaran Button layout untuk membuat laporan Button tutup untuk keluar dari vew Akhir Button
4.4.5.9 Spesifikasi program untuk sub menu Petunjuk a. Sub menu program aplikasi Sub menu program aplikasi Tampilkan dialog program aplikasi Akhir Sub b. Sub menu kontak kami Sub menu kontak kami Tampilkan dialog kontak kami Akhir Sub 104
4.5 Pengujian ( Testing ) Setelah kode program selesai dibuat, dan program dapat berjalan, testing dapat dimulai. Testing difokuskan pada logika pemrograman dari perangkat lunak, fungsi (menu, tools, button), dan mencari segala kemungkinan kesalahan. Memeriksa apakah hasilnya sesuai dengan yang diinginkan. Pada tahap pengujian ini dilakukan installasi / pemasangan sistem secara utuh untuk dipergunakan pada Suku Dinas Pemadam Kebakaran Kotamadya Jakarta Timur. Sistem Informasi Geografis Kebakaran pada batas administrasi Jakarta Timur yang penulis buat masih dalam tahap pengenalan sistem dan belum sepenuhnya diimplementasikan. Sistem ini dioperasikan pada Ruang Operator (Bagian Seksi Operasi) Suku Dinas pemadam Kebakaran Jakarta Timur. Sistem ini dioperasikan pada satu komputer dan satu operator saja. Pada tahap ini dilakukan pengujian terhadap aplikasi sistem yang telah dibuat, hasilnya adalah sebagai berikut : Tabel 4.27 Hasil Pengujian No
Nama Tes
1.
Login
2.
Menampilkan peta pos penanganan kebakaran Cari lokasi kejadian kebakaran Cari pos penanganan terdekat
3. 4.
5.
Menyimpan data kebakaran awal
Hasil yang di harapkan Masuk ke dalam menu utama aplikasi peta pos penanganan kebakaran, button cari lokasi kebakaran Jalan terjadinya kebakaran ditampilkan Pos penanganan terdekat dan lokasi kebakaran (jalan) ditampilkan Terciptanya data kebakaran awal
Hasil
Keterangan
Berhasil Berhasil
Berhasil Jalan telah dikelompokan berdasarkan batas kelurahan Berhasil Buffer, metode yang digunakan untuk mencari lokasi pos terdekat, masukan jarak untuk menentukan seberapa jauh jarak buffernya Berhasil
105
No
Nama Tes
6.
Seleksi wilayah
7.
Tutup modul aktif
8.
Cetak
9.
Setting cetakan
10. Keluar 11. Informasi daerah penelitian 12. Informasi Profil SUDIN Kebakaran Jaktim 13. Peta tematik penyebaran pos penanganan kebakaran 14. Peta tematik Jakarta Timur
15. Laporan penyebaran kejadian kebakaran
16. Menampilkan grafik
17
Membuat peta sebaran
18. Menampilkan layout
19. Pemeliharaan data kasus kebakaran
20. Pemeliharaan data pos pemadam
Hasil yang di harapkan Penyeleksian wilayah berdasarkan kelurahan ditampilkan Keluar dari view yang ditampilkan paling depan Dialog print ditampilkan dan proses pencetakan dijalankan Dialog setting cetakan ditampilkan keluar dari aplikasi SIGK Dokumen daerah penelitian ditampilkan Dokumen profil SUDIN Kebakaran JakTim ditampilkan Peta penyebaran pos penanganan kebakaran ditampilkan
Hasil
Keterangan
Berhasil
Berhasil
Berhasil
Berhasil Berhasil Berhasil Berhasil
Berhasil
Peta Administrasi Jakarta Timur ditampilkan Peta penyebaran kejadian kebakaran ditampilkan
Berhasil
Grafik penyebaran kebakaran disesuaikan dan ditampilkan Informasi pada theme peta penyebaran kebakaran sesuai dan ditampilkan Layout dapat dibuat dan ditampilkan
Berhasil Peta tematik penyebaran kejadian kebakaran ditampilkan terlebih dahulu Berhasil Peta tematik penyebaran kejadian kebakaran ditampilkan terlebih dahulu, sesuaikan informasi theme Berhasil Peta tematik penyebaran kejadian kebakaran ditampilkan terlebih dahulu Berhasil
Update informasi, hapus, simpan kasus kebakaran Update informasi, hapus, simpan pos pemadam kebakaran,
Berhasil 1. Peta penyebaran kejadian kebakaran per kelurahan (berdasarkan parameternya) 2. Peta penyebaran kejadian kebakaran per kecamatan (berdasarkan parameternya) 3. Peta penyebaran kejadian kebakaran per bulannya
Berhasil
106
No
Nama Tes
21. Pemeliharaan data pos polisi
22. Pemeliharaan data rumah sakit
23. Menampilkan petunjuk progran aplikasi 24. Menampilkan kontak kami 25. Penggunaan tools
26. Update SIGK
Hasil yang di harapkan membuat pos baru Update informasi, hapus, simpan pos polisi, membuat pos baru Update informasi, hapus, simpan rumah sakit, membuat pos baru Informasi fungsifungsi menu dan submenu ditampilkan Informasi pengembang aplikasi ditampilkan Tools pada toolbar dapat digunakan dengan baik Database SIGK baru berhasil diupdate
Hasil
Keterangan
Berhasil
Berhasil
Berhasil
Berhasil Berhasil View Peta penyebaran kejadian kebakaran ditampilkan terlebih dahulu Berhasil Tutup seluruh modul view, pada Doc project pengupdatean dilakukan.
4.6 Operasi dan Pemeliharaan Setelah aplikasi SIGK diberikan pada user, mungkin dapat ditemui error ketika dijalankan dilingkungan user. Atau mungkin user meminta penambahan fungsi, hal ini menyebabkan faktor maintenance (pemeliharaan) ini menjadi penting dalam penggunaan metode ini. Pemeliharaan ini dapat berpengaruh pada semua langkah yang dilakukan sebelumnya. Pada tahap ini dilakukan kegiatan perawatan / maintenance, serta review sistem untuk mengetahui apakah sistem masih sesuai dengan kebutuhan user atau tidak.
107
4.6.1 Pemakaian SIGK Sistem
Informasi
Geografis
Kebakaran
pada
batas
administrasi Jakarta Timur yang penulis buat masih dalam tahap pengenalan sistem dan belum sepenuhnya diimplementasikan di Suku Dinas pemadam Kebakaran Jakarta Timur. Sistem ini dioperasikan pada Ruang Operator (Sub Bagian dari Seksi Operasi) Suku Dinas pemadam Kebakaran Jakarta Timur, dan saat ini sistem dioperasikan pada satu komputer dan satu operator saja.
4.6.2 Evaluasi Dikarenakan Sistem Informasi Geografis Kebakaran pada batas administrasi Jakarta Timur yang penulis buat masih dalam tahap pengenalan sistem dan belum sepenuhnya diimplementasikan di Suku Dinas pemadam Kebakaran Jakarta Timur. Maka penulis hanya dapat melakukan evaluasi sistem secara internal terhadap Kepala Sudin pemadam Kebakaran Jakarta Timur, Kepala seksi operasi dan 2 staff operator seksi operasi. Untuk mengevaluasi sistem ini penulis melakukan pengujian terhadap aplikasi yang dibuat, pada Sudin Kebakaran Jakarta Timur. Adapun pengujian yang dilakukan meliputi : a. Pemeriksaan kesalahan / error pada program. 1. Proses login 2. Pencarian lokasi kebakaran
108
3. Pemeliharaan data kebakaran (update, hapus, simpan informasi) 4. Pemeliharaan data pos pemadam, pos polisi, rumah sakit.
(update,
hapus,
simpan
informasi
dan
pembuatan baru) 5. Integrasi dengan aplikasi lain 6. Pengetesan semua menu dan sub menu yang ada pada SIGK.
b. Pemeriksaan apakah output yang dihasilkan telah sesuai dengan tujuan yang telah didefinisikan sebelumnya. 1. Pembuatan sebaran kebakaran per kelurahan, per kecamatan dan per bulannya. 2. Pembuatan layout laporan sebaran kebakaran per kelurahan, per kecamatan dan per bulannya. 3. Pembuatan layout laporan sebaran kebakaran menurut faktor yang mempengaruhinya (penyebab kebakaran, jenis bahan terbakar, waktu kejadian). 4. Pembuatan
grafik
penyebaran
kebakaran
per
kecamatan dan per bulannya. 5. Pembuatan layout peta pos penanganan kebakaran. 6. Pembuatan layout peta administrasi Jakarta Tmur.
Penulis juga melakukan kuisioner untuk mengetahui respon dari penggunaan sistem baru SIGK, adapun hasil yang diperoleh dari 109
kuisioner yang dilakukan pada Sudin Dinas Kebakaran Jakarta Timur tentang aplikasi SIGK ini, sebagai berikut : 1. Tampilan aplikasi, menu dan sub menu, button dan tool bar, serta peta wilayah penelitian pada aplikasi SIGK ini baik dan jelas sehingga pengguna dapat menggunakan aplikasi ini dengan baik. 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Bagaimanakah tampilan visualisasi dari aplikasi SIGK ini ?
Bagaimanakah tampilan menu dan sub menu dari aplikasi SIGK ini ?
Bagaimanakah tampilan Button dan tools dari aplikasi SIGK ini ?
4
4
4
Bagaimanakah tampilan peta wilayah Jakarta Timur dalam aplikasi SIGK ini ?
Kurang Baik ( 50 – 60 ) 1
Cukup Baik ( 61 – 79 ) Baik ( 80 – 89 ) Sangat Baik ( 90 -100 )
2 1
Gambar 4.33 Tabel hasil kuisioner tampilan aplikasi
2. Fasilitas yang tersedia pada aplikasi SIGK yaitu fasilitas pencarian lokasi kebakaran, update/pembaharuan data, laporan penyebaran kebakaran dan tools yang tersedia pada SIGK ini sudah memadai untuk mengolah data kebakaran.
110
4,5 4 3,5 3 2,5 2 1,5 1 0,5 0
Apakah fasilitas pencarian lokasi kebakaran dan pos penanganan terdekat sudah memadai ?
Apakah fasilitas informasi tentang daerah penelitian dan profil pemadam kebakaran sudah memadai ?
Apakah fasilitas update/pembaharuan data ( data kebakaran, pos pemadam, pos polisi dan rumah sakit sudah
Apakah fasilitas laporan peny ebaran kebakaran ( per kelurahan, per kecamatan dan per bulanny a ) sudah
Apakah fasilitas Tools y ang tersedia pada aplikasi SIGK ini sudah memadai ?
4
3
2
2
4
1
2
2
Kurang M emadai ( 50 – 60 ) C ukup M emadai ( 61 – 79 ) M emadai ( 80 – 89 ) Sangat M emadai ( 90 -100 )
Gambar 4.34 Tabel hasil kuisioner fasilitas aplikasi 3. Penggunaan Fasilitas yang tersedia pada aplikasi SIGK yaitu fasilitas pencarian lokasi kebakaran, update/pembaharuan data, laporan penyebaran kebakaran, tools yang tersedia pada SIGK ini mudah untuk digunakan dalam mengolah data kebakaran. 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 Bagaimanakah prosedur penggunaan aplikasi SIGK ini ?
Bagaimanakah penggunaan
Bagaimanakah penggunaan
Bagaimanakah penggunaan
Bagaimanakah penggunaan
Bagaimanakah penggunaan
fasilitas pencarian lokasi
fasilitas informasi tentang daerah
fasilitas update/pembaharuan
fasilitas laporan penyebaran
fasilitas Tools yang tersedia
data ( data kebakaran, pos
kebakaran ( per kelurahan, per
pada aplikasi SIGK ini ?
4
4
4
kebakaran dan pos penanganan penelitian dan profil pemadam
Sangat Sulit ( 50 – 60 ) Sulit ( 61 – 79 ) Cukup Mudah ( 80 – 89 )
4
4
4
Mudah ( 90 -100 )
Gambar 4.35 Tabel hasil kuisioner penggunaan fasilitas
4. Informasi yang dihasilkan dari SIGK ini, yaitu lokasi kebakaran
dan
pos
penanganan
terdekat,
informasi
penyebaran kebakaran per kelurahan, kecamatan dan per
111
bulannya sudah memadai dalam proses penanganan dan pembuatan laporan penyebaran kebakaran. 3 ,5 3 2 ,5 2 1 ,5 1 0 ,5 0
A p a k a h i n fo r m a s i y a n g d i h a s i l k a n d a r i p e n c a ria n lo k a s i k e b a k a ra n d a n p o s p e n a n g a n a n te r d e k a t s u d a h m e m a d a i ?
A p a k a h i n fo r m a s i y a n g d i h a s i l k a n te n ta n g p e n y e b a r a n k e b a k a r a n ( p e r k e l u r a h a n , p e r k e c a m a ta n d a n p e r
K u ra n g M e m a d a i ( 5 0 – 6 0 ) C ukup Mem adai ( 61 – 79 )
1
Mem adai ( 80 – 89 )
2
3
S a n g a t M e m a d a i ( 9 0 -1 0 0 )
1
1
Gambar 4.36 Tabel hasil kuisioner informasi yang dihasilkan 5. Penyajian laporan pada aplikasi SIGK ini yaitu laporan penyebaran kebakaran dalam bentuk peta tematik, grafik dan tabel dapat dimengerti pengguna dan pihak lain yang menggunakan laporan ini. 4 ,5 4 3 ,5 3 2 ,5 2 1 ,5 1 0 ,5 0
B a g a i m a n a k a h p e n ya j i a n l a p o r a n d a l a m b e n tu k ta m p i l a n p e ta ?
B a g a i m a n a k a h p e n ya j i a n l a p o r a n d a l a m b e n tu k ta m p i l a n g r a fi k ?
B a g a i m a n a k a h p e n ya j i a n l a p o r a n d a l a m b e n tu k ta m p i l a n ta b e l ?
4
4
K u r a n g M e n g e r ti ( 5 0 – 6 0 ) C u k u p M e n g e r ti ( 6 1 – 7 9 )
1
M e n g e r ti ( 8 0 – 8 9 )
3
S a n g a t M e n g e r ti ( 9 0 - 1 0 0 )
Gambar 4.37 Tabel hasil kuisioner penyajian laporan
6. Informasi yang dihasilkan dari SIGK ini yaitu lokasi kebakaran dan pos penanganan terdekat, laporan penyebaran kebakaran per kelurahan, kecamatan dan per bulannya, dapat
112
digunakan sebagai masukan bagi Dinas Pemadam Kebakaran Jakarta
Timur
untuk
meningkatkan
kinerja
dalam
menanggulangi kebakaran. 4 ,5 4 3 ,5 3 2 ,5 2 1 ,5 1 0 ,5 0
A p a k a h k e l u a r a n d a r i S IG K i n i , d a p a t d i g u n a k a n s e b a g a i m a s u k a n b a g i S U D IN P E M A D A M K E B A K A R A N J a k a r ta T i m u r u n tu k m e n i n g k a tk a n k i n e r j a d a l a m m e n a n g g u l a n g i k e b a k a r a n ?
YA
4
T ID A K
0
Gambar 4.38 Tabel hasil kuisioner manfaat informasi yang dihasilkan 7. Waktu yang diperlukan dalam proses penanganan kebakaran antara sistem lama dengan SIGK, menunjukan SIGK membutuhkan waktu yang lebih sedikit dibanding sistem lama dalam mencari lokasi kebakaran dan pos penanganan terdekat, sehingga dapat mempercepat proses penanganan kebakaran.
113
Tabel 4.28 Perbandingan Sistem Lama dan Sistem Baru No 1
MATERI YANG SISTEM LAMA DIBANDINGKAN Proses pengolahan laporan 1. Telfon masuk ’Laporan kebakaran’ . kebakaran
SISTEM BARU ( SIGK )
2. Pendataan Laporan kebakaran (tutup telfon) 3. Pencarian lokasi dan pencarian pos penanganan kebakaran terdekat (informasi manual)/lebih kepada ketajaman ingatan/hafalan. 4. Cari Informasi Pos penanganan melalui tabel informasi pos penanganan berupa buku informasi.(text) 5. Penginstruksian pemadaman kepada pos-pos terdekat 6. Proses pemadaman oleh pos terdekat dan bantuan dari pos lainnya.
2
Waktu yang diperlukan I. 2 Menit 55 Detik dalam pengolahan laporan II. 2 Menit 42 Detik kebakaran III. 3 Menit 10 Detik
1. Telfon masuk ’Laporan kebakaran’ . 2. Pendataan Laporan kebakaran 3. Pencarian lokasi dan pencarian pos penanganan kebakaran terdekat (dengan sistem terkomputerisasi) sehingga informasi dapat diketahui langsung. 4. Penginstruksian pemadaman kepada pos-pos terdekat 5. Proses pemadaman oleh pos terdekat dan bantuan dari pos lainnya.
I. 1 Menit 44 Detik II. 1 Menit 48 Detik III. 1 Menit 32 Detik
4.6.3 Kelebihan SIGK Dari hasil evaluasi yang dilakukan, dapat disimpulkan bahwa tujuan telah tercapai dimana aplikasi telah mampu menyajikan informasi mengenai pencarian lokasi kebakaran dan pos penanganan kebakaran yang terdekat dengan lokasi kebakaran, pengolahan
data
kebakaran
untuk
mengetahui
informasi
penyebaran dari kejadian kebakaran, pemeliharaan data dapat dilakukan oleh user (operator seksi operasi) dengan mudah, sehingga kebutuhan informasi pada Suku Dinas Pemadam Kebakaran Jakarta Timur telah bisa dipenuhi oleh sistem ini.
114
4.6.4 Kekurangan SIGK Dari hasil evaluasi yang dilakukan, ada kekurangan dalam sistem ini yaitu mengenai penggambaran lokasi kebakaran di wilayah penelitian yang perlu dilengkapi lagi, informasi mengenai tempat-tempat penting yang bisa digunakan sebagai patokan untuk menentukan lokasi kebakaran. Dan cangkupan wilayahnya tidak hanya pada wilayah Jakarta Timur tetapi seluruh wilayah Jakarta, sehingga dalam proses penanganan kebakaran bisa dlakukan secara lebih optimal di seluruh Jakarta.
115
BAB V PENUTUP
Pada bab ini adalah bab penutup yang berisi kesimpulan serta saran-saran yang bermanfaat bagi penulisan skripsi ini. 5.1 Kesimpulan Dari pembahasan yang sudah di uraikan, dapat disimpulkan bahwa: 1.
Aplikasi SIGK dapat membantu Seksi Operasi Suku Dinas Kebakaran Jakarta Timur dalam mengolah laporan kejadian kebakaran untuk mengetahui lokasi kebakaran menggunakan kata kunci jalan.
2.
Aplikasi SIGK dapat membantu Seksi Operasi Suku Dinas Kebakaran Jakarta Timur dalam mengolah laporan kejadian kebakaran untuk mengetahui letak pos pemadam kebakaran, pos polisi dan rumah sakit, yang terdekat dengan lokasi kebakaran sehingga dapat mempercepat proses penanganan kebakaran dan proses koordinasi antara lembaga terkait untuk menangani kebakaran.
3.
Dengan adanya aplikasi SIGK ini maka terbentuklah suatu basis data spasial penyebaran kebakaran. Manajemen data kebakaran yang baik akan menghasilkan informasi penyebaran kebakaran yang disajikan dalam bentuk tampilan peta, tabel dan grafik sehingga laporan yang dihasilkan menjadi lebih baik serta bermanfaat bagi Suku Dinas Kebakaran Jakarta Timur.
116
5.2 Saran Pengembangan aplikasi ini belumlah sempurna dan masih memiliki keterbatasan
dan
kekurangan
serta
memerlukan
perbaikan
untuk
meningkatkan manfaat dari aplikasi ini. Adapun saran yang kiranya dapat membantu untuk membuat aplikasi ini menjadi lebih baik adalah sebagai berikut: 1.
Diharapkan untuk pengembangan selanjutnya mengenai topik ini dapat menentukan objek penelitiannya adalah Daerah Khusus Ibukota Jakarta, sehingga dalam proses penanganannya bisa luas dan terpusat.
2.
Perlu adanya informasi baru tentang lokasi-lokasi penting agar dapat digunakan sebagai patokan dalam mencari lokasi kebakaran dengan tepat dan akurat.
3.
Adanya penelitian lebih lanjut yang menggunakan metode lain dalam mencari lokasi kebakaran dan pos penanganan terdekat.
4.
Aplikasi ini masih bersifat stand alone, akan lebih baik apabila aplikasi ini dikembangkan menggunakan teknologi berbasis web sehingga informasi hasil analisis dari aplikasi ini dapat diakses secara global melalui internet.
5.
Adanya penelitian lebih lanjut dengan menggunakan metode pengembangan sistem terstruktur dengan model waterfall yang melaksanakan tahap operasi dan pemeliharaan, sehingga dapat diperoleh informasi baru untuk mengembangkan sistem yang sesuai dengan kebutuhan.
117
DAFTAR PUSTAKA
Al Fatta, Hanif. 2007. Analisa dan Perancangan Sistem Informasi Untuk Keunggulan Bersaing dan Organisasi Modern. Yogyakarta: Andi Yogyakarta. Ladjamudin, Al-bahra bin. 2005. Analisa dan Desain Sistem Informasi. Tanggerang: Graha Ilmu Tanggerang. Hartono Jogiyanto, 2005. Analisa dan Desain Sistem Informasi. Yogyakarta: Andi Yogyakarta Haryadi, Muji. 2006. Silabus Sistem Informasi Geografis, Jakarta: Jurusan Teknik Informatika dan Sistem Informasi Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta. Prahasta, Eddy. 2002. Sistem Informasi Geografis: Konsep-Konsep Dasar Informasi Goegrafis, Bandung: Informatika Bandung. Prahasta, Eddy. 2002. Sistem Informasi Geografis: Tutorial ArcView, Bandung: Informatika Bandung. Prahasta, Eddy. 2004. Sistem Informasi Geografis: Tools dan Plug-Ins, Bandung: Informatika Bandung. Prahasta, Eddy. 2004. Sistem Informasi Geografis: ArcView Lanjut Pemrograman Bahasa Script Avenue, Bandung: Informatika Bandung. Budiyanto, Eko. 2007. Avenue untuk Pengembangan Sistem Informasi Geografis. Yogyakarta: Andi Yogyakarta Sulaeman, Yiyi, dan Haryadi, Muji. 2006. Silabus Basisdata Spasial, Jakarta: Jurusan Teknik Informatika dan Sistem Informasi Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta. Husein, Iwa. 1996. Ilmu Pengetahuan Sosial Geografi. Jakarta: PT Grafinda Media Pratama. Romenah. 2006. Sistem Informasi Geografis. Jakarta: Modul Belajar Siswa. Anonim. 2001. Kamus Besar Bahasa Indonesia, Edisi Ketiga. Jakarta: Balai Pustaka, Departemen Pendidikan Nasional.
Suku Dinas Pemadam Kebakaran Jakarta Timur. 2006. Laporan Kegiatan Tahunan 2006. Jakarta Timur : Suku Dinas Pemadam Kebakaran Jakarta Timur. Rumah Sakit, Peraturan Mentri Kesehatan RI No : 159b/MEN.KES/PER/II/1998 (Bab I Pasal 1 Ayat 1). DKI Jakarta : Departemen Kesehatan. Jalan, Undang-undang Nomor 13 Tahun 1980 tentang Jalan, Indonesia : Departemen Perhubungan. Kebakaran, (http://www.jakartafire.com/dpk07/pengetahuan/index.php?act=detil&id b=297), 15 Februari 2008, pukul 24.18 WIB. ArcView Dialog Designer, ( http://esri.com/software/arcview/extensions/dialog/ ), 3 Juli 2008, pukul 23.00 WIB. Theme Regression, ( http://www.jennessent.com/downloads/grid_regression.zip ), 5 Juni 2008, pukul 21.15 WIB. http://www.cybermap.co.id/index.php?map=jkt&con tent=ar&id=30 28 Februari 2008, pukul 14.00 http://timur.jakarta.go.id/webjaktimfinal/content/view/15/35/ 25 Februari 2008, pukul 01.30 WIB.
SCRIPT PROGRAM AVENUE Nama Aplikasi : Sistem Informasi Geografis Kebakaran Programmer
: Linggo Murti
======================== A. Pembuka/masuk aplikasi ======================== '1-BUKA DIALOG LOGIN p = av.getproject.finddialog("Dialog Pembuka") p.close av.run("1-Start",{}) ========================= B. Mulai Aplikasi " 1-Start " ========================= av.setname("SISTEM INFORMASI GEOGRAFIS PENANGANAN KEBAKARAN") objProject=Av.GetProject objNamaView="PETA POS PENANGANAN KEBAKARAN" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open av.DelayedRun("login",nil,0) ================================== C. Tampilan Awal Aplikasi "1. Menu awal" ================================== '=========== 'Menu Project '=========== theProject = av.FindGUI("Project") btn1=theProject.getbuttonbar.getcontrols.get(0) btn1.setenabled(false) btn2=theProject.getbuttonbar.getcontrols.get(1) btn2.setenabled(false) btn3=theProject.getbuttonbar.getcontrols.get(2) btn3.setenabled(false) btn4=theProject.getbuttonbar.getcontrols.get(3) btn4.setenabled(false) btnProject = theProject.getbuttonbar btnprojects=btnproject.GetControls.Get(7) btnproject.remove(btnprojects) btnprojects=btnproject.GetControls.Get(6) btnproject.remove(btnprojects) btnprojects=btnproject.GetControls.Get(5) btnproject.remove(btnprojects) btnprojects=btnproject.GetControls.Get(4)
btnproject.remove(btnprojects) mnProject=theProject.getmenubar if(mnProject.getcontrols.get(1).getlabel.asstring="& Menu Utama")then m1=mnProject M=mnProject.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnProject.getcontrols.get(1).getlabel.asstring ="&Informasi")then m1=mnProject M=mnProject.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnProject.getcontrols.get(1).getlabel.asstring ="&Peta Tematik")then m1=mnProject M=mnProject.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnProject.getcontrols.get(1).getlabel.asstring ="&Penanganan Kebakaran")then m1=mnProject M=mnProject.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnProject.getcontrols.get(1).getlabel.asstring ="&Pemeliharaan Data")then m1=mnProject M=mnProject.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnProject.getcontrols.get(1).getlabel.asstring ="&Petunjuk")then m1=mnProject M=mnProject.GETCONTROLS.GET(1) m1.REMOVE(M) end s=space.make if(mnProject.getcontrols.get(1).getlabel.asstring<>" &Menu Utama")then m=mnProject.new(0) m.setlabel("&Menu Utama")
p1=m.new(0) p1.setlabel("Seleksi Wilayah") p1.setclick("1-Seleksi Wilayah") p1.setenabled(false) p2=m.new(1) p2.setlabel("Tutup Modul Aktif") p2.setclick("1-Tutup") p2.setenabled(false) m.add(s,2) p3=m.new(3) p3.setlabel("Cetak") p3.setclick("Doc.Print") p3.setenabled(false) p4=m.new(4) p4.setlabel("Setting Cetakkan") p4.setclick("project.printsetup") p4.setenabled(false) m.add(s,5) p5=m.new(6) p5.setlabel("Keluar") p5.setclick("keluar aplikasi") p5.setenabled(false) end if(mnProject.getcontrols.get(2).getlabel.asstring<>"& Informasi")then m=mnProject.new(1) m.setlabel("&Informasi") p1=m.new(0) p1.setlabel("Daerah Penelitian") p1.setclick("1-daerah") p1.setenabled(false) m.add(s,1) p2=m.new(2) p2.setlabel("Profil Sudin Pemadam Kebakaran JAKTIM") p2.setclick("1-sudin") p2.setenabled(false) end if(mnProject.getcontrols.get(3).getlabel.asstring<>"& Peta Tematik")then m=mnProject.new(2) m.setlabel("&Peta Tematik")
p1=m.new(0) p1.setlabel("Penyebaran Kejadian Kebakaran") p1.setclick("1-view LAP KEB") p1.setenabled(false) p2=m.new(1) p2.setlabel("Penyebaran Pos Penanganan Kebakaran") p2.setclick("1-ViewPos") p2.setenabled(false) p3=m.new(2) p3.setlabel("Peta Tematik Jakarta Timur") p3.setclick("1-ViewJaktimAdministrasi") p3.setenabled(false) end if(mnProject.getcontrols.get(4).getlabel.asstring<>" &Penanganan Kebakaran")then m=mnProject.new(3) m.setlabel("&Penanganan Kebakaran") p1=m.new(0) p1.setlabel("Cari Lokasi Kebakaran") p1.setclick("1-ViewCariLokasi") p1.setenabled(false) end if(mnProject.getcontrols.get(5).getlabel.asstring<>" &Pemeliharaan Data")then m=mnProject.new(4) m.setlabel("&Pemeliharaan Data") p1=m.new(0) p1.setlabel("Kasus Kebakaran") p1.setclick("0--update data kebakaran utama") p1.setenabled(false) p2=m.new(1) p2.setlabel("Pos Pemadam Kebakaran") p2.setclick("1-Dialog PosPemadam") p2.setenabled(false) p3=m.new(2) p3.setlabel("Pos Polisi") p3.setclick("1-Dialog PosPolisi") p3.setenabled(false) p4=m.new(3) p4.setlabel("Rumah Sakit") p4.setclick("1-Dialog RS") p4.setenabled(false) p2=m.new(4)
p2.setlabel("Hidran") p2.setclick("1-Dialog Hidran") p2.setenabled(false) 'p3=m.new(5) 'p3.setlabel("Jalan") 'p3.setclick("1-Dialog Jalan") 'p3.setenabled(false) ' p4=m.new(6) 'p4.setlabel("Sungai") ' p4.setclick("1-Dialog Sungai") ' p4.setenabled(false) end if(mnProject.getcontrols.get(6).getlabel.asstring<>"& Petunjuk")then m=mnProject.new(5) m.setlabel("&Petunjuk") p1=m.new(0) p1.setlabel("Program Aplikasi") p1.setclick("program aplikasi") p1.setenabled(false) m.add(s,1) p2=m.new(2) p2.setlabel("Kontak Kami") p2.setclick("kontak kami") p2.setenabled(false) end '========= 'Menu View '========= theView = av.FindGUI("View") tb1=theView.gettoolbar.getcontrols.get(0) tb1.setenabled(false) tb2=theView.gettoolbar.getcontrols.get(1) tb2.setenabled(false) tb3=theView.gettoolbar.getcontrols.get(2) tb3.setenabled(false) tb4=theView.gettoolbar.getcontrols.get(3) tb4.setenabled(false) tb5=theView.gettoolbar.getcontrols.get(4) tb5.setenabled(false) btnView = theView.getbuttonbar toolView = theView.gettoolbar 'toolViewDelete = toolView.empty btnViewDelete = btnView.empty toolviews=toolview.GetControls.Get(5) toolview.remove(toolviews) y = IconMgr.GetIcons
n = NameDictionary.Make( 100 ) for each i in y n.Add( i ) end b=btnView.new(0) b.seticon(n.Get("Table")) b.setclick("View.ShowTable") b.Sethelp("Buka Tabel//Membuka tabel dari theme yang aktif") b.setenabled(false) b=btnView.new(1) b.seticon(n.Get("SelectNone")) b.setclick("View.ClearSelect") b.Sethelp("Hapus Seleksi//Menghapus seleksi pada tampilan peta") b.setenabled(false) b=btnView.new(2) b.seticon(n.Get("ZoomView")) b.setclick("View.ZoomToThemes") b.Sethelp("Zoom Layer//Memperbesar tampilan peta sesuai layer yang aktif") b.setenabled(false) b=btnView.new(3) b.seticon(n.Get("ZoomIn")) b.setclick("View.ZoomIn") b.Sethelp("Zoom In//Memperbesar tampilan peta") b.setenabled(false) b=btnView.new(4) b.seticon(n.Get("ZoomOut")) b.setclick("View.ZoomOut") b.Sethelp("Zoom Out//Memperkecil tampilan peta") b.setenabled(false) b=btnView.new(5) b.seticon(n.Get("HideLegend")) b.setclick("1-TOCHIDE") b.settag("Show") b.Sethelp("Legenda Peta//Menampilkan dan menutup legenda/layer peta") b.setenabled(false) b=btnView.new(6) b.seticon(n.Get("delete_layers.gif")) b.setclick("Script2") b.settag("Show") b.Sethelp("Hapus Graphic pada peta") b.setenabled(false) mnView=theView.getmenubar
if(mnView.getcontrols.get(1).getlabel.asstring="&Me nu Utama")then m1=mnView M=mnView.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnView.getcontrols.get(1).getlabel.asstring="&Inf ormasi")then m1=mnView M=mnView.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnView.getcontrols.get(1).getlabel.asstring="&Pet a Tematik")then m1=mnView M=mnView.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnView.getcontrols.get(1).getlabel.asstring="&Pen anganan Kebakaran")then m1=mnView M=mnView.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnView.getcontrols.get(1).getlabel.asstring="&Pe meliharaan Data")then m1=mnView M=mnView.GETCONTROLS.GET(1) m1.REMOVE(M) end
p2=m.new(1) p2.setlabel("Tutup Modul Aktif") p2.setclick("1-Tutup") p2.setenabled(false) m.add(s,2) p3=m.new(3) p3.setlabel("Cetak") p3.setclick("Doc.Print") p3.setenabled(false) p4=m.new(4) p4.setlabel("Setting Cetakkan") p4.setclick("project.printsetup") p4.setenabled(false) m.add(s,5) p5=m.new(6) p5.setlabel("Keluar") p5.setclick("keluar aplikasi") p5.setenabled(false) end if(mnView.getcontrols.get(2).getlabel.asstring<>"& Informasi")then m=mnView.new(1) m.setlabel("&Informasi") p1=m.new(0) p1.setlabel("Daerah Penelitian") p1.setclick("1-daerah") p1.setenabled(false) m.add(s,1)
if(mnView.getcontrols.get(1).getlabel.asstring="&Pet unjuk")then m1=mnView M=mnView.GETCONTROLS.GET(1) m1.REMOVE(M) end s=space.make if(mnView.getcontrols.get(1).getlabel.asstring<>"&M enu Utama")then m=mnView.new(0) m.setlabel("&Menu Utama") 's=Space.New(0) p1=m.new(0) p1.setlabel("Seleksi Wilayah") p1.setclick("1-Seleksi Wilayah") p1.setenabled(false)
p2=m.new(2) p2.setlabel("Profil Sudin Pemadam Kebakaran JAKTIM") p2.setclick("1-sudin") p2.setenabled(false) end if(mnView.getcontrols.get(3).getlabel.asstring<>"& Peta Tematik")then m=mnView.new(2) m.setlabel("&Peta Tematik") p1=m.new(0) p1.setlabel("Penyebaran Kejadian Kebakaran") p1.setclick("1-view LAP KEB") p1.setenabled(false) p2=m.new(1)
p2.setlabel("Penyebaran Pos Penanganan Kebakaran") p2.setclick("1-ViewPos") p2.setenabled(false) p3=m.new(2) p3.setlabel("Peta Tematik Jakarta Timur") p3.setclick("1-ViewJaktimAdministrasi") p3.setenabled(false) end if(mnView.getcontrols.get(4).getlabel.asstring<>"&P enanganan Kebakaran")then m=mnView.new(3) m.setlabel("&Penanganan Kebakaran") p1=m.new(0) p1.setlabel("Cari Lokasi Kebakaran") p1.setclick("1-ViewCariLokasi") p1.setenabled(false) end if(mnView.getcontrols.get(5).getlabel.asstring<>"&P emeliharaan Data")then m=mnView.new(4) m.setlabel("&Pemeliharaan Data") p1=m.new(0) p1.setlabel("Kasus Kebakaran") p1.setclick("0--update data kebakaran utama") p1.setenabled(false) p2=m.new(1) p2.setlabel("Pos Pemadam Kebakaran") p2.setclick("1-Dialog PosPemadam") p2.setenabled(false) p3=m.new(2) p3.setlabel("Pos Polisi") p3.setclick("1-Dialog PosPolisi") p3.setenabled(false) p4=m.new(3) p4.setlabel("Rumah Sakit") p4.setclick("1-Dialog RS") p4.setenabled(false) ' p2=m.new(4) 'p2.setlabel("Hidran") 'p2.setclick("1-Dialog Hidran") 'p2.setenabled(false) 'p3=m.new(5) 'p3.setlabel("Jalan") 'p3.setclick("1-Dialog Jalan")
'p3.setenabled(false) 'p4=m.new(6) 'p4.setlabel("Sungai") 'p4.setclick("1-Dialog Sungai") 'p4.setenabled(false) end if(mnView.getcontrols.get(6).getlabel.asstring<>"& Petunjuk")then m=mnView.new(5) m.setlabel("&Petunjuk") p1=m.new(0) p1.setlabel("Program Aplikasi") p1.setclick("program aplikasi") p1.setenabled(false) m.add(s,1) p2=m.new(2) p2.setlabel("Kontak Kami") p2.setclick("kontak kami") p2.setenabled(false) end '========= 'Menu Table '========= theTable = av.FindGUI("Table") mnTable=theTable.getmenubar if(mnTable.getcontrols.get(1).getlabel.asstring="& Menu Utama")then m1=mnTable M=mnTable.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnTable.getcontrols.get(1).getlabel.asstring="&I nformasi")then m1=mnTable M=mnTable.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnTable.getcontrols.get(1).getlabel.asstring="&P eta Tematik")then m1=mnTable M=mnTable.GETCONTROLS.GET(1) m1.REMOVE(M) end
if(mnTable.getcontrols.get(1).getlabel.asstring="&Pe nanganan Kebakaran")then m1=mnTable M=mnTable.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnTable.getcontrols.get(1).getlabel.asstring="&Pe meliharaan Data")then m1=mnTable M=mnTable.GETCONTROLS.GET(1) m1.REMOVE(M) end
if(mnTable.getcontrols.get(1).getlabel.asstring="&Pet unjuk")then m1=mnTable M=mnTable.GETCONTROLS.GET(1) m1.REMOVE(M) end s=space.make if(mnTable.getcontrols.get(1).getlabel.asstring<>"& Menu Utama")then m=mnTable.new(0) m.setlabel("&Menu Utama") 's=Space.New(0) p1=m.new(0) p1.setlabel("Seleksi Wilayah") p1.setclick("1-Seleksi Wilayah") p1.setenabled(false) p2=m.new(1) p2.setlabel("Tutup Modul Aktif") p2.setclick("1-Tutup") p2.setenabled(false)
p5.setclick("keluar aplikasi") p5.setenabled(false) end if(mnTable.getcontrols.get(2).getlabel.asstring<>"& Informasi")then m=mnTable.new(1) m.setlabel("&Informasi") p1=m.new(0) p1.setlabel("Daerah Penelitian") p1.setclick("1-daerah") p1.setenabled(false) m.add(s,1) p2=m.new(2) p2.setlabel("Profil Sudin Pemadam Kebakaran JAKTIM") p2.setclick("1-sudin") p2.setenabled(false) end if(mnTable.getcontrols.get(3).getlabel.asstring<>"& Peta Tematik")then m=mnTable.new(2) m.setlabel("&Peta Tematik") p1=m.new(0) p1.setlabel("Penyebaran Kejadian Kebakaran") p1.setclick("1-view LAP KEB") p1.setenabled(false) p2=m.new(1) p2.setlabel("Penyebaran Pos Penanganan Kebakaran") p2.setclick("1-ViewPos") p2.setenabled(false)
m.add(s,2) p3=m.new(3) p3.setlabel("Cetak") p3.setclick("Doc.Print") p3.setenabled(false)
p3=m.new(2) p3.setlabel("Peta Tematik Jakarta Timur") p3.setclick("1-ViewJaktimAdministrasi") p3.setenabled(false) end
p4=m.new(4) p4.setlabel("Setting Cetakkan") p4.setclick("project.printsetup") p4.setenabled(false)
if(mnTable.getcontrols.get(4).getlabel.asstring<>"& Penanganan Kebakaran")then m=mnTable.new(3) m.setlabel("&Penanganan Kebakaran")
m.add(s,5) p5=m.new(6) p5.setlabel("Keluar")
p1=m.new(0) p1.setlabel("Cari Lokasi Kebakaran") p1.setclick("1-ViewCariLokasi") p1.setenabled(false)
m.add(s,1) end if(mnTable.getcontrols.get(5).getlabel.asstring<>"&P emeliharaan Data")then m=mnTable.new(4) m.setlabel("&Pemeliharaan Data") p1=m.new(0) p1.setlabel("Kasus Kebakaran") p1.setclick("0--update data kebakaran utama") p1.setenabled(false) p2=m.new(1) p2.setlabel("Pos Pemadam Kebakaran") p2.setclick("1-Dialog PosPemadam") p2.setenabled(false) p3=m.new(2) p3.setlabel("Pos Polisi") p3.setclick("1-Dialog PosPolisi") p3.setenabled(false) p4=m.new(3) p4.setlabel("Rumah Sakit") p4.setclick("1-Dialog RumahSakit") p4.setenabled(false) p2=m.new(4) p2.setlabel("Hidran") p2.setclick("1-Dialog Hidran") p2.setenabled(false) 'p3=m.new(5) 'p3.setlabel("Jalan") 'p3.setclick("1-Dialog Jalan") 'p3.setenabled(false) 'p4=m.new(6) 'p4.setlabel("Sungai") 'p4.setclick("1-Dialog Sungai") 'p4.setenabled(false) end if(mnTable.getcontrols.get(6).getlabel.asstring<>"&P etunjuk")then m=mnTable.new(5) m.setlabel("&Petunjuk") p1=m.new(0) p1.setlabel("Program Aplikasi") p1.setclick("program aplikasi") p1.setenabled(false)
p2=m.new(2) p2.setlabel("Kontak Kami") p2.setclick("kontak kami") p2.setenabled(false) end
'========= 'Menu Chart '========= theChart=Av.FindGUI("Chart") mnChart=theChart.getmenubar if(mnChart.getcontrols.get(1).getlabel.asstring="& Menu Utama")then m1=mnChart M=mnChart.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnChart.getcontrols.get(1).getlabel.asstring="&I nformasi")then m1=mnChart M=mnChart.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnChart.getcontrols.get(1).getlabel.asstring="&P eta Tematik")then m1=mnChart M=mnChart.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnChart.getcontrols.get(1).getlabel.asstring="&P enanganan Kebakaran")then m1=mnChart M=mnChart.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnChart.getcontrols.get(1).getlabel.asstring="&P emeliharaan Data")then m1=mnChart M=mnChart.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnChart.getcontrols.get(1).getlabel.asstring="&P etunjuk")then m1=mnChart M=mnChart.GETCONTROLS.GET(1) m1.REMOVE(M)
end s=space.make if(mnChart.getcontrols.get(1).getlabel.asstring<>"&M enu Utama")then m=mnChart.new(0) m.setlabel("&Menu Utama") 's=Space.New(0) p1=m.new(0) p1.setlabel("Seleksi Wilayah") p1.setclick("1-Seleksi Wilayah") p1.setenabled(false) p2=m.new(1) p2.setlabel("Tutup Modul Aktif") p2.setclick("1-Tutup") p2.setenabled(false)
p2.setclick("1-sudin") p2.setenabled(false) end if(mnChart.getcontrols.get(3).getlabel.asstring<>"& Peta Tematik")then m=mnChart.new(2) m.setlabel("&Peta Tematik") p1=m.new(0) p1.setlabel("Penyebaran Kejadian Kebakaran") p1.setclick("1-view LAP KEB") p1.setenabled(false) p2=m.new(1) p2.setlabel("Penyebaran Pos Penanganan Kebakaran") p2.setclick("1-ViewPos") p2.setenabled(false)
m.add(s,2) p3=m.new(3) p3.setlabel("Cetak") p3.setclick("Doc.Print") p3.setenabled(false)
p3=m.new(2) p3.setlabel("Peta Tematik Jakarta Timur") p3.setclick("1-ViewJaktimAdministrasi") p3.setenabled(false) end
p4=m.new(4) p4.setlabel("Setting Cetakkan") p4.setclick("project.printsetup") p4.setenabled(false)
if(mnChart.getcontrols.get(4).getlabel.asstring<>"& Penanganan Kebakaran")then m=mnChart.new(3) m.setlabel("&Penanganan Kebakaran")
m.add(s,5) p5=m.new(6) p5.setlabel("Keluar") p5.setclick("keluar aplikasi") p5.setenabled(false)
p1=m.new(0) p1.setlabel("Cari Lokasi Kebakaran") p1.setclick("1-ViewCariLokasi") p1.setenabled(false) end
end if(mnChart.getcontrols.get(2).getlabel.asstring<>"&In formasi")then m=mnChart.new(1) m.setlabel("&Informasi") p1=m.new(0) p1.setlabel("Daerah Penelitian") p1.setclick("1-daerah") p1.setenabled(false) m.add(s,1) p2=m.new(2) p2.setlabel("Profil Sudin Pemadam Kebakaran JAKTIM")
if(mnChart.getcontrols.get(5).getlabel.asstring<>"& Pemeliharaan Data")then m=mnChart.new(4) m.setlabel("&Pemeliharaan Data") p1=m.new(0) p1.setlabel("Kasus Kebakaran") p1.setclick("0--update data kebakaran utama") p1.setenabled(false) p2=m.new(1) p2.setlabel("Pos Pemadam Kebakaran") p2.setclick("1-Dialog PosPemadam") p2.setenabled(false) p3=m.new(2)
p3.setlabel("Pos Polisi") p3.setclick("1-Dialog PosPolisi") p3.setenabled(false) p4=m.new(3) p4.setlabel("Rumah Sakit") p4.setclick("1-Dialog RS") p4.setenabled(false) p2=m.new(4) p2.setlabel("Hidran") p2.setclick("1-Dialog Hidran") p2.setenabled(false) 'p3=m.new(5) 'p3.setlabel("Jalan") 'p3.setclick("1-Dialog Jalan") 'p3.setenabled(false) 'p4=m.new(6) 'p4.setlabel("Sungai") 'p4.setclick("1-Dialog Sungai") 'p4.setenabled(false) end if(mnChart.getcontrols.get(6).getlabel.asstring<>"&P etunjuk")then m=mnChart.new(5) m.setlabel("&Petunjuk") p1=m.new(0) p1.setlabel("Program Aplikasi") p1.setclick("program aplikasi") p1.setenabled(false)
end if(mnLayout.getcontrols.get(1).getlabel.asstring="& Informasi")then m1=mnLayout M=mnLayout.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnLayout.getcontrols.get(1).getlabel.asstring="& Peta Tematik")then m1=mnLayout M=mnLayout.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnLayout.getcontrols.get(1).getlabel.asstring="& Penanganan Kebakaran")then m1=mnLayout M=mnLayout.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnLayout.getcontrols.get(1).getlabel.asstring="& Pemeliharaan Data")then m1=mnLayout M=mnLayout.GETCONTROLS.GET(1) m1.REMOVE(M) end if(mnLayout.getcontrols.get(1).getlabel.asstring="& Petunjuk")then m1=mnLayout M=mnLayout.GETCONTROLS.GET(1) m1.REMOVE(M) end
m.add(s,1) p2=m.new(2) p2.setlabel("Kontak Kami") p2.setclick("kontak kami") p2.setenabled(false) end '========== 'Menu Layout '========== theLayout=Av.FindGUI("Layout") mnLayout=theLayout.getmenubar if(mnLayout.getcontrols.get(1).getlabel.asstring="& Menu Utama")then m1=mnLayout M=mnLayout.GETCONTROLS.GET(1) m1.REMOVE(M)
s=space.make if(mnLayout.getcontrols.get(1).getlabel.asstring<>" &Menu Utama")then m=mnLayout.new(0) m.setlabel("&Menu Utama") 's=Space.New(0) p1=m.new(0) p1.setlabel("Seleksi Wilayah") p1.setclick("1-Seleksi Wilayah") p1.setenabled(false) p2=m.new(1) p2.setlabel("Tutup Modul Aktif") p2.setclick("1-Tutup") p2.setenabled(false) m.add(s,2)
p3=m.new(3) p3.setlabel("Cetak") p3.setclick("Doc.Print") p3.setenabled(false)
p3=m.new(2) p3.setlabel("Peta Tematik Jakarta Timur") p3.setclick("1-ViewJaktimAdministrasi") p3.setenabled(false) end
p4=m.new(4) p4.setlabel("Setting Cetakkan") p4.setclick("project.printsetup") p4.setenabled(false)
if(mnLayout.getcontrols.get(4).getlabel.asstring<>" &Penanganan Kebakaran")then m=mnLayout.new(3) m.setlabel("&Penanganan Kebakaran")
m.add(s,5) p5=m.new(6) p5.setlabel("Keluar") p5.setclick("keluar aplikasi") p5.setenabled(false) end if(mnLayout.getcontrols.get(2).getlabel.asstring<>"& Informasi")then m=mnLayout.new(1) m.setlabel("&Informasi") p1=m.new(0) p1.setlabel("Daerah Penelitian") p1.setclick("1-daerah") p1.setenabled(false) m.add(s,1) p2=m.new(2) p2.setlabel("Profil Sudin Pemadam Kebakaran JAKTIM") p2.setclick("1-sudin") p2.setenabled(false) end if(mnLayout.getcontrols.get(3).getlabel.asstring<>"& Peta Tematik")then m=mnLayout.new(2) m.setlabel("&Peta Tematik") p1=m.new(0) p1.setlabel("Penyebaran Kejadian Kebakaran") p1.setclick("1-view LAP KEB") p1.setenabled(false) p2=m.new(1) p2.setlabel("Penyebaran Pos Penanganan Kebakaran") p2.setclick("1-ViewPos") p2.setenabled(false)
p1=m.new(0) p1.setlabel("Cari Lokasi Kebakaran") p1.setclick("1-ViewCariLokasi") p1.setenabled(false) end if(mnLayout.getcontrols.get(5).getlabel.asstring<>" &Pemeliharaan Data")then m=mnLayout.new(4) m.setlabel("&Pemeliharaan Data") p1=m.new(0) p1.setlabel("Kasus Kebakaran") p1.setclick("0--update data kebakaran utama") p1.setenabled(false) p2=m.new(1) p2.setlabel("Pos Pemadam Kebakaran") p2.setclick("1-Dialog PosPemadam") p2.setenabled(false) p3=m.new(2) p3.setlabel("Pos Polisi") p3.setclick("1-Dialog PosPolisi") p3.setenabled(false) p4=m.new(3) p4.setlabel("Rumah Sakit") p4.setclick("1-Dialog RS") p4.setenabled(false) p2=m.new(4) p2.setlabel("Hidran") p2.setclick("1-Dialog Hidran") p2.setenabled(false) 'p3=m.new(5) 'p3.setlabel("Jalan") 'p3.setclick("1-Dialog Jalan") 'p3.setenabled(false) 'p4=m.new(6) 'p4.setlabel("Sungai")
'p4.setclick("1-Dialog Sungai") 'p4.setenabled(false) end if(mnLayout.getcontrols.get(6).getlabel.asstring<>"& Petunjuk")then m=mnLayout.new(5) m.setlabel("&Petunjuk") p1=m.new(0) p1.setlabel("Program Aplikasi") p1.setclick("program aplikasi") p1.setenabled(false)
'====================== 'Buttonbar dan toolbar Project '====================== theProject = av.FindGUI("Project") btn1=theProject.getbuttonbar.getcontrols.get(0) btn1.setenabled(true) btn2=theProject.getbuttonbar.getcontrols.get(1) btn2.setenabled(true) btn3=theProject.getbuttonbar.getcontrols.get(2) btn3.setenabled(true) btn4=theProject.getbuttonbar.getcontrols.get(3) btn4.setenabled(true) menu11=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(0) menu11.setenabled(false)
m.add(s,1) p2=m.new(2) p2.setlabel("Kontak Kami") p2.setclick("kontak kami") p2.setenabled(false) end '1-BUKA DIALOG LOGIN p = av.getproject.finddialog("Dialog Pembuka") p.open
menu12=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(1) menu12.setenabled(false) menu13=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(2) menu13.setenabled(true) menu14=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(3) menu14.setenabled(true) menu15=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(4) menu15.setenabled(true)
========================= D. Kontrol Password " LOGIN " ========================= prjk = av.getproject.finddialog("Dialog login") p = av.getproject
menu16=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(5) menu16.setenabled(true)
AV.GETPROJECT.FINDDOC("PETA POS PENANGANAN KEBAKARAN").GETWIN.OPEN 'AV.GETPROJECT.FINDDOC("Guest/User").invalid ate av.getproject.finddoc("Dialog login").getwin.close
menu21=theProject.getmenubar.getcontrols.get(2).g etcontrols.get(0) menu21.setenabled(true)
'1-MASUK COVER APLIKASI prjk=AV.GETPROJECT.FINDDIALOG("DIALOG LOGIN") prjk.CLOSE
menu23=theProject.getmenubar.getcontrols.get(2).g etcontrols.get(2) menu23.setenabled(true)
'_nama=prjk.findbyname("un").gettext pssw=prjk.findbyname("pssw").gettext '-------------------------------------------'KONTROL PASSWORD if(pssw="113")then msgbox.info("Selamat datang di Sistem Informasi Geografis Penanganan Kebakaran","") if(pssw="113")then
menu17=theProject.getmenubar.getcontrols.get(1).g etcontrols.get(6) menu17.setenabled(true)
menu22=theProject.getmenubar.getcontrols.get(2).g etcontrols.get(1) menu22.setenabled(true)
menu31=theProject.getmenubar.getcontrols.get(3).g etcontrols.get(0) menu31.setenabled(true) menu32=theProject.getmenubar.getcontrols.get(3).g etcontrols.get(1) menu32.setenabled(true) menu33=theProject.getmenubar.getcontrols.get(3).g etcontrols.get(2) menu33.setenabled(true) 'menu34=theProject.getmenubar.getcontrols.get(3). getcontrols.get(3) menu34.setenabled(true)
'menu35=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(4) menu35.setenabled(true) 'menu36=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(5) menu36.setenabled(true) menu41=theProject.getmenubar.getcontrols.get(4).get controls.get(0) menu41.setenabled(true) 'menu42=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(1) menu42.setenabled(true) 'menu43=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(2) menu43.setenabled(true) 'menu44=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(3) menu44.setenabled(true) menu51=theProject.getmenubar.getcontrols.get(5).get controls.get(0) menu51.setenabled(true) menu52=theProject.getmenubar.getcontrols.get(5).get controls.get(1) menu52.setenabled(true)
btn2=theView.getbuttonbar.getcontrols.get(1) btn2.setenabled(true) btn3=theView.getbuttonbar.getcontrols.get(2) btn3.setenabled(true) btn4=theView.getbuttonbar.getcontrols.get(3) btn4.setenabled(true) btn5=theView.getbuttonbar.getcontrols.get(4) btn5.setenabled(true) btn6=theView.getbuttonbar.getcontrols.get(5) btn6.setenabled(true) btn7=theView.getbuttonbar.getcontrols.get(6) btn7.setenabled(true) tb1=theView.gettoolbar.getcontrols.get(0) tb1.setenabled(true) tb2=theView.gettoolbar.getcontrols.get(1) tb2.setenabled(true) tb3=theView.gettoolbar.getcontrols.get(2) tb3.setenabled(true) tb4=theView.gettoolbar.getcontrols.get(3) tb4.setenabled(true) tb5=theView.gettoolbar.getcontrols.get(4) tb5.setenabled(true)
menu53=theProject.getmenubar.getcontrols.get(5).get controls.get(2) menu53.setenabled(true)
menu11=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(0) menu11.setenabled(true)
menu54=theProject.getmenubar.getcontrols.get(5).get controls.get(3) menu54.setenabled(true)
menu12=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(1) menu12.setenabled(true)
menu55=theProject.getmenubar.getcontrols.get(5).get controls.get(4) menu55.setenabled(true)
menu13=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(2) menu13.setenabled(true)
'menu56=theProject.getmenubar.getcontrols.get(5).ge tcontrols.get(5) menu56.setenabled(true)
menu14=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(3) menu14.setenabled(true)
'menu57=theProject.getmenubar.getcontrols.get(5).ge tcontrols.get(6) menu57.setenabled(true)
menu15=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(4) menu15.setenabled(true)
menu61=theProject.getmenubar.getcontrols.get(6).get controls.get(0) menu61.setenabled(true)
menu16=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(5) menu16.setenabled(true)
menu62=theProject.getmenubar.getcontrols.get(6).get controls.get(1) menu62.setenabled(true)
menu17=theView.getmenubar.getcontrols.get(1).ge tcontrols.get(6) menu17.setenabled(true)
menu63=theProject.getmenubar.getcontrols.get(6).get controls.get(2) menu63.setenabled(true)
menu21=theView.getmenubar.getcontrols.get(2).ge tcontrols.get(0) menu21.setenabled(true)
'==================== 'Buttonbar dan toolbar View '===================== theView = av.FindGUI("View") btn1=theView.getbuttonbar.getcontrols.get(0) btn1.setenabled(true)
menu22=theView.getmenubar.getcontrols.get(2).ge tcontrols.get(1) menu22.setenabled(true) menu23=theView.getmenubar.getcontrols.get(2).ge tcontrols.get(2) menu23.setenabled(true)
menu31=theView.getmenubar.getcontrols.get(3).getc ontrols.get(0) menu31.setenabled(true)
menu62=theView.getmenubar.getcontrols.get(6).ge tcontrols.get(1) menu62.setenabled(true)
menu32=theView.getmenubar.getcontrols.get(3).getc ontrols.get(1) menu32.setenabled(true)
menu63=theView.getmenubar.getcontrols.get(6).ge tcontrols.get(2) menu63.setenabled(true)
menu33=theView.getmenubar.getcontrols.get(3).getc ontrols.get(2) menu33.setenabled(true)
'===================== 'Buttonbar dan toolbar Table '===================== theTable = av.FindGUI("Table") btn1=theTable.getbuttonbar.getcontrols.get(0) btn1.setenabled(true) btn2=theTable.getbuttonbar.getcontrols.get(1) btn2.setenabled(true) btn3=theTable.getbuttonbar.getcontrols.get(2) btn3.setenabled(true) btn4=theTable.getbuttonbar.getcontrols.get(3) btn4.setenabled(true) btn5=theTable.getbuttonbar.getcontrols.get(4) btn5.setenabled(true) btn6=theTable.getbuttonbar.getcontrols.get(5) btn6.setenabled(true) btn7=theTable.getbuttonbar.getcontrols.get(6) btn7.setenabled(true) btn12=theTable.getbuttonbar.getcontrols.get(11) btn12.setenabled(true)
'menu34=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(3) menu34.setenabled(true) 'menu35=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(4) menu35.setenabled(true) 'menu36=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(5) menu36.setenabled(true) menu41=theView.getmenubar.getcontrols.get(4).getc ontrols.get(0) menu41.setenabled(true) 'menu42=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(1) menu42.setenabled(true) 'menu43=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(2) menu43.setenabled(true) 'menu44=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(3) menu44.setenabled(true) menu51=theView.getmenubar.getcontrols.get(5).getc ontrols.get(0) menu51.setenabled(true)
tb1=theTable.gettoolbar.getcontrols.get(0) tb1.setenabled(true) tb2=theTable.gettoolbar.getcontrols.get(1) tb2.setenabled(true) tb3=theTable.gettoolbar.getcontrols.get(2) tb3.setenabled(true)
menu52=theView.getmenubar.getcontrols.get(5).getc ontrols.get(1) menu52.setenabled(true) menu53=theView.getmenubar.getcontrols.get(5).getc ontrols.get(2) menu53.setenabled(true) menu54=theView.getmenubar.getcontrols.get(5).getc ontrols.get(3) menu54.setenabled(true) 'menu55=theView.getmenubar.getcontrols.get(5).getc ontrols.get(4) menu55.setenabled(true) 'menu56=theView.getmenubar.getcontrols.get(5).getc ontrols.get(5) menu56.setenabled(true) 'menu57=theView.getmenubar.getcontrols.get(5).getc ontrols.get(6) menu57.setenabled(true) menu61=theView.getmenubar.getcontrols.get(6).getc ontrols.get(0) menu61.setenabled(true)
menu11=theTable.getmenubar.getcontrols.get(1).ge tcontrols.get(0) menu11.setenabled(false) menu12=theTable.getmenubar.getcontrols.get(1).ge tcontrols.get(1) menu12.setenabled(false) menu13=theTable.getmenubar.getcontrols.get(1).ge tcontrols.get(2) menu13.setenabled(true) menu14=theTable.getmenubar.getcontrols.get(1).ge tcontrols.get(3) menu14.setenabled(true) menu15=theTable.getmenubar.getcontrols.get(1).ge tcontrols.get(4) menu15.setenabled(true) menu16=theTable.getmenubar.getcontrols.get(1).ge tcontrols.get(5) menu16.setenabled(true)
menu17=theTable.getmenubar.getcontrols.get(1).getc ontrols.get(6) menu17.setenabled(true)
menu55=theTable.getmenubar.getcontrols.get(5).ge tcontrols.get(4) menu55.setenabled(true)
menu21=theTable.getmenubar.getcontrols.get(2).getc ontrols.get(0) menu21.setenabled(true)
'menu56=theTable.getmenubar.getcontrols.get(5).g etcontrols.get(5) menu56.setenabled(true)
menu22=theTable.getmenubar.getcontrols.get(2).getc ontrols.get(1) menu22.setenabled(true)
'menu57=theTable.getmenubar.getcontrols.get(5).g etcontrols.get(6) menu57.setenabled(true)
menu23=theTable.getmenubar.getcontrols.get(2).getc ontrols.get(2) menu23.setenabled(true)
menu61=theTable.getmenubar.getcontrols.get(6).ge tcontrols.get(0) menu61.setenabled(true)
menu31=theTable.getmenubar.getcontrols.get(3).getc ontrols.get(0) menu31.setenabled(true)
menu62=theTable.getmenubar.getcontrols.get(6).ge tcontrols.get(1) menu62.setenabled(true)
menu32=theTable.getmenubar.getcontrols.get(3).getc ontrols.get(1) menu32.setenabled(true)
menu63=theTable.getmenubar.getcontrols.get(6).ge tcontrols.get(2) menu63.setenabled(true)
menu33=theTable.getmenubar.getcontrols.get(3).getc ontrols.get(2) menu33.setenabled(true)
'==================== 'Buttonbar dan toolbar Chart '==================== theChart = av.FindGUI("Chart") btn1=theChart.getbuttonbar.getcontrols.get(0) btn1.setenabled(true) btn2=theChart.getbuttonbar.getcontrols.get(1) btn2.setenabled(true) btn3=theChart.getbuttonbar.getcontrols.get(2) btn3.setenabled(true) btn4=theChart.getbuttonbar.getcontrols.get(3) btn4.setenabled(true) btn5=theChart.getbuttonbar.getcontrols.get(4) btn5.setenabled(true) btn6=theChart.getbuttonbar.getcontrols.get(5) btn6.setenabled(true) btn7=theChart.getbuttonbar.getcontrols.get(6) btn7.setenabled(true) btn8=theChart.getbuttonbar.getcontrols.get(7) btn8.setenabled(true)
'menu34=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(3) menu34.setenabled(true) 'menu35=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(4) menu35.setenabled(true) 'menu36=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(5) menu36.setenabled(true) menu41=theTable.getmenubar.getcontrols.get(4).getc ontrols.get(0) menu41.setenabled(true) 'menu42=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(1) menu42.setenabled(true) 'menu43=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(2) menu43.setenabled(true) 'menu44=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(3) menu44.setenabled(true) menu51=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(0) menu51.setenabled(true) menu52=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(1) menu52.setenabled(true) menu53=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(2) menu53.setenabled(true) menu54=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(3) menu54.setenabled(true)
tb1=theChart.gettoolbar.getcontrols.get(0) tb1.setenabled(true) tb2=theChart.gettoolbar.getcontrols.get(1) tb2.setenabled(true) tb3=theChart.gettoolbar.getcontrols.get(2) tb3.setenabled(true) tb4=theChart.gettoolbar.getcontrols.get(3) tb4.setenabled(true) 'tb5=theChart.gettoolbar.getcontrols.get(4) tb5.setenabled(true)
menu11=theChart.getmenubar.getcontrols.get(1).ge tcontrols.get(0) menu11.setenabled(false)
menu12=theChart.getmenubar.getcontrols.get(1).getc ontrols.get(1) menu12.setenabled(false)
'menu44=theProject.getmenubar.getcontrols.get(4). getcontrols.get(3) menu44.setenabled(true)
menu13=theChart.getmenubar.getcontrols.get(1).getc ontrols.get(2) menu13.setenabled(true)
menu51=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(0) menu51.setenabled(true)
menu14=theChart.getmenubar.getcontrols.get(1).getc ontrols.get(3) menu14.setenabled(true)
menu52=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(1) menu52.setenabled(true)
menu15=theChart.getmenubar.getcontrols.get(1).getc ontrols.get(4) menu15.setenabled(true)
menu53=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(2) menu53.setenabled(true)
menu16=theChart.getmenubar.getcontrols.get(1).getc ontrols.get(5) menu16.setenabled(true)
menu54=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(3) menu54.setenabled(true)
menu17=theChart.getmenubar.getcontrols.get(1).getc ontrols.get(6) menu17.setenabled(true)
menu55=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(4) menu55.setenabled(true)
menu21=theChart.getmenubar.getcontrols.get(2).getc ontrols.get(0) menu21.setenabled(true)
'menu56=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(5) menu56.setenabled(true)
menu22=theChart.getmenubar.getcontrols.get(2).getc ontrols.get(1) menu22.setenabled(true)
'menu57=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(6) menu57.setenabled(true)
menu23=theChart.getmenubar.getcontrols.get(2).getc ontrols.get(2) menu23.setenabled(true)
menu61=theChart.getmenubar.getcontrols.get(6).ge tcontrols.get(0) menu61.setenabled(true)
menu31=theChart.getmenubar.getcontrols.get(3).getc ontrols.get(0) menu31.setenabled(true)
menu62=theChart.getmenubar.getcontrols.get(6).ge tcontrols.get(1) menu62.setenabled(true)
menu32=theChart.getmenubar.getcontrols.get(3).getc ontrols.get(1) menu32.setenabled(true)
menu63=theChart.getmenubar.getcontrols.get(6).ge tcontrols.get(2) menu63.setenabled(true)
menu33=theChart.getmenubar.getcontrols.get(3).getc ontrols.get(2) menu33.setenabled(true)
'====================== 'Buttonbar dan toolbar Layout '====================== theLayout = av.FindGUI("Layout") btn1=theLayout.getbuttonbar.getcontrols.get(0) btn1.setenabled(true) btn2=theLayout.getbuttonbar.getcontrols.get(1) btn2.setenabled(true) btn3=theLayout.getbuttonbar.getcontrols.get(2) btn3.setenabled(true) btn4=theLayout.getbuttonbar.getcontrols.get(3) btn4.setenabled(true) btn5=theLayout.getbuttonbar.getcontrols.get(4) btn5.setenabled(true) btn6=theLayout.getbuttonbar.getcontrols.get(5) btn6.setenabled(true) btn7=theLayout.getbuttonbar.getcontrols.get(6) btn7.setenabled(true) btn8=theLayout.getbuttonbar.getcontrols.get(7) btn8.setenabled(true)
'menu34=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(3) menu34.setenabled(true) 'menu35=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(4) menu35.setenabled(true) 'menu36=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(5) menu36.setenabled(true) menu41=theChart.getmenubar.getcontrols.get(4).getc ontrols.get(0) menu41.setenabled(true) 'menu42=theChart.getmenubar.getcontrols.get(4).getc ontrols.get(1) menu42.setenabled(true) 'menu43=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(2) menu43.setenabled(true)
tb1=theLayout.gettoolbar.getcontrols.get(0) tb1.setenabled(true) tb2=theLayout.gettoolbar.getcontrols.get(1) tb2.setenabled(true) tb3=theLayout.gettoolbar.getcontrols.get(2) tb3.setenabled(true) tb4=theLayout.gettoolbar.getcontrols.get(3) tb4.setenabled(true) 'tb5=theLayout.gettoolbar.getcontrols.get(4) tb5.setenabled(true)
'menu35=theProject.getmenubar.getcontrols.get(3). getcontrols.get(4) menu35.setenabled(true) 'menu36=theProject.getmenubar.getcontrols.get(3). getcontrols.get(5) menu36.setenabled(true) menu41=theLayout.getmenubar.getcontrols.get(4).g etcontrols.get(0) menu41.setenabled(true) 'menu42=theProject.getmenubar.getcontrols.get(4). getcontrols.get(1) menu42.setenabled(true)
menu11=theLayout.getmenubar.getcontrols.get(1).get controls.get(0) menu11.setenabled(false) menu12=theLayout.getmenubar.getcontrols.get(1).get controls.get(1) menu12.setenabled(false) menu13=theLayout.getmenubar.getcontrols.get(1).get controls.get(2) menu13.setenabled(true) menu14=theLayout.getmenubar.getcontrols.get(1).get controls.get(3) menu14.setenabled(true) menu15=theLayout.getmenubar.getcontrols.get(1).get controls.get(4) menu15.setenabled(true) menu16=theLayout.getmenubar.getcontrols.get(1).get controls.get(5) menu16.setenabled(true) menu17=theLayout.getmenubar.getcontrols.get(1).get controls.get(6) menu17.setenabled(true) menu21=theLayout.getmenubar.getcontrols.get(2).get controls.get(0) menu21.setenabled(true) menu22=theLayout.getmenubar.getcontrols.get(2).get controls.get(1) menu22.setenabled(true) menu23=theLayout.getmenubar.getcontrols.get(2).get controls.get(2) menu23.setenabled(true) menu31=theLayout.getmenubar.getcontrols.get(3).get controls.get(0) menu31.setenabled(true) menu32=theLayout.getmenubar.getcontrols.get(3).get controls.get(1) menu32.setenabled(true) menu33=theLayout.getmenubar.getcontrols.get(3).get controls.get(2) menu33.setenabled(true) 'menu34=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(3) menu34.setenabled(true)
'menu43=theProject.getmenubar.getcontrols.get(4). getcontrols.get(2) menu43.setenabled(true) 'menu44=theProject.getmenubar.getcontrols.get(4). getcontrols.get(3) menu44.setenabled(true) menu51=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(0) menu51.setenabled(true) menu52=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(1) menu52.setenabled(true) menu53=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(2) menu53.setenabled(true) menu54=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(3) menu54.setenabled(true) menu55=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(4) menu55.setenabled(true) 'menu56=theLayout.getmenubar.getcontrols.get(5). getcontrols.get(5) menu56.setenabled(true) 'menu57=theLayout.getmenubar.getcontrols.get(5). getcontrols.get(6) menu57.setenabled(true) menu61=theLayout.getmenubar.getcontrols.get(6).g etcontrols.get(0) menu61.setenabled(true) menu62=theLayout.getmenubar.getcontrols.get(6).g etcontrols.get(1) menu62.setenabled(true) menu63=theLayout.getmenubar.getcontrols.get(6).g etcontrols.get(2) menu63.setenabled(true) else '====================== 'Buttonbar dan toolbar Project '======================
btn1=theProject.getbuttonbar.getcontrols.get(0) btn1.setenabled(false) btn2=theProject.getbuttonbar.getcontrols.get(1) btn2.setenabled(false) btn3=theProject.getbuttonbar.getcontrols.get(2) btn3.setenabled(false) btn4=theProject.getbuttonbar.getcontrols.get(3) btn4.setenabled(false)
menu53=theProject.getmenubar.getcontrols.get(5).g etcontrols.get(2) menu53.setenabled(false) menu54=theProject.getmenubar.getcontrols.get(5).g etcontrols.get(3) menu54.setenabled(false) menu55=theProject.getmenubar.getcontrols.get(5).g etcontrols.get(4) menu55.setenabled(false)
menu21=theProject.getmenubar.getcontrols.get(2).get controls.get(0) menu21.setenabled(false)
menu56=theProject.getmenubar.getcontrols.get(5).g etcontrols.get(5) menu56.setenabled(false)
menu22=theProject.getmenubar.getcontrols.get(2).get controls.get(1) menu22.setenabled(false)
menu57=theProject.getmenubar.getcontrols.get(5).g etcontrols.get(6) menu57.setenabled(false)
menu23=theProject.getmenubar.getcontrols.get(2).get controls.get(2) menu23.setenabled(false)
menu61=theProject.getmenubar.getcontrols.get(6).g etcontrols.get(0) menu61.setenabled(false)
menu31=theProject.getmenubar.getcontrols.get(3).get controls.get(0) menu31.setenabled(false)
menu62=theProject.getmenubar.getcontrols.get(6).g etcontrols.get(1) menu62.setenabled(false)
menu32=theProject.getmenubar.getcontrols.get(3).get controls.get(1) menu32.setenabled(false)
menu63=theProject.getmenubar.getcontrols.get(6).g etcontrols.get(2) menu63.setenabled(false)
menu33=theProject.getmenubar.getcontrols.get(3).get controls.get(2) menu33.setenabled(false)
'===================== 'Buttonbar dan toolbar View '===================== btn1=theView.getbuttonbar.getcontrols.get(0) btn1.setenabled(false) btn2=theView.getbuttonbar.getcontrols.get(1) btn2.setenabled(false) btn3=theView.getbuttonbar.getcontrols.get(2) btn3.setenabled(false) btn4=theView.getbuttonbar.getcontrols.get(3) btn4.setenabled(false) btn5=theView.getbuttonbar.getcontrols.get(4) btn5.setenabled(false) btn6=theView.getbuttonbar.getcontrols.get(5) btn6.setenabled(false)
'menu34=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(3) menu34.setenabled(false) 'menu35=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(4) menu35.setenabled(false) 'menu36=theProject.getmenubar.getcontrols.get(3).ge tcontrols.get(5) menu36.setenabled(false) menu41=theProject.getmenubar.getcontrols.get(4).get controls.get(0) menu41.setenabled(false) 'menu42=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(1) menu42.setenabled(false)
menu51=theProject.getmenubar.getcontrols.get(5).get controls.get(0) menu51.setenabled(false)
tb1=theView.gettoolbar.getcontrols.get(0) tb1.setenabled(false) tb2=theView.gettoolbar.getcontrols.get(1) tb2.setenabled(false) tb3=theView.gettoolbar.getcontrols.get(2) tb3.setenabled(false) tb4=theView.gettoolbar.getcontrols.get(3) tb4.setenabled(false) tb5=theView.gettoolbar.getcontrols.get(4) tb5.setenabled(false)
menu52=theProject.getmenubar.getcontrols.get(5).get controls.get(1) menu52.setenabled(false)
menu21=theView.getmenubar.getcontrols.get(2).ge tcontrols.get(0) menu21.setenabled(false)
'menu43=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(2) menu43.setenabled(false) 'menu44=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(3) menu44.setenabled(false)
menu22=theView.getmenubar.getcontrols.get(2).getc ontrols.get(1) menu22.setenabled(false) menu23=theView.getmenubar.getcontrols.get(2).getc ontrols.get(2) menu23.setenabled(false) menu31=theView.getmenubar.getcontrols.get(3).getc ontrols.get(0) menu31.setenabled(false) menu32=theView.getmenubar.getcontrols.get(3).getc ontrols.get(1) menu32.setenabled(false) menu33=theView.getmenubar.getcontrols.get(3).getc ontrols.get(2) menu33.setenabled(false) menu41=theView.getmenubar.getcontrols.get(4).getc ontrols.get(0) menu41.setenabled(false) menu51=theView.getmenubar.getcontrols.get(5).getc ontrols.get(0) menu51.setenabled(false) menu52=theView.getmenubar.getcontrols.get(5).getc ontrols.get(1) menu52.setenabled(false) menu53=theView.getmenubar.getcontrols.get(5).getc ontrols.get(2) menu53.setenabled(false) menu54=theView.getmenubar.getcontrols.get(5).getc ontrols.get(3) menu54.setenabled(false) menu55=theView.getmenubar.getcontrols.get(5).getc ontrols.get(4) menu55.setenabled(false) menu56=theView.getmenubar.getcontrols.get(5).getc ontrols.get(5) menu56.setenabled(false) menu57=theView.getmenubar.getcontrols.get(5).getc ontrols.get(6) menu57.setenabled(false) menu61=theView.getmenubar.getcontrols.get(6).getc ontrols.get(0) menu61.setenabled(false) menu62=theView.getmenubar.getcontrols.get(6).getc ontrols.get(1) menu62.setenabled(false) menu63=theView.getmenubar.getcontrols.get(6).getc ontrols.get(2) menu63.setenabled(false) '===================== 'Buttonbar dan toolbar Table '===================== btn1=theTable.getbuttonbar.getcontrols.get(0) btn1.setenabled(false)
btn2=theTable.getbuttonbar.getcontrols.get(1) btn2.setenabled(false) btn3=theTable.getbuttonbar.getcontrols.get(2) btn3.setenabled(false) btn4=theTable.getbuttonbar.getcontrols.get(3) btn4.setenabled(false) btn5=theTable.getbuttonbar.getcontrols.get(4) btn5.setenabled(false) btn6=theTable.getbuttonbar.getcontrols.get(5) btn6.setenabled(false) tb1=theTable.gettoolbar.getcontrols.get(0) tb1.setenabled(false) tb2=theTable.gettoolbar.getcontrols.get(1) tb2.setenabled(false) tb3=theTable.gettoolbar.getcontrols.get(2) tb3.setenabled(false) menu21=theTable.getmenubar.getcontrols.get(2).ge tcontrols.get(0) menu21.setenabled(false) menu22=theTable.getmenubar.getcontrols.get(2).ge tcontrols.get(1) menu22.setenabled(false) menu23=theTable.getmenubar.getcontrols.get(2).ge tcontrols.get(2) menu23.setenabled(false) menu31=theTable.getmenubar.getcontrols.get(3).ge tcontrols.get(0) menu31.setenabled(false) menu32=theTable.getmenubar.getcontrols.get(3).ge tcontrols.get(1) menu32.setenabled(false) menu33=theTable.getmenubar.getcontrols.get(3).ge tcontrols.get(2) menu33.setenabled(false) 'menu34=theProject.getmenubar.getcontrols.get(3). getcontrols.get(3) menu34.setenabled(false) 'menu35=theProject.getmenubar.getcontrols.get(3). getcontrols.get(4) menu35.setenabled(false) 'menu36=theProject.getmenubar.getcontrols.get(3). getcontrols.get(5) menu36.setenabled(false) menu41=theTable.getmenubar.getcontrols.get(4).ge tcontrols.get(0) menu41.setenabled(false) 'menu42=theProject.getmenubar.getcontrols.get(4). getcontrols.get(1) menu42.setenabled(false) 'menu43=theProject.getmenubar.getcontrols.get(4). getcontrols.get(2) menu43.setenabled(false)
'menu44=theProject.getmenubar.getcontrols.get(4).ge tcontrols.get(3) menu44.setenabled(false) menu51=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(0) menu51.setenabled(false) menu52=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(1) menu52.setenabled(false) menu53=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(2) menu53.setenabled(false) menu54=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(3) menu54.setenabled(false) menu55=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(4) menu55.setenabled(false) menu56=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(5) menu56.setenabled(false) menu57=theTable.getmenubar.getcontrols.get(5).getc ontrols.get(6) menu57.setenabled(false) menu61=theTable.getmenubar.getcontrols.get(6).getc ontrols.get(0) menu61.setenabled(false) menu62=theTable.getmenubar.getcontrols.get(6).getc ontrols.get(1) menu62.setenabled(false) menu63=theTable.getmenubar.getcontrols.get(6).getc ontrols.get(2) menu63.setenabled(false) '==================== 'Buttonbar dan toolbar Chart '==================== btn1=theChart.getbuttonbar.getcontrols.get(0) btn1.setenabled(false) btn2=theChart.getbuttonbar.getcontrols.get(1) btn2.setenabled(false) btn3=theChart.getbuttonbar.getcontrols.get(2) btn3.setenabled(false) btn4=theChart.getbuttonbar.getcontrols.get(3) btn4.setenabled(false) btn5=theChart.getbuttonbar.getcontrols.get(4) btn5.setenabled(false) btn6=theChart.getbuttonbar.getcontrols.get(5) btn6.setenabled(false) btn7=theChart.getbuttonbar.getcontrols.get(6) btn7.setenabled(false) btn8=theChart.getbuttonbar.getcontrols.get(7) btn8.setenabled(false)
tb1=theChart.gettoolbar.getcontrols.get(0) tb1.setenabled(false) tb2=theChart.gettoolbar.getcontrols.get(1) tb2.setenabled(false) tb3=theChart.gettoolbar.getcontrols.get(2) tb3.setenabled(false) tb4=theChart.gettoolbar.getcontrols.get(3) tb4.setenabled(false) 'tb5=theChart.gettoolbar.getcontrols.get(4) tb5.setenabled(false) menu21=theChart.getmenubar.getcontrols.get(2).ge tcontrols.get(0) menu21.setenabled(false) menu22=theChart.getmenubar.getcontrols.get(2).ge tcontrols.get(1) menu22.setenabled(false) menu23=theChart.getmenubar.getcontrols.get(2).ge tcontrols.get(2) menu23.setenabled(false) menu31=theChart.getmenubar.getcontrols.get(3).ge tcontrols.get(0) menu31.setenabled(false) menu32=theChart.getmenubar.getcontrols.get(3).ge tcontrols.get(1) menu32.setenabled(false) menu33=theChart.getmenubar.getcontrols.get(3).ge tcontrols.get(2) menu33.setenabled(false) 'menu34=theChart.getmenubar.getcontrols.get(3).ge tcontrols.get(3) menu34.setenabled(false) 'menu35=theChart.getmenubar.getcontrols.get(3).ge tcontrols.get(4) menu35.setenabled(false) 'menu36=theChart.getmenubar.getcontrols.get(3).ge tcontrols.get(5) menu36.setenabled(false) menu41=theChart.getmenubar.getcontrols.get(4).ge tcontrols.get(0) menu41.setenabled(false) 'menu42=theProject.getmenubar.getcontrols.get(4). getcontrols.get(1) menu42.setenabled(false) 'menu43=theProject.getmenubar.getcontrols.get(4). getcontrols.get(2) menu43.setenabled(false) 'menu44=theProject.getmenubar.getcontrols.get(4). getcontrols.get(3) menu44.setenabled(false) menu51=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(0) menu51.setenabled(false) menu52=theChart.getmenubar.getcontrols.get(5).ge tcontrols.get(1) menu52.setenabled(false)
menu53=theChart.getmenubar.getcontrols.get(5).getc ontrols.get(2) menu53.setenabled(false) menu54=theChart.getmenubar.getcontrols.get(5).getc ontrols.get(3) menu54.setenabled(false) menu55=theChart.getmenubar.getcontrols.get(5).getc ontrols.get(4) menu55.setenabled(false) menu56=theChart.getmenubar.getcontrols.get(5).getc ontrols.get(5) menu56.setenabled(false) menu57=theChart.getmenubar.getcontrols.get(5).getc ontrols.get(6) menu57.setenabled(false)
'tb5=theLayout.gettoolbar.getcontrols.get(4) tb5.setenabled(false) menu21=theLayout.getmenubar.getcontrols.get(2).g etcontrols.get(0) menu21.setenabled(false) menu22=theLayout.getmenubar.getcontrols.get(2).g etcontrols.get(1) menu22.setenabled(false) menu23=theLayout.getmenubar.getcontrols.get(2).g etcontrols.get(2) menu23.setenabled(false) menu31=theLayout.getmenubar.getcontrols.get(3).g etcontrols.get(0) menu31.setenabled(false) menu32=theLayout.getmenubar.getcontrols.get(3).g etcontrols.get(1) menu32.setenabled(false)
menu61=theChart.getmenubar.getcontrols.get(6).getc ontrols.get(0) menu61.setenabled(false) menu62=theChart.getmenubar.getcontrols.get(6).getc ontrols.get(1) menu62.setenabled(false) menu63=theChart.getmenubar.getcontrols.get(6).getc ontrols.get(2) menu63.setenabled(false) '====================== 'Buttonbar dan toolbar Layout '====================== theLayout = av.FindGUI("Layout") btn1=theLayout.getbuttonbar.getcontrols.get(0) btn1.setenabled(false) btn2=theLayout.getbuttonbar.getcontrols.get(1) btn2.setenabled(false) btn3=theLayout.getbuttonbar.getcontrols.get(2) btn3.setenabled(false) btn4=theLayout.getbuttonbar.getcontrols.get(3) btn4.setenabled(false) btn5=theLayout.getbuttonbar.getcontrols.get(4) btn5.setenabled(false) btn6=theLayout.getbuttonbar.getcontrols.get(5) btn6.setenabled(false) btn7=theLayout.getbuttonbar.getcontrols.get(6) btn7.setenabled(false) btn8=theLayout.getbuttonbar.getcontrols.get(7) btn8.setenabled(false) tb1=theLayout.gettoolbar.getcontrols.get(0) tb1.setenabled(false) tb2=theLayout.gettoolbar.getcontrols.get(1) tb2.setenabled(false) tb3=theLayout.gettoolbar.getcontrols.get(2) tb3.setenabled(false) tb4=theLayout.gettoolbar.getcontrols.get(3) tb4.setenabled(false)
menu33=theLayout.getmenubar.getcontrols.get(3).g etcontrols.get(2) menu33.setenabled(false) 'menu34=theProject.getmenubar.getcontrols.get(3). getcontrols.get(3) menu34.setenabled(false) 'menu35=theProject.getmenubar.getcontrols.get(3). getcontrols.get(4) menu35.setenabled(false) 'menu36=theProject.getmenubar.getcontrols.get(3). getcontrols.get(5) menu36.setenabled(false) menu41=theLayout.getmenubar.getcontrols.get(4).g etcontrols.get(0) menu41.setenabled(false) 'menu42=theProject.getmenubar.getcontrols.get(4). getcontrols.get(1) menu42.setenabled(false) 'menu43=theProject.getmenubar.getcontrols.get(4). getcontrols.get(2) menu43.setenabled(false) 'menu44=theProject.getmenubar.getcontrols.get(4). getcontrols.get(3) menu44.setenabled(false) menu51=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(0) menu51.setenabled(false) menu52=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(1) menu52.setenabled(false) menu53=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(2) menu53.setenabled(false) menu54=theLayout.getmenubar.getcontrols.get(5).g etcontrols.get(3) menu54.setenabled(false)
menu55=theLayout.getmenubar.getcontrols.get(5).get controls.get(4) menu55.setenabled(false) menu56=theLayout.getmenubar.getcontrols.get(5).get controls.get(5) menu56.setenabled(false) menu57=theLayout.getmenubar.getcontrols.get(5).get controls.get(6) menu57.setenabled(false) menu61=theLayout.getmenubar.getcontrols.get(6).get controls.get(0) menu61.setenabled(false) menu62=theLayout.getmenubar.getcontrols.get(6).get controls.get(1) menu62.setenabled(false) menu63=theLayout.getmenubar.getcontrols.get(6).get controls.get(2) menu63.setenabled(false) end else msgbox.info("Maaf Password Anda Tidak Dapat Diterima atau Anda Salah Memasukan Password","") av.run("1-Start",{}) end 'KONTROL AUTHENTIFIKASI 'if(prjk.findbyname("op").isselected)then ' level=1 ' _level=1 ' if(pssw="113")then ' p = av.getproject.finddoc("Administrator Sistem").getwin.open ' av.SetCustomizable(true) ' else ' msgbox.info("Maaf...! Anda tidak berhak masuk tingkat Administrator Komputer!","") ' av.quit ' end 'else ' level=2 ' _level=2 ' p=av.getproject.finddoc("Guest/User") ' av.SetCustomizable(false) 'end =============== E. Menu Utama =============== =============== 1. Seleksi Wilayah =============== Dial=Av.GetProject.FindDialog("Dialog Seleksi Wilayah")
Listb=Dial.FindByName("lb") theThemeName = "Batas_Kelurahan.shp" theFieldName = "Nama_kelur" ' Get view and display theView = av.GetActiveDoc ThemeBaru=theView.FindTheme("Batas_Keluraha n.shp") if(ThemeBaru.IsVisible.Not)then ThemeBaru.SetVisible(True) ThemeBaru.SetActive(True) end theDisplay = theView.GetDisplay theFTab = ThemeBaru.GetFTab theField = theFTab.FindField(theFieldName) if (theField = NIL) then MsgBox.Error(theFieldName++"is not a field","") return NIL end ' Make list of field values theUniqueList = List.Make for each rec in theFtab theUniqueList.Add(theFTab.ReturnValueString(the Field, rec)) end ' Remove duplicates, sort list, and remove blank (null) element in list if (theUniqueList.Count > 0) then theUniqueList.RemoveDuplicates theUniqueList.Sort(true) if (theUniqueList.Get(0).isNull) then theUniqueList.Remove(0) end else MsgBox.Error("There are no values in field to choose from","") return NIL end ' Open MsgBox to choose value 'theMessage = "Choose"++theFieldName.Proper 'theTitle = "Find"++theThemeName.Proper theValue = Listb.GetCurrentValue Listb.DefineFromList(theUniqueList) if (Listb= NIl) then return NIL end if (theField.IsTypeString) then theQuery = "(["++theFieldName++"] = "++theValue.quote++")" else theQuery = "(["++theFieldName++"] = "++theValue++")" end
' Make bitmap and perform query selection theBitmap = theFTab.GetSelection theFTab.Query(theQuery, theBitmap, #VTAB_SELTYPE_NEW) theFTab.SetSelection(theBitmap) theFTab.UpdateSelection ' Get selected extent and set it to display if (theFTab.GetNumSelRecords > 0) then r = ThemeBaru.GetSelectedExtent theDisplay.SetExtent (r.Scale(1.3)) end Dial.open ================= 2. Tutup Modul Aktif ================= theView=Av.GetActiveDoc theView.GetWin.Close
=============== 3. Keluar Aplikasi =============== keputusan = msgbox.yesno("Apakah Anda Ingin Keluar Dari Aplikasi SIGK","Keluar Program",True) If(Keputusan=True)Then Av.Quit end ========== F. Informasi ========== ====================== 1. Informasi " Profil Sudin" ====================== 'MENGAKTIFKAN DDE CLIENT objNamaAplikasi="ArcView-Client,Ms.WordServer" 'Av.SetName(objNamaAplikasi) objNamaFileAplikasiMsWord="G:\Program Files\Microsoft Office\OFFICE11\WINWORD.Exe" objNamaFileDoc="C:\SIGK\informasi\PROFIL SUKU DINAS PEMADAM KEBAKARAN.doc" objParameter=objNamaFileAplikasiMsWord objNamaServer="WinWord" objNamaTopik="System" objClient=DDEClient.Make(objNamaServer,objNam aTopik) if(obJClient.HasError)Then System.Execute(objParameter) objClient=DDEClient.Make(objNamaServer,objNam aTopik)
end objScript="[FileOpen.Name:="""+objNamaFileDoc +"""]" objClient.Execute(objScript) objClient.Close ========================= 2. Informasi " Daerah Penelitian" ========================= 'MENGAKTIFKAN DDE CLIENT objNamaAplikasi="ArcView-Client,Ms.WordServer" 'Av.SetName(objNamaAplikasi) objNamaFileAplikasiMsWord="G:\Program Files\Microsoft Office\OFFICE11\WINWORD.Exe" objNamaFileDoc="C:\SIGK\informasi\profil daerah penelitian.doc" objParameter=objNamaFileAplikasiMsWord objNamaServer="WinWord" objNamaTopik="System" objClient=DDEClient.Make(objNamaServer,objNa maTopik) if(obJClient.HasError)Then System.Execute(objParameter) objClient=DDEClient.Make(objNamaServer,objNa maTopik) end objScript="[FileOpen.Name:="""+objNamaFileDoc +"""]" objClient.Execute(objScript) objClient.Close
============= J. Peta Tematik ============= =================================== 1. Peta Tematik " Penyebaran Pos Penanganan Kebakaran" =================================== theView = av.GetActiveDoc 'theView.GetWin.Close objProject=Av.GetProject objNamaView="PETA POS PENANGANAN KEBAKARAN" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open theThemes = theView.GetActiveThemes r = Rect.MakeEmpty for each t in theThemes r = r.UnionWith(t.ReturnExtent)
end if (r.IsEmpty) then return nil elseif ( r.ReturnSize = (0@0) ) then theView.GetDisplay.PanTo(r.ReturnOrigin) else theView.GetDisplay.SetExtent(r.Scale(1.1)) end myProject = av.GetProject theView = av.GetActiveDoc theGraphics = theView.GetGraphics if (theGraphics.Count = 0) then exit end for each g in theGraphics if (g.GetObjectTag.AsString="Cari") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="cetak") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="tutup") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="Grafik") then theGraphics.RemoveGraphic(g) break end end ' place label buttons on view theView.GetWin.Invalidate vRect = theView.GetDisplay.ReturnVisExtent theDisplay = theView.GetDisplay aWidth = theDisplay.ReturnExtent.GetWidth aHeight = theDisplay.ReturnExtent.GetHeight theOrigin = theDisplay.ReturnVisExtent.ReturnOrigin ' factor for spacing buttons xfac = aWidth/26500 yfac = aHeight/355
' ensure button widths are properly sized butWidth = aWidth * 0.20 butHeight = aWidth * 0.03 ' make label button and set script & label lblSoil = LabelButton.Make lblSoil.SetClick("View.ShowTable") lblSoil.SetLabel("Buka Tabel") lblSoil.SetObjectTag("Cari") xFac1 = xFac*1500 ' bwat geser ke samping kiri tombol buka tabel dan layout xFac2 = xFac*6750 ' bwat geser ke samping kiri tombol grafik dan tutup cari = yFac*40 ' Size control to 20% by 7% of display width newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY +cari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblSoil, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cari") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONT ROL_CONSTRAINT_NONE) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-buat layout") lblZoning.SetLabel("Layout") 'lblHydro.SetObjectTag("Cetak") ' Size control to 20% by 7% of display width cetak = yfac*15 '3800 newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY +cetak) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cetak") theGraphics.AddName(aGraphicControl) 'this also sets name of control
aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-Tutup") lblZoning.SetLabel("Tutup") 'lblHydro.SetObjectTag("tutup") ' Size control to 20% by 7% of display width tutup = yFac*5 '3800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY+c etak ) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("tutup") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true) ================================== 3. Peta Tematik " Peta Administrasi JakTim" ================================== theView = av.GetActiveDoc 'theView.GetWin.Close objProject=Av.GetProject objNamaView="PETA ADMINISTRASI JAKARTA TIMUR" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open theThemes = theView.GetActiveThemes r = Rect.MakeEmpty for each t in theThemes r = r.UnionWith(t.ReturnExtent) end if (r.IsEmpty) then return nil elseif ( r.ReturnSize = (0@0) ) then theView.GetDisplay.PanTo(r.ReturnOrigin) else theView.GetDisplay.SetExtent(r.Scale(1.1)) end
myProject = av.GetProject theView = av.GetActiveDoc theGraphics = theView.GetGraphics if (theGraphics.Count = 0) then exit end for each g in theGraphics if (g.GetObjectTag.AsString="cetak") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="tutup") then theGraphics.RemoveGraphic(g) break end end ' place label buttons on view theView.GetWin.Invalidate vRect = theView.GetDisplay.ReturnVisExtent theDisplay = theView.GetDisplay aWidth = theDisplay.ReturnExtent.GetWidth aHeight = theDisplay.ReturnExtent.GetHeight theOrigin = theDisplay.ReturnVisExtent.ReturnOrigin ' factor for spacing buttons xfac = aWidth/26500 yfac = aHeight/355 ' ensure button widths are properly sized butWidth = aWidth * 0.20 butHeight = aWidth * 0.03 xFac1 = xFac*1000 ' bwat geser ke samping kiri tombol buka tabel dan layout xFac2 = xFac*6750 ' bwat geser ke samping kiri tombol grafik dan tutup cari = yFac*40 ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-buat layout") lblZoning.SetLabel("Layout") 'lblHydro.SetObjectTag("Cetak") ' Size control to 20% by 7% of display width cetak = yfac*15 '3800 newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY +cetak)
aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cetak") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-Tutup") lblZoning.SetLabel("Tutup") 'lblHydro.SetObjectTag("tutup") ' Size control to 20% by 7% of display width tutup = yFac*5 '3800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY+c etak ) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("tutup") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true) =============================== K. Penanganan Kebakaran / Cari Lokasi Kebakaran "1-View Cari Lokasi" =============================== theView = av.GetActiveDoc 'theView.GetWin.Close objProject=Av.GetProject objNamaView="PETA POS PENANGANAN KEBAKARAN" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open theThemes = theView.GetActiveThemes r = Rect.MakeEmpty
for each t in theThemes r = r.UnionWith(t.ReturnExtent) end if (r.IsEmpty) then return nil elseif ( r.ReturnSize = (0@0) ) then theView.GetDisplay.PanTo(r.ReturnOrigin) else theView.GetDisplay.SetExtent(r.Scale(1.1)) end myProject = av.GetProject theView = av.GetActiveDoc theGraphics = theView.GetGraphics if (theGraphics.Count = 0) then exit end for each g in theGraphics if (g.GetObjectTag.AsString="Cari") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="Cetak") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="tutup") then theGraphics.RemoveGraphic(g) break end end ' place label buttons on view theView.GetWin.Invalidate vRect = theView.GetDisplay.ReturnVisExtent theDisplay = theView.GetDisplay aWidth = theDisplay.ReturnExtent.GetWidth aHeight = theDisplay.ReturnExtent.GetHeight theOrigin = theDisplay.ReturnVisExtent.ReturnOrigin ' factor for spacing buttons xfac = aWidth/89500 yfac = aHeight/355 ' ensure button widths are properly sized butWidth = aWidth * 0.25 butHeight = aWidth * 0.03
' make label button and set script & label lblSoil = LabelButton.Make lblSoil.SetClick("cari jalan") lblSoil.SetLabel("Cari Lokasi Kebakaran") lblSoil.SetObjectTag("Cari") xFac1 = xFac*1000 ' bwat geser ke samping kiri tombol buka tabel dan layout xFac2 = xFac*21750 ' bwat geser ke samping kiri tombol grafik dan tutup cari = yFac*40 ' Size control to 20% by 7% of display width newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY+c ari) aSize = (butWidth*1.8)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblSoil, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cari") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-layout laporan keb") lblZoning.SetLabel("Cetak") 'lblHydro.SetObjectTag("Cetak") ' Size control to 20% by 7% of display width cetak = yfac*15 '3800 newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY+c etak) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cetak") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true)
=========== 1. Cari jalan =========== Dial=Av.GetProject.FindDialog("Dialog Data Kebakaran") Listb=Dial.FindByName("jalan") theThemeName = "Jaringan_jalan.shp" theFieldName = "Nama_jalan" kel = dial.findbyname("kel") code_kel = dial.findbyname("code_kel") jln = dial.findbyname("jln") tabel=av.GetProject.FindDoc("3. Jaringan_jalan.shp") tbl=tabel.getvtab theBitmap=tbl.getselection theFieldName1 = "Id_Jalan" fjalan=tbl.findfield("Nama_jalan") tabel1=av.GetProject.FindDoc("BATAS KELURAHAN") tbl1=tabel1.getvtab theBitmap1=tbl1.getselection theFieldName2 = "Id_kel" fkel=tbl1.findfield("Nama_kelur") fkel1=tbl1.findfield("Id_kel") ' Get view and display theView = av.GetActiveDoc ThemeBaru=theView.FindTheme("Jaringan_jalan.s hp") if(ThemeBaru.IsVisible.Not)then ThemeBaru.SetVisible(True) ThemeBaru.SetActive(True) end theDisplay = theView.GetDisplay theFTab = ThemeBaru.GetFTab theField = theFTab.FindField(theFieldName) if (theField = NIL) then MsgBox.Error(theFieldName++"is not a field","") return NIL end ' Make list of field values theUniqueList = List.Make for each rec in theFtab theUniqueList.Add(theFTab.ReturnValueString(the Field, rec)) end ' Remove duplicates, sort list, and remove blank (null) element in list if (theUniqueList.Count > 0) then theUniqueList.RemoveDuplicates theUniqueList.Sort(true)
if (theUniqueList.Get(0).isNull) then theUniqueList.Remove(0) end else MsgBox.Error("There are no values in field to choose from","") return NIL end ' Open MsgBox to choose value 'theMessage = "Choose"++theFieldName.Proper 'theTitle = "Find"++theThemeName.Proper theValue = Listb.GetCurrentValue.asString Listb.DefineFromList(theUniqueList) if (Listb= NIl) then return NIL end Dial.open ================= L. Pemeliharaan data ================= ================================ 1. Pemeliharaan data "Kasus Kebakaran" ================================ p = av.getproject.finddialog("Dialog Data kebakaran Utama") p.open ========================== 1.1 "0-Data Kebakaran Utama entri" ========================== dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") tgl = dial.findbyname("date") jalan = dial.findbyname("jalan") kel = dial.findbyname("kel") pelapor = dial.findbyname("pelapor") alamat = dial.findbyname("alamat") status = dial.findbyname("status") waktu = dial.findbyname("waktu") jenis = dial.findbyname("jenis") penyebab = dial.findbyname("penyebab") taksiran = dial.findbyname("taksiran") mati = dial.findbyname("mati") luka = dial.findbyname("luka") code_kel = dial.findbyname("code_kel") bulan = dial.findbyname("bulan") tabel=av.getproject.finddoc("TABEL DATA KEBAKARAN") tabel1=av.getproject.FindDoc("TABEL KEJADIAN KEBAKARAN KELURAHAN") tbl=tabel.getvtab
tbl1=tabel1.getvtab theBitmap=tbl.getselection theBitmap1=tbl1.getselection ADA=FALSE theFieldName = "Id_kel" fidkel=tbl.findfield(theFieldName) fid_keb = tbl.findfield("id_keb") fdate = tbl.findfield("tgl_keb") fjalan = tbl.findfield("Nm_jln") fkel = tbl.findfield("Nm_kel") fpelapor = tbl.findfield("Nm_Pelapor") falamat = tbl.findfield("almt_Pelapor") fstatus = tbl.findfield("Status_keb") fwaktu = tbl.findfield("waktu_keb") fjenis = tbl.findfield("Bnd_tbkar") fpenyebab = tbl.findfield("sebab_keb") ftaksiran = tbl.findfield("taksiran") fmati = tbl.findfield("meninggal") fluka = tbl.findfield("luka") fcode_kel = tbl.findfield("Id_kel") fbulan = tbl.findfield("bulan") fid_jml_keb = tbl1.findfield("id_jml_keb") flistrik = tbl1.findfield("listrik") expresi = "[id_keb] ="+id_keb.gettext.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true iid_keb = tbl.returnvalue(fid_keb,rec) idate = tbl.returnvalue(fdate,rec) ijalan = tbl.returnvalue(fjalan,rec) ikel = tbl.returnvalue(fkel,rec) ipelapor = tbl.returnvalue(fpelapor,rec) ialamat = tbl.returnvalue(falamat,rec) istatus = tbl.returnvalue(fstatus,rec) iwaktu = tbl.returnvalue(fwaktu,rec) ijenis = tbl.returnvalue(fjenis,rec) ipenyebab = tbl.returnvalue(fpenyebab,rec) itaksiran = tbl.returnvalue(ftaksiran,rec) imati = tbl.returnvalue(fmati,rec) iluka = tbl.returnvalue(fluka,rec) icode_kel = tbl.returnvalue(fcode_kel,rec) ibulan = tbl.returnvalue(fbulan,rec) theUniqueList = List.Make theUniqueList2 = List.Make theUniqueList3 = List.Make theUniquelist4 = List.Make theUniqueList.Add(tbl.ReturnValueString(fwaktu, rec))
theUniqueList2.Add(tbl.ReturnValueString(fjenis, rec)) theUniqueList3.Add(tbl.ReturnValueString(fpenyeba b, rec)) theUniquelist4.Add(tbl.ReturnValueString(fbulan,rec) ) theValue = waktu.GetSelection.asString waktu.DefineFromList(theUniqueList) jenis.DefineFromList(theUniqueList2) penyebab.DefineFromList(theUniqueList3) bulan.DefineFromList(theUniqueList4) end if ( ada = true ) then tgl.settext(idate.Asstring) jalan.settext(ijalan) kel.settext(ikel) pelapor.settext(ipelapor) alamat.settext(ialamat) status.settext(istatus) taksiran.settext(itaksiran) mati.settext(imati) luka.settext(iluka) code_kel.settext(icode_kel.AsString) if(waktu.getselection="") then waktu.definefromlist({"--Pilih-","Pagi","Siang","Sore"}) if(jenis.getselection="") then jenis.definefromlist({"--Pilih--","Bangunan Perumahan","Bangunan Umum","Bangunan Industri","Kendaraan","Lain-Lain"}) end if(penyebab.getselection="") then penyebab.definefromlist({"--Pilih-","Kompor","Lampu","Listrik","Rokok","LainLain"}) end elseif(bulan.getselection="") then bulan.definefromlist({"--Pilih--","JANUARI (1)","FEBRUARI (2)","MARET (3)","APRIL (4)","MEI (5)","JUNI (6)","JULI (7)","AGUSTUS (8)","SEPTEMBER (9)","OKTOBER (10)","NOVEMBER (11)","DESEMBER (12)"}) end else tgl.settext("") jalan.settext("")
kel.settext("") pelapor.settext("") alamat.settext("") status.settext("") taksiran.settext("") mati.settext("") luka.settext("") code_kel.settext("") waktu.definefromlist({"--Pilih-","Pagi","Siang","Sore"}) jenis.definefromlist({"--Pilih--","Bangunan Perumahan","Bangunan Umum","Bangunan Industri","Kendaraan","Lain-Lain"}) penyebab.definefromlist({"--Pilih-","Kompor","Lampu","Listrik","Rokok","LainLain"}) bulan.definefromlist({"--Pilih--","JANUARI (1)","FEBRUARI (2)","MARET (3)","APRIL (4)","MEI (5)","JUNI (6)","JULI (7)","AGUSTUS (8)","SEPTEMBER (9)","OKTOBER (10)","NOVEMBER (11)","DESEMBER (12)"}) end dial.open 'end ================================= 1.2 "0-Data Kebakaran Utama simpan entri" ================================= dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") tgl = dial.findbyname("date") jalan = dial.findbyname("jalan") kel = dial.findbyname("kel") pelapor = dial.findbyname("pelapor") alamat = dial.findbyname("alamat") status = dial.findbyname("status") waktu = dial.findbyname("waktu") jenis = dial.findbyname("jenis") penyebab = dial.findbyname("penyebab") taksiran = dial.findbyname("taksiran") mati = dial.findbyname("mati") luka = dial.findbyname("luka") code_kel = dial.findbyname("code_kel") bulan = dial.findbyname("bulan") 'ISk={"YA","TIDAK"} tabel=av.getproject.finddoc("TABEL DATA KEBAKARAN") 'tabel1=av.getproject.FindDoc("TABEL KEJADIAN KEBAKARAN") tbl=tabel.getvtab 'tbl1=tabel1.getvtab theBitmap=tbl.getselection
'theBitmap1=tbl1.getselection
if(ada=true)then tbl.seteditable(true)
ADA=FALSE theFieldName = "id_kel" fidkel=tbl.findfield(theFieldName) theFieldName2 = "sebab_keb" fid_keb = tbl.findfield("id_keb") ftgl = tbl.findfield("tgl_keb") fjalan = tbl.findfield("Nm_jln") fkel = tbl.findfield("Nm_kel") fpelapor = tbl.findfield("Nm_Pelapor") falamat = tbl.findfield("almt_Pelapor") fstatus = tbl.findfield("Status_keb") fwaktu = tbl.findfield("waktu_keb") fjenis = tbl.findfield("Bnd_tbkar") fpenyebab = tbl.findfield(theFieldName2) ftaksiran = tbl.findfield("taksiran") fmati = tbl.findfield("meninggal") fluka = tbl.findfield("luka") fcode_kel = tbl.findfield("Id_kel") fbulan = tbl.findfield("bulan") 'fid_jml_keb = tbl1.findfield("id_jml_keb") 'flistrik = tbl1.findfield("listrik") 'fkompor = tbl1.findfield("kompor") 'flampu = tbl1.findfield("lampu") 'frokok = tbl1.findfield("rokok") 'flain = tbl1.findfield("lain-lain")
for each rec in tbl.getselection tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(ftgl,rec,itgl) tbl.setvalue(fjalan,rec,ijalan) tbl.setvalue(fkel,rec,ikel) tbl.setvalue(fpelapor,rec,ipelapor) tbl.setvalue(falamat,rec,ialamat) tbl.setvalue(fstatus,rec,istatus) tbl.setvalue(fwaktu,rec,iwaktu) tbl.setvalue(fjenis,rec,ijenis) tbl.setvalue(fpenyebab,rec,ipenyebab) tbl.setvalue(ftaksiran,rec,itaksiran) tbl.setvalue(fmati,rec,imati) tbl.setvalue(fluka,rec,iluka) tbl.setvalue(fcode_kel,rec,icode_kel) tbl.setvalue(fbulan,rec,ibulan) end tbl.seteditable(false) else tbl.seteditable(true) tbl.BeginTransaction tbl.AddRecord tbl.EndTransaction isian="" expresi = "[id_keb] = "+isian.quote
iid_keb = id_keb.Gettext itgl = tgl.Gettext ijalan = jalan.Gettext ikel = kel.Gettext ipelapor = pelapor.Gettext ialamat = alamat.Gettext istatus = status.Gettext iwaktu = waktu.Getselection ijenis = jenis.Getselection ipenyebab = penyebab.Getselection itaksiran = taksiran.Gettext imati = mati.Gettext iluka = luka.Gettext icode_kel = code_kel.Gettext ibulan = bulan.Getselection masukan = id_keb.Gettext expresi = "[id_keb] = "+masukan.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true end
tbl.query(expresi,theBitmap,#vtab_seltype_new) 'tbl.setselection(theBitmap) tbl.UpdateSelection for each rec in tbl.GetSelection '---------------------------------- ISI RECORD tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(ftgl,rec,itgl) tbl.setvalue(fjalan,rec,ijalan) tbl.setvalue(fkel,rec,ikel) tbl.setvalue(fpelapor,rec,ipelapor) tbl.setvalue(falamat,rec,ialamat) tbl.setvalue(fstatus,rec,istatus) tbl.setvalue(fwaktu,rec,iwaktu) tbl.setvalue(fjenis,rec,ijenis) tbl.setvalue(fpenyebab,rec,ipenyebab) tbl.setvalue(ftaksiran,rec,itaksiran) tbl.setvalue(fmati,rec,imati) tbl.setvalue(fluka,rec,iluka) tbl.setvalue(fcode_kel,rec,icode_kel) tbl.setvalue(fbulan,rec,ibulan) end tbl.seteditable(false)
code_kel.settext("") jalan.settext("") kel.settext("") pelapor.settext("") alamat.settext("") status.settext("") waktu.settext("") jenis.settext("") penyebab.settext("") taksiran.settext("") mati.settext("") luka.settext("") bulan.settext("") end ================================ 1.3 "0-Data Kebakaran Utama kosongkan" ================================ dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") tgl = dial.findbyname("date") jalan = dial.findbyname("jalan") kel = dial.findbyname("kel") pelapor = dial.findbyname("pelapor") alamat = dial.findbyname("alamat") status = dial.findbyname("status") waktu = dial.findbyname("waktu") jenis = dial.findbyname("jenis") penyebab = dial.findbyname("penyebab") taksiran = dial.findbyname("taksiran") mati = dial.findbyname("mati") luka = dial.findbyname("luka") code_kel = dial.findbyname("code_kel") 'status.definefromlist({"--Pilih--","Ya","Tidak"}) waktu.definefromlist({"--Pilih-","Pagi","Siang","Malam"}) jenis.definefromlist({"--Pilih--","Bangunan Perumahan","Bangunan Umum","Bangunan Industri","Kendaraan"}) penyebab.definefromlist({"--Pilih-","Kompor","Lampu","Listrik","Rokok"}) jalan.settext("") kel.settext("") pelapor.settext("") alamat.settext("") 'status.gettext("") 'waktu.settext("") 'jenis.settext("") 'penyebab.settext("") taksiran.settext("") mati.settext("") luka.settext("")
============================ 1.4. "0-DATA BENDA TERBAKAR" ============================ dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") jenis = dial.findbyname("jenis") code_kel = dial.findbyname("code_kel") tabel=av.getproject.finddoc("TABEL DATA KEBAKARAN") tabel1=av.getproject.FindDoc("TABEL BENDA TERBAKAR KELURAHAN") tabel2=av.getproject.FindDoc("TABEL BENDA TERBAKAR KECAMATAN") tbl=tabel.getvtab tbl1=tabel1.getvtab tbl2=tabel2.getvtab theBitmap=tbl.getselection theBitmap1=tbl1.getselection theBitmap2=tbl2.getselection ADA=FALSE theFieldName = "id_kel" fidkel=tbl.findfield(theFieldName) theFieldName2 = "bnd_tbkar" fid_keb = tbl.findfield("id_keb") fjenis = tbl.findfield(theFieldName2) fcode_kel = tbl.findfield("Id_kel") fid_ind = tbl1.findfield("id_Bnd") fperum = tbl1.findfield("Bgn_perum") fumum = tbl1.findfield("Bgn_umum") fIndus = tbl1.findfield("Bgn_indus") fKendaraan = tbl1.findfield("Kendaraan") 'flain = tbl1.findfield("lain-lain") fperumkec = tbl2.findfield("Bgn_perum") fumumkec = tbl2.findfield("Bgn_umum") finduskec = tbl2.findfield("Bgn_indus") fkenkec = tbl2.findfield("Kendaraan") iid_keb = id_keb.Gettext ijenis= jenis.Getselection icode_kel = code_kel.Gettext masukan = id_keb.Gettext expresi = "[id_keb] = "+masukan.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection
for each rec in tbl.GetSelection ada = true end if(ada=true)then tbl.seteditable(true) for each rec in tbl.getselection tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fjenis,rec,ijenis) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) else tbl.seteditable(true) tbl.BeginTransaction tbl.AddRecord tbl.EndTransaction isian="" expresi = "[id_keb] = "+isian.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) 'tbl.setselection(theBitmap) tbl.UpdateSelection for each rec in tbl.GetSelection '---------------------------------- ISI RECORD tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fjenis,rec,ijenis) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) jenis.settext("") end masukan = code_kel.GetText masukan1 = jenis.GetSelection expresi= "(["+theFieldName+"] = "+masukan.quote+")" tbl.query(expresi,theBitmap,#VTAB_SELTYPE_NE W) expresi2= "(["+theFieldName2+"] = "+masukan1.quote+")" tbl.query(expresi2,theBitmap,#VTAB_SELTYPE_A ND) iTotal_kejadian = TheBitmap.Count.AsString MsgBox.Info("Jumlah data yang ada di wilayah ini adalah:"++TheBitmap.Count.AsString,"Jumlah Record")
tbl.setselection(theBitmap) tbl.UpdateSelection 'tabel.PromoteSelection iperum = TheBitmap.Count.AsString iumum = TheBitmap.Count.AsString iindus = TheBitmap.Count.AsString ikendaraan = TheBitmap.Count.AsString 'ilain = TheBitmap.Count.AsString tbl1.seteditable(true) tbl2.seteditable(true) for each rec in tbl1.getselection if(masukan1="Bangunan Perumahan")then tbl1.setvalue(fperum,rec,iperum) elseif(masukan1="Bangunan Umum")then tbl1.setvalue(fumum,rec,iumum) elseif(masukan1="Bangunan Industri")then tbl1.setvalue(findus ,rec,iindus) elseif(masukan1="Kendaraan")then tbl1.setvalue(fkendaraan,rec,ikendaraan) 'elseif(masukan1="Lain-Lain")then ' tbl1.setvalue(flain,rec,ilain) end end for each rec in tbl2.getselection if(masukan1="Bangunan Perumahan")then iperumkec=tbl2.returnvalue(fperumkec,rec) itotalperum=iperum.AsNumber+iperumkec tbl2.setvalue(fperumkec,rec,itotalperum) elseif(masukan1="Bangunan Umum")then iumumkec=tbl2.returnvalue(fumumkec,rec) itotalumum=iumum.AsNumber+iumumkec tbl2.setvalue(fumumkec,rec,itotalumum) elseif(masukan1="Bangunan Industri")then iinduskec=tbl2.returnvalue(finduskec,rec) itotalindus=iindus.AsNumber+iinduskec tbl2.setvalue(finduskec,rec,itotalindus) elseif(masukan1="Kendaraan")then ikenkec=tbl2.returnvalue(fkenkec,rec) itotalken=iKendaraan.AsNumber+ikenkec tbl2.setvalue(fkenkec,rec,itotalken) end end
tbl1.seteditable(false) tbl2.seteditable(false) ================================ 1.5 "0-DATA PENYEBAB KEBAKARAN" ================================ dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") penyebab = dial.findbyname("penyebab") code_kel = dial.findbyname("code_kel") tabel=av.getproject.finddoc("TABEL DATA KEBAKARAN") tabel1=av.getproject.FindDoc("TABEL PENYEBAB KEBAKARAN KELURAHAN") tabel2=av.getproject.FindDoc("TABEL PENYEBAB KEBAKARAN KECAMATAN") tbl=tabel.getvtab tbl1=tabel1.getvtab tbl2=tabel2.getvtab
tbl.UpdateSelection for each rec in tbl.GetSelection ada = true end if(ada=true)then tbl.seteditable(true) for each rec in tbl.getselection tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fpenyebab,rec,ipenyebab) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) else tbl.seteditable(true) tbl.BeginTransaction tbl.AddRecord tbl.EndTransaction isian=""
theBitmap=tbl.getselection theBitmap1=tbl1.getselection theBitmap2=tbl2.getselection
expresi = "[id_keb] = "+isian.quote
ADA=FALSE
tbl.query(expresi,theBitmap,#vtab_seltype_new) 'tbl.setselection(theBitmap) tbl.UpdateSelection
theFieldName = "id_kel" fidkel=tbl.findfield(theFieldName) theFieldName2 = "sebab_keb" fid_keb = tbl.findfield("id_keb") fpenyebab = tbl.findfield(theFieldName2) fcode_kel = tbl.findfield("Id_kel") fid_jml_keb = tbl1.findfield("id_jml_keb") flistrik = tbl1.findfield("Listrik") fkompor = tbl1.findfield("Kompor") flampu = tbl1.findfield("Lampu") frokok = tbl1.findfield("Rokok") 'flain = tbl1.findfield("lain-lain")
for each rec in tbl.GetSelection '---------------------------------- ISI RECORD tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fpenyebab,rec,ipenyebab) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) penyebab.settext("") end
'fid_jml_keb = tbl2.findfield("id_jml_keb") flistrikkec = tbl2.findfield("Listrik") fkomporkec = tbl2.findfield("Kompor") flampukec = tbl2.findfield("Lampu") frokokkec = tbl2.findfield("Rokok") iid_keb = id_keb.Gettext ipenyebab = penyebab.Getselection icode_kel = code_kel.Gettext masukan = id_keb.Gettext expresi = "[id_keb] = "+masukan.quote tbl.query(expresi,theBitmap,#vtab_seltype_new)
masukan = code_kel.GetText masukan1 = penyebab.GetSelection expresi= "(["+theFieldName+"] = "+masukan.quote+")" tbl.query(expresi,theBitmap,#VTAB_SELTYPE_N EW) expresi2= "(["+theFieldName2+"] = "+masukan1.quote+")" tbl.query(expresi2,theBitmap,#VTAB_SELTYPE_ AND) iTotal_kejadian = TheBitmap.Count.AsString
MsgBox.Info("Jumlah data yang ada di wilayah ini adalah:"++TheBitmap.Count.AsString,"Jumlah Record") tbl.setselection(theBitmap) tbl.UpdateSelection 'tabel.PromoteSelection ikompor = TheBitmap.Count.AsString ilistrik = TheBitmap.Count.AsString ilampu = TheBitmap.Count.AsString irokok = TheBitmap.Count.AsString tbl1.seteditable(true) tbl2.seteditable(true) for each rec in tbl1.getselection if(masukan1="Kompor")then tbl1.setvalue(fkompor,rec,ikompor) elseif(masukan1="Lampu")then tbl1.setvalue(flampu,rec,ilampu) elseif(masukan1="Listrik")then tbl1.setvalue(flistrik,rec,ilistrik) elseif(masukan1="Rokok")then tbl1.setvalue(frokok,rec,irokok) end end for each rec in tbl2.getselection if(masukan1="Kompor")then ikomporkec=tbl2.returnvalue(fkomporkec,rec) itotalkompor=ikompor.AsNumber+ikomporkec tbl2.setvalue(fkomporkec,rec,itotalkompor) elseif(masukan1="Lampu")then ilampukec=tbl2.returnvalue(flampukec,rec) itotallampu=ilampu.AsNumber+ilampukec tbl2.setvalue(flampukec,rec,itotallampu) elseif(masukan1="Listrik")then ilistrikkec=tbl2.returnvalue(flistrikkec,rec) itotallistrik=ilistrik.AsNumber+ilistrikkec tbl2.setvalue(flistrikkec,rec,itotallistrik) elseif(masukan1="Rokok")then irokokkec=tbl2.returnvalue(frokokkec,rec) itotalrokok=irokok.AsNumber+irokokkec tbl2.setvalue(frokokkec,rec,itotalrokok) end end
tbl1.seteditable(false) tbl2.seteditable(false) ============================= 1.6 "0-DATA WAKTU KEBAKARAN" ============================= dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") waktu = dial.findbyname("waktu") code_kel = dial.findbyname("code_kel") tabel=av.getproject.finddoc("TABEL DATA KEBAKARAN") tabel1=av.getproject.FindDoc("TABEL WAKTU KEBAKARAN KELURAHAN") tabel2=av.getproject.FindDoc("TABEL WAKTU KEBAKARAN KECAMATAN") tbl=tabel.getvtab tbl1=tabel1.getvtab tbl2=tabel2.getvtab theBitmap=tbl.getselection theBitmap1=tbl1.getselection theBitmap2=tbl2.getselection ADA=FALSE theFieldName = "id_kel" fidkel=tbl.findfield(theFieldName) theFieldName2 = "waktu_keb" fid_keb = tbl.findfield("id_keb") fwaktu = tbl.findfield(theFieldName2) fcode_kel = tbl.findfield("Id_kel") fId_waktu = tbl1.findfield("Id_waktu") fPagi = tbl1.findfield("Pagi") fSiang = tbl1.findfield("Siang") fMalam = tbl1.findfield("Malam") fPagikec=tbl2.findfield("Pagi") fSiangkec=tbl2.findfield("Siang") fmalamkec=tbl2.findfield("Malam") iid_keb = id_keb.Gettext iwaktu= waktu.Getselection icode_kel = code_kel.Gettext masukan = id_keb.Gettext expresi = "[id_keb] = "+masukan.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true end
if(ada=true)then tbl.seteditable(true) for each rec in tbl.getselection tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fwaktu,rec,iwaktu) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) else tbl.seteditable(true) tbl.BeginTransaction tbl.AddRecord tbl.EndTransaction isian="" expresi = "[id_keb] = "+isian.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) 'tbl.setselection(theBitmap) tbl.UpdateSelection for each rec in tbl.GetSelection '---------------------------------- ISI RECORD tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fwaktu,rec,iwaktu) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) waktu.settext("") end masukan = code_kel.GetText masukan1 = waktu.GetSelection expresi= "(["+theFieldName+"] = "+masukan.quote+")" tbl.query(expresi,theBitmap,#VTAB_SELTYPE_NE W) expresi2= "(["+theFieldName2+"] = "+masukan1.quote+")" tbl.query(expresi2,theBitmap,#VTAB_SELTYPE_A ND) iTotal_kejadian = TheBitmap.Count.AsString MsgBox.Info("Jumlah data yang ada di wilayah ini adalah:"++TheBitmap.Count.AsString,"Jumlah Record") tbl.setselection(theBitmap) tbl.UpdateSelection 'tabel.PromoteSelection iPagi = TheBitmap.Count.AsString iSiang = TheBitmap.Count.AsString iMalam = TheBitmap.Count.AsString
tbl1.seteditable(true) tbl2.seteditable(true) for each rec in tbl1.getselection if(masukan1="Pagi")then tbl1.setvalue(fPagi,rec,iPagi) elseif(masukan1="Siang")then tbl1.setvalue(fSiang,rec,iSiang) elseif(masukan1="Malam")then tbl1.setvalue(fMalam ,rec,iMalam) end end for each rec in tbl2.getselection if(masukan1="Pagi")then ipagikec=tbl2.returnvalue(fPagikec,rec) itotalpagi=iPagi.AsNumber+ipagikec tbl2.setvalue(fPagikec,rec,itotalpagi) elseif(masukan1="Siang")then isiangkec=tbl2.returnvalue(fSiangkec,rec) itotalsiang=iSiang.AsNumber+isiangkec tbl2.setvalue(fSiangkec,rec,itotalsiang) elseif(masukan1="Malam")then imalamkec=tbl2.returnvalue(fMalamkec,rec) itotalmalam=iMalam.AsNumber+imalamkec tbl2.setvalue(fMalamkec,rec,itotalmalam) end end tbl1.seteditable(false) tbl2.seteditable(false) =============================== 1.7 "0-DATAKEBAKARAN BULANAN" =============================== dial= av.getproject.finddialog("Dialog Data kebakaran Utama") id_keb = dial.findbyname("id_keb") bulan = dial.findbyname("bulan") code_kel = dial.findbyname("code_kel") tabel=av.getproject.finddoc("TABEL DATA KEBAKARAN") tabel1=av.getproject.FindDoc("TABEL KEB KELURAHAN BULANAN") tabel2=av.getproject.FindDoc("TABEL KEB KECAMATAN BULANAN")
tbl=tabel.getvtab tbl1=tabel1.getvtab tbl2=tabel2.getvtab theBitmap=tbl.getselection theBitmap1=tbl1.getselection theBitmap2=tbl2.getselection ADA=FALSE theFieldName = "id_kel" fidkel=tbl.findfield(theFieldName) theFieldName2 = "bulan" fid_keb = tbl.findfield("id_keb") fbulan = tbl.findfield(theFieldName2) fcode_kel = tbl.findfield("Id_kel") fid_jml_keb = tbl1.findfield("id_jml_keb") fjan = tbl1.findfield("Januari") ffeb = tbl1.findfield("Februari") fmar = tbl1.findfield("Maret") faprl = tbl1.findfield("April") fmei = tbl1.findfield("Mei") fjun = tbl1.findfield("Juni") fjul = tbl1.findfield("Juli") fagus = tbl1.findfield("Agustus") fsept = tbl1.findfield("September") fokt = tbl1.findfield("Oktober") fnov = tbl1.findfield("November") fdes = tbl1.findfield("Desember") fid_jml_keb_kec = tbl2.findfield("id_jml_keb") fjan_kec = tbl2.findfield("Januari") ffeb_kec = tbl2.findfield("Februari") fmar_kec = tbl2.findfield("Maret") faprl_kec = tbl2.findfield("April") fmei_kec = tbl2.findfield("Mei") fjun_kec = tbl2.findfield("Juni") fjul_kec = tbl2.findfield("Juli") fagus_kec = tbl2.findfield("Agustus") fsept_kec = tbl2.findfield("September") fokt_kec = tbl2.findfield("Oktober") fnov_kec = tbl2.findfield("November") fdes_kec = tbl2.findfield("Desember") iid_keb = id_keb.Gettext ibulan = bulan.Getselection icode_kel = code_kel.Gettext masukan = id_keb.Gettext expresi = "[id_keb] = "+masukan.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true
end if(ada=true)then tbl.seteditable(true) for each rec in tbl.getselection tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fbulan,rec,ibulan) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) else tbl.seteditable(true) tbl.BeginTransaction tbl.AddRecord tbl.EndTransaction isian="" expresi = "[id_keb] = "+isian.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) 'tbl.setselection(theBitmap) tbl.UpdateSelection for each rec in tbl.GetSelection '---------------------------------- ISI RECORD tbl.setvalue(fid_keb,rec,iid_keb) tbl.setvalue(fbulan,rec,ibulan) tbl.setvalue(fcode_kel,rec,icode_kel) end tbl.seteditable(false) bulan.settext("") end masukan = code_kel.GetText masukan1 = bulan.GetSelection expresi= "(["+theFieldName+"] = "+masukan.quote+")" tbl.query(expresi,theBitmap,#VTAB_SELTYPE_N EW) expresi2= "(["+theFieldName2+"] = "+masukan1.quote+")" tbl.query(expresi2,theBitmap,#VTAB_SELTYPE_ AND) iTotal_kejadian = TheBitmap.Count.AsString MsgBox.Info("Jumlah data yang ada di wilayah ini adalah:"++TheBitmap.Count.AsString,"Jumlah Record") tbl.setselection(theBitmap)
tbl.UpdateSelection 'tabel.PromoteSelection ijan = TheBitmap.Count.AsString ifeb = TheBitmap.Count.AsString imar = TheBitmap.Count.AsString iaprl = TheBitmap.Count.AsString imei = TheBitmap.Count.AsString ijun = TheBitmap.Count.AsString ijul = TheBitmap.Count.AsString iagus = TheBitmap.Count.AsString isept = TheBitmap.Count.AsString iokt = TheBitmap.Count.AsString inov = TheBitmap.Count.AsString ides = TheBitmap.Count.AsString tbl1.seteditable(true) tbl2.seteditable(true) for each rec in tbl1.getselection if(masukan1="JANUARI (1)")then tbl1.setvalue(fjan,rec,ijan) elseif(masukan1="FEBRUARI (2)")then tbl1.setvalue(ffeb,rec,ifeb) elseif(masukan1="MARET (3)")then tbl1.setvalue(fmar ,rec,imar) elseif(masukan1="APRIL (4)")then tbl1.setvalue(faprl,rec,iaprl) elseif(masukan1="MEI (5)")then tbl1.setvalue(fmei,rec,imei) elseif(masukan1="JUNI (6)")then tbl1.setvalue(fjun,rec,ijun) elseif(masukan1="JULI (7)")then tbl1.setvalue(fjul ,rec,ijul) elseif(masukan1="AGUSTUS (8)")then tbl1.setvalue(fagus,rec,iagus) elseif(masukan1="SEPTEMBER (9)")then tbl1.setvalue(fsept,rec,isept) elseif(masukan1="OKTOBER (10)")then tbl1.setvalue(fokt,rec,iokt) elseif(masukan1="NOVEMBER (11)")then tbl1.setvalue(fnov,rec,inov) elseif(masukan1="DESEMBER (12)")then tbl1.setvalue(fdes,rec,ides)
end end for each rec in tbl2.getselection if(masukan1="JANUARI (1)")then ijan_kec=tbl2.returnvalue(fjan_kec,rec) itotaljan=ijan.AsNumber+ijan_kec tbl2.setvalue(fjan_kec,rec,itotaljan) elseif(masukan1="FEBRUARI (2)")then ifeb_kec=tbl2.returnvalue(ffeb_kec,rec) itotalfeb=ifeb.AsNumber+ifeb_kec tbl2.setvalue(ffeb_kec,rec,itotalfeb) elseif(masukan1="MARET (3)")then imar_kec=tbl2.returnvalue(fmar_kec,rec) itotalmar=imar.AsNumber+imar_kec tbl2.setvalue(fmar_kec,rec,itotalmar) elseif(masukan1="APRIL (4)")then iapr_kec=tbl2.returnvalue(faprl_kec,rec) itotalapr=iaprl.AsNumber+iapr_kec tbl2.setvalue(faprl_kec,rec,itotalapr) elseif(masukan1="MEI (5)")then imei_kec=tbl2.returnvalue(fmei_kec,rec) itotalmei=imei.AsNumber+imei_kec tbl2.setvalue(fmei_kec,rec,itotalmei) elseif(masukan1="JUNI (6)")then ijun_kec=tbl2.returnvalue(fjun_kec,rec) itotaljun=ijun.AsNumber+ijun_kec tbl2.setvalue(fjun_kec,rec,itotaljun) elseif(masukan1="JULI (7)")then ijul_kec=tbl2.returnvalue(fjul_kec,rec) itotaljul=ijul.AsNumber+ijul_kec tbl2.setvalue(fjul_kec,rec,itotaljul) elseif(masukan1="AGUSTUS (8)")then iagus_kec=tbl2.returnvalue(fagus_kec,rec) itotalagus=iagus.AsNumber+iagus_kec tbl2.setvalue(fagus_kec,rec,itotalagus) elseif(masukan1="SEPTEMBER (9)")then isept_kec=tbl2.returnvalue(fsept_kec,rec) itotalsept=isept.AsNumber+isept_kec tbl2.setvalue(fsept_kec,rec,itotalsept) elseif(masukan1="OKTOBER (10)")then iokt_kec=tbl2.returnvalue(fokt_kec,rec) itotalokt=iokt.AsNumber+iokt_kec tbl2.setvalue(fokt_kec,rec,itotalokt)
elseif(masukan1="NOVEMBER (11)")then inov_kec=tbl2.returnvalue(fnov_kec,rec) itotalnov=inov.AsNumber+inov_kec tbl2.setvalue(fnov_kec,rec,itotalnov) elseif(masukan1="DESEMBER")then ides_kec=tbl2.returnvalue(fdes_kec,rec) itotaldes=ides.AsNumber+ides_kec tbl2.setvalue(fdes_kec,rec,itotaldes) end end tbl1.seteditable(false) tbl2.seteditable(false)
============================== 2. Pemeliharaan data "Pos Pemadam" ============================== p = av.getproject.finddialog("Dialog Pemadam_2") p.open
iid_pemadam = tbl.returnvalue(fid_pemadam,rec) inama = tbl.returnvalue(fnama,rec) ialamat = tbl.returnvalue(falamat,rec) itelepon = tbl.returnvalue(ftelepon,rec) inilaix = tbl.returnvalue(fnilaix,rec) inilaiy = tbl.returnvalue(fnilaiy,rec) end if ( ada = true ) then nama.settext(inama) alamat.settext(ialamat) telepon.settext(itelepon) nilaix.settext(inilaix.AsString) nilaiy.settext(inilaiy.AsString) else nama.settext("") alamat.settext("") telepon.settext("") nilaix.settext("") nilaiy.settext("") end
======================= 2.1 "1-Update Pemadam Entri" ======================= dial= av.getproject.finddialog("Dialog Pemadam") id_pemadam = dial.findbyname("id_pemadam") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy")
============================ 2.2 "1-Update Pemadam Entri Simpan" ============================ dial= av.getproject.finddialog("Dialog Pemadam") id_pemadam = dial.findbyname("id_pemadam") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy")
tabel=av.getproject.finddoc("4. Pemadam_kebakaran") tbl=tabel.getvtab theBitmap=tbl.getselection
theView=av.getproject.finddoc("PETA POS PENANGANAN KEBAKARAN") grafik=theView.getgraphics thePrj = theView.GetProjection theTheme = theView.FindTheme("Pemadam_kebakaran.shp")
ADA=FALSE fid_pemadam = tbl.findfield("id_pemadam") fnama = tbl.findfield("nama") falamat = tbl.findfield("alamat") ftelepon = tbl.findfield("telepon") fnilaix = tbl.findfield("Nilai_X") fnilaiy = tbl.findfield("Nilai_Y") expresi = "[id_pemadam] = "+id_pemadam.gettext.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true
inilaix = nilaix.Gettext.asnumber inilaiy = nilaiy.Gettext.asnumber titik=point.make(inilaix,inilaiy) theView.SetEditableTheme(theTheme) if (theTheme <> nil) then thePrj = theView.GetProjection theField = theTheme.GetFTab.FindField("Shape") fid_pemadam = theTheme.GetFTab.findfield("id_pemadam") fnama = theTheme.GetFTab.findfield("nama") falamat = theTheme.GetFTab.findfield("alamat")
ftelepon = theTheme.GetFTab.findfield("telepon") fnilaix = theTheme.GetFTab.findfield("Nilai_X") fnilaiy = theTheme.GetFTab.findfield("Nilai_Y") iid_pemadam = id_pemadam.Gettext inama = nama.Gettext ialamat = alamat.Gettext itelepon = telepon.Gettext theTheme.GetFTab.BeginTransaction rec = theTheme.GetFTab.AddRecord theTheme.GetFTab.SetValue(theField, rec, titik) theTheme.GetFTab.setvalue(fid_pemadam,rec,iid_pe madam) theTheme.GetFTab.setvalue(fnama,rec,inama) theTheme.GetFTab.setvalue(falamat,rec,ialamat) theTheme.GetFTab.setvalue(ftelepon,rec,itelepon) theTheme.GetFTab.setvalue(fnilaix,rec,inilaix) theTheme.GetFTab.setvalue(fnilaiy,rec,inilaiy) theTheme.GetFTab.EndTransaction theTheme.GetFTab.GetSelection.ClearAll theTheme.GetFTab.GetSelection.Set(rec) theTheme.GetFTab.UpdateSelection else shapebaru=graphicshape.make(titik) grafik.add(shapebaru) end av.GetProject.SetModified(true)
editThm = theView.GetEditableTheme if (editThm <> nil) then doSave = MsgBox.YesNoCancel("Save edits to "+editThm.GetName+ "?","Save Edits",true) if (doSave = nil) then return nil end if (doSave.not) then ' user changed her mind return nil else ' save edits and stop editing if (editThm.StopEditing(TRUE).Not) then ' save failed, remain editing MsgBox.Info("Unable to Save Edits, please use the Save Edits As option", "") return nil end ' restart editing theView.SetEditableTheme(editThm)
end end =============================== 2.3 "1-Update Pemadam Entri Kosongan" =============================== dial= av.getproject.finddialog("Dialog Pemadam") id_pemadam = dial.findbyname("id_pemadam") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy") nama.settext("") alamat.settext("") telepon.settext("") nilaix.settext("") nilaiy.settext("") ========================= 3. Pemeliharaan data "Pos Polisi" ========================= p = av.getproject.finddialog("Dialog pos polisi_2") p.open =============== 3.1 "1-Polisi entri" =============== dial= av.getproject.finddialog("Dialog pos polisi") id_polisi = dial.findbyname("id_polisi") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy") tabel=av.getproject.finddoc("5. Polisi") tbl=tabel.getvtab theBitmap=tbl.getselection ADA=FALSE fid_polisi = tbl.findfield("id_polisi") fnama = tbl.findfield("Nama") falamat = tbl.findfield("alamat") ftelepon = tbl.findfield("telepon") fnilaix = tbl.findfield("nilai_X") fnilaiy = tbl.findfield("nilai_Y") expresi = "[id_polisi] = "+id_polisi.gettext.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true
iid_polisi = tbl.returnvalue(fid_polisi,rec) inama = tbl.returnvalue(fnama,rec) ialamat = tbl.returnvalue(falamat,rec) itelepon = tbl.returnvalue(ftelepon,rec) inilaix = tbl.returnvalue(fnilaix,rec) inilaiy = tbl.returnvalue(fnilaiy,rec) end if ( ada = true ) then nama.settext(inama) alamat.settext(ialamat) telepon.settext(itelepon) nilaix.settext(inilaix.AsString) nilaiy.settext(inilaiy.AsString) else nama.settext("") alamat.settext("") telepon.settext("") nilaix.settext("") nilaiy.settext("") end ==================== 3.2 "1-Polisi entri Simpan" ==================== dial= av.getproject.finddialog("Dialog pos polisi") id_polisi = dial.findbyname("id_polisi") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy") theView=av.getproject.finddoc("PETA POS PENANGANAN KEBAKARAN") grafik=theView.getgraphics thePrj = theView.GetProjection theTheme = theView.FindTheme("Polisi.shp") inilaix = nilaix.Gettext.asnumber inilaiy = nilaiy.Gettext.asnumber titik=point.make(inilaix,inilaiy) theView.SetEditableTheme(theTheme) if (theTheme <> nil) then thePrj = theView.GetProjection theField = theTheme.GetFTab.FindField("Shape") fid_polisi = theTheme.GetFTab.findfield("id_polisi") fnama = theTheme.GetFTab.findfield("Nama") falamat = theTheme.GetFTab.findfield("alamat") ftelepon = theTheme.GetFTab.findfield("telepon") fnilaix = theTheme.GetFTab.findfield("nilai_X") fnilaiy = theTheme.GetFTab.findfield("nilai_Y")
iid_polisi inama ialamat itelepon
= id_polisi.Gettext = nama.Gettext = alamat.Gettext = telepon.Gettext
theTheme.GetFTab.BeginTransaction rec = theTheme.GetFTab.AddRecord theTheme.GetFTab.SetValue(theField, rec, titik) theTheme.GetFTab.setvalue(fid_polisi,rec,iid_polis i) theTheme.GetFTab.setvalue(fnama,rec,inama) theTheme.GetFTab.setvalue(falamat,rec,ialamat) theTheme.GetFTab.setvalue(ftelepon,rec,itelepon) theTheme.GetFTab.setvalue(fnilaix,rec,inilaix) theTheme.GetFTab.setvalue(fnilaiy,rec,inilaiy) theTheme.GetFTab.EndTransaction theTheme.GetFTab.GetSelection.ClearAll theTheme.GetFTab.GetSelection.Set(rec) theTheme.GetFTab.UpdateSelection else shapebaru=graphicshape.make(titik) grafik.add(shapebaru) end av.GetProject.SetModified(true) editThm = theView.GetEditableTheme if (editThm <> nil) then doSave = MsgBox.YesNoCancel("Save edits to "+editThm.GetName+ "?","Save Edits",true) if (doSave = nil) then return nil end if (doSave.not) then ' user changed her mind return nil else ' save edits and stop editing if (editThm.StopEditing(TRUE).Not) then ' save failed, remain editing MsgBox.Info("Unable to Save Edits, please use the Save Edits As option", "") return nil end ' restart editing theView.SetEditableTheme(editThm) end end ======================= 3.3 "1-Polisi entri Kosongkan" =======================
dial= av.getproject.finddialog("Dialog pos polisi") id_polisi = dial.findbyname("id_polisi") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nama.settext("") alamat.settext("") telepon.settext("")
=========================== 4. Pemeliharaan data "Rumah Sakit" =========================== p = av.getproject.finddialog("Dialog RS_2") p.open =================== 4.1 "1-Update RS entri" =================== dial= av.getproject.finddialog("Dialog RS") id_rs = dial.findbyname("id_rs") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy") tabel=av.getproject.finddoc("6. Rumah sakit") tbl=tabel.getvtab theBitmap=tbl.getselection ADA=FALSE fid_rs = tbl.findfield("id_rs") fnama = tbl.findfield("Nama_rs") falamat = tbl.findfield("alamat") ftelepon = tbl.findfield("telepon") fnilaix = tbl.findfield("Nilai_X") fnilaiy = tbl.findfield("Nilai_Y") expresi = "[id_rs] = "+id_rs.gettext.quote tbl.query(expresi,theBitmap,#vtab_seltype_new) tbl.UpdateSelection for each rec in tbl.GetSelection ada = true iid_rs = tbl.returnvalue(fid_rs,rec) inama = tbl.returnvalue(fnama,rec) ialamat = tbl.returnvalue(falamat,rec) itelepon = tbl.returnvalue(ftelepon,rec) inilaix = tbl.returnvalue(fnilaix,rec) inilaiy = tbl.returnvalue(fnilaiy,rec) end
if ( ada = true ) then nama.settext(inama) alamat.settext(ialamat) telepon.settext(itelepon) nilaix.settext(inilaix.AsString) nilaiy.settext(inilaiy.AsString) else nama.settext("") alamat.settext("") telepon.settext("") nilaix.settext("") nilaiy.settext("") end
======================== 4.2 "1-Update RS entri Simpan" ======================== dial= av.getproject.finddialog("Dialog RS") id_rs = dial.findbyname("id_rs") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nilaix = dial.findbyname("nilaix") nilaiy = dial.findbyname("nilaiy") theView=av.getproject.finddoc("PETA POS PENANGANAN KEBAKARAN") grafik=theView.getgraphics thePrj = theView.GetProjection theTheme = theView.FindTheme("Rumah sakit.shp") inilaix = nilaix.Gettext.asnumber inilaiy = nilaiy.Gettext.asnumber titik=point.make(inilaix,inilaiy) theView.SetEditableTheme(theTheme) if (theTheme <> nil) then thePrj = theView.GetProjection theField = theTheme.GetFTab.FindField("Shape") fid_rs = theTheme.GetFTab.findfield("id_rs") fnama = theTheme.GetFTab.findfield("Nama_rs") falamat = theTheme.GetFTab.findfield("alamat")
ftelepon = theTheme.GetFTab.findfield("telepon") fnilaix = theTheme.GetFTab.findfield("Nilai_X") fnilaiy = theTheme.GetFTab.findfield("Nilai_Y") iid_rs = id_rs.Gettext inama = nama.Gettext ialamat = alamat.Gettext itelepon = telepon.Gettext theTheme.GetFTab.BeginTransaction rec = theTheme.GetFTab.AddRecord theTheme.GetFTab.SetValue(theField, rec, titik) theTheme.GetFTab.setvalue(fid_rs,rec,iid_rs) theTheme.GetFTab.setvalue(fnama,rec,inama) theTheme.GetFTab.setvalue(falamat,rec,ialamat) theTheme.GetFTab.setvalue(ftelepon,rec,itelepon) theTheme.GetFTab.setvalue(fnilaix,rec,inilaix) theTheme.GetFTab.setvalue(fnilaiy,rec,inilaiy)
======================= 4.3 "1-Update RS Kosongkan" ======================= dial= av.getproject.finddialog("Dialog RS") id_rs = dial.findbyname("id_rs") nama = dial.findbyname("nama") alamat = dial.findbyname("alamat") telepon = dial.findbyname("telepon") nama.settext("") alamat.settext("") telepon.settext("")
theTheme.GetFTab.EndTransaction theTheme.GetFTab.GetSelection.ClearAll theTheme.GetFTab.GetSelection.Set(rec) theTheme.GetFTab.UpdateSelection else shapebaru=graphicshape.make(titik) grafik.add(shapebaru) end av.GetProject.SetModified(true) editThm = theView.GetEditableTheme if (editThm <> nil) then doSave = MsgBox.YesNoCancel("Save edits to "+editThm.GetName+ "?","Save Edits",true) if (doSave = nil) then return nil end if (doSave.not) then ' user changed her mind return nil else ' save edits and stop editing if (editThm.StopEditing(TRUE).Not) then ' save failed, remain editing MsgBox.Info("Unable to Save Edits, please use the Save Edits As option", "") return nil end ' restart editing theView.SetEditableTheme(editThm) end end
=============================== M. Laporan " Penyebaran Kejadian Kebakaran" =============================== =================================== 1. Peta Penyebaran Kejadian Kebakaran Per kelurahan "1-viewKebakaran" =================================== theView = av.GetActiveDoc 'theView.GetWin.Close objProject=Av.GetProject objNamaView="PETA PENYEBARAN KEBAKARAN KELURAHAN" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open
theThemes = theView.GetActiveThemes r = Rect.MakeEmpty for each t in theThemes r = r.UnionWith(t.ReturnExtent) end if (r.IsEmpty) then return nil elseif ( r.ReturnSize = (0@0) ) then theView.GetDisplay.PanTo(r.ReturnOrigin) else theView.GetDisplay.SetExtent(r.Scale(1.1)) end myProject = av.GetProject theView = av.GetActiveDoc theGraphics = theView.GetGraphics if (theGraphics.Count = 0) then exit end for each g in theGraphics if (g.GetObjectTag.AsString="Cari") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="Grafik") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="cetak") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="tutup") then theGraphics.RemoveGraphic(g) break end end ' place label buttons on view theView.GetWin.Invalidate vRect = theView.GetDisplay.ReturnVisExtent theDisplay = theView.GetDisplay aWidth = theDisplay.ReturnExtent.GetWidth aHeight = theDisplay.ReturnExtent.GetHeight theOrigin = theDisplay.ReturnVisExtent.ReturnOrigin ' factor for spacing buttons xfac = aWidth/26500 yfac = aHeight/355 ' ensure button widths are properly sized
butWidth = aWidth * 0.20 butHeight = aWidth * 0.03 ' make label button and set script & label 'theChart = av.GetActiveDoc lblSoil = LabelButton.Make lblSoil.SetClick("1-Grafik") lblSoil.SetLabel("Grafik") lblSoil.SetObjectTag("Grafik") xFac1 = xFac*1050 ' bwat geser ke samping kiri tombol buka tabel dan layout xFac2 = xFac*6750 ' bwat geser ke samping kiri tombol grafik dan tutup cari = yFac*40 ' Size control to 20% by 7% of display width newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY +cari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblSoil, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cari") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONT ROL_CONSTRAINT_NONE) ' make label button and set script & label lblHydro = LabelButton.Make lblHydro.SetClick("edit legenda") lblHydro.SetLabel("Sebaran") lblHydro.SetObjectTag("Sebaran") ' Size control to 20% by 7% of display width grafik = yFac*15 '1800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY +cari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblHydro, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Grafik") theGraphics.AddName(aGraphicControl) 'this also sets name of control
aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-buat layout") lblZoning.SetLabel("Layout") lblHydro.SetObjectTag("Cetak") ' Size control to 20% by 7% of display width cetak = yfac*15 '3800 newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY+c etak) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cetak") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-Tutup") lblZoning.SetLabel("Tutup") lblHydro.SetObjectTag("tutup") ' Size control to 20% by 7% of display width tutup = yFac*5 '3800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY+c etak ) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("tutup") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true)
=================================== 2. Peta Penyebaran Kejadian Kebakaran Per kecamatan "1-viewKebakaran_kecamatan" =================================== theView = av.GetActiveDoc 'theView.GetWin.Close objProject=Av.GetProject objNamaView="PETA PENYEBARAN KEBAKARAN KECAMATAN" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open theThemes = theView.GetActiveThemes r = Rect.MakeEmpty for each t in theThemes r = r.UnionWith(t.ReturnExtent) end if (r.IsEmpty) then return nil elseif ( r.ReturnSize = (0@0) ) then theView.GetDisplay.PanTo(r.ReturnOrigin) else theView.GetDisplay.SetExtent(r.Scale(1.1)) end myProject = av.GetProject theView = av.GetActiveDoc theGraphics = theView.GetGraphics if (theGraphics.Count = 0) then exit end for each g in theGraphics if (g.GetObjectTag.AsString="Cari") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="Grafik") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="cetak") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="tutup") then theGraphics.RemoveGraphic(g) break
end end ' place label buttons on view theView.GetWin.Invalidate vRect = theView.GetDisplay.ReturnVisExtent theDisplay = theView.GetDisplay aWidth = theDisplay.ReturnExtent.GetWidth aHeight = theDisplay.ReturnExtent.GetHeight theOrigin = theDisplay.ReturnVisExtent.ReturnOrigin ' factor for spacing buttons xfac = aWidth/26500 yfac = aHeight/355 ' ensure button widths are properly sized butWidth = aWidth * 0.20 butHeight = aWidth * 0.03 ' make label button and set script & label 'theChart = av.GetActiveDoc lblSoil = LabelButton.Make lblSoil.SetClick("1-Grafik") lblSoil.SetLabel("Grafik") lblSoil.SetObjectTag("Grafik") xFac1 = xFac*1050 ' bwat geser ke samping kiri tombol buka tabel dan layout xFac2 = xFac*6750 ' bwat geser ke samping kiri tombol grafik dan tutup cari = yFac*40 ' Size control to 20% by 7% of display width newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY+c ari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblSoil, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cari") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) ' make label button and set script & label lblHydro = LabelButton.Make lblHydro.SetClick("edit legenda") lblHydro.SetLabel("Sebaran")
lblHydro.SetObjectTag("Sebaran") ' Size control to 20% by 7% of display width grafik = yFac*15 '1800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY +cari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblHydro, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Grafik") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONT ROL_CONSTRAINT_NONE) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-buat layout") lblZoning.SetLabel("Layout") lblHydro.SetObjectTag("Cetak") ' Size control to 20% by 7% of display width cetak = yfac*15 '3800 newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY +cetak) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cetak") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONT ROL_CONSTRAINT_NONE) av.GetProject.SetModified(true) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-Tutup") lblZoning.SetLabel("Tutup") lblHydro.SetObjectTag("tutup") ' Size control to 20% by 7% of display width tutup = yFac*5 '3800
newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY+c etak ) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("tutup") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) av.GetProject.SetModified(true) =================================== 3. Peta Penyebaran Kejadian Kebakaran Per Bulannya "1-viewKebakaran_perbulan" =================================== theView = av.GetActiveDoc 'theView.GetWin.Close objProject=Av.GetProject objNamaView="PETA PENYEBARAN KEBAKARAN PERBULAN" objView=objProject.FindDoc(objNamaView) objWindow=objView.GetWin objWindow.Open theThemes = theView.GetActiveThemes r = Rect.MakeEmpty for each t in theThemes r = r.UnionWith(t.ReturnExtent) end if (r.IsEmpty) then return nil elseif ( r.ReturnSize = (0@0) ) then theView.GetDisplay.PanTo(r.ReturnOrigin) else theView.GetDisplay.SetExtent(r.Scale(1.1)) end myProject = av.GetProject theView = av.GetActiveDoc theGraphics = theView.GetGraphics if (theGraphics.Count = 0) then exit end for each g in theGraphics if (g.GetObjectTag.AsString="Cari") then theGraphics.RemoveGraphic(g) break end end
for each g in theGraphics if (g.GetObjectTag.AsString="Grafik") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="cetak") then theGraphics.RemoveGraphic(g) break end end for each g in theGraphics if (g.GetObjectTag.AsString="tutup") then theGraphics.RemoveGraphic(g) break end end ' place label buttons on view theView.GetWin.Invalidate vRect = theView.GetDisplay.ReturnVisExtent theDisplay = theView.GetDisplay aWidth = theDisplay.ReturnExtent.GetWidth aHeight = theDisplay.ReturnExtent.GetHeight theOrigin = theDisplay.ReturnVisExtent.ReturnOrigin ' factor for spacing buttons xfac = aWidth/26500 yfac = aHeight/355 ' ensure button widths are properly sized butWidth = aWidth * 0.20 butHeight = aWidth * 0.03 ' make label button and set script & label 'theChart = av.GetActiveDoc lblSoil = LabelButton.Make lblSoil.SetClick("1-Grafik") lblSoil.SetLabel("Grafik") lblSoil.SetObjectTag("Grafik") xFac1 = xFac*1050 ' bwat geser ke samping kiri tombol buka tabel dan layout xFac2 = xFac*6750 ' bwat geser ke samping kiri tombol grafik dan tutup cari = yFac*40 ' Size control to 20% by 7% of display width
newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY+c ari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblSoil, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cari") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) ' make label button and set script & label lblHydro = LabelButton.Make lblHydro.SetClick("edit legenda") lblHydro.SetLabel("Sebaran") lblHydro.SetObjectTag("Sebaran") ' Size control to 20% by 7% of display width grafik = yFac*15 '1800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY+c ari) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblHydro, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Grafik") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONTRO L_CONSTRAINT_NONE) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-buat layout") lblZoning.SetLabel("Layout") lblHydro.SetObjectTag("Cetak") ' Size control to 20% by 7% of display width cetak = yfac*15 '3800 newPoint = Point.Make(theOrigin.GetX+xFac1,theOrigin.GetY+c etak) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize)
aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("Cetak") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONT ROL_CONSTRAINT_NONE) av.GetProject.SetModified(true) ' make label button and set script & label lblZoning = LabelButton.Make lblZoning.SetClick("1-Tutup") lblZoning.SetLabel("Tutup") lblHydro.SetObjectTag("tutup") ' Size control to 20% by 7% of display width tutup = yFac*5 '3800 newPoint = Point.Make(theOrigin.GetX+xFac2,theOrigin.GetY +cetak ) aSize = (butWidth*0.9)@(butHeight*2.5) aRect= Rect.Make(newPoint, aSize) aGraphicControl = GraphicControl.Make(lblZoning, aRect) theGraphics.UnselectAll aGraphicControl.SetSelected(false) aGraphicControl.SetEditable(false) aGraphicControl.SetObjectTag("tutup") theGraphics.AddName(aGraphicControl) 'this also sets name of control aGraphicControl.SetConstraint(#GRAPHICCONT ROL_CONSTRAINT_NONE) av.GetProject.SetModified(true) ======================= N. Grafik "1-Grafik" ======================= theView = av.GetActiveDoc for each t in theView.GetActiveThemes if (t.HasTable) then t.EditTable end theTable = av.GetActiveDoc theChart = Chart.MakeUsingDialog(theTable.GetVTab, "Chart") if (theChart <> NIL) then theChart.GetWin.Open end end
======================= O. Cetak "1-buat layout" ======================= t = TemplateMgr.Show if (t <> nil) then theView = av.GetActiveDoc docs = av.GetProject.GetDocs docs.Shuffle(theView, 0) objs = List.Make objs.Add(theView.GetName) objs.Merge(docs) layouts = List.Make for each d in docs if (d.Is(Layout) and d.Is(DialogEditor).Not) then layouts.Add(d) end end if (layouts.Count = 0) then l = Layout.Make else new = Layout.Make name = new.GetName new.SetName("") layouts.Insert(new) l = MsgBox.List(layouts, "Select a Layout", "View - Layout") if (l = new) then l.SetName(name) else av.GetProject.RemoveDoc(new) end end if (l <> nil) then l.UseTemplate(t) l.GetGraphics.FillFrames(objs) l.GetWin.Open end end ======================= P. Sebaran "Edit Legenda " ======================= Sebaran Edit legenda theView = av.getActiveDoc for each t in theView.getActiveThemes s = t.getLegendEditorScript if (s.isnull.not) then av.run(s,t) end end
======================= Q. "Buffer" ======================= buffer theThemes = av.GetActiveDoc.GetThemes for each aTheme in theThemes aTheme.SetActive(False) end
theThemes = av.GetActiveDoc aTheme=theThemes.FindTheme("Jaringan_jalan.sh p") aTheme.SetActive(True) TBW = av.FindDialog("WizardBuffer") Pthemelist = {} for each athm in av.GetActiveDoc.GetThemes if (athm.is(FTHEME)) then Pthemelist.Add(athm) end end if (Pthemelist.Count = 0) then Msgbox.Info("Your view contains no feature themes. The buffer wizard will only work for feature themes, i.e., ShapeFiles.","") else TBW.Open end theThemes = av.GetActiveDoc.GetThemes for each aTheme in theThemes aTheme.SetActive(True) end ======================= R. "Tutup View" ======================= theView=Av.GetActiveDoc theView.GetWin.Close