Anda di halaman 1dari 138

ISBN : 978-602-7782-07-5

Page |1

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |2
ISBN : 978-602-7782-07-5

Belajar Cepat

Aplikasi MFC
Microsoft Visual Studio C++
Sasa Ani Arnomo, S.Kom., M.SI

Editor: Heri Nuryanto, S.Kom., M.SI

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |3

KATA PENGANTAR
Bismillahhirohmannirrohim.
Alhamdulillah, segala puji dan syukur kehadirat Allah SWT karena berkat
rahmat dan izin - Nya akhirnya penulis dapat menyelesaikan pembuatan buku
pemrograman, sehingga dapat bermanfaat bagi penulis dan pembaca.
Adapun buku yang penulis angkat adalah buku yang membahas tentang
Pemrograman MFC pada program Microsoft Visual Studio C++. Yang dimaksud
tema dari judul yang diangkat yaitu proses untuk mengemplementasikan urutan
langkah untuk menyelesaikan suatu masalah dalam bentuk program dengan
memanfaatkan aplikasi MFC yang ada pada Microsoft Visual Studio C++.
Sedangkan tujuan dalam pembelajarannya yang akan diarahkan diharapkan
dapat meningkatkan kehandalan pembuatan program, program yang dibuat mudah
dibaca dan mudah ditelusuri dalam penulisan kodenya. Kemudian programmer juga
mampu dalam menyederhanakan kerumitan program, pemeliharaan program, dan
mampu meningkatkan produktivitas pemrograman.
Demikian penulis membuat buku belajar cepat aplikasi MFC dengan
Pemrograman visual studio C++ ini diharapkan kedepannya dapat digunakan
sebaik-baiknya untuk proses belajar menangani suatu kasus dalam pembuatan
program sehingga benar-benar bermanfaat bagi kita semua.
Batam, Agustus 2012
Penulis
Sasa Ani Arnomo, S. Kom., M.SI

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |4

DAFTAR ISI

Bab I Pengantar Mfc


Bab II Identifier, Komentar, Dan Tipe Data
Bab III Operator - Operator Dalam C++
Bab IV Percabangan
Bab V Pengulangan ( Loop )
Bab VI Mengolah Data Array Dengan File Text
Bab VII Mengolah Data Dengan File Text
Bab VIII Menggunakan Fungsi Pengolahan Waktu (Timer)
Bab IX Mengubah Kotak Dialog Awal Aplikasi, Menghapus Fungsi Dan
Variabel.
Bab X Membuat Login Dengan Password
Bab XI Menghubungkan Aplikasi Mfc Dengan Database
Bab XII Membuat Aplikasi Pengolahan Database
Bab XIII Menu

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |5

BAB I
PENGANTAR MFC
C++ adalah sebuah bahasa tingkat menengah yang merupakan
perkembangan dari bahasa C, dimana bahasa ini merupakan bahasa pemrograman
berorentasi objek. Dikatakan menengah karena bahasa ini berada di antara bahasa
tingkat tinggi dan rendah. Bahasa tingkat tinggi merupakan bahasa yang dekat
dengan bahasa manusia. Basic dan Pascal adalah dua dari beberapa contoh bahasa
tingkat tinggi. Sedangkan bahasa tingkat rendah adalah bahasa yang lebih
berorientasi kepada bahasa mesin sehingga bahasa ini tidak terlalu dekat dengan
bahasa manusia. Contoh dari bahasa tingkat rendah ini adalah Assembly.
C++ dikembangkan lebih jauh oleh Microsoft diantaranya menciptakan
MFC (Microsoft Foundation Classes) yang merupakan library dari C++ Classes.
Fasilitas ini bertujuan untuk mempermudah dalam pengembangan program c++
dalam wujud aplikasi form. MFC bersifat wrappers yaitu model kerangka
aplikasi yang menyatukan API Windows tanpa pemanggilan Win32 API secara
eksklusif.
Untuk membuat aplikasi MFC berikut langkah-langkahnya:
1. Buka Microsoft Visual Studio
2. Pada menu File pilih New dan dilanjutkan Project atau juga bisa dengan
menekan tombol keyboard Ctrl + Shift + N

Gambar Membuat Project Baru


|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |6

3. Muncul tampilkan New Project, pada Project Types pilih visual C++
sedangkan pada Templates pilih MFC Application.

Gambar New Project


4. Ketik nama project dan Location tempat penyimpanan, dalam pencarian
lokasi penyimpanan bisa menggunakan Browse.
5. Muncul MFC Application Wizard kemudian tekan tombl Next.

Gambar MFC Aplication Wizard


6. Application Type pilih yang Dialog Based kemudian tekan tombol Next.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |7

Gambar Application Type


7. User Interface Features pilih Next apabila ingin mengganti title bisa diisi
pada kolom Dialog title.

Gambar User Interface Features


8. Pada Advanced Features tekan tombol Next

Gambar Advanced Features

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |8

9. Pada Generated Classes tekan tombol finish

Gambar Generated Classes


10. Tampilan Awal

Gambar Tampilan Awal


MFC menggunakan
perancangan

IDE

(Integrated

Development

Environtment)

dalam

aplikasi. Komponen yang ada pada IDE tampilan awal antara lain:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Page |9

Menu Utama

Merupakan kumpulan perintah keseluruhan yang ada


pada Visual Basic

ToolBar

Merupakan ikon yang mewakili perintah yang sering


digunakan sehingga kita dapat memilih dengan cepat.

Toolbox

Berisi Bermacam-macam control yang dapat digunakan


di project Visual C++. Control yang bisa dipakai antara
lain : picture,textbox, button,slider dsb).

Dialog Editor (MFC)

Merupakan area tempat membuat atau mengedit


tampilan dialog box bukan form window.

Solution Explorer

Berfungsi menampilkan organisasi project yang dibuat.

Class View

Berfungsi menampilkan simbol code project seperti :


namespaces, classes, methods, dan functions.

Resource View

Berfungsi menampilkan resource file dari project.

Properties Window

Merupakan window yang dapat dipakai untuk mengedit


atau merubah sifat control pada waktu disain.

Beberapa Ektensi yang ada pada MFC adalah sebagai berikut:


.sln

Berfungsi untuk menghubungkan


satu atau lebih project secara
bersama, dan juga digunakan
menyimpan informasi global

.suo

Digunakan untuk Solution User


Option yang menyertai setiap record
solution. File .suo menyimpan
pengaturan-pengaturan yang kita
berikan, dan akan diambil setiap
membuka solution.

.vcproj

Berkas ini berisi definisi dasar


sebuah proyek, berisi informasi
tentang
bagaimana
aplikasi
diciptakan
berdasarkan
berkasberkas yang terdspst dalam project.

.cpp

berisi code source C++

.h

Merupakan berkas judul (header


file), yang umumnya berisi definisi
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 10

kelas atau berisi prototype fungsi.


.rc

Berisi resource microsoft windows


(ikon, bitmap,dan berbagai kontrol)
yang digunakan oleh aplikasi.

.ico

Berkas icon untuk aplikasi.

.exe

Berkas yang dapat diexsekusi secara


langsung.

.opt

Berisi data tentang pengaturanpengaturan dalam proyek; misalnya,


menyimpan
informasi
tentang
kemungkinan aplikasi bias di-debug
atau tidak.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 11

BAB II
IDENTIFIER, KOMENTAR, DAN TIPE DATA

2.1 KOMENTAR
Komentar merupakan bagian yang penting dalam program, karena
membantu programmer dalam membuat penjelasan mengenai program dan
bagian-bagiannya dan tidak menghasilkan tindakan ( tidak mempengaruhi
jalannya program ). Penjelasan pada komentar bisa berisi:
-

Tujuan dan fungsi program

Saat program dibuat dan direvisi

Keterangan sejumlah kegunaan dan pernyataan program.

Untuk membuat komentar dipakai tanda // untuk satu baris dan /* ... */
untuk lebih dari satu baris.
Contoh:
1. // Komentar baris
//Contoh program menggunakan komentar
//nama program: komentar1.cpp
2. /* Komentar lebih dari satu baris */
/*Contoh program menggunakan komentar
Ini adalah komentar panjang
Yang banyaknya lebih dari satu baris */
2.2 Identifier
Identifier adalah nama yang diberikan untuk nama objek, nama fungsi,
nama variabel, dll.
Identifier pada C++ dapat terdiri dari :
1. Huruf A sampai Z
2. Huruf a sampai z
3. Underscore ( _ )
4. Bilangan antara 0 sampai 9
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 12

Ketentuan dalam memberi nama identifier dalam C++ adalah :


1. Karakter pertama harus huruf atau underscore
2. Untuk compiler borland, panjang maksimium 32 karakter (ANSI)
3. Identifier harus tidak sama dengan keyword yang ada di C++
4. Huruf besar dianggap berbeda dengan huruf kecil (case sensitive)
5. Bukan kata kunci (Keyword)
Contoh Identifier :
-

int bilangan_bulat;

long X2;

int A[5]

const int MAX=5;

int A=10, B=15, C=25;

2.3 Variabel
Data yang nilainya dapat berubah pada saat program dijalankan disebut
variable. Variabel mempunyai nama, tipe dan dapat dipakai untuk menyimpan
suatu nilai. Sedangkan cara pembuatan variabel dalm Aplikasi Form:
1. Klik kanan pada form
2. Pilih Add Variabel

Gambar Add Member Variabel


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 13

Dalam membuat variabel dalam aplikasi MFC ada beberapa kriteria


yang harus diketahui:
a. Access
Kriteria berdasarkan access dibedakan mejadi tiga yaitu
1) Public, variabel yang dibuat dapat digunakan oleh semua
procedure atau fungsi di dalam class.
2) Protector, variabel yang dibuat hanya bisa digunakan oleh yang
dituju contoh nama variabel khusus hanya bisa dipakai oleh
procedure dari button.
3) Private, variabel yang dibuat hanya bisa digunakan oleh
procedure tertentu saja.
b. Variabel Type
Tipe dari variabel menyesuaikan dari category
1) Control : cedit, cbutton, ccombobox, clistbox, dll
2) Value : bool, char, double, float, int, long, long double, short,
unsigned char, unsigned long, unsigned int.
c. Control variabel
Jika Control variabel di check artinya nama variabel tersebut
mewakili nama dari control ID toolbox yang tertera.
Apabila ada kesalahan dalam penulisan nama variabel atau tipe data yang
tidak sesuai contoh salah penulisan nama varibel luas dengan penulisan luas3,
maka cara menghapus dengan mencari nama variabel tersebut dan hapus satu
baris perintah variabel pada file *DLG.cpp.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 14

Kemudian hapus juga nama variabel yang tertera pada header pada file
*DLG.h. Lihat gambar berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 15

2.4 TIPE DATA


Tipe data diklasifikasikan berdasarkan bagaimana keadaan data
disimpan dalam memori, dan jenis operasi yang dapat dilakukan. Tabel berikut
menjelaskan jenis-jenis dari tipe data dan panjang data yang bisa digunakan;

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 16

Tabel Tipe Tipe Variabel.


Jenis Tipe Data

Range

char

-128 128

unsigned char

0 - 255

signed char

-128 127

Int

-32768 - 32767

unsigned int

0 65535

signed int

-32768 - 32767

short int

-32768 - 32767

unsigned short int

0 - 65535

signed short int

-32768 - 32767

Long

-2147483648 - 2147483648

long int

-2147483648 - 2147483648

signed long int

-2147483648 - 2147483648

unsigned long int

0 - 4294967295

Float

-3.4E+38 -3.4E+38

Double

-1.7E+308 - 1.7E+308

long double

-1.7E+308 - 17E+308

Setiap jenis tipe data mempunyai aturan tersendiri dalam pemakaiaannya,


untuk lebih jelasnya keterangan dari masing-masing tipe data dapat dilihat dari
tabel berikut:
Tabel 2.2 Keterangan Tipe Variabel.
Jenis
Data
char

Tipe Keterangan
Digunakan untuk sembarang huruf, angka, tanda baca
tunggal. Ada 2 ( dua ) macam char, yaitu:
a. signed
Mendeklarasikan char bertanda, digunakan untuk nilai
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 17

negative. Rentang nilai mulai -128 sampai 127


b. unsigned
Mendeklarasikan char tidak bertanda, untuk nilai
positif. Rentang nilai mulai 0 sampai 255
Contoh deklarasi char:
Char letter = A;
Unigned char number = 245;
Signed char value = -71;

Int,
long

short, Digunakan untuk menyatakan bilangan bulat. Seperti pada


char, perubah tipe signed dan unsigned dapat ditambahkan.
Contoh deklarasi int:
Int nilai, total; atau
Int nilai= 90;

Float, double, Menyatakan bilangan pecahan/real, maupun eksponensial.


Dalam keadaan default, bilangan floting point dianggap
long double
bertipe double.
Enumeration/
Enum

serangkaian symbol berurutan yang menspesifikasikan


konstanta bertipe integer. Dalam C++ tidak terdapat tipe
bolean, sehingga untuk merepresentasikan TRUE dengan
nilai integer bukan nol ( 1, 2, dst ), sedangkan FALSE dengan
nilai nil (0).
Contoh deklarasi enum:
Enum BOOLEAN { False, True }; atau
Enum BOOLEAN { Benar = 3, Salah = 0 );

Void

Menyatakan tipe kosong untuk :


1. Mendeklarasikan fungsi yang tidak mengembalikan
nilai apapun.
2. Mendeklarasikan fungsi yang tidak menerima
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 18

parameter apaun.
3. Bila diawali dengan operator *, menyatakan penunjuk
terhadap sembarang tipe data.
Contoh deklarasi void :
Void coba (char*, int) ; atau
Main (void); atau
Void* coba;
Int angka = 100;
coba = &angka;

Pointer

Sekelompok data bertipe sama yang menduduki lokasi


memori yang berurutan.

Struct, Union

Digunakan untuk mendeklarasikan sekelompok data yang


