String

C tidak mempunyai tipe data string, namun C menggunakan array dengan tipe char sebagai gantinya. C menggunakan karakter khusus untuk menandai akhir dari string yaitu karakter nol (‘\0’).

Deklarasi

Beberapa bentuk deklarasi dari array tipe char :

char data1[6] = {‘H’,’e’,’l’,’l’,’o’,’\0′};
char data2[6] = “there”;
char data3[] = “Belajar C”;
char data4[7] = “No NULL”;

data1 adalah deklarasi string yang mengharuskan kita menambahkan karakter ‘\0’ pada akhir array. Kalau kita tidak menyertakan karakter null, maka data1 bukan merupakan string tetapi array tipe char.

data2 adalah deklarasi string dengan maksimum jumlah karakter adalah 5 sedangkan karakter ke 6 secara otomatis diisi dengan karakter null (‘\0’) oleh compiler.

data3 adalah deklarasi string dengan tidak menentukan panjangnya. Dalam hal ini compiler juga akan menambahkan karakter null.

data4 bukan string karena ukuran array adalah 7 dan semua terisi dengan karakter non null, sehingga akan menjadi array tipe char.

Mencetak String

Fungsi-fungsi standar seperti printf() dapat digunakan untuk mencetak string ke layar dengan menggunakan format %s.

char str[6] = “Hello”;
printf(“%s”,str);

Kita juga dapat mencetak string dengan mengakses setiap karakter dan mencetak satu persatu ke layar dengan spesisikasi format %c :

char str[6] = “Hello”;
int i=0;
while(str[i] != ‘\0’ )
{
        printf(“%c”,str[i]);
        i=i+1;
}

String Assignment

String tidak dapat di-assignment atau dikopi dengan operator = karena nama string adalah seperti array yang merupakan pointer konstan. C menyediakan fungsi standar untuk memudahkan meng-kopi dari satu string ke string yang lain.

char*strcpy(char*dest,const char*src);

Fungsi ini dapat mengkopi string dari parameter yang dinamai src ke parameter yang dinamai dest.

strcpy() melakukan pengkopian string tanpa memeriksa ukuran array dest, jadi kemungkinan akan overflow jika ukuran dest kurang mencukupi.

char buffer[10];
strcpy(buffer,”Hello”); //ok
strcpy(buffer,”Hello there, how are you?”); //overflow – tidak ok

char*strncpy(char*dest,const char*src,size_ t count);

Fungsi ini lebih aman dari strcpy() karena juga memperhitungkan jumlah maksimal karakter yang dikopi. Fungsi ini akan terus melakukan pengkopian karakter sampai ditemukan karakter null atau sebanyak maksimum karakter yang ditentukan. Jika strncpy() lebih dulu mencapai jumlah maksimum, maka karakter null tidak akan disertakan. Untuk itu kita harus menambahkannya secara manual.

char buffer[10];
strncpy(buffer,”Hello”,9); //ok
strncpy(buffer,”Hello there, how are you?”,9); //Maksimal 10 karakter
buffer[9] = ‘\0’; //karakter ke 9 diganti null

Manipulasi String

Kita dapat melakukan banyak hal dengan string misalnya kita dapat mengetahui panjang suatu string, mencari karakter tertentu, membandingkan dua buah string, serta mencari Fungsi-fungsi ini dideklarasikan dalam header file string.h

size_t strln(const char*str);

Fungsi ini digunakan untuk menentukan sebuah panjang sebuah string tanpa termasuk karakter null.

Contoh :

strln(“Hello”); //menghasilkan 5

char*strrev(char*str);

Fungsi ini berguna untuk membalik semua urutan karakter dalam string str kecuali karakter null.

Contoh :

char buffer[20] = “Hello”;
strrev(buffer); //buffer menjadi = olleH jika di output

char*strcat(char*dest,const char*src);

Fungsi ini digunakan untuk menambahkan string ke dalam buffer string yang lain.

Contoh :

char buffer[80] = “Hello”;
strcat(buffer,”C!”); //Menghasilkan = Hello C! jika di output

char*strchr(const char*str,int c);

Fungsi ini digunakan untuk mencari sebuah karakter pertama dalam string yang sama dengan karakter dalam parameter c dan memberikan nilai balik berupa pointer ke karakter yang ditemukan.

Contoh :

