Beruflich Dokumente
Kultur Dokumente
Algoritma
dan
Struktur Data
(Jilid I)
Moodle : http://course.lskk.ee.itb.ac.id
I-2
KATA PENGANTAR
Segala puji bagi Tuhan Yang Maha Esa, akhirnya kami segenap tim penyusun modul ini
dapat menyelesaikan materi untuk bahasa pemrograman C++ dengan menggunakan
Eclipse IDE for C/C++ Developers yang dikemas dalam paket Eclipse Indigo.
Pada modul ini akan menggunakan template Console. Pembahasan dimulai dari
pengenalan
Eclipse
atau konfigurasi
perangkat
lunak
Setiap modul latihan akan dilengkapi dengan teori pengantar serta contoh-contoh
penerapannya dan diakhiri dengan latihan atau pertanyaan yang berkaitan dengan materi
yang dipelajari.
Pada modul 1 sampai modul 4 dirancang agar para pemula dapat menggunakan
Integrated Development Environment (IDE) dan menulis kode sumber (source code)
disusun tanpa kesalahan (error), karena masih merupakan panduan awal.
Pada modul 5 dan seterusnya, kode sumber pemrograman C++ sengaja dirancang tidak
lengkap atau disisipkan beberapa kesalahan sehingga akan muncul pesan error (error
messages) pada saat dilakukan kompilasi. Hal ini dilakukan dengan tujuan agar para
siswa dapat menganalisa permasalahan yang ada serta memperbaiki kesalahan yang
mungkin terjadi.
Kami menyadari bahwa materi yang disusun masih belum dapat mencakup seluruh
fasilitas yang disediakan oleh Eclipse C/C++. Untuk meningkatkan kemampuan para
siswa dalam mempelajari bahasa pemrograman C++, kami menganjurkan agar siswa
MODUL 1 - MENGENAL ECLIPSE IDE
I-3
banyak mengerjakan latihan pemrograman C++ dengan menggunakan modul atau buku
referensi yang lain.
Akhir kata, penulis mengucapkan terima kasih kepada seluruh pihak yang terkait secara
langsung maupun tidak langsung dengan terbitnya buku tutorial Algoritma dan
Struktur Data : Menggunakan Eclipse IDE for C/C++ Developers.
Juli, 2011
Penulis
I-4
DAFTAR ISI
KATA PENGANTAR ...................................................................................
DAFTAR ISI ..................................................................................................
DAFTAR PROGRAM .................................................................................
QUISIONER .................................................................................................
MODUL 1
I-5
OPERATOR ...........................................................................
PENCABANGAN ...................................................................
PENGULANGAN ..................................................................
MODUL 9
9.1
9.2
9.3
9.4
9.5
9.6
ARRAY ...................................................................................
I-6
FUNGSI .................................................................................
I-7
I-8
DAFTAR PROGRAM
Program 2.1
Program 2.2
Program 2.3
Program 2.4
Program 2.5
II
II
II
II
II
IV
IV
Program 4.1
Program 4.2
Program 4.3
Program 4.4
Latihan-Flowchart.cpp ............................................................
Algoritma-Sekuensial.cpp ........................................................
Algoritma-Seleksi.cpp ............................................................
Algoritma-Pengulangan.cpp ...................................................
IV
IV
IV
IV
Program 5.1
Program 5.2
Program 5.3
Program 5.4
Program 5.5
Tipe_Data.cpp .........................................................................
Konversi-Tipe-Data.cpp ...........................................................
Konstanta.cpp ..........................................................................
Variabel.cpp ............................................................................
Limit.cpp .................................................................................
V
V
V
V
V
Program 6.1
Program 6.2
Program 6.3
Program 6.4
Program 6.5
Program 6.6
Program 6.7
Program 6.8
Operator_Assignment.cpp ......................................................
Operator_Unary.cpp ................................................................
Increment.cpp ..........................................................................
Decrement.cpp ........................................................................
Operator_Aritmatika.cpp ........................................................
Operator_Logika.cpp ..............................................................
Operator_Bitwise.cpp .............................................................
Operator_Ternary.cpp .............................................................
VI
VI
VI
VI
VI
VI
VI
VI
Program 7.1
Program 7.2
Program 7.3
Program 7.4
Pencabangan_if.cpp ................................................................
Pencabangan_dua_kondisi.cpp ...............................................
Pencabangan_if_bersarang.cpp ...............................................
Switch.cpp ...............................................................................
VII
VI
VII
VII
Program 8.1
Program 8.2
Program 8.3
Program 8.4
While.cpp ................................................................................
do_while.cpp ...........................................................................
Pengulangan_for.cpp ..............................................................
For_bersarang.cpp ...................................................................
VIII
VIII
VIII
VIII
I-9
Program 9.1
Program 9.2
Program 9.3
Program 9.4
Program 9.5
Program 9.6
Program 9.7
Array.cpp ................................................................................
Inisialisasi_Array.cpp .............................................................
Mencari_Nilai_Pada_Array.cpp .............................................
Array_Karakter.cpp ................................................................
Sorting.cpp ..............................................................................
Matrix_2Dimensi_Ordo_3x2.cpp ...........................................
Inisialisasi_Array_Multidimensi.cpp ......................................
IX
IX
IX
IX
IX
IX
IX
Program 10.1
Program 10.2
Program 10.3
Program 10.4
Struktur.cpp .............................................................................
Union.cpp ................................................................................
Enumerasi.cpp .........................................................................
Typedef.cpp ............................................................................
X
X
X
X
Program 11.1
Program 11.2
Program 11.3
Program 11.4
Fungsi_Tanpa_Nilai_Balik.cpp ..............................................
Fungsi_Mengembalikan_String.cpp .......................................
Fungsi_Mengembalikan_Bilangan.cpp ..................................
Parameter-Masukan.cpp ..........................................................
XI
XI
XI
XI
I - 10
KUISIONER C/C++
DATA PRIBADI
Nama
: .............................................
Pekerjaan
: .............................................
: .............................................
No. Telp
: .............................................
Nick name
Website
: ..............................................
: ..............................................
Tahun
1.
...............................................................................
2.
...............................................................................
3.
...............................................................................
4.
...............................................................................
5.
...............................................................................
1.
...............................................................................
2.
...............................................................................
3.
...............................................................................
4.
...............................................................................
5.
...............................................................................
I - 11
1.
2.
Tidak
3.
Apakah anda pernah melakukan sebuah pekerjaan atau project yang menggunakan
bahasa pemrograman C/C++.
Ya
Tidak
. , ..................................
Tertanda:
( .................................................. )
I - 12
MODUL 1
MENGENAL ECLIPSEIDE
Pada bab ini akan membahas mengenai :
I - 13
I - 14
MODUL 1
Eclipse IDE awalnya dikembangkan oleh IBM pada tahun 2001. Konsep Eclipse IDE
bersifat terbuka sehingga mudah diperluas, bila ingin dikembangkan lebih lanjut, maka
cukup hanya dengan menginstal plugin yang dibutuhkan.
Eclipse mulai dipublikasikan Eclipse secara luas pada tahun 2004 dengan cara
memberikan secara gratis penggunaan software Eclipse. Peluncuran pertama dimulai
dari Eclipse versi 3.0 pada tanggal 28 juni 2004. Pada tahun 2006, setiap peluncuran
Eclipse akan ditambahkan fitur baru dan diberikan nama proyek yang berbeda-beda dan
selalu diluncurkan pada bulan juni.
I - 15
Tanggal
Versi
Nama
Peluncuran
Peluncuran
Platform
Proyek
Eclipse 3.0
28 juni 2004
3.0
Eclipse 3.1
28 juni 2005
3.1
Callisto
30 juni 2006
3.2
Callisto Projects
Europa
29 juni 2007
3.3
Europa Projects
Ganymede
25 juni 2008
3.4
Ganymede Projects
Galileo
24 juni 2009
3.5
Galileo Projects
Indigo
23 juni 2010
3.6
Helio Projects
Indigo
22 Juni 2011
3.7
Indigo Projects
Untuk mendukung bahasa pemrograman C maupun C++ pada Eclipse IDE, maka dapat
ditambahkan plugin yang dikenal dengan nama C/C++ Development Tools (CDT).
Selain itu Eclipse IDE juga dapat ditambahkan plugin yang lainnya.
Pada tutorial ini akan digunakan software Eclipse IDE for C/C++ Developers untuk
memenuhi seluruh kebutuhan tutorial atau materi yang akan dibahas. Untuk dapat
menggunakan Eclipse IDE maka software tersebut dan perangkat pendukungnya harus
diinstal pada komputer. Eclipse IDE for C/C++ Developers dipilih karena memiliki fitur
yang cukup lengkap, handal, modular serta dapat ditambahkan plugin, dan yang tidak
kalah pentingnya adalah program ini dapat digunakan secara bebas dan gratis.
Pada bagian ini akan membahas berbagai cara instalasi Eclipse IDE serta konfigurasi
perangkat pendukungnya. Eclipse IDE for C/C++ Developers yang akan digunakan
adalah paket program dari Eclipse Indigo.
I - 16
Untuk dapat menggunakan Eclipse IDE pada sistem operasi Windows, maka
pastikanlah bahwa pada komputer yang akan digunakan telah dilengkapi dengan
perangkat lunak tambahan yang lainnya, seperti Java Runtime Environment (JRE) atau
Java Development Kit (JDK) dan juga compiler C/C++ dengan menggunakan compiler
MinGW atau Cygwin ataupun compiler yang lainnya.
Developers ini terdapat beberapa komponen pendukung utama yaitu editor, linker, dan
pustaka (library) dan perangkat lunak pendukung yang lainnya.
Editor berguna sebagai media atau lingkungan interaktif untuk membuat dan mengedit
kode sumber C maupun C++. Pada editor juga dilengkapi dengan fasilitas warna untuk
membedakan berbagai baris perintah (syntax highlighting) yang bertujuan untuk
membantu programmer dalam membuat dan menganalisa kode sumber C/C++ yang
sedang dibuat.
Linker berguna untuk menghubungkan berbagai modul yang dihasilkan oleh compiler
dan menambah modul dari library yang akan disertakan. Linker dapat juga melaporkan
kesalahan yang terjadi selama proses penggabungan file dilakukan, misalnya jika terjadi
kehilangan file atau kehilangan komponen library yang dibutuhkan.
Library merupakan sekumpulan rutin yang dibuat untuk mendukung dan menambah
kehandalan bahasa C dan C++ sesuai dengan prosedur yang telah ditentukan. Standard
library C dan C++ pada program Eclipse IDE for C/C++ Developers telah disesuaikan
dengan compiler yang memenuhi standard C/C++ sesuai dengan American National
Standards Institute (ANSI).
I - 17
Agar Eclipse IDE dapat berjalan dengan baik maka dibutuhkan minimal beberapa
software pendukung, yaitu :
Eclipse IDE for C/C++ Developers.
Java Runtime Environment (JRE)
Compiler C/C++ MinGW.
Minimal SYStem MSYS.
Salah satu compiler yang handal dan gratis serta dapat diintegrasikan dengan Eclipse
IDE for C/C++ Developers pada sistem operasi Windows adalah MinGW. Compiler
MinGW dapat digunakan secara bebas dan gratis karena bersifat terbuka (open source)
dan selalu diperbaharui terus menerus.
Untuk memulai proses instalasi Eclipse IDE for C/C++ Developers, maka lakukanlah
langkah-langkah berikut :
1.
Melalui Windows Explorer, extract atau unzip file eclipse-cpp-indigoincubation-win32.zip. pada drive C:\, sehingga akan bertambah sebuah
direktori baru yaitu C:\eclipse.
I - 18
2.
3.
Selamat, instalasi Eclipse IDE telah selesai dilakukan. Proses instalasi Eclipse
IDE for C/C++ Developers cukup hanya dilakukan dengan proses unzip atau
extract saja.
Jika ingin membuang atau uninstall Eclipse IDE cukup hanya menghapus seluruh
direktori eclipse yang terdapat pada drive C:\.
I - 19
Pastikan anda telah memiliki JRE versi 6 atau yang lebih baru.
2.
Double klik file instalasi JRE yang anda punya. Untuk Eclipse Indigo minimal
dibutuhkan JRE 6u22.
3.
Tunggu beberapa saat sampai muncul kotak dialog Java Setup - Welcome. Klik
tombol Install untuk melanjutkan proses instalasi JRE.
I - 20
4.
Tunggu beberapa saat sampai proses instalasi Java Runtime Environment selesai
dilakukan.
5.
Jika direktori tujuan instalasi tidak diubah maka file instalasi Java Runtime
Environment akan diinstal pada direktori C:\Program Files\Java\jre6.
I - 21
Salah satu compiler C/C++ yang sering digunakan untuk sistem operasi Windows
adalah MinGW. MinGW merupakan compiler gratis yang menyediakan berbagai file
header dan library yang dibutuhkan untuk mengembangkan program aplikasi berbasis
C/C++. MinGW versi terbaru yang telah dibundel menjadi satu file instalasi dapat
diperoleh melalui situs http://nuwen.net/mingw.html .
Bila ingin mendapatkan file instalasi untuk compiler MinGW secara terpisah dan lebih
lengkap serta ingin melakukan instalasi melalui internet maka kunjungilah situs resmi
MinGW dengan alamat http://www.mingw.org .
Pada contoh ini akan diinstal compiler MinGW beserta perangkat lunak pendukung
lainnya yang telah dibundel menjadi satu file instalasi. Untuk memulai proses instalasi
MinGW, lakukanlah langkah-langkah berikut :
1.
Pastikan anda telah memiliki file instalasi mingw versi 7.1 atau yang lebih
terbaru. Double klik file mingw-7.1.exe.
2.
Tunggu beberapa saat sampai muncul kotak dialog 7-Zip self-extracting archive,
kemudian tentukan lokasi penyimpanan file hasil extract dengan cara mengklik
tombol Browse.
I - 22
3.
4.
Pada kotak dialog 7-Zip self-extracting archive, klik tombol Extract untuk
menguraikan file MinGW pada drive yang telah ditentukan.
5.
I - 23
6.
7.
8.
Double klik pada ikon System, yang terdapat pada Control Panel.
9.
Kemudian akan muncul kotak dialog System Properties, pada bagian ini klik tab
Advanced dan kemudian klik tombol Environment Variables.
I - 24
10. Selanjutnya akan muncul kotak dialog Environment Variables. Klik Path yang
berada dalam System Variables, kemudian klik tombol Edit.
I - 25
I - 26
16. Kemudian ketikkan ketikkan cmd pada kotak dialog Run. Perintah tersebut akan
membuka Command Prompt.
17. Klik tombol OK atau tekan tombol Enter untuk membuka jendela Command
Prompt seperti yang terlihat pada gambar berikut.
I - 27
19. Jika output dari perintah di atas sama dengan gambar di bawah maka anda telah
sukses mengatur konfigurasi MinGW.
20. Jika output dari perintah di atas sama seperti gambar di bawah, ini berarti
konfigurasi variabel path untuk MinGW tidak dilakukan dengan benar. Ulangi
lagi konfigurasi di atas dengan seksama dan hati-hati.
I - 28
Jalankanlah Eclipse IDE dari direktori instalasi dan kemudian double klik file
eclipse.exe yang terdapat pada direktori C:\Eclipse, atau klik shorcut eclipse.exe
yang terdapat pada dekstop komputer.
Tunggu beberapa saat sampai splash screen dari Eclipse Indigo muncul dan
diikuti dengan kotak dialog Workspace Launcher. Dari kotak dialog ini,
tentukan direktori tempat penyimpanan file workspace dari eclipse dengan cara
mengklik tombol Browse.
I - 29
3.
4.
5.
Untuk melihat workbench dari eclipse IDE tanpa menutup jendela Welcome,
maka klik tombol Restore yang berada dipojok paling kanan dari jendela
Welcome. Format dari Eclipse IDE akan tampak sama seperti gambar di bawah.
Jika ingin menutup jendela Welcome, maka klik tombol Close
yang terdapat
I - 30
6.
7.
Untuk mengatur operasi dan tampilan dari editor C++ maka klik menu Window
| Preferences.
I - 31
I - 32
Setelah seluruh pengaturan selesai dilakukan, maka klik tombol Apply untuk
mengaplikasikan seluruh pengaturan yang telah dilakukan. Bila ingin mengubah
seluruh pengaturan yang telah dilakukan kepada pengaturan aslinya, maka klik
tombol Restore Defaults. Untuk menutup kotak dialog Preferences maka klik
tombol OK.
Title
Project
Explorer
Menu Bar
Toolbar
Editor
Task
Console
Properties
Outline
Make Targets
Take List
Bar
Problems
Status Bar
Fungsi umum dari setiap bagian yang terdapat Eclipse akan dijelaskan secara ringkas
pada tabel berikut.
I - 33
Fungsi
Title Bar
Project Explorer
Menu Bar
Menu utama dari kumpulan perintah yang berada pada submenu atau sub
perintah yang terdapat pada Eclipse IDE.
Toolbar
Editor
Outline
Menampilkan struktur dari file yang sedang terbuka dalam window editor.
Make Targets
Task List
Problems
Task
Console
Properties
Menunjukkan atribut dari item yang dipilih secara langsun dalam view
atau editor.
Status Bar
I - 34
Latihan Modul 1
1.
2.
3.
Jelaskan fungsi dari Java Runtime Environment (JRE) dan mengapa Eclipse IDE
for C/C++ Developers membutuhkan JRE !
4.
Compiler apa sajakah yang dapat diintegrasikan dengan Eclipse IDE for C/C++
Developers yang menggunakan sistem operasi windows (selain compiler
MinGW) ?
I - 35