Saturday, October 30, 2010

Pengenalan Pemrograman

Pemrograman komputer (computer programming) adalah proses mendesain (designing), menulis (writing), menguji (testing), memperbaiki (debugging), dan merawat (maintaining) kode sumber (source code) dari sebuah program komputer. Source code ini ditulis dalam bahasa pemrograman.

Tujuan dari pemrograman adalah untuk menciptakan program yang bisa menunjukan perilaku tertentu yang sesuai dengan yang diinginkan. Proses menulis source code membutuhkan pengetahuan dan keahlian dalam banyak subjek lain, termasuk pengetahuan mengenai lingkungan dari aplikasi, algoritma khusus dan logika formal.

Dalam ilmu Rekayasa Perangkat Lunak (software enginering) pemrograman termasuk salah satu dari tahap penghembangan perangkat lunak. Dalam perkembangannya, muncul perdebatan yang masih berjalan sampai sekarang, yaitu apakah pemrograman termasuk ke ke dalam ilmu seni, kerajinan tangan atau ilmu teknik. Secara umum, program yang bagus diukur berdasarkan dari ketiga hal tadi, dengan tujuan untuk memproduksi software yang efisien dan dapat berkembang.

secara umum untuk menjadi seorang pembuat program (programmer), tidak dibutuhkan sertifikat khusus atau harus mengikuti ujian standarisasi apapun. Namun bagaimanapun juga untuk menyebut seseorang sebagai pengembang perangkat lunak profesional tanpa adanya sertifikat dari institusi yang terakreditasi adalah ilegal di benyak tempat di dunia.

Said another way, programming is the craft of transforming requirements into something that a computer can execute.
Dengan kata lain pemrograman adalah kerajinan tangan untuk merubah apa-apa saja yang dibutuhkan oleh komputer sehingga komputer dapat menghasilkan program dan dapat menjalankannya (execute).

Read more...

Sunday, October 10, 2010

Kata-kata yang Sudah Dipesan pada C++

Seperti halnya bahasa C, bahasa C++ juga memiliki kata-kata yang sudah dipesan (reserved keywords). Kata-kata tersebut adalah semua kata-kata tepesan dari bahasa c dan ditambah dari bahasa C++ sendiri. Hal ini karena C++ juga dipengaruhi dari bahasa C. Berikut ini adalah kata-kata terpesan dari bahasa C++:

autobreakcasecatch
charclassconstcontinue
defaultdeletedodouble
elseenumexternfloat
forfriendgotoif
intlongmutablenew
operatorprivateprotectedpublic
registerreturnshortsigned
sizeofstaticstructswitch
templatethisthrowtypedef
unionunsignedvirtualvoid
volatilewhile

Read more...

Kata-kata yang Sudah Dipesan

Dalam bahasa C, ada kata-kata yang ssudah dipesan (reserved keyword). Maksudnya adalah kata-kata ini tidak boleh digunakan untuk keperluan selain penulisan syntax. Selain itu juga, kata-kata ini tidak boleh digunakan untuk memberi nama variable, array, struct, fungsi, dan lain-lain. Berikut daftar kata-kata yang sudah dipesan:


autodefaultfloatregister
structvolatilebreakdo
forreturnswitchwhile
casedoublegotoshort
typedefcharelseif
signedunionconstenum
intsizeofunsignedcontinue
externlongstaticvoid

Read more...

Aplikasi Kalkulator Sederhana dengan Bahasa C

Berikut ini adalah program untuk membuat sebuah kalkulator sederhana dengan bahasa C. Di dalam propgram ini saya menggunakan pengulangan DO WHILE, agar kita bisa menentukan apakah kita keluar dari program, atau kita ingin mengulangi operasi. Berikut adalah kode programnya:

#include <stdio.h>
int isprima(int x);
float pangkat (float basis, int n);
float kpk(int x, int y);
float fpb(int x, int y);
main()
{
float X,Y,hasil;
int A,B,pilihan;
int Z;
char ulangi;
do{
printf("Pilihan operasi: ");
printf("\n1. X + Y\n2. X - Y\n3. X x Y\n4. X / Y");
printf("\n5. X Pangkat Y\n6. KPK X dan Y\n7. FPB X dan Y\n8. Cek prima X");
printf("\nPilihan anda: ");scanf("%d",&pilihan);
switch(pilihan)
{
case 1:
printf("\nX = ");scanf("%f",&X);
printf("Y = ");scanf("%f",&Y);
hasil = X + Y;
break;
case 2:
printf("\nX = ");scanf("%f",&X);
printf("Y = ");scanf("%f",&Y);
hasil = X - Y;
break;
case 3:
printf("\nX = ");scanf("%f",&X);
printf("Y = ");scanf("%f",&Y);
hasil = X * Y;
break;
case 4:
printf("\nX = ");scanf("%f",&X);
printf("Y = ");scanf("%f",&Y);
hasil = X / Y;
break;
case 5:
printf("\nX = ");scanf("%f",&X);
printf("Y = ");scanf("%d",&B);
hasil = pangkat(X,B);
break;
case 6:
printf("\nX = ");scanf("%d",&A);
printf("Y = ");scanf("%d",&B);
Z = kpk(A,B);
hasil = Z;
break;
case 7:
printf("\nX = ");scanf("%d",&A);
printf("Y = ");scanf("%d",&B);
Z = fpb(A,B);
hasil = Z;
break;
case 8:
printf("\nX = ");scanf("%d",&A);
Z = isprima(A);
if (Z==1)
printf("X adalah bilangan prima\n");
else
printf("X bukan bilangan prima\n");
break;
default:
printf("Pilihan anda salah!!");
}
if((pilihan<=7) && (pilihan>=1))
printf("Hasil = %f",hasil);

printf("\n");
printf("Ulangi operasi (Y/N)? ");
scanf("%s",&ulangi);
}while((ulangi=='Y')||(ulangi=='y'));
}

int isprima(int x)
{
int n,t=1,s;
if ( x < 2 )
{s = 0;}
else
{
for (n=2;t!=0;n++)
{
t = x%n;
}
n--;
if(n==x)
{s = 1;}
else
{s = 0;}
}
return (s);
}

float pangkat (float basis, int n)
{
int i;
float p;
p = 1;
for (i = 1; i <= n; ++i)
p = p* basis;
return p;
}


float kpk(int x, int y)
{
int w=1,n;
int z;
if (x < y)
{
for (n=1; w != 0; n++)
{ z = y * n;
w = z % x;
}
}
else
{
for (n=1; w != 0; n++)
{ z = x * n;
w = z % y;
}
}
return (z);
}


float fpb(int x,int y)
{
int sisabagi;
float hasil;
if(y<=x && x%y==0)
{
return(y);
}
else if(x<y)
{
hasil=fpb(y,x);
return(hasil);
}
else
sisabagi=x%y;
hasil=fpb(y,sisabagi);
return(hasil);
}

Read more...

Deklarasi, Input, dan Output Structure pada Bahasa C

Structure adalah sebuah tipe data yang bisa menampung banyak tipe data yang berbeda. Dengan structure kita seperti membuat tipe data kita sendiri. Structure terdiri dari beberapa anggota. Anggota dari structure disebut member, member inilah yang merupakan variable biasa, yang menampung data sebenarnya. Member dalam sebuah structure bisa terdiri dari tipe data yang berbeda, misalnya pointer, integer, character, dan lain-lain. Berikut ini contoh structure.

#include <stdio.h>
main()
{
struct mahasiswa //deklarasi structure
{
char nama[30];
char nim[10];
int sks;
int umur;
}data;

printf("Masukan data mahasiswa:\n"); //input data mahasiswa
printf("Nama (tanpa spasi): ");scanf("%s",&data.nama);
printf("NIM : ");scanf("%s",&data.nim);
printf("Jumlah SKS : ");scanf("%d",&data.sks);
printf("Umur : ");scanf("%d",&data.umur);

printf("\n\nData mahasiswa yang dimasukan:"); //cetak data mahasiswa
printf("\nNama : %s",data.nama);
printf("\nNIM : %s",data.nim);
printf("\nJumlah SKS : %d",data.sks);
printf("\nUmur : %d",data.umur);
printf("\n");
}

