Kamis, 10 November 2016

Selayang Pandang Bahasa C

Pendahuluan
Bahasa pemrograman adalah suatu kumpulan kata (perintah) yang siap digunakan untuk menulis suatu kode program sehingga kode-kode program yang kita tulis tersebut akan dapat dikenali oleh kompilator yang sesuai. Kata-kata tersebut dalam bahasa pemrograman disebut dengan keyword (reserve word). Untuk mempelajari bahasa pemrograman tertentu kita tidak harus menghafal semua keyword (kata kunci) yang ada di dalamnya, namun yang perlu kita ketahui adalah fungsi dan aturan penggunaannya.
Contoh dari beberapa keyword misalnya : int, main, for, while, do while, dsb.
Materi ini kita akan menggunakan salah satu bahasa pemrograman tingkat tinggi yaitu C / C++.

Program yang ditulis dalam bahasa pemrograman seperti C dan C++ sebenarnya tidak dimengerti oleh computer secara langsung. Sebab computer hanya mengenali kode 0 dan 1 (binary digit ). Supaya program dapat dijalankan oleh computer, program tersebut harus diterjemahkan terlebih dahulu ke dalam bahasa mesin (atau biasa disebut kode objek). Proses penerjemahannya dilakukan oleh program yang disebut Translator (penerjemah).
Translator dapat berupa :
  • Interpreter