char buffer[80] = “Bahasa Pemrograman C”;
printf(“%s”,strchr(buffer,’P’)); //menampilan Pemrograman C

Untuk mencari karakter terakhir dapap menggunakan strrchr().

int strcmp(const char*str1,const char*str2);

Dalam C kita tidak dapat membandingkan dua buah string dengan menggunakan operator == karena dengan cara itu yang kita bandingkan sebenarnya adalah lokasi memori atau alamat dari variabel itu.

C standard memiliki fungsi untuk membandingkan dua buah string str1 dan str2 dengan memperhitungkan huruf kecil atau besar (case sensitive) sesuai dengan urutanya dalam abjad yang akan menghasilkan nilai balik.

  • Negatif Jika str1 < str2 menurut abjad
  • Nol Jika str1 = str2
  • Positif Jika str1 > str2 menurut abjad

Contoh :

strcmp(“Crash”,”Course”); //Hasilnya positif

Untuk membandingkan dua buah string tanpa memandang case atau case insensitive, dapat menggunakan fungsi stricmp() dengan parameter yang sama.

char*strstr(const char*str,const char*sub);

Fungsi ini berguna untuk mencari substring sebuah string dan jika berhasil memberikan pointer ke awal substring dan null jika gagal.

Pembandingan yang dilakukan adalah case sensitive.

Contoh :

char buffer[80] = “Ini pertama kali aku belajar C”;
char * psub;
psub = strstr(buffer,”kali”);
if (psub != NULL)
{
        printf(“Substring : %s\n”,psub);
}

akan mencetak hasil

kali aku belajar C

size_t strspn(const char*str,const char*cset);

Fungsi ini berguna untuk menentukan lokasi atau index karakter pertama dalam str yang tidak terdapat dalam cset.

Contoh :

char cset[20] = “1234567890”;
char str[20] = “123456h56”;
size_t pos;
pos = strspn(str,cset);
printf(“Not match at : %d”,pos);

akan mencetak nilai 6 yaitu posisi karakter h.

char*strtok(char*str,const char*delim);

fungsi ini berguna untuk mengekstrak substring-substring dalam string yang dipisahkan oleh karakter-karakter dalam parameter delim.

Fungsi ini dapat digunakan sebagai tokenizer dalam pembuatan compiler.

Penggunaan fungsi ini adalah dengan melewatkan pointer ke suatu buffer yang mengandung string str dan parameter delim yang sudah diinisialisasi dengan karakter-karakter pemisah antara substring. Pada pemanggilan berikutnya, lewatkan NULL ke parameter str, maka akan diperoleh substring-substring berikutnya sampai memberikan nilai balik NULL.

Contoh :

char delim[] = ” \t\n”; //pemisah : spasi, tab atau karakter 13
char buffer[80] = “Ini pertama kali aku belajar C”;
char * token;
token = strtok(buffer,delim);
while(token != NULL)
{
        printf(“%s\n”,token);
        token=strtok(NULL,delim);
}

Akan menghasilkan

Ini
pertama
kali
aku
belajar
C

Untuk fungsi-fungsi manipulasi string yang lain dapat dilihat pada referensi standar C atau juga dapat juga menggunakan yang disertai oleh pembuat compiler yang biasanya jumlahnya sangat banyak serta dengan dokumentasi yang jelas.

Array

Program sering ditulis untuk memanipulasi kumpulan data dengan tipe yang sama misalnya dalam perhitungan statistik dan matrik. Dalam bahasa C kumpulan data itu disebut array.

Deklarasi Array

Array dideklarasikan dengan menggunakan [ ]

int prices[5];

Dengan deklarasi itu, prices akan menunjuk ke kumpulan data dengan 5 item yang semuanya bertipe integer (int).

Beberapa hal yang perlu diperhatikan tentang array :

  • Nama array adalah pointer yang konstan (tidak dapat di-reassign) yang menyimpan alamat awal dari suatu kumpulan data.
  • Item-item atau elemen-elemen dalam array harus mempunyai tipe data yang sama.
  • Lokasi penyimpanan data di memori adalah kontinyu, jadi item pertama akan diikuti oleh item kedua dan seterusnya.
  • Ukuran array adalah tetap dan tidak bisa diubah setelah deklarasi.

Inisialisasi array

