LISTING PROGRAM A.1 Inno Setup 5 (Installer)
LISTING PROGRAM A.1 Inno Setup 5 (Installer)
/Script generated by the Inno Setup Script Wizard. #define MyAppName "Dream House" #define MyAppVersion "1.0" #define MyAppPublisher "Dream House" #define MyAppExeName "Dream house.exe" [Setup] ; (To generate a new GUID, click Tools | Generate GUID inside the
IDE.) AppId={{83DD2EB7-102A-4C48-9C87-DAA9960D8A41} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} InfoBeforeFile=D:\inkubator\ta\dreamhouse\read me.txt OutputBaseFilename=dreamhouse setup SetupIconFile=D:\inkubator\icon\icon.ico Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 [Files] Source: "D:\inkubator\ta\dreamhouse\Dream house.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\inkubator\ta\dreamhouse\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
A.2 Dream House.Fla
Leanding page 1
Tombol Exit
on (release){ fscommand("quit", ""); }
Tombol Website
on (release) { getURL("http://www.raftorigin.com", ""); }
Tombol Next
on (release) {stopAllSounds(); gotoAndPlay(2); }
Leanding page 2
Tombol Logo
on (release) {stopAllSounds();gotoAndPlay(167); }
Leanding page 3
Tombol Go
on (release) {gotoAndPlay(375); }
Home Tombol Exit
on (release){ fscommand("quit", ""); }
Tombol Website
on (release) { getURL("http://www.raftorigin.com", ""); }
Tombol website on (release) { getURL("https://twitter.com/RAFTorigin", ""); }
Tombol Facebook
on (release) { getURL("http://www.facebook.com/RAFTorigin?fref=ts", ""); }
Tombol Twitter
on (release) { getURL("https://twitter.com/RAFTorigin", ""); }
Tombol Blog
on (release) { getURL("http://raftorigin.blogspot.com", ""); }
Jam
onEnterFrame = function () { waktu = new Date(); jam = waktu.getHours(); menit = waktu.getMinutes(); detik = waktu.getSeconds(); if (jam<10) { jam = "0"+jam;
} if (menit<10) { menit = "0"+menit;
} if (detik<10) { detik = "0"+detik;
} };
Katalog
on (release) {gotoAndPlay(442); }
Marker
on (release) {gotoAndPlay(440); } <FlippingBook>
<width>1000</width> <height>316</height> <scaleContent>true</scaleContent> <firstPage>0</firstPage> <alwaysOpened> false </alwaysOpened> <autoFlip> 50 </autoFlip> <flipOnClick> true </flipOnClick> <staticShadowsDepth> 1 </staticShadowsDepth> <dynamicShadowsDepth> 1 </dynamicShadowsDepth> <moveSpeed> 2 </moveSpeed>
<closeSpeed> 3 </closeSpeed> <gotoSpeed> 3 </gotoSpeed> <flipSound>sound/03.mp3</flipSound> <pageBack> 0x1C90CB </pageBack> <loadOnDemand> true </loadOnDemand> <cachePages> true </cachePages> <cacheSize> 4 </cacheSize> <preloaderType> Progress Bar </preloaderType> <userPreloaderId></userPreloaderId> <pages>
<page>pages/1.jpg</page> <page>pages/2.jpg</page> <page>pages/3.jpg</page> <page>pages/4.jpg</page> <page>pages/5.jpg</page> <page>pages/6.jpg</page>
</pages> </FlippingBook> @echo Sedang membuka file @start Marker.pdf @cls @exit
AR (augmented reality) on (release) {gotoAndPlay(438); }
@echo Sedang membuka file @start Marker.pdf @cls @exit
Harga desain
on (release) {gotoAndPlay(436); }
Tombol Interior
on(release){ hasilgambar=luar1*luar2*100000; }
Tombol Eksterior
on(release){ hasildalam=dalam1*dalam2*200000; }
Help
on (release) {gotoAndPlay(437); }
A.3 ARToolkit
#ifdef _WIN32 # include <windows.h> #endif #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef __APPLE__ # include <GLUT/glut.h> #else # include <GL/glut.h> #endif #include <AR/config.h> #include <AR/video.h> #include <AR/param.h> // arParamDisp() #include <AR/ar.h> #include <AR/gsub_lite.h> #include <AR/arvrml.h> #include "object.h" ===================================================================== ======= // Global variables // ===================================================================== ======= // Preferences. static int prefWindowed = TRUE; static int prefWidth = 640; // Fullscreen mode width. static int prefHeight = 480; // Fullscreen mode height. static int prefDepth = 32; // Fullscreen mode bit depth. static int prefRefresh = 0; // Fullscreen mode refresh rate. Set to 0 to use default rate.
// Image acquisition. static ARUint8 *gARTImage = NULL; // Marker detection. static int gARTThreshhold = 100; static long gCallCountMarkerDetect = 0; // Transformation matrix retrieval. static int gPatt_found = FALSE; // At least one marker.
// Drawing. static ARParam gARTCparam; static ARGL_CONTEXT_SETTINGS_REF gArglSettings = NULL; // Object Data. static ObjectData_T *gObjectData; static int gObjectDataCount;
// Functions static int setupCamera(const char *cparam_name, char *vconf, ARParam
- cparam) { ARParam wparam; int xsize, ysize; // Open the video path. if (arVideoOpen(vconf) < 0) { fprintf(stderr, "setupCamera(): Unable to open connection to camera.\n"); return (FALSE);
} // Find the size of the window. if (arVideoInqSize(&xsize, &ysize) < 0) return (FALSE); fprintf(stdout, "Camera image size (x,y) = (%d,%d)\n", xsize, ysize); // Load the camera parameters, resize for the window and init. if (arParamLoad(cparam_name, 1, &wparam) < 0) { fprintf(stderr, "setupCamera(): Error loading parameter file %s for camera.\n", cparam_name); return (FALSE); } arParamChangeSize(&wparam, xsize, ysize, cparam); fprintf(stdout, "*** Camera Parameter ***\n"); arParamDisp(cparam); arInitCparam(cparam); if (arVideoCapStart() != 0) { fprintf(stderr, "setupCamera(): Unable to begin camera data capture.\n"); return (FALSE);
} return (TRUE); } static int setupMarkersObjects(char *objectDataFilename) {
// Load in the object data - trained markers and associated bitmap files. if ((gObjectData = read_VRMLdata(objectDataFilename, &gObjectDataCount)) == NULL) { fprintf(stderr, "setupMarkersObjects(): read_VRMLdata returned error !!\n"); return (FALSE); } printf("Object count = %d\n", gObjectDataCount); return (TRUE);
} static void Quit(void)
{ arglCleanup(gArglSettings); arVideoCapStop(); arVideoClose();
#ifdef _WIN32 CoUninitialize();
#endif exit(0); } static void Idle(void) { static int ms_prev; int ms; float s_elapsed; ARUint8 *image; ARMarkerInfo *marker_info; // Pointer to array holding the details of detected markers. int marker_num;
// Count of number of markers detected. int i, j, k; // Find out how long since Idle() last ran. ms = glutGet(GLUT_ELAPSED_TIME); s_elapsed = (float)(ms - ms_prev) * 0.001; if (s_elapsed < 0.01f) return; ms_prev = ms; // Update drawing. arVrmlTimerUpdate(); // Grab a video frame. if ((image = arVideoGetImage()) != NULL) { gARTImage = image; // Save the fetched image. gPatt_found = FALSE; // Invalidate any previous detected markers. gCallCountMarkerDetect++; // Increment ARToolKit FPS counter.
// Detect the markers in the video frame. if (arDetectMarker(gARTImage, gARTThreshhold,
&marker_info, &marker_num) < 0) { exit(-1); } // Check for object visibility. for (i = 0; i < gObjectDataCount; i++) { k = -1; for (j = 0; j < marker_num; j++) { if (marker_info[j].id == gObjectData[i].id) { if( k == -1 ) k = j; else if (marker_info[k].cf < marker_info[j].cf) k = j;
} } if (k != -1) { if (gObjectData[i].visible == 0) { arGetTransMat(&marker_info[k], gObjectData[i].marker_center, gObjectData[i].marker_width, gObjectData[i].trans);
} else { arGetTransMatCont(&marker_info[k], gObjectData[i].trans, gObjectData[i].marker_center, gObjectData[i].marker_width, gObjectData[i].trans);
} gObjectData[i].visible = 1; gPatt_found = TRUE;
} else { gObjectData[i].visible = 0; }
} // Tell GLUT to update the display. glutPostRedisplay();
} } static void Visibility(int visible) { if (visible == GLUT_VISIBLE) { glutIdleFunc(Idle);
} else { glutIdleFunc(NULL); }
} static void Reshape(int w, int h) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glViewport(0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity();
} static void Display(void) { int i; GLdouble p[16];
GLdouble m[16]; glDrawBuffer(GL_BACK); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); arglDispImage(gARTImage, &gARTCparam, 1.0, gArglSettings); arVideoCapNext(); gARTImage = NULL; if (gPatt_found) { . arglCameraFrustumRH(&gARTCparam, VIEW_DISTANCE_MIN,
VIEW_DISTANCE_MAX, p); glMatrixMode(GL_PROJECTION); glLoadMatrixd(p); glMatrixMode(GL_MODELVIEW); / glLoadIdentity(); for (i = 0; i < gObjectDataCount; i++) { if ((gObjectData[i].visible != 0) &&
(gObjectData[i].vrml_id >= 0)) { arglCameraViewRH(gObjectData[i].trans, m, VIEW_SCALEFACTOR_4); glLoadMatrixd(m); arVrmlDraw(gObjectData[i].vrml_id);
} }
} glutSwapBuffers(); } int main(int argc, char** argv) { int i; char glutGamemode[32]; const char *cparam_name =
"Data/camera_para.dat"; #ifdef _WIN32 char *vconf = "Data\\WDM_camera_flipV.xml"; #else char *vconf = ""; #endif char objectDataFilename[] = "Data/object_data_vrml";
// ------------------------------------------------------------
- // Library inits. // glutInit(&argc, argv); // ------------------------------------------------------------
- // Hardware setup. // if (!setupCamera(cparam_name, vconf, &gARTCparam)) { fprintf(stderr, "main(): Unable to set up AR camera.\n"); exit(-1);
} #ifdef _WIN32
CoInitialize(NULL); #endif
// Library setup. glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); if (!prefWindowed) { if (prefRefresh) sprintf(glutGamemode, "%ix%i:%i@%i", prefWidth, prefHeight, prefDepth, prefRefresh); else sprintf(glutGamemode, "%ix%i:%i", prefWidth, prefHeight, prefDepth); glutGameModeString(glutGamemode); glutEnterGameMode();
} else { glutInitWindowSize(gARTCparam.xsize, gARTCparam.ysize); glutCreateWindow(argv[0]);
} // Setup argl library for current context. if ((gArglSettings = arglSetupForCurrentContext()) == NULL) { fprintf(stderr, "main(): arglSetupForCurrentContext() returned error.\n"); exit(-1);
} debugReportMode(); arUtilTimerReset(); if (!setupMarkersObjects(objectDataFilename)) { fprintf(stderr, "main(): Unable to set up AR objects and markers.\n"); Quit();
} // Test render all the VRML objects. fprintf(stdout, "Pre-rendering the VRML objects..."); fflush(stdout); glEnable(GL_TEXTURE_2D); for (i = 0; i < gObjectDataCount; i++) { arVrmlDraw(gObjectData[i].vrml_id);
} glDisable(GL_TEXTURE_2D); fprintf(stdout, " done\n"); // Register GLUT event-handling callbacks.
// NB: Idle() is registered by Visibility. glutDisplayFunc(Display); glutReshapeFunc(Reshape); glutVisibilityFunc(Visibility); glutMainLoop(); return (0);
}
DreamHouse
#the number of patterns to be recognized
6 #pattern 1
VRML Wrl/denahrumah.dat Data/d
80.0 0.0 0.0
#pattern 2
VRML Wrl/ruangan.dat Data/c
80.0 0.0 0.0 #pattern 3
VRML Wrl/rumahkosong.dat Data/b
80.0 0.0 0.0 #pattern 4
VRML Wrl/kursi.dat Data/a
80.0 0.0 0.0 #pattern 5
VRML Wrl/rumah1.dat Data/e
80.0 0.0 0.0 #pattern 6
VRML Wrl/gedung.dat Data/f
80.0 0.0 0.0
WRL
denahrumah.wrl 0.0 0.0 0.0 # Translation 0.0 0.0 0.0 0.0 # Rotation 10.0 10.0 10.0 # Scale gedung.wrl 0.0 0.0 0.0 # Translation 0.0 0.0 0.0 0.0 # Rotation 10.0 10.0 10.0 # Scale kursi.wrl 0.0 0.0 0.0 # Translation 0.0 0.0 0.0 0.0 # Rotation 10.0 10.0 10.0 # Scale ruangan.wrl 0.0 0.0 0.0 # Translation 0.0 0.0 0.0 0.0 # Rotation 10.0 10.0 10.0 # Scale rumah1.wrl 0.0 0.0 50.0 # Translation 90.0 1.0 0.0 0.0 # Rotation 25 25 25 # Scale rumahkosong.wrl 0.0 0.0 0.0 # Translation 0.0 0.0 0.0 0.0 # Rotation 10.0 10.0 10.0 # Scale
B-1
CURRICULUM VITAE
Nama : Tedjamukti Raharja Alamat Sekarang : Jl. Tembakau 3 No. 47 P.Simalingkar, Medan Alamat Orang Tua : Jl. Tembakau 3 No. 47 P.Simalingkar, Medan Telp/ Hp : 083199148723 Email : [email protected]
Riwayat Pendidikan
2008 – 2012 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2005 : SMA Negeri 2 Medan
- – 2008 2002 : SMP Kemala Bhayangkari 1 Medan – 2005 1996 : SD Al-azhar Medan – 2002
Keahlian/Kursus yang diikuti Programming, Desain Grafis, Bahasa Inggris