Interpreter menerjemahkan instruksi selama program diminta untuk dieksekusi. Jika seseorang bermaksud menjalankan program tersebut (agar dapat dijalankan oleh computer, mula-mula kode sumber (source code atau program asli yang diitulis olem pemrogram) ditermahkan dulu ke dalam bentuk kode mesin baris perbaris instruksi. Setelah satu baris instruksi tersebut difahami oleh computer, instruksi tersebut dijalankan. Interpreter kemudian kembali memproses baris instruksi berikutnya.
  • Kompiler
Kompiler menerjemahkan instruksi ke dalam kode objek secara keseluruhan (untuk semua instruksi). Setelah semua instruksi diterjemahkan, instruksi yang dimengerti oleh computer dijalankan. Proses penerjemahan seperti itu disebut kompilasi. Setelah kompilasi berakhir, compiler tidak diperlukan lagi, sebab sesudah kompilasi akan terbentuk program yang dapat dijalankan secara langsung tanpa melalui translator ( executable ).


Kerangka Program dalam Bahasa C / C++
Setiap program yang ditulis dengan menggunakan bahasa C harus mempunyai fungsi utama, fungsi tersebut bernama main(). Fungsi inilah yang akan dipanggil pertama kali pada saat eksekusi program. Apabila ada fungsi lain yang dibuat, maka fungsi tersebut akan dijankan ketika dipanggil di fungsi utama. Hal ini karena bahasa C/C++ merupakan bahasa procedural yang menerapkan konsep runtutan (program dieksekusi baris-perbaris dari atas ke bawah secara berurutan).
Ada dua bentuk kerangka fungsi utama yang sering digunakan :
  • Bentuk dengan tanpa pengembalian nilai ke system operasi (dengan menuliskan Void sebelum fungsi utama )
Contoh :
void main(void)
{
            Kode program yang akan ditulis;
}
Kata kunci void dalam kurung bersifat opsional, artinya bias dituliskan atau juga tidak.
  • Bentuk dengan pengembalian nilai 0 ke system operasi (dengan menuliskan tipe data sebelum fungsi utama )
Contoh :
int main(void)
{
            Kode program yang akan ditulis;
            return 0;
}
Kata kunci void dalam kurung bersifat opsional, artinya bias dituliskan atau juga tidak.
Fungsi return 0 pada konsep di atas adalah fungsi main() ini dapat mengembalikan nilai 0 ke system operasi yang menandakan bahwa program tersebut berjalan dengan baik tanpa adanya kesalahan.

NB: Sebaiknya sebalum ditutup dengan return 0, baiknya tambahkan code 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.

Mengenal File Header ( *.h )Program dalam Bahasa C / C++
File header adalah file dengan eksetensi h ( *.h ) yaitu file bantuan yang digunakan untuk menyimpan daftar-daftar fungsi yang akan digunakan di dalam program.
File header di dalam C/C++ misalnya adalah <stdio.h> atau <iostream.h> untuk proses masukan dan keluaran (input/output). Tidak hanya dua file header tersebut karena masih banyak file header yang disediakan oleh C/C++ untuk menangani kerword-keyword yang lain.
Di bawah ini akan digambarkan bagaimana cara penulisan file header dengan mengacu pada konsep kerangka yang sudah dijelaskan di atas :
Contoh 1 : Penggunaan input/output dengan bahasa C
#include <stdio.h>
int main()
{
printf(“Selamat Belajar Algortima dan Pemrograman \n”);
return 0;
}

Contoh 2 : Penggunaan input/output dengan bahasa C
#include <stdio.h>
void main()
{
printf(“Selamat Belajar di lp2maray.com ttg  Algortima dan Pemrograman \n”);
}

Contoh 3 : Penggunaan input/output dengan bahasa C++
#include <iostream.h>
int main()
{
cout<<“Selamat Belajar Algortima dan Pemrograman \n”;
return 0;
}

Contoh 4 : Penggunaan input/output dengan bahasa C++
#include <iostream.h>
void main()
{
cout<<“Selamat Belajar Algortima dan Pemrograman \n”;
}


Mengenal Fungsi printf() dan scanf() dalam Bahasa C
Dalam pembuatan sebuah program computer, kita tidak akan lepas dari proses masukan (input) dan keluaran (output). Dalam bahasa C perintah tersebut dikenal dengan penulisan scanf() sebagai inputan dan printf() sebagai keluaran. Untuk file header yang diperlukan adalah stdio.h.

Contoh 1 : Memasukkan sebuah nilai bertipe integer
#include <stdio.h>
int main()
{
int x;
printf(“Masukkan sebuah nilai bilangan bulat = ”);
scanf(“%d”, &x);
printf(“Nilai yang anda masukkan adalah = %d”, x );
return 0;
}
Ada kode program yang di dalamnya terdapat tanda %d, maksudnya adalah masukan tersebut membaca nilai bertipe int (format bilangan bulat) dari keyboard dan menyimpan nilai tersebut ke dalam alamat di dalam memori yang ditempati oleh variable x.


Ada beberapa format yang lain untuk menentukan format yang dapat dipakai pada scanf().
Karakter
Tipe Argumen
Keterangan
%d,  %i
int
Untuk membaca tipe bilangan bulat dalam bentuk decimal (basis  10)
%o
int
Untuk membaca tipe bilangan bulat dalam bentuk octal (basis 8) tanpa diawali angka 0
%u
int
Untuk membaca bilangan bulat tanda tanda (unsigned)
%c
char
Untuk membaca karakter
%s
char*
Untuk membaca string (kumpulan karakter)
%f
float
Untuk membaca bilangan real dengan tipe float
%lf
float
Untuk membaca bilangan real dengan tipe double
%ld
float
Untuk membaca bilangan real dengan tipe long int.
%e
double
Untuk membaca bilangan real dengan bentuk eksponen

Ada beberapa format yang lain untuk menentukan format yang dapat dipakai pada printf().
Karakter
Tipe Argumen
Keterangan
%d,  %i
int
Untuk menampilkan tipe bilangan bulat dalam bentuk decimal (basis  10)
%o
int
Untuk menampilkan tipe bilangan bulat dalam bentuk octal (basis 8) tanpa diawali angka 0
%x, %X
int
Untuk menampilkan tipe bilangan bulat dalam bentuk heksadesimal (basis 16) tanpa diawali dengan tanda 0x atau 0X. Format x digunakan untuk menampilkan hasil dalam huruf kecil dan huruf X untuk menampilkan dalam huruf besar.
%u
int
Untuk menampilkan bilangan bulat tanda tanda (unsigned)
%c
char
Menampilkan karakter
%s
char*
Menampilkan string (kumpulan karakter)
%f
float
Menampilkan bilangan real dengan tipe float
%lf
float
Menampilkan bilangan real dengan tipe double
%ld
float
Menampilkan bilangan real dengan tipe long int.
%e ,  %E
double
Menampilkan bilangan real dengan bentuk eksponen
%g , %G
double
Menampilkan bilangan real dalam bentuk seperti %f, atau %E tergantung dari ekspresinya
%%

Menyatakan symbol %

Ada beberapa tambahan dalam penggunaan bilangan real misalnya :
%.3f       mencetak bilangan real dengan 3 angka di belakang koma
%2.3      mencetak bilangan real dengan 2 angka sebelum koma dan 3 angka sesudah koma.
Selain itu perlu juga diperhatikan sebuah karakter escape yaitu karakter yang ditulis dengan awalan tanda  \  diikuti dengan karakter tertentu yang memiliki sebuah tingkah laku.
Karakter-karakter tersebut seperti pada table di bawah ini :
Karakter
Keterangan
\a
Untuk membangkitkan suara atau speaker (bell)
\b
Karakter backspace, kursor akan kembali ke depan sebanyak satu karakter
\f
Formfeed : untuk meletakkan formfeed
\n
Newline : untuk meletakkan baris baru(ganti baris )
\r
Carriage return : untuk meletakkan kursor di awal baris bersangkutan
\t
Horizontal tab : untuk meletakkan tab horizontal
\v
Vertical tab : untuk meletakkan tab vertical
\\
Memunculkan karakter \
\”
Memunculkan karakter “
\’
Memunculkan karakter ‘
\?
Memunculkan karakter ?

 Mengenal  cin>> dan cout<<  dalam Bahasa C++
Sama halnya fungsi scanf() dan printf(). Fungsi cin>> dan cout<< juga berfungsi sebagai inputan dan keluaran. Yang berbeda adalah file headernya memakai <iostream.h>.

Contoh 1 : Memasukkan sebuah nilai bertipe integer
#include <iostream.h>
int main(){
int x;
cout<< “Masukkan sebuah nilai bilangan bulat = ”;
cin>>x;
cout<<“Nilai yang anda masukkan adalah =”<< x;
return 0;
}



Mengenal  fungsi aritmatike dengan header math.h
Di dalam bahasa C juga disediakan fungsi untuk penangan aritmatika. File ini terdapat di dalam header math.h.
Perhatikan table di bawah ini :
Fungsi
Argumen
Keterangan
sqrt()
double
Memberikan nilai balik berupa akar x. Nilai balik bertipe double.
pow(x,y)
double
Memberikan nilai balik berupa xy. Nilai balik bertipe double.
tan(x)
double
Memberikan nilai balik berupa tangent x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe double.
sin(x)
double
Memberikan nilai balik berupa sinus x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe double.
cos(x)
double
Memberikan nilai balik berupa cosines x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe double.
log(x)
double
Memberikan nilai balik berupa loge x. Nilai balik bertipe double.
log10(x)
double
Memberikan nilai balik berupa log10 x. Nilai balik bertipe double.
cabs(x)
int
Memberikan nilai balik berupa nilai absolute x. Nilai balik bertipe int.
fabs(x)
double
Memberikan nilai balik berupa nilai absolute x. Nilai balik bertipe double.

Mengenal  Komentar
Komentar adalah sebuah teks yang dimasukkan di dalam kode program, tetapi teks tersebut tidak akan dieksekusi sebagai kode program. Biasanya komentar digunakan untuk memberikan penjelasan terhadap kode-kode program yang kita tuliskan, dapat juga berupa kegunaan program, waktu dibuat dan penulis yang membuat.
Ada beberapa bentuk format dalam komentar.
  • //isi komentar
Komentar ini digunakan pada C++
  • /* isi komentar */
Komentar ini bias digunakan di C / C++
=================================================
Helloworld.cpp

Secara umum, stuktur bahasa pemrograman C++ adalah seperti dibawah ini:

// contoh program C++                                        
#include <iostream.h>
int main ()
{
  cout << "Selamat Belajar C++ di lp2maray.com";
  return 0;
}

Hasil output:
Selamat belajar C++

Sisi atas merupakan source code, dan sisi bawah adalah hasilnya setelah di-kompile dan di-eksekusi.

persatu Program diatas merupakan salah satu program paling sederhana dalam C++, tetapi dalam program tersebut mengandung komponen dasar yang selalu ada pada setiap pemrograman C++. Jika dilihat satu :

// contoh program C++
Baris ini adalah komentar. semua baris yang diawali dengan dua garis miring (//) akan dianggap sebagai komentar dan tidak akan berpengaruh terhadap program. Dapat digunakan oleh programmer untuk menyertakan penjelasan singkat atau observasi yang terkait dengan program tersebut, dan kode (//) hanya akan membaca komentar satu baris saja.

#include <iostream.h>
Kalimat yang diawali dengan tanda (#) adalah are preprocessor directive. Bukan merupakan baris kode yang dieksekusi, tetapi indikasi untuk kompiler. Dalam kasus ini kalimat  #include <iostream.h> memberitahukan preprocessor kompiler untuk menyertakan header file standard iostream. File spesifik ini juga termasuk library deklarasi standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan digunakan nanti dalam program.

int main ()
Baris ini mencocokan  pada awal dari deklarasi fungsi main. fungsi main merupakan titik awal dimana seluruh program C++ akan mulai dieksekusi. Diletakan diawal, ditengah atau diakhir program, isi dari fungsi main akan selalu dieksekusi pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsi  main. 
main diikuti oleh sepasang tanda kurung () karena merupakan fungsi. pada C++, semua fungsi diikuti oleh sepasang tanda kurung () dimana, dapat berisi argumen didalamnya. Isi dari fungsi main selanjutnya akan mengikuti,berupa deklarasi formal dan dituliskan diantara kurung kurawal ({}), seperti dalam contoh.

cout << "Selamat belajar C++";
Intruksi ini merupakan hal yang paling penting dalam program contoh. cout merupakan standard output stream dalam C++ (biasanya monitor). cout dideklarasikan dalam  header file iostream.h, sehingga agar dapat digunakan maka file ini harus disertakan. 
Perhatikan setiap kalimat diakhiri dengan tanda semicolon (;). Karakter ini menandakan akhir dari instruksi dan harus disertakan pada setiap akhir instruksi pada program C++ manapun. 

return 0;
Intruksi return menyebabkan fungsi main() berakhir dan mengembalikan kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program. 


Mengenal perbedaan Bahasa C dan Bahasa C++

C
C++

C didirikan oleh Dennis Ritchie pada tahun 1972 di AT&T bell
labs.

C++ didirikan oleh bjarne Stroustrup pada tahun 1979 di AT&T Bell
Laboratories sebelum itu disebut sebagai C with Classes


Bila dibandingkan dengan C ++ , C adalah bagian dari C ++ .


C++ merupakan Superset dari C dan C++ bisa menjalankan sebagian besar
dari C sedangkan C tidak bisa menjalankan code C++


C mendukung paradigma pemrograman prosedural untuk pengembangan kode.


C ++ mendukung paradigma pemrograman prosedural dan berorientasi
objek ; Oleh karena itu C ++ juga disebut bahasa hybrid.


C tidak mendukung pemrograman berorientasi objek; oleh karena itu
tidak memiliki dukungan untuk polimorfisme, enkapsulasi, dan warisan.


Menjadi bahasa pemrograman C ++ mendukung berorientasi objek
polimorfisme, enkapsulasi, dan warisan.


Dalam C (karena merupakan bahasa pemrograman prosedural), data dan
fungsi adalah entitas yang terpisah dan bebas.


Dalam C ++ (bila digunakan sebagai bahasa pemrograman berorientasi
objek), data dan fungsi dikemas bersama dalam bentuk suatu objek. Untuk
membuat objek kelas menyediakan cetak biru struktur objek.


Dalam C, data entitas gratis dan dapat dimanipulasi oleh kode luar.
Hal ini karena C tidak mendukung informasi bersembunyi.


Dalam C ++, Encapsulation menyembunyikan data untuk memastikan bahwa
struktur data dan operator yang digunakan sebagaimana dimaksud.


C, menjadi pemrograman prosedural, itu adalah bahasa fungsi didorong.


Sementara, C ++, menjadi pemrograman berorientasi objek, itu adalah
bahasa objek didorong.


C tidak mendukung fungsi dan operator overloading.


C ++ mendukung fungsi dan operator overloading.


C tidak memungkinkan fungsi yang harus didefinisikan di dalam
struktur.


Dalam C ++, fungsi dapat digunakan di dalam struktur.


C tidak memiliki fitur namespace.


C ++ menggunakan namespace yang menghindari tabrakan nama.

Namespace A adalah daerah deklaratif yang memberikan ruang lingkup
untuk pengidentifikasi (nama-nama jenis, fungsi, variabel, dll) di dalamnya.
Ruang nama yang digunakan untuk mengatur kode ke dalam kelompok logis dan
untuk mencegah tabrakan nama yang dapat terjadi terutama ketika basis kode
Anda termasuk beberapa perpustakaan. Semua pengidentifikasi di lingkup
namespace yang terlihat satu sama lain tanpa kualifikasi. Pengidentifikasi
luar namespace dapat mengakses anggota dengan menggunakan nama yang memenuhi
syarat untuk setiap identifier.


C menggunakan fungsi untuk input / output. Misalnya scanf dan printf.


C ++ menggunakan objek untuk input output. Misalnya cin dan cout.


C tidak mendukung variabel referensi.


C ++ mendukung variabel referensi.


C tidak memiliki dukungan untuk fungsi virtual dan teman.


C ++ mendukung fungsi virtual dan teman.


C memberikan malloc () dan calloc () fungsi untuk alokasi memori
dinamis, dan bebas () untuk memori de-alokasi.


C ++ menyediakan operator baru untuk alokasi memori dan operator
gratis untuk memori de-alokasi.


C tidak memberikan dukungan langsung untuk penanganan error (juga
disebut pengecualian penanganan)


C ++ menyediakan dukungan untuk penanganan eksepsi. Pengecualian
digunakan untuk "keras" kesalahan yang membuat kode yang salah.


Penulisan Bahasa C++ Modern:
#include
using namespace std;

adalah bentuk yang telah memenuhi standar penulisan kode untuk C++ standar.
Syaratnya kompiler sudah memiliki semua fitur yang terdapat dalam C++ standar.
Umumnya sudah include pada aplikasi microsoft visual C++ juga MinGW Develover Studio.

Sedang file header dengan eksistensi .h seperti dibawah ini,

#include
ini adalah bentuk penulisan pada Komplier C++ klasik,

Download MinGW Developers


Tidak ada komentar:

Posting Komentar