Docstoc

algoTI12

Document Sample
algoTI12 Powered By Docstoc
					Algoritma Pemrograman

    GUI Programming I
    GUI Programming I
       Tambahan: Fungsi Rekursif
       Tambahan: Fungsi Rekursif
•   Fungsi yang berisi dirinya sendiri
    F    i      b i i di i        di i
•   Fungsi yang mendefinisikan dirinya sendiri
•   Fungsi yang memanggil dirinya sendiri
•      gp        p                     pp g
    Yang perlu diperhatikan adalah “stopping role”
                    Plus ‐
                    Plus Minus
  Karena program lebih singkat dan ada beberapa kasus yang 
• K                l bih i k t d       d b b        k
  lebih mudah menggunakan fungsi yang rekursif
                       y g                           p      g
• Memakan memori yang lebih besar, karena setiap kali bagian 
  dirinya dipanggil, dibutuhkan sejumlah ruang memori 
  tambahan.
                   efisiensi dan kecepatan
• Mengorbankan efisiensi dan kecepatan
• Problem: rekursi seringkali tidak bisa “berhenti” sehingga 
  memori akan habis dan komputer hang.
• Saran: jika memang bisa diselesaikan dengan iteratif, 
  gunakanlah iteratif 
                   g
                Fungsi Rekursif

• Bentuk umum

• Problem:
  – Faktorial
     • F(N!)  = N * F((N‐1)!)
  – Fibonacci
           ( )       ( )        ( )
     • Fibo(N) = Fibo(N‐1) +Fibo(N‐2)
             GUI Programming
             GUI Programming
• Pemrograman berbasis user interface
         g
  – Pemrograman dilakukan diatas FORM
  – Kadang ada yang menyebut pemrograman Visual
       Itu SALAH!
     • Itu SALAH!
• Menggunakan GUI Editor dan IDE!
  – Menyediakan tool terintegrasi:
     • Compile dan Run, Debugging, koneksi dengan database
     • Penggunaan komponen visual n non visual
    Event oriented programming
    Event oriented programming
• conventional (request‐response) programming:
  – sequence of operations is determined by the program
  – what you want to happen, happens when you want it
  event oriented programming:
• event‐oriented programming:
  – sequence of operations is determined by the user’s 
                with the application s interface
    interaction with the application’s interface
  – anything that can happen, happens at any time
      Event driven programming
      Event driven programming
        l(      l fl   b d)           i
• Normal (control flow‐based) programming 
  Approach
  – Start at main()
  – Continue until end of program or exit()
• Event‐driven programming
  – Unable to predict time & occurrence of event
  – Approach
     • Start with main()
     • Build GUI
     • Await events (& perform associated computation)
          Borland C++ Builder
          Borland C++ Builder
         ild is a rapid application development 
• C++Builder i       id      li i d l
  (RAD) environment, developed by Borland and 
  as of 2009, owned by the CodeGear subsidiary 
  of Embarcadero Technologies, for writing 
  programs in the C++ programming language
• In 2003 Borland released C++BuilderX (CBX), 
                                         (    ),
  which was written using the same framework 
  as JBuilder and bore little resemblance to 
  as JBuilder and bore little resemblance to
  either C++Builder or Delphi
 i
First BCB GUI Program
BC++ Builder Environment
BC++ Builder Environment
               Code Editor
               Code Editor


Code Editor 




                             11
             Code Editor Tip
             Code Editor Tip
• Code Templates [Ctrl+J]




                               12
             Code Editor Tip
             Code Editor Tip
• Code Parameters
  Code Completion
• Code Completion




                               13
        BC Project Structure
        BC++ Project Structure
           Project Manager




  Project Source             Project Option   .cpp
                                              .dll
                                              .obj
Form1         Form2          Form3            .ocx
                                              .lib


Unit1         Unit2          Unit3



UnitA         UnitB           UnitC
                 First BCB Project
                 First BCB Project
                                  j