memiliki tipe yang berlainan.
Struct : elemennya ada dilokasi memori yang berbeda, dan
union : elemennya ada dilokasi memori yang sama.
Bentuk umum :
Struct tipestruktur
{
Tipeanggota1 namaAnggota1;
Tipeanggota2 namaAnggota2;
...........
}
namaStruktur;

2.5 Kontanta
Konstanta adalah suatu data yang sifatnya tetap.
Terdapat dua cara untuk mendeklarasikan konstanta
1. menggunakan sintax #define mendeklarasikan konstanta dengan cara ini
relatif lebih gampang dilakukan karena akan menyertakan #define sebagai
preprocesssor.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 19

penempatan sintaxnya diletakkan dibawah sintax #include.


contohnya: #define phi 3.14
karena #define bukan merupakan sebuah pernyataan, jadi tidak diakhiri
dengan tanda ( ; )
2. menggunakan sintax const apabila mendeklarasikan konstanta dengan
sintax const, pendeklarasiannya akan menjadi seperti ini:
const float phi = 3.14;

Contoh penggunaan konstata dapat diterapkan dalam program application MFC.


Coba ikuti langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
konstanta
2. Design tampilan form seperti pada gambar

Gambar contoh kontanta


Tabel 2.1 Keterangan
ID Control

Properties

Static Text 1

Name : IDC_STATIC1
Caption : Jari-Jari

Static Text 2

Name : IDC_STATIC2
Caption : Luas Lingkaran

Static Text 3

Name : IDC_STATIC3
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 20

Caption : Keliling Lingkaran


Edit Control 1

Name : IDC_EDIT1

Edit Control 2

Name : IDC_EDIT2

Edit Control 3

Name : IDC_EDIT3

Button

Name : IDC_BUTTON1
Caption :Hitung

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Control ID

Category

jari

IDC_EDIT1

value

luas

IDC_EDIT2

value

keliling

IDC_EDIT3

value

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 21

Gambar Variabel jari

Gambar Variabel luas

Gambar Variabel keliling

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 22

5. Buatlah sebuah fungsi click pada button1 dengan cara klik 2x pada button1,
kemudian isi perintah berikut:

6. Masukkan konstata:
Cara 1: Dengan menulis #define phi 3.14 dibawah #include

Cara 2: Dengan menulis const double phi = 3.14; didalam fungsi button1

7. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 23

BAB III
Operator - Operator Dalam C++
OPERATOR
pada
bahasa
pemroograman
digunakan
untuk
mengoperasikan satu atau lebih operand. Pada bahasa pemrograman C++,
terdapat beberapa jenis operator. Berikut adalah jenis-jenis operator yang ada
pada C++. Operator-operator dalam C++ terdistribusi dalarn 15 hirarki
precedence yang dapat dilihat pada tabel di bawah ini.
Tabel Precedence dari Operator dalam C++
Associativity

Symbol

Description

Associativity

++

Prefix increment

Left to right

--

Prefix decrement

()

Function call and subexpression

[]

Array subscript

->

Structure pointer

Structure member

Logical negation

1s complement

Unary negation

Unary plus

(type)

Type cast

Pointer dereference

&

Address of

sizeof

Size of

Multiplication

Division

Modolus

Addition

Substraction

<<

Bitwise left shift

Right to left

Left to right

Left to right

Left to right

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 24

>>

Bitwise right shift

<

Less Than

<=

Less than or equal to

>

Greater than

>=

Greater than or equal to

==

Equal test

!=

Not equal to

&

Bitwise AND

Left to right

Bitwise exclusive OR

Left to right

10

Bitwise inclusive OR

Left to night

11

&&

Logical AND

Left to right

12

||

Logical inclusive OR

Left to right

13

?:

Conditional test

Right to left

14

Assignment

Right to left

+=

Compound add

-=

Compound substract

*=

Compound multiply

/=

Compound divide

%=

Compound modulus

<<=

Compound bitwise left shift

>>=

Compound bitwise right shift

&=

Compound bitwise AND

^=

Compound bitwise exclusive OR

|=

Compound bitwise inclusive OR

Sequence point

++

Postflx increment

--

Postfix decrement

15

Left to right

Left to right

Left to right

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 25

Adapun pembahasan dari beberapa operator dapat diuraikan sebagai


berikut:
3.1 Operator Aritmatika
Operator aritmatika yang digunakan dalam C++ adalah:
Operator Nama

Contoh

Keterangan

Tambah

Operand1 + Operand2 Menjumlahkan dua operand

Kurang

Operand1 - Operand2

Mengurangkan dua operand

Kali

Operand1 * Operand2

Mengkalikan dua operand

Bagi

Operand1 / Operand2

Membagi dua operand

Modulus

Operand1
Operand2

% Menghasilkan sisa hasil bagi


dua operand

Contoh penggunaan operator Aritmatika dapat diterapkan dalam program


application MFC. Coba ikuti langkah-langkah berikut:
8. Buatlah sebuah project application MFC Type Dialog Based dengan nama
Aritmatika
9. Design tampilan form seperti pada gambar

Gambar contoh aritmatika


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 26

Tabel 2.1 Keterangan


ID Control

Properties

Static Text 1

ID : IDC_STATIC1
Caption : Angka Pertama

Static Text 2

ID : IDC_STATIC2
Caption : Angka Kedua

Static Text 3

ID : IDC_STATIC3
Caption : Hasil

Edit Control 1

ID : IDC_EDIT1

Edit Control 2

ID : IDC_EDIT2

Edit Control 3

ID : IDC_EDIT3

Button 1

ID : IDC_BUTTON1
Caption : x

Button 2

ID : IDC_BUTTON2
Caption : /

Button 3

ID : IDC_BUTTON3
Caption : +

Button 4

ID : IDC_BUTTON4
Caption : -

Button 5

ID : IDC_BUTTON5
Caption : %

10. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 27

11. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

Pertama

int

IDC_EDIT1

value

Kedua

int

IDC_EDIT2

value

Hasil

double

IDC_EDIT3

value

Gambar Variabel pertama

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 28

Gambar Variabel kedua

Gambar Variabel hasil


12. Buatlah sebuah fungsi click pada button1 untuk rumus perkalian dengan
cara klik 2x pada button1, kemudian isi perintah berikut:

13. Buatlah sebuah fungsi click pada button2 untuk rumus pembagian dengan
cara klik 2x pada button2, kemudian isi perintah berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 29

14. Buatlah sebuah fungsi click pada button3 untuk rumus penjumlahan dengan
cara klik 2x pada button3, kemudian isi perintah berikut:

15. Buatlah sebuah fungsi click pada button4 untuk rumus pengurangan dengan
cara klik 2x pada button4, kemudian isi perintah berikut:

16. Buatlah sebuah fungsi click pada button5 untuk rumus modulus dengan
cara klik 2x pada button5, kemudian isi perintah berikut:

17. Coba RUN program dengan menekan F5

3.2 Operator Logika


Operator logika adalah operator yang digunakan untuk melakukan operasi
dimana nilai benar (true) dan salah (false). Dalam bahasa C++, nilai benar tersebut
direpresentasi dengan bilangan 1 (selain 0), sedangkan nilai salah direpresentasikan
dengan nilai 0.Adapun operator logika yang digunakan dalam C++ adalah:
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 30

Prioritas Simbol Operator Contoh

Keterangan

Not

!op1

Menghasilkan true jika op1 bernilai


false

&&

And

op1&&op2 Menghasilkan true jika op1 dan op2


true

||

Or

op1||op2

Menghasilkan true jika op1 atau


op2 true

3.3 Operator Relasional


Operator relasional adalah operator yang digunakan untuk menentukan
relasi atau hubungan dari dua buah operand. Operator ini ditempatkan didalam
sebuah ekspresi, yang kemudian akan menentukan benar atau tidaknya sebuah
ekspresi. Adapun operator relasional yang digunakan dalam C++ adalah
Operator Nama

Contoh

Keterangan

<

Lebih kecil dari

Operand1
Operand2

< Menghasilkan true jika


operand 1 lebih kecil
dari operand 2

<=

Lebih kecil atau Operand1


sama dengan
Operand2

<= Menghasilkan true jika


operand 1 lebih kecil
atau
sama
dengan
operand 2

>

Lebih besar dari

Operand1
Operand2

> Menghasilkan true jika


operand 1 lebih besar
dari operand 2

>=

Lebih besar atau Operand1


sama dengan
Operand2

>= Menghasilkan true jika


operand 1 lebih besar
atau
sama
dengan
operand 2

==

Sama dengan

Operand1
Operand2

== Menghasilkan true jika


operand 1 sama dengan
operand 2

!=

Tidak
dengan

sama Operand1
Operand2

!= Menghasilkan true jika


operand 1 tidak sama
dengan operand 2

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 31

Contoh penggunaan operator Aritmatika dapat diterapkan dalam program


application MFC. Coba ikuti langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
Logika
2. Design tampilan form seperti pada gambar

Gambar contoh logika dan relasional


Tabel 2.2 Keterangan
ID Control
Properties
Static Text 1

ID : IDC_STATIC1
Caption : User

Static Text 2

ID : IDC_STATIC2
Caption : Password

Edit Control 1

ID : Ed_User

Edit Control 2

ID : Ed_Password

Button 1

ID : Blogin
Caption : Login

Button 2

ID :Bexit
Caption : Exit

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 32

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

User

CString

Ed_User

value

password

CString

Ed_Password

value

Gambar Variabel user

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 33

Gambar Variabel password


5. Buatlah sebuah fungsi click pada BLogin untuk tombol login dengan cara
klik 2x pada BLogin, kemudian isi perintah berikut:

6. Buatlah sebuah fungsi click pada BExit untuk tombol login dengan cara
klik 2x pada BExit, kemudian isi perintah berikut:

7. Coba RUN program dengan menekan F5

3.4 Operator Increment dan Decrement


Operator Increment (++) dan operator Decrement (--) memungkinkan cara
singkat untuk menaikkan atau menurunkan nilai dari suatu variabel. Pemakaian
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 34

operator Increment dan Decrement sangat menguntungkan karena selain


kompak juga mempercepat eksekusi dari program.
Operator Increment dan Decrement dapat ditempatkan sebelum atau
sesudah variabel. Operator Increment dan Decrement ini disebut prefix
operator bila ditempatkan sebelum variabel dan disebut postfix bila
ditempatkan sesudah variabel. Tabel di bawab ini menunjukkan pertambahan
dan pengurangan 1 terhadap satu variabel.
Operator Contoh Deskripsi Pernyataan yang ekivalen
++

j++;

posfix

j = j + 1;
1;

j +=

++

++j;

prefix

j = j + 1;
1;

j +=

--

j--;

posfix

j = j - 1;
1;

j -=

--

--j;

prefix

j = j 1;
1;

j -=

Contoh penggunaan operator Aritmatika dapat diterapkan dalam program


application MFC. Coba ikuti langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
Increment
2. Design tampilan form seperti pada gambar

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 35

Gambar contoh Increment Decrement


Tabel 2.2 Keterangan
ID Control
Properties
Edit Control

ID : IDC_EDIT1

Button 1

ID : IDC_BUTTON1
Caption : Increment

Button 2

ID : IDC_BUTTON2
Caption : Decrement

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

Angka

IDC_EDIT1

value

int

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 36

Gambar Variabel angka


5. Buatlah sebuah fungsi click pada Button1 untuk tombol Increment dengan
cara klik 2x pada Button1, kemudian isi perintah berikut:

6. Buatlah sebuah fungsi click pada Button2 untuk tombol Decrement dengan
cara klik 2x pada Button2, kemudian isi perintah berikut:

7. Coba RUN program dengan menekan F5


3.5 Operator Gabungan
Operator-operator aritmatik ini dapat digabungkan untuk membentuk
operator gabungan (compound operator). Dari tabel of precedence tampak
bahwa tingkatan precedence dan operator gabungan ini rendah sehingga pada
suatu ekpresi yang mengandung banyak operator, operator gabungan ini pada
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 37

umumnya dievaluasi pada saat-saat akhir. Contoh pemakaian operator


gabungan:
Operator

Contoh

Ekivalen

+=

bonus +=500;

bonus = bonus + .500;

-=

budget -= 50;

budget = budget - 50;

*=

gaji *= 1.2;

gaji = gaji * 1.2;

/=

faktor /= 50;

faktor = faktor / 50;

%=

jml_hari
7;

%= jml_hari = jml_hari % 7;

3.6 Operator kondisional (?:)


Operator ?: adalah satu satunya operator C++ yang memerlukan tiga
operan. Operator kondisional ini digunakan sebagai alternatif dari pernyataan
if-else pada situasi-situasi tertentu, format dari operator ini adalah:
ekpresi_kondisional ? ekpresi_1 : ekpresi_2;
Ekpresi_kondisional : suatu kondisi C++ yang mempunyai nilai true atau false.
Jika hasil nilai dari ekpresi_kondisional adalah true maka ekpresi_1
dieksekusi, bila false maka ekpresi_2 dieksekusi, Contoh:
(jumlah > 20) ? diskon = 0.05 : diskon = 0.1;
Bila jumlah > 20 adalah true maka diskon 5%, bila jumlah < 21 maka diskon
10%. Pemakaian operator ?; mempunyai alur yang sama dengan percabangan
contoh penulisan dengan percabangan:
if (a > 20)
diskon = 0.05;
else
diskon = 0.1;
Contoh penggunaan operator gabungan dan operator kondisional dapat
diterapkan dalam program application MFC. Coba ikuti langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
gabungan
2. Design tampilan form seperti pada gambar
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 38

Gambar contoh gabungan dan kondisional


ID Control

Properties

Static Text 1

ID : IDC_STATIC1
Caption : Nama

Static Text 2

ID : IDC_STATIC2
Caption : Harga

Static Text 3

ID : IDC_STATIC3
Caption : Jumlah

Static Text 4

ID : IDC_STATIC4
Caption : Diskon

Static Text 5

ID : IDC_STATIC5
Caption : Pajak (2%)

Static Text 6

ID : IDC_STATIC6
Caption : Total Bayar

Edit Control 1

