[LENGKAP] Belajar Bahasa C: Pengenalan, Istilah Dasar dan Cara Penggunaan

belajar bahasa c untuk pemula

Belajar Bahasa C
 - Seperti yang kita tahu, sesuatu hal yang berhubungan dengan sistem dan komputasi selalu diselesaikan dengan bahasa pemograman. Program-program yang telah kita gunakan sampai saat ini tidak lepas dari bahasa pemograman misalnya aja sistem operasi Android. Walaupun kita tidak melihat secara langsung script atau code saat menggunakan smartphone, tapi hal yang membentuk itu semua mulai dari User Interface, User Xperience dan lainnya hanya bisa dibentuk oleh bahasa pemograman. 

Salah satunya adalah Bahasa C, apa kamu pernah mendengar atau mempelajarinya? Bahasa pemograman C adalah sebuah bahasa pemograman yang dibuat pada tahun 1972 oleh Dennis Ritchi untuk Sistem Operasi Unix di Bell Telephone Laboratories. Walaupun awalnya untuk memprogram sistem dan jaringan komputer namun, sekarang banyak orang menggunakan bahasa C untuk mengembangkan software aplikasi.

Banyak platform sistem operasi dan arsitektur yang menggunakan bahasa C karena Compiler yang sangat populer telah tersedia. Oleh karena itu, Bahasa C memengaruhi bahasa populer lainnya seperti C++ yang  merupakan hasil pengembangan dari bahasa C.



Alasan Menggunakan Bahasa C

Seperti yang kita tahu mungkin bahasa c terlihat lebih kompleks daripada bahasa phyton. Terlihat dari bagaimana kedua bahasa pemograman ini menampilkan perintah "Hello World". 

hello world phyton

Walaupun begitu, ada beberapa alasan programer menggunakan bahasa C untuk menyelesaikan sistem dan projek mereka, diantaranya:

  • Bahasa C merupakan bahasa pemograman yang powerful dan fleksibel terlihat dengan bisa menyelesaikan program-program yang besar salah satunya adalah sistem operasi.
  • Bahasa C bisa dijalankan dibeberapa sistem operasi yang berbeda.
  • Bahasa C merupakan bahasa yang populer sehingga library dan fitur yang diperlukan telah tersedia karena banyak programmer yang menggunakan pemograman bahasa C.
  • Bahasa C bersifat modular dimana terdiri dari function yang bisa digunakan kembali untuk pembuatan program lainnya tanpa harus menulis ulang implementasinya.
  • Bahasa C merupakan bahasa dengan tingkat menengah sehingga lebih mudah dalam pembuatan program antar muka (interfacing) ke hardware

Sebelum mencoba mempraktekan bahasa C, lebih baik kamu mengenal beberapa istilah dasar yang mungkin akan kita lihat saat mempelajari Bahasa C.


Istilah Dasar dalam Bahasa C

Compiler

Compiler merupakan sebuah program yang berguna untuk menerjemahkan dari bahasa pemograman yang kita pakai ke bahasa pemograman lain. Sistem kerjanya seperti kumpulan kode program yang ditulis dalam suatu bahasa pemrograman tertentu akan diterjemahkan oleh kompilator ke dalam bahasa assembly yang selanjutnya akan diterjemahkan lagi menjadi kode objek sehingga perintah-perintahnya akan dikenali oleh komputer (dalam hal ini mesin).


Kerangka Program Bahasa C

Bahasa C merupakan bahasa prosedural yang menerapkan konsep runtutan dimana program akan dieksekusi secara berurutan perbaris dari atas sampai bawah. Apabila fungsi-fungsi lain ditulis dibawah bagian fungsi utama maka wajib memasukkan bagian prototype. Namun, apabila kita menuliskan fungsi-fungsi dibagian atas sebelum fungsi utama maka tidak perlu memasukkan bagian prototype.

a. Bentuk tanpa pengembalian nilai ke sistem operasi

Pada bentuk kerangka ini, kita akan menggunakan bentuk void main (void) yang berarti yang berarti kerangka tersebut tidak mengembalikan nilai ke sistem operasi. Kata kunci void ini bersifat opsional artinya bisa tuliskan ataupun tanpa ditulis.

void main(void) {
Statemen_ yang_akan_dieksekusi;
...
}

 b. Bentuk dengan mengembalikan nilai 0 ke sistem operasi

Dalam bentuk ini, kita akan menggunakan int main (void) yang artinya kerangka tersebut dapat mengembalikan nilai 0 ke sistem operasi (return 0). Kata kunci void ini opsional namun biasanya digunakan ketika didalam fungsi yang tidak memiliki parameter.

int main(void) {
Statemen_yang_akan_dieksekusi;
...
return 0;
}

 Dan berikut terdapat kerangka lengkap program bahasa C:

#include <stdio.h>
...
/* Prototipe fungsi */
tipe_data nama_fungsi1(parameter1, parameter2, ...);
tipe_data nama_fungsi2(parameter1, parameter2, ...);
...
/* Fungsi utama */
int main(void) {
Statemen_yang_akan_dieksekusi;
...
return 0;
}
/* Implementasi fungsi */
tipe_data nama_fungsi1(parameter1, parameter2, ...) {
Statemen_yang_akan_dieksekusi;
...
}
tipe_data nama_fungsi1(parameter1, parameter2, ...) {
Statemen_yang_akan_dieksekusi
...
}

 Serta ada juga contoh bentuk lainnya dari kerangka lengkap program bahasa C:

#include <stdio.h>
...
/* Fungsi-fungsi yang dibutuhkan ditulis sebelum fungsi
main() sehingga tidak membutuhkan prototipe fungsi */
tipe_data nama_fungsi1(parameter1, parameter2, ...) {
Statemen_yang_akan_dieksekusi;
...
}
tipe_data nama_fungsi1(parameter1, parameter2, ...) {
Statemen_yang_akan_dieksekusi;
...
}
...
/* Fungsi utama */
int main(void) {
Statemen_yang_akan_dieksekusi;
...
return 0;
}


File Header Bahasa C

File Header adalah file dengan ektensi h (*.h) yaitu sebuah file bantuan untuk menyimpan daftar-daftar fungsi yang akan digunakan. Singkatnya, file header dapat memberikan sebuah fitur atau fungsi yang terdapat pada library untuk digunakan pada program bahasa C.

Jumlah file header tergolong banyak dan memiliki fungsinya masing-masing.File header standar yang digunakan untuk proses input/output adalah <stdio.h>


Mengenal Fungsi Prinf() dan Scanf()

Dalam sebuah pemograman tidak lepas dari proses input dan output sehingga kamu yang pernah mengenal bahasa C mungkin tidak akan asing dengan fungsi prinf() yang berguna menampilkan keluaran dan dan scanf() yang berguna untuk membaca masukkan data.

