Bab V IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dibahas mengenai implementasi modul mapedit dan modul nodemap.
V.1 Implementasi Modul Mapedit Pada implementasi modul mapedit akan di bahas mengenai lingkungan implementasi dan tahapan implementasi. V.1.1 Lingkungan Implementasi Modul Mapedit Modul mapedit dikembangkan dalam komputer jinjing yang memiliki spesifikasi lingkungan perangkat keras sebagai berikut: 1. Processor Centrino 1,67 GHz 2. Memori – 1024 MB DDR PC2700; 3. Harddisk IDE – 60 GB; 4. Land Card 100Mbps. 5. Switch ProLink 100 MBps. lingkungan pengembangan modul mapedit tersebut memiliki spesifikasi perangkat lunak sebagai berikut: 1. Sistem Operasi Microsoft Windows XP Professional Edition SP2; 2. Java 2 SDK Standard Edition versi 1.6.0.3; 3. IDE untuk java; 4. Tomcat WebServer 5.0.30 5. web browser (mozilla) 2.0.06 V.1.2 Tahapan Implementasi Tahapan implementasi modul mapedit yaitu a. Implementasi kelas-kelas java yang digunakan untuk penulisan ke file xml yang nantinya akan digunakan untuk pengaturan layer tampilan. Implementasinya ada 2 file java yang terkait yaitu :
64
1. XMLConfigWriter.java, kode utamanya dapat dilihat pada Lampiran B.1. 2. AddLayerAction.java, adalah sebuah file servlet yang digunakan untuk menangani permintaan manajemen konfigurasi layer. b. Implementasi obyek-obyek prototype javascript dapat dilihat pada Tabel V-1. Tabel V-1 Obyek-obyek prototype javascript
No
File implementasi
1
Config.js
2
Listener.js
3
ModelBase.js
4 5
ButtonBase.js ZoomIn.js
Hal Yang penting/Fungsi if (document.readyState == null) { mapbuilder.setLoadState(MB_LOAD_CONFIG); config = new Config(mbConfigUrl); config[config.id] = config; config.loadConfigScripts(); } //mbConfig.url adalah file – file xml hasil dari proses management layer this.addListener = function(param, listener, target) { if (window.logger) logger.logEvent("addListener: " + param, this.id, target.id); if (!this.listeners[param]) { this.listeners[param] = new Array(); } this.removeListener(param, listener, target); this.listeners[param].push(new Array(listener, target)); if (!listener) { alert(mbGetMessage("undefinedListener", target)); }} //Listener digunakan untuk penangkapan event yang terjadi pada saat melakukan interaksi dengan modul mapedit Kode modelbase sangat berguna untuk mengirimkan permintaan ke modul nodemap dan menerima tanggapan atas permintaan tersebut. Kode yang penting dapat dilihat pada Lampiran B.2 Digunakan untuk menangani tombol-tombol pada main menu modul mapedit. Digunakan untuk memperbesar tampilan pada peta. Pada implementasi digunakan opensource openlayer (openlayers.org).Kode yang penting adalah : this.createControl = function() { return OpenLayers.Control.ZoomBox; }
6
7
ZoomOut.js
OverviewMap.js
Digunakan untuk memperkecil tampilan pada peta. Pada implementasi digunakan opensource openlayer (openlayers.org).Kode yang penting adalah : draw: function() { this.handler = new OpenLayers.Handler.Box(this, {done: this.zoomBox}, {keyMask: this.keyMask}); } Digunakan untuk menata layer-layer yang dihasilkan oleh modul nodemap. Kode yang penting adalah : OverviewMap.prototype.addOverviewMap = function(objRef) { if (objRef.layerNames) { showBaseLayer = false; for (var i = 0; i < objRef.layerNames.length; i++) {
65
No
File implementasi
Hal Yang penting/Fungsi for (var j = 0; j < map.layers.length; j++) { if (objRef.layerNames[i] == map.layers[j].params.LAYERS) { // Found it, add a clone to the layer stack if (map.layers[j] == map.baseLayer) { showBaseLayer = true; } else { options.layers.push(objRef.getClonedLayer(map.layers[j]));}
DragPanHandler.js
8 9
InsertFeature.js
10
Context.js
11
EditPoint.js
Digunakan untuk penanganan pergeseran / navigasi tampilan. Digunakan untuk melakukan penambahan kenampakan pada suatu peta. Pada file js ini digunakan untuk meload file xsl yang sudah direncanakan. Kode yang digunakan sebagai berikut : this.insertXsl = new XslProcessor(baseDir + "/tool/xsl/wfs_Insert.xsl"); Digunakan untuk visualisasi tampilan seperti pada yang tercantum di file config.xml. Kode yang digunakan seperti this.setWindowHeight = function(height) { var win = this.doc.selectSingleNode("/wmc:ViewContext/wmc:General/wmc:Window"); win.setAttribute("height", height); this.callListeners("resize"); } Digunakan untuk menangani interaksi pengeditan point. Kode – kode yang dapat digunakan adalah this.instantiateControl = function(objRef, Control) { return new Control(objRef.featureLayer, OpenLayers.Handler.Point); }
12
EditLine.js
Digunakan untuk menangani interaksi pengeditan line. Kode – kode yang dapat digunakan adalah : this.instantiateControl = function(objRef, Control) { return new Control(objRef.featureLayer, OpenLayers.Handler.Path); }
13
EditPolygon.js
Digunakan untuk menangani interaksi pengeditan polygon. Kode – kode yang dapat digunakan adalah : this.instantiateControl = function(objRef, Control) { return new Control(objRef.featureLayer, OpenLayers.Handler.Polygon); }
14
FeatureList.js
15 16
GetFeatureInfo.js MapBuilder.js
Digunakan untuk menampilkan hasil jika meminta info pada suatu kenampakan di peta. Digunakan untuk mengatasi permintaan info pada suatu kenampakan. Digunakan untuk memelihara hubungan antar penyedia data (server di modul nodemap). Pembuatan mapbuilder.js digunakan untuk memenuhi kebutuhan nonfungsional yaitu modul mapedit harus dapat mengetahui status dari modul nodemap yang ditebarkan di server-server penyedia data geografi (Lampiran B.3).
Pada implementasi terdapat kendala dalam penanganan proxy webserver, untuk mengatasi hal itu dibutuhkan file-file yang dapat menanganinya. Terdapat pustaka–pustaka yang dapat diperlukan seperti Apache HttpClient. Bentuk kodekode yang dapat digunakan dapat dilihat di Lampiran C.
66
c. Implementasi Antar Muka modul mapedit Pada implementasi antar muka management layer dipergunakan jsp (java server pages) yang dapat ditunjukkan pada file addlayer.jsp, dengan hasil seperti pada Gambar V-1. Pada implementasi modul mapedit terdapat maksimal 3 buah layer dengan bentuk titik, garis dan luasan.
Gambar V-1 Implementasi antarmuka management config layer
Implementasi
antar
muka
menu
utama,
menggunakan
mapedit/demo/tesis/ index.html, dengan hasil seperti pada gambar V-2.
Gambar V-2 Implementasi Antarmuka Utama Modul Mapedit
67
file
V.2 Implementasi Modul Nodemap Terdapat batasan dalam format data yang akan diimplementasikan dalam modul nodemap, tidak semua format data geografi yang didukung oleh geotools akan diimplementasikan dalam modul nodemap, format data yang diimplementasikan secara penuh adalah (shapefile, postgre/postgis, mysql spatial dan oracle spatial). Sifat dari modul nodemap adalah modul yang digunakan untuk penangan multiformat dan data geografi yang sifatnya tersebar maka modul nodemap akan ditebarkan menggunakan bantuan suatu webserver tertentu yang dapat mendukung bahasa java) untuk implementasi pada tesis ini digunakan : 1. webserver yang digunakan yaitu Tomcat 5.0.30 dan Jetty 6.0.11. 2. java standar edition version 1.6.03 3. java enterprise edition version 1.4 4. framework java untuk lingkungan web yaitu Spring 2.0 5. ide yang digunakan adalah MyEclipse versi 6.0 V.2.1 Implementasi Kelas
Tabel V-2 dapat menunjukan implementasi modul nodemap disertai nama kelas dan nama packagenya. Tabel V-2 Implementasi kelas modul nodemap
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Package org.nodemap.global org.nodemap.global.xml org.nodemap.data.transfer org.nodemap.global org.nodemap.global org.nodemap.global org.nodemap.action.data org.nodemap.action.data org.nodemap.action.data org.nodemap.action.data org.nodemap.action org.nodemap.global org.nodemap.action org.nodemap.config.xml org.nodemap.request org.nodemap.servlets org.nodemap org.nodemap org.nodemap.util.requests.readers
Kelas Config.java XMLConfigReader.java DataTO.java Data.java DataStoreInfo.java FeatureTypeInfo.java DataStoresNewAction.java DataStoresEditorAction DataFeatureTypesNewAction.java DataFeatureTypesSelectAction.java UpdateNodeMapAction.java UserContainer.java SaveXMLAction.java XMLConfigWriter.java ServiceDispatcher.java AbstractService.java Response.java Request.java RequestReader.java
68
No 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
Package org.nodemap.wfs.servlets org.nodemap.wms.servlets org.geotools.gml org.apache.xerces.parsers.SAXParser org.nodemap.wms.servlets org.nodemap.wms.requests org.nodemap.wms.requests org.nodemap.wms.responses org.nodemap.wms org.nodemap.wms org.nodemap.wms.responses org.geotools.renderer.lite org.nodemap.wms.responses.map.png org.geotools.image org.nodemap.wfs.servlets org.nodemap.wfs.requests.readers org.nodemap.wfs.requests org.nodemap.wfs.responses org.nodemap.wfs.responses org.nodemap.wfs.servlets org.nodemap.wfs.requests.readers org.nodemap.wfs.requests org.nodemap.wfs.requests org.nodemap.wfs.requests org.nodemap.wfs.requests org.nodemap.wfs.requests org.nodemap.wfs.requests org.nodemap.wfs.requests org.nodemap.wfs.responses org.nodemap.wfs.responses
Kelas WFService.java WMService.java GMLFilterGeometry.java SAXParser.java GetMap.java GetMapReader.java GetMapRequest.java GetMapResponse.java GetMapProducer.java RasterMapProducer.java DefaultMapProducer.java StreamingRenderer.java PNGMapProducer.java ImageWorker.java Feature.java GetFeatureReader.java FeatureRequest.java FeatureResponse.java GML2FeatureResponseDelegate.java Transaction.java TransactionXmlReader.java TransactionHandler.java TransactionFeatureHandler.java SubTransactionRequest.java DeleteRequest.java InsertRequest.java UpdateRequest.java TransactionRequest.java TransactionResponse.java WfsTransResponse.java
Untuk mengatasi data yang relatif besar dibutuhkan strategi dalam penampungan hasil (buffer response), kode yang dapat digunakan dalam Lampiran B.4. Kode yang penting dalam melakukan pengubahan kenampakan terdapat pada file TransactionResponse.java, kode dapat dilihat pada Lampiran B.5. Kode untuk melakukan pembacaan xml stream kiriman dari modul mapedit dapat dilihat pada Lampiran B.6.
V.2.2 Implementasi Penanganan MultiFormat di Modul Nodemap
Berikut
ini
dijabarkan
kode-kode/implementasi
yang
digunakan
untuk
meregistrasi kelas-kelas yang bertanggungjawab dalam penanganan datastore disesuaikan dengan format datanya. 69
Pada folder nodemap\WEB-INF\classes\META-INF\services\ ditambahkan file org.geotools.data.DataStoreFactorySpi yang di dalamnya terdapat interface yang digunakan untuk penanganan data antara lain : a. org.geotools.data.shapefile.ShapefileDataStoreFactory b. org.geotools.data.postgis.PostgisDataStoreFactory c. org.geotools.data.oracle.OracleDataStoreFactory d. org.geotools.data.mysql.MySQLDataStoreFactory
Kode yang digunakan untuk mencari datastore yang sesuai yaitu : public static synchronized DataStore getDataStore(Map params) throws IOException { Iterator ps = getAvailableDataStores(); DataStoreFactorySpi fac; while (ps.hasNext()) { fac = (DataStoreFactorySpi) ps.next(); try { if (fac.canProcess(params)) { return fac.createDataStore(params); } } catch (Throwable t) { LOGGER.log(Level.WARNING, "Could not acquire " + fac.getDescription() + ":" + t, t); } } return null; }
Tabel V-3 dapat menunjukkan potongan kode penting penerapan fac.canProcess (params).
Tabel V-3 Penerapan kode penerapan multiformat
Kelas ShapefileDataStoreFactory.java
Kode public boolean canProcess(Map params) { boolean accept = false; if (params.containsKey(URLP.key)) { try { URL url = (URL) URLP.lookUp(params); accept = canProcess(url); } catch (IOException ioe)
70
Kelas
Kode {
} } return accept; }
public boolean canProcess(URL f) { return f.getFile().toUpperCase().endsWith("SHP");} public boolean canProcess(Map params) { if (!super.canProcess(params)) { return false;
PostGisDataStoreFactory.java
}
if (!(((String) params.get("dbtype")).equalsIgnoreCase("postgis"))) { return (false); } else { return (true);
}
}
public boolean canProcess(Map params) { if ((((String)
MySQLDataStoreFactory.java
params.get("dbtype")).equalsIgnoreCase("mysql"))) { return (true); } else { return (false); } }
public boolean canProcess(Map params) { if (params != null) { if (params.get("dbtype") == null || !params.get("dbtype").toString().equalsIgnoreCase("or acle")) { return false; //short circuit test } Param arrayParameters[] = getParametersInfo();
OracleDataStoreFactory.java
for (int i = 0; i < arrayParameters.length; i++) { Param param = arrayParameters[i]; Object value; if( !params.containsKey( param.key ) ){ if( param.required ){ return false; } else {
continue;}
try { value = param.lookUp( params ); } catch (IOException e) {}
71
}
V.2.3 Implementasi Antar Muka
Halaman-halaman yang digunakan dalam modul nodemap dibuat dengan jsp (java server pages) dengan pengontrolnya menggunakan framework struts 1.3.8. Halaman-halaman yang digunakan dapat dilihat pada Tabel V-4.
Tabel V-4 implementasi file jsp pada modul nodemap
No 1 2 3 4 5
Folder nodemap\WEB-INF\data nodemap\WEB-INF\pages\data\featureTypes nodemap\WEB-INF\pages
Halaman Jsp DataConfigDataStoresNew.jsp DataConfigDataStoresEditor.jsp New.jsp Editor.jsp configActions.jsp
V.3 Pengujian Layanan Pengujian layanan dilakukan di lab tesis S2, dengan menggunakan 1 komputer PC dan 1 buah laptop dengan menggunakan IP (internet protocol) statis di lingkungan ITB. Secara sederhana dapat diperlihatkan dalam Gambar V-3, yaitu: a. Pada komputer PC (dengan alamat IP 167.205.35.111), diinstal perangkat lunak pendukung yaitu: 1. webserver jetty 6.0.1 dengan instalasi menggunakan port 1111 2. modul nodemap 3. mozilla webbrowser 2.0.0.12 Di dalam pc ini terdapat data geografi yaitu: format shapefile b. Pada laptop (dengan alamat IP 167.205.35.115), diinstal perangkat lunak pendukung yaitu: 1. web server tomcat 5.0.30 dengan instalasi menggunakan port 3333 2. modul nodemap dan mapedit 3. mozilla webbrowser 2.0.0.12 Di dalam laptop ini terdapat data geografi yaitu format postgre (postgis), format mysql (spatial) dan format oracle (spatial).
72
V.3.1 Pengujian Kasus Uji Pengujian dilakukan secara black box, yaitu jenis pengujian fungsional tanpa memperhatikan jalannya eksekusi program, melainkan untuk melihat bagaimana masukan dan hasil keluaran untuk setiap fungsi.
Gambar V-3 Deskripsi Lingkungan Pengujian
V.3.1.1 Membuka Data Konfigurasi
Pengujian kasus guna membuka data konfigurasi adalah pengujian pada saat aktor penata data pada modul nodemap menjalankan webserver (tomcat/jetty), modul nodemap akan menjalankan suatu perintah untuk membaca konfigurasi file xml yang ada pada modul nodemap (obyek XMLConfigReader akan dijalankan). Untuk mengetahui bahwa modul nodemap dapat membuka konfigurasi file xml dengan baik, maka dapat dilihat dengan perintah preview Peta. Untuk detail pengujian membuka data konfigurasi dapat dilihat pada Tabel V-5.
Tabel V-5 Detail Pengujian Kasus Guna Membuka Data Konfigurasi Prosedur Pengujian 1. Penguji menekan file batch (startup webserver) 2. Penguji memilih perintah preview peta
Masukan 1. Eksekusi file batch startup webserver 2. Eksekusi perintah preview peta
Keluaran yang
Kriteria
Diharapkan
Evaluasi Hasil
1. Modul nodemap akan membaca file xml konfigurasi
Pengujian dapat
2. Terdapat keterangan “Data loaded
keluaran yang
73
di diterima jika modul nodemap dapat berperan sesuai dengan
Hasil yang Didapat 1. Pada saat file batch dipilih maka obyek XMLConfigReader membaca file konfigurasi xml yang dapat dilihat pada layar konsol pada Gambar V-4
diharapkan 2. Pada
saat
aktor
Prosedur Pengujian
Masukan
Keluaran yang
Kriteria
Diharapkan
Evaluasi Hasil
tanpa kesalahan” pada saat menjalankan browser aktor penata data 3. Pada saat menjalankan perintah preview peta terdapat nama datastore.
Hasil yang Didapat penata data membuka aplikasi nodemap di browser maka ada tampilan “Data loaded tanpa kesalahan” seperti Gambar V-5. 3. Pada saat aktor penata data memilih pilihan demo > preview maka terdapat nama feature seperti Gambar V-6. 4. Pada saat aktor penata data memilih nama feature/preview maka Gambar V-7 akan ditampilkan.
Data load : loadDataStores 1688 [INFO] org.nodemap.global.Data - Data : loadDataStore 1688 [INFO] org.nodemap.global.Data - map Key : conn_postgis 1688 [INFO] org.nodemap.global.Data - map Value : conn_postgis .... 50000 [INFO] org.nodemap.global.Data - Data : loadFeatureType 50000 [INFO] org.nodemap.global.Data - map Key : topp:pg_jabar_bts 50016 [INFO] org.nodemap.global.Data - map Value : org.nodemap.global.FeatureTy peInfo@1330af4 50016 [INFO] org.nodemap.global.Data - Finish Mambaca XML Configuration Data
Gambar V-4 Console Pembacaaan Data Config
Gambar V-5 Data loaded tanpa kesalahan
74
Gambar V-6 Nama DataStore yang diload
Gambar V-7 Preview DataStore
V.3.1.2
Mengonfigurasi Datastore
Pengujian kasus guna mengonfigurasi datastore adalah pengujian pada waktu aktor memilih data > datastores > New/Edit. Tampilan di browser akan menunjukan menu pilihan pembuatan data store baru ataupun pengeditan. Tabel V-6 dapat menunjukan dengan detail pengujian mengonfigurasi datastore.
Tabel V-6 Prosedur Pengujian Mengonfigurasi Datastore
Prosedur Pengujian
Masukan
1. Penguji memasukan url pada alamat url di browser (sebagai contoh http://167.205.35.111:1111/ nodemap/, kemudian memilih pilihan data> datastores.
1. alamat url 2. pilihan data>datastores
Keluaran yang Diharapkan Menu datastores akan muncul
75
Kriteria Evaluasi Hasil - Pengujian akan diterima jika menu datastore akan muncul
Hasil yang Didapat Layar menu konfigurasi data store dapat dimunculkan seperti Gambar V8
Kriteria Evaluasi Hasil
Keluaran yang Diharapkan
Hasil yang Didapat
Prosedur Pengujian
Masukan
2. Penguji memilih menu New
1. pilihan new
1. Pilihan datastore yang tersedia akan muncul (combo pilihan)
1. Pengujian akan diterima jika combo pilihan akan muncul
Combo pilihan datastore muncul sesuai dengan Gambar V-9.
a. Penguji memilih shapefile (database file)
2. pilihan shapefile
2. Masukan mengenai lokasi shapefile akan ditampilkan
Masukan datastore seperti Gambar V-10 dapat diperlihatkan oleh sistem.
b. Penguji memilih postgre (spatial database system)
3. pilihan postgis
3. masukan mengenai koneksi ke postgre akan ditampilkan
2. Pengujian diterima jika masukan lokasi data shapefile dapat diperlihatkan 3. Pengujian akan diterima jika masukan mengenai koneksi dapat diberikan oleh sistem
3. Penguji memilih menu edit a. Merubah password (menjadi salah) suatu koneksi ke database spatial (postgre)
Masukan koneksi yang salah
Sistem akan memberitahukan kesalahan
Sistem dapat menunjukan kesalahan seperti Gambar V-12.
Masukan alamat file yang salah
Sistem akan memberitahukan kesalahan
Pengujian akan diterima jika sistem dapat menunjukan kesalahan
b. Merubah alamat (menjadi salah) suatu alamat database file
Gambar V-8 Menu Konfigurasi DataStore
76
Masukan mengenai koneksi dapat diberikan oleh sistem seperti Gambar V-11
Gambar V-9 ComboPilihan DataStore
Gambar V-10 Menu Edit DataStore (shapefile)
Gambar V-11 Menu Edit DataStore (postgre/postgis
77
Gambar V-12 Salah masukan Alamat File Shapefile dan Koneksi ke Database Spatial
V.3.1.3 Mengonfigurasi Kenampakan
Penguji mengonfigurasi kenampakan adalah pengujian dimana aktor penata data memilih Data > FeatureTypes. Untuk lebih detail dapat diperlihatkan pada tabel V-7. Tabel V-7 Detail Pengujian Mengonfigurasi Kenampakan
Prosedur Pengujian
Masukan
Keluaran yang Diharapkan Tampilan menu “Konfigurasi FeatureType” akan ditampilkan.
Kriteria Evaluasi Hasil Pengujian akan berhasil jika menu “Konfigurasi FeatureType” akan tampil.
Hasil yang Didapat Menu “Konfigurasi FeatureType” tampil sesuai Gambar V-13
1. Penguji memilih pilihan Data > FeatureTypes
Pilihan Data > FeatureTypes
2. Penguji memilih link New
Pilihan link New
Menu Pembuatan Feature Type baru akan ditampilkan.
Pengujian akan dinyatakan berhasil jika layar Pembuatan Feature Type baru akan ditampilkan
Layar pembuatan feature type dapat ditampilkan sesuaii Gambar V-14
3. Penguji memilih tombol new (pada layar buat feature baru) / Penguji memilih tombol edit (pada menu konfigurasi feature type).
Tombol new / tombol edit
Layar Editor Feature Type akan ditampilkan.
Pengujian akan dinyatakan berhasil jika Layar Editor Feature Type akan ditampilkan.
Layar Feature Type ditampilkan sesuai dengan Gambar V-15.
78
Gambar V-13 Menu Konfigurasi FeatureType
Gambar V-14 Pilihan FeatureType
Gambar V-15 Editor FeatureType
V.3.1.4 Menyimpan ke Data Konfigurasi
Pengujian menyimpan ke data konfigurasi adalah pengujian dimana aktor memilih tombol Simpan XML (Gambar V-16), detail mengenai pengujian menyimpan ke data konfigurasi dapat ditunjukan pada Tabel V-8.
79
Tabel V-8 Detail Pengujian Menyimpan ke Data Konfigurasi
Prosedur Pengujian Penguji menekan tombol SimpanXml.
Masukan Pemilihan tombol SimpanXml
Keluaran yang Diharapkan Sistem dapat menulis ke file catalog.xml mengenai konfigurasi datastore, serta info.xml mengenai keterangan featuretype.
Kriteria Evaluasi Hasil Pengujian dinyatakan berhasil jika sesuai dengan keluaran yang diharapkan
Gambar V-16 Pilihan Save To XML
Gambar V-17 catalog.xml (datastore shapefile)
Gambar V-18 catalog.xml (datastore postgre/postgis)
80
Hasil yang Didapat Sistem (modul nodemap) dapat menuliskan ke file catalog.xml mengenai konfigurasi datastore Gambar V.17 dan V.18, serta ke info.xml mengenai keterangan featuretype (Gambar V.19)
Gambar V-19 info.xml (shapefile jabar_danau.shp)
V.3.1.5 Memanajemen Layer Konfigurasi Pengujian kasus guna memanajemen layer konfigurasi adalah pengujian dimana aktor pengguna layanan melakukan konfigurasi layer-layer yang akan ditampilkan dan layer yang dapat diedit. Detail mengenai pengujian manajemen layer konfigurasi dapat ditampilkan pada tabel V-9. Tabel V-9 Detail Pengujian Manajemen Layer Konfigurasi
Prosedur Pengujian
Masukan
Keluaran yang Diharapkan
1. Penguji memasukan url untuk mengakses modul mapedit (seperti http://167.205.35.115:3333/ mapedit/)
url akses modul mapedit
Layar selamat datang modul mapedit akan ditampilkan
2. Penguji memilih tombol ConfigLayer.
Pilihan “Config Layer”
Layar “Konfigurasi Layer” akan tampil.
81
Kriteria Evaluasi Hasil Pengujian dinyatakan berhasil jika sesuai dengan keluaran yang diharapkan
Hasil yang Didapat Sistem menampilkan layar selamat datang, seperti gambar V-20.
Sistem menampilkan layar “Konfigurasi Layer” sesuai dengan gambar V-21.
3. - Penguji mengimputkan alamat serta nama layer, seperti http://167.205.35.111:1111/ nodemap/wms, dan topp:jabar_danau. - Penguji memilih “save”
Pemasukan alamat dan nama layer, serta menekan “save”
Sistem akan menuliskan ke file config.xml dan lokasi.xml yang nanti akan digunakan untuk proses lebih lanjut.
Gambar V-20 Pilihan tombol Config Layer
Gambar V-21 layar konfigurasi layer
Gambar V-22 config.xml
82
Sistem menuliskan ke file config.xml (gambar V.22) dan ke file lokasi.xml (gambar V.23) dengan baik.
V.3.1.6 Mendapatkan Peta dan Menavigasi Pengujian kasus guna mendapatkan peta dan menavigasi dimana aktor memilih link
adalah pengujian
gambar pada tampilan awal modul mapedit. Pada
pengujian ini dilakukan pada berbagai format data. Gambar V-24 sampai dengan V-27 menunjukan hasil peta yang dapat dihasilkan.
Gambar V-23 lokasi.xml
Gambar V-24 Mendapatkan Peta dari format Shapefile
Gambar V-25 Mendapatkan Peta dari format postgre/postgis
83
V.3.1.7
Mendapatkan Informasi Kenampakan
Pengujian kasus guna mendapatkan informasi kenampakan adalah pengujian dimana aktor memilih kenampakan pada peta yang dihasilkan. Gambar V-28 menunjukan hasil yang ditampilkan pada peta dari format datastore oracle spatial.
Gambar V-26 Mendapatkan Peta dari Format Mysql Spasial
Gambar V-27 Mendapatkan Peta dari Format oracle
Gambar V-28 Mendapatkan Informasi Kenampakan dari format datastore oracle
84
V.3.1.8 Memanajemen Kenampakan Pengujian memanajemen kenampakan dilakukan untuk 3 operasi dasar yaitu (add, update dan delete) pada 4 datastore yang telah diimplementasikan.
V.3.1.8.1 Shapefile
Pengujian dilakukan dengan menggunakan data jabar_danau.shp yang berada di personal computer dengan ip address 167.205.35.111 dapat dilihat pada form masukan (Gambar V-29), operasi penambahan dapat dilakukan sesuai dengan Gambar V-30, operasi pengubahan (update) dapat dilakukan (Gambar V-31), dan operasi penghapusan dapat dilakukan (Gambar V-32).
Gambar V-29 Isian Masukan
Gambar V-30 Penambahan kenampakan dari Format ShapeFile
85
Gambar V-31 Pengubahan kenampakan dari Format Shapefile
Gambar V-32 Penghapusan kenampakan dari Format Shapefile
V.3.1.8.2 postgre/postgis Pengujian dilakukan dengan menggunakan data pada tabel pg_jabar_bts yang berada di personal computer dengan ip address 167.205.35.115 dapat dilihat pada isian masukan (Gambar V-33), operasi penambahan dapat dilakukan sesuai dengan Gambar V-34, operasi pengubahan (update) dapat dilakukan (Gambar V35), dan operasi penghapusan dapat dilakukan (Gambar V-36).
Gambar V-33 Isian masukan untuk Layer dari datastore postgre
86
Gambar V-34 Tampilan Penambahan dan efek di database untuk datastore postgre
Gambar V-35 Tampilan Pengupdatean untuk datastore postgre
Gambar V-36 Tampilan Penghapusan untuk datastore postgre
87
V.3.1.8.3 mysql (spatial) Pengujian dilakukan dengan menggunakan data tabel mysql_jabar_danau yang berada di personal komputer dengan ip address 167.205.35.115 dapat dilihat pada form masukan (Gambar V-37), operasi penambahan dapat dilakukan sesuai dengan Gambar V-38, operasi pengubahan (update) dapat dilakukan (Gambar V39), dan operasi penghapusan dapat dilakukan (Gambar V-40).
Gambar V-37 Form Masukan Mysql layer
Gambar V-38 Tampilan Penambahan dari format Mysql layer
Gambar V-39 Tampilan Pengeditan Mysql layer
88
Gambar V-40 Tampilan Penghapusan Mysql layer
V.3.1.8.4 oracle (spatial)
Pengujian dilakukan dengan menggunakan data tabel oracle_jabar_jalan yang berada di personal computer dengan ip address 167.205.35.115 dapat dilihat pada form masukan (Gambar V-41), operasi penambahan dapat dilakukan sesuai dengan Gambar V-42, operasi pengubahan (update) dapat dilakukan (Gambar V43), dan operasi penghapusan dapat dilakukan (Gambar V-44).
Gambar V-41 Tampilan masukan memanajemen layer untuk oracle spatial
Gambar V-42 Penambahan feature di layer oracle dan cek hasil di konsol sql plus
89
Gambar V-43 Pengupdatean feature di layer oracle dan cek hasil di console sql plus
Gambar V-44 Penghapusan feature di layer oracle dan cek hasil di console sql plus
V.3.2 Pengujian Kebutuhan Non Fungsional
Kebutuhan nonfungsional adalah kebutuhan perangkat lunak yang bukan utama (fungsional), tetapi sangat berpengaruh dalam jalannya suatu program. Pada pengujian ini dilakukan terhadapat 2 macam kebutuhan nonfungsional yaitu penanganan jika sumber data mati/tidak berfungsi dan penanganan format data geografi dalam ukuran yang relatif besar besar (sql file > 50 Mbytes). V.3.2.1 Menangani jika server sumber data mati/tidak berfungsi
90
Gambar V-45 menunjukan konfigurasi dari sumber data yang digunakan yaitu 167.205.35.115 (topp:pg_jabar_bts (format postgre)) dan 167.205.35.111 (topp:jabar_bts (format shapefile)), gambar V-46 menunjukan jika keduanya dalam kondisi normal, skenario untuk pengujian yaitu dimana server 167.205.35.111 dimatikan maka akan ditunjukan pada gambar V-47, dimana terjadi pesan kesalahan.
Gambar V-45 Konfigurasi Layer awal
Gambar V-46 Sumber Data Normal
Gambar V-47 Salah satu sumber data dimatikan timbul pesan
91
V.3.2.2 Dapat menangani data geografi dalam ukuran besar.
Pada pengujian kebutuhan non fungsional yaitu layanan dapat menangani data geografi dalam ukuran besar dibutuhkan suatu data (format *.sql) dengan ukuran 109,663 Mbytes, yaitu suatu data sql dari departemen perairan amerika. Hasil dari pengujian ini adalah layanan ini dapat : a. Menjalankan kasus guna mendapatkan peta dan menavigasi dalam < 5 menit. b. Menjalankan kasus guna memanajemen kenampakan (add (Gambar V48), update (Gambar V-49 ) ) dalam < 10 detik.
Gambar V-48 Loading Data dengan ukuran yang relatif besar
Gambar V-49 Pengupdatean feature dengan ukuran yang relatif besar
92
93