Belajar C++ Pemula, Apa itu C++?
Kita
ketahui bersama bahwa pada awal berkembangnya komputer, tahun 70an, telah
ditemukan bahasa pemrograman yang prosedural (belum berbasis object/oop). Nah,
kebanyakan bahasa – bahasa ini digunakan untuk antarmuka hardware. Intinya
digunakan supaya hardware tersebut bisa didetect dengan baik oleh system
operasi komputer.
Bahasa
– bahasa seperti ini jaman sekarang dikenal dengan bahasa asembly. Banyak yang
menyebutnya dengan bahasa low level. Bahasa - bahasa prosedural tersebut
diantaranya adalah bahasa C, Basic, Pascal, Fortran, dan lain lain. Sekarang
bahasa C berkembang menjadi C++, Visual C++, Visual C#. Sedangkan bahasa Basic
sendiri juga berkembang menjadi Visual Basic. Sementara pascal berkembang
menjadi Delphi dan lain – lain .
1.Apa
itu C++?
Sebelum
C++ dikembangkan, sudah ada bahasa sejenis yang digunakan programmer yaitu
bahasa C (dikembangkan oleh Dennis Ritchie dari bahasa B), saat itu dia dari
Bell Laboratories sedang mengembangkan system operasi Unix. C ini merupakan
bahasa prosedural, kemudian dikembangkan hingga menjadi sebuah bahasa
pemrograman C yang berorientasi pada object (OOP – Object Oriented Programming)
yang kemudian disebut dengan C++ (dikembangkan oleh Bejarne Stroustrup tahun
1979).
2.Bagaimana Filosophy bahasa C?
2.Bagaimana Filosophy bahasa C?
Secara
umum, pemrograman dengan bahasa C menggunakan 2 konsep, yaitu data dan
algorithms. Data merupakan bahan yang akan diolah, sedangkan algorithms adalah
metode pengolahan.
Bisa dibilang algorithms ini adalah fungsi/cara/metode/langkah dan lain lain untuk mengolah data tersebut.
Lihat gambar 1:
Bisa dibilang algorithms ini adalah fungsi/cara/metode/langkah dan lain lain untuk mengolah data tersebut.
Lihat gambar 1:
Tapi bagaimanapun juga, penggunaan bahasa prosedural seperti C sangat tidak efisien untuk pembuatan software skala menengah ke atas. Terlalu banyak perulangan, terlalu banyak percabangan, terlalu banyak kode yang harus kita ketikan. Maka, seiring dengan perkembangan jaman dan teknologi, bahasa C ini dikembangkan ke tingkat lebih lanjut yaitu bahasa C yang berorientasi object yang disebut dengan C++.
3.Apa
itu bahasa pemrograman berorientasi object? Apa bedanya dengan bahasa
prosedural?
Object
Oriented Programming (OOP) adalah bahasa pemrograman yang berorientasi pada
object. Apa sih object??? Object itu ya bahasa pemrograman itu sendiri.
Mari
kita renungkan. Misalnya kita membuat sebuah object mobil misalnya. Mobil ini
bisa kita buat dengan prosedural language maupun dengan OOP language. Loh, jadi
tidak ada bedanya dong?? Sebentar dulu, harap bersabar.
Kita
tidak akan membahas bagaimana cara membuat 1 mobil, bahasa apa yang digunakan
untuk membuat mobil, tapi yang kita bahas adalah 1 mobil. Yup mobil yang sudah
jadi yang baru saja anda buat dari mengetikan puluhan kode misalnya.
Nah,
sekarang saya ingin 1 mobil tadi digandakan menjadi 2 mobil. Bagaimana anda
membuat mobil yang satunya?? Apakah anda akan mengopikan semua kode anda tadi
untuk menjadikan mobil ke dua??? Ini cuman dua, bagaimana kalo saya ingin 3,
atau 4, atau 120 mobil???
Ah,
ada renungan lain, mobil tadi telah anda buat, pasti ada bagian bagiannya
seperti roda. Nah, bagaimana kalo saya ingin mobil yang sama dengan cat yang
berbeda? Bagaimana kalo saya ingin anda membuat mobil yang sama dengan salah
satu roda nya kempes.
Disinilah
object oriented programming punya peranan yang sangat penting. Kita hanya perlu
membuat sebuah class mobil. Untuk membuat mobil baru hanya tinggal membuat
instance baru. Dan lain sebagainya. Jauh lebih elegan, lebih efisien, lebih
terstruktur ketimbang prosedural language.
4.Langsung
saja, apa yang kita perlukan untuk belajar C++?
Anda
bisa saja pakai aplikasi teks editor apa saja. Kemudian anda dapat mendownload
aplikasi compiler apa saja yang sudah tersedia di internet. Mudah bukan??
Tapi,
sekarang banyak sekali vendor yang menyediakan software komplit (lengkap) untuk
anda baik berbayar maupun gratis. Software komplit ini dinamakan dengan IDE
(Integrated Development Environment).
Dalam
IDE ini terdapat editor khusus yang dapat kita gunakan, terdapat compiler yang
terintegrasi dengan editor tadi, terdapat debugger, bahkan terdapat software
deployer yang akan membuat kode anda menjadi software jadi disertai dengan
installer nya.
Dengan
editor khusus ini maka pekerjaan anda akan jauh lebih mudah, disertai dengan
kode warna yang presentatif, disertai code inspektor yang akan langsung
menginformasikan kepada anda bahwa kode yang anda ketikan salah, disertai juga
dengan smart coding (intellisense code) yaitu saat anda mengetikan 1 huruf saja
maka smart coding ini akan memunculkan baik method maupun propertis yang
tersedia.
Disertai
juga template ui dan installer, sehingga untuk membuat menu, bottom, dan lain –
lain yang berhubungan dengan User Interface sudah dibundled pada software
tersebut kita hanya tinggal membuat logic nya saja.
Banyak
sekali IDE/SDK super powerfull gratis maupun berbayar yang dapat anda gunakan
di jaman 2013 ke 2014 ini.
Referensi
saya pribadi adalah anda dapat menggunakan QT 5.1 dan Visual Studio 2012.
Semuanya gratis. Untuk visual studio yang gratis adalah Visual Studio Express.
Atau mungkin anda memiliki referensi lain??
Bila
sudah tersedia IDE super powerfull gratis dengan GUI yang komunikatif, haruskan
saya install compiler sendiri dari download di internet? Haruskah saya memakai
editor simple tanpa intellisense code?? Haruskah saya belajar menggunakan
command line juga??
Semua
ini anda sendiri yang dapat menjawabnya :)
5.Mari
kita mencoba membuat Hello World Application
Buka
editor anda, ketikan kode di bawah ini. Disini saya menggunakan Visual Studio
2012.
Lihat gambar 2:
Lihat gambar 2:
Nah,
kode di atas adalah kode default standar penulisan C++.
*Kenapa
harus ada fungsi main() ?????
*Apa
itu #include ?
*Kenapa
tidak #include ?
*Kenapa
memakai int??? Kenapa int main()?? Kenapa tidak main() saja?? Kenapa tidak main(void)??
Kenapa
tidak void main()???
*Apa
itu using namaspace std; ???
*Kenapa
memakai return 0; ??
Pertanyaan – pertanyaan seperti inilah yang terlewatkan pada kebanyakan tutorial C++ yang bertebaran di internet.
Perlu
diketahui bahwa kode di atas adalah kode standar C++, ada dapat me-run kode
tersebut pada IDE anda dan cobalah lihat, pasti dapat berjalan dengan sempurna.
Akan tertampil conlose window hasil dari running kode. Tetapi pada Visual
Studio IDE, setelah eksekusi kode maka akan menutup secara otomatis. Memang
begitulah Microsoft membuatnya. Sehingga untuk membuat window hasil running
tetap ditempat (tidak close) anda dapat menambahkan:
cin.get();
kode ini akan meng-catch input yang dimasukan pengunjung sebelum window menutup. Bila pengunjung tidak mengetikan apa apa, maka window akan tetapi terbuka.
kode ini akan meng-catch input yang dimasukan pengunjung sebelum window menutup. Bila pengunjung tidak mengetikan apa apa, maka window akan tetapi terbuka.
Lihat
gambar 3:
Lihat gambar 4:
Pada Source.cpp di atas, kita akan menjelaskan bagian – bagian dari kode seperti berikut ini:
#include
ini adalah preprocessor
int
main() ini adalah function header
using
namespace ini adalah using namespace directive
function
body yaitu antara {}
statements
yaitu pada code cout
return
0; yaitu return statement untuk menyudahi jalannya fungsi
Lihat
gambar 5:
Mari kita lanjut ke pembahasan…
*Kenapa
harus ada fungsi main() ?????
Saat
anda me-run C++ program, eksekusi kode selalu dimulai dari fungsi main(). Ini
adalah standard dari kode C++. Bagaimana bila tidak ada fungsi main() pada kode
anda? Tentu program anda tidak akan berjalan dan compiler (compiler apa saja)
akan menginformasikan kepada anda bahwa program anda tidak lengkap karena tidak
terdapat fungsi main().
Jadi
semua alur eksekusi kode dimulai dari fungsi main(), ini berbeda dengan bahasa
pemrograman lain seperti php, actionscript, dan lain lain yang mana kita bisa
memanggil langsung fungsi yang kita buat.
Lihat gambar 6:
Lihat gambar 6:
Diatas adalah koding dengan php, lebih flexible karena kita bisa memanggil index.php dan menampilkan langsung fungsi – fungsi contoh() dan lagi() pada browser.
Lihat
gambar 7:
Lihat kode c++ diatas, semua eksekusi harus melalui fungsi main(). Diatas kita meng-include karena kita menggunakannya untuk hal hal yang berhubungan dengan string. Hasilnya adalah seperti berikut ini:
Lihat gambar 8:
Nah, ada pertanyaan, bagaimana bila kita membuat file .dll (untuk Windows)? Haruskan kita menambahkan fungsi main()? .dll adalah sebuah dynamic link library, file ini tidak dapat berjalan sendiri, file ini bukan standalone, file ini hanya merupakan sebuah bagian dari dari aplikasi utama, sehingga .dll tidak membutuhkan fungsi main(), fungsi main() hanya perlu ditambahkan pada aplikasi utamanya / aplikasi pemanggilnya.
Ada
pertanyaan lagi, terutama buat pengguna Visual C++ (dikembangkan oleh Windows),
secara default tidak ada fungsi main() dalam Visual C++.
Lihat
gambar 9:
Memang benar, microsoft mengembangkan Visual C++ dengan _tmain() yang merupakan non standard sintaks. Apakah itu berarti tidak ada fungsi main() dalam Visual c++?
Ya,
ada fungsi main() yang tersembunyi yang akan memanggil fungsi _tmain() ini. Ini
merupakan programming environment dalam Windows.
*Apa
itu #include ?
Line
di atas adalah preprocessor directives. C++ sama seperti C, sama – sama
menggunakan preprocessor. Maksudnya adalah program akan memproses file tertentu
terlebih dahulu sebelum proses compile utama dilakukan.
Iostream
adalah file yang kita gunakan bila program kita berhubungan dengan input –
output. Input – Output yang kita ambil dari file ini dan kita gunakan pada kode
program adalah cout dan cin. Sehingga supaya cout dan cin tersebut berjalan
sebagai menstinya kita perlu meng-iclude kan file yang kita butuhkan.
*Kenapa
tidak #include ?
File
– file yang kita gunakan pada include (termasuk iostream) biasanya disebut
sebagai ‘include files’ atau ‘header files’. Pada bahasa C, penulisan untuk include
file disertai extensi dari file tersebut misalnya iostream.h. nah, berbeda
dengan penulisan pada C++, yang hanya cukup menggunakan nama file tanpa
ekstensi (.h).
Dulu
C++ juga menggunakan extensi file (.h) pada gaya penulisan, tetapi untuk style
yang sekarang tidak diperlukan lagi. Jadi hanya cukup dengan #include.
Lalu
bagaimana bila ditambahkan dengan .h? tentu saja tidak masalah :)
*Apa
itu using namespace std; ???
Bila
anda menginclude file dengan #include tanpa ektensi .h maka anda perlu menggunakan
using namespace std;
Bila
tidak menggunakan line diatas maka untuk memanggil cout dan cin dapat dengan :
Std::cout;
Serta
std::cin;
Mudah bukan???
Std::cout;
Serta
std::cin;
Mudah bukan???
Namespace
ini sebetulnya digunakan untuk memudahkan penulisan kode bila program anda
terdiri dari kode kode dari beberapa vendor.
Coba
bayangkan, bila anda mengambil kode dari vendor ‘OkieInc’ dan vendor ‘MetuInc’
misalnya. Ternyata kedua-duanya memiliki nama fungsi yang sama yaitu ‘function
Mediatutorial()’. Nah, tanpa namespace, compiler akan sangat bingung bahkan
jadi hang karena harus memilih fungsi dari vendor yang mana?
Nah,
dengan namespace, kita dapat memanggil fungsi dari vendor OkieInc dengan
misalnya okieinc::Mediatutorial();
Sedangkan
dari MetuInc dapat dengan:
metuinc::Mediatutorial();
Mungkin cukup sekian tutorial update untuk pengenalan C++, semoga bermanfaat, dan kita akan kembali dengan tutorial-tutorial C++ berikutnya.
Mungkin cukup sekian tutorial update untuk pengenalan C++, semoga bermanfaat, dan kita akan kembali dengan tutorial-tutorial C++ berikutnya.
Saya
punya referensi bagus tentang C++, tapi ini hanya tahap pemula,belum pada GUI.
Silahkan anda dapat download pada link yang telah tersedia di bawah ini.










Comments
Post a Comment