Laman

Sabtu, 15 Februari 2014

Bahasa C dan C++




Bahasa C dan C++, Merupakan bahasa pemrograman dalam dunia elektronika. dalam penggunaanya bahasa tersebut digunakan dalam sistem operasi komputer atau Mikrokontroler.
Sejarah Bahasa Pemrograman C++
           Bahasa C++ diciptakan oleh "Bjarne Strourup" di AT&T Bell Laboratories pada awal tahun 1980. Bahasa C++ ini sendiri merupakan pengembangan dari bahas C yang ditulis oleh "Brian W.Kernighan dan Denies M.Ritchie" pada tahun 1972. Sedangkan bahasa C merupakan pengembangan juga dari bahasa B yang ditulis oleh "Ken Thompson pada tahun 1970".
           Pada era sebelum munculnya bahasa C++, bahasa C sudah banyak digunakan dan cukup terkenal ketika itu, karena sudah memiliki kemampuan yang mumpuni untuk membuat berbagai perangkat lunak seperti dBASE, Word Star, dan lain-lain. Berdasarkan hal itu, Bjarne Strourup kemudian mengembangkan beberapa hal dari C yang dinamakannya C with Classes, yang kemudian berubah nama menjadi C++ pada tahun 1983. Hal yang ditambahkan di bahasa C++ dan tidak terdapat di C adalah adanya OOP (Object Oriented Programming), sehingga lebih memungkinkan bisa membuat dan mengelola program yang besar dan kompleks. Dengan demikian bahasa C++ ini sudah termasuk ke dalam bahasa pemrograman tingkat tinggi (high programming  language ).
          Bahasa pemrograman C++ dapat diketikkan dan di-compile(diajalankan) di beberapa compiler. Saat munculnya C++, perusahaan BORLAND Internasional kemudian merilis compiler Borland C++ dan Turbo C++. Selain itu beberapa perusahaan lain juga megeluarkan compiler C++ seperti Topspeed C++ dan Zortech C++.

                                 
Compiler Bahasa C

a. " /*..*/"  dan "//.." 
Adalah keterangan atau komentar dalam program C/C++. Program yang baik biasanya diberi komentar atau keterangan. Hal ini ditujukan agar mudah dipelajari lagi dikemudian hari, baik oleh orang lain ataupun si programmer itu sendiri. Setiap program yang diapit tanda "/*...*/" dan "//.." akan dianggap keterangan dan tidak akan dijalankan ketika program dieksekusi. Bedanya adalah, tanda "/*...*/" bisa digunakan untuk memberikan keterangan atau komentar lebih dari satu baris, sedangkan tanda "//.." hanya bisa digunakan untuk satu baris saja.     
b. # include <fileheader.h>
Adalah compiler dari bahasa C/C++, yaitu yang menjalankan program yang dinamakan preprocessor, yang memiliki kemampuan menambahkan dan menghapus kode dari file sumber. Compiler biasanya diawali dengan tanda "#", dan berisi file-file dengan ekstensi ".H" yang disebut file header.
Contoh compiler :
1. # define
2. # include
3. # if, # else, # elif, # endif
4. # ifdef, # ifndef
 Contoh file header
1. <iostream.h>
2. <stdio.h>
3. <conio.h>
c. main()
 Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Fungsi main Berguna untuk mendeklarasikan fungsi utama, bahwa program yang dibuat dapat berisi banyak fungsi, tapi harus selalu mempunyai fungsi utama tau main fungction.

d. {
Tanda kurung kurawal buka, berfungsi sebagai pembuka suatu kode-kode program. tanpa pembuka, suatu program tidak akan berjalan atau akan muncul pesan syntax error jika dirunning.
e. Statement;
Berfunsi sebagai tempat dimana seorang programmer meletakkan kode-kode program. Statement biasanya diakhiri dengan tanda titik koma ( ; ). 
Contoh Statement :
Char pesan[] = "Halo Kawand, Apa kabar ?";
Cout << pesan;
f. }
Tanda kurung kurawal tutup, berfungsi sebagai penutup suatu kode-kode program. Sama halnya dengan pembuka, kurung kurawal pentup mutlak harus dimasukkan. Jika tidak maka program tidak akan dijalankan atau muncul pesan syntax error ketika dicompile/running/eksekusi.

Input/Output


       Pada bahasa C, operasi input dan output dilakukan menggunakan fungsi-fungsi yang ada pada header file stdio.h. 
