Mau Belajar C++ ??

Langkah Pertama Belajar C++

  1. Saya mau belajar C++, belajarnya susah ato nggak?
    Jawab:
    Belajar bahasa pemrograman sama seperti proses belajar lainnya. Gampang atau susah itu relatif, tergantung kamu punya niat dan kemauan. Tapi jika dibandingkan memang C++ akan sedikit ribet dibandingkan dengan beberapa bahasa karena sifat C++ yang fleksibel, bisa apa aja. Tapi sekali menguasai C++ akan lebih mudah menguasai bahasa lain karena sebagian bahasa diturunkan atau setidaknya terpengaruh oleh C\C++.
  2. Jadi, harus install apa dulu?
    Jawab:
    compiler (pasti) dan IDE (opsional)

    Compiler, untuk menerjemahkan kode menjadi program. Beberapa compiler yang tersedia (pilih salah satu, minimal):
    • GCC (GNU Compiler Collection)
    • Clang
    • MSVC (Express edition a.k.a. Free available, gak perlu Professional, Premium apalagi Ultimate)
    • DMC (Digital Mars Compiler)
    • TCC (Tiny C Compiler)
    • PCC (Portable C Compiler)
    • LCC-Win32
    • dll.
    Sampai saat ini, penggunaan compiler secara umum masih didominasi oleh MSVC, MinGW, dan Clang jadi disarankan untuk menggunakan compiler "mainstream" tersebut untuk mulai belajar.
    Sebaiknya hentikan penggunaan produk obsolete (dihentikan / ketinggalan jaman / , apalagi yang diperoleh secara tidak legal seperti:

    • Borland C++
    • Turbo C[++]


    Selain kompatibilitasnya tertinggal dengan standard yang berlaku, bisa jadi Anda akan menemukan masalah2 ketika menjalankannya di atas OS modern.

    Memakai compiler saja sedikit merepotkan karena harus bolak-balik ketik perintah. Karena itu untuk mempermudah hidup gunakanlah IDE:

    Beberapa IDE menyediakan bundle alias paketan bersama compiler (dan debugger plus berbagai tools lain), jadi silakan pilih bundle-an yang sesuai kalo gak mau repot. IDE tidak wajib, bagi yang ingin yang ringan2 saja gunakan text editor. Sebagian besar text editor modern sudah dilengkapi senjata text processing yang cukup untuk programming:

    • SciTE
    • Notepad++
    • Programmer's Notepad
    • jEdit
    • SublimeText
    • UltraEdit
    • dll.

    Tools2 di atas masih dikembangkan dan dikelola, sehingga dipastikan Anda tidak akan ketinggalan teknologi jika menggunakannya.

  3. Kok kode saya lancar dicompile di Borland C++, tapi pas dicompile pake GCC, Clang++, Visual C++, C++ Builder, CodeWarrior, Digital Mars C++, Intel C++ Compiler, OpenWatcom, dll. gak bisa?
    Jawab:
    Borland C++ seperti bisa dilihat di wikipedia

    (http://en.wikipedia.org/wiki/Borland_C%2B%2B) lahir di era C++ belum distandarisasi (standard C++ pertama lahir 1998).
    Waktu itu, standard library C++ belum terstruktur dalam namespace dan header2nya masih menggunakan ekstensi header C (.h). Perbedaan paling umum biasanya terjadi pada I/O. Contoh sederhana hello world:

    Borland:

    //-----------------------
    #include < iostream.h >

    int main() { 
    cout
    return 0;
    }
    //-----------------------

    Standard C++:


    //-----------------------
    #include < iostream >
    using namespace std;

    int main() { 

    cout
    return 0;

    }
    //-----------------------


    Selain itu, terdapat juga perbedaan2 lain seperti return type fungsi main (standard mewajibkan return type fungsi main sebagai int, sementara beberapa compiler menerima void sebagai return type main).
    Singkat kata, lupakan Borland C++beralihlah ke compiler yang lebih modern dan standard compliant, baik free maupun proprietary.
  4. Kenapa saya tidak bisa menggunakan fungsi getch() dan header conio.h tidak ditemukan ketika menggunakan compiler selain Borland?
    Jawab:
    Library conio (CONsole I/O) BUKAN bagian dari standard C(++). Library tersebut adalah ekstensi dan implementasi spesifik dari Borland terhadap produk Turbo C++ dan Borland C++.
    Beberapa pihak menyediakan implementasi yang compatible dengan conio Borland untuk beberapa compiler, seperti conio2 untuk GCC.
    Meskipun demikian, sebaiknya pertimbangkan baik2 sebelum menggunakan library tersebut, kecuali kita memang mau "mengunci" kode kita terhadap beberapa compiler saja.
  5. Ada dokumentasi yang sudah dibuat dan bisa dipelajari secara langsung?
    Jawab:
    BANYAK PAKE BANGET, tinggal google. Jika somehow nggak ketemu (entah query apa yang dipake sampe hal semudah ini gak bisa ketemu):

    http://www.cplusplus.com/*
    http://cppreference.com/*
    http://www.learncpp.com/*
    https://isocpp.org/*
    http://www.tutorialspoint.com/cplusplus/*
    http://www.cprogramming.com/*
    http://en.wikibooks.org/wiki/C%2B%2B_Programming/*
    http://stackoverflow.com/questions/tagged/c%2B%2B/*
    http://stackoverflow.com/questions/tagged/c
    http://www.classroomm.com/objective-c/
    https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp0_Introduction.html
    http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s096-introduction-to-c-and-c-january-iap-2013/index.htm

  6. Kalo bikin yang GUI pake C++ gmn?
    Jawab:
    Manfaatkan API yang disediakan oleh sistem operasi, misal Win32 API di Windows. Beberapa IDE yang komersil telah menyediakan library yang membungkus API sehingga lebih mudah digunakan. Beberapa malah memberikan kemudahan dengan membuat pemrograman GUI dilakukan secara visual. Contohnya:

    • Microsoft Visual C++ (masuk dalam bundle Microsoft Visual Studio)
    • Embarcadero C++ Builder (masuk dalam bundle Embarcadero RAD Studio)

    Ada juga library yang bisa digunakan untuk memprogram GUI. Keuntungannya adalah kebanyakan library ini bersifat cross platform jadi dengan memakai library dapat menulis kode sekali dan dapat di-compile ulang di banyak platform / OS tanpa melakukan perubahan berarti. Contohnya:

    • wxWidgets
    • GTK
    • Qt
  7. Saya mau bikin game, di C++ bisa?
    Jawab:
    Bisa banget. Ada banyak game library ato game engine menggunakan C++
    Allegro http://alleg.sourceforge.net/download.html
    SDL http://lazyfoo.net/SDL_tutorials/
    Unreal Engine https://www.unrealengine.com/blog
    SFML http://www.sfml-dev.org/download.php
    Box2d http://box2d.org/downloads/
  8. Ini C++ semua, kalo Objective-C gimana?
    Jawab:
    Nanti dibikinin TILIL lain.

0 KOMENTAR