Read more...

Saturday, October 9, 2010

Perbedaan C dan C++ (bag. II)

Salah satu perbedaan yang paling sering ditemui adalah bahasa C memperbolehkan penugasan (assignment) pointer bertipe void* ke pointer bertipe lain tanpa resiko apapun. Sedangkan dalam bahasa C++, hal ini tidak dapat dilakukan. Permasalahan ini sering ditemui apda kode bahasa C yang menggunakan alokasi memory (malloc). Sebagai contoh, kode berikut ini valid di bahasa C, tetapi tidak di bahasa C++:

void* ptr;
int *x = ptr; /*konversi langsung dari void* ke int* */


atau kode lain:

int *y = malloc(sizeof(int) * 5); /*konversi langsung dari void* ke int* */

Agar kode yang dituliskan bisa dikompilasi dengan benar di bahasa C dan C++, kita harus menggunakan kode yang jelas, seperti contoh:

void* ptr;
int *x = (int *) ptr;
int *y = (int *) malloc(sizeof(int) * 5);


Masalah lain yang dihadapi dalam menyetarakan bahasa C dan C++ adalah bertambahnya kata tercadangkan dalama bahasa C++. Hal ini membuat kata-kata yang semula bisa digunakan sebagai identifier di bahasa C, tidak lagi bisa digunakan di bahasa C++. Sebagai contoh:

struct template
{
int new;
struct template* class;
};


kode di atas adalah kode yang benar dalam bahasa C, tetapi tidak benar dalam bahasa C++. Karena kata-kata "template", "new", dan "class" sudah dipesan (dicadangkan).

Selain yang sudah disebutkan di atas, masih banyak syntax-syntax lain pada bahasa C yang tidak bisa digunakan atau yang memberikan hasil yang berbeda di bahasa C++. Beberapa contohnya:

  • Operator koma bisa memberikan "l-value" pada bahasa C++, teteapi tidak pada bahasa C.
  • Bahasa C tidak mengijinkan typedef digunakan berulang di scope yang sama, sedangkan C++ memperbolehkan penggunaan typedef secara berulang.
  • Konstanta enumerasi selalu bertipe int pada bahasa C, sedangkan pada bahasa C++ merupakan tipe yang berbeda, dan mungkin memiliki ukuran yang berbeda dengan yang bertipe int.
  • Identifier pada C++ tidak boleh menggunakan tanda underscore ( "_" ) dua kali atau lebih secara berurutan di posisi manapun, sedangkan pada bahasa C hanya tidak boleh digunakan di awal nama.
  • C++ merubah sebagian fungsi pustaka standar untuk menambahkan const pemilih. Contohnya, strchr mengembalikan nilai char* pada bahasa C, tetapi mengembalikan nilai const char* pada C++
Selain yang sudah saya sebutkan, masih banyak lagi perbedaan syntax antara bahasa C dan C++. Namun biasanya perbedaan ini terletak pada tingkat advance, untuk tingkat basic mungkin tidak ada perbedaan yang signifikan.

Read more...

Sunday, October 3, 2010

Fungsi Mengecek Bilangan Prima

Dalam matematika, bilangan prima adalah bilangan asli yang lebih besar dari 1, yang faktor pembaginya adalah 1 dan bilangan itu sendiri. 2 dan 3 adalah bilangan prima. 4 bukan bilangan prima karena 4 bisa dibagi 2. Saya telah membuat kode program dengan bahasa C untuk menguji apakah suatu bilangan termasuk bilangan prima atau tidak. Berikut adalah kode programnya.

#include <stdio.h>
int isprima(int x);
main()
{
int a,s;
printf("Masukan bilangan: ");scanf("%d",&a);
printf("Bilangan prima: ");
s = isprima (a);
if (s == 0)
{printf("TIDAK");}
else
{printf("YA");}
printf("\n");
}