Terdapat penulisan fungsi printf() dan scanf(0 yang harus kamu ketahui:

printf(const char *format, ...); 

scanf(const char *format, ...);

Contoh Program Printf, sebagai berikut:

#include <stdio.h>
int main(void)
{
/* Mencetak teks ke layar */
printf(“Saya sedang belajar bahasa C”);
return 0;
}

Tampilan saat program diatas dijalankan adalah:

penggunaan printf bahasa c


Contoh Program Scanf, sebagai berikut:

#include <stdio.h>
int main(void)
{
/* Mendeklarasikan variabel X yang bertipe int */
int X;
/* Menampilkan teks sebagai informasi bagi
pengguna program (user) */
printf("Masukkan sebuah bilangan bulat : ");
/* Membaca data masukan dari keyboard */
scanf("%d", &X);
/* Menampilkan kembali data yang telah dimasukkan
dari keyboard */
printf("Anda telah memasukkan bilangan %d", X);
return 0;
}

Tampilan saat program diatas dijalankan adalah:

penggunaan scanf bahasa c


Daftar Karakter

Daftar karakter ini digunakan untuk menunjukan tipe data yang penulisannya diawali dengan tanda %. Misalnya %d yang menunjukan tipe data int yang berfungsi menampilkan tipe bilangan bulat dalam bentuk desimal (basis 10), berikut daftar karakternya:

daftar karakter bahasa c

Berikut contoh aplikasi tipe data:

#include <stdio.h>
int main(void){
printf("Karakter: %c, Bilangan bulat: %d, String: %s, Bilangan riil: %2.3f", 'A', 23, "Mira", 19.4);
return 0;
}

Dan tampilan setelah dijalankan sebagai berikut:

daftar karakter bahasa c


Daftar Konstanta Karakter

Program ini bisa dikatakan sebagai escape sequence dimana setelah mencetak sequence, selanjutnya compiler akan membaca karakter baru tergantung huruf setelah \, misalnya \n untuk membuat baris baru. Sequence lainnya bisa kamu lihat pada tabel dibawah ini:

daftar konstanta bahasa c


contoh aplikasi konstanta karakter:

#include <stdio.h> int
main(void) {
printf("Judul\t\t:\"Pemrograman Menggunakan Bahasa C\"\n");
printf("Penulis\t\t: Robby Jungjunan\n");
printf("Penerbit\t: ITENAS Bandung");
return 0;
}

Dan tampilan setelah dijalankan sebagai berikut:

konstanta karakter bahasa c



Program Komentar Bahasa C

Komentar dalam bahasa c merupakan sebuah naskah program dimana tidak akan dieksekusi atau diproses oleh compiler artinya saat proses kompiler berlangsung, naskah/teks program ini akan diabaikan. Ini berguna untuk programmer yang melakukan dokumentasi, debugging, maintenance sehingga alur proses dari sebuah [program menjadi lebih mudah untuk di manage.


Penulisan komentar dalam bahasa C

1. Pemakaian tanda /*.....*/ digunakan pada komentar yang lebih dari 1 baris

/*Ini adalah komentar program yang
banyaknya dua baris */

2. Pemakaian tanda // digunakan pada komentar dalam 1 baris

// ini adalah komentar program dalam 1 baris


Program Variabel Bahasa C

Variabel adalah tempat untuk menyimpan nilai dari tipe data tertentu. Tipe data adalah jenis nilai yang akan disimpan didalam variabel. Singkatnya, variabel merupakan sebuah wadah dan tipe data adalah benda yang akan disimpan didalam wadah tersebut. Sifatnya dinamis sehingga nilai masih bisa diubah selama program berjalan


Penulisan variabel dalam bahasa C

Format penulisan program variabel dalam bahasa c sebaga berikut:

tipe_data nama_variabel;

Contoh program variabel, sebagai berikut:

int x; // Mendeklarasikan variabel x dengan tipe data int
float y; /* Mendeklarasikan variabel y dengan tipe data
float */
char z; /* Mendeklarasikan variabel z dengan tipe data
char */

Dalam penulisan variabel pada bahasa C, ada beberapa peraturan penulisan sehingga program bisa bekerja dengan baik, diantaranya:

1. Penulisan variabel dalam bahasa, bersifat case-sensitive dimana perbedaan huruf besar dan kecil akan memengaruhi program yang berjalan. Variabel a dan A akan dianggap sebuah variabel yang berbeda

2. Variabel tidak boleh berupa angka ataupun sebuah variabel yang diawali oleh angka. Tapi, jika variabel tersebut diawali oleh huruf maka tidak masalah misalnya Int S1.

3. Nama ariabel tidak boleh menggunakan spasi dan karakter berupa simbol seperti @, #, !, $ dan lainnya meski berada di tengah atau dibelakang nama variabel.

4. Tidak boleh menggunakan kata kunci yang telah terdefinisikan oleh bahasa C

5. Memberi nama variabel sejelas-jelasnya agar mudah dipahami oleh orang lain yang melihat programnya. Misalnya untuk menghitung luas lingkaran, kamu bisa menggunakan nama variabel L, luas, ataupun LuasLingkaran.


Inisialisasi Variabel

Inisialisasi nilai pada suatu variabel digunakan untuk menentukan nilai default ke suatu variabel tertentu sehingga ketika tidak memberikan nilai lain kedalam variabel yang sama maka, nilai default tersebut yang akan digunakan.


Penulisan inisialisasi variabel dalam bahasa C

Format penulisan program inisialisai variabel dalam bahasa c sebagai berikut:

tipe_data nama_variabel = nilai_untuk_inisialisasi;

Contoh program inisialisai variabel, sebagai berikut:

int x = 0; /* Melakukan inisialisasi terhadap variabel x
dengan nilai 0 */
char karakter = ‘A’; /* Melakukan inisialisasi terhadap
variabel karakter dengan nilai ‘A’ */

Contoh Program Aplikasi Inisialisasi Varibel

#include <stdio.h>
int main(void) {
/* Mendeklarasikan variabel x tanpa melakukan inisialisasi */
int x;
/* Mendeklarasikan variabel y dan melakukan inisialisasi dengan
nilai 0 */
int y = 0;
/*Menampilkan nilai yang terdapat di dalam variabel x dan y */
printf("Nilai x = %d\n", x);
printf("Nilai y = %d\n", y);
return 0;
}

Tampilan setelah dijalankan sebagai berikut:

inisialisasi variabel bahasa c



Konstanta dalam Bahasa C

Konstanta adalah sebuah tempat/container dari sebuah nilai dimana nilainya bersifat tetap (konstan) dan tidak bisa diubah selama menjalankan program. Berikut daftar konstanta karakter yang telah didefinisikan dalam bahasa c:


Penulisan Konstanta pada Bahasa C

Bentuk pertama

#define nama_konstanta

Bentuk Kedua

const tipe_data nama_konstanta = nilai_kontan;

Contoh penulisan konstanta

#define PI 3.1416 /* Membuat konstanta PI dengan
nilai 3.1416 */
#define NULL 0 /* Membuat konstanta NULL
dengan nilai 0 */
#define FALSE 0 /* Membuat konstanta FALSE dengan
nilai 0 */
#define TRUE 1 /* Membuat konstanta TRUE dengan
nilai 1 */

Contoh program aplikasi konstanta

#include <stdio.h>
/* Mendefinisikan makro untuk mengeset nilai PI */
#define PI 3.1416
int main() {
// Mendeklarasikan variabel jari-jari dan luas lingkaran
float jari2, luas;
// Meminta pengguna program (user) untuk memasukkan panjang jari-jari
printf("Masukkan panjang jari-jari lingkaran : ");
scanf("%f", &jari2);
/* Melakukan perhitungan luas lingkaran dan memasukkan hasilnya ke dalam
variabel luas */
luas = PI * jari2 *jari2;
printf("Luas lingkaran = %3.2f ", luas);// Tampilkan nilai variabel luas
return 0;
}


Tampilan setelah program dijalankan, sebagai berikut:

konstanta variabel bahasa c


Tipe Data

Tipe data mempresentasikan jenis dari suatu nilai contohnya nilai 10 adalah nilai yang bertipe Bilangan Bulat, 12.23 adal nilai yang bertipe bilangan riil, 'A' adalah nilai yang bertipe karakter. Kesalahan dalam menentukan tipe data akan berdampak pada program yang hasilnya tidak akuran bahkan tidak muncul.


Tipe Bilangan Bulat

Sesuai namanya, tipe bilangan bulat ini digunakan untuk menyimpan nilai-nilai yang berbentuk bilangan tanpa koma. Bilangan bulat ini terdapat pengelombakan lagi menjadi dua jenis yaitu bilangan bulat posistif dan negatif. Berikut adalah tabel yang termasuk kedalam tipe bilangan bulat:

tipe bilangan bulat bahasa c

Tipe Bilangan Riil

Tipe bilangan riil digunakan untuk menyimpan nilai-nilai yang berbentuk bilangan yang memiliki koma. Sedikit informasi saja, float adalah tipe data yang merupakan bilangan pecahan sedangkan double adalah tipe daya yang fungsinya sama seperti float hanya saja ukuran penyimpanannya yang lebih besar. Berikut tabel dari tipe bilangan riil:

tipe bilangan riil bahasa c

Tipe String dan Karakter

Digunakan dalam mempresentasikan data-data berupa karakter. Data akan dianggap sebagai karakter apabila diapit oleh tanda petik ('') misalnya 'A', 'a', 'B', 'b', dan lainnya. Apabila data diapit oleh tanda petik ganda ("") maka dianggap sebagai string (kumpulan dari karakter) misalnya "Saya Sedang Belajar TIP" dan lainnya maka format yang digunakan adalah string %s. Berikut tabel tipe string dan karakter:

tipe data string dan karakter

Tipe Logika

Tipe logika ini merupakan tipe data yang menampilkan nilai benar (True) dan Salah (false). Dalam bahasa C tidak mendefinisikan nilai khusus untuk menampung nilai-nilai tertentu. Nilai True biasanya dipresentasikan dengan nilai selain 0 (biasanya bernilai 1) dan false dipresentasikan dengan 0. Setiap bahasa pemograman biasanya mempresentasikan dengan cara yang berbeda. Berikut tabel tipe logika yang bisa kamu lihat:

#define TRUE          1
#define FALSE        0



Operator dalam Bahasa C

Operator adalah nilai asal yang dipakai untuk menyelesaikan suatu operasi atau manipulasi seperti penjumlahan dua buah nilai, memberi nilai pada suatu variabel, membandingkan kesamaan antara dua variabel dan lainnya. Operator dalam bahasa C dikelompokkan dalam empat bagian besar yaitu assignment, binary, unary, ternary.


Operator Assignment

Operator assignment digunakan untuk memasukkan nilai pada sebuah variabel. Dilambangkan dengan tanda sama dengan "=". Sebagai gambaran, kamu bisa melihatnya dibawah ini:

c = 15;
A = B = C = 20;

operator assignment bahasa c

Operator Unary

Operator unary merupakan sebuah operator yang melakukan operasi-operasi matematik dengan hanya melibatkan satu buah operand. Operand adalah nilai asal yang dipakai.

operator unary bahasa c

Operator Binary

Operator binary adalah operasi yang melibatkan dua buah operand. Sebagian besar operator termasuk kedalam operator binary didalam bahasa C. Salah satunya adalah aritmatika. Operator dikelompokkan dalam empat jenis yaitu:

a. Operator Aritmatika (melakukan operasi artitmatika seperti penjumlahan, pengurangan, pembagian, perkalian)

operasi binary aritmatika bahasa c


b. Operator Logika (Operasi yang hanya menghasilkan nilai benar (true) dan salah (false)

operator binary logika


c. Operator Relasional (Menentukan relasi atau hubungan dari dua buah operand)

operator binary relasional


d. Operator Bitwaise (Menyelesaikan operasi dalam biner yang dilakukan bit per bit/pemanipulasian bit)

operator binary bitwise


Operator Tenary

Operator Ternary adalah Suatu operator yang terdiri dari 3 operand. Dilambangkan dengan tanda ?: dan juga berguna melakukan pemilihan pada nilai tertentu berdasarkan ekspresi tertentu. Bentuk umum dari tenary sebagai berikut:

ekspresi1 ? ekspresi2 : ekspresi3;

Contoh program operator ternary adalah:

#include <stdio.h>

int main(void) {
/* Mendeklarasikan variabel yang diperlukan */
int x, y, abs_x, maks;
/* Meminta masukan dari user untuk mengisikan nilai x dan y*/
printf("Masukkan nilai x : "); scanf("%d", &x);
printf("Masukkan nilai y : "); scanf("%d", &y);

/* Menggunakan operator ?: untuk menentukan nilai mutlak
(absolut) dari variabel x dan memasukkan hasilnya ke dalam
variabel abs_x */
abs_x = (x > 0) ? x : (-x);

/* Menggunakan operator ?: untuk menentukan nilai maksimal
dari variabel x dan y, selanjutnya memasukkan hasilnya ke
dalam variabel maks */
maks = (x > y) ? x : y;

/* Menampilkan nilai yang dikandung dalam variabel abs_a dan
maks */
printf("\nNilai absolut dari %d \t\t = %d\n", x, abs_x);
printf("Nilai maksimal dari %d dan %d \t = %d\n", x, y, maks);

return 0;
}

Setelah dijalankan, tampilan akan seperti ini:

operator tenary bahasa c


Kontrol Program Pemilihan

Pemilihan pada bahasa C digunakan untuk mengarahkan suatu program dari banyaknya program pilihan yang dibuat. Simplenya kaya keran air yang mengatur air untuk mengalir begitupun dengan pemilihan dimana kita mengatur sebuah proses dari program yang dijalankan. Dan pemilihan tersebut terjadi karena kondisi yang terpenuhi. 

Contohnya Jika hari rabu Firman libur maka, Firman akan pergi ke Bali. Fungsi pemilihan ini bisa dlakukan dengan 2 cara, yaitu dengan statemen if dan statement switch.


Statement If

Pada statemen if ini, jika kondisi yang diseleksi benar maka pernyataan yang mengikutinya akan langsung diproses begitupun sebaliknya apabila pernyataan atau kondisi bernilai salah maka pernyataan selanjutnya tidak akan diproses.

Pada statemen if diklasifikasikan menjadi tiga bagian yaitu pemilihan atas satu kasus, dua kasus dan lebih dari dua kasus.

Statemen pemilihan pada 1 kasus

program pemilihan satu kasus

1. Pertama program akan mengecek apa kondisi terpenuhi, maka selanjutnya program akan melakukan statemen yang yang terdapat di blok pengecekan.

2. Namun, apabila program kondisnya tidak terpenuhi maka selanjutnya program akan keluar dari statemen yang terdapat didalam blok pengecekan.


Bentuk Umum Statemen 1 Kasus

Dalam penulisan kondisi harus ditulisan didalam tanda kurung. Untuk satu kasus, statemen if bisa dilihat kerangkanya sebagai berikut:

if    (kondisi)
            Statemen yang akan dieksekusi;

Apabila memiliki dua statemen atau lebih, maka kerangkanya sebagai berikut:
if   (kondisi)
         Statemen yang akan dieksekusi;
         Statemen yang akan dieksekusi;
         .......

Contoh program statemen if satu kasus

#include <stdio.h>
int main(void) {
int x;
/* Meminta masukan nilai yang akan ditampung ke dalam variabel x */
printf("Masukkan sebuah bilangan bulat : ");
scanf("%d", &x);
/* Melakukan pengecekan terhadap nilai x yang telah dimasukkan */
if (x > 0)
printf("\n%d adalah bilangan positif\n", x);
printf("Statemen di luar blok kontrol pengecekan");
return 0;
}

Tampilan program setelah dijalankan seperti berikut:

program if bahasa c


Statemen Pemilihan pada 2 Kasus
statemen if dua kasus


1. Pertama program akan mengecek apa kondisi terpenuhi, maka selanjutnya program akan melakukan statemen yang yang terdapat di blok pengecekan.
2. Apabila kondisi tidak terpenuhi maka statemen akan keluar dari blok pengecekan dan melanjutkan eksekusi ke statemen berikutnya di luar blok pengecekan (jika ada)

Bentuk Umum Pemilihan 2 Kasus

Dalam penulisan kondisi harus ditulisan didalam tanda kurung. Untuk satu kasus, statemen if bisa dilihat kerangkanya sebagai berikut:

if (kondisi)
Statemen_jika_kondisi_benar; /* Ingat, harus menggunakan
tanda titik koma */
else
Statemen_jika_kondisi_salah;

Apabila memiliki dua statemen atau lebih, maka kerangkanya sebagai berikut:

if (kondisi) { Statemen_jika_kondisi_benar1;
Statemen_jika_kondisi_benar2;

} else { Statemen_jika_kondisi_salah1;
Statemen_jika_kondisi_salah2;

}

Contoh program statemen if dua kasus:

program statemen if dua kasus


Statemen Pemilihan lebih dari 2 kasus

1. Pertama-tama programa akan mendeteksi apakah kondisi terpenuhi, apabila kondisi benar maka program akan mengeksekusi yang didefinisikan.
2. Apabila kondisi 1 bernilai salah, maka program akan melakukan pengecekan pada kondisi 2.
3. Apabila kondisi 2 bernilai salah, maka program akan melakukan pengecekan pada kondisi 3. Begitupun seterusnya.

Bentuk Umum Pemilihan Lebih Dari 2 Kasus

Tambahkan kondisi else if apabila kondisi lebih dari 2 kasus serta akhiri else jika semua kondisi tidak terpenuhi, kerangkanya sebagai berikut:

if (kondisi1) {
Statemen_yang_akan_dieksekusi;

} else if (kondisi2) {
Statemen_yang_akan_dieksekusi;

} else {
Statemen_alternatif;
}

Contoh program statemen if lebih dari dua kasus:

#include <stdio.h>
int main() {
int suhu;
printf("Masukkan besarnya suhu : ");
scanf("%d", &suhu);
/* Melakukan pengecekan terhadap suhu */
if (suhu <= 0){
printf("%d derajat Celcius, air akan berwujud padat (es)", suhu);
}else if ((suhu > 0) && (suhu < 100)){
printf("%d derajat Celcius, air akan berwujud cair", suhu);
}if (suhu>100) {
printf("%d derajat Celcius, air akan berwujud gas", suhu);}
return 0;
}

Tampilan program setelah dijalankan sebagai berikut:

statement if wujud benda



Statement switch

Statemen switch dirancang khusus dalam menangani pengambilan keputusan dengan sejumlah pilihan atau alternative. Statemen switch menggunakan ekspressi yang harus menghasilkan nilai yang bertipe bilangan bulat atau karakter. Terdapat keycase yang harus ditambahkan statemen break pada setiap nilai yang akan dijalankan.

Kerangka Switch

switch (ekspresi) {
case nilai_konstan1:
{
Statemen_yang_akan_dieksekusi;

break;
}
case nilai_konstan2:
{
Statemen_yang_akan_dieksekusi;

break;
}

default:
{
Statemen_alternatif; /* apabila semua nilai di
atas tidak terpenuhi */
}
}


Contoh 1 Program Statemen Switch

#include <stdio.h>
int main(void) {
/* Mendeklarasikan variabel untuk menampung nomor hari */
int nohari;
printf("Masukkan nomor hari (1-7): "); scanf("%d", &nohari);
switch (nohari) {
case 1: printf("Hari ke-%d adalah hari Minggu", nohari); break;
case 2: printf("Hari ke-%d adalah hari Senin", nohari); break;
case 3: printf("Hari ke-%d adalah hari Selasa", nohari); break;
case 4: printf("Hari ke-%d adalah hari Rabu", nohari); break;
case 5: printf("Hari ke-%d adalah hari Kamis", nohari); break;
case 6: printf("Hari ke-%d adalah hari Jumat", nohari); break;
case 7: printf("Hari ke-%d adalah hari Sabtu", nohari); break;
default: printf("Hari ke-%d adalah hari Sabtu");
}
return 0;
}

Tampilan setelah program dijalankan sebagai berikut:

statemen switch bahasa c


Contoh 2 Program Statemen Switch

#include <stdio.h>
int main() {
int operand1, operand2;
char optr;
printf("Masukkan operator yang diinginkan \t: "); scanf("%c", &optr);
printf("Masukkan nilai untuk operand ke-1 \t: "); scanf("%d", &operand1);
printf("Masukkan nilai untuk operand ke-2 \t: "); scanf("%d", &operand2);
switch (optr) {
case '+':
{printf("%d + %d = %d", operand1, operand2, (operand1 + operand2)); break; }
case '-':
{printf("%d - %d = %d",operand1, operand2, (operand1 - operand2));break;}
case '*':
{printf("%d * %d = %d",operand1, operand2, (operand1 * operand2)); break;}
case '/':
{printf("%d / %d = %d", operand1, operand2, (operand1 / operand2));break;}
} /* akhir switch */
return 0;
}

Tampilan program setelah dijalankan sebagai berikut:

contoh statemen switch



Statemen Pengulangan

Terkadang kita membuat sebuah program dimana harus melakukan pengulangan mungkin sampai 10 kali. Dengan efisiensi tanpa harus memasukkan statemen sampai 10 kali, kamu hanya perlu memasukkan kedalam struktur pengulangan.

Contoh Program Pengulangan 

#include <stdio.h>
int main() {
/* Mencetak teks ke layar sebanyak 5 kali */
printf("Saya sedang belajar bahasa C \n");
printf("Saya sedang belajar bahasa C \n");
printf("Saya sedang belajar bahasa C \n");
printf("Saya sedang belajar bahasa C \n");
printf("Saya sedang belajar bahasa C \n");
return 0;
}

Setelah dijalankan, tampilan program sebagai berikut:

statemen pengulangan bahasa c


Penulisan diatas akan memakan banyak penyimpanan sehingga ukuran file semakin besar. Tidak hanya itu dengan menggunakan penulisan sesuai dengan program diatas akan memakan banyak waktu serta tenaga. Untuk itu diperlukan struktur pengulangan seperti for, while dan do-while.


Struktur For

struktur for digunakan dalam membuat perulangan dan struktur ini dikontrol oleh nilai tertentu mulai dari initial (ekspresi1), kondisi (ekspresi2), penambahan penurunan (ekspresi3). Perlu diketahui juga statemen for tidak memeriksa kondisi terlebih dahulu sehingga statemen for langsung bekerja setelah itu baru memeriksa kondisi.

Bentuk Umum Pengulangan 'for'

Apabila hanya memiliki statemen yang akan diulang, bisa menggunakan kerangka pengulangan sebagai berikut:

for   (ekspresi1; ekspresi2; ekspresi3)
           statemen_yang_akan_diulang;

Dan apabila statemen yang dimiliki lebih dua atau lebi statemen maka gunakan kerangka pengulangan for dibawah ini:

for    (ekspresi1; ekspresi2; ekspresi3)
            statemen_yang_akan_diulang1;
            statemen_yang_akan_diulang2;

             .......


Contoh Program Statemen Pengulangan For

#include <stdio.h>
int main(void) {
for (int j=5; j>0; j--) {
printf("Saya sedang belajar bahasa C\n");
}
return 0;
}

Setelah dijalankan, tampilan program pengulangan sebagi berikut:

statemen pengulangan bahas c



Struktur For Bersarang


#include <stdio.h>
int main(void)
{
int baris, kolom;
/* Proses pengulangan pertama */
for (baris=1; baris<=10; baris++)
{
/* Proses pengulangan kedua yanag terdapat dalam pengulangan
pertama */
for (kolom=1; kolom<=10; kolom++)
{printf("%3d", baris*kolom);}
printf("\n");
}
return 0;
}

Tampilan yang didapatkan sebagai berikut:

pengulangan for bersarang



Struktur While

Kegunaannya hampir sama dengan for hanya saja statemen while memeriksa kondisi terlebih dahulu, jika sudah benar maka perulangan akan dilakukan. Struktur while memerlukan inisialisasi nilai pada variabel yang akan dipakai sebagai pencacah dan juga penambahan dan pengurangan pada variabel. Bertujuan untuk menghentikan pengulanagn sesuai kondisi yang dijalankan.

Bentuk Umum Pengulangan While

while (ekspresi) {
Statemen_yang_akan_diulang1;
Statemen_yang_akan_diulang2; …
}

Contoh Program Pengulangan While

#include <stdio.h>
int main(void) {
int j=0;
while (j<10 br=""> {printf("Saya sedang belajar bahasa C\n"); j++;}
return 0;
}

Tampilan setelah program dijalankan sebagai berikut:

program pengulagan whilw



Struktur While Bersarang


#include <stdio.h>
int main(void)
{
int j=1;
int k;
while (j <= 10)
{
k = 1;
while(k <=10 )
{printf("%3d", j*k); k++;}
printf("\n"); j++;
}
return 0;
}

Setelah dijalankan, program ditampilkan sebagai berikut:

pengulangan while bersarang


Struktur do-while

Statemen do-while merupakan kombinasi dari kedua struktur yang telah dibahas sebelumnya. Cara kerjanya perulangan ini langsung mengerjakan ke badan loop, kemudian kondisi diperiksa, kondisi perulangan dilanjutkan apabila telah memenuhi dan apabila tidak, perulangan dinyatakan selesai.

Bentuk Umum Program Pengulangan do-while

do {
Statemen_yang_akan_diulang;

} while (ekspresi);                                /* Ingat tanda semicolon (;) */

Contoh Program Pengulangan do-while

#include <stdio.h>
int main(void) {
int j;
printf("Statemen sebelum blok pengulangan\n");
j = 10;
do {
printf("Statemen di dalam blok pengulangan\n");
j++;
} while (j < 5);
printf("Statemen setelah blok pengulangan\n");
return 0;
}

Tampilan setelah program dijalankan sebagai berikut:

pengulangan do-while bahasa c

Contoh Program Pengulangan do-while

#include <stdio.h>
int main(void) {
int j;
printf("Statemen sebelum blok pengulangan\n");
j = 10;
while (j<5 br=""> {
printf("Statemen di dalam blok pengulangan\n");
j++;
}
printf("Statemen setelah blok pengulangan\n");
return 0;
}

Tampilan setelah program dijalankan sebagai berikut:

program do-while



Fungsi dalam Bahasa C

Fungsi merupakan sebuah sub-program dimana merupakan sebuah fungsi utama yang akan di eksekusi pertama kali. Misalnya fungsi yang sering kita buat adalah main(). Fungsi dibutuhkan untuk menjadikan program lebih dipahami alurnya.

Fungsi dalam bahasa C terbagi dua maca yaitu, return value (fungsi yang mengembalikan) dan prosedur/void function (fungsi yang tidak mengembalikan). Kamu bisa lihat dibawah ini, konsep penggunaan fungsi:

konsep penggunaan fungsi


Bentuk Umum Fungsi Main

int main(void) {
.... return 0; /* Mengembalikan nilai 0 */
}

void main(void)
...
exit(0); /* dapat ditulis exit (EXIT_SUCCESS) */
}

Perlu diketahui juga ada beberapa arti nilai return atau exit pada fungsi seperti:
Nilai 0 (EXIT_SUCCESS) untuk menghentikan program secara normal
Nilai 1 (EXIT_FAILURE) untuk menghentikan program secara tidak normal


Fungsi Tanpa Nilai Balik (Prosedur)

Prosedur merupakan sebuah program yang terpisah dari bloknya berguna sebagai sub program tanpa perintah nilai bali misalnya proses pengulangan, pengesetan nilai dan lainnya. Tipe kembaliannya untuk fungsi ini diisi dengan nilai void


Bentuk Umum Fungsi Tanpa Nilai Balik

void nama_fungsi (parameter1, parameter2,....) {
statemen_yang_akan_dieksekusi;
....
}

Contoh Program Fungsi Tanpa Nilai Balik

#include <stdio.h>
/* Mendefinisikan sebuah fungsi dengan nama Tulis10Kali */
void Tulis5Kali(void)
{
int j;
for (j=0; j<5 br="" j=""> {printf("Saya sedang belajar bahasa C\n");}
}
int main(void)
{
Tulis5Kali(); //Memanggil fungsi Tulis5Kali
return 0;
}

Tampilan setelah program dijalankan, sebagai berikut:

program prosedur bahasa c


Fungsi Dengan Nilai Balik

Fungsi ini digunakan untuk melakukan proses yang berhubungan dengan nilai dengan cara menuliskan tipe data dari nilai yang akan dikembalikan didepan nama fungsi.


Bentuk Umum Fungsi dengan Nilai Balik

tipe_data nama_fungsi {parameter1, parameter2,...) {
Statemen-yang_akan_dieksekusi;
....
return nilai_balik;
}i

Contoh Program Fungsi dengan Nilai Balik

#include <stdio.h>
int HitungLuasBujurSangkar(int sisi) {
int L; /* mendeklarasikan variabel L untuk menampung nilai luas */
L = sisi * sisi; /* memasukkan nilai sesuai dengan rumusyang berlaku */
return L; /* mengembalikan nilai yang didapat dari hasil proses */
}
int main(void)
{
int S, Luas;
S = 10; //Mengeset nilai variabel S dengan nilai 10
Luas = HitungLuasBujurSangkar(S); //Memanggil fungsi
HitungLuasBujurSangkar;
printf("Luas bujur sangkar dengan sisi %d adalah %d", S, Luas);
return 0;
}

Setelah program dijalankan, tampilan akan seperti ini:

fungsi dengan nilai balik bahasa c



Parameter dalam Bahasa C

Parameter adalah suatu variabel yang pada intinya meyimpan nilai untuk diproses didalam sebuah fungsi. Terdapat 2 macam paramter yaitu parameter formal (parameter yang terdapat dalam fungsi) dan parameter aktual (parameter yang terdapat saat pemanggilan fungsi).

Contoh Parameter Formal

int TambahSatu(int x) {
return ++x;
}

Contoh Parameter Aktual

int main (void) {
int a=10, hasil;
hasil=TambahSatu(a);
return 0;
}

Terdapat tiga jenis parameter fungsi dalam bahasa C diantaranya, parameter masukan, parameter keluaran, parametermasukan/keluaran.


Parameter Masukan

Parameter masukan adalah sebuah parameter untuk menampung nilai data dan dijdaikan sebagai input didalam fungsi. Fungsi yang dihasilkan dapat berbeda tergantung dari nilai parameter yang dimasukkan.

Contoh Program Parameter Masukan

#include <stdio.h>
#define PI 3.14159
/* Mendefinisikan suatu fungsi dengan parameter berjenis masukan */
double HitungKelilingLingkaran(int radius)
{
double K;
K = 2 * PI * radius; return K;
}
/* Fungsi Utama */
int main(void)
{
int R;
printf("Masukkan nilai jari-jari lingkaran : ");
scanf("%d", &R);
double Keliling = HitungKelilingLingkaran(R);
printf("Keliling lingkaran dengan jari-jari %d : %f", R, Keliling);
return 0;
}

Tampilan setelah program dijalankan:

parameter masukan bahasa c


Parameter Keluaran

Parameter Keluaran adalah sebuah parameter yang digunakan dalam menampung nilai output dalam sebuah fungsi dimana biasanya fungsi yang digunakan tidak memiliki nilai balik.


Contoh Program Parameter Keluaran

#include <stdio.h>
#define PHI 3.14159

int main()
{
///// deklarasi variable jari-jari dan keliling
float r, K;

printf("Masukan nilai jari-jari: ");
scanf("%f", &r); // input jari-jari

/// RUMUS KELILING LINGKARAN
/// K = 2.phi.r
K = 2*PHI*r;
printf("\nHasil perhitungan keliling lingkaran : %.2f", K);

return 0;
}

Tampilan setelah program dijalankan sebagai berikut:

keliling lingkaran parameter keluaran


Parameter Masukan/Keluaran

Sesuai namanya, parameter ini bertindak sebagai menampung nilai masukkan dan setelahnya akan bertindak sebagai nilai keluaran.


Contoh Program Parameter Masukan/Keluaran

#include <stdio.h>
#define PI 3.14159
/* Mendefinisikan fungsi dengan parameter masukan/keluaran */
void HitungKelilingLingkaran(double *X)
{
*X = 2 * PI * (*X);
}
int main(void) {
int R;
double param;
printf("Masukkan nilai jari-jari lingkaran : ");
scanf("%d", &R);
/* Melakukan typecast dari tipe int ke tipe double */
param = (double) R;
HitungKelilingLingkaran(&param);
printf("Keliling lingkaran dengan jari-jari %d : %f", R, param);
return 0;
}

Berikut tampilan setelah program dijalankan:

masukan/keluaran bahasa c



Array dalam Bahasa C

Array adalah suatu variabel untuk menyimpan sekumpulan data dalam satu tempat. Setiap data dalam array mempunyai indeks sehingga lebih mudah dalam memerosesnya. Indeks array selalu dimulai dari angka 0 bukan 1. Berikut illustrasi array nya:

illustrasi array bahasa c


Bentuk Umum Array

Dalam mendeklarasikan suatu array suatu dimensi adalah dengan menggunakan tanda [] (bracket).

tipe_data nama_array [banyak_elemen];

Apabila anda ingin mendeklarasikan array dengan nama A sebanyak 100 elemen daya yang memiliki tipe int, penulisan sintaksnya adalah Int A[100]. Jika direpresentasikan maka menjadi seperti ini:

respresentasi array bahasa c

A[0] menunjukan nilai yang terjandung oleh elemen pertama array A.
A[1] menunjukkan elemen kedua, dan seterusnya hingga A[99] yang menunjukan elemen ke-100

Dalam proses pemasukan array dengan cara memasukkan nilai pada setiap elemen array sama seperti memasukkan nilai pada suatu variabel bisanya dilakukan dengan ppengulangan misalnya seperti ini:

A[0]=1;
A[1]=2;
A[2]=3;
A[3]=4;
A[4]=5;
A[5]=6;
A[6]=7;
.......
A[100]=99;


Contoh Program Array

#include <stdio.h>
#define MAX 5
int main()
{
int A[MAX];
int j;
/* Memasukkan nilai ke dalam elemen array*/
printf("Memasukkan nilai:\n");
for (j=0; j {printf("A[%d] = ", j); scanf("%d", &A[j]);}
/* Menampilkan nilai dari elemen array*/
printf("\nMenampilkan nilai:\n");
for (j=0; j {printf("A[%d] = %d\n", j, A[j]);}
return 0;
}

Sebagai pembelajaran, alasan penggunaan array misalnya terdapat 5 buah variabel (x1,x2,x3,x4,x5) dan bertipe float. Menurut kamu, bagaiman mencari rata-rata dari seluruh variabel tersebut?

Contoh Solusi Jika Tanpa Menggunakan Array

#include <stdio.h>
int main()
{
float x1, x2, x3, x4, x5;
float rata_rata;
printf("Memasukkan nilai:\n");
printf("Nilai ke-1 = "); scanf("%f", &x1);
printf("Nilai ke-2 = "); scanf("%f", &x2);
printf("Nilai ke-3 = "); scanf("%f", &x3);
printf("Nilai ke-4 = "); scanf("%f", &x4);
printf("Nilai ke-5 = "); scanf("%f", &x5);
rata_rata = (x1 + x2 + x3 + x4 + x5) / 5;
printf("\nNilai rata-rata = %.2f", rata_rata);
return 0;
}

Tampilan setelah program diatas dijalankan:

rata-rata tanpa menggunakan array


Contoh Solusi Menggunakan Array

#include <stdio.h>
#define MAX 5
int main()
{
float A[MAX], jumlah=0, rata_rata; int j;
printf("Memasukkan nilai:\n");
for (j=0; j {
printf("A[%d] = ", j);
scanf("%f", &A[j]);
jumlah += A[j];
}
rata_rata = jumlah/MAX;
printf("\nNilai rata-rata = %.2f", rata_rata);
return 0;
}

Setelah program diatas dijalankan, tampilannya sebagai berikut:

rata-rata menggunakan array


Dari contoh program yang menggunakan array dengan tanpa array akan menghasilkan tampilan yang sama namun jika dari 5 variabel diubah menjadi 1000 variabel yang akan dihitung nilai rata-ratanya.


Inisialisasi Array

Suatu array dapat di iniasialisasi sekaligus ketika di deklarasikan. Nilai yang di inisialisasikan pada saat mendeklarasikan array ditulis diantara kurung kurawal '{}'yang dipisahkan dengan koma.

Contoh inisialisasi array

int A[5] = {10, 20, 30, 40, 50};
int B[5] = {10];
int C[5] = {10, 0, 30};

Untuk int A[5] diatas menunjukan bahwa intruksi memberikan nilai {10, 20, 30, 40, 50} sesuai urutan ke array nilai untuk indeks pertama sampai indeks ke lima (int A[0], int A[1], int A[2], int A[3], int A[4]). Untuk lebih jelasnya bisa lihat tabel ini untuk memahami contoh inisialisasi array.

contoh inisialisasi array

Besarnya memori pada array dapat ditentukan dengan melakukan perkalian pada jumlah elemen x besar memori pada tipe data. Tipe data integer memiliki besar memori 4byte sedangkan tipe data char memiliki besar memori 1byte.

Contoh Program Inisialisasi Array

#include
main() {

int bln, thn, jhari; //inisialisasi variabel

//inisialisasi array
int jum_hari[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

//input output
puts("MEMPEROLEH JUMLAH HARI");
puts("PADA SUATU BULAN DAN SUATU TAHUN");
puts("");
printf("Masukkan bulan (1..12) : ");
scanf("%d", &bln);
printf("Masukkan tahunnya : ");
scanf("%d", &thn);

//cek tahun kabisat
if(bln == 2) {
if(thn % 4 == 0) {//thn kabisat
jhari = 29;
} else {
jhari = 28;
}
} else {
jhari = jum_hari[bln-1];
}

//output
printf("\nJumlah hari dalam bulan %d tahun %d adalah %d hari\n",bln,thn,jhari);}

Setelah program dijalankan, tampilan akan seperti ini:

contoh program inisialisasi array



Array Konstan

Seperti pada namanya, konstan. Artinya nilai tidak dapat diubah selama program dijalankan. Caranya dengan menambahkan const pada saat mendeklarasikan array dan mengisi nilai yang akan di deskripsikan.

Bentuk Umum Array Konstan

const tipe_data nama_array[N] = [nilai1, nilai2, .., nilaiN

Contoh Array Konstan

const int A[3] = {10, 20, 30};


Array Multi Dimensi


Array Dua Dimensi
Array ini memiliki dua buah subskrip yaitu bari dan kolom. bentuk umunya sebagai berikut:

tipe_data nama_array [banyak_baris] [banyak_kolom];

Contoh int M[3][2]; untuk mempermudah memahami maksud dari array ini adalah sebagai berikut:

array dua dimensi bahasa c


Array Tiga Dimensi
Bentuk umum array 3 dimensi sebagai berikut;

tipe_data nama_array [banyaknya_elemen_pada_sumbu_x]
[banyaknya_elemen_pada_sumbu_y]
[ banyaknya_elemen_pada_sumbu_z];

Contoh int A[3][3][3]; untuk mempermudah memahami maksud dari array ini sebagai berikut;

contoh array 3 dimensi


String dalam Bahasa C

String merupakan penggunakan tipe data char secara berkelompok. Dalam bahasa pemograman string merupakan kumpulan karakter yang tersusun secara bersamaan. Dalam bahasa C sendiri, string merupakan suatu pointer ke tipe char sehingga tipe string ini dipresentasika dengan menggunakan array tipe char karena variabel yang bertipe char hanya menampung satu karakter saja.

Perbedaan Karakter dan String

karakter dan string bahasa c

Contoh String:
/* Membatasi string dengan 10 karakter */
char string[10];
/* Mendeklarasikan pointer ke tipe char */
char *string;

Konsep string array sebagai tipe data char, sebagai berikut:

konsep string tipe data char


Pointer dalam Bahasa C

Pointer adalah variabel yang nilainya adalah alamat variabel lain, yaitu alamat langsung dari lokasi memori. Seperti variabel atau konstanta apa pun, Anda harus mendeklarasikan pointer sebelum menggunakannya untuk menyimpan alamat variabel apa pun.

Secara umum, pointer dapat digambarkan sebagai berikut:

pointer bahasa c

Dari illustrasi diatas kita bisa tahu bahwa pointer P merujuk pada Alamat ke-1 yang menunjukan nilai dari pointer P berisi Alamat ke-1. Berbeda dengan variabel yang hanya bisa menyimpan data dari tipe data tertentu.

Bentuk Umum Pointer
Dalam mendeklarasikan pointer, kamu tinggal tambahkan tanda sterisk (*) sebelum nama pointer. Tipe data yang ada ini menunjukan bahwa pointer akan merujuk ke suatu alamat yang terdapat nilai dimiliki tipe data tersebut. Bentuk umumnya seperti ini:

tipe data *nama pointer;

Contoh Deklarasikan Pointer

Karena pointer merupakan suatu variabel yang berisi alamat, maka harus tahu bagaimana cara mendapatkan alamatnya. Dengan cara menambahkan tanda '&' sebelum nama variabel. Sebagai contoh apabila kita memiliki variabel X yang bertipe int dan pointer P yang akan menujuk ke tipe data int. Untuk mendapatkan alamat dari variabel X, maka harus memasukkan kedalam pointer P.

int X; /* Mendeklarasikan variabel x dengan tipe int */
int *P; /* Mendeklarasikan pointer P yang akan menunjuk
ke tipe int */
p = &X; /* Mendapatkan alamat dari variabel X dengan cara
menuliskan &X dan
menyimpan alamat tersebut kedalam pointer P */


Deference Pointer

Deference pointer adalah suatu cara untuk mendapatkan nilai apabila hanya diketahui alamatnya saja. Bisa dikatakan Deference pointer adalah proses pengambilan nilai dari suatu alamat memori melalui pointer

Contoh Deference Pointer
Apbila kita memiliki sebuah pointer P yang telah memiliki nilai yang merujuk ke alamat tertentu lalu ongin memasukkannya kedalam variabel Y maka dituliskan sebagai berikut:

Y = *P;

Untuk lebih memahaminya, kamu bisa lihat konsep dari pointer dibawah ini:

pointer bahasa c

Dari gambar diatas kita bisa lihat bahwa sebuah pointer P sedang merujuk ke sebuah alamat (misalnya 0065fdfc) yang dimana alamat tersebut sudah memiliki sebuah variabel yang bernilai x=10. Untuk mendapatkan nilai 10 tersebut maka gunakan deference pointer dengan menuliskan *P. Jika kita simpulkan akan menjadi seperti ini:

P = &X;             /* Keduanya menyimpan alamat (yaitu 0065fdfc) */

Maka:
*P = X;             /* Keduanya menyimpan nilai (yaitu 10) */


Contoh Program Pembuktian Pointer

#include <stdio.h>
main()
{
int b,a=50;
int *pointer1;
pointer1 = &a;//pointer pointer1 menuju alamat memori variabel a
b = *pointer1;//nilai variabel B di isi nilai dari alamat pointer pointer1
//jadi nilai variabel B sama dengan nilai dari variabel A, tapi
//alamat memori variabel A dan B berbeda
//jadi nilai B di isi oleh nilai yang berasal dari alamat pointer pointer1
printf("alamat a : %p\n",&a);
printf("alamat b : %p\n",&b);
printf("alamat pointer1 : %p\n\n",pointer1);

printf("isi a : %d\n",a);
printf("nilai dari b : %d\n",b);
printf("nilai yang ditunjuk oleh pointer1 : %d\n",*pointer1);
}

Setelah program dijalankan, tampilan hasil seperti ini:

program pointer bahas c


Pointer dan Array

Kedua hal ini saling berhubungan, sebagai gambaran anggap kita memiliki array A dan terdiri dari 10 elemen yang bertipe int dan sebuah pointer yang akan menunjuk ke tipe int. Apabila kita melakukan settingan pointer tersebut agar bisa menunjuk ke elemen pertama dari array tadi, kita harus mengakses semua elemen dari array tersebut menggunakan pointer P. Perhatikan sintak dibawah ini:

/* Mendeklarasikan array A dengan 10 buah elemen bertipe int */
int a[10];
/* Mendeklarasikan pointer P dan mengesetnya untuk menunjuk ke
alamat dari A[0] */
int *P = &A[0] /* bisa ditulis dengan int *P = A */

Kita bisa mengakses elemen array menggunakan A[0], A[1], A[3], ........., A[9] ataupun dengan cara *p, *(p+1), *(p+2), ......., *(p+9). Kondisi tersebut bisa kita simpulkan sebagai berikut:

pointer dan array bahasa c


Contoh Program Pointer Array
#include <stdio.h>
int main(void) {
int A[10] = {10,20,30,40,50,60,70,80,90,100};
int j;
//Mendeklarasikan pointer P dan mengesetnya untuk menunjuk alamat dari A[0]
int *P = &A[0];
//Menampilkan elemen array dengan menggunakan akses array biasa dan pointer
printf("Menggunakan array: \t\tMenggunakan pointer:\n");
for (j=0; j<10 br="" j="" p=""> {printf("%d\t\t\t\t%d\n", A[j], *P);}
return 0;
}

Setelah program dijalankan, tampilan sebagai berikut:

pointer array dalam bahasa c


Itulah belajar bahasa C yang telah saya rangkum. Segala sesuatu tidak akan menjadi paham apabila kamu tidak mencoba sendiri setiap kode-kode yang saya berikan diatas. Berkomentar juga jika kamu memiliki saran seputar bahasa c yang pengen saya bahas untuk artikel selanjutnya.

im

0 Komentar