Deklarasi array dapat diikuti dengan inisialisasi misalnya :

int prices[5] = {100,200,300,400,500};
float factors[] = {0.2 , 0.3 , 0.4};

price mendeklarasikan array dari 5 tipe data integer dan diikuti dengan inisialisasi.

factors adalah deklarasi dengan tidak menentukan jumlah elemen yaitu dengan tanda [ ]. Jumlah elemen dalam inisialisasi array itu yang menentukan ukuran array.

Mengakses elemen array

Masing-masing elemen dalam array dapat diakses dengan menggunakan bilangan positif mulai dari 0. contoh:

int a[5] = {1,2,3,4,5};
printf(“Data ke-1 : %d\n”,a[0]);

Perhatikan kembali bahwa indeks array dalam C selalu mulai dari nol, jadi elemen pertama adalah elemen dengan index nol. Dan yg perlu diperhatikan adalah bahwa C tidak akan melakukan bound-checking atau pengujian terhadap index yang diterapkan apakah termasuk dalam jangkauan array atau tidak sehingga kita harus berhati-hati dalam mengakses elemen dalam array.

Mengakses elemen array dengan index adalah salah satu cara yang bisa dilakukan. Seperti telah disebutkan bahwa nama array adalah pointer ke elemen pertama atau elemen dengan index nol, jadi kita juga mempunyai alternatif untuk mengakses elemen dalam array menggunakan looping :

int a[5] = {1,2,3,4,5};
int p = 0;
while (p<5)
{
        printf(“%d\n”,a[p]);
        p=p+1;
}

Array dua dimensi “Multidimensional”

C tidak menyediakan array dimensional, namun kita dapat membuat array dari array yang nampak seperti array multidimensi.

Contoh:

int a[5][5]={{1,3,5,6,3},{7,4,3,6,8},{3,4,7,8,9},{9,6,5,3,7},{3,4,5,2,3}};
int p,j;
p=0;
while (p<5)
{
        j=0;
        while(j<5)
        {
                printf(” %d “,a[p][j]);
                j=j+1;
        }
        printf(“\n”);
        p=p+1;
}

a dideklarasikan sebagai array dari 5 array 5 integer dan pada baris selanjutnya diinisialisasi dengan nilai tertentu dalam sebuah iterasi.

Dapat dilihat pengaksesan array dari array juga sangat konsisten dengan array biasanya yaitu dengan memandang setiap array memiliki index yang dimulai dari nol, jika int a[5] maka a mempunyai elemen sebanyak 5 dan index untuk mengakses elemennya mulai dari 0 sampai dengan 4.

Control Flow

Program komputer ditulis untuk menyelesaikan suatu tugas. Dalam prosesnya sebuah program akan menerima masukan selanjutnya melakukan perbandingan, pengujian,penerapan algoritma tertentu dan menampilkan hasil proses itu dalam bentuk informasi yang berguna(opsional). Untuk memahami proses itu kita perlu mengetahui bagaimana masing-masing sub-proses itu dilakukan. Secara umum program melakukan proses itu dengan mengikuti suatu alur(flow) tertentu. Pada bab ini akan dibahas bagaimana alur itu diikuti dengan mengenalkan kepada anda tentang komparasi dan iterasi atau perulangan.

Pengambilan Keputusan dengan if-else

Bentuk umumnya dapat ditulis dalam bentuk :

if (kondisi1)
       ekspresi1;
else if(kondisi2)
       ekspresi2;
else
       ekspresi3;

atau multibaris harus disertakan tanda kurung {} ,

if (kondisi1)
{
       ekspresi;
       …
}
else if(kondisi2)
{
       ekspresi;
       …
}
else
{
       ekspresi;
       …
}

Pengujian dilakukan mulai dari kondisi1 berlanjut ke kondisi2 dan seterusnya. Jika semua tidak dipenuhi maka ekspresi terakhir setelah else akan dijalankan.

Kesalahan yang sering terjadi adalah penulisan pernyataan if dengan diakhiri dengan semicolons (;) misalnya:

if (a > b);
       ekspresi1;

dengan adanya “;” setelah pengujian kondisi itu, maka akan dianggap sebagai akhir dari sebuah ekspresi sehingga baris ekspresi1 akan selalu dijalankan tanpa memandang hasil pengujian kondisi.