Contoh input/outputnya ke layar  :
printf, scanf, putch dan lain-lain. 
Sedangkan bahasa C++ mempunyai tekhnik input/output yang baru, yaitu menggunakan stream. Header file untuk input/output stream adalah iostream.h dan beberapa file lain seperti strsea.h, fstream.h dan constrea.h. Dalam bahasa C++ intput berarti membaca dari stream dan uoutput berarti menulis ke stream.


Bentuk Umum Output operator :
Cout << ekspresi ;
Bentuk umum Input operator :
Cin >> variable ;
Berikut ini adalah contoh Fungsi Input/output yang sering digunakan dalam C++ :
conio.h (consol input/output)             : clrscr, getch, getche
iostream.h (input/output strean)         : cout, cin, endl
stdio.h (Standar input/output)            : printf, scanf, puts
iomanip.h (input/output manipulator)  : setw, setprecision, setiosflags 
lain-lain :
clsscr            : membersihkan layar
getch            : fungsi keluaran
getch cout     : fungsi keluaran pada iostream
cin                : input pada iostream
printf            : fungsi keluaran pada stdio
scanf            : fungsi masukan pada stdio
puts              : fungsi keluaran string pada stdio
setw             : mengatur lebar tampilan data
setprecision  : mengatur jumlah digit pecahan
setiosflags    : mengatur jumlah tanda format


Escape Sequences 

       Bahasa C++ menggunakan escape sequences untuk mempresentasikan karakter yang tidak terdapat dalam tradisional symbol. Escape Sequences pada C++ adalah antara lain :
\n  : untuk pindah baris
\t   : mengaktifkan fungsi tab
\b  : mengaktifkan fungsi backspace
\"   : menampilkan tanda "
\'    : menampilkan tanda '
 Contoh dasar Program Sederhana C++ :