ID : ID_Nama

Edit Control 2

ID : ID_Harga

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 39

Edit Control 3

ID : ID_Jumlah

Edit Control 4

ID : ID_Diskon
Disable : True

Edit Control 5

ID : ID_Pajak
Disable : True

Edit Control 6

ID : ID_Total
Disable : True

Button 1

ID : Bhitung
Caption : Hitung

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

harga

int

ID_Harga

value

jumlah

int

ID_Jumlah

value

diskon

int

ID_Diskon

value

pajak

double

ID_Pajak

value

total

double

ID_Total

value

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 40

Gambar Variabel harga

Gambar Variabel jumlah

Gambar Variabel diskon

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 41

Gambar Variabel pajak

Gambar Variabel total


5. Buatlah sebuah fungsi click pada Button1 untuk tombol Hitung dengan cara
klik 2x pada Button1, kemudian isi perintah berikut:

6. Coba RUN program dengan menekan F5


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 42

BAB IV
PERCABANGAN
Statement percabangan dalam dunia pemrograman merupakan salah ilmu
dasar pemrograman yang wajib dimiliki oleh setiap programmer. Logika dari
statement percabangan adalah layaknya ketika kita mencari sebuah jalan dari
beberapa jalan.
Percabangan juga digunakan untuk memecahkan persoalan untuk
mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan
pengambilan keputusan, C++ menyediakan beberapa perintah. Dalam
pemrograman C++ dikenal 2 (dua) buah jenis struktur yang digunakan untuk
mengimplementasikan suatu percabangan, yaitu dengan menggunakan struktur if
dan struktur switch. Statement-statement yang terdapat dalam sebuah blok
percabangan akan dieksekusi hanya jika kondisi yang didefinisikan terpenuhi
(bernilai benar true), artinya jika kondisi tidak terpenuhi (nilai salah false),
maka statement-statement tersebut juga tidak ikut dieksekusi atau dengan kata lain
akan diabaikan oleh compiler. Percabangan di dalam pemrograman digunakan oleh
komputer untuk menentukan langkah kerja instruksi. Percabangan menggunakan
operator kondisional yang akan menghasilkan nilai boolean (benar atau salah).
3.1.

Pernyataan IF (Struktur satu Kondisi)

Struktur ini merupakan struktur yang paling sederhana karena hanya


melibatkan satu buah ekspresi yang akan diperiksa. bentuk umum dari struktur
percabangan yang memiliki satu kondisi adalah sebagai berikut:
Penjelasan Pernyataan if mempunyai pengertian, Jika kondisi bernilai benar,
maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka
akan diabaikan. Dari pengertian tersebut dapat dilihat dari diagram
alir berikut:

kond
isi

salah

perintah

Benar

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 43

Bentuk umum dari pernyataan if

if (kondisi)
pernyataan;

Ket: Penulisan kondisi harus didalam tanda kurung dan berupa ekspresi
relasi dan penulisan pernyataan dapat berupa sebuah pernyataan tunggal,
pernyataan majemuk atau pernyataan kosong. Jika pemakaian if diikuti
dengan pernyataan majemuk, bentuk penulisannya sebagai berikut :
if (kondisi)
{
pernyataan;

Contoh penulisan percabangan satu kondisi dalam program application


MFC dapat dicoba dengan langkah-langkah berikut:
8. Buatlah sebuah project application MFC Type Dialog Based dengan nama
cabang1
9. Design tampilan form seperti pada gambar

Gambar contoh percabangan satu kondisi


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 44

Tabel 2.2 Keterangan


ID Control

Properties

Static Text 1

ID : IDC_STATIC1
Caption : Nilai

Static Text 2

ID : IDC_STATIC2
Caption : Keterangan

Edit Control 1

ID : ID_Nilai

Edit Control 2

ID : ID_Ket

Button 1

ID : BClick
Caption : Click

10. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

11. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

nilai

Int

ID_Nilai

value

ket

CString

ID_Ket

value

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 45

Gambar Variabel nilai

Gambar Variabel ket


12. Buatlah sebuah fungsi click pada BClick untuk tombol Click dengan cara
klik 2x pada BClick, kemudian isi perintah berikut:

13. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 46

3.2.

Pernyataan IF ELSE ( Struktur Dua Kondisi )

Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan


dengan struktur yang hanya memiliki satu buah kondisi. sebenarnya konsepnya
sangat sederhana, yaitu pada struktur jenis ini terdapat sebuah statemen khusus
yang berguna untuk mengatasi kejadian apabila kondisi yang didefinisikan tersebut
tidak terpenuhi (bernilai salah false). adapun bentuk umum dari struktur
percabangan jenis ini adalah sebagai berikut:
Penjelasan:

Pernyataan if mempunyai pengertian, Jika kondisi bernilai benar,


maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat
maka akan mengerjakan perintah-2. Dari pengertian tersebut dapat
dilihat dari diagram alir berikut

kond
isi

salah
Perintah-2

Peintah-1

benar
Gambar 1.2. Diagram Alir if-else
Bentuk umum dari pernyataan if
if (kondisi)
perintah-1;
else
perintah-2;

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 47

Ket: Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal,


pernyataan majemuk atau pernyataan kosong. Jika pemakaian if-else diikuti dengan
pernyataan majemuk, bentuk penulisannya sebagai berikut :
if (kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...
}

Contoh
Menentukan besarnya potongan dari pembelian barang yang diberikan seorang
pembeli, dengan kriteria :

jika total pembelian kurang dari Rp. 50.000,- potongan yang diterima
sebesar 5% dari total pembelian.

Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan
yang diterima sebesar 20% dari total pembelian.

Contoh penggunaan operator gabungan dan operator kondisional dapat


diterapkan dalam program application MFC. Coba ikuti langkah-langkah berikut:
7. Buatlah sebuah project application MFC Type Dialog Based dengan nama
gabungan
8. Design tampilan form seperti pada gambar

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 48

Gambar contoh Percabangan struktur dua kondisi


ID Control

Properties

Static Text 1

ID : IDC_STATIC1
Caption : Nama Barang

Static Text 2

ID : IDC_STATIC2
Caption : Harga

Static Text 3

ID : IDC_STATIC3
Caption : Jumlah

Static Text 4

ID : IDC_STATIC4
Caption : Total

Static Text 5

ID : IDC_STATIC5
Caption : Potongan

Static Text 6

ID : IDC_STATIC6
Caption : Total Bayar

Edit Control 1

ID : ID_Nama

Edit Control 2

ID : ID_Harga

Edit Control 3

ID : ID_Jumlah

Edit Control 4

ID : ID_Total
Disable : True
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 49

Edit Control 5

ID : ID_Potongan
Disable : True

Edit Control 6

ID : ID_Bayar
Disable : True

Button 1

ID : Bhitung
Caption : Hitung

Button 2

ID : BClear
Caption : Clear

Button 3

ID : BExit
Caption : Exit

9. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

10. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

nama

Cstring

ID_Nama

value

harga

int

ID_Harga

value

Jumlah

int

ID_Jumlah

value

total

int

ID_Total

value

potongan

double

ID_Potongan

value

bayar

Double

ID_Bayar

value

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 50

Gambar Variabel nama

Gambar Variabel harga

Gambar Variabel jumlah


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 51

Gambar Variabel total

Gambar Variabel potongan

Gambar Variabel bayar

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 52

11. Buatlah sebuah fungsi click pada BHitung untuk tombol Hitung dengan
cara klik 2x pada BHitung, kemudian isi perintah berikut:

12. Buatlah sebuah fungsi click pada BClear untuk tombol Clear dengan cara
klik 2x pada BClear, kemudian isi perintah berikut:

13. Buatlah sebuah fungsi click pada BExit untuk tombol Exit dengan cara klik
2x pada BExit, kemudian isi perintah berikut:

14. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 53

3.3. Pernyataan NESTED IF ( If Bersarang )


Penjelasan

Nested if merupakan pernyataan if berada didalam pernyataan if


yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(syarat)
if(syarat)
perintah;
else
perintah;
else
if(syarat)
perintah;
else
perintah;

Contoh
Suatu perusahaan memberikan komisi kepada para selesman dengan ketentuan
sebagai berikut:

Bila salesman dapat menjual barang hingga Rp. 20.000 ,- , akan diberikan uang
jasa sebesar Rp. 10.000 ditambah dengan uang komisi Rp. 10% dari
pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang diatas Rp. 20.000 ,- , akan diberikan uang
jasa sebesar Rp. 20.000 ditambah dengan uang komisi Rp. 15% dari
pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang diatas Rp. 50.000 ,- , akan diberikan uang
jasa sebesar Rp. 30.000 ditambah dengan uang komisi Rp. 20% dari
pendapatan yang diperoleh hari itu.

Contoh penggunaan operator gabungan dan operator kondisional dapat


diterapkan dalam program application MFC. Coba ikuti langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
IFbersarang
2. Design tampilan form seperti pada gambar
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 54

Gambar contoh Percabangan bersarang


ID Control

Properties

Static Text 1

ID : IDC_STATIC1
Caption : Nama

Static Text 2

ID : IDC_STATIC2
Caption : Gaji Pokok

Static Text 3

ID : IDC_STATIC3
Caption : Status

Static Text 4

ID : IDC_STATIC4
Caption : Jumlah Anak

Static Text 5

ID : IDC_STATIC5
Caption : Tunjangan Menikah

Edit Control 1

ID : ID_Nama

Edit Control 2

ID : ID_Gaji

Edit Control 3

ID : ID_Tunjangan
Disable : True

Radio Button 1

ID : ID_Nikah
Group : True

Radio Button 2

ID : ID_Belum

Combo Box

ID : ID_JmlAnak
Data : 0;1;2;3;4;5;6;7;8;9
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 55

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

gaji

int

ID_Gaji

value

nikah

Bool

ID_Nikah

value

jmlanak

int

ID_JmlAnak

value

tunjangan

Double

ID_Tunjangan

value

Gambar Variabel gaji

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 56

Gambar Variabel nikah

Gambar Variabel jmlanak

Gambar Variabel tunjangan


5. Buatlah sebuah fungsi click pada ID_Nikah untuk radio button Menikah
dengan cara klik 2x pada ID_Nikah, kemudian isi perintah berikut:
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 57

6. Buatlah sebuah fungsi click pada ID_Belum untuk radio button Belum
Menikah dengan cara klik 2x pada ID_Belum, kemudian isi perintah
berikut:

7. Buatlah sebuah fungsi Select Cange pada ID_JmlAnak untuk Combo Box
dengan cara klik 2x pada ID_JmlAnak, kemudian isi perintah berikut:

8. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 58

4. Pernyataan IF ELSE Majemuk (Struktur Tiga Kondisi)


Percabangan jenis ini merupakan perluasan dari struktur yang memiliki dua
kondisi di atas, yaitu dengan menambahkan satu atau lebih kondisi ke dalamnya.
bentuk umum dari percabangan ini adalah sebagai berikut:
Sintaks umum IF ELSE bertingkat
Penjelasan

Bentuk dari if-else bertingkat sebenarnya serupa dengan nested


if, keuntungan penggunanan if-else bertingkat dibanding
dengan nested if adalah penggunaan bentuk penulisan yang
lebih sederhana.

Bentuk Penulisannya:

if (syarat)
{
perintah;
perintah;
}
else if (syarat)
{
perintah;
perintah;
}
else
{
perintah;
perintah;
}

Contoh 1:
Suatu perusahaan memberikan komisi kepada para selesman dengan ketentuan
sebagai berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 59

Bila salesman dapat menjual barang hingga Rp. 200.000 ,- , akan diberikan
uang jasa sebesar Rp. 10.000 ditambah dengan uang komisi Rp. 10% dari
pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang diatas Rp. 200.000 ,- , akan diberikan uang
jasa sebesar Rp. 20.000 ditambah dengan uang komisi Rp. 15% dari
pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang diatas Rp. 500.000 ,- , akan diberikan uang
jasa sebesar Rp. 30.000 ditambah dengan uang komisi Rp. 20% dari
pendapatan yang diperoleh hari itu.

Contoh pertama penulisan percabangan tiga kondisi dalam program


application MFC dapat dicoba dengan langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
IFmajemuk
2. Design tampilan form seperti pada gambar

Gambar contoh percabangan satu kondisi


Tabel Keterangan
ID Control
Properties
Static Text 1

ID : IDC_STATIC1
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 60

Caption : Nama Salesman


Static Text 2

ID : IDC_STATIC2
Caption : Penjualan

Static Text 3

ID : IDC_STATIC3
Caption : Bonus

Static Text 4

ID : IDC_STATIC4
Caption : Komisi

Static Text 5

ID : IDC_STATIC5
Caption : Total Gaji

Edit Control 1

ID : ID_Nama

Edit Control 2

ID : ID_Jual

Edit Control 3

ID : ID_Bonus
Disable : True

Edit Control 4

ID : ID_Komisi
Disable : True

Edit Control 5

ID : ID_Gaji
Disable : True

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 61

Nama Variabel Variable Type

Control ID

Category

jual

Int

ID_Jual

value

bonus

Int

ID_Bonus

value

komisi

double

ID_Komisi

value

gaji

double

ID_Gaji

value

Gambar Variabel jual

Gambar Variabel bonus

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 62

Gambar Variabel komisi

Gambar Variabel gaji

5. Buatlah sebuah fungsi En_Cange pada ID_Jual untuk Edit Penjualan


dengan cara klik 2x pada ID_Jual, kemudian isi perintah berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 63

6. Coba RUN program dengan menekan F5

Contoh 2:
Contoh program kedua adalah program penilaian dari nahasiswa yang terdiri dari
nilai tugas, nilai uts dan nilai uas kemudian dimasukkan kedalam rumus nilai akhir
dengan ketentuan 20% nilasi uts, 30% nilai tugas dan 50% nilai uas. Sedangkan
rumus percabangannya sebagai berikut:

Bila nilai akhir diantara 85 dan 100 mendapat grade A

Bila nilai akhir diantara 75 dan 84 mendapat grade B

Bila nilai akhir diantara 50 dan 74 mendapat grade C

Bila nilai akhir diantara 40 dan 49 mendapat grade D

Bila nilai akhir diantara 0 dan 39 mendapat grade E

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 64

Contoh kedua dari penulisan percabangan tiga kondisi dalam program


application MFC dapat diatas dapat dicoba dengan langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
Ifmajemuk2
2. Design tampilan form seperti pada gambar

Gambar contoh percabangan satu kondisi


Tabel 2.2 Keterangan
ID Control
Properties
Static Text 1

ID : IDC_STATIC1
Caption : NIM

Static Text 2

ID : IDC_STATIC2
Caption : Nama

Static Text 3

ID : IDC_STATIC3
Caption : Jurusan

Static Text 4

ID : IDC_STATIC4
Caption : Matakuliah

Static Text 5

ID : IDC_STATIC5
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 65

Caption : Uts
Static Text 6

ID : IDC_STATIC6
Caption : Tugas

Static Text 7

ID : IDC_STATIC7
Caption : Uas

Static Text 8

ID : IDC_STATIC8
Caption : Nilai Akhir

Static Text 9

ID : IDC_STATIC9
Caption : Grade

Edit Control 1

ID : ID_Nim

Edit Control 2

ID : ID_Nama

Edit Control 3

ID : ID_Jur

Edit Control 4

ID : ID_Mtk

Edit Control 5

ID : ID_Uts

Edit Control 6

ID : ID_Tgs

Edit Control 7

ID : ID_Uas

Edit Control 8

ID : ID_Na
Disable : True

Edit Control 9

ID : ID_Grade
Disable : True

Group Box

Caption : Nilai

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 66

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

uts

Int

ID_Uts

value

tgs

Int

ID_Tgs

value

uas

Int

ID_Uas

value

na

double

ID_Na

value

grade

double

ID_Grade

value

Gambar Variabel uts


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 67

Gambar Variabel tgs

Gambar Variabel uas

Gambar Variabel na
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 68

Gambar

Variabel

grade

5. Buatlah sebuah fungsi click pada BClick untuk Button Click dengan cara
klik 2x pada BClick, kemudian isi perintah berikut:

6. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 69

3.5. Pernyataan switch - case


Selain menggunakan struktur if, C++ juga dapat melakukan dengan
menggunakan keyword switch, Perintah ini digunakan sebagai alternatif pengganti
dari sintaks if else dengan else lebih dari satu. Dengan perintah ini program
percabangan akan semakin mudah dibuat dan dipelajari. Type data dari ekspresi di
atas haruslah bilangan bulat atau karakter. selain dari type tersebut, C++ tidak
mengizinkan. sedangkan statement default berguna untuk mengeksekusi statement
alternatif. yaitu jika nilai yang kita masukkan ternyata tidak sesuai dengan nilainilai konstant yang telah didefinisikan.
Penjelasan:

Bentuk dari switch - case merupakan pernyataan yang dirancangan


khusus untuk menangani pengambilan keputusan yang melibatkan
sejumlah atau banyak alternatif penyelesaian. Pernyataan switch case ini memiliki kegunaan sama seperti if else bertingkat, tetapi
penggunaannya untuk memeriksa data yang bertipe karakter atau
integer. Bentuk penulisan perintah ini sebagai berikut :

switch (ekspresi integer atau karakter )


{
case konstanta-1 :
perintah;
perintah;
break;
case konstanta-2 :
perintah;
perintah;
break;

default :
perintah;
perintah;
}

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 70

Setiap cabang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi
dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi.
Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika
pernyataan ini tidak ada, maka program akan diteruskan kecabang cabang yang
lainnya.
Contoh program application MFC menggunakan rumus percabangan
dengan format switch case dapat mengikuti langkah-langkah berikut:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
case
2. Design tampilan form seperti pada gambar

Gambar contoh Percabangan switch case


ID Control

Properties

GroupBox

Caption : Penjualan Tiket

Static Text 1

ID : IDC_STATIC1
Caption : Harga

Static Text 2

ID : IDC_STATIC2
Caption : Jumlah Pesan

Static Text 3

ID : IDC_STATIC3
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 71

Caption : Total Bayar


Radio Button 1

ID : ID_BJ
Caption : Batam - Jakarta

Radio Button 2

ID : ID_BS
Caption : Batam - Singapure

Radio Button 3

ID : ID_BM
Caption : Batam Medan

Radio Button 4

ID : ID_BB
Caption : Batam - Bandung

Edit Control 1

ID : ID_Hrg
Disable : True

Edit Control 2

ID : ID_Jml

Edit Control 3

ID : ID_Total
Disable : True

Button

ID : BHitung
Caption : Hitung

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 72

Nama Variabel Variable Type

Control ID

Category

hrg

int

ID_Hrg

value

jml

int

ID_Jml

value

total

int

ID_Total

value

tiket

int

ID_BJ

value

Gambar Variabel hrg

Gambar Variabel jml

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 73

Gambar Variabel total

Gambar Variabel tiket


5. Buatlah sebuah fungsi click pada BHitung untuk Button Hitung dengan cara
klik 2x pada BHitung, kemudian isi perintah berikut:

6. Buatlah sebuah fungsi click pada ID_Bj untuk radio button Batam - Jakarta
dengan cara klik 2x pada ID_Bj, kemudian isi perintah berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 74

7. Buatlah sebuah fungsi click pada ID_Bs untuk radio button Batam Singapure dengan cara klik 2x pada ID_Bs, kemudian isi perintah berikut:

8. Buatlah sebuah fungsi click pada ID_Bm untuk radio button Batam
Medan dengan cara klik 2x pada ID_Bm, kemudian isi perintah berikut:

9. Buatlah sebuah fungsi click pada ID_Bb untuk radio button Batam Bandung dengan cara klik 2x pada ID_Bb, kemudian isi perintah berikut:

10. Kemudian carilah fungsi OnInitDialog kemudian masukkan kode perintah


OnBnClickedBj( ); dengan tujuan agar kode tersebut langsung dijalankan
ketika form melakukan star debugging.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 75

11. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 76

BAB V
PENGULANGAN ( LOOP )
5.1. Pengertian Pengulangan ( Loop )
Pengulangan / loop adalah sebuah struktur bahasa pemograman yang
digunakan untuk mengulang sekumpulan perintah sesuai dengan kondisi
yang diberikan. Pengulangan juga dapat diartikan sebagai suatu proses yang
melakukan statemen - statemen dalam sebuah program secara terus menerus
sampai terdapat kondisi untuk menghentikannya. Proses pengulangan
biasanya digunakan untuk mengulang proses pemasukan data, mengulang
proses perhitungan dan mengulang untuk proses penampilan hasil
pengolahan data, dengan jumlah tertentu jika sebuah kondisi belum
terpenuhi.
Pada bahasa pemrograman, pengulangan proses ditangani dengan suatu
mekanisme yang dinamakan dengan nama loop. Dengan loop, suatu proses
yang berulang dapat diimplementasikan dengan menggunakan statementstatement yang pendek, tanpa harus menuliskan statemen berulang-ulang.
5.2. Jenis - Jenis Pengulangan Dalam C++
Terdapat 3 (tiga) cara untuk melakukan pengulangan di C++ yaitu :
1. For statement
2. While statement
3. Do while statement
1. For Statment
For statment adalah salah satu jenis statement pengulangan yang
digunakan untuk melakukan pengulangan yang telah diketahui banyaknya
pengulangan. Pernyataan for digunakan untuk melakukan looping. Pada
Umumnya looping yang dilakukan oleh for telah diketahui batas awal,
syarat looping dan perubahannya. Selama kondisi terpenuhi, maka
pernyataan akan terus dieksekusi. Statement for memiliki 3 parameter, yaitu
nilai awal (initial value), syarat atau tes kondisi yang menentukan akhir
loop, dan penentu perubahan nilai atau pencacah.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 77

1.

For (<init-exp>) / initial value


For (<init-exp>) adalah bentuk ekspresi dari for yang digunakan
untuk
melakukan inisialisasi terhadap variable- variabel tertentu,
terutama
variable yang digunakan untuk melakukan iterasi.
Init-exp dapat berupa
ekspresi maupun pendefinisian variable.

2.

For (<test-exp>) / syarat atau tes kondisi


For (<tes-exp>) adalah ekspresi dari for yang memegang control
terhadap proses pengulangan tersebut, pada bagian ini akan
ditentukan apakah
proses pengulangan akan tetap berlangsung
atau tidak.

3.

For (<inc/dec-exp> ) / pencacah


For (<inc/dec-exp>) adalah ekspresi dari for yangdigunakan untuk
mengatur perubahan nilai variable. Umumnya nilai variable
tersebut bertambah / berkurang 1 (satu). Bila pernyataan didalam for
lebih dari satu
maka pernyataan-pernyataan tersebut harus diletakan
didalam tanda
kurung.
Bentuk umum pengulangan for statemen dapat dibedakan menjadi 2
macam yaitu :
Untuk pengulangan yang sifatnya menaik ( Increment )
For (variabel = nilai_awal; kondisi; variabel ++)
{
Statemen 1;
Statemen 2;
Statemen 3;
}

Contoh Program
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
perulangan1
2. Design tampilan form seperti pada gambar

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 78

Gambar contoh percabangan satu kondisi


Tabel 2.2 Keterangan
ID Control
Properties
Edit Control

ID : ID_input

List Box

ID : IDC_LIST1

Button 1

ID : Bclick
Caption : Click

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 79

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

input

ID_input

value

CString

Gambar Variabel input


5. Buatlah sebuah fungsi click pada BClick untuk tombol Click dengan cara
klik 2x pada BClick, kemudian isi perintah berikut:

6. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 80

Untuk pengulangan yang sifatnya menurun ( Decrement )


For (variabel = nilai_awal; kondisi; variabel --)
{
Statemen 1;
Statemen 2;
Statemen 3;
}

Contoh Program
Ubahlah perintah dari button Clik dari program diatas menjadi berikut:

Ada beberapa kasus dimana kita melakukan deklarasi dengan cara berbeda,
tidak sesuai dengan bentuk di atas.
Sebagai sebagai berikut contoh:
INPUT DATA
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 81

int batas = 10;


int nomor;
for (nomor =1; nomor <= batas; nomor ++)
{
cout << nomor << "\n";
}
getch();
return 0;
}
OUTPUT DATA #2:
1
2
3
4
5
6
7
8
9
10
5.3. While Statement
While Statement adalah sebuah pernyataan yang berguna untuk
memproses suatu pernyataan atau memproses pernyataan beberapa kali.while
statement dapat di definisikan sebagai pengulangan yang melakukan
pengecekan kondisi di awal blok struktur. Pernyataan atau aksi akan di ulang
jika kondisi bernilai benar dan jika salah maka keluar dari blok pengulangan
(loop). Pernyataan while merupakan salah satu pernyataan yang berguna untuk
memproses suatu pernyataan atau
beberapa pernyataan beberapa kali.
Pernyataan while memungkinkan statemen-statemen yang ada didalamnya
tidak diakukan sama sekali.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 82