Pernyataan if-else juga dapat nested yaitu berada dalam pernyataan if-else yang lain.

Contoh :

int a = 100;
if (a > 0)
{
       if (a > 100)
              printf(“a adalah besar\n”);
       else
              printf(“a adalah sedang\n”);
}

Pengujian kondisi dengan switch

Jika pengujian melibakan banyak kondisi dengan  tipe integer (bilangan bulat), maka penggunaan if-else menjadi kurang efisien. C mempunyai kata kunci switch untuk melakukan pengujian dengan banyak kondisi dengan bentuk :

switch(nilai_integer)
{
       case nilai1:ekspresi1;
       break;
       case nilai2:ekspresi2;
       break;
       …
       default:ekspresi_default;
       break;
}

kata kunci break berguna untuk segera keluar dari blok switch sehingga begitu setiap ekspresi dijalankan, maka kontrol akan dipindahkan keluar switch atau dengan kata lain untuk menjamin hanya satu ekspresi saja yang dijalankan.

default berperan seperti else yaitu sebagai alternatif dari suatu kondisi yang tidak dipenuhi.

Namun ada saatnya dimana break tidak digunakan , misalnya untuk menjalankan ekspresi yang sama untuk beberapa kondisi.

Contoh penggunaan switch :

#include <stdio.h>
#include <stdlib.h>

///Kamus
       char n = ‘E’;
///Deskripsi
int main()
{
printf(“Masukkan Sebuah Nilai : “);  scanf(“%c”,&n);
printf(“%c\n”,n);
switch(n)
{
       case ‘A’:case ‘a’:
              printf(“Nilai antara 80-100\n”);
              break;
       case ‘B’:case ‘b’:
              printf(“Nilai antara 70-80\n”);
              break;
       case ‘C’:case ‘c’:
              printf(“Nilai antara 60-70\n”);
              break;
       case ‘D’:case ‘d’:
              printf(“Nilai kurang dari 60\n”);
              break;
       default : printf(“Kriteria nilai tidak ada\n”);
}

       return 0;
}

While

Seringkali dibutuhkan untuk melaksanakan tugas berulang sampai suatu kondisi tetentu tercapai. C memiliki tiga jenis loop  atau perulangan, tapi yang akan dibahas adalah while-do saja yang memiliki bentuk :

while (kondisi)
       ekspresi;

atau

while (kondisi)
{
       ekspresi;
}

selama kondisi bernilai benar, maka ekspresi akan dijalankan terus menerus. Biasanya ekspresi itu sendiri mengandung perintah untuk membuat kondisi menjadi false sehingga loop berhenti.

Contoh :

int a = 10;
printf(“Mulai\n”);
while (a > 0)
{
        printf(“a = %d\n”,a);
        a=a-1;
}
printf(“akhir\n”);

Program ini akan mencetak nilai a terus menerus sampai nilai a sama dengan 0 yang tidak akan ditampilkan.

Seperti hal lainnya dalam C, kesalahan umum dalam penulisan loop ini misalnya dengan meletakkan semicolon (;) setelah while :

while (kondisi);
{
       ekspresi;
}

yang menyebabkan program akan terjebak dalam menjalankan loop tak terhingga (infinite loop) karena kondisi tidak pernah diperbaharui untuk menghentikan loop.

Break

Kata kunci ini dapat anda gunakan untuk keluar dari suatu loop terdekat.

Contoh :

int a = 0;
for (;;)
{
        printf(“Masukkan Sebuah angka : “);
        if ((scanf(“%d”,&a)==1) && (a==0))
            break;
}

Continue

Berfungsi untuk menjalankan iterasi  berikutnya walaupun eksekusi program belum mencapai akhir sebuah iterasi. Misalnya program untuk melewati program untuk melewati bilangan dengan kelipatan 3 :

int a;
for (a=1;a<=10;a=a+1)
{
        if (a%3 == 0) continue;
        printf(“%d\n”,a);
}

akan menghasilkan 1,2,4,5,7,8,10.

Operator

Operator Aritmetika

Dalam setiap bahasa pemrograman selalu memiliki operator yang berguna untuk melakukan suatu operasi dgn menggunakan symbol symbol tertentu. Dalam postingan ini akan dibahas operator-operator dalam bahasa C yang dikelompokkan dalam kategori operasionalnya.