Contoh 1 :
# include <stdio.h>
main ( )
{
     printf ("Hai kawand, Apa kabar ? ");
}
Contoh 2 :
# include <conio.h>
# include <iostream.h>
main()
{
      cout <<"Nama \t: Alfin Amrullah "<< endl;
      cout <<"Asal \t : Maluku"<< endl;
      getche();
}
Contoh 3 :
# include <stdio.h>
# include <conio.h>
main()
{
       clrscr();
       printf("\t Halo Apa kabar?");
       printf("\n Selamat datang di rumah saya");
       getch();
Contoh 4 :#include <conio.h>
#include <iostream.h>
main()
{
       clrscr();
       cout <<"\t Selamat, Anda Menang !!";
       cout <<endl;
       cout <<"Anda mendapatkan satu unit motor";
       getche();
}
Kelebihan Bahasa C :
1.        Bahasa C tersedia hampir di semua jenis komputer.
2.        Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis komputer.
3.        Bahasa C hanya menyediakan sedikit kata-kata kunci, dan hanya terdapat 32 kata kunci.
4.        Proses executable program bahasa C lebih cepat.
5.        Dukungan pustaka yang banyak.
6.        C adalah bahasa yang terstruktur.
7.        Bahasa C termasuk bahasa tingkat menengah, penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. Secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

Kekurangan Bahasa C :
1.        Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
2.        Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

Pada pembuatan alat tugas akhir ini penulis menggunakan pemograman bahasa C. Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya.

Untuk mengetahui dasar bahasa C dapat dipelajari sebagai berikut :
1.    Struktur penulisan program
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional
[global variables] // Opsional
[functions] // Opsional
void main(void) // Program Utama
{
[Deklarasi local variable/constant]
[Isi Program Utama]
}


2.    Preprocessor (#)
Preprocessor (#) digunakan untuk memasukkan (include) text dari file lain, mendefenisikan macro yang dapat mengurangi beban kerja pemograman dan meningkatkan legibility source code (mudah dibaca). Adapun fungsi preprocessor yang disediakan yaitu :
#include :digunakan untuk memasukkan (include) text dari file lain, contoh:
a. #include<delay.h>
b. #include<lcd.h>
 c. #define EnKa PORTC.4
d. #define on 1

#define : digunakan untuk mendefenisikan makro, contoh :
 
3.    Tipe Data
a.    char : 1 byte ( -128 s/d 127 )
b.    unsigned char : 1 byte ( 0 s/d 255 )
c.    int : 2 byte ( -32768 s/d 32767 )
d.    unsigned int : 2 byte ( 0 s/d 65535 )
e.    long : 4 byte ( -2147483648 s/d 2147483647 )
f.     unsigned long : 4 byte ( 0 s/d 4294967295 )
g.    float : bilangan desimal
h.    array : kumpulan data-data yang sama tipenya.
4.    Statement
Suhu = adc/255*100; //contoh rumus perhitungan suhu.

Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [//] untuk satu baris. Lebih dari 1 baris gunakan pasangan [/*] dan [*/]. Statement yang tidak dieksekusi disebut juga comments/ komentar, contoh :

5.    Function
[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2])
{ [statement] ;}

Function adalah bagian program yang dapat dipanggil oleh program utama, contoh : 

6.    Conditional Statement dan Looping
if else : digunakan untuk penyeleksian kondisi, contoh :
if([persyaratan]){[statement1];[statement2];}
else{[statement3];[statement4];}
for : digunakan untuk looping dengan jumlah yang sudah diketahui.
for ([nilai awal]; [persyaratan]; [operasi nilai])
{ [statement1];[statement2];}

Contoh :
while : digunakan untuk looping jika dan selama memenuhi syarat tertentu, contoh :
while ([persyaratan]) {
[statement1];
[statement2];
}
switch ( [nama variabel] ) {
case [nilai1]: [statement];
break; case [nilai2]: [statement];
break;
}

switch case : digunakan untuk seleksi dengan banyak kondisi, contoh :
 
7.    Operasi relasional (perbandingan)
a.    Sama dengan : ==
b.    Tidak sama dengan : !=
c.    Lebih besar : >
d.    Lebih besar sama dengan : >=
e.    Lebih kecil : <
f.     Lebih kecil sama dengan : <=


Algoritma adalah prosedur yang didefinisikan dengan jelas dan terdiri dari langkah-langkah yang banyak yang digunakan untuk menyelesaikan suatu masalah. Jadi, sebelum buat program pakai bahasa C++ tuh, aku disuruh belajar algoritma dulu, baru deh ke pemrogramannya. Contoh algoritma : Algoritma : mengkonversi suhu dari fahrenheit ke celcius 1) Input (F) 2) c <- 5/9*(F-32) 3) write (c) Langsung aja yah, buat teman-teman yang lagi bingung cari jawaban algoritma. Ini jawabanku : Algoritma : menentukan bilangan terbesar dari dua bilangan 1) Input (x,y) 2) terbesar <- x 3) if (terbesar0) then write i end-if i <- i+2 Outputnya : 1, 5,7 Algoritma dengan output : 1 2 3 1 2 3 1 2 3 1) i <- 1 a <- 1 2) while (i<4) do while (a<4) do write a a <- a +1 i <- i+1 Algoritma dengan output : 0 3 8 15 24 , dst 1) Input (n) 2) c <- 1 3) while (c<=n) write ((c*c)-1) c <- c+1 atau 1) Input (n) 2) a <- 0 c <- 1 i <- 3 3) while (c<=n) write (a) p <- p+2 a <- a+p c <- c+1 Algoritma dengan output : 0 1 1 4 2 9, dst 1) Input (n) 2) c <- 1 i <- 0 a <- 0 3) while (c<=n) do if ((c mod 2)=1) then write (i) a <- a+1 else write (a*a) i <- i+2 c <- c+1 Algoritma : menentukan bilangan prima atau bukan 1) Input (a) 2) if (((p-1)! + 1) mod p) = 0) then write ("Prima") else write ("Bukan Prima") Algoritma dengan output : 1 2 3 7 6 12 10 17 15, dst 1) Input (n) 2) c <- 1 i <- 2 a <- 2 n <- 1 3) while (c<=n) do write (c) write (a) c <- c + i i <- i + 1 a <- a + 5 n <- n + 5 Algoritma : menentukan rata-rata n buah data 1) Input (n) 2) c <- 1 i <- 1 3) while (c<=n) do input (d) i <- i + d c <- c + 1 r <- i/n write (r) Algoritma : menentukan tahun kabisat antara tahun 2000 dan 2200 1) Input (a) 2) If (a>2000) then if ((a mod 4)=0) then write ("Tahun Kabisat") else write ("Bukan Tahun Kabisat") else if (a<2200) then if ((a mod 4)=0) then write ("Tahun Kabisat") else write ("Bukan Tahun Kabisat")

Sumber: http://radirablog.blogspot.com/2011/10/belajar-dasar-algoritma-pemrograman.html
Terimakasih sudah berkunjung. Jangan kapok-kapok yaa :)



