1 (edited by piccolo_ijo 22-12-2011 11:27:23)

Topic: Learning C++

Bismillahirrahmanirrahim
Apa kabar KIOSer, lebih setahun gak aktif, sibuk dengan dunia pertanian dan perkebunan...
Dua minggu belakangan ini saya belajar Bahasa lagi. Sekitar 10 tahun yang lalu ketika masih kuliah, Bahasa C adalah bahasa pergaulan kami di kampus. Sekarang coba-coba belajar ulang, karena sudah lama ngank pernah ngomong dengan komputer (Write A Program, he he).
Tahap pertama ini saya belajar ulang C++, kebetulan teringat posting pak mustafa: Buku Referensi C++, C++ Begginer's Guide merupakan pilihan bagus.
Beberapa source code yang sudah saya ketik ulang akan dishare di sini, untuk selanjutnya dapat kita bahas bersama-sama, di bawah bimbingan suhu mustofa tentunya dan mas sarwoko, /dev/null dan mbah_gosang dan master-master C/C++ lainnya.
sebagai info, semua source code saya compile dengan g++ ver 4.6.1 under ubuntu 11.10. bagi yang belum menginstall g++ compiler, jika menggunakan Linux Ubuntu (apt-base) ketikkan

 sudo apt-get install build-essentials

menginstall paket build-essentials sudah termasuk g++ compiler di dalamnya, paket ini juga diperlukan jika ingin membuat make file atau *.DEB package.
Untuk pengguna linux lainnya dapat mengacu pada manualnya. Bagi pengguna windows, bisa menggunakan minGW.
Untuk editor di linkungan linux bisa menggunakan Geany, simple dan ringan.

Sebagai Ucapan salam, maka source code berikut akan melakukannya secara adat smile

#include<iostream>
using namespace std;

int main(){
    cout<<"hello world!.\n";
    cout<<"apa kabar dunia?\n";
    return 0;
}

untuk mengcompile:
- save dengan nama hello.cpp
- dari terminal (pastikan working directory pada hello.cpp berada),ketik:

 g++ hello.cpp -o hello

- jalankan

./hello

- seperti ini:

piccolo@piccolo-GNU:/media/data/Programming/C++$ g++ hello.cpp -o hello
piccolo@piccolo-GNU:/media/data/Programming/C++$ ./hello
hello world!.
apa kabar dunia?

- jika menggunakan Geany: tekan F9, kemudian Tekan F5

Selamat menikmati..

Kerjakan Hobimu, Orang akan Membayarmu

2 (edited by piccolo_ijo 22-12-2011 12:11:41)

Re: Learning C++

Karena in bukan tutorial, tapi training camp, maka saya tidak membahas hal-hal yang dasar seperti operator, tipe data dan struktur penulisan bahasa C++, karena itu semua sudah terlebih dahulu dibahas oleh pak mustofa dalam posting sebelumya.
Bahasa C adalah saudara tua dari C++, hanya pada beberapa bagian saja berbeda, selain bahwa konsep OOP (object oriented programming) yang memang tidak didukung oleh bahasa C. Ini tidak berarti bahasa C lebih inferior dari bahasa C++, analoginya adalah dua orang saudara dimana yang tua memiliki Sim A, yang muda memiliki Sim B. Saudara tua hanya bisa mengemudikan mobil kecil, tapi yang lebih muda bisa mengemudikan mobil kecil sampai mobil besar/truk, dan ini tidak berarti yang memiliki Sim B lebih mahir mengemudikan mobil, walaupun syarat untuk mendapatkan Sim B harus mempunyai skill mengemudi di atas Sim A. Artinya, untuk mempelajari C++, dibutuhkan skill yang sedikit lebih besar daripada mempelajari C, walaupun programmer C mungkin saja lebih mahir dari programmer C++.
Kembali ke bahasan.. Pada contoh di atas, perintah mencetak ke layar tidak menggunakan fungsi printf sebagaimana pada C (fungsi ini juga bisa digunakan dalam C++), tapi menggunakan operator cout. Ini adalah operator standar untuk mencetak di standar output (layar). Operator cout diikuti oleh operator insertion <<. cout akan mencetak apapun yang berada setelah operator << baik itu  string, variable, atau return value dari sebuah fungsi.

#include<iostream>
using namespace std;

int fungsi() { return 10;}

int main(){
    int num = 2;
    cout<<"Learning C++\n"; //mencetak string
    cout<<num<<endl;   //mencetak variable
    cout<<fungsi()<<endl;    //mencetak return value
return 0;
}

Akan mencetak:

Learning C++
2
10

note:
- endl ada output manipulator yang fungsinya sama dengan cout<<"\n\
- pada beberapa kondisi, menuliskan cout<<endl lebih mudah daripada menuliskan cout"\n", terutama jika cout digunakan untukl mencetak selain string.

Kerjakan Hobimu, Orang akan Membayarmu

Re: Learning C++

Nice article... smile
Keep up the good work. wink

Re: Learning C++

wah mantaff nih

Re: Learning C++

3 types of “Hello, world† in C and C++. The third example shows class definition syntax and also shows how to compile multiple source files into a single application. Sorry for russian language in the interface.

http://averkov.web.id/video/hellos.mpg

Re: Learning C++

ikut nyimak ya.... smile

Re: Learning C++

halo all sy ada permasalahan mengenai alokasi memori kusus ny array:

sy ada contoh kasus spt ini :

int b[3];

int main(void)
{
b[20] = 12;
}


setelah sy compile kok tdk terjadi error y? padahal telah di deklarasikan bahwa array "b" dibatasi index nya hanya b[0] b[1] b[2]. mhn pencerahan ny terima kasih.

Re: Learning C++

Since it’s a compiled language, it’s impossible to perform all needed checks. Arrays are very basic — they are just a memory area of size N * sizeof(T) where N is number of elements and T is data type. Array variable is a pointer to the beginning of that area. The operation [M] only makes an offset by M * sizeof(T) from the pointer… So, you should care about this yourself smile

If you don’t know how much elements you will need, you may use malloc to allocate your array in dynamic memory.

int *b;

int main () {
…
b = malloc(sizeof(int) * number);
b[20] = 12;
…
}

Re: Learning C++

Lanjut!

http://www.id-ddns.net/images/ddns-small.jpg