C mendukung operator untuk operasi aritmetika seperti berikut :

+             Untuk operasi penjumlahan

      –              Untuk operasi pengurangan

      *             Untuk operasi perkalian

      /              Untuk operasi pembagian

      %            Untuk mendapatkan sisa hasil bagi

perhatikan program berikut :

#include <stdio.h>
#include <stdlib.h>

///Kamus
      int i=5, j=4, k;
      float f = 5.0, g=4.0, h;

///Deskripsi
int main()
{
        k=i/j;
        h=f/g;
        h=i/j;

        return 0;
}

pada baris  k=i/j, compiler akan menggunakan pembagian integer karena kedua operand adalah tipe integer.

pada baris h=f/g, compiler akan menggunakan pembagian real(float) karena kedua operand adalah tipe real(float).

Pada baris h=i/j, compiler tetap menggunakan pembagian integer dgn mengabaikan bahwa variabel utk menampung hasilnya adalah tipe real(float). Hasil yang diperoleh akan disimpan dalam bentuk real(float).

Casting Operator

Istilah casting sering diartikan sebagai berperilaku spt sesuatu yang lain dan untuk tujuan tertentu. Perhatikan baris program berikut :

#include <stdio.h>
#include <stdlib.h>

///Kamus
      int i=5, j=4, k;
      float f;

///Deskripsi
int main()
{
      f = (float)i / j;
      f = i/(float)j;
      f = (float)i / (float)j;
      f = (float) (i / j);

      return 0;
}

Pada baris  f = (float)i / j;       f = i/(float)j;       f = (float)i / (float)j; compiler menggunakan pembagian tipe float karena salah satu operand  adalah tipe float yang secara otomatis operand yang berukuran lebih kecil akan diubah sementara menjadi float. Operasi ini disebut  type promotion.

Sedangkan pada f = (float) (i / j);  compiler tetap menggunakan pembagian integer namun hasilnya diubah ke float.

Operator Komparasi

Bahasa C dalam melakukan operasi logika menggunakan dua logika yaitu benar (true) atau salah (false) namun C tidak memiliki kata kunci khusus untuk true/false. Semua nilai yang tidak nol akan dianggap true dan nilai nol akakn dianggap false.

Logika benar dan salah ini digunakan untuk melakukan operasi perbandingan dengan berbagai kondisi yang dalam C dapat dilakukan dengan operator-operator seperti berikut :

<             Kurang dari

      <=           kurang atau sama dengan

      >             Lebih besar dari

      >=           Lebih besar atau sama dengan

      !=            Tidak sama dengan

Perhatikan contoh program berikut :

int i=10, j, k;
j = i > 5;
k = i < 2;

Hasil dari program ini akan membuat j bernilai 1 (true) karena i memang lebih besar dari 5 dan k bernilai 0 (false) karena i lebih besar dari 2.

Operator Logika

Dalam melakukan operasi perbandingan atau komparasi seringkali dilakukan untuk dua atau lebih pernyataan logika untuk menggambil sebuah keputusan. C menyediakan operator untuk melakukan perbandingan logika :

&&         Dan (and)

      ||           Atau (or)

      !              Tidak (not)

Operator-operator ini juga menganggap nilai tidak nol sebagai nilai yang benar (true) dan nol sebagai nilai yang salah (false).

contoh program :

int j=5, k=2;
if (j>10 && k<=2)

Untuk program ini, compiler tidak akan mengevaluasi k <= 2 karena operator  &&  yang akan bernilai benar hanya jika kedua operand yang dibandingkan bernilai benar(tdk nol). Jadi untuk hal ini karena j>10 bernilai salah maka compiler sudah yakin bahwa pernyataan ini bernilai salah (false). Mekanisme ini disebut short-circuit. Dengan mekanisme ini juga, compiler dapat menghasilkan program yang lebih efisien.

Sebagai saran praktis, gunakan tanda kurung untuk memisahkan masing-masing kondisi agar alur program menjadi jelas.

Bitwise Operator

Operator-operator ini digunakan untuk memanipulasi bit-bit(bitwise ) dalam sebuah variabel yang sering digunakan dalam bahasa assembly. Keberadaan operator ini sangat masuk akal karena C pertama kali dirancang untuk membuat abstraksi dari assembly dan dijuluki sebagai high level assembly.