Dasar Algoritma Pemrograman Menggunakan Bahasa C++

Sekilas, Algoritma adalah prosedur yang didefinisikan dengan jelas dan terdiri dari langkah-langkah yang banyak yang digunakan untuk menyelesaikan suatu masalah. Jadi, sebelum buat program pakai bahasa C++ tuh, aku disuruh belajar algoritma dulu, baru deh ke pemrogramannya. Contoh algoritma :

Algoritma : mengkonversi suhu dari fahrenheit ke celcius
1) Input (F)
2) c <- 5/9*(F-32)
3) write (c)

Langsung aja yah, buat teman-teman yang lagi bingung cari jawaban algoritma. Ini jawabanku :

Algoritma : menentukan bilangan terbesar dari dua bilangan
1) Input (x,y)
2) terbesar <- x
3) if (terbesar<y) then
         terbesar <- y
    end-if
4) write (terbesar)
Algoritma : menampilkan lima buah tulisan ("Aku Dibuat Pusing Sama Algoritma")
1) c <- 1
2) while (c<6) do
         write ("Aku Dibuat Pusing Sama Algoritma")
         c <- c+1

Algoritma  : menampilkan bilangan" ganjil kurang dari 10 dan tidak habis dibagi 3
1) i <- 1
2) while (i<10) do
          if (i mod 3<>0) then
                 write i
          end-if
          i <- i+2

Outputnya : 1, 5,7

Algoritma  dengan output : 1 2 3 1 2 3 1 2 3
1) i <- 1
    a <- 1
2) while (i<4) do
           while (a<4) do 
                   write a
                   a <- a +1
           i <- i+1

Algoritma  dengan output : 0 3 8 15 24 , dst
1) Input (n)
2) c <- 1
3) while (c<=n)
            write ((c*c)-1)
            c <- c+1

atau

1) Input (n)
2) a <- 0
    c <- 1
    i <- 3
3) while (c<=n)
           write (a)
           p <- p+2
           a <- a+p
           c <- c+1

Algoritma  dengan output : 0 1 1 4 2 9, dst
1) Input (n)
2) c <- 1
    i <- 0
    a <- 0
3) while (c<=n) do
          if ((c mod 2)=1) then
          write (i)
          a <- a+1
    else
          write (a*a)
          i <- i+2
   c <- c+1

Algoritma : menentukan bilangan prima atau bukan
1) Input (a)
2) if (((p-1)! + 1) mod p) = 0) then
          write ("Prima")
    else
          write ("Bukan Prima")

Algoritma  dengan output :  1 2 3 7 6 12 10 17 15, dst
1) Input (n)
2) c <- 1
    i <- 2
    a <- 2
    n <- 1
3) while (c<=n) do
           write (c)
           write (a)
           c <- c + i
           i <- i + 1
           a <- a + 5
           n <- n + 5

Algoritma : menentukan rata-rata n buah data
1) Input (n)
2) c <- 1
    i <- 1
3) while (c<=n) do
           input (d)
           i <- i + d
           c <- c + 1
    r <- i/n
    write (r)

Algoritma : menentukan tahun kabisat antara tahun 2000 dan 2200
1) Input (a)
2) If (a>2000) then
            if ((a mod 4)=0) then
                    write ("Tahun Kabisat")
            else
                    write ("Bukan Tahun Kabisat")
    else if (a<2200) then
            if ((a mod 4)=0) then
                    write ("Tahun Kabisat")
            else
                    write ("Bukan Tahun Kabisat")

Operator Dalam Bahasa C

      Operator adalah simbol yang biasanya digunakan dalam pemrograman untuk melakukan suatu manipulasi atau operasi, misalnya memberikan nilai ke suatu variabel, menjumlahkan 2 buah nilai dan membandingkan kesamaan 2 buah nilai tersebut. Ekspresi atau ungkapan dalam bahasa pemrograman C++ bisa berupa pengenal, constanta, atau kombinasi element dengan operator.
    Sekiranya ada 6 macam/jenis operator yang dikenal dalam C++, yaitu operator aritmatika, operator majemuk, operator penambahan pengurangan, operator relasi, operator logika dan operator bitwise :

a. Operator Aritmatika


Operator aritmatika
Contoh program Operator Aritmatika :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
     int nilai_uts = 36;
     int nilai_uas = 53;
     int hasil_akhir;
     hasil_akhir = nilai_uts + nilai_uas;
     cout << "Nilai akhir anda adalah : " << hasil_akhir;
     getch();
}
b. Operator Majemuk 


