BAB 2 LANDASAN TEORI - Implementasi Algoritma Greedy Dalam Masalah Lintasan Terpanjang Menggunakan Bahasa C

BAB 2 LANDASAN TEORI Bab ini akan menjelaskan masalah-masalah teoritis yang berkaitan dalam

  pembuatan program menentukan jarak terpanjang menggunakan algoritma Greedy dengan bahasa pemrograman C

2.1 Pengertian Komputer

  Istilah komputer (computer) diambil dari bahasa latin computare yang berarti menghitung (to compute). Dengan demikian komputer dapat diartikan sebagai alat hitung. Komputer bukan sekedar mesin hitung tetapi komputer mempunyai kemampuan yang dapat membantu manusia dalam menyelesaikan pekerjaan.

  Komputer dapat melakukan berbagai macam pekerjaan sesuai dengan program yang diberikan. Program adalah sekumpulan instruksi atau perintah terperinci yang sudah dipersiapkan agar komputer dapat melakukan fungsinya dengan cara yang sudah ditentukan. Komputer adalah alat elektronik yang mampu melakukan beberapa pekerjaan diantaranya: a.

  Menerima masukan data b.

  Memproses masukan sesuai dengan programnya.

  c.

  Menyimpan perintah-perintah dan hasil dari pengolahan d. Menyediakan keluaran dalam bentuk informasi