Operator-Operator yang disediakan antara lain :

&             and

      |              or

      ~             not(negasi)

      >>           geser ke kiri

      <<           geser ke kanan

      ^             xor

Operator Kondisional

Operator ini berguna untuk menguji suatu kondisi. Operator ini mempunyai bentuk :

kondisi ? ekspresi_jika_kondisi_benar_:ekspresi_jika_kondisi_salah;

yang sama jika ditulis,

if(kondisi)
      ekspresi_jika_kondisi_benar;
else
      ekspresi_jika_kondisi_salah;

contoh :

int  a,b = 20,  c = -10;
a = (b > c)  ?  b : c;

Baris perintah itu membuat nilai a menjadi 20. Operator ini biasa disebut ternary operator.

Tipe Data Part 1

Pengertian Tipe Data Dasar 

Sebelum sampai ke jenis-jenis tipe data di dalam bahasa C, sebaiknya kita membahas sedikit pengertian dari tipe data itu sendiri. Apa itu tipe data?

Mengutip dari wikipedia:

 “Tipe data atau kadang disingkat dengan ‘tipe’ saja adalah sebuah pengelompokan data untuk memberitahu compiler atau interpreter bagaimana programmer ingin mengolah data tersebut”

Secara sederhana, tipe data adalah cara kita memberitahu komputer untuk mengelompokkan data berdasarkan apa yang dipahami oleh komputer.

Sebagai contoh, misalkan saya memiliki data berupa angka. Agar bisa dipahami di bahasa C, data ini harus disimpan ke dalam variabel yang sudah di set agar bisa menyimpan angka. Di dalam bahasa C, terdapat tipe data integer dan float yang bisa diisi dengan angka. Sedangkan jika data tersebut berupa huruf, bisa disimpan ke dalam tipe data char.

  • Jenis-jenis Tipe Data dalam Bahasa C

Terdapat 8 tipe data di dalam bahasa pemrograman C yang bisa dibagi ke dalam 4 kelompok besar: tipe data dasartipe data turunantipe data bentukan, dan tipe data void.

Tetapi yang akan kita bahas kali ini adalah tipe data dasar dahulu, untuk tipe data turunantipe data bentukan, dan tipe data void akan dibahas pada update berikutnya.

 #Tipe Data Dasar

Sesuai dengan namanya, tipe data dasar adalah tipe data paling dasar yang tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis tipe data dasar:

  • Char: tipe data yang berisi 1 huruf atau 1 karakter.
  • Integer: tipe data untuk menampung angka bulat.
  • Float: tipe data untuk menampung angka pecahan (real).

Didalam notasi “float” ditulis dengan “real”.

Tipe data dasar dasar disebut juga sebagai Primary Data Type, Fundamental Data Types atau Basic Data Type.

Contoh penggunaan:

Sebelum membuat program terlebih dahulu kita membuat notasinya. Notasi berfungsi untuk mempermudah pembuat dan orang lain membaca masalah dan menyelesaikannya

–> Dalam Notasi:

///Judul : Tipe data

///Kamus :

num = 12 <– integer
fl = 1.25 <– real
ch = ‘a’ <– char
name[5] = “Aku” <– char ///”[5]” adalah jumlah character maksimal yang di inputkan

///Deskripsi :

Output <– num
Output <– fl
Output <– ch
Output <– name

–> Dalam bentuk program :

#include <stdio.h>
#include <stdlib.h>

///Judul : Tipe Data Dasar

///Kamus :
int num = 12;
float fl = 1.25;
char ch = ‘a’;
char name[5] = “Aku”;

///Deskripsi
int main()
{
printf(“%d \n”,num);
printf(“%f \n”,fl);
printf(“%c \n”,ch);
printf(“%s \n”, name);
return 0;
}

–> Output:
12
1.250000
a
Aku

Sekian Postingan saya tentang tipe data dasar untuk update selanjutnya kita akan membahas Tipe Data Part 2 tentang tipe data turunan.

Apa Itu Pemrograman Bahasa C?

Halo teman-teman, ini tulisan pertama saya, pada kesempatan ini sebelum belajar bahasa pemrograman yang pertama yaitu bahasa C, mari kita mengerti dulu apa itu Pemrograman Bahasa C.

  • Pengertian

 

Menurut Wikipedia Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.

Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C. Continue reading