Operator majemuk
 Contoh program Operator Majemuk :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
       int data = 1;
       cout <<"Data anda berisi :"<<data<<"\n";
       data += 2;
       cout <<"Setelah diproses menjadi : "<<data<<"\n";
       getch();
}
c. Operator Penambahan Pengurangan 


Operator penambahan pengurangan
Contoh program Operator Penambahan Pengurangan :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
      int data = 1;
      cout<<"Semula berisi : "<< data<<"\n";
      data++;
      cout<<"Berikutnya adalah :"<<data<<"\n";
      getch();
}

d. Operator Relasi 


Operator relasi

e. Operator Logika


Operator Logika
f. Operator Bitwise

Operator Bitwise
Contoh Program Operator Logika dan Bitwise :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
       int jml=3;
       cout<<"Datanya :"<<jml<<"\n";
       cout<<"Jika jml>=1 && jml<=5 hasilnya :"<<((jml>=1) && (jml<=5));
       getch();
}
Input/output

a. Perintah Input
=> Scanf() = digunakan untuk menginputkan berbagai jenis data
=> Gets() = digunakan untuk menginputkan data String
=> Cin() = digunakan untuk menginputkan suatu data, yang harus diikuti file iostream.h
=> Getch() = membaca sebuah karakter dengan sifat karakter yang diinputkan tidak perlu
                     diakhiri ENTER. Karakter yang dinputkan tidak ditampilkan di layar.
=> Getche() = sama dengan getch(), namun karakter yang diinputkan ditampilkan di layar

a.1. Input Scanf

Penentu Format Scanf :


Penentu Format Scanf
Contoh Scanf() :
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
void main(){
       int a,b,c = 0;
       printf("Ketik isi A :  ") scanf ("%d", &a);
       printf("Ketik isi B :  ") scanf ("%d", &b);
       c = a*b;
       printf("Hasilnya :  %d", c);
       getch();
}
a.2 Input Gets

Perbedaan Scanf() dengan Gets() :


Perbedaan Scanf() dengan Gets()
Contoh Gets() : 
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
void main(){
       char nama[15];
       puts("Ketik Nama Anda :") gets(nama);
       puts("Hallo..."); puts(nama);
       getch();
}
a.3. Input Cin 

Contoh Cin() :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
       int a,b,c;
       cout<<"Ketik Angka ke satu : "; cin >> a;
       cout<<"Ketik Angka ke dua : "; cin >> b;
       c = a + b;
       cout<<"Hasilnya adalah : " <<c;
       getch();
}
a.4. Input Getch

Contoh Getch() :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
       char huruf ;
       printf("Ketik sebuah huruf bebas : \n");
       huruf = getch();
       printf("Tadi Anda mengetik huruf : %c", huruf);
       getch();
}
a.5. Input Getche

Contoh Getche() :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
       char huruf ;
       printf("Ketik sebuah huruf bebas : \n");
       huruf = getche();
       printf("Tadi Anda mengetik huruf : %c", huruf);
       getche();
}
b. Perintah Output 

=> printf() = Fungsi output yang paling umum digunakan
=> puts()  = Fungsi yang lebih khusus digunakan untuk data bertipe String
=> putchar() = untuk menampilkan sebuah karakter ke layar tanpa diakhiri pindah baris
=> cout() = untuk menampilkan data di layar, harus menggunakan file header iostream.h

b.1 Output Printf

Penentu format printf :


Penentu format printf

Contoh Printf :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
       float a = 3.25;
       int x = 1;
       char y = 'A';
       printf("IP Semester Anda : %f \n",a);
       printf("%c Termasuk huruf yang ke- %d",y,x);
       getch();
}
 b.2 Output Puts

Perbedaan Printf() dengan Puts() :


Perbedaan printf() dengan puts()


Contoh Puts :
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
void main(){
       char y[6] = "ALFIN";
       puts("Saya Kuliah di"); puts(y);
       getch();
b.3 Output Putchar

Contoh Putchar :

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main(){
      putchar ("A");
      putchar ("L");
      putchar ("F");
      putchar ("I");
      putchar ("N");
      getch();
}
b.4 Output Cout

Contoh Cout :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main (){
       cout<<"Halo Apa kabar";
       getch();
}

Tidak ada komentar:

Posting Komentar