• Create a file folder FirstBCBProject
• Save Project As … | Project1
  Generated files:
• Generated files:
   –   Project1.bpr
   –       j
       Project1.cpppp
   –   Project1.res
   –   Unit1.dfm
   –   Unit1.cpp
   –   Unit1.h
   –   File‐file backup:  .~cpp, .~dfm, .~h
• Use Project Manager to maintain files
Project Source – File Project1.cpp
File Unit1.dfm
File Unit1 dfm
File Unit1.h
File Unit1 h
File Unit1.cpp
File Unit1 cpp
       Visual Component Library
       Visual Component Library
    ased o t e p ope t es, et ods, a d e e ts (
• Based on the properties, methods, and events (PME)    )
  model. 
• The PME model defines the data members 
  (       ti ) th f ti        th t      t     th d t
  (properties), the functions that operate on the data 
  (methods), and a way to interact with users of the 
  class (events). 
        (      )
• A hierarchy of objects, written in Object Pascal and 
  tied to the C++Builder IDE, that allows you to develop 
  applications quickly. 
  applications quickly
• Using C++Builder Component palette and Object 
  Inspector, you can place VCL components on forms 
     p      ,y        p              p
  and specify their properties without writing code.
• Visual  / Non Visual
         Properties & Method
         Properties & Method
• Properties: apa yang “melekat” pada suatu 
      p
  komponen baik visual / non visual
  – Misal: name, caption, width, height
  Method: sering disebut Events
• Method sering disebut Events
  – Merupakan kejadian‐kejadian yang dilakukan  / 
    dikenakan pada suatu komponen baik visual / non 
    visual
  – Misal: onClick, onDoubleClick, onMouseDown
                        A Partial VCL Tree
                                   TObject

      Exception         TStream   TPersistent          TPrinter          TList


                    TGraphic       TComponent          TCanvas        TPicture
TGraphicsObject


  TMenuItem
  TMen Item         TMenu
                    TMen          TControl         TCommonDialog


                                                         TGlobalComponent

      TGraphicControl             TWinControl

                                                                  TApplication

                                                TButtonControl
A Simple Window Program –
      TestButtonClick
Inserting a Button –
Property and Event
           Inserting a Button –
          Method (in Unit1.cpp)
          Method (in Unit1 cpp)
//-----------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------
……
//----------------------------------------------
void __fastcall TForm1::ChColorButtonClick(TObject*
  Sender)
  S d )
{
    //********************************
    Form1->Color = clBlue;
    Form1 >Color
    //********************************
}
//-----------------------------------------------
           Common Controls
           Common Controls
• List Box, Combo Box, Memo
  Radio Box, Check Box
• Radio Box, Check Box
• Panel, Group Box, Radio Group
Radio Group ‐‐
Radio Group Items
           SDI Applications
           SDI Applications
  Create a file folder 
• Create a file folder
• File | New… | Projects | SDI Applications
           MDI Applications
           MDI Applications
  Create a file folder 
• Create a file folder
• File | New… | Projects | MDI Applications
        Aplikasi Console di BCB
        Aplikasi Console di BCB
• File > New > Others
Tulis kode, RUN!
Tulis kode RUN!
            Contoh Visual: Button
            Contoh Visual: Button
• Tombol
• Perhatikan properties dan Events pada Button yg terdapat 
    d Obj t I       t
  pada Object Inspector
        Contoh Visual: EditBox
        Contoh Visual: EditBox
• Dapat menerima inputan oleh user dalam 
              g             g
  bentuk String ‐> AnsiString
• Contoh Aplikasi
              Kode Program
              Kode Program
• Double Click pada Button1, ketikkan program 
  berikut:
                  DEMO
• MultiForm Application
  – About Box
  – Menu Usage
  Simple ImageViewer Application
• Si l I      Vi     A li ti
NEXT

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:17
posted:3/5/2011
language:Indonesian
pages:36