UPS, 22 USB コネクタ

In document Inspiron 1000 オーナーズマニュアル (Page 77-80)

Objek Tiga Dimensi (3D)

Objek 3D atau mesh adalah sekumpulan face/poligon yang digabung menjadi objek baru. Pada dasarnya objek-objek yang kompleks terdiri dari poligon-poligon sederhana. Umumnya poligon yang menjadi dasar pembentukan bagi objek-objek lain adalah segitiga (Susanto 2000).

Poligon sendiri tersusun dari sekumpulan vertek. Bentuk poligon dintentukan dari posisi vertek-verteknya. Vertek-vertek ini menentu-kan titik sudut dari poligon tersebut.

Vertek tak lain adalah titik pada dunia tiga dimensi. Setiap vertek mempunyai nilai x, y, dan z.

1

PENDAHULUAN

Latar Belakang

Suatu bangunan/gedung yang berukuran besar dan memiliki banyak ruangan, misalnya perpustakaan, sering menghadapi masalah yang berkaitan dengan kemudahan pengunjung barunya dalam menjelajah ruangan yang ada untuk pertama kalinya.

Tidak semua orang bisa memberikan informasi sesuai dengan yang diinginkan pengunjung baru. Dalam banyak hal pengalaman bisa menjadi guru yang paling berharga. Dalam hal ini pengalaman yang diberikan melalui sistem adalah berupa informasi tata letak dalam bangunan/gedung.

Untuk itu dibutuhkan sistem yang dapat merepresentasikan bangunan/gedung sesuai dengan keadaan di dunia nyata dan kehidupan manusia sehari-hari. Sistem yang demikian memberikan pengalaman virtual dan kesan lebih kuat bagi pengunjung.

Sebuah sistem navigasi ruangan interaktif dengan visualisasi virtual tiga dimensi (3D) dengan nama Virtual Room Navigator (VRN) telah dikembangkan oleh Nugroho (2004) untuk memenuhi kebutuhan tersebut. Studi kasus yang diambil adalah gedung Unit Pelaksanaan Teknis (UPT) Perpustakaan Pusat IPB. Sistem ini dibangun dengan tujuan untuk membantu pengunjung baru gedung UPT Perpustakaan Pusat IPB untuk menjelajah dan mengenali ruangan-ruangan di dalamnya. Akan tetapi, sistem tersebut dirasa kurang interaktif karena pengguna diharuskan menjelajah sendiri ruangan-ruangan yang ada tanpa ada informasi tata letak ruang terlebih dahulu. Untuk itu ditambahkan beberapa fitur yang akan membantu dalam melakukan navigasi. Diantaranya adalah fitur untuk mencari jalan terpendek dari posisi sekarang menuju ke suatu ruangan tertentu.

Selain itu, kekurangan-kekurangan sistem yang lain seperti tidak adanya petunjuk arah mata angin dan peta yang akan menunjukkan posisi pengguna berada, dapat menyebabkan pengguna tersesat di dalamnya. Sehingga penambahan arah mata angin dan peta dirasa sangat perlu dilakukan.

Disamping itu, editor yang telah disediakan sebelumnya dirasa terlalu rumit, dan banyak fitur-fitur yang tidak diperlukan. Untuk itu perlu dibuatkan editor yang lebih sederhana dan sesuai dengan kebutuhan.

Tujuan

Tujuan dari penelitian ini adalah menyempurnakan sistem Virtual Room Navigator yang telah ada, tanpa menghilang-kan fungsi sebelumnya.

Perbaikan yang dilakukan diantaranya adalah:

1 Menambahkan fungsi pencarian jalan terpendek (shortest path) untuk menuju ruangan tertentu dengan menggunakan algoritma Dijkstra.

2 Menambahkan denah/peta dan arah mata angin yang akan menginformasikan posisi pengguna saat itu.

3 Membuatkan editor untuk meng-update kondisi ruangan dan graph yang diguna-kan dalam pencarian jalan terpendek.

Ruang Lingkup

