Thursday 31 October 2013

Konsep Kompilasi dan Eksekusi Program C++

Jadi...
Jadi, sebagai pemula yang baik (:3), ada baiknya sebelum kita belajar jauh tentang pembentukan program C++ kita mengetahui terlebih dahulu konsep dari sebuah kompilasi dan eksekusi program di dalam C/C++. Berikut ini gambar yang mengilustrasikan proses kompilasi dan eksekusi program dalam C/C++ :


Preprocessor
Mula-mula kode program akan dimasukkan ke bagian preprosesor, yaitu yang diawali dengan tanda # (pound) dan menghasilkan file yang akan dilewatkan ke dalam kompiler. Beberapa preposessor tersebut diantaranya adalah :
  • #include
  • #define
  • #ifdef
  • dan lain-lain
Pembahasan lebih lanjut mengenai preprosessor ini akan saya lanjutkan di lain halaman.

Kompiler
Kompiler akan menerjemahkan kode program yang telah dilewatkan oleh preposesor ke dalam bahasa assembly.

Assembler
Assembler menerima keluaran dari kompiler C++ dan akan membuat sebuah kode objek. Jika dalam kode program kita tidak menggunakan fungsi-fungsi yang terdapat pada library lain, maka kode objek ini akan langsung dieksekusi menjadi file EXE.

Link Editor
Bagian ini dikerjakan jika kode program yang kita buat menggunakan fungsi-fungsi luar yang disimpan dalam suatu library lain. Link Editor akan mengkombinasikan kode objek dan library yang ada untuk menjadikan sebuah file EXE.


-Semoga bermanfaat ;)

C dan C++

C dan C++ itu saudaraan :3

Seperti telah kita bahas sebelumnya bahwa bahasa C dan bahasa C++ merupakan bahasa yang sangat populer dalam dunia pengembangan perangkat lunak. Tapi dalam dunia akademis, bahasa Pascal lebih populer karena seorang profesor bernama Niklaus Wirth di Politeknik Zurich, Swiss mengembangkan bahasa tingkat tinggi (high level language) yang disebut dengan bahasa Pascal untuk mengajarkan algoritma kepada para mahasiswanya. Maka dari itu, di lingkungan akademis bahasa Pascal lebih populer dibandingkan bahasa C/C++.  Kedua bahasa ini (C/C++) digolongkan dalam bahasa tingkat menengah (middle level language).  I ni sedikit artikel tentang bahasa pemrograman :3 *klik di sini*. Dan berikut sekilas pengelompokan tingkatan dari bahasa pemrograman :

1. Bahasa Tingkat Tinggi (High Level Language) 
  • Ada
  • Modula-2
  • Pascal
  • COBOL
  • FORTRAN
  • BASIC

2. Bahasa Tingkat Menengah (Middle Level Language)
  • Java
  • C++
  • C
  • FORTH

3. Bahasa Tingkat Rendah (Low Level Language)
  • Macro-Assembler
  • Assembler.

Dari data di atas, bahasa pemrograman yang paling atas adalah bahasa pemrograman yang paling mudah untuk dipahami. Semakin ke bawah semakin sulit untuk dipahami. Bahasa C lebih sulit dibandingkan C++ dan bahasa C++ lebih sulit dibandingkan dengan bahasa Java dan seterusnya.

Semenjak dikembangkan, bahasa C dan C++ banyak digunakan untuk mengembangkan program-program aplikasi di bidang telekomunikasi, finansial atau bisnis dan sistem operasi. Bahkan sampai saat ini, pembuatan program-program untuk permainan komputer (game) sebagian besar masih menggunakan bahasa C/C++.

Menurut Bjarne Stourstup (pencipta C++), alasan mengapa C diambil sebagai bahasa dasar pembentukan bahasa C++ adalah sebagai berikut :
  • Dapat dihubungkan dengan bahasa tingkat rendah
  • Berjalan di manapun dan untuk masalah apapun
  • Berjalan mulus dalam sistem operasi UNIX 
Jadi begitulah alasannya , dan alasannya ku bilang kalo C sama C++ itu saudara an. Karena C++ itu adiknya C. (apa maksudnya? yaudah abaikan :3)

Semoga bermanfaat ;)

Pengenalan C++

Mari Kita Belajar C++ Bersama sama :3
Yah, sekarang ayo kita belajar! Yak 'KITA' karena saya sendiri juga belajar. Dan jujur saja saya masih newbie gitu di Teknologi. Jadi Ayo Belajar Yang Giat!! Hihi. :D Dan sekarang saya mau blogging sambil belajar juga. Hehe :3

Yaps sekarang kita akan belajar tentang Pemrograman C++. Kata orang "Tak kenal maka tak sayang" Jadi ayo kita kenalan sama yang namanya mas C++ ini =D

Pendahuluan (Sejarah C++)
Pada mulanya bahasa komputer digunakan untuk membantu dalam melakukan perhitungan-perhitungan telemetri. Ketika itu, bahasa yang digunakan masih primitif sekali karena masih berupa bahasa mesin yang hanya mengenal angka 1 dan 0. Selannjutnya bahasa mesin tersebut disederhanakan menjadi bahasa yang agak dipahami dengan menghadirkan statemen-statemen khusus yang disebut dengan istilah mnemonic seperti ADD, MOV, JMP dan yang lainnya. Bahasa ini disebut dengan Bahasa Assemly yang masih termasuk ke dalam bahasa tingkat rendah (low level language).

Tahun 1969, laboratorium Bell AT&T di Muray Hill, New Jersey menggunakan bahasa assembly ini untuk mengembangkan sistem operasi UNIX. Maksudnya adalah untuk membuat sistem operasi yang dapat bersifat 'programmer-friendly'. Setelah UNIX berjalan, Ken Thomson, seorang pengembang sistem di laboratorium tersebut mengembangkan bahasa baru dengan nama bahasa B. Huruf B ini diambil dari BCPL. Bahasa B ini kemudian digunakan untuk menulis ulang atau merevisi sistem operasi UNIX. Oleh karena bahasa B ini masih bersifat interpret dan lambat, maka pada tahun 1971, sistem operasi UNIX kemudian ditulis ulang dengan menggunakan bahasa C, yaitu bahasa pemrograman yang dikembangkan oleh Dennis Ritchie, seorang pengembang sistem di laboratorium yang sama.

Sampai sekarang bahasa C masih digunakan untuk melakukan pengembangan-pengembangan program dan sistem-sistem operasi, diantaranya sistem operasi Windows. Alasan itulah yang menjadikan bahasa C sangat populer di dunia pemrograman khususnya untuk industri perangkat lunak. Namun sayangnya basa C merupakan bahasa yang masih tergolong susah untuk dipelajari karena masih bersifat prosedural murni. Untuk membentur satu objek, kita harus melakukan banyak sekali penulisan kode. Hal ini tentu dapat dikatakan sebagai sebuah kelemahan. Untuk mengatasi masalah ini, pada tahun 1983, seorang doktor bernama Bjane Stroustrup yang juga bekerja di laboratorium yang sama menciptakan bahasa baru yaitu bahasa C++ yang meripakan hibryd dari bahasa C.

Bahasa C++ didasarkan atas bahasa C sehingga kita dapat melakukan kompilasi program-program yang ditulis dalam bahasa C dengan menggunakan kompiler C++. Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman berarah objek atau lebih sering dikenal dengan istilah Object Oriented Programming (OOP).

-Dari sebuah buku. Semoga bermanfaat :)