590 likes | 918 Views
Pemrograman Visual Foxpro (VFP). Pertemuan 4. Review beberapa konsep penting dalam VFP Environtment. Review VFP ( lagi ). Terdapat 5 opsi kontrol pada layar utama VFP ( klik kanan pada area judul layar untuk menampilkannya ): Restore : mengembalikan layar ke ukuran sebelumnya
E N D
Pemrograman Visual Foxpro (VFP) Pertemuan 4
Review beberapakonseppentingdalam VFP Environtment STIS-S2-2012/2013
Review VFP (lagi) • Terdapat 5 opsikontrolpadalayarutama VFP (klikkananpada area judullayaruntukmenampilkannya): • Restore: mengembalikanlayarkeukuransebelumnya • Move: memindahkanlayar, dengan drag atau cursor • Size: memperbesar/kecillayar, denganmenariktepilayar • Minimize: meminimalkanlayar • Maximize: memaksimalkanlayar (full screen) • Close: mengakhiri VFP STIS-S2-2012/2013
Mengubahjudullayarutama • Judullayarutamadapatdiubah: • BukalayarCommand: Window Command Window • KetikperintahberikutdilayarCommand: _SCREEN.caption = ‘Judul-layar‘ atau MODIFY WINDOW SCREEN TITLE ‘Judul-layar‘ KemudiantekanEnter STIS-S2-2012/2013
Menu utama • Terdapat 8 menu dilayarutama STIS-S2-2012/2013
Status bar • Status Bar: kotakdibagianbawahlayarutama. Memuatketerangantentang record darisuatu table yang dibuka. • Jikatidakada table yang dibuka, status bar akankosong STIS-S2-2012/2013
Window objects yang umum Beberapakomponen yang seringmunculdalamkotak dialog VFP antara lain adalah: • Label: string tetap/fix, biasanyadigunakanuntukjudulataupengenal lain • Text boxes: untukvariabelkarakter, bisadari table atauberupavariabelmemori • Edit boxes: untukkarakter yang dapatdiedit STIS-S2-2012/2013
Window objects yang umum • List boxes: untukmenampilkandaftarpilihan. Pemilihandilakukandenganmenggerakkanpilihan yang tersediadalamdaftar, kemudianklik mouse kiri. • Combo box: daftarpilihan (drop down list) akanditampilkansetelahkotaktandapanahbawahdiklik. Pemilihandilakukandenganklikpadapilihan yang diinginkan. STIS-S2-2012/2013
Window objects yang umum • Command button: disebutjugasebagaipush button, merupakantombol yang digunakanuntukmengeksekusisuaturangkaianperintah (command). Judulataucaption daritombolpadaumumnyadisesuaikandenganjenisperintah yang akandilakukan. STIS-S2-2012/2013
Project Manager • TujuandariProject Manager: • Mengorganisir file-file darisuatuproyekberdasarkanjenisfilenya • Menyediakantampungan (container) untukmenampungsemuakomponendarisuatuaplikasiuntukkompilasikedalambentuk file “.app” atau “.exe”. STIS-S2-2012/2013
Project Manager:membuatataumemodifikasi • UntukperintahdarilayarCommand: • Namaproyekdituliskandiantaratandakutip(“…”) dansecaralengkap (termasuknama drive danekstensi). • Contoh: • "c:\users\waris marsisno\documents\visual foxpro projects\pert-03.pjx" STIS-S2-2012/2013
Project Manager:strukturlayar STIS-S2-2012/2013
Project Manager: pengelolaan file • File dikelompokkanmenurutjenisnya (untukmembukarincian, kliktanda “+” disebelahkirinamakelompok) STIS-S2-2012/2013
Project Manager: menambahdanmenghapus file • Untukmenambahkan file kekelompoktertentu (misalnyaTables): • KlikTables Add, menambahkan file table yang sudahadakedalamkelompok Tables. • KlikTables New, menambahkan table baru (harusdibuatsetelahini) • Menghapusfile darikelompok (misalnyadarikelompokTables): • Kliknama-file Remove, selanjutnyaakanmunculpilihanuntukmenghapusdari project saja, ataumenghapuspermanendariharddisk. STIS-S2-2012/2013
Project Manager: pengaturanopsikonfigurasi • Pengaturanopsikonfigurasi project dapatdilakukandengan: Tools (dari menu utama) Options • Terdapat 14 kelompokopsi yang dapatdiatur: STIS-S2-2012/2013
Project Manager: pengaturanopsikonfigurasi • General: pengaturanlingkungan (environment) secaraumum • Data: pengaturanperilaku data dalam project • Remote Data: pengaturanakses data dari remote computer • File Locations: pengaturanlokasi file menurutjenisnya • Forms: pengaturanuntukpembuatan form • Projects: pengaturanperilaku project • Controls: pengaturanperilakuclass libraries danOLE STIS-S2-2012/2013
Project Manager: pengaturanopsikonfigurasi • Regional: untukmengatur format tanggal, matauang, pemisah, digit desimal, dsb. • Debug: untukmengaturpadasaatdilakukan debugging • Editor: mengaturtampilan editor • Field Mapping: mengaturpemetaan class dengan database • IDE: pengaturanperilaku file-file tertentu • Report: pengaturanuntukpembuatan report • View: pengaturantampilanlayar STIS-S2-2012/2013
KonsepPemrograman STIS-S2-2012/2013
Apakah yang disebutpemrograman? • Pengertianpemrogramanberkembangsejalandengancapaianteknologikomputer • Padaawalnyapemrogramanberartimenyusunperintahbarisdemibaris yang harusdilakukanolehmesinkomputer • KetikateknologiGUI (graphical user interface) telahditemukan, sebagianbarisperintahtersebutdapatdiwakilidengangambargrafistertentu STIS-S2-2012/2013
Apakah yang disebutpemrograman? • Walaupundemikian, secaraumumpemrogramanadalahmenyusunperintah yang akandilakukanolehkomputer • Perkembanganperangkatkerasdanlunaksaatinitelahbegitupesatnya, sehinggakomunikasiantarapenggunadanmesintelahmembentuklingkungan yang kompleks • Hal inimengakibatkanpengertianpemrogramanmenjadisangattergantungdaripengalamanseseorang STIS-S2-2012/2013
Apakah yang disebutpemrograman? • Misalnya, beberapaorangmenganggapkasusberikutsebagaipemrograman: • Aplikasiuntukkepegawaian • Pengolahaninformasidaripengolahkata • Membuatrancangandengan CAD (computer aided design) • Pembuatan macro ataupencantumanperintah VBA (visual basic for application) padabeberapaaplikasi MS-office • Apakahanggapantersebutsalah? Tidakjuga! Seseorangperlumenuliskanperintah/script/codepadasetiapkasustersebut! STIS-S2-2012/2013
Pemrogramandalam VFP • Fox Software padatahun 1984 mengembangkanFoxBasesebagaikompetitordBASE II. FoxBasemurnihanyasebagaibahasapemrogramanbiasa • Tahun 1989 FoxPro mulaimengadopsi GUI • Tahun 1991, melalui FoxPro 2.0, SQL diintegrasikansecarapenuh. Arsitektur FoxPro 2 memungkinkanpenggunauntukmembuatcodedanaplikasidari screen STIS-S2-2012/2013
Pemrogramandalam VFP • Tahun 1995, Visual FoxPro mulaidiperkenalkan: • Memilikikemampuanprosedural yang samadenganversisebelumnya • Ditambahkemampuanuntukmembuat program berorientasiobjek (object oriented programming, OOP) • Lebihmemudahkaninteraksiantarkomponen • Pengaturaninterakasiantarkomponeninilah yang menjadiintidalampemrograman VFP STIS-S2-2012/2013
Pemrogramandalam VFP • Dalam FoxPro (tanpa Visual), semuaperintahharusdituliskanolehpemrogram • Dalam VFP tugaspemrogrammenjadilebihmudahdansederhana, pemrogramdapatlangsungmemodifikasidanmemanipulasiberbagaitoolsyang disediakan • DenganberbagaiWizard yang tersedia, tidakbanyakperintah yang harusdituliskan. STIS-S2-2012/2013
Mengapamenuliskodeatauperintah? • Antarmukagenerik (generic interface) yang disiapkan VFP belumtentusesuaidengankebutuhan • Konseppenulisanperintahberlakuumum, baikuntuk program besarmaupun yang relatifkecil (untukobjektertentu) • Toolsdanwizardzsebenarnyadibuatdengan program; jadimemahamipemrogramanakanmemudahkanuntukmengerti yang dilakukanoleh tools dan wizards tersebut • Adakalanyapekerjaan yang dilakukantidakdapatdijalankandenganberbagai tools dan wizards yang tersedia STIS-S2-2012/2013
Cara terbaikuntukbelajarpemrograman • Tidakadacara yang paling cocokdanberlakuuntuksemuaorang! • Salahsatucara yang relatifmudahadalah, mempelajaricontoh– terutama yang memuatcatatanlengkap • File contohdasi MSDN, buatlah copy dari: • Direktori (berisiberbagaicontoh) ...\Microsoft Visual FoxPro 9\Samples • File (source code utk tools dan wizard): ..\Microsoft Visual FoxPro 9\Tools\xsource\xsource.zip • Buat copy di flash disk, dancobalahmodifikasihasil copy-annya STIS-S2-2012/2013
Komponendalambahasapemrograman VFP • Perintahasli (native command): merupakanfungsidasaruntukmelakukanaksitertentu • Konstanta: yang digunakansebagaimanaadalanya (fix) dalam program • Variabeldanarray dalammemory: menyimpan data sementara • Data permanenyang disimpandalamtabel: untukmanipulasi input/output • Operator aritmetik: kalkulasi data numerik • Operator string: manipulasi data karakter • Evaluator logika: memberikanhasilperbandinganduaentitas • Konstruksi looping: pengulangansekelompokperintah • Komentar: tidakdiproses • Sintaksis:aturanpenulisansuatuperintah STIS-S2-2012/2013
Perintah • PerintahasliVFP terusberkembangsesuaidenganperkembanganversinya • Setiapperintahmemilikisintaksis, aturanpenulisanberikut parameter yang digunakan (jikaada) • Semuasintaksisperintah VFP didokumentasikandalam file help: • Help Microsoft Visual FoxPro Help, atau • Klikgandadv_foxhelp.chmdi folder …\Microsoft Visual FoxPro 9 STIS-S2-2012/2013
Perintah • SesuaitradisiXbase, semuaperintahdapatdituliskandenganempatkarakterpertamadariperintah yang bersangkutan • Tetapikarenabahasa VFP telahberkembangpesatdanjumlahperintahtelahmenjadisemakinbanyak, seringkaliempatkaraktertidakcukupsebagaipengenal yang unit • Untukmengurangikemungkinansalah, danjugauntukmemperjelasrangkaianlogika, sebaiknyaperintahditulissecaralengkap STIS-S2-2012/2013
Perintah • Perintahdalam VFP tidaksensitifterhadaphurufbesardankecil. Diperlakukansama! • Konvensi yang umumdiikuti (bukankeharusan) • HURUF KAPITAL digunakanuntukmenulisperintahasli • HurufCampurandigunakanuntukmenulisperintahdanfungsibuatanpengguna, nama file, variabel, dsb., contohBukaFile, CetakForm • Gunakanspasidanidentasiuntukmemudahkanmengikutialurpemrograman STIS-S2-2012/2013
Fungsi • Fungsi: samadenganperintah, merupakaninstruksiuntukmelakukanaksitertentu • Fungsiselaludiakhiridenganpasangantandakurung “()” • Tandakurungdapatkosongataudapatberisi parameter, sesuaidenganfungsinya. • Setelahsuatufungsidieksekusi, padaumumnyaakanmemberikannilai yang merupakanhasildarifungsitersebut STIS-S2-2012/2013
Fungsi • Cara pemanggilanfungsi • Disimpankesuatuvariabel: 1Mulai = SECOND() • Sebagaipengujilogika: IF DAY(DATE()) > 31 • Display darilayar command: ?DATE() • Didahuluidengantanda “=“: =ASSORT(strArray) STIS-S2-2012/2013
HarafiahdanKonstanta • Literal (nilaiharafiah): suatunilaitertentu yang secaraharafiahlangsungdigunakandalampemrograman aRate = bNilai / 30 “30” merupakannilaiharafiah • Konstanta: nama yang diberikanuntuknilaiharafiah cJumlah = 30 aRate = bNilai / cJumlah cJumlahmerupakankonstanta STIS-S2-2012/2013
RuntimedanCompile Time • Nilaikonstantadapatdiberikan (assigned) pada • Runtime: ketikaperintahdieksekusi • Compile Time: padasaatdikompilasi, denganmenggunakan#DEFINE yang disimpandi file terpisahdandimasukkanke program denganperintah#INCLUDE #DEFINE cJumlah 30 PadasaatkompilasisemuacJumlahakandigantidengan 30. STIS-S2-2012/2013
Variabeldalammemori • Variabelmemori: variabel yang nilainyadisimpandalammemori, ketikaaplikasiditutupnilainyatidakdisimpan • Pemberiannilaivariabel: • aRate = bNilai /30 • STORE 0 TO aR, bP, cQ STIS-S2-2012/2013
Scope • Terdapattigajenisvariabelmenurutcakupan (scope) untukvariabeltersebut: • Public: berlakusecara global, untukselurutrutinselamasesi VFP • Private: hanyaberlakupada program tertentu yang dijalankan, jika program dihentikan, variabelnyatidakberlaku • Local: hanyaberlakudi sub-rutintempatvariabeldidefinisikan • Pendefinisian scope • PUBLIC nVar1, …, nVarn • PRIVATE nVar1, …, nVarn • LOCAL nVar1, …, nVarn STIS-S2-2012/2013
Pendefinisianjenis data • Untuk data didalamtabel, jenis data didefinisikanpadasaatmerancangstruktur record • Untukvariabel, jenisdatanyaditentukansesuaidengannilai yang diberikanuntukvariabeltersebut • aNilai = 4 aNilaimerupakanvariabelnumerik • aNilai = “abc” aNilaimerupakanvariabel string ataukarakter STIS-S2-2012/2013
Array • Array: sekelompokmemori yang dikelolasebagaisatukesatuan unit. Visualisasinyamiriplembarkerja (spreadsheet) • Arraypadadasarnyamerupakanvariabeluntuktabel (yang disimpanpermanen) • Pendefinisian scope dari array samadenganpendefinisian scope untukvariabel • Referensi data: • nArray[baris,kolom] = … STIS-S2-2012/2013
Konvensipemberiannamavariabel • Untukmemudahkanorang lain dalammembaca program yang dibuatorang lain • Hurufpertama: menunjukkan scope l : local g : global (public) p : private t : parameter • Hurufkedua: menunjukkanjenis data a : array c : karaktery : currency d :date t : datetimeb : double f : float l : logikan : numerik O : objekU : unknown STIS-S2-2012/2013
Konvensipemberiannamavariabel • Untukmemudahkanorang lain dalammembaca program yang dibuatorang lain • Hurufpertama: menunjukkan scope l : local g : global (public) p : private t : parameter • Hurufkedua: menunjukkanjenis data a : array c : karaktery : currency d :date t : datetimeb : double f : float l : logikan : numerik O : objekU : unknown STIS-S2-2012/2013
Referensitaklangsungdanekspansimakro • Referensitaklangsung: menggunakantandakurung lcNamaFile = System.Backup USE (lcNamaFile) IN 0 ALIAS BackupFile • Ekspansimakro: menggunakantanda “&” lcTalk = SET(‘Talk’) SELECT TALK ON SET TALK &lcTalk STIS-S2-2012/2013
Komentar • Bariskomentar: diawalidengan“*”atau “NOTE” • Komentarpadabarisperintahdiawalidengan“&&” * Barisberikuthanyacontoh lcA = lcB + lcD && rumuscontoh STIS-S2-2012/2013
Operator • Operator string STIS-S2-2012/2013
Operator • Operator aritmetika STIS-S2-2012/2013
Operator • Operator logika STIS-S2-2012/2013
Operator • Operator matematikauntuktanggal STIS-S2-2012/2013
Evaluator atau operator relasi • Memberikannila.T.jikabenardan.F.jikasalah STIS-S2-2012/2013
Eksekusibersyarat • IF .. ENDIF IF kondisi kelompok perintah-1 ELSE kelompok perintah-2 ENDIF • DO ..CASE DO CASE • CASE kondisi-1 • kelompok perintah-1 • CASE kondisi-2 • kelompok perintah-2 • OTHERWISE • kelompok perintah-3 • ENDCASE STIS-S2-2012/2013
Eksekusiberulang (loop) • DO WHILE DO WHILE kondisi Kelompokperintah ENDDO • SCAN SCAN FOR kondisi Kelompokperintah ENDSCAN STIS-S2-2012/2013
Eksekusiberulang (loop) • FOR FOR nilai-awalTO nilai-akhir Kelompokperintah ENDFOR FOR each oAbc IN THIS.oGrid.Column oAbc.Width = oAbc.Width * 2 ENDFOR STIS-S2-2012/2013