Karakteristik while() adalah:


1. Dilakukan pengecekan kondisi terlebih dahulu sebelum dilakukan
pengulangan. Jika kondisi yang dicek bernilai benar (true) maka
pengulangan akan dilakukan.
2. Blok statement tidak harus ada. Struktur tanpa statement akan tetap
dilakukan selama kondisi masih true.
Bentuk umum while adalah
while(kondisi){
pernyataan1;
pernyataan2;
pernyataan3;
}
Contoh Program
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
perulangan1
2. Design tampilan form seperti pada gambar

Gambar contoh percabangan satu kondisi


Tabel 2.2 Keterangan
ID Control
Properties
Edit Control

ID : ID_input
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 83

List Box

ID : IDC_LIST1

Button 1

ID : Bclick
Caption : Click

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

Input

ID_input

value

CString

Gambar Variabel input

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 84

5. Buatlah sebuah fungsi click pada BClick untuk tombol Click dengan cara
klik 2x pada BClick, kemudian isi perintah berikut:

6. Coba RUN program dengan menekan F5

5.4. Do While Statement


Do while statemen adalah sebuah pengulangan yang akan dilakukan
minimal 1x terlebih dahulu, kemudian baru dilakukan pengecekan terhadap
kondisi, jika kondisi benar maka pengulangan masih akan tetap dilakukan.
Terdapat perbedaan antara while statement dengan do while statement yaitu
bahwa pada DO WHILE statement pengulangannya dilakukan terlebih
dahulu baru kemudian di cek kondisinya. Sedangkan WHILE kondisi dicek
dulu baru kemudia statement pengulangannya dijalankan. Akibat dari hal
ini adalah dalam DO WHILE minimal terdapat 1x pengulangan.
Sedangkan WHILE dimungkinkan pengulangan tidak pernah terjadi
yaitu ketika kondisinya langsung bernilai FALSE.
Karakteristik do ... while() adalah:
1. Pengulangan akan dilakukan minimal 1x terlebih dahulu, kemudian
baru dilakukan pengecekan terhadap kondisi, jika kondisi benar
maka pengulangan masih akan tetap dilakukan.
2. Pengulangan dengan do...while() akan dilakukan sampai kondisi
false.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 85

Contoh Program:
1. Buatlah sebuah project application MFC Type Dialog Based dengan nama
perulangan1
2. Design tampilan form seperti pada gambar

Gambar contoh percabangan satu kondisi


Tabel 2.2 Keterangan
ID Control
Properties
Edit Control

ID : ID_input

List Box

ID : IDC_LIST1

Button 1

ID : Bclick
Caption : Click

3. Buatlah variabel dengan cara klik kanan form dan pilih add variabel.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 86

4. Kemudian aturlah variabel dan sesuaikan seperti gambar berikut:


Nama Variabel Variable Type

Control ID

Category

Input

ID_input

value

CString

Gambar Variabel input


5. Buatlah sebuah fungsi click pada BClick untuk tombol Click dengan cara
klik 2x pada BClick, kemudian isi perintah berikut:

