[Perancangan Peta 3 Dimensi] Part 2 – Prosedur Pengerjaan Penelitian

Penelitian Transformasi peta ini membutuhkan beberapa tahap pengerjaan mulai dari pekerjaan diluar komputer (terjuan langsung ke lokasi penelitian untuk mengambil data yang dibutuhkan) sampai merancangnya menjadi sebuah sistem yang terintegrasi dan utuh.

Model Integrasi
Model Integrasi

Adapun urutan pengerjaan yang harus dilalui adalah sebagai berikut:

  1. Pengumpulan data yang berhubungan dengan data gedung, lokasi dan sekitarnya
  2. Riset denah yang akan dibuat, perlu diperhatikan pula aspek skala semakin presisi semakin baik. Denah mengenai data lokasi yang telah terkumpul terlebih dahulu divisualisasikan menggunakan rancangan gambar 2d, hal ini akan sangat memudahkan dalam perancangan selanjutnya (3D), karena kita bisa fokus terlebih dahulu kepada draf 2d yang lebih mudah dilakukannya koreksi apabila terjadi kesalahan, jadi tak akan membuang waktu pada saat pemodelan 3D. Untuk kasus pemodelan di UPI ini, saya menggunakan Master Plan (denah UPI secara keseluruhan dengan sekala presisi). Hal ini sangat membantu dalam peletakan posisi gedung serta jalan-jalan yang menghubungkannya.
  3. Master Plan
    Master Plan
  4. Membuat rancangan virtual denah dalam modeler 3D dengan aplikasi yang telah dikuasai. Mungkin akan terlibat beberapa tool baik software stand alone maupun plug-in yang bertujuan agar tingkat efektifitas perancangan menjadi tinggi dan flexible.
  5. Pembangunan Interface Program di Flex yang disesuaikan dengan fitur-fitur yang akan ada dalam program ini, tiga fitur besar itu adalah:
    1. explore 3D,
    2. Find Path
    3. All list (berisi informasi mengenai gedung, jurusan dan fakultas)
    4. Search
  6. Mengekpor hasil rancangan denah ke program third party yang menyediakan tools programming yang mendukung import file 3D. Dalam penelitian ini saya telah memutuskan dari sekian banyak aplikasi yang mendukung, saya memilih Flex sebagai tool main programming dan integrasi 3D. Hal tersebut dikarnakan telah saya temukannya plug-in (PaperVision3D) berupa class-class yang dapat mengintegrasikan model 3D kedalam flex yang nantinya akan di coding agar menjadi model 3D yang dapat di eksplor secara bebas.
  7. Sinkronisasi pergerakan model 3D dengan status programing yang diberikan oleh program utama (Tempat dimana semua aspek diintegrasikan)
  8. Perancangan dan Pembangunan Database yang disesuaikan dengan kebutuhan fitur. Saya menggunakan tool AMFPHP sebagai ‘wali’ untuk kebutuhan pengambilan data dari MySql menggunakan Flex dengan back-end PHP untuk insert, update & delete data. CakePHP ikut andil disini.
  9. Pemberian informasi pada tiap tempat yang masuk dalam area peta
  10. Pembuatan Fitur Find Path atau pencarian jalur terpendek. Menggunakan Algoritma Djikstra (Ini sub-program, hanya sebagai utilities saja)
  11. Tes semua aspek integritas, interface di Flex, programming pada model 3D, Database, Programming pada fitur Find Path dan fitur Search.
  12. Compiling

Post2 selanjutnya akan lanjut membahas mengenai teknis :). keep in touch, hehe..
See you later ^^

Advertisements

[Perancangan Peta 3 Dimensi] Part 1 – Konsep Pemrograman Berbasis Objek

Mulai sekarang dan kedepannya gw bakal post bahasan-bahasan tentang skripsi (yang masih progress). Mulai dari konsep hingga implementasi :).
Moga bisa jadi referensi buat yang mo bikin project sejenis. OK.
(ada beberapa yg gw sadur dari sumber lain, lupa apaan, waktu itu googling acak, hehe..)

Then, enjoy 🙂

____________________________________

OOP (Object Oriented Programming) atau Pemrograman Berbasis Objek adalah suatu cara baru dalam berfikir serta berlogika. Pendekatan berbasis objek menawarkan pendekatan lain yang lebih ekonomis, yaitu dengan membuat objek-objek mandiri, yang sedapat mungkin terlepas satu-sama-lain dan bekerja-sama dengan mengirim pesan satu-sama-lain. Metode berbasis objek juga menawarkan konsep penggunaan-ulang komponen (reusable-components) yang tidak ditawarkan pada metode perancangan struktural. Dengan konsep penggunaan-ulang komponen, ukuran pada program dapat di tekan karena developer program hanya tinggal menggunakan komponen yang telah dibuat dan menambahkan sedikit properti agar membuatnya unik selama konteks fungsi yang akan dikerjakan komponen baru hampir sama dengan fungsi dasar dari komponen dasar