Ruang lingkup penelitian ini dibatasi pada: 1 Sistem yang dikembangkan, yaitu Virtual Room Navigator, mengambil studi kasus gedung UPT Perpustakaan Pusat IPB. 2 Kemampuan editor terbatas pada:

a editing terbatas pada penambah-an/pengurangan objek, dan pemindah-an tata letak objek. Objek bisa berupa: meja, kursi, komputer, rak buku, dll b editing graph (terdiri dari kumpulan

node dan edge) yang akan digunakan dalam pencarian jalur terpendek

c bentuk bangunan, dinding, ruangan, pintu, jendela, lampu, dll yang bersifat permanen tidak bisa diedit

3 Algoritma pencarian jalur terpendek (shortest path) yang digunakan adalah algoritma Dijkstra.

4 Jenis graph yang dibuat melalui editor adalah digraph.

TINJAUAN PUSTAKA

Objek Tiga Dimensi (3D)

Objek 3D atau mesh adalah sekumpulan face/poligon yang digabung menjadi objek baru. Pada dasarnya objek-objek yang kompleks terdiri dari poligon-poligon sederhana. Umumnya poligon yang menjadi dasar pembentukan bagi objek-objek lain adalah segitiga (Susanto 2000).

Poligon sendiri tersusun dari sekumpulan vertek. Bentuk poligon dintentukan dari posisi vertek-verteknya. Vertek-vertek ini menentu-kan titik sudut dari poligon tersebut.

Vertek tak lain adalah titik pada dunia tiga dimensi. Setiap vertek mempunyai nilai x, y, dan z.

Sistem Koordinat 3D

Objek 3D dibangun dalam sistem koordinat yang mempunyai 3 sumbu yaitu x, y dan z, atau disebut dengan sistem koordinat 3D. Aplikasi grafik 3D biasanya menggunakan dua jenis sistem koordinat Cartesian, yaitu aturan tangan kiri dan aturan tangan kanan (Microsoft 2001). Dalam kedua sistem koordinat ini, arah dari sumbu x positif adalah ke kanan, dan arah dari sumbu y positif adalah ke atas. Yang membedakan dua sistem koordinat ini adalah arah sumbu z positifnya. Koordinat sistem dengan aturan tangan kiri arah sumbu z positif adalah menjauhi bidang gambar atau pengamat. Sedangkan aturan tangan kanan, sumbu positif z mengarah ke pengamat. Ilustrasi dari kedua sistem tersebut dapat dilihat pada Gambar 1.

Gambar 1 Sistem koordinat 3D (Microsoft 2001).

Dalam graifk 3D, terdapat tiga macam ruang (space) (Buchanan et al. 1997), yaitu 1 Ruang Dunia (World Space), yaitu

koordinat dari semua titik yang ada dalam dunia 3D. Koordinat World Space bersifat absolut, tidak pernah berubah, dan tidak terpengaruh dari arah objek atau kamera. 2 Ruang Objek (Object Space), yaitu titik

koordinat pada objek yang relatif terhadap posisi dan sudut putarnya. Koordinat Ruang Objek mengikuti objeknya, kemanapun arah objek dalam dunia 3D. 3 Ruang Kamera (Camera Space), yaitu

ruang 3D yang merepresentasikan kamera dari pengguna, atau layar komputer, dimana objek masih mempunyai kedalaman (koordinat z). Koordinat ruang kamera adalah seperti ruang objek, tetapi objeknya adalah kamera itu sendiri. Pada Gambar 2 diilustrasikan perbanding-an perbanding-antara World Space dan Object Space dalam sistem koordinat 3D.

Gambar 2 Perbandingan World Space dan Object Space dalam sistem koordinat 3D (Buchanan et al. 1997).

3D Engine

Software yang memproses struktur data bangun 3D, termasuk seluruh pencahayaan, aksi-aksi, dan informasi keadaan secara umum, dan me-render (menterjemahkan) dunia 3D dari sudut pandang pemain atau kamera disebut 3D Engine (LaMothe 2003). 3D Engine digunakan untuk mempercepat pembuatan aplikasi 3D, misalnya game. Contoh 3D Engine yang sering digunakan dalam pembuatan game adalah Valve, Quake Engine, dan Unreal Engine.

