DESAIN SISTEM

2.7 DESAIN SISTEM

Desain sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam kesatuan yang utuh dan berfungsi. Tahap desain sistem mempunyai dua tujuan utama, yaitu memenuhi kebutuhan kepada pemakai sistem dan memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrogram komputer dan ahli teknik lainnya yang terlibat.

2.7.1 Mapserver

Menurut Prahasta (2006), Mapserver merupakan aplikasi freeware dan open source yang dapat digunakan untuk mengembangkan aplikasi-aplikasi berbasis internet yang melibatkan data spasial (peta). Aplikasi pertama kali dikembangkan di Universitas Minessota, Amerika Serikat untuk proyek ForNet (sebuah proyek untuk manajemen sumber daya alam) yang didukung oleh NASA dilanjutkan dengan dikembangkan proyek TerraSIP untuk manajemen data lahan.

Pengembangan Mapserver menggunakan berbagai aplikasi open source atau freeware seperti Shapelib yang digunakan untuk baca tulis format data Shapefile, FreeType untuk me-render karakter, GDAL/OGR untuk baca atau tulis format data vektor maupun raster, dan Proj 4 untuk mengganti beragam proyeksi peta.

Menurut Nuryadin dalam Murdiyanto (2010), pada bentuk paling dasar Mapserver merupakan sebuah program CGI (Common Gateway Interface). Program tersebut akan dieksekusi di web server, dan berdasarkan parameter tertentu terutama konfigurasi dalam bentuk file *.MAP yang disebut mapfile akan menghasilkan data yang kemudian akan dikirim ke web browser.

Fitur-fitur dari Mapserver diantaranya adalah:

a. Menampilkan data spasial dalam format vektor seperti Shapefile (ESRI), ArcSDE (ESRI), PostGIS dan berbagai format vektor lain dengan menggunakan library OGR.

APPL7, dan berbagai format data raster lain dengan menggunakan library GDAL.

c. Menggunakan quadtree dalam indexing data spasial, sehingga operasi-operasi spasial dapat dilakukan dengan cepat.

d. Dapat dikembangkan dengan tampilan keluaran yang dapat diatur dengan menggunakan file template.

e. Dapat melakukan seleksi obyek berdasarkan nilai, titik, area, atau berdasarkan sebuah obyek spasial tertentu.

f. Mendukung rendering karakter berupa font TrueType.

g. Mendukung penggunaan data raster maupun vektor yang dibagi-bagi menjadi sub bagian yang lebih kecil sehingga proses untuk mengambil dan menampilkan gambar dapat dipercepat.

h. Dapat menggambarkan peta tematik yang dibangun menggunakan ekspresi logik atau ekspresi regular.

i. Dapat menampilkan label dari obyek spasial, dengan label dapat diatur sedemikian rupa sehingga tidak saling tumpang tindih. j. Konfigurasi dapat diatur secara on the fly melalui parameter yang ditentukan

pada URL. k. Dapat menangani beragam sistem proyeksi secara on the fly. Saat ini selain dapat mengakses Mapserver sebagai program CGI, dapat diakses Mapserver sebagai modul Mapscript, melalui berbagai bahasa skrip: PHP, Perl, Phyton atau Java. Sehingga akses fungsi-fungsi Mapserver melalui skrip akan lebih memudahkan pengembangan aplikasi. Pengembang dapat memilih bahasa yang paling familiar.

Mapserver menggunakan pendekatan Thin Client. Sehingga pemrosesan dilakukan di sisi server. Informasi peta dikirim ke web browser di sisi klien dalam bentuk file gambar (JPG, PNG, GIF, atau TIFF). Pada saat ini kelemahan pendekatan thin client sudah dapat diatasi dengan adanya framework aplikasi seperti Chameleon CartoWeb, Kmap.

Aplikasi yang dibangun dengan menggunakan Mapserver memiliki arsitektur sebagai berikut:

