NAMA : RAKHA
ADITYAPERMANA
KELAS : 1ID07
1. “Pengantar Pemrogaman”
A. PENGERTIAN BAHASA C
Bahasa Pemrograman C adalah sebuah bahasa pemrograman
komputer yang bisa digunakan untuk membuat berbagai aplikasi (general-purpose
programming language), mulai dari sistem operasi (seperti Windows
atau Linux), antivirus, software pengolah gambar (image
processing), hingga compiler untuk bahasa pemrograman, dimana C
banyak digunakan untuk membuat bahasa pemrograman lain yang salah satunya
adalah PHP.Meskipun termasuk general-purpose programming language, yakni bahasa pemrograman yang bisa membuat berbagai aplikasi, bahasa pemrograman C paling cocok merancang aplikasi yang berhubungan langsung dengan Sistem Operasi dan hardware. Ini tidak terlepas dari tujuan awal bahasa C dikembangkan.
Bahasa pemrograman C dibuat pertama kali oleh Dennis M. Ritchie pada tahun 1972. Saat itu Ritchie bekerja di Bell Labs, sebuah pusat penelitian yang berlokasi di Murray Hill, New Jersey, Amerika Serikat.
Ritchie membuat bahasa pemrograman C untuk mengembangkan sistem operasi UNIX. Sebelumnya, sistem operasi UNIX dibuat menggunakan bahasa assembly (assembly language). Akan tetapi bahasa assembly sendiri sangat rumit dan susah untuk dikembangkan.
Dengan tujuan mengganti bahasa assembly, peneliti di Bell Labs membuat bahasa pemrograman B. Namun bahasa pemrograman B juga memiliki beberapa kekurangan, yang akhirnya di lengkapi oleh bahasa pemrograman C.
Dengan bahasa C inilah sistem operasi UNIX ditulis ulang. Pada gilirannya, UNIX menjadi dasar dari banyak sistem operasi modern saat ini, termasuk Linux, Mac OS (iOS), hingga sistem operasi Android.
B. STRUKTUR BAHASA C
Kode program yang telah jalankan
sebelumnya sangat sederhana, tapi sudah mewakili struktur dasar dari sebuah
bahasa pemrograman C. Berikut kode program tersebut:
1
2
3
4
5
6
|
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return
0;
}
|
#include
<stdio.h>
Di baris paling awal, terdapat kode #include.
Perintah #include digunakan untuk memasukkan sebuah file khusus yang
memungkinkan kita mengakses berbagai fitur tambahan dalam bahasa C.
Dalam contoh diatas, file stdio.h
berisi kode program agar nantinya kita bisa mengakses perintah printf.
File stdio.h sendiri merupakan singkatan dari Standard Input/Output.
Dengan kata lain, agar di dalam kode
program nanti kita bisa menggunakan perintah printf, dibagian paling
atas kode program C harus terdapat baris #include <stdio.h>. File
include ini juga sering disebut sebagai header file, dan karena itu pula
menggunakan akhiran .h.
Bahasa C menerapkan konsep modular,
dimana fitur-fitur yang ada di pecah ke berbagai file. Jika ingin menggunakan
perintah tertentu, panggil header file yang sesuai.
Hasilnya, ukuran file program yang
ditulis menggunakan bahasa C menjadi efisien. Kita hanya perlu menggunakan
header file yang dibutuhkan saja. Namun kebalikannya, setiap ingin menggunakan
perintah tertentu, harus men-include-kan file header yang dibutuhkan.
int
main(void) { }
Satu-satunya perintah yang harus ada
di setiap kode program bahasa C adalah main().
Struktur main() sendiri pada
dasarnya merupakan sebuah fungsi (function). Isi dari function ini
diawali dan diakhiri dengan tanda kurung kurawal ” { ” dan ” } “. Di dalam
tanda kurung inilah “isi” dari kode program penyusun fungsi main()
ditulis.
Kode int sebelum main()
menandakan nilai kembalian atau hasil akhir dari function main().
Kode int merupakan singkatan dari integer, yakni tipe data angka
bulat.
Dengan demikian, kode program main()
yang saya tulis diatas harus menghasilkan sebuah angka bulat (menggunakan
perintah return yang akan kita bahas sesaat lagi).
Sedangkan tambahan void ke
dalam main(void) menandakan bawah fungsi main() tidak membutuhkan
nilai input (bahasa inggris void = kosong).
* Jika anda agak bingung dengan
penjelasan ini, bisa dianggap bahwa int main(void) { } adalah perintah
yang mengawali setiap kode program bahasa C.
printf(“Hello,
World!\n”);
Perintah printf digunakan
untuk menampilkan sesuatu ke layar. Perintah ini merupakan bagian dari stdio.h,
sehingga jika kita ingin menggunakannya, harus terdapat baris perintah #include
<stdio.h> di bagian paling awal kode program bahasa C.
Teks yang ingin ditampilkan ditulis
dalam tanda kurung dan di dalam tanda kutip dua, seperti: printf(“Hello,
World!\n”); Hasil dari perintah ini, akan tampil teks Hello, World!
di layar. Tapi apa fungsi tambahan karakter \n?
Jika ditulis di dalam teks, karakter
” \ ” dikenal sebagai escape character. Fungsinya untuk menampilkan
karakter yang tidak bisa ditulis. Sebagai contoh, \n merupakan perintah
untuk menulis newline character, yakni karakter penanda baris baru.
Artinya, perintah printf(“Hello,
World!\n”) akan menampilkan teks “Hello, World!”, kemudian pindah ke
baris baru. Bahasa C mendukung berbagai escape character yang nantinya
juga akan kita pelajari.
Setelah tanda kurung penutup
perintah printf, harus ditutup dengan tanda titik koma (semi-colon),
yakni tanda “ ; ”. Setiap perintah bahasa C, harus diakhiri dengan tanda ini,
kecuali beberapa perintah khusus. Lupa menambahkan tanda titik koma di akhir
sebuah perintah merupakan error yang sangat sering terjadi.
return 0;
Perintah return 0; berhubungan dengan kode int
main(void) sebelumnya. Disinilah kita menutup function main()
yang sekaligus mengakhiri kode program bahasa C.
Return 0 artinya kembalikan
nilai 0 (nol) ke sistem operasi yang menjalankan kode program ini. Nilai
0 menandakan kode program berjalan normal dan tidak ada masalah (EXIT_SUCCESS).
Kita juga bisa menulis return 1, return 99, return -1, dll.
Nilai-nilai ini nantinya bisa digunakan oleh sistem operasi atau program lain.
Nilai return selain 0 dianggap terjadi error atau sesuatu yang salah
(EXIT_FAILURE).
Apakah perintah Return 0 ini harus ditulis? Harus
ditulis! jika kita berpatokan ke struktur bahasa C yang ideal. Namun
beberapa compiler (termasuk Code:Blocks yang saya gunakan), akan
“memaafkan” jika perintah ini tidak ditulis dan menambahkan perintah return 0 secara
otomatis (tidak disarankan).
C. CONTOH BAHASA C
Cara
Membuat Fungsi pada Bahasa C
Fungsi pada bahasa pemrograman C
dapat kita buat dengan cara seperti ini:
Fungsi biasanya akan mengembalikan
sebuah nilai dari hasil prosesnya. Karena itu, kita harus menentukan tipe data
untuk nilai yang akan dikembalikan.
Apabila fungsi tersebut tidak
memiliki nilai kembalian, maka kita harus menggunakan tipe void untuk menyatakan kalau fungsi tersebut tidak akan
mengembalikan nilai apa-apa.
Contoh:
void nama_fungsi(){
printf("Ini
adalah sebuah fungsi\n");
}
Lalu untuk parameter bersifat
opsional, nanti akan kita bahas lebih dalam.
Sekarang mari kita coba membaut
program C dengan fungsi.
Silahkan buat file baru bernama contoh_fungsi.c kemudian isi dengan kode berikut:
#include <stdio.h>
// membuat fungsi
say_hello()
void say_hello(){
printf("Hello
Selamat Datang!\n");
}
void main(){
//
memanggil fungsi say_hello()
say_hello();
}
Hasilnya:
Fungsi say_hello() dapat kita panggil berulang kali pada fungsi main().
Contoh:
#include <stdio.h>
// membuat fungsi
say_hello()
void say_hello(){
printf("Hello
Selamat Datang!\n");
}
void main(){
//
memanggil fungsi say_hello()
say_hello();
say_hello();
say_hello();
}
Maka hasilnya:
Jadi, cukup buat fungsi satu kali.
Kita bisa panggil berkali-kali.
Fungsi
dengan Parameter
Parameter adalah variabel yang
menyimpan nilai untuk diproses di dalam fungsi.
Parameter akan menyimpan nilai yang
akan diinputkan ke dalam fungsi.
Contoh:
void say_hello(char name[]){
printf("Hello
%s!\n", name);
}
Pada contoh di atas, name adalah sebuah parameter berupa array dengan tipe char. Parameter ini hanya akan dikenali di dalam fungsi.
Lalu, bagaimana cara memanggil
fungsi yang memiliki parameter?
Berikut caranya:
say_hello("Petani Kode");
Perhatikan! "Petani
Kode" adalah nilai yang akan kita berikan
ke parameter.
Biar lebih paham… mari kita coba
dalam program.
Silahkan buat program baru dengan
nama parameter.c, kemudian
isi dengan kode berikut:
#include <stdio.h>
void say_hello(char name[]){
printf("Hello
%s!\n", name);
}
void main(){
say_hello("Dian");
say_hello("Petani");
say_hello("Kode");
}
Hasilnya:
Hasil outputnya akan menyesuaikan
dengan nilai parameter yang kita berikan ke dalam fungsi.
Lalu bagaimana kalau ada lebih dari
satu parameter?
Gampang…
Tinggal ditambahkan dan dipisah
dengan tanda koma seperti ini:
void add(int a, int b){
printf("%d
+ %d = %d\n", a, b, a+b);
}
Mari kita coba…
Buatlah program baru barnama dua_param.c, kemudian isi dengan kode berikut:
#include <stdio.h>
void add(int a, int b){
printf("%d
+ %d = %d\n", a, b, a+b);
}
void main(){
add(1, 4);
add(8, 2);
add(3, 2);
}
Hasilnya:
Fungsi
yang Mengembalikan Nilai
Pada contoh di atas, kita memberikan
nilai masukan ke dalam fungsi berupa integer…
…lalu di dalamnya dilakukan operasi
penjumlahan.
void add(int a, int b){
printf("%d
+ %d = %d\n", a, b, a+b);
}
Fungsi ini tidak akan mengembalikan
apa-apa, karena tipe data yang diberikan pada nilai kembalian adalah void.
Fungsi kadang harus mengembalikan
sebuah nilai agar dapat diproses di tahap berikutnya.
Kita bisa menggunakan kata kunci return untuk mengembalikan nilai dari fungsi.
Contoh:
int add(int a, int b){
return a+b;
}
Maka fungsi add() akan mengembalikan nilai berupa integer dari hasil
penjumlahan nilai a
dan b.
Mari kita coba contoh yang lain…
Silahkan buat program baru bernama fungsi_bagi.c, kemudian isi dengan kode berikut:
#include <stdio.h>
float bagi(int a, int b){
float hasil = (float)a / (float)b;
return hasil;
}
void main(){
printf("Hasil
5/2: %.2f\n", bagi(5, 2));
}
Hasilnya:
Fungsi
Rekursif pada C
Fungsi rekursif adalah fungsi yang
memanggil dirinya sendiri.
Maksudnya?
Biasanya kita memanggil fungsi pada
fungsi main atau fungsi yang lainnya. Namun, pada fungsi rekursif…
…fungsi itu akan memanggil dirinya
sendiri di dalam tubuh fungsi.
Biar lebih jelas!
Coba perhatikan contoh berikut:
#include <stdio.h>
int sum(int n);
void main(){
int number, result;
printf("Enter
a positive integer: ");
scanf("%d", &number);
result = sum(number);
printf("sum
= %d", result);
}
int sum(int num){
if (num!=0)
return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri
else
return num;
}
Hasilnya:
Mengapa hasilnya bisa 21?
Karena kita menginputkan nilai 6, maka akan sama dengan:
1 + 2 + 3 + 4 + 5 + 6
= 21
Variabel
Lokal dan Variabel Global
Variabel lokal dan variabel global
akan sering kita temukan dalam pembuatan fungsi.
Variabel global adalah variabel yang
bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang
hanya bisa diakses dari dalam fungsi itu sendiri.
Contoh:
#include <stdio.h>
// membuat variabel
global
int nilai = 9;
void main(){
//
membuat variabel lokal
int nilai = 7;
//
mencetak variabel
printf("Nilai:
%d\n", nilai);
}
Pada contoh di atas, kita membuat
variabel global bernama nilai.
Lalu di dalam fungsi main(), kita membuat variabel lagi bernama nilai dengan nilai yang berbeda.
Variabel yang ada di dalam fungsi main() adalah variabel lokal.
Lalu, berapakah hasil outputnya?
Jawabannya: 7
Mengapa bisa 7?
Karena variabel nilai kita buat ulang di dalam fungsi main.
Sekarang coba hapus variabel lokal
yang ada di dalam main, sehingga akan menjadi seperti ini:
#include <stdio.h>
// membuat variabel
global
int nilai = 9;
void main(){
//
mencetak variabel
printf("Nilai:
%d\n", nilai);
}
Maka hasil outputnya akan 9. Karena variabel yang dipakai adalah variabel global.
Pass
by Value dan Pass by Reference
Pass by value dan pass by reference
adalah cara untuk memberikan nilai pada paramaeter.
Biasanya kita langsung memberikan
nilai kepada parameter dengan cara seperti ini:
kali_dua(4);
Ini disebut pass by value, karena di
sana kita memberikan nilai 4.
Nah kalau seperti ini:
kali_dua(&nama_variabel);
Ini disebut pass by reference,
karena kita memberikan alamat memori.
Contoh:
#include <stdio.h>
void kali_dua(int *num){
*num = *num * 2;
}
void main(){
int angka = 9;
//
memanggil fungsi
kali_dua(&angka);
//
mencetak isi variabel
//
setelah fungsi dipanggil
printf("isi
variabel angka = %d\n",
angka);
}
Hasilnya:
Fungsi kali_dua() memiliki parameter berupa pointer, artinya kita harus memberikan alamat memori untuk pointer
ini.
Pada saat pemanggilan, fungsi kali_dua() kita isi parameternya dengan alamat memori dari variabel angka.
Maka hasilnya nilai variabel angka
akan dikalikan dengan 2
berdasarkan rumus pada fungsi yang kita berikan.
2 -4 .“KOMPONEN BAHASA C”
A. CHARACTER SET , Character set adalah sekumpulan karakter yang biasanya berupa angka, huruf dan
berbagai karakter lain yang terstandarisasi, yang masing-masing memiliki ID
unik yang disebut code point. Karakter yang ditampung pada suatu character
set tergantung pada jenis character set itu sendiri.
B. IDENTIFIER ,
Identifier adalah suatu
pengenal atau pengidentifikasi yang kita deklarasikan agar kompiler dapat
mengenalinya. Identifier sendiri dapat berupa nama variabel, konstanta
fungsi, kelas, template maupun namespace. Biasanya identifier ini
terdiri dari 3 bentuk,yaitu privat public dan proected…
C. KEYWORD ,
Keyword adalah kata atau
rangkaian kata yang dituliskan user di mesin pencari untuk menemukan halaman
web yang sesuai, berisi informasi yang mereka cari. Kata atau rangkaian kata
yang Anda tuliskan di atas adalah keyword. Contoh : Anda ingin membeli
baju muslim secara online
D. TIPE DATA ,
Tipe data yang dimaksud di dalam ilmu komputer dan bahasa pemrograman adalah
Kumpulan benda atau objek yang dapat kita temui pada suatu data. Salah satu
contoh dari tipe data yang kita temui sehari hari adalah tentang bilangan
bulat. PHP sendiri termasuk bahasa pemrograman yang longgar untuk masalah tipe
data, ketika menggunakan PHP, kita tidak perlu dipusingkan dengan tipe data, karena
ketika melakukan operasi, PHP akan otomatis mengubah nilai sesuai dengan tipe
data yang diperlukan.
E. KONSTANTA , Dalam
matematika, konstanta atau tetapan adalah suatu nilai tetap; berlawanan
dengan variabel yang berubah-ubah. Konstanta digunakan dalam berbagai
disiplin ilmu sains. Beberapa konstanta diberi nama menurut nama
penemunya.
F. VARIABEL DAN
ARRAY , Array
merupakan sebuah variabel yang menyimpan lebih dari 1 buah data yang
memiliki tipe data yang sama. Jadi dapat dikatakan bahwa array merupakan
kumpulan dari data-data tunggal yang dijadikan dalam 1 variabel array.
Sedangkan Variabel adalah suatu tempat untuk menampung data yang
nilainya selalu berubah.
G. DECLARASI ,
Pengertian, Bentuk Umum, dan Deklarasi Array. Pengertian Array
adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan
dengan nama yang sama. ... Variabel array dideklarasikan dengan
mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori
yang ingin dibuat.
H. EXPRESSION , xpression
adalah ekspresi yang sering dikeluarkan atau perkataan yang diucapkan oleh
orang dalam kehidupan sehari-hari. Berikut ini adalah kumpulan kata-kata dari
daily expression yang diucapkan dalam bahasa Inggris dan diterjemahkan
ke dalam bahasa Indonesia: 1.
I. STATEMENT , Statement.
... Berikut ini adalah penjelasan dari arti kata statement berdasarkan
survei serta penjelasan dari pengguna internet: Arti kata statement
menurut Kamus Bahasa Inggris – Indonesia adalah: kb. 1 pernyataan (to the
press). to make a s. memberikan pengumuman, membuat pernyataan.
J. SYMBOLIC CONSTANT , Konstanta matematika
adalah sebuah bilangan
khusus, biasanya sebuah bilangan riil, yang "sangat menarik dalam
beberapa cara".[1]
Konstanta muncul dalam berbagai bidang matematika,
di mana konstanta seperti e dan π
terdapat dalam konteks yang beragam seperti geometri, teori
bilangan, dan kalkulus. Maksud sebuah konstanta muncul "secara alami", dan apa yang membuat sebuah konstana "menarik", pada akhirnya adalah masalah perasaan, dan beberapa konstanta matematika lebih penting untuk alasan historis daripada untuk kepentingan matematika intrinsik mereka. Konstanta yang lebih populer telah dipelajari sepanjang masa dan dihitung dalam banyak angka desimal.
K. OPERATOR , Operator Lapangan /ope·ra·tor/ n orang yang bertugas
menjaga, melayani, dan menjalankan suatu peralatan, mesin, telepon, radio, dan
sebagainya. Operator adalah jenis pekerjaan fungsional di dalam suatu
industri. Tugas utama dari operator lapangan adalah menjalankan suatu
operasi.
5. INPUT DAN OUTPUT DASAR
A. FUNGSI KARAKTER , Karakter
merupakan sifat batin yang berpengaruh terhadap pikiran, tingkah laku,
perilaku, budi pekerti, dan tabiat yang manusia miliki sejak lahir sampai
menjadi dewasa, Selain itu, Karakter merupakan nilai-nilai yang khas,
baik akhlak, watak, serta kepribadian yang terbentuk dari hasil internalisasi
dari berbagai
B. FUNGSI
PRINTIF DAN SCANTIF , Fungsi scanf()
adalah fungsi untuk mengambil input dari keyboard. Fungsi ini
memiliki format seperti fungsi printf() . Format yang diberikan
tergantung dari jenis tipe data apa yang ingin kita ambil. Misalnya mau
mengambil angka, maka kita bisa pakai %d atau %i .
C. FUNGSI STRING
, Fungsi string adalah fungsi yang digunakan untuk melakukan
manipulasi (mengambil, mengubah) data karakter/string. String
sendiri merupakan kumpulan karakter, angka, kombinasi huruf & angka.
E. COUNTINUATION
CHARACTER , karakter untuk ke depannya.
"DAFTAR PUSAKA"
https://www.duniailkom.com/ tutorial-belajar-c-pengertian- bahasa-pemrograman-c/
"DAFTAR PUSAKA"
https://www.duniailkom.com/