6. Coba RUN program dengan menekan F5

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 87

BAB VI
Mengolah Data Array dengan File Text
Untuk mempelajari pengolahan data array dengan file text, kita akan
mencoba membuat aplikasi administrasi data mahasiswa dengan tampilan berikut:

Gambar Tampilan Aplikasi dan file text inputan


Setelah membuat project baru dengan MFC, langkah pertama adalah
membuat tampilan aplikasi dan file mahasiswa.txt seperti pada gambar 1. Seperti
yang kita pelajari sebelumnya, file text sebaiknya dibuat pada folder project dimana
terdapat file-file lain seperti file .cpp dan file .h. Penempatan pada folder project
menjadi penting agar tidak terjadi kesalahan apabila project tersebut anda
pindahkan atau salin di tempat berbeda.
Kemudian buatlah variabel untuk masing-masing objek dengan tipe data
yang sesuai. Pada contoh ini penggunaan tipe data dari masing-masing variabel
dapat dilihat pada tabel berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 88

Jenis Object

Nama Variabel

Tipe Data

Edit Box

edit_nim

int

Edit Box

edit_nama

CString

Edit Box

edit_uts

int

Edit Box

edit_uas

int

Edit Box

edit_tugas

int

Static Text

static_total

float

Static Text

static_grade

CString

Tabel Variabel dan tipe data object dialog


Langkah selanjutnya yang kita lakukan adalah membuat array untuk
menampung data mahasiswa tersebut. Agar array yang kita buat nantinya berlaku
di semua fungsi (global), maka pembuatan array kita lakukan pada file header milik
kotak dialog(file header berakhiran Dlg). Pada contoh aplikasi ini file headernya
adalah ArrayMahasiswaDlg.h. File header tersebut bergantung pada nama project
yang anda gunakan. Masukkan kode deklarasi array berikut pada bagian public
dari file header tersebut:
struct Mahasiswa
{
int NIM;
CString Nama;
int UTS;
int UAS;
int Tugas;
};//Deklarasi tipe bentukan mahasiswa
typedef Mahasiswa TabMhs[100];//deklarasi array tipe bentukan TabMhs
TabMhs Mhs;//deklarasi variabel array tipe bentukan Mhs
int i;//menampung indeks array
int n;//menampung jumlah elemen array
Array tersebut akan kita isi dengan data dari file text. Pembacaan data kita lakukan
pada awal aplikasi, sehingga perlu dibuat pada fungsi OnInitDialog(). Masukkan
kode program berikut setelah // TODO: Add extra initialization here dan return
TRUE.
FILE *Fin;
fopen_s(&Fin,"mahasiswa.txt","r");
char x[30];
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 89

fscanf_s(Fin,"%d\n",&n);
for (i=1;i<=n;i++)
{
fgets(x,30,Fin);
fscanf_s(Fin,"%d",&Mhs[i].NIM);
fscanf_s(Fin,"%d",&Mhs[i].UTS);
fscanf_s(Fin,"%d",&Mhs[i].UAS);
fscanf_s(Fin,"%d\n",&Mhs[i].Tugas);
Mhs[i].Nama = x;
}
fclose(Fin);
Perhatikan bahwa urutan pembacaan berdasarkan urutan data pada file text.
Data yang pertama dibaca adalah jumlah elemen array dan dilanjutkan dengan
pengisian array menggunakan perulangan for. Setelah data masuk ke dalam
variabel array, selanjutnya adalah mengisikan nilai array tersebut kedalam variabel
dialog, menghitung nilai dan grade serta menampilkannya di layar. Tentu saja data
yang ditampilkan pada awal dialog adalah data array pertama (i=1). Karena proses
pengisian array, penghitungan nilai dan grade serta menampilkannya ke layar ini
nantinya akan dilakukan beberapa kali, maka buatlah fungsi baru misal dengan
nama hitungnilai(). Seperti yang pernah dipelajari sebelumnya, untuk pembuatan
fungsi global dengan cara right-click pada class dialog pada class view (pada
contoh ini class dialog adalah CArrayMahasiswaDlg), kemudian add function.
Ubah return type menjadi void, kosongkan parameter type serta beri nama
fungsi pada bagian function name.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 90

Gambar Membuat fungsi global


Setelah pembuatan fungsi selesai, isikan kode program berikut pada fungsi
tersebut:
//mengisikan nilai array ke dalam variabel dialog
EditNomor=i;
EditNim = Mhs[i].NIM;
EditNama= Mhs[i].Nama;
EditUTS = Mhs[i].UTS;
EditUAS = Mhs[i].UAS;
EditTugas = Mhs[i].Tugas;
//menghitung nilai
StaticNilai=0.3*EditUTS+0.4*EditUAS + 0.3*EditTugas;
//menghitung grade
if(StaticNilai>=80)
StaticGrade="A";
else
if((StaticNilai>=65)&&(StaticNilai<80))
StaticGrade="B";
else
if((StaticNilai>=50)&&(StaticNilai<65))
StaticGrade="C";
else
if((StaticNilai>=40)&&(StaticNilai<50))
StaticGrade="D";
else
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 91

StaticGrade="E";
UpdateData(FALSE);//mengupdate nilai variabel agar muncul di dialog
Selanjutnya kita kembali pada fungsi OnInitDialog(), tambahkan kode program
berikut sebelum return TRUE:
//menampilkan data pertama array pada kotak dialog
i=1;
HitungNilai();
Jalankan aplikasi anda, maka data array pertama akan muncul pada dialog.
Apabila terjadi kesalahan, cek kembali folder dari file text anda danurutan dari
penulisan data pada file text.
Setelah berhasil menampilkan data pertama dari array, untuk dapat melihat
data lainnya maka tugas kita selanjutnya adalah membuat fungsi pada tombol next
dan previous. Buat fungsi pada tombol next, kemudian isikan kode program
berikut:
UpdateData(TRUE);
i=EditNomor;//nilai i diisi dengan edit box edit nomor
if((i>=1)&&(i<n))//isi nilai i dengan i+1
i=i+1;
else
i=n;//isi nilai i dengan n apabila indeks >n
HitungNilai();
Buat juga fungsi pada tombol previous dan isikan dengan kode program berikut:
UpdateData(TRUE);
i=EditNomor;
if((i>1)&&(i<=n))
i=i-1;
else
i=1;//untuk i < 1, isi nilai i dengan 1
HitungNilai();
Jalankan aplikasi anda, coba tombol next dan previous apakah sudah
berfungsi sesuai yang kita harapkan.
Agar nantinya proses penambahan tidak dilakukan ketika data ditampilkan
di awal ataupun ketika menggunakan tombol next dan previous, maka sebaiknya
semua edit box di nonaktifkan (disable). Caranya adalah mengubah masing-masing
properties disable dari edit box menjadi true.
Selanjutnya adalah membuat fungsi menambahkan data array mahasiswa.
Buat fungsi pada tombol tambah, kemudian isikan dengan kode program berikut:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 92

//mengaktifkan kembali edit box kecuali edit box nomor


GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
//menyembunyikan tombol next dan previous
GetDlgItem(IDC_BUTTON1)->ShowWindow(FALSE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(FALSE);
//mengosongkan kotak dialog dan mengisi edit nomor dengan data baru
UpdateData(TRUE);
EditNomor= n+1;
EditNim=0;
EditNama="";
EditUTS=0;
EditUAS=0;
EditTugas=0;
StaticNilai=0;
StaticGrade="";
UpdateData(FALSE);
GetDlgItem(IDC_EDIT2)->SetFocus();//membuat fokus pada edit box NIM
Untuk menyimpan data ke dalam file text, buat fungsi pada tombol simpan,
kemudian isikan kode program berikut:
UpdateData(TRUE);
//mengisi array n dengan variabel pada kotak dialog
n= EditNomor;
Mhs[n].NIM=EditNim;
Mhs[n].Nama=EditNama;
Mhs[n].UTS=EditUTS;
Mhs[n].UAS=EditUAS;
Mhs[n].Tugas=EditTugas;
//menampilkan data baru pada kotak dialog
i=n;
HitungNilai();
//menyimpan data ke file text
FILE *Fout;
fopen_s(&Fout,"mahasiswa.txt","w");
fprintf_s(Fout,"%d\n",n);
for (i=1;i<=n;i++)
{
fwprintf_s(Fout,_T("%s\n"),Mhs[i].Nama);
fprintf_s(Fout,"%d %d %d %d\n",Mhs[i].NIM, Mhs[i].UTS, Mhs[i].UAS,
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 93

Mhs[i].Tugas);
}
fclose(Fout);
MessageBox(_T("Data berhasil
disimpan"),_T("Hasil"),MB_OK|MB_ICONINFORMATION);
//menampilkan kembali tombol next dan previous serta menonaktifkan kembali
semua edit box
GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
Jalankan aplikasi, coba masukkan data baru, apabila tidak terjadi kesalahan,
kita lanjutkan pada pembuatan fungsi edit data. Pada prinsipnya fungsi edit data
mirip dengan fungsi penambahan data. Perbedaannya hanya pada letak dari data
array yang diubah, pada proses edit, perubahan dapat dilakukan pada elemen array
manapun sedangkan pada penambahan terjadi perubahan pada jumlah elemen array
dan pengisinan data terakhir. Kedua proses tersebut diakhiri dengan penyimpanan
data ke file text melalui tombol simpan. Untuk itu kita perlu membuat variabel baru
untuk menampung nilai variabel pembeda antara proses tambah dan edit. Pada
contoh ini variabel tersebut diberi nama tombol dan bertipe integer. Variabel
tersebut akan digunakan pada beberapa fungsi sehingga perlu dibuat variabel
global. Right-click pada kotak dialog, pilih add variable, kemudian isikan nama
variabelnya.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 94

Gambar Membuat variabel global

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 95

Buat fungsi pada tombol edit data, kemudian masukkan kode program
berikut pada fungsi tersebut:
tombol=2;
//mengisi nilai tombol dengan 2 untuk edit data
//mengaktifkan kembali edit box kecuali edit box nomor
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
//menyembunyikan tombol next dan previous
GetDlgItem(IDC_BUTTON1)->ShowWindow(FALSE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(FALSE);
//memfokuskan pada edit box NIM
GetDlgItem(IDC_EDIT2)->SetFocus();
Perhatikan pada kode program di atas, terdapat pengisian pada variabel tombol
dengan nilai 2 untuk edit data, tambahkan juga pengisian variabel tombol tersebut
pada fungsi dari tombol tambah dengan nilai 1. Selanjutnya ubahlah fungsi pada
tombol simpan menjadi seperti berikut:
UpdateData(TRUE);
switch(tombol)
{
case 1:
{
//mengisi array n dengan variabel pada kotak dialog
n= EditNomor;
Mhs[n].NIM=EditNim;
Mhs[n].Nama=EditNama;
Mhs[n].UTS=EditUTS;
Mhs[n].UAS=EditUAS;
Mhs[n].Tugas=EditTugas;
//menampilkan data baru pada kotak dialog
i=n;
HitungNilai();
break;
}
case 2:
{
i=EditNomor;
Mhs[i].NIM=EditNim;
Mhs[i].Nama=EditNama;
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 96

Mhs[i].UTS=EditUTS;
Mhs[i].UAS=EditUAS;
Mhs[i].Tugas=EditTugas;
i=EditNomor;
HitungNilai();
break;
}
}
//menyimpan data ke file text
FILE *Fout;
fopen_s(&Fout,"mahasiswa.txt","w");
fprintf_s(Fout,"%d\n",n);
for (i=1;i<=n;i++)
{
fwprintf_s(Fout,_T("%s\n"),Mhs[i].Nama);
fprintf_s(Fout,"%d %d %d %d\n",Mhs[i].NIM, Mhs[i].UTS, Mhs[i].UAS,
Mhs[i].Tugas);
}
fclose(Fout);
MessageBox(_T("Data berhasil
disimpan"),_T("Hasil"),MB_OK|MB_ICONINFORMATION);
//menampilkan kembali tombol next dan previous serta menonaktifkan kembali
semua edit box
GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);
GetDlgItem(IDC_BUTTON2)->ShowWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
Jalankan kembali aplikasi anda dan lihat apakah tombol tambah dan edit
berfungsi dengan benar. Terakhir adalah membuat fungsi pada tombol hapus.
Isikan kode program berikut pada fungsi tersebut:
//message box untuk konfirmasi penghapusan data
int pilihan= MessageBox(_T("Apakah anda yakin untuk menghapus data
ini?"),_T("Konfirmasi"),MB_YESNO|MB_ICONQUESTION);
if (pilihan==IDNO)
MessageBox(_T("Penghapusan batal"));
else
{
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 97

UpdateData(TRUE);
//elemen array yang akan dihapus ditimpa dengan elemen selanjutnya dari array
//proses dilakukan sampai elemen array n-1
i= EditNomor;
for (i=EditNomor;i<=n-1;i++)
{Mhs[i].NIM=Mhs[i+1].NIM;
Mhs[i].Nama=Mhs[i+1].Nama;
Mhs[i].UTS=Mhs[i+1].UTS;
Mhs[i].UAS=Mhs[i+1].UAS;
Mhs[i].Tugas=Mhs[i+1].Tugas;
}
n=n-1;//jumlah elemen array berkurang 1
//menyimpan data array kedalam file text
FILE *Fout;
fopen_s(&Fout,"mahasiswa.txt","w");
fprintf_s(Fout,"%d\n",n);
for (i=1;i<=n;i++)
{
fwprintf_s(Fout,_T("%s "),Mhs[i].Nama);
fprintf_s(Fout,"%d %d %d %d\n",Mhs[i].NIM, Mhs[i].UTS, Mhs[i].UAS,
Mhs[i].Tugas);
}
fclose(Fout);
MessageBox(_T("Data berhasil
dihapus"),_T("Hasil"),MB_OK|MB_ICONINFORMATION);
//menampilkan nilai baru dari elemen yang dihapus
UpdateData(TRUE);
if ((i>=1)&&(i<n))
{
i=EditNomor;}
if (i==n)
{ i=EditNomor-1;}
HitungNilai();
}
Ujilah kembali aplikasi anda, apakah semua fungsi telah berjalan dengan
benar. Apabila anda berhasil membuat aplikasi ini maka anda sudah mampu
membuat aplikasi yang cukup kompleks. Sebagai bahan latihan, coba gabungkan
dengan pembuatan menu pada pembahasan sebelumnya.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 98

BAB VII
MENGOLAH DATA DENGAN FILE TEXT
Ada beberapa bentuk pengolahan data yang dapat dilakukan dengan bahasa
C/C++ baik menggunakan compiler visual C++ ataupun yang lain. Pada
pembahasan ini kita akan mempelajari salah satu cara mengolah data menggunakan
inputan dari file text serta mengeluarkan hasilnya juga melalui file text. Berikut
adalah contoh aplikasi yang akan kita buat berikut file text input dan outputnya:

Gambar Tampilan aplikasi beserta file input dan outputnya

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 99

Untuk membuat aplikasi tersebut, pertama buat project baru kemudian


buatlah tampilan dialog seperti pada gambar 1 di atas. Selanjutnya buatlah variabel
untuk masing-masing objek dengan tipe data yang sesuai. Pada contoh ini
penggunaan tipe data dari masing-masing variabel dapat dilihat pada tabel berikut:
Jenis Object

Nama Variabel

Tipe Data

Edit Box

edit_nim

int

Edit Box

edit_nama

CString

Edit Box

edit_uts

float

Edit Box

edit_uas

float

Edit Box

edit_tugas

float

Static Text

static_total

float

Static Text

static_grade

CString

Tabel . Variabel dan tipe data object dialog


Setelah membuat variabel untuk masing-masing objek dialog maka
selanjutnya kita buat fungsi pembacaan file text pada tombol baca arsip. Masukkan
kode program berikut pada fungsi tersebut:
FILE *Fin;//pembentukan pointer file
fopen_s(&Fin,"mhs.txt","r");//mengarahkan pointer pada file text dengan modus
"read"
//pembacaan string dengan spasi
char x[30];//variabel temporary bertipe array karakter
fgets(x,30,Fin);//mengambil nilai dari file ke dalam variabel temporary
edit_nama=x;//memasukkan nilai variabel temporary ke variabel edit box
//pembacaan tipe data selain string
//memasukkan isi file text sesuai urutan ke dalam variabel
fscanf_s(Fin,"%d",&edit_nim);
fscanf_s(Fin,"%f",&edit_uts);
fscanf_s(Fin,"%f",&edit_uas);
fscanf_s(Fin,"%f",&edit_tugas);
fclose(Fin);//menutup pembacaan file
UpdateData(false);// mengupdate nilai variabel agar muncul pada dialog
Setelah menuliskan kode program tersebut, buatlah file text dengan nama
mhs.txt dengan isi seperti pada gambar 1 pada folder project anda dimana terletak
file header, cpp, dll. Selanjutnya anda dapat mencoba menjalankan aplikasi dan
mencoba tombol baca arsip. Apabila tidak terjadi kesalahan maka data pada file
text akan ditampilkan pada dialog utama.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 100

Selanjutnya buat fungsi pada tombol hitung grade, kemudian isikan kode
program berikut:
UpdateData(true);
static_total=0.3*edit_uts+0.3*edit_tugas+0.4*edit_uas;
if(static_total>=80)
static_grade="A";
else if ((static_total>=70)&&(static_total<80))
static_grade="B";
else if ((static_total>=60)&&(static_total<=70))
static_grade="C";
else if ((static_total>=50)&&(static_total<60))
static_grade="D";
else
static_grade="E";
UpdateData(false);
Terakhir adalah membuat fungsi pada tombol cetak. Masukkan kode
berikut pada fungsi dari tombol cetak:
FILE *Fout;
fopen_s(&Fout,"cetak.txt","w");
fprintf_s(Fout,"********************************************\n");
fprintf_s(Fout,"****
LAPORAN DATA MAHASISWA
****\n");
fprintf_s(Fout,"********************************************\n");
fprintf_s(Fout,"Nim
: %d\n",edit_nim);
fwprintf_s(Fout,_T("Nama
: %s"),edit_nama);
fprintf_s(Fout,"Nilai UTS : %0.2f\n",edit_uts);
fprintf_s(Fout,"Nilai UAS : %0.2f\n",edit_uas);
fprintf_s(Fout,"Nilai Tugas : %0.2f\n",edit_tugas);
fprintf_s(Fout,"-----------------------------\n");
fprintf_s(Fout,"Nilai Total : %0.2f\n",static_total);
fprintf_s(Fout,"Grade
: %s",static_grade);
UpdateData(false);
fclose(Fout);
MessageBox(_T("Data sudah di cetak"));
Perhatikan perbedaan modus pembacaan file, untuk menuliskan data
kedalam file text kita menggunakan modus write (w). Untuk fungsi penulisan data
selain string menggunakan fprintf_s() sedangkan untuk string (dengan spasi)
menggunakan fwprintf_s().

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 101

BAB VIII
MENGGUNAKAN FUNGSI PENGOLAHAN WAKTU (TIMER)
Pada pokok bahasan kali ini kita akan mempelajari bagaimana
menggunakan beberapa fungsi pengolahan waktu yang terdapat pada class Ctimer.
Untuk mempermudah mempelajarinya berikut contoh aplikasi yang akan kita buat:

Gambar Contoh aplikasi pengolahan waktu


Langkah pertama yang perlu kita buat seperti biasa adalah project baru.
Buat project MFC application dengan tipe dialog base, kemudian buatlah tampilan
dialog seperti contoh tampilan aplikasi pada gambar 1 menggunakan objek-objek
kontrol yang terdapat pada toolbox. Langkahselanjutnya adalah membuat variabel
pada static text berisikan data yang kita gunakan. Pada aplikasi ini, ada 6 static text
yang berisikan data, 3 untuk menampung data waktu sistem, data waktu masuk dan
waktu keluar dan 3 lagi untuk menampung selisih waktu masuk dan keluar. Contoh
pada aplikasi ini variabel waktu yang kita buat adalah static_waktu, static_masuk
dan static_keluar yang bertipe CString dan variabel selisih waktu yaitu
static_jam, static_menit dan static_detik yang bertipe integer.
Selain variabel objek dialog, kita juga perlu membuat variabel global pada
class dialog. Berikut adalah contoh deklarasinya pada file dialog header:

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 102

//deklarasi tipe bentukan waktu


typedef struct{
int jam,menit,detik;
}waktu;
//deklarasi variabel penampung waktu:
//temp menampung waktu sementara
// waktu1 menampung waktu masuk, waktu2 menampung waktu keluar
waktu temp,waktu1,waktu2;
Isikan deklarasi variabel tersebut pada bagian public dari dialog header
(pada contoh ini Lat_WaktuDlg.h) pada bagian public agar dapat diakses pada
semua fungsi.
Setelah pembuatan variabel selesai, selanjutnya adalah membuat agar static
text menampilkan waktu jam sistem. Karena kita ingin agar jam sistem tersebut
muncul pada awal aplikasi dijalankan maka kita perlu mengakses fungsi
OnInitDialog(). Isikan kode program berikut pada fungsi tersebut:
//membuat timer dengn fungsi SetTimer dengan ID 1, waktu refresh 1000 mili
second
SetTimer(1,1000,NULL);
Selanjutnya buat fungsi OnTimer() dengan cara mengakses Class dialog
properties pada class view, kemudian pada menu properties pilih messages, pilih
WM_Timer, lalu <add>OnTimer. Pada fungsi OnTimer() yang terbentuk
masukkan kode program berikut:
void CLat_WaktuDlg::OnTimer(UINT_PTR nIDEvent)
{
CTime waktu = CTime::GetCurrentTime();//mengambil waktu sistem
//memasukkan variabel waktu ke static text dengan format tertentu
static_waktu = waktu.Format("%H:%M:%S");
//mengambil komponen jam, menit dan detik ke variabel sementara(temp)
temp.jam=waktu.GetHour();
temp.menit=waktu.GetMinute();
temp.detik=waktu.GetSecond();
UpdateData(false);//update variabel ke kotak dialog
CDialog::OnTimer(nIDEvent);
}
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 103

Gambar Membuat fungsi OnTimer()


Jalankan aplikasi kemudian lihat apakah waktu sistem sudah muncul pada
static text pertama. Apabila berhasil maka selanjutnya adalah membuat fungsi pada
tombol Absen. Fungsi yang ingin kita buat adalah apabila tombol ditekan pertama
kali maka waktu masuk akan tercatat, kemudian apabila tombol tersebut ditekan
kedua kalinya maka waktu keluar akan tercatat sekaligus menghitung selisih antara
waktu keluar dan waktu masuk dan menampilkannya pada static text selisih waktu.
Buat fungsi pada tombol Absen dengan cara double-click pada tombol tersebut,
kemudian masukkan kode program berikut:
//cek apakah waktu masuk kosong. Apabila kosong, isi waktu masuk
if(static_masuk.IsEmpty()==true)
{ //mengisi waktu masuk dengan waktu sistem ketika tombol ditekan
static_masuk=static_waktu;
//mengisi komponen jam,menit,detik dari waktu masuk dengan nilai variabel temp
waktu1.jam=temp.jam;
waktu1.menit=temp.menit;
waktu1.detik=temp.detik;
}
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 104

else//apabila waktu masuk sudah terisi, masukkan waktu keluar


{ //mengisi waktu masuk dengan waktu sistem ketika tombol ditekan
static_keluar=static_waktu;
//mengisi komponen jam,menit,detik dari waktu keluar dengan nilai variabel temp
waktu2.jam=temp.jam;
waktu2.menit=temp.menit;
waktu2.detik=temp.detik;
//menghitung selisih waktu
//selisih waktu dalam satuan detik
int selisih=waktu2.jam*3600+waktu2.menit*60+waktu2.detik(waktu1.jam*3600+waktu1.menit*60+waktu1.detik);
static_jam=selisih/3600;//menghitung jam
int sisa=selisih%3600;
static_menit=sisa/60;//menghitung menit
static_detik=sisa%60;//menghitung detik
}
UpdateData(false);
Jalankan aplikasi, apabila berhasil maka akan menghasilkan tampilan
seperti berikut:

Gambar Tampilan jalannya aplikasi

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 105

BAB IX
MENGUBAH KOTAK DIALOG AWAL APLIKASI, MENGHAPUS
FUNGSI DAN VARIABEL.
Mungkin ketika anda mencoba membuat aplikasi sendiri setelah
mempelajari pembahasan-pembahasan sebelumnya, anda menemukan beberapa
masalah seperti bagaimana mengubah kotak dialog awal aplikasi dengan kotak
dialog yang lain, lalu bagaimana menghapus fungsi dan variabel yang sudah kita
buat sebelumnya secara aman atau tidak merusak aplikasi yang telah kita buat.
9.1. Mengubah kotak dialog awal aplikasi
Apabila kita mempunyai suatu aplikasi dengan beberapa kotak dialog, misalkan
pada project latihan password berikut terdapat 2 kotak dialog yaitu
IDD_PASSWORD_DIALOG dan IDD_LOGIN_DIALOG.
IDD_PASSWORD_DIALOG merupakan kotak dialog awal yang terbentuk
ketika kita membuat project MFC sedangkan IDD_LOGIN_DIALOG adalah kotak
dialog baru yang dibuat untuk proses login.

Gambar Kotak dialog project password


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 106

Apabila kita ingin pada awal aplikasi dijalankan langsung muncul kotak
dialog login (IDD_LOGIN_DIALOG) maka kita harus mengubah fungsi
InitInstance() pada file .cpp dari class aplikasi. Seperti yang pernah kita bahas
sebelumnya bahwa pada saat kita membuat suatu project MFC maka secara
otomatis akan terbentuk 2 class yang diberi nama mengikuti nama project yang kita
buat. Pada contoh ini nama project adalah Password, maka secara otomatis
terbentuk 2 class yaitu class CPasswordApp (application class) dan
CPasswordDlg (dialog class). Masing-masing class tersebut terdiri dari file .h dan
.cpp, CPasswordApp terdiri dari file Password.h dan Password.cpp
sedangkan CPasswordDlg terdiri dari PasswordDlg.h dan PasswordDlg.cpp

Gambar Class dan file pada project password


Bukalah file Password.cpp kemudian cari fungsi InitInstance(). Perhatikan
pada baris program berikut:
CPasswordDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
Perhatikan bahwa baris program tersebut biasa kita gunakan untuk
membuka halaman baru seperti yang pernah kita pelajari pada pokok bahasan
mengenai pembuatan menu. Jadi seharusnya sudah jelas bagaimana bahwa kita
tinggal mengubahnya menjadi mengarah ke dialog login. Untuk itu hal pertama
yang kita lakukan adalah menambahkan #include login.h pada bagian paling atas
dari Password.cpp, kemudian gantilah nama class CPasswordDlg pada bagian
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 107

program dari fungsi InitInstance() di atas menjadi Clogin yang merupakan nama
class dari kotak dialog login.
Apabila aplikasi tersebut dijalankan kembali maka kotak dialog login akan
muncul pertama kali.
9.2. Menghapus fungsi
Mungkin anda pernah mengalami masalah ketika menghapus fungsi,
misalnya ketika anda secara tidak sengaja melakukan double-click pada salah satu
objek pada kotak dialog, akan muncul fungsi baru, lalu anda hapus fungsi tersebut
dari file .cpp anda. Apa yang akan terjadi? Pasti aplikasi project anda akan menjadi
error. Lalu apa yang sebenarnya terjadi? Ketika kita membuat suatu fungsi maka
fungsi itu tidak hanya tertulis pada bagian tertentu pada file .cpp saja tapi pada
beberapa tempat dan file yang berbeda. Untuk melihat kaitan atau referensi dari
suatu fungsi, right-click pada nama fungsi di class view, kemudian pilih find all
references. Perhatikan pada gambar 3 di bawah kita melihat referensi dari fungsi
milik tombol login.

Gambar Melihat referensi dari suatu fungsi


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 108

Anda dapat melihat letak dari masing-masing referensi tersebut dengan


double-clik pada masing-masing referensi.
Cara yang paling aman untuk menghapus suatu fungsi adalah melalui
properties dari class yang memiliki fungsi tersebut. Contoh untuk tombol login di
atas dapat kita akses melalui classnya yaitu CPasswordDlg. Pada jendela
properties, klik tombol event kemudian cari fungsi dari event BN_CLICKED pada
IDC_BUTTON1 yang merupakan ID dari tombol login. Pilih <Delete> untuk
menghapus fungsi tersebut.

Gambar Menghapus fungsi tombol melalui jendela properties


Anda juga dapat menghapus fungsi tersebut dengan cara menghapus semua
referensinya, tetapi cara ini tidak disarankan. Akan lebih aman sebelum anda
menghapus referensi coba dengan menjadikan referensi tersebut menjadi komentar
dengan memberikan tanda // pada baris programnya.
9.3. Menghapus variabel
Sama seperti dengan fungsi, untuk menghapus suatu variabel juga perlu
kehati-hatian apabila kita tidak ingin aplikasi yang kita buat menjadi error. Seperti
yang kita ketahui bahwa masing-masing objek kontrol hanya dapat dibuat 1
variabel untuk masing-masing kategori dengan menggunakan add variable wizard.
Contohnya perhatikan pada gambar 5 di bawah, untuk kategori value pada edit box
password kita tidak bisa membuat variabel dengan tipe data yang lain karena
sebelumnya sudah dibuat variabel dengan nama edit_password bertipe CString.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 109

Gambar Variabel edit box yang sudah ada sebelumnya


Langkah pertama untuk menghapus variabel adalah mengakses ikatan atau
referensi dari variabel tersebut yaitu dengan cara right-click pada variabel yang
akan dihapus melalui class view, kemudian pilih find all references.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 110

Gambar Melihat referensi dari suatu variabel


Double click masing-masing referensi tersebut untuk melihat letaknya pada
baris program anda. Hapus masing-masing referensi tersebut pada program apabila
anda ingin menghapus variabel tersebut. Agar lebih aman sebelum anda
menghapus referensi, coba dengan menjadikan referensi tersebut menjadi komentar
dengan memberikan tanda // pada baris programnya.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 111

BAB X
MEMBUAT LOGIN DENGAN PASSWORD
Pada pembahasan ini, kita akan mempelajari bagaimana membuat suatu
aplikasi login menggunakan password. Berikut contoh tampilan yang akan kita
buat:

Gambar Aplikasi login dengan password


Seperti biasa buatlah project baru menggunakan MFC, kemudian isikan
kotak dialog dengan objek-objek yang diperlukan agar tampilannya menyerupai
gambar.
Pada edit box password, ubahlah properties password menjadi true sehingga
ketika kita mengisikan karakter pada edit box maka akan muncul sebagai dot ().
Kemudian buat variabel pada edit box, kategori value dan tipe data CString, misal
dengan nama edit_password, lalu buat juga variabel dengan kategori control,
misal dengan nama ctrl_edit_password. Penjelasan mengenai variabel control ini
dapat anda lihat pada pembahasan membuat variabel (lanjutan).
Buat juga sebuah variabel global bertipe integer untuk menampung jumlah
percobaan input password, sebab kita ingin apabila user 3 kali melakukan
kesalahan, maka aplikasi akan tertutup. Cara membuatnya adalah right-click pada
kotak dialog, pilih tipe data int, kemudian beri nama variabelnya misal dengan
nama count.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 112

Buat fungsi pada tombol OK, kemudian isikan kode program berikut pada
fungsi tersebut:
UpdateData(true);//mengupdate nilai pada dialog masuk ke variabel objek kontrol
count=count+1;//menambahkan 1 setiap kali percobaan input password
//kondisi perulangan: selama percobaan belum 3 kali dan pasword belum cocok
//maka kembali ke halaman awal serta tambah 1 nilai count.
while((count<3)&&(edit_password!="kodok"))
{
MessageBox(_T("Password Salah!"), _T("Warning"),
MB_OK|MB_ICONEXCLAMATION);
ctrl_edit_password.SetFocus();
return;
count = count+1;
}
if(edit_password=="kodok")//kondisi apabila password cocok
MessageBox(_T("Selamat! Anda berhasil masuk ke dalam
sistem"),_T("Informasi"),MB_OK|MB_ICONINFORMATION);
else//kondisi ketika setelah 3 kali percobaan dan password belum cocok juga
MessageBox(_T("Password 3X salah! Anda tidak berhak mengakses
sistem"),_T("Informasi"),MB_OK|MB_ICONINFORMATION);
OnOK();
Sampai tahapan ini aplikasi password sudah dapat digunakan. Lalu,
bagaimana jika kita ingin agar password dibaca dari file text berbentuk array
seperti berikut:

Gambar File text berisi data login


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 113

Perhatikan file tersebut, string pertama berisi username sedangkan string


kedua berisi password.
Untuk menggunakan file text tersebut sebagai password maka kita harus
membuat array tipe bentukan dan pembacaan arsip pada fungsi OnInitDialog()
seperti yang pernah kita pelajari pada pembahasan mengenai mengolah data array
dengan file text. Pendefinisian array tipe bentukan dibuat pada file header dari
class dialog, pada contoh ini adalah Lat_Array_PasswordDlg.h. Tuliskan kode
berikut pada bagian public:
struct login
//tipe bentukan login
{
CString username;
CString password;
};
typedef login Tablogin[100]; //membuat array tipe bentukan
Tablogin log; //mendeklarasikan variabel array
Selanjutnya buatlah variabel global sebagai berikut:

i, tipe data int untuk menampung indeks elemen array

n, tipe data int untuk menampung jumlah elemen array

idx, tipe data int untuk menampung indeks hasil pencarian

count, tipe data int untuk menampung jumlah percobaan login

Setelah variabel-variabel yang kita butuhkan telah siap, selanjutnya adalah


membaca isi file dan mengisikannya pada variabel array. Buka fungsi
OnInitDialog() kemudian isikan kode program berikut:
//pembacaan file login.txt
FILE *Fin; //pembentukan pointer
fopen_s(&Fin,"login.txt","r"); //penghubungan file arsip dengan pointer dengan
modus read
char x[30]; //variabel sementara untuk menampung nilai string dari arsip
char y[30]; //variabel sementara untuk menampung nilai string dari arsip
while(!feof(Fin))
{
fscanf_s(Fin,"%s",x,30);
log[i].username = x; //nama diisi dengan variabel sementara x
fscanf_s(Fin,"%s",y,30);
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 114

log[i].password = y; //nama diisi dengan variabel sementara y


i=i+1;
}
n=i;
UpdateData(FALSE);
fclose(Fin); //jangan lupa tutup arsip
Terakhir adalah mengisikan kode program berikut pada fungsi dari tombol OK:
UpdateData(true);
if(edit_password.IsEmpty()==true)
{
MessageBox(_T("Password tidak boleh
kosong!"),_T("Warning"),MB_OK|MB_ICONEXCLAMATION);
ctrl_edit_password.SetFocus();
return;
}
else
{//1
count=count+1;
//Fungsi Pencarian-------------------------------------------------i = 0; //inisialisasi nilai i
//perulangan proses selama nilai i < n (jumlah elemen array) dan data pin tidak
sama dengan password yang dimasukkan
while ((i < n) && (log[i].password != edit_password))
i++;
if (log[i].password == edit_password)
idx = i; //apabila ada data yang sama dengan inputan password, maka nilai nomor
elemen data tersebut ditampung pada variabel idx
else
idx = -1; //apabila tidak ditemukan data yang sama dengan password, maka idx
diisi dengan -1
//Batas fungsi pencarian-------------------------------------------while ((count<3)&&(idx == -1))
{
MessageBox(_T("PIN
Salah!"),_T("Warning"),MB_OK|MB_ICONEXCLAMATION);
return;
count = count + 1;
}
if(idx != -1)
MessageBox(_T("Selamat Tn/Ny. ")+ log[idx].username +_T("\nAnda Berhasil
masuk ke sistem!"), _T("Informasi"), MB_OK|MB_ICONINFORMATION);
else
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 115

MessageBox(_T("PIN 3X salah! Anda tidak berhak mengakses


sistem!"),_T("Informasi"),MB_OK|MB_ICONINFORMATION);
OnOK();
}//1
Jalankan aplikasi anda dan cek apakah semua fungsi berjalan dengan benar.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 116

BAB XI
MENGHUBUNGKAN APLIKASI MFC DENGAN DATABASE
Pada pokok bahasan ini kita akan mempelajari bagaimana menghubungkan
aplikasi MFC dengan database. Sebagai contoh, buat database menggunakan MS
Access seperti contoh pada gambar 1 berikut untuk database perpustakaan dengan
tabel buku. Simpan file access tersebut dengan tipe .mdb.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 117

Gambar Membuat database dengan MS Access


Untuk menghubungkan database tersebut dengan aplikasi MFC yang akan
kita buat, kita memerlukan koneksi ODBC (Open Database Connection). Fitur
ODBC ini dapat anda temukan dengan mengakses Control Panel pada windows
anda, kemudian pilih Administrative tools dan pilih menu Data Source (ODBC).

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 118

Gambar Mengakses Fitur ODBC


Buat koneksi baru dengan tombol add kemudian pilih driber MS Access.

Gambar Membuat koneksi ODBC


Isi nama data source kemudian pilih database yang akan digunakan.

Gambar Setting koneksi ODBC

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 119

Setelah melakukan setting koneksi ODBC di atas maka koneksi ODBC


anda telah siap untuk digunakan pada aplikasi MFC. Langkah selanjutnya tentu
saja adalah membuat project MFC baru. Untuk koneksi dengan database, MFC
menyediakannya pada tipe aplikasi single document.

Gambar Tipe aplikasi Single Document untuk aplikasi database


Setting database support dengan memilih Database view without file
support sebab kita tidak belum menghubungkan dengan file lain seperti file
dokumen untuk laporan. Pilih client type ODBC kemudian tekan tombol Data
Source, pilih koneksi ODBC yang telah anda buat sebelumnya dan pilih tabel yang
akan digunakan.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 120

Gambar Setting database Support


Setelah melakukan setting untuk database support maka akan terbentuk
beberapa class pembentuk aplikasi database. Apabila anda menekan tombol finish
akan muncul pesan warning yang mengingatkan bahwa pada aplikasi yang anda
buat terdapat code yang berisi password ke database. Untuk sementara kita abaikan
dulu pesan tersebut.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 121

Gambar Pesan warning pada akhir pembuatan aplikasi database


Tampilkan kotak dialog yang telah terbentuk melalui resource view
kemudian buat tampilan seperti berikut:

Gambar Kotak dialog aplikasi database


Coba jalankan aplikasi, akan ada pesan error dan apabila anda akses letak
error tersebut mengarah pada warning terhadap adanya password yang kita temui
sebelumnya. Sementara hal ini kita abaikan dengan membuat comment pada line
code program tersebut menggunakan //.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 122

Gambar Menangani pesan warning/error untuk security issue


Setelah mengangani masalah security issue tersebut, apabila anda jalankan
aplikasi kembali maka akan berhasil, akan tetapi belum ada data yang ditampilkan
pada edit box sebab edit box yang kita buat belum terhubung dengan database.
Buka file set.h maka anda akan menemukan variabel data yang terbentuk secara
otomatis dan telah terhubung dengan database.

Gambar Variabel data dari database


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 123

Untuk menghubungkan variabel tersebut dengan edit box yang telah kita
buat pada kotak dialog, bukalah file view.cpp kemudian akses fungsi
DoDataExchange. Masukkan kode program berikut pada fungsi tersebut.
DDX_FieldText(pDX, IDC_EDIT1, m_pSet->m_ID, m_pSet);
DDX_FieldText(pDX, IDC_EDIT2, m_pSet->m_judul_buku, m_pSet);
DDX_FieldText(pDX, IDC_EDIT3, m_pSet->m_stok, m_pSet);

Gambar Menghubungkan edit box dengan database


Perhatikan bahwa kode program tersebut menghubungkan antara id dari
edit box pada kotak dialog dengan variabel dataset.
Jalankan aplikasi anda, maka edit box anda akam menampilkan data dari
database. Perhatikan anda bisa penggunakan menu toolbar untuk mengakses data
lainnya.

Gambar Edit box terhubung dengan database


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 124

Perhatikan bahwa ukuran kotak dialog perlu diubah agar tidak terlalu besar.
Untuk mengubahnya buka file MainFrm.cpp dan masukkan code program berikut
pada fungsi OnCreate dan PreCreateWindow.
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
.
.
.
// TODO: Delete these three lines if you don't want the toolbar to be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
//Set posisi dan nama kotak dialog
this->CenterWindow();
this->SetWindowText(_T("Sistem Administrasi Perpustakaan - Data Buku"));
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
//Set ukuran kotak dialog dan title
cs.cx = 500;
cs.cy = 450;
cs.style &= ~FWS_ADDTOTITLE;
return TRUE;
}
Jalankan kembali aplikasi anda untuk melihat tampilan yang baru

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 125

BAB XII
MEMBUAT APLIKASI PENGOLAHAN DATABASE
Pokok bahasan ini merupakan lanjutan dari pembahasan sebelumnya
tentang Menghubungkan Aplikasi MFC dengan Database. Pada bagian ini kita
akan mempelajari bagaimana membuat fungsi-fungsi dasar pengolahan data seperti
penambahan data, penghapusan data dan edit data.
Untuk membuat fungsi penambahan data, tambahkan tombol save dan
cancel pada kotak dialog kemudian ubah properties visible menjadi false agar
tombol-tombol tersebut tidak terlihat. Ubah juga properties disabled semua edit
box menjadi true agar menjadi tidak aktif.

Gambar Membuat tombol simpan


Buat variabel control tombol tersebut dan semua edit box dengan cara rightclick pada masing-masing objek kemudian pilih add variable, misal pada contoh
ini dibuat dengan nama: ctrl_btn_simpan, ctrl_edit_kode, ctrl_edit_buku dan
ctrl_edit_stok.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 126

Gambar Membuat variabel control


Buka kotak dialog menu pada resource view dan tambahkan sub menu New
Record pada menu Record.

Gambar Menambah menu new record


|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 127

Buat fungsi untuk menu new record tersebut dengan cara right-click
kemudian pilih add event handler. Pilih class view untuk menampung fungsi
tersebut.

Gambar Membuat fungsi dari menu new record


Isikan kode program pada fungsi tersebut seperti berikut:
void CLat_DatabaseView::OnRecordNewrecord()
{
//mengaktifkan edit box dan tombol simpan
ctrl_edit_kode.EnableWindow(true);
ctrl_edit_buku.EnableWindow(true);
ctrl_edit_stok.EnableWindow(true);
ctrl_btn_simpan.ShowWindow(true);
ctrl_btn_batal.ShowWindow(true);
//mengosongkan isi edit box
ctrl_edit_kode.SetWindowTextW(CString(""));
ctrl_edit_buku.SetWindowTextW(CString(""));
ctrl_edit_stok.SetWindowTextW(CString(""));
//set fokus pada edit box kode buku
ctrl_edit_kode.SetFocus();
//menambahkan data baru
m_pSet->AddNew();
}

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 128

Buat juga fungsi pada tombol simpan dan tambahkan kode program seperti
berikut:
void CLat_DatabaseView::OnBnClickedButton1()
{
UpdateData();
if (m_pSet->Update())
AfxMessageBox(_T("Database updated!"));
else
AfxMessageBox(_T("Failed updating database!"));
// menyembunyikan kembali tombol
ctrl_btn_simpan.ShowWindow(false);
ctrl_btn_batal.ShowWindow(false);
//menonaktifkan edit box
ctrl_edit_kode.EnableWindow(false);
ctrl_edit_buku.EnableWindow(false);
ctrl_edit_stok.EnableWindow(false);
//menampilkan data terakhir
m_pSet->MoveLast();
}
Terakhir buat fungsi pada tombol cancel dan isikan kode program seperti berikut:
void CLat_DatabaseView::OnBnClickedButton2()
{
// menyembunyikan kembali tombol
ctrl_btn_simpan.ShowWindow(false);
ctrl_btn_batal.ShowWindow(false);
//menonaktifkan edit box
ctrl_edit_kode.EnableWindow(false);
ctrl_edit_buku.EnableWindow(false);
ctrl_edit_stok.EnableWindow(false);
//query ulang data
m_pSet->Requery();
UpdateData(false);
}
Apabila anda ingin menambahkan icon penambahan data pada toolbar maka
tampilkan menu toolbar melalui resource view, kemudian buatlah icon baru untuk
penambahan data tersebut, terakhir ubahlah nama id icon tersebut pada properties
menjadi sama dengan id dari fungsi new record.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 129

Gambar Membuat ikon toolbar untuk menu new record


Fungsi selanjutnya yang akan kita buat adalah fungsi edit data. Buat sub
menu edit record pada menu record kemudian buat fungsi untuk menu tersebut.
Fungsi edit ini kurang lebih sama dengan fungsi tambah data dan menggunakan
tombol-tombol yang sama (tombol save dan cancel). Untuk itu kita perlu suatu
variabel untuk membedakan fungsi mana yang sedang kita gunakan. Buat variabel
global pada class view dengan cara right-click pada kotak dialog kemudian buat
variabel dengan tipe integer (pada contoh ini nama variabel: tombol). Selanjutnya
isikan kode program berikut pada fungsi edit record:
void CLat_DatabaseView::OnRecordEditrecord()
{
//nilai tombol=2 untuk fungsi edit data
tombol=2;
//mengaktifkan edit box dan tombol
ctrl_edit_kode.EnableWindow(true);
ctrl_edit_buku.EnableWindow(true);
ctrl_edit_stok.EnableWindow(true);
ctrl_btn_simpan.ShowWindow(true);
ctrl_btn_batal.ShowWindow(true);
//edit data pada database
m_pSet->Edit();
}
Perhatikan bahwa untuk fungsi edit nilai variabel tombol kita isi dengan nilai 2,
untuk itu isi nilai variabel tombol pada fungsi tambah dengan nilai 1.
void CLat_DatabaseView::OnRecordNewrecord()
{
//nilai tombol=1 untuk fungsi tambah data
tombol=1;
.
.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 130

.
}
Ubah kode program untuk tombol save:
void CLat_DatabaseView::OnBnClickedButton1()
{
.
.
.
if(tombol==1)
m_pSet->MoveLast();//menampilkan data terakhir
else
return;//kembali ke kondisi sebelumnya
}
Dan pada tombol cancel:
void CLat_DatabaseView::OnBnClickedButton2()
{
.
.
.
if(tombol==1)
m_pSet->Requery();//query ulang data
else
return;//kembali ke kondisi sebelumnya
UpdateData(false);
}
Fungsi selanjutnya yang akan kita buat adalah fungsi hapus data.
Tambahkan sub menu delete rocord pada menu record, kemudian buat fungsi pada
menu delete record tersebut. Isikan kode program berikut pada fungsi tersebut:
void CLat_DatabaseView::OnRecordDeleterecord()
{
int Answer = MessageBox(_T("Apakah anda yakin untuk menghapus data
ini?"),_T("konfirmasi"),MB_YESNO);
if( Answer == IDYES )
{
m_pSet->Delete();
m_pSet->Requery();
UpdateData(FALSE);
}
else
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 131

return;
}
Seperti pada fungsi new record, anda dapat menambahkan ikon pada fungsi
delete record. Jalankan aplikasi untuk melihat apakah fungsi-fungsi di atas berjalan
dengan baik.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 132

BAB XIII
MENU
Pada bagian ini kita akan mempelajari bagaimana membuat menu pada
aplikasi, sekaligus bagaimana membuat kotak dialog baru dan menghubungkannya
dengan kotak dialog utama melalui pilihan menu. Berikut adalah contoh tampilan
aplikasi yang akan kita buat :

Gambar Tampilan akhir aplikasi menu


Langkah pertama yang kita lakukan adalah menambahkan static text pada
kotak dialog utama. Ubahlah properties sunken menjadi true, kemudian buatlah
variabel untuk kedua static text tersebut, tentu saja setelah mengganti nama ID
pada bagian properties. Pada contoh aplikasi ini digunakan nama variabel
static_nama dan static_pilihan.
Langkah selanjutnya adalah membuat menu yang nantinya akan menempel
pada kotak dialog utama tersebut. Buka Jendela resource view, kemudian rightclick pada project yang anda buat, pilih add | resource, kemudian akan muncul
jendela add resources dengan beberapa jenis resource yang bisa ditambahkan. Pilih
menu kemudian tekan tombol new.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 133

GAMBAR 2 Membuat menu pada aplikasi


Selanjutnya akan muncul dialog menu seperti pada gambar 3. Isikan beberapa
pilihan pada menu tersebut sesuai yang anda inginkan. Misal pada contoh ini dibuat
pilihan 1, pilihan 2 dengan sub menu pilihan 2A dan 2 B, pilihan lain dan keluar
yang dibatasi sebelumnya dengan separator (). Pembuatan separator cukup
dengan right-click kemudian pilih insert separator.

Gambar Mengisi pilihan menu dan mengaktifkannya


Agar menu yang baru saja dibuat muncul pada kotak dialog utama ketika
dijalankan, ubahlah properties menu pada dialog utama sesuai nama id dari menu
yang baru saja dibuat. Secara default nama menu yang anda buat adalah
IDR_MENU1.
Jalankan aplikasi anda, apabila tidak terjadi kesalahan maka akan muncul
aplikasi dengan tampilan menu seperti pada gambar 1. Lalu bagaimana membuat
fungsi pada masing-masing pilihan menu tersebut? Pada contoh aplikasi ini,
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 134

apabila salah satu menu dipilih maka akan ditampilkan pada static text. Untuk itu
tentu saja langkah selanjutnya adalah membuat variabel pada static text. Pada
contoh ini variabel static text diberi nama static_hasil.
Untuk membuat fungsi pada menu cukup right-click pada pilihan menu
kemudian pilih add event handler. Yang perlu diperhatikan adalah pilih class dialog
utama anda sebab disanalah fungsi tersebut akan dituliskan. Perhatikan pada
gambar berikut:

Gambar Menentukan class untuk fungsi menu


Pada fungsi yang terbentuk, tuliskan kode program berikut:
static_hasil="Anda memilih: Pilihan 1";
UpdateData(false);
Jalankan aplikasi, ketika anda memilih pilihan 1 pada menu maka pada
static text akan muncul tulisan: Anda memilih: Pilihan 1. Selanjutnya lakukan hal
yang sama untuk pilihan 2A dan 2B.
Untuk menu pilihan lain, kita akan melakukan hal yang sedikit berbeda
yaitu memunculkan kotak dialog baru berisi pilihan pada list box. Untuk itu yang
perlu kita lakukan adalah membuat kotak dialog baru. Caranya cukup dengan
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 135

mengakses resource view, pilih folder dialog, right-click, kemudian pilih insert
dialog. Tambahkan list box dan button pada kotak dialog baru tersebut.

Gambar Membuat kotak dialog baru


Setelah membuat kotak dialog baru, langkah selanjutnya adalah membuat
class baru untuk menampung variabel dan fungsi dari objek-objek pada kotak
dialog tersebut, dalam hal ini adalah list box dan button. Cara membuat class baru
yaitu right-click pada kotak dialog baru, pilih add class. Selanjutnya akan muncul
MFC Class Wizard, tuliskan nama class baru yang anda buat. Pada contoh
aplikasi ini class baru diberi nama : Cpilihan.
Setelah class baru terbentuk, perhatikan pada solution explorer terbentuk
file header dan file .cpp baru. Pada contoh ini terbentuk pilihan.h dan pilihan.cpp.
Agar class baru yang terbentuk terhubung dengan class dari dialog utama,
tambahkan #include pilihan.h pada file cpp dari dialog utama anda, pada contoh
ini pada Lat_Menu1dlg.cpp.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 136

Gambar Membuat class untuk kotak dialog baru.


Buat fungsi pada menu pilihan lain dengan cara right-click pada menu
pilihan lain, kemudian tetap pilih class kotak dialog utama anda yang pada contoh
ini adalah Clat_Menu1Dlg. Pada fungsi yang terbentuk tuliskan kode berikut:
//membuat objek dari class Cpilihan
Cpilihan objekpilihan;
objekpilihan.DoModal();//DoModal() adalah fungsi untuk menampilkan kotak
dialog
Jalankan aplikasi kemudian pilih menu pilihan lain, seharusnya kotak
dialog baru dengan list box akan tampil. Selanjutnya adalah mengisi list box
dengan pilihan. Caranya tentu sama dengan yang pernah kita pelajari pada
pembahasan mengenai list box yaitu membuat pointer dan mengisikan data pada
bagian OnInitDialog() yaitu fungsi yang akan dijalankan sebelum kotak dialog
tampil. Akan tetapi apabila anda cek pada class view, pada class baru yang kita
buat (Cpilihan) tidak terdapat fungsi OnInit Dialog(). Untuk membuatnya pilih
class Cpilihan pada class view, pada jendela properties pilih overrides yang
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 137

berisikan fungsi-fungsi dari class dialog. Pilih OnInitDialog kemudian


<add>OnInitDialog, maka fungsi OnInitDialog() akan terbentuk pada class
Cpilihan.

Gambar Membuat fungsi OnInitDialog().


Isikan kode program berikut pada bagian //TODO: Add extra initialization
here:
CListBox *pointer = static_cast<CListBox*>(GetDlgItem(IDC_LIST1));
pointer->AddString(_T("Belajar Visual C++"));
pointer->AddString(_T("Belajar C++"));
pointer->AddString(_T("Belajar SQL"));
pointer->AddString(_T("Belajar Manajemen Database"));
Apabila anda jalankan kembali aplikasinya maka listbox telah terisi dengan
pilihan di atas. Selanjutnya bagaimana menampilkan pilihan dari list box pada
static text? Buat fungsi pada tombol submit kemudian isi dengan fungsi OnOK()
untuk menutup kotak dialog. Buat variabel CString pada list box, misal pada
aplikasi ini diberi nama list_pilihan.
Tapi dimana fungsinya kita letakkan? Bukan ditombol submit, bukan juga
dengan membuat fungsi baru, tapi cukup dengan menambahkan kode program
berikut pada fungsi menu pilihan lain pada Lat_Menu1Dlg.cpp:
UpdateData(true);//update perubahan pilihan list box pada variabel
//mengakses variabel list_pilihan melalui objek dari class Cplilihan
static_hasil=objekpilihan.list_pilihan;
UpdateData(false);//update isi variabel ke form
Jalankan aplikasi anda, apabila tidak terjadi kesalahan maka ketika anda
memilih salah satu pilihan pada listbox, maka pilihan tersebut akan muncul pada
static text di kotak dialog utama.
|| Aplikasi MFC Microsoft Visual Studio C++ ||

P a g e | 138

Penutup
Sasa Ani Arnomo, S.Kom., M.S.I. Lahir di Surakarta
(Kota Solo) 11 Juni 1984. Riwayat Pendidikan S1 berasal dari
STMIK AUB Surakarta sedangkan untuk S2 lulusan dari
STMIK Putera Batam. Hobby bermain bulutangkis dan footsal.
Keahlian program yang dikuasai JAVA, Microsoft Visual Studio C#,
Microsoft Visual Studio C++, VB.Net, Delphi, Visual FoxPro, Dreamweaver dan
beberapa program lain. Aktif sebagai editor CBIS Journal dan melakukan
penelitian di bidang sistem informasi.

|| Aplikasi MFC Microsoft Visual Studio C++ ||

Anda mungkin juga menyukai