HTTP Server

(Apache,

IIS,

Mapserver Mapserv CGI or Mascript + PHP

or Mapscript + Perl or ...

Mapfile

HTML Template

(app, scripts)

Map Data

Eksternal Data

Internet

File HTML

MAP

HTTP/CGI request

x,y click location, layer

status on/off, etc

Browser

Gambar 2.21 Arsitektur Mapserver

Sumber : Prahasta, 2006

Pada sistem aplikasi, browser (client) mengirimkan request ke web server dalam bentuk request yang terkait dengan data spasial (lokasi [X,Y]) klik kursor, status [on/off] layer yang akan dimunculkan, dan lain sebagainya. Kemudian oleh web server request tersebut dikirim ke server dan Mapserver. Kemudian Mapserver akan membaca mapfile, dan data peta untuk membentuk sebuah gambar yang sesuai dengan request dari client. Setelah gambar tersebut di-render, file gambar yang bersangkutan akan dikirim ke web server kembali dan diteruskan ke browser client sesuai dengan format template tampilannya.

2.7.2 Mapserver for Windows (MS4W)

Mapserver for Windows (MS4W) adalah suatu perangkat lunak yang sangat memudahkan para pengguna di dalam meng-install (atau melakukan setup) Mapserver (UMN atau Cheetah) pada platform sistem operasi Ms. Windows. Tujuan utama pembuatan paket ini adalah untuk memudahkan semua (tingkatan) pengguna, secepatnya (terhindar dari segala detail yang rumit, di dalam mempersiapkan lingkungan kerja yang diperlukan oleh Mapserver di lingkungan Ms. Windows. Selain itu, paket ini juga merupakan suatu cara atau lingkungan yang sangant baik untuk memaketkan dan kemudian mendistribusikan aplikasi- aplikasi Mapserver kepada pihak manapun (Prahasta, 2006).

Dalam MS4W ada beberapa isi paket, paket dasar MS4W akan melakukan instalasi lingkungan server web (pre-configured) bersama dengan beberapa komponen seperti berikut.

2. PHP

3. MapServer CGI

4. PHP/Mapscript

5. Program Utility (pustaka) GDAL & OGR

6. Program Utility MapServer

2.7.3 Basis Data (Database)

Sistem manajeman basis data didefinisikan sebagai suatu sistem yang terdiri atas kumpulan file/tabel yang saling berhubungan (dalam sebuah basis data pada sebuah sistem komputer) dan kumpulan program (sistem manajeman database ) yang memungkinkan beberapa pemakai dan atau program lain untuk mengakses dan memanipulasi file/tabel tersebut (Fathansyah, 2002). Salah satu server basis data terkenal yaitu PostgreSQL menggunakan bahasa pemrograman SQL.

Menurut Adam dalam Murdiyanto (2010) PostgreSQL atau postgres adalah server Object Relational Database Management System (ORDBMS) open source. PostgreSQL menawarkan fitur-fitur yang dimiliki DBMS komersial diantaranya:

a. Dukungan tipe data yang banyak digunakan pada database komersial, seperti floating point , integer, character string, money, date/time dan tipe data binary.

b. Dukungan tipe data yang semakin beragam, seperti tipe data untuk geometri (seperti Point, Polygon, Circle, dan Line), tipe data jaringan (TCP/IP) untuk menyimpan data pada IP4, IP6, dan Mac Address (Lnet, cidr, maddr).

c. Didukung tipe data array dan tipe data komposit serta konsep tipe data Object Identifiers (OIDS), yang digunakan PostgreSQL sebagai primary key pada beberapa tabel.

d. Dukungan penyimpanan binary large object (gambar, suara, video). Kinerja PostgreSQL sebagai server database object relational semakin memudahkan user untuk mengimplementasikan sistem aplikasi yang dibuat.

e. Dukungan fitur foreign key dan referential integrity, membuat PostgreSQL banyak dipilih sebagai database server dalam pengembangan aplikasi.

f. PostgreSQL telah mengimplementasikan tipe join SQL99 : inner join, left, right , full outer join, natural join, yang mempermudah proses query.

kompleks pada sisi server. Fungsi trigger bisa ditulis dalam bahasa C, Procedural Language .

h. Dukungan fungsi Full text indexing.

i. Tersedianya fungsi ODBC. j. Fitur rule yang dapat digunakan untuk memanipulasi data pada operasi SQL

yang dilakukan, serta fungsi yang berkenaan dengan keamanan data, seperti fungsi hash cryptographic (MD5, SHAI).

k. Dukungan standard regular expression (full POSIX) dan case-intensitive

regular expression matching . l. Dukungan dari bahasa pemrograman pada sisi server, seperti: C, SQL,

PL/pgSQL, Tcl, Perl, Phyton, dan Ruby. m. Temporay table yang digunakan sebagai tabel temporer, dimana akan dihapus

pada saat koneksi database berakhir. PostGIS adalah sebuah perangkat lunak tambahan (geo-spatial extentsion) untuk database PostgreSQL yang berfungsi untuk menyimpan obyek-obyek sistem informasi geografis (data spasial) (Anonymous, 2011). PostGIS dikembangkan sebagai sebuah teknologi database spasial open source di bawah lisensi GNU general public licence. Fungsi PostGIS pada database PostgreSQL adalah spatially enables (menambahkan tabel khusus untuk penyimpanan data- data spasial) untuk menyimpan obyek-obyek sistem informasi geografis (data spasial) dalam database PostgreSQL selain menambahkan tabel data spasial. PostGIS juga menambahkan tabel geometry (geom_table) untuk menyimpan informasi dan atribut geometri data spasial, sehingga dengan adanya informasi geometri peta tersebut bisa dilakukan analisis dan pemrosesan data SIG menggunakan query SQL.

Dalam PostGIS juga sudah terintegrasi dua konverter yaitu shp2pgsql dan pgsql2shp. Fungsi shp2pgsql adalah untuk mengkonversi data shapefile (format yang dikembangkan ESRI untuk menyimpan informasi-informasi atribut dan geometri data spasial) ke format database (format .sql) sehingga memungkinkan database postgres untuk membuat kolom geometri yang digunakan oleh Dalam PostGIS juga sudah terintegrasi dua konverter yaitu shp2pgsql dan pgsql2shp. Fungsi shp2pgsql adalah untuk mengkonversi data shapefile (format yang dikembangkan ESRI untuk menyimpan informasi-informasi atribut dan geometri data spasial) ke format database (format .sql) sehingga memungkinkan database postgres untuk membuat kolom geometri yang digunakan oleh

2.7.4 Pmapper Framework

Framework adalah sekumpulan library yang diorganisasikan pada sebuah rancangan arsitektur untuk memberikan kecepatan, ketepatan, kemudahan dan konsistensi di dalam pengembangan aplikasi atau pemecahan suatu masalah (Aini, 2009). Beberapa manfaat yang dapat diperoleh dari penggunaan framework adalah:

1. Penggunaan komponen-komponen reusable, waktu pengembangan lebih singkat, penerapan design, patterns memudahkan dalam rancangan, pengembangan dan pemeliharaan sistem.

2. Stability dan reliability, aplikasi yang dibangun lebih stabil dan handal karena berbasis pada framework yang sudah teruji stabilitas dan kehandalannya.

3. Coding style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs.

4. Security concern, framework mengantisipasi dan memasang perisai terhadap adanya berbagai masalah keamanan yang mungkin timbul.

5. Dokumentasi, framework dapat mendisiplinkan pengembang aplikasi untuk menulis dokumentasi untuk apa yang dituliskan. Pmapper framework menyediakan fungsi besar serta multiple konfigurasi untuk mengatur fasilitas pada aplikasi Mapserver yang didasarkan pada PHP/Mapscript (Anonymous, 2011). Pmapper dibangun dengan bahasa PHP dan Javascript . Fungsi yang termasuk di dalamnya antara lain:

1. DHTML (DOM) zoom/pan, didukung browser: Mozzila/Firefox 1.+/Netscape 6.1+, IE 5/6, Opera 6.+, Konqueror 3.+.

2. Pan/zoom dengan mouse, keyboard, slider, dan reference map.

3. Fungsi query (identity, select, search).

4. Hasil query ditampilkan dengan menggabungkan basis data dan hyperlink.

5. Fungsi print dalam format HTML dan PDF.

6. Konfigurasi pada beberapa fungsi, tingkah laku dan tampilan menggunakan INI file.

7. HTML legends.

9. Penggunaan banyak bahasa interface (yaitu: Bahasa Inggris, Bahasa Jerman, Bahasa Italia, Bahasa Perancis, Bahasa Swedia, dan lain-lain). Aplikasi Pmapper ini telah diuji pada Mapserver versi 5.4 sampai 6.0 dengan sistem operasi Windows, Linux, dan MAC OS X. Aplikasi ini mendukung format data raster dan vektor. Format data vektor adalah shapefile dan data raster adalah JPEG, TIFF, dan ECW.

2.7.5 Desain Antarmuka (Interface)

Tujuan dari antarmuka pengguna adalah untuk memungkinkan pengguna menjalankan setiap tugas dalam kebutuhan pengguna (user requirement). Jadi dalam membangun sebuah antarmuka pengguna harus berdasar pada kebutuhan pengguna.

Dalam mengembangkan antarmuka pengguna perlu diingat beberapa prinsip antarmuka pengguna yang lain, yaitu :

1. Antarmuka yang baik tidak mengharuskan pengguna untuk mengingat tampilan antarmuka pengguna.

2. Antarmuka pengguna menampilkan apa yang dimengerti oleh pengguna atau visualisasi keadaan dari sistem yang sekarang. Ada beberapa hal yang harus dihindari dalam merancang interface (antarmuka), yaitu :

1. Menampilkan terlalu banyak informasi dan terlalu banyak pilihan.

2. Menampilkan terlalu sedikit informasi, terlalu sedikit pilihan dan tanpa konteks.

3. Eksploitasi struktur menu standar yang sudah familiar dengan perangkat lunak yang sering digunakan pengguna.

Adapun tahapan dalam merancang interface adalah sebagai berikut :

1. Desain perangkat lunak/ menu Desain perangkat lunak/ menu meliputi desain menu yang akan ditampilkan dalam aplikasi yang dirancang. Desain menu mengakomodasi kebutuhan dari administrator dan user. Desain menu harus dibuat mudah untuk dipahami. Biasanya menu dibagi menjadi beberapa kategori dan di setiap kategori menu terdapat submenu yang berhubungan dengan menu sebelumnya.

Desain antarmuka merupakan desain tampilan dari masing masing menu yang dirancang. Desain antarmuka ini meliputi :

a. Desain form masukan Desain form masukan merupakan desain form yang berfungsi sebagai masukan data ke sistem atau ke basis data. Desain form masukan disesuaikan dengan kebutuhan data yang disimpan dalam basis data.

b. Desain aplikasi server Desain aplikasi server merupakan desain yang dijadikan tampilan bagi administrator. Desain aplikasi server berdasarkan kebutuhan administrator.

c. Desain aplikasi klien Desain aplikasi klien merupakan desain yang dijadikan tampilan bagi user. Desain aplikasi klien berdasarkan kebutuhan user.

d. Desain form keluaran Desain form keluaran meliputi desain laporan dan desain tampilan dokumen yang tersimpan. Dalam mendesain form keluaran didasarkan pada keinginan bagaimana data ditampilkan.