2.2 Teori Graf

  Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini.Graf digunakan untuk merepresentasikan objek- objek diskrit dan hubungan antara objek-objek tersebut.Representasi visual dari graf adalah dengan menyatakan objek dinyatakan sebagai noktah, bulatan, atau titik sedangkan hubungan antara objek dinyatakan denagan baris.

  Secara matematis graf didefinisikan seperti berikut ini graf G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan G=(V, E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul (vertices atau node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul.

  Simpul pada graf dapat dinomori dengan huruf seperti

  a, b, c, …, v, w, …, dengan

  bilanagan asli 1, 2, 3, .., atau gabungan keduanya. Sedangkan sisi yang menghubungkan simpul u dengan simpul v dinyatakan dengan pasangan (u, v) atau dinyatakan dengan lambang e 1, e 2

  , … .Dengan kata lain, jika e adalah sisi

  yang menghubungkan simpul u dengan simpul v, maka e dapat ditulis sebagai berikut :e=(v , v)

2.2.1 Graf Sederhana (Simple Graph)

  Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana.Pada gambar 2.1 adalah contoh graf sederhana yang merepresentasikan jaringan computer.

  Pada graf sederhana, sisi adalah pasangan tak-terurut (unordered pairs). Jadi menuliskan sisi (u, v) sama saja dengan (v, u). Kita dapat juga mendefinisikan graf sederhana G = (V, E) terdiri dari himpunan tidak kosong simpul-simpul dari E adalah himpunan pasangan tak-terurutyang berbeda yang disebut sisi.

  1

  1 1 e

  4

  e

  1 e 4 e

  1

  3

  2

  2

  2

  3 3 e e

  7

  4

  5

  e

  5

  4

  4 (a) (b) (c)

Gambar 2.1 Tiga buah graf (a) graf sederhana (b) graf ganda (c) graf semu

  2.2.2 Graf Tak-Berarah (Undirected Graph)

  Graf tak-berarah yaitu graf yang sisinya tidak mempunyai orientasi arah.Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatiakan. Jadi, (u, v) = (v, u) adalah sisi yang sama.

  2

  2

  2

  3

  3

  1

  1

  3

  1

  4

  4

  4 (a) (b) (c)

  Gamabar 2.2 (a) graf tak-berarah (b) graf berarah (c) graf ganda-berarah

  2.2.3 Graf Berbobot

  Bobot pada setiap sisi dapat berbeda-beda bergantung pada masalah yang dimodelkan dengan graf. Bobot dapt menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh (message) dari sebauh simpul komunikasi ke simpul komunikasi lain (dalam jaringan komputer), ongkos produksi, dan sebagainnya.Gambar 2.3 adalah contoh graf berbobot. a

  10

  12

  8 b e

  15

  9

  11 14 c d

Gambar 2.3 Graf Berbobot

  Istilah lain yang sering dikaitkan dengan graf berbobot adalah graf berlabel. Namun graf berlabel sesungguhnya lebih luas lagi definisinya. Label tidak hanya diberikan pada sisi, tetapi juga pada simpul. Sisi diberi label berupa bilangan tak negatif, sedangkan simpul diberi label berupa data lain. Misalnya pada graf yang memodelkan kota-kota, simpul diberi nama kota-kota, sedangkan label pada sisi menyatakan jarak antara kota-kota.

2.3 Matriks Ketetanggaan (Adjacency Matrix)

  Matriks ketetangaan adalah representasi graf yang paling umum. Misalkan G = (V, E) adalah graf dengan n simpul,

  n ≥ 1. Matriks ketetangaan G adalah matriks

  dwimatra yang berukuran n × n. Bila matriks tersebut dinamakan A = [a ij ], maka a ij = 1 jika simpul i dan j bertetangaan, sebaliknya a ij = 0 jika simpul i dan j tidak bertetangga.

  Karena matriks ketetanggaan hanya berisi 0 dan 1, maka tersebut dinamakan juga matriks nol-satu(zero-one). Selain dengan angka 0 dan 1, elemen matriks dapat juga dinyatakan dengan nilai false (menyatakan 0) dan true (menyatakan 1). Perhatikanlah bahwa matriks ketetanggaan didasarkan pada pengurutan nomor simpul. Disini, terdapat n!cara pengurutan nomor simpul, yang berarti ada n! matriks ketetanggaan berbeda untuk graf dengan n simpul.

  1

  1

  1

  3

  2

  3

  2

  4

  3

  4

  2

  4 1 2 3 4 1 2 3 4 5 1 2 3 4 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 2 1 0 1 1 2 1 0 1 0 0 2 1 0 1 1 3 1 1 0 1 3 1 1 0 1 0 3 1 0 0 0 4 0 1 1 0 4 0 0 1 0 0 4 0 1 1 0

  5 0 0 0 0 0 (a) (b) (c)

Gambar 2.4 Tiga buah graf dengan matriks ketetanggaannya masing-masing

  Matriks ketetanggaan untuk graf sederhana dan tidak berarah selalu simetris, sedangkan untuk graf berarah matriks ketetanggaannya belum tentu simetris (akan simetris jika berupa graf berarah lengkap). Selain itu diagonal utamanya selalu nol karena tidak ada sisi gelang.

  Sayangnya, matriks ketetangaan nol-satu tidak dapat digunakan untuk merepresentasikan garf yang mempunya sisi ganda (ganda graf). Untuk menyiasatinya, maka elemen a ij pada matriks ketetanggaan sama dengan jumlah sisi yang berasosiasi dengan (

  V i V j ). Matriks ketetangaannnya tentu bukan lagi ,

  matriks nol-satu. Untuk graf semu, gelang pada simpul

  V i dinyatakan dengan nilai pada posisi (i. i) di matriks ketetangaannya. 2 Jumlah elemen matriks ketetangaan untuk graf dengan n simpul adalah n .

  Jika setiap elemen membutuhkan ruang memori sebesar p, maka ruang memori 2 yang diperlukan seluruhnya adalah pn .Pada matriks ketangaan untuk graf tak- berarah sederhana simetri, kita cukup menyimpan elemen segitiga atas saja, karena matriksnya simetri.Sehingga ruang memori yang dibutuhkan dapat 2 . dihemat menjadi pn /2

  Keuntungan representasi dengan matriks ketetangaan adalah elemen matriksnya dapat diakses langsung melalui indeks.Selain itu, kita juga dapat menentukan dengan langsung apakah simpul i dan simpul j bertetangga.

2.4 Permasalahan Optimasi

  Persoalan optimasi (optimization problem) adalah persoalan yang menuntut pencarian solusi optimum.Persoalan optimasi dibagi menjadi dua macam, yaitu maksimasi (maximization) dan minimasi (minimization).Penentuan jalur terpanjang merupakan salah satu contoh persoalan optimasi dimana termasuk ke dalam persoalan optimasi maksimasi (maximization).Secara umum, penentuan jalur terpanjang dibagi menjadi dua metode, yaitu metode konvensional, yang menggunakan perhitungan matematika secara biasa dan metode heuristik, metode yang menggunakan perhitungan matematika secara komputasi.

  1. Metode Konvensional Metode konvensional adalah metode yang diterapkan dengan menggunakan perhitungan matematika murni atau secara biasa. Ada beberapa metode konvensional yang sering digunakan untuk menyelesaikan masalah optimasi, diantaranya: algoritma Djikstra, algoritma Floyd-Warshall, dan algoritma Bellman-Ford.

  2. Metode Heuristik Metode heuristik adalah salah satu dari bidang kecerdasan buatan yang digunakan untuk menyelesaikan masalah optimasi.Terdapat beberapa algoritma dari metode heuristik yang sering digunakan dalam permasalahan optimasi, diantaranya adalah algoritma genetika, algoritma pencarian tabu, jaringan saraf tiruan, algoritma semut dan lain-lain.

  2.5 Jarak Terpanjang

  Menurut Cormen dkk (1992), persoalan lintasan terpanjang pada graph merupakan salah satu permasalahan optimasi. Graph yang digunakan merupakan graph tidak berarah berbobot (undirected weighted graph), yaitu graph yang diberi bobot dan tidak memiliki arah. Bobot antar vertex dinyatakan sebagai jarak antar kota, waktu, pengiriman pesan dan lain-lain. Lintasan terpanjang merupakan suatu jaringan atau kerangka jalur petunjuk perjalanan dari suatu vertex ke vertex lainnya atau yang menjadi tujuan perjalanan dengan beberapa pilihan jalur yang mungkin untuk di jalani.

  Persoalan lintasan terpanjang (longest path problem) mempunyai beberapa manfaat, diantaranya, yaitu kasus perhitungan worst-delay pada paket Ethernet.

  Penggunaan real-time Ethernet protocol menjadi lebih relevan untuk aplikasi waktu-kritis jaringan industri. Dalam konteks ini, disajikan suatu metode untuk menghitung worst-delay paket Ethernet yang diaktifkan (Schmidt dkk, A Longest- Path Problem for Evaluating The Worst-Case Packet Delay of Switched Ethernet ).

  2.6 Algoritma Greedy

  Algoritma Greedy adalah algoritma yang memecahkan masalah langkah per langkah, pada setiap langkah membuat pilihan optimum (local optimum) pada setiap langkah dengan harapan bahwa langkah berikutnya mengarah ke solusi optimum global (global optimum).

  Algoritma Greedy membuat keputusan berdasarkan pilihan yang ada sekarang, tidak melihat pilihan yang akan muncul kemudian. Karena itulah algoritma Greedy di kategorikan dalam algoritma yang “berpandang pendek” dan tidak dapat diulang karena keputusan yang telah diambil pada suatu langkah selanjutnya. Padahal dalam permasalahan optimasi terdapat banyak pilihan yang perlu di cari tahu pada setiap langkah solusi. Terkadang algoritma Greedy mengambil keputusan yang diambil terlalu dini tanpa melihat yang akan ditemui berikutnya sehingga menimbulkan apa yang disebut “good next move, bad overall

  move”.

  Melihat kelemahan yang dimiliki, solusi optimum global yang didapatkan belum tentu merupakan solusi optimum (terbaik), tetapi sub-optimum. Karena algoritma Greedy tidak beroperasi secara menyeluruh terhadap semua alternative solusi yang ada.

  Namun begitu algoritma ini tetap menjadi pilihan utama untuk permasalahan yang sederhana karena ini adalah metode yang paling cepat dibandingkan yang lain dan dapat memberikan solusi yang mendekati atau aproksimasi terhadap nilai optimum yang diinginkan serta hasil yang diberikan masih merupakan solusi yang layak.

  Algoritma yang termasuk ke dalam tipe algoritma Greedy antara lain kode Huffman, algoritma Dijkstra, algoritma Prim, dan algoritma Kruskal yang ketiganya digunakan dalam menyelesaikan permasalah optimasi graf.

  Skema umum Algoritma Greedy Algoritma Greedy disusun oleh elemen-elemen berikut:

  1. Himpunan kandidat. Berisi elemen-elemen pembentuk solusi.

  2. Himpunan solusi Berisi kandidat-kandidat yang terpilih sebagai solusi persoalan.

  3. Fungsi seleksi (selection function) Memilih kandidat yang paling memungkinkan mencapai solusi optimal.

  Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya.

  4. Fungsi kelayakan (feasible) Memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala (constraints) yang ada. Kandidat yang layak dimasukkan ke dalam solusi, sedangkan kandidat yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi.

  5. Fungsi obyektif yaitu fungsi yang memaksimumkan atau meminimumkan nilai solusi(misalnya panjang lintasan, keuntungan, dan lain-lain).Contoh pada masalah Pemilihan Processor, berdasarkan benchmark elemen-elemen algoritma Greedy-nya adalah: a.

  Himpunan kandidat: himpunan hardware yang terdiri dari Processor, Memory dan Graphic card b. Himpunan solusi: Kombinasi Processor , Memory dan Graphic card dengan Benchmark terbaik namun dengan total harga yang tidak melebihi budget maksimum c. .Fungsi seleksi: Seleksi Processor, Memory dan Graphic card agar mendapat performa optimum dan tidak melebihi budget maksimum yang tersedia d. Fungsi obyektif: Budget maksimum yang tersedia.

2.7 Sekilas Tentang Bahasa Pemrograman C

  Bahasa C merupakan bahasa pemrogranam tingkat menengah.Pada tahun 1972 bahasa C pertama kali dirancang oleh Dennis M. Ritchie di Bell Laboratories.

  Pada tahun 1978 Dennis dan Brian W. Kerninghan mempublikasikan bahasa C melalui The C Programing Language sehingga bahasa C dikenal banyak orang.

  Pada tahun 1989 akhirnya bahasa C distandarisasi ANSI (American National

  Standard Institude ) sehingga menjadi bahasa pemrograman standar hingga saat ini.Kompilernya dapat dibuat pada platform yang berbeda.

  #include<stdio.h> Int main ( ) { printf(“Selamat Datang di Dev C++”); getch( ); } Penjelasan dari kode program diatas adalah : 1.

  Pada baris pertama terdapat #include <stdio.h>, bagian ini disebut

  preprocessor directive yang artinya bagian yang digunakan untuk

  mengikut-sertakan berkas-berkas file header/library yang berisi fumgsi- fungsi yang ada pada program yang akan dibuat pada baris-baris bawahnya. File yang diikutsertakan bernama stdio.h yang terletak disuatu direktori pada instalasi Dev C++.

  2. Pada baris selanjutnya terdapat int main (). Inimerupakan judul fungsi utama program yang bernama fungsi main ( )yang menggembalikan nilai berupa integer (bilangan bulat negatif ataupun positif). Fungsi main ( ) ini adalah fungsi yang wajib ada di setiap kode program yang ditulis menggunakan bahasa C. Tanda { merupakan awal program.

3. Pada baris berikutnya terdapat printf(“Selamat Datang di Dev C++”);.

  Hal ini merupakan perintah untuk menampilkan output dilayar monitor berupa tulisan “Selamat Datang di Dev C++” (tanpa tanda kutip). Perintah untuk menampilkan tulisan ke layar disebut dengan fungsi printf ()yang menerima masukan berupa kalimat yang ingin ditampilkan. Tanda titik koma harus selalu dituliskan untuk member tanda akhir dari suatu baris perintah.

  4. Pada baris berikutnya terdapat getch ( );, digunakan untuk menghentikan layar tampilan sejenak sampaipengguna menekan tombol yanga ada pada

  keyboard . Jadi fungsinya adalah menunggu penekanan tombol tertentu dan kemudian program akan mati (terminated).

5. Baris terakhir berisi } yang berarti akhir dari program.

  Bahasa C disebut juga bahasa pemrograman tersturktur, fungsioanal karena strukturnya menggunakan fungsi-fungsi sebagai bagian (subroutine/module).Fungsi selain fungsi utama disebut subroutine/moduledan ditulis setelah (library). Jika fungsi-fungsi diletakkan pada file pustaka (library)dan akan dipakai di suatu program, maka nama file header-nya harus dilibatkan dalam program menggunakan preprocessordirective #include.

  Suatu program C minimal harus memiliki fungsi main(). Tanpa fungsi itu maka program C tidak akan dapat dieksekusi, walau dapat dikompilasi. Struktur program bahasa C adalah sebagai berikut :

  <preposessor directive> <preposessor directive> Void main ( ) { int main(){ <statement>; <statement>;

  <statement>; <statement>; <statement>; <statement>; } } Statement adalah suatu baris intruksi/perintah tertentu.Statement

  menyebabkan suatu tindakan dilakukan oleh komputer.Sedangkan preprossesor

  directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta atau fungsi makro tertentu.

Gambar 2.5 Struktur Program CTabel 2.1 Tabel contoh statement Intruksi/Statement Tindakan

  A = b*c ; Menghitung Menampilkan literal string printf(“Antonius Rahmat C”); Menerima input data scanf(“%f”,&Celcius); Mengendalikan proses

  If(N<0)printf(“negatif”);

2.7.1Identifier, Keywords dan Tipe Data Pada Bahasa C

  Suatu program harus menyimpan nlai-nilai tertentu pada memorinya untuk digunakan selama pemrosesan komputasi program.Ukuran tempat penyimpanan sangat bergantung pada besar memori yang disediakan oleh kompiler program tersebut. Bahasa C juga harus menyimpan nilai-nilai yang dimasukkan pengguna agar bias diproses lebih lanjut didalam memori.Untuk menyimpan nilai-nilai itu dibutuhkan suatu penamaan yang unik agar tidak terjadi kerancuan dengan program lain yang sama-sama berjalan diatas sistem operasi yang ada.

  Tabel 2.232Keywords pada C

  Auto Double Int Switch Break Else Long Typedef Case Enum Register Union Char Extern Return Unsigned Const Float Short Void Continue For Signed Volatile Default Goto Sizeof While Do If Static Struct

  Semua identifier digunakan untuk menyimpan data pada memori komputer untuk keperluaan komputasi.Penyimpanan data tentu tidak bisa dilakukan tanpa mengetahui secara pasti seberapa kemampuan suatu identifier untuk menyimpan data.Jenis dan ukurannya disebut tipe data.Tipe data diatur dan dikelompokkan menjadi dua, yaitu tipe data numerik dan tipe data non-numerik.

  1. Tipe data numerik Tipe data ini mampu menampung semua nilai numeric mulai dari bilangan bulat dan pecahan.Tipe data numerik dibagi menjadi beberapa jenis.Nama tipe data numerik yang dikenal di dalam bahasa C, yaitu tipe data bilangan bulat dan tipe data pecahan.

Tabel 2.3 Ukuran tipe data bilangan bulat Type Length Range

  short int 16 bits -32,768 to 32, 767 Unsigned int 32 bits 0 to 4,294,967,295 Int 32 bits -2,147,483,648 to 2,147,483,648 unsigned long 32 bits 0 to 4,294,967,295 Enum 16 bits -2,147,483,648 to 2,147,483,648 Long 32 bits -2,147,483,648 to 2,147,483,648

Tabel 2.4 Tipe data bilangan pecahan Type Length Range

  Float 32 bits 3.4 x 10-38 to 3.4 x 10+38 Double 64 bits 1.7 x 10-308 to 1.7 x 10+308 long double 64 bits 3.4 x 10-4932 to 3.4 x 10+4932

  2. Tipe data non-numerik Tipe data non-numerik mampu menampung semua nilai non-numerik, misalnya karakter dan pointer.

Tabel 2.5 Tipe data non-numerik Type Length Range

  Near (pointer) 32 bits Not applicable Far (pointer) 32 bits Not applicable Unsigned char 8 bits 0 to 255 Char 8 bits -128 to 127

  Yang perlu diperhatikan mengenai tipe data adalah nama dan range (ukuran) yang bias ditampung oleh tipe data tersebut. Hal ini sangat penting mengigat ukuran sangat menentukan seberapa nilai yang bias dimasukkan ke dalam tipe data tersebut. Misalnya, tipe data char tidak akan dapat menerima nilai lebih dari 127. Jika dipaksa untuk dimasuki nilai 130 misalnya, maka nilai yang disimpan akan menjadi tidak sesuai lagi sehingga nilainnya tidak bias diprediksi. Fungsi yang digunakan untuk mengetahui ukuran suatu tipe data

  sizeoff(<namatipedata>)

  tertentu adalah fungsi . Misalnya: sizeoff(int) akan menghasilkan 32.

2.7.2 Escape Character dan Operator pada Bahasa C

  Pada bahasa c terdapat beberapa karakter khusus yang diperlakukan secara spesial untuk tujuan tertentu sesuai dengan fungsi karakter khusus tersebut. Karakter khusus sering disebut escape character , yang diawali dengan karakter “\” tanpa tanda kutip. Beberapa karakter khusus pada bahasa C adalah :

Tabel 2.6 Tabel Karakter Khusus Karakter Escape Arti

  \a Bunyi bel (speaker komputer) \b Mundur satu spasi (backspace)

  \f Ganti halaman (from feed) \n Ganti baris baru (new line)

  \r Ke kolom pertama baris yang sama (carriage return) \t Tabulasi horizontal

  \v Tabulasi vertikal \0 Nilai kosong (null)

  \ Karakter petik tunggal ’

  \ ” Karakter petik ganda \\ Garis miring terbaik (back slash)

Tabel 2.7 Tabel Operator Operator category Operation

  Arithmetic + - * / % Logical concatenation & | ^ | ~ && | | true false

  • String concatenation Increment, decrement ++ -- Shift <<>> Relational == != <><= >= Assignment = += - = *= /= %= | = ^= <<= >>= Member access . Indexing [ ]

  Cast ( ) Conditional ?; Delegate concatenation and + - removal Object creation New (C#) Type information as is sizeof typeof Overflow exception control Checked unchecked Indiriction and Address * -> [ ] &

2.8Dev C++

  DEV C++ adalah software opensource yang banyak digunakan oleh para programmer untuk membuat program dengan bahasa pemograman C++ atau C.

  Banyak yang memilih DEV C++ karena ukurannya yang kecil dan ringan sehingga tidak memakan banyak space (ruang) pada hardisk maupun memori komputer.Meskipun Software DEV C++ ukurannya kecil, namun DEV C++ sudah dilengkapi dengan compiler sekaligus debugger sebagai beberapa fitur dalam program yang sangat diperlukan dalam membuat program.

Gambar 2.6 Tampilan Awal Dev C++

  Untuk membuat halaman lembar kerja baru di Dev C++ baru caranya adalah sebagai berikut:

1. Pilih menu File 2.

  Kemudian klik New 3. Pilih dan klik Source File hingga muncul file baru yang siap ditulisi kode program C.

Gambar 2.7 Membuat halaman kerja baru di Dev C++

  Dan untuk membuat project baru yaitu dengan cara sebagai berikut :

  1. Pilih menu file 2.

  Kemudian klik New 3. Klik Project dan kemudian akan keluar window seperti dibawah ini, lalu klik console Applicationdan ok.

Gambar 2.8 Membuat projek baru di Dev C++

  Setelah anda selesai membuat kode programnya, simpanlah program tersebut dengan langkah-langkah berikut ini :

  1. Pilih menu File 2.

  KlikSave dan pilihlah tempat penyimpanan file yang anda inginkan dan beri nama misalnya contoh.c.

  3. Untuk menjalankan program yang sudah di buat atau di simpan yaitu tekan F9 atau klik menu execute lalu pilih compile.

  Agar kita tidak kesulitan dalam memahami serta menggunakan kontrol - kontrol atau komponen

  • – komponen yang terdapat dalam Dev C++ 6.0. Serta kita tidak akan mengalami kesulitan yang berarti untuk membuat suatu Aplikasi yang baru nanti.
Beberapa jendela area kerje Dev C++ :

  1. Title Bar

  Baris judul yang akan menampilkan file project serta nama dokumen yang sedang aktif

  2. Menu Bar Baris menu yang terdiri dari 10 menu utama, masing - masing memiliki sub menu dan perintah lengkap dengan shorcut key.

  3. Standar Toolbar Baris ini mempunyai fungsi yang sama dengan tool Standar pada umumnya seperti fungsi untuk menyimpan, mengcopy, menambah menu tampilan program, mengatur tampilan program dan masih banyak lagi.

  4. Toolbar Builde Merupakan toolbar yang berfungsi untuk menjalankan atau mengexecute program yang telah Anda buat.

  5. Workspace Pane Lembar yang berfungsi untuk melihat sub - sub project yang telah kita bangun,.

  Lembar ini memiliki 3 bagian untuk melihat sub - sub project yaitu Class View, Resources View, File View.

  6. Output Pane Lembar ini berfungsi untuk menampilkan informasi kompiler dari program yang telah Anda buat, dan menampilkan setiap kesalahan dalam pembuatan Aplikasi.

  7. Kontrol MFC (Microsoft Foundation Class)

  Toolbar yang berisi semua komponen - komponen yang memiliki banyak fungsi untuk membangun suatu aplikasi pemrograman Visual.