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.
Daftar isi
- 1 Alasan Menggunakan Bahasa C
- 2 Istilah Dasar dalam Bahasa C
- 2.1 Compiler
- 2.2 Kerangka Program Bahasa C
- 2.3 File Header Bahasa C
- 2.4 Mengenal Fungsi Prinf() dan Scanf()
- 2.5 Daftar Karakter
- 2.6 Daftar Konstanta Karakter
- 3 Program Komentar Bahasa C
- 4 Program Variabel Bahasa C
- 5 Inisialisasi Variabel
- 6 Konstanta dalam Bahasa C
- 7 Tipe Data
- 7.1 Tipe Bilangan Bulat
- 7.2 Tipe Bilangan Riil
- 7.3 Tipe String dan Karakter
- 7.4 Tipe Logika
- 8 Operator
- 8.1 Operator Assignment
- 8.2 Operator Unary
- 8.3 Operator Binary
- 8.4 Operator Tenary
- 9 Kontrol Program Pemilihan
- 9.1 Statemen If
- 9.2 Statemen switch
- 10 Statemen Pengulangan
- 10.1 Struktur for
- 10.2 struktur for bersarang
- 10.3 Struktur while
- 10.4 struktur while bersarang
- 10.5 Struktur do-while
- 11 Fungsi dan Prosedur
- 12 Parameter
- 12.1 Parameter Masukan
- 12.2 Parameter Keluaran
- 12.3 Parameter Masukan/Keluaran
- 13 Array
- 13.1 Inisialisasi Array
- 13.2 Array Konstan
- 13.3 Array Multidimensi
- 14 String
- 15 Pointer
- 15.1 Deference Pointer
- 15.2 Pointer dan Array
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”.
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.
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.
Statemen_yang_akan_dieksekusi;
…
return 0;
}
Dan berikut terdapat kerangka lengkap program bahasa C:
…
/* 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:
…
/* 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:
int main(void)
{
/* Mencetak teks ke layar */
printf(“Saya sedang belajar bahasa C”);
return 0;
}
Tampilan saat program diatas dijalankan adalah:
Contoh Program Scanf, sebagai berikut:
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:
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:
Berikut contoh aplikasi tipe data:
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 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:
contoh aplikasi konstanta karakter:
main(void) {
printf(“Judultt:”Pemrograman Menggunakan Bahasa C”n”);
printf(“Penulistt: Robby Jungjunann”);
printf(“Penerbitt: ITENAS Bandung”);
return 0;
}
Dan tampilan setelah dijalankan sebagai berikut:
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
banyaknya dua baris */
2. Pemakaian tanda // digunakan pada komentar 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:
Contoh program variabel, sebagai berikut:
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:
Contoh program inisialisai variabel, sebagai berikut:
dengan nilai 0 */
char karakter = ‘A’; /* Melakukan inisialisasi terhadap
variabel karakter dengan nilai ‘A’ */
Contoh Program Aplikasi Inisialisasi Varibel
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 = %dn”, x);
printf(“Nilai y = %dn”, y);
return 0;
}
Tampilan setelah dijalankan sebagai berikut:
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
Bentuk Kedua
Contoh penulisan konstanta
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
/* 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:
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 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 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 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 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:
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 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)
b. Operator Logika (Operasi yang hanya menghasilkan nilai benar (true) dan salah (false)
c. Operator Relasional (Menentukan relasi atau hubungan dari dua buah operand)
d. Operator Bitwaise (Menyelesaikan operasi dalam biner yang dilakukan bit per bit/pemanipulasian bit)
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:
Contoh program operator ternary adalah:
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 tt = %dn”, x, abs_x);
printf(“Nilai maksimal dari %d dan %d t = %dn”, x, y, maks);
return 0;
}
Setelah dijalankan, tampilan akan seperti ini:
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
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:
Statemen yang akan dieksekusi;
Statemen yang akan dieksekusi;
Statemen yang akan dieksekusi;
…….
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 positifn”, x);
printf(“Statemen di luar blok kontrol pengecekan”);
return 0;
}
Statemen_jika_kondisi_benar; /* Ingat, harus menggunakan
tanda titik koma */
else
Statemen_jika_kondisi_salah;
Statemen_jika_kondisi_benar2;
…
} else { Statemen_jika_kondisi_salah1;
Statemen_jika_kondisi_salah2;
…
}
Statemen_yang_akan_dieksekusi;
…
} else if (kondisi2) {
Statemen_yang_akan_dieksekusi;
…
} else {
Statemen_alternatif;
}
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;
}
Statement switch
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 */
}
}
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;
}
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;
}
Statemen Pengulangan
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;
}
Struktur For
statemen_yang_akan_diulang;
statemen_yang_akan_diulang1;
statemen_yang_akan_diulang2;
…….
int main(void) {
for (int j=5; j>0; j–) {
printf(“Saya sedang belajar bahasa Cn”);
}
return 0;
}
Struktur For Bersarang
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;
}
Struktur While
Statemen_yang_akan_diulang1;
Statemen_yang_akan_diulang2; …
}
int main(void) {
int j=0;
while (j<10 br=””>{printf(“Saya sedang belajar bahasa Cn”); j++;}
return 0;
}
Struktur While Bersarang
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;
}
Struktur do-while
Statemen_yang_akan_diulang;
…
} while (ekspresi); /* Ingat tanda semicolon (;) */
int main(void) {
int j;
printf(“Statemen sebelum blok pengulangann”);
j = 10;
do {
printf(“Statemen di dalam blok pengulangann”);
j++;
} while (j < 5);
printf(“Statemen setelah blok pengulangann”);
return 0;
}
int main(void) {
int j;
printf(“Statemen sebelum blok pengulangann”);
j = 10;
while (j<5 br=””>{
printf(“Statemen di dalam blok pengulangann”);
j++;
}
printf(“Statemen setelah blok pengulangann”);
return 0;
}
Fungsi dalam Bahasa C
…. return 0; /* Mengembalikan nilai 0 */
}
…
exit(0); /* dapat ditulis exit (EXIT_SUCCESS) */
}
Fungsi Tanpa Nilai Balik (Prosedur)
statemen_yang_akan_dieksekusi;
….
}
/* Mendefinisikan sebuah fungsi dengan nama Tulis10Kali */
void Tulis5Kali(void)
{
int j;
for (j=0; j<5 br=”” j=””>{printf(“Saya sedang belajar bahasa Cn”);}
}
int main(void)
{
Tulis5Kali(); //Memanggil fungsi Tulis5Kali
return 0;
}
Fungsi Dengan Nilai Balik
Statemen-yang_akan_dieksekusi;
….
return nilai_balik;
}i
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;
}
Parameter dalam Bahasa C
return ++x;
}
int a=10, hasil;
hasil=TambahSatu(a);
return 0;
}
Parameter Masukan
#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;
}
Parameter Keluaran
#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;
}
Parameter Masukan/Keluaran
#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(¶m);
printf(“Keliling lingkaran dengan jari-jari %d : %f”, R, param);
return 0;
}
Array dalam Bahasa C
#define MAX 5
int main()
{
int A[MAX];
int j;
/* Memasukkan nilai ke dalam elemen array*/
printf(“Memasukkan nilai:n”);
for (j=0; j
/* Menampilkan nilai dari elemen array*/
printf(“nMenampilkan nilai:n”);
for (j=0; j
return 0;
}
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;
}
#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;
}
Inisialisasi Array
int B[5] = {10];
int C[5] = {10, 0, 30};
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 harin”,bln,thn,jhari);}
Array Konstan
Array Multi Dimensi
String dalam Bahasa C
Pointer dalam Bahasa C
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
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 : %pn”,&a);
printf(“alamat b : %pn”,&b);
printf(“alamat pointer1 : %pnn”,pointer1);
printf(“isi a : %dn”,a);
printf(“nilai dari b : %dn”,b);
printf(“nilai yang ditunjuk oleh pointer1 : %dn”,*pointer1);
}
Pointer dan Array
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 */
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: ttMenggunakan pointer:n”);
for (j=0; j<10 br=”” j=”” p=””>{printf(“%dtttt%dn”, A[j], *P);}
return 0;
}