Perancangan perangkat lunak ini menggunakan Flex builder 3.0 sebagai aplikasi utama pembangunnya. Flex yang berbasis bahasa pemrograman Action Script 3.0, merupakan IDE (Integrated Development Environment) dengan bahasa pemograman yang murni menerapkan metode OOP. Dalam menjalankan program berbasis Flex, komputer user harus terinstal flash player dan adobe AIR untuk program Flex yang berjalan di AIR yang berbasis desktop.

Ada beberapa istilah yang lekat sekali dengan konsep pemrograman berbasis objek, antara lain:

1)  Classes : Mendefinisikan abstrak dari sebuah objek, termasuk atribut dan properties objek, juga menentukan karakteristik dari si objek. Singkatnya class adalah sebuah blueprint untuk mendeskripsikan sesuatu.

Contoh class ‘kucing’. Class ‘kucing’ akan memiliki karakteristik yang dimiliki oleh seluruh kucing di dunia. Seperti bulu, karnivora, berkaki empat (karakteristik), suara  mengeong, berlari cepat (sifat kebiasaan). Class mengusung konsep modularitas dan struktur dalam permrograman berbasis objek. Sebuah class harus dapat dikenali oleh orang yang awam pemrograman, ini berarti bahwa sebuah class harus memiliki arti dalam konteks yang tengah dikerjakan.

2) Object: Objek adalah model dari class. Class ‘kucing’ mendefinisikan segala kemungkinan karakteristik dan kebiasaaan yang dimiliki kucing. Contoh, Tom adalah objek. Objek Tom adalah seekor kucing, Kucing mempunyai  bulu, tom mempunyai bulu berwarna abu-putih. Jadi objek adalah pendefinisian suatu benda yang merujuk kepada suatu class.

3) Instance: Instance adalah pengindentifikasian objek dari class atau biasa disebutkan sebagai objek yang telah diberi attribut. Seperti contoh diatas, tom adalah instansiasi dari kelas kucing. Tom memiliki warna abu-putih, memakai kalung berbentuk bell, tom suka sekali ikan segar dan lain sebagainya yang berisi pemberian attribut yang membuat objek menjadi unik satu sama lain.

4) Method: Method adalah kemampuan dari objek. Tom sebagai kucing memiliki kemampuan berlari cepat. Jadi lariCepat() adalah salah satu Method dari si Tom. Tom mungkin memiliki method lainnya seperti, Method berjalan(), makan(), kerjaJerry() dan lain sebagainya.

5) Message passing: Adalah proses pengiriman pesan antar objek atau memerintah sebuah objek untuk menjalankan sebuah method. Sebagai contoh ada sebuah objek bernama Jerry yang memberi pesan ‘duduk’ kepada Tom dengan memanggil method yang dimiliki Tom yang bernama method duduk();

6) Inheritance: “Subclasses” adalah spesialisasi dari class. Yang memiliki sifat turunan dari class utamanya. Contoh class ‘Kucing’ dapat memiliki subclasses seperti class Angora, Persia dan jenis kucing lainnya. Dalam kasus ini Tom mungkin masuk dalam subclasses Angora, yang notabene nya berangkat dari sebuah class induk bernama ‘Kucing’.

7) Encapsulation: Enkapsulasi adalah penyembunyian kompleksitas internal dari fungsi objek-objek. Sebagai contoh: Sebuah mobil melakukan penyembunyian kompleksitas. Pengemudi hanya tinggal menyalakan mobil dengan memutar kunci kontak pada tempat yang telah disediakan tanpa harus mengetahui sistem yang bekerja di dalam memproses si mobil dari keadaan ‘mati’ sampai bisa ‘hidup’.

8) Polymorphism: Polymorphism mengizinkan programmer untuk membuat class anggota yang mirip dengan class induk. Lebih rincinya, Polymorphism dalam objek oriented programming adalah kemampuan dari objek-objek yang memiliki tipe data yang berbeda untuk merespon sebuah fitur yang sama (similiar) dalam cara yang berbeda.

Perbedaan objek dengan kelas:

  1. Object diciptakan dari Class.
  2. Object merupakan contoh jadi dari sebuah Class.
  3. Class merupakan template jadi dari sebuah objek yang di instantiasi.
  4. Kita dapat menciptakan sebuah Object atau lebih dari Class

Yup, skian dulu bahasan tetang konsep Object Oriented , tar kita sambung ke bahasan selanjutnya :D..
See you around!..