3D State Engine

3D State Engine adalah salah satu 3D Engine yang dibuat oleh 3DState Ltd, Israel. 3D Engine ini dapat di-download secara gratis di alamat www.3dstate.com untuk keperluan pendidikan. Engine ini dikeluarkan dalam beberapa versi bahasa pemrograman. Diantaranya adalah versi 3D State untuk Visual Basic 6.0. Sistem koordinat 3D yang digunakan dalam 3D State adalah sistem koordinat kartesian dengan aturan tangan kanan (Buchanan et al. 1997).

Dalam paketnya, 3D State juga menyediakan beberapa tools, diantaranya adalah 3D Webmaker, yaitu sebuah tool world builder. World Builder adalah tools yang digunakan untuk membangun dunia 3D yang cukup kompleks.

Graph

Sebuah graph G berisi himpunan V, yang merupakan vertek-vertek dari G, bersama dengan himpunan E yang merupakan pasangan-pasangan dari vertek-vertek (V) yang berbeda-beda. Pasangan-pasangan ini disebut edge-edge dari G. Jika e=(v, w) adalah sebuah edge dengan vertek v dan w, maka v dan w dikatakan berada di atas e, dan e

3

dikatakan incident dengan v dan w. Jika pasangan tersebut (v, w) tidak diperhatikan urutannya, maka G disebut undirected graph. Namun jika diperhatikan urutannya, maka G disebut directed graph. Directed graph sering disingkat dengan digraph (Kruse 1989). Path

Path adalah sebuah graph tidak kosong P=(V,E), dimana V={x0, x1, ..., xk} dan E={x0x1, x1x2, ..., xk-1xk}, dimana seluruh xi adalah berbeda. Vertek x0 dan xk dihubungkan oleh P dan mereka disebut ujung-ujung path, sedangkan x1, ..., xk-1 adalah vertek-vertek tengah dari P. Panjang dari sebuah path adalah jumlah dari edge-edge pada suatu path (Diestel 2005).

Shortest Path

Problem sorthest path melibatkan sebuah graph terboboti yang digambarkan oleh sekumpulan tepi dan titik {E, V}. Diberikan sebuah titik awal, s, tujuannya adalah menemukan jalur terpendek yang ada antara s dengan sembarang titik dalam graph tersebut. Oleh karena itu, setiap jalur akan memiliki penjumlahan terkecil yang mungkin dari komponen tepi (u, v) dan bobotnya (w [u, v]) (Freeland et al. 1997). Algoritma yang dapat digunakan untuk mencari shortest path diantaranya adalah algoritma Floyd dan algoritma Dijkstra.

Algoritma Dijkstra

Algoritma Djikstra (diambil dari nama penemunya, E.W. Dijkstra) digunakan untuk menyelesaikan masalah pencarian jalur terpendek (shortest path) dari suatu vertek ke vertek-vertek lainnya dalam suatu graph G=(V, E). Di dalam hal ini edge-edge dalam graph G tersebut mempunyai bobot yang berbeda (weighted graph) (Morris 1998). Algoritma Djikstra menjaga dua kumpulan vertek:

S = kumpulan vertek yang telah ditemukan jalur terpendeknya dari vertek awal

V-S = sisa vertek yang lain (disimbolkan juga dengan Q). Struktur data lain yang diperlukan

d = array yang berisi perkiraan jalur terpendek untuk tiap-tiap vertek

pi = array yang berisi predecessor untuk tiap vertek

Operasi dasarnya adalah sebagai berikut 1 Inisialisasi d dan pi

2 Set S = kosong.

3 Selama ada vertek dalam V-S

a Urutkan vertek-vertek dalam V-S

berdasarkan perkiraan jarak terpendek dengan sumber.

b Tambahkan u ke dalam S, dengan u

adalah vertek dalam V-S yang terpendek.

c Lakukan prosedur relaxation untuk semua vertek-vertek dalam V-S yang terhubung lewat vertek u.

Algoritma Dijkstra dalam pseudo-code menurut Morris (1998) adalah sebagai berikut shortest_paths( Graph g, Node s )