int isprima(int x)
{
int n,s,t=1;
if ( x < 2 )
{s = 0;}
else
{
for (n=2;t!=0;n++)
{
t = x%n;
}
n--;
if(n==x)
{s = 1;}
else
{s = 0;}
}
return (s);
}

Read more...

Fungsi Mencari KPK dengan Bahasa C

Dalam aritmetika dan teori bilangan, kelipatan persekutuan terkecil (KPK) dari dua bilangan adalah bilangan bulat positif terkecil yang dapat dibagi habis oleh kedua bilangan itu. Dalam bahasa Inggris KPK dikenal dengan Least Common Multiple (LCM), sering dijuga disebut sebagai Lowest Common Multiple (LCM) atau Smallest Common Multiple (SCM). Saya telah membuat aplikasi dengan bahasa C untuk mencari KPK dari dua bilangan, berikut kode programnya.

#include <stdio.h>
int kpk(int x, int y);
main()
{
int a,b,c;
printf("Masukan dua buah bilangan\n");
printf("Bilangan pertama : ");scanf("%d",&a);
printf("Bilangan kedua : ");scanf("%d",&b);
c = kpk(a,b);
printf("KPK dari kedua bilangan adalah : %d\n",c);
}

int kpk(int x, int y)
{
int w=1,z,n;
if (x < y)
{
for (n=1; w != 0; n++)
{ z = y * n;
w = z % x;
}
}
else
{
for (n=1; w != 0; n++)
{ z = x * n;
w = z % y;
}
}
return (z);
}

Read more...

Perbedaan C dan C++

Bahasa pemrograman C dan C++ memiliki relasi yang sangat dekat. Hal ini karena bahasa C++ memang dikembangkan dari bahasa C. karena hal inlah seringkali kode bahasa c ditulis dengan IDE (Integrated Development Environment / Lingkungan Pengembangan Terintegrasi). terkadang juga dicampur dengan kode C++ dan dikompilasi dengan compiler dari C++. Meskipun sebagian besar kode bahasa C dapat dikompilasi sebagai kode C++, terdapat beberapa perbedaan yang menyebabkan bahasa C++ bukanlah semata-mata peningkatan dari bahasa C. Bahasa C++ memberikan banyak fitur yang tidak terdapat pada bahasa C.

Bjarne Stroustrup, penemu dari bahasa C++ memeang menyarankan agar perbedaan dari C dan C++ dikurangi sebanyak mungkin agar dapat memaksimalkan antar-operasi dari kedua bahasa tersebut. Ahli lain berpendapat bahwa, karena C dan C++ adalah dua bahasa pemrogaman yang berbeda, persamaan diantara keduanya memang bermanfaat, tetapi tidak vital. Berdasarkan dari pendapat kedua, usaha untuk mengurangi perbedaan dari kedua bahasa tidak seharusnya mengurangi usaha untuk mengembangkan kedua bahasa secara terpisah.

Bebrapa syntax dari bahasa c yang tidak valid atau memberikan hasil yang berbeda apabila dijalankan pada baahsa C++ antara lain:

  • Identifier dari bahasa C++ tidak boleh menggunakan tanda underscore ( "_" ) secara berurutan di posisi manapun. Identifier dari baahsa C tidak boleh dimulai dengan underscore, tetapi boleh menggunakannya secara berurutan di posisi lain.
  • Pada bahasa C dan C++, keduanya bisa mendefinisikan struct secara bersarang atau nested struct (struct dalam struct) tapi cakupan dari keduanya berbeda. Pada C++, nested struct di definisikan hanya di dalam cakupan dari struct diluarnya.
  • Penggunaan fungsi tanpa prototype tidak diperbolehkan pada bahasa C++, meskipun ditulis di atas fungsi main().
Pada blog saya ini, saya hanya akan membuat atau menjelaskan mengenai C++ yang berbeda dengan bahasa C. Hal ini karena mengenai teori dasar seperti seleksi, perulangan, dan urutan, atau dasar-dasar pemrograman yang lain memang tidak berbeda syntax antara bahasa C dan C++

Read more...

Followers

followers

  © Blogger templates ProBlogger Template by Ourblogtemplates.com 2008

Back to TOP