initialise_single_source( g, s ) S := { 0 } /* Make S empty */ Q := Vertices( g ) /* Put the vertices in a PQ */

while not Empty(Q)

u := ExtractCheapest( Q ); AddNode( S, u ); /* Add u to S */ for each vertex v in Adjacent( u ) relax( u, v, w )

Inisialisasi

Prosedur ini menginisialisasi graph sehingga semua vertek tidak mempunyai predecessor (pi[v]=nil) dan perkiraan cost (jarak) untuk tiap vertek menuju s adalah tak terhingga atau infinite (d[v]=∞).

initialise_single_source( Graph g, Node s ) for each vertex v in Vertices( g ) g.d[v] := infinity g.pi[v] := nil g.d[s] := 0; Relaxation

Proses relaxation memperbaharui seluruh cost (d) dalam himpunan vertek V-S yang terhubung melalui vertek u. Prosedur ini memeriksa, apakah cost atau perkiraan jarak terpendek dari vertek v dapat diperbaiki melalui vertek u (dengan membuat u sebagai predecessor dari vertek v).

Algoritma dari prosedur relaxation adalah sebagai berikut

relax( Node u, Node v, double w[][] ) if d[v] > d[u] + w[u,v] then

d[v] := d[u] + w[u,v] pi[v] := u

System Development Life Cycle

Pada awalnya, pengembangan software hanya dilakukan oleh seorang programmer dengan menuliskan kode program untuk menyelesaikan suatu masalah. Sekarang, sistem yang dibangun sangat besar dan kompleks sehingga perancang, analis, programmer, tester, dan pengguna harus bekerja bersama untuk membuat jutaan kode program.

Untuk mengatur semua ini, berbagai macam model System Development Life Cycle (SDLC) telah dibuat. Diantaranya, waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, dan synchronize and stabilize (Kay 2002).

Model Waterfall

Model SDLC yang paling tua, dan terkenal paling baik, adalah waterfall: serangkaian fase dimana output dari setiap fase menjadi input bagi fase berikutnya (Kay 2002).

Model ini terbagi kedalam beberapa fase, yaitu (Somerville 2001):

1 Analisis kebutuhan dan definisi (Requirements analisys and definition) Kegunaan sistem, batasan, dan tujuan ditentukan dengan melakukan konsultasi dengan pengguna sistem, yang kemudian akan didefinisikan secara detail dan disajikan sebagai spesifikasi sistem.

2 Desain sistem dan perangkat lunak (System and software design)

Proses desain sistem membagi-bagi kebutuhan baik dalam kebutuhan hardware maupun software, yang akan menyusun keseluruhan arsitektur sistem.

Desain software melibatkan

pengidentifikasian dan pendeskripsian dasar abstraksi sistem software dan hubungan mereka.

3 Implementasi dan pengujian unit (Implementation and unit testing)

Selama fase ini, desain software diwujudkan sebagai sebuah set program atau unit-unit program. Pengujian unit melibatkan pengujian bahwa tiap unit bekerja sesuai dengan spesifikasinya. 4 Integrasi dan pengujian sistem (Integration

and system testing)

Unit-unit program tersebut digabungkan dan diuji sebagai sebuah sistem yang lengkap untuk menjamin bahwa kebutuhan perangkat lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak diserahkan kepada pengguna.

5 Penggunaan dan perawatan (Operation and maintenance)

Biasanya, ini adalah fase paling lama. Sistem dipasang dan digunakan dalam praktek. Perawatan melibatkan perbaikan kesalahan-kesalahan (error) yang belum ditemukan pada proses sebelumnya, meningkatkan implementasi unit-unit sistem dan melakukan penambahan kegunaan sistem apabila ditemukan kebutuhan baru.

Pada Gambar 3 diilustrasikan fase-fase dalam model waterfall tersebut.

Requirements definition

System and software design

Impelentation and unit testing

Integration and system testing

Operation and maintenance

Gambar 3 Model waterfall (Somerville 2001).

METODE PENELITIAN

In document Inspiron 1000 オーナーズマニュアル (Page 77-80)

Related documents