Komponen Bahasa C
Penyusun :
Anwar Dwi Prasetya |
30415908
Evindonta Kaban | 32415305
Gigih Ibnu Jafar | 32415891
M. Rosyad | 34415779
Vidya Susanti | 37415029
Universitas Gunadarma
1ID09
Teknologi Industri
2016
Kata Pengantar
Puji Syukur kehadirat Tuhan Yang Maha Esa atas
segala limpahan Rahmat, Inayah, Taufik dan Hinayahnya sehingga kami dapat
menyelesaikan penyusunan makalah ini dalam bentuk maupun isinya yang sangat
sederhana. Semoga makalah ini dapat dipergunakan sebagai salah satu acuan,
petunjuk maupun pedoman bagi pembaca dalam ke Ilmuan Dasar Komputer dan
Pemrograman khususnya Komponen Bahasa C.
Harapan kami semoga makalah ini membantu
menambah pengetahuan dan pengalaman bagi para pembaca, sehingga saya dapat
memperbaiki bentuk maupun isi makalah ini agar kedepanya lebih baik.
Makalah ini kami akui masih banyak kekurangan
karena pengalaman kami yang miliki masih sangat kurang. Oleh karena itu saya
harapakan kepada para pembaca untuk memberikan kritik dan saran yang bersifat
membangun untuk kesempurnaan makalah ini.
Bekasi , 16 Maret 2016
Penyusun
Daftar Isi
BAB I
Pendahuluan
A.
Latar Belakang
C
merupakan bahasa pemrograman yang berkekuatan tinggi (powerful) dan fleksibel
yang telah banyak digunakan oleh para programmer profesional untuk
mengembangkan program-program yang sangat bervariasi dalam berbagai bidang.
Namun sebelum anda mempelajari lebih jauh mengenai bahasa C beserta
implementasinya, sebaiknya anda mengetahui terlebih dahulu komponen bahasa C
dan pengentahuan dasar tentang bahasa C.
B.
Rumusan Masalah
1. Apa saja penyusun Control
Statement Bahasa C ?
2. Apa yang dimaksud Fungsi
Bahasa C ?
3. Apa yang dimaksud Variabel
Bahasa C ?
C.
Tujuan
1. Menjelaskan Control Statement
Bahasa C
2. Menjelaskan Fungsi Bahasa C
3. Menjelaskan Variabel
Bahasa C
BAB II
Komponen Bahasa C
1.1 Control Satement Bahasa
C
1.1.1
For
Loop
Looping
dalam C , Perulangan data atau yang biasa disebut dengan “looping” adalah
proses yang dilakukan secara berulang-ulang sampai batas yang ditentukan.
Biasanya bila dalam perulangan tersebut tidak disertakan batasnya maka syntax
akan error karena proses itu akan berulang terus hingga tak terhingga sementara
variabel dalam komputer masih terbatas.
Jenis
:
a.
FOR
pernyataan}
inisialisasi
: keadaan awal dari variabel control
syarat
: ekspresi relasi yang merupakan kondisi
penambahan
: pengatur perubahan nilai variabel control
Contoh
:
for
(i=0;i<10;i++)
{
p=2+i;
}
For
: untuk mengulang suatu proses yang telah diketahui jumlahnya. Struktur
Perulangan digunakan untuk mengulang sekumpulan perintah sesuai dengan kondisi
yang diberikan. Proses perulangan biasanya digunakan untuk mengulang proses
pemasukan data, mengulang proses perhitungan dan mengulang untuk proses
penampilan hasil pengolahan data, dengan jumlah tertentu jika sebuah kondisi
belum terpenuhi.
Pada
bahasa pemrograman, perulangan proses ditangani dengan suatu mekanisme yang
dinamakan dengan nama loop. Dengan loop, suatu proses yang berulang
dapat diimplementasikan dengan menggunakan statement–statementyang pendek,
tanpa harus menuliskan statemen berulang-ulang.
For
Statement
Ini
adalah statement perulangan yang paling sering digunakan. Statement for
memiliki 3 parameter, yaitu nilai awal (initial value), tes kondisi yang
menentukan akhir loop, dan penentu perubahan nilai.
Bentuk
umum :
For
(<init-exp> ; <test-exp> ; <inc/dec-exp> )
Statement
;
Keterangan
:
Init-exp
: ekspresi yang digunakan untuk melakukan inisialisasi terhadap
variable-variabel tertentu, terutama variable yang digunakan untuk melakukan
iterasi. Init-exp dapat berupa ekspresi maupun pendefinisian variable. Test-exp
: ekspresi yang memegang control terhadap proses perulangan tersebut, pada
bagian ini akan ditentukan apakah proses perulangan akan tetap berlangsung atau
tidak. Inc/dec-exp : digunakan untuk mengatur perubahan nilai variable. Umumnya
nilai variable tersebut bertambah / berkurang 1 (satu)
1.1.2
IF-ELSE
(Jika tidak)
Pengertian
Struktur IF-ELSE Stuktur IF-ELSE merupakan percabangan logika lanjutan dari IF. Dengan IF-ELSE kita bisa membuat kode program yang
akan menyeleksi berbagai kemungkinan yang bisa terjadi.
Jika anda bertanya apa perbedaan IF dengan IF-ELSE, maka jawabanya
terletak di efisiensi pemrosesan. Contoh diatas bisa juga kita buat tanpa
menggunakan IF-ELSE seperti
berikut ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php $a=15; $b=8; if ($a > $b) { echo "a
lebih besar daripada b"; } if ($a == $b) { echo "a
sama besar dengan b"; } else { echo "a
lebih kecil daripada b"; } ?> |
Perhatikan kode program pada baris ke-9, saya mengganti IF-ELSE menjadi IF. Perbedaannya adalah, untuk
contoh kode PHP kita tanpa IF ini, seluruh kondisi akan dijalankan, walaupun
sebenarnya tidak perlu. Jika $a=15 dan $b=8, maka kondisi IF
pertama akan terpenuhi($a > $b), dan kita ingin program PHP keluar dari
IF. Namun karena perintah selanjutnya adalah IF, maka PHP akan tetap memeriksa
apakah ($a == $b).
1.1.3
While
Loop
Looping
, Perulangan data atau yang biasa disebut dengan “looping” adalah proses yang
dilakukan secara berulang-ulang sampai batas yang ditentukan. Biasanya bila
dalam perulangan tersebut tidak disertakan batasnya maka syntax akan error
karena proses itu akan berulang terus hingga tak terhingga sementara variabel
dalam komputer masih terbatas.
While
Loop, untuk mengulang suatu proses yang belum diketahui jumlahnya. Pengecekan
kondisi akan dilakukan terlebih dahulu. Jika kondisi masih bernilai true, maka
looping akan terus berlanjut.
PERULANGAN / LOOP
Struktur
Perulangan digunakan untuk mengulang sekumpulan perintah sesuai dengan kondisi
yang diberikan. Proses perulangan biasanya digunakan untuk mengulang proses
pemasukan data, mengulang proses perhitungan dan mengulang untuk proses
penampilan hasil pengolahan data, dengan jumlah tertentu jika sebuah kondisi
belum terpenuhi.
Bentuk
umum While :
<Inisialisasi>
while
(kondisi)
{
Pernyataan
;
}
Pada
bahasa pemrograman, perulangan proses ditangani dengan suatu mekanisme yang
dinamakan dengan nama loop. Dengan loop, suatu proses yang berulang
dapat diimplementasikan dengan menggunakan statement–statementyang pendek,
tanpa harus menuliskan statemen berulang-ulang
WHILE STATEMENT
Pernyataan
while adalah pernyataan yang berguna untuk memproses suatu pernyataan atau
memproses pernyataan beberapa kali. Pernyataan atau aksi akan di ulang jika
kondisi bernilai benar dan jika salah maka keuar dari blok perulangan (loop).
1.1.4
Switch
Statement
Switch
Statement digunakan untuk melakukan pemilihan terhadap ekspresi atau kondisi yang
memiliki nilai-nilai konstan. Oleh Karena itu, ekspresi yang di definisikan
harus menghasilkan nilai yang bertipe bilangan bulat atau karakter. Untuk
mendefinisikan nilai-nilai konstan tersebut adalah dengan menggunakan kata
kunci case. Hal yan perlu Anda perhatikan juga dalam melakukan pemilihan dengan
menggunakan statement Switch ini adalah kita harus menambahkan statement break
pada setiap nilai yang kita definisikan.
Bentuk
umum dari Switch Case adalah sebagai berikut:
{
case nilai_konstan1:
blok_pernyataan1;
break;
case nilai_konstan2:
blok_pernyataan2;
break;
...
...
default:
blok_pernyataan n;
}
Keterangan :
Tipe data dari pernyataan harus
karakter atau integer. Default mengekspresikan statement alternatife yaitu jika
nilai yang dimasukan tidak sesuai dengan nilai nilai konstan yang telah
didefinisikan. Break berfungsi sebagai statement peloncatan.
1.1.5
Break
And Continue
Break digunakan
untuk mengakhiri sebuah eksekusi sebuah kontrol perulangan dan switch. Kali ini
kita akan mencoba untuk mengakhiri sebuah perulangan while, saya memiliki
sebuah data yang tersimpan dalam array dimana ada lima nilai yang tersimpan
yaitu, jam, tanggal, hari, bulan, tahun kemudian jika sebuah perulangan while
dalam kondisi atau sama dengan (==) “hari” maka perulangan akan dihentikan
untuk lebih jelasnya seilahkan perhatikan gambar dibawah ini.
Break juga
dapat diikuti oleh sebuah bilangan, nantinya bilangan tersebut menjadi sebuah
indikasi sebuah blok bersarang yang diakhiri, blok pertama yaitu while dan blok
kedua adalah switch. Perhatikan sorce code berikut dimana sebuah perulangan
akan dihentikan oleh perintah break yang diikuti oleh sebuah bilangan, misal
“break 1;” menandakan bahwa perintah dihentikan dan keluar dari steatment
bentuk dua .
Continue
digunakan untuk melompati sebuah perulangan yang sudah ditentukan dan
melanjutkan perulangan kembali. Sebagai contoh kita ingin menampilkan sebuah
angka 0,1,3,4,5,6 menggunakan perulangan atau steatment for dimana nantinya bila
kondisi perulangan atau nilai sama dengan (==) “2” maka perulangan akan
dihentikan dan kemudian dilanjutkan kembali.
1.2 Fungsi Bahasa
C
1.1 Definisi Fungsi
Fungsi
adalah sup-program yang menerima data masukan atau parameter inputan, kemudian
melakukan beberapa proses, dan dilanjut dengan mengembalikan nilai hasil proses
yang akan digunakan oleh proses yang memanggil fungsi trsebut. Pendeklarasian
fungsi merupakan salah satu cara memecah persoalan kedalam beberapa sub
persoalan yang lebih mudah diselesaikan. Struktur umum sebuah fungsi adalah
sebagai berikut:
Jika
kita melihat struktur penulisan fungsi, strukturnya hampir sama atau bahkan
sama persis dengan program utama. Pada dasarnya, pemrograman menggunakan bahasa
C adalah pemrograman dengan struktur fungsi, dimana setiap kode program yang
dituliskan harus dalam bentuk fungsi, tak terkecuali program utama. Program
utama merupakan suatu fungsi dengan nama main() yang
tidak memiliki nilai kembali atau nilai kembalinya adalah kosong (0). Oleh
karena itu, kita juga dapat menuliskan program utama mengguanakan void main() atau
dengan int main(), dengan return value-nya 0.
Saat program utama dijalankan, kode program yang pertama
dieksekusi adalah fungsimain(). Oleh
karena itu, setiap program minimal harus memiliki satu fungsi yaitumain(), dimana isi dari
fungsi ini adalah inti dari program.
Perhatikan contoh program mencari luas persegi
panjang berikut:
perharikan program menghitung
luas persefi panjang diatas. Pada program tersebut, dalam mengbhitung lias
persegi panjang dapat kita jadikan fungsi seperti berikut:
Pada
program diatas, tampak bahwa kode program yang dibangun menggunakan fungsi
lebih banyak dibandingkan dengan yang tidak menggunakan fungsi. Jika kita
menulis dengan memggunakan fungsi, maka akan mempermudah kita dalam membagi
beberapa masalah. Selain itu, jika kita ingin menggunakan lagi perhitungan yang
lain, kita harus memanggil fungsi tersebut dengan parameter yang sesuai dengan
masalahnya.
Namun
jika kita tidak menggunakan fungsi, maka kode programnya harus kita tulis
ulang. Untuk menganggil fungsi, harus diisikan pada suatu nilai tertentu yang
tipenya sesuai dengan tipe nilai fungsi kembaliannya. Misalnya pada contoh
diatas, variabelluasUtama yang akan diisikan
oleh nilai fungsi tersebut.
Contoh
yang lain dalam penggunaan fungsi adalah penentuan index nilai mahasiswa dimana
inputannya adalah nilai dengan sekala 0 - 100 dan menghasilkan index A, B, C,
D, dan E. Seperti pada contoh berikut:
1.2 Argumen Fungsi dengan Konstanta
atau Variable.
Konstanta
adalah sebuah tetapan yang tidak dapat diubah nilainya ketika program berjalan.
Dalam bahasa C, para programmer biasanya menggunakan sebuah makro untuk membuat
suatu konstanta, yaitu dengan mendefinisikanya melalui directive #define.
Meskipun
tidak bersifat mutlak, namun kebanyakan para programmer C mendefinisikan sebuah
makro dengan menggunakan huruf besar (kapital). Selain menggunakan directive
#define, bahasa C juga menyediakan kata kunci const untuk membentuk suatu konstanta.
Berikut ini bentuk umum pembulatanya.
Const tipe_data nama_konstanta = nilai_kontan;
Sebagai
contoh apabila kita akan membuat kosntanta PI dengan menggunakan kata kunci
const, maka kita akan menuliskanya sebagai berikut.
Const
double PI = 3.1416;
Variabel
yang terdapat pada bahasa C cukuo beragam, untuk itu kita harus mengenalnya
satu per satu sehingga kita tidak akan merasa kesulitan dalam
mengiplementasikannya ke dalam sebuah program. Menurut jenisnya, variabel
dalama bahasa C dibedakan menjadi empat macam.
1.3 Multifungsi
1.4 Recursion
Rekursif adalah fungsi yang memanggil dirinya sendiri secara langsung ataupun
tidak, dan proses pemanggilannya itu disebut rekursi. Masalah yang dapat
diselesaikan secara rekursif adalah masalah yang dibagi menjadi satu atau lebih masalah-masalah serupa yang lebih kecil.
Simple Cases adalah kondisi-kondisi yang dapat
diselesaikan secara langsung tanpa perlu di-rekursi dan biasanya digunakan
sebagai tanda akhir dari sebuah rekursi. Recursive Case adalah kondisi-kondisi yang
diselesaikan dengan cara memanggil fungsi itu sendiri dengan problem yang
semakin berkurang mendekati simple case.
Dalam potongan program:
.
Contoh
:
Simple
Case : if(bilangan2==1) return bilangan1;
Recursive
Case : return bilangan1 + Perkalian(bilangan1, bilangan2-1);
Hasil
Output : 20
Potongan
Iterasi :
int
Perkalian(int bilangan1, int bilangan2)
{
int
pro=0;
for
(int i=bilangan2;i>=1;i–)
{
pro+=bilangan1;
}
return (pro);
1.3 Variabel Bahasa C
1.3.1
Automatic
(Otomatis)
Variabel
otomatis adalah variable yang hanya dikenal di dalam suatu blok saja (dalam
tanda {…}), baik itu blok pemilihan, pengulangan ataupun fungsi. Dikatakan
‘otomatis’ karena variable ini dialokasikan pada saat pendeklarasian dan akan
didealokasikan secara otomatis ketika program keluar dari suatu blok. Walaupun
bersifat opsional, namun untuk mempertegas bahwa variable tersebut sebagai
variable otomatis, kita dapat menggunakan kata kunci auto pada saat
pendeklarasian.
·
Syntax:
auto tipe_data nama_variabel;
·
Contoh:
#include
Int
main(void) {
Int
a;
/*Melakukan
blok pemilihan*/
if
(a>0) {
auto int
var_otomatis; /*Mendeklarasikan variable otomatis */
/*
Dalam blok ini variable var_otomatis dikenali*/
…
} /*akhir
blok pemilihan*/
/*di
sini variable var_otomatis sudah tidak dikenali lagi*/
return
0;
}
Contoh
hasil yang akan diperoleh dari program di atas adalah:
Masukkan
nilai pangkat:3
5^3=125
1.3.2
Eksternal
Bahasa
C mengizinkan kita untuk menuliskan syntax program ke dalam file yang terpisah
dengan tujuan untuk modularisasi program. Untuk itu apabila kita ingin
mendeklarasikan variabel yang dapat dikenali dan diakses oleh masing-masing
file yang terpisah tersebut, maka variable itu harus kita deklarasikan sebagai
variable eksternal . Adapun caranya adalah dengan menambahkan kata kunci
ekstern pada saat pendeklarasian.
·
Syntax:
Ekstern
tipe_data nama_variabel;
·
Contoh:
Dalam
file utama.c :
#include
int
var_eksternal; /*deklarasi variable*/
int
main (void){
var_eksternal=100;
printf(“Nilai
var_eksternal:&d\n”, var_eksternal);
/*Memanggil
fungsi SetNilai() yang terdapat pada file eksternal.c*/
SetNilai();
printf(“Nilai
var_eksternal:%d\n”, var_eksternal);
return
0;
}
Dalam
file eksternal.c :
…
extern
int var_ eksternal;
void
SetNilai(void) {
var_eksternal=500;
}
…
Apabila
dikompilasi dan dijalankan maka program di atas akan memberikan hasil sebagai
berikut:
Nilai
var_eksternal:100
Nilai
var_eksternal:500
1.3.3
Statik
Variabel
statis adalah suatu variable yang menyimpan nilai permanen dalam memori,
artinya variable tersebut akan menyimpan nilai terakhir yang diberikan. Untuk
menyatakan bahwa suatu variable adalah variable statis adalah dengan
menggunakan kata kunci static.
·
Syntax:
static
tipe_data nama_variabel;
·
Contoh:
#include
/*Mendefinisikan
sebuah fungsi dengan nama KaliSepuluh()*/
Int
KaliSepuluh (void) {
static int
a=1; /*Mendeklarasikan variable statis*/
a=a*10;
return
a;
}
/*Fungsi
utama*/
Int
main (void) {
/*Mendeklarasikan
variable x,y, dan z untuk menampung nilai dari fungsi*/
Int
x,y,z;
x=KaliSepuluh();
/*Melakukan pemanggilan fungsi untuk pertama kali*/
y=KaliSepuluh();
/*Melakukan pemanggilan fungsi untuk kedua kali*/
z=KaliSepuluh();
/*Melakukan pemanggilan fungsi untuk ketiga kali*/
/*Menampilkan
nilai yang terdapat pada variable x,y, dan z*/
printf(“Nilai
x=%d\n”,x);
printf(“Nilai
y=%d\n”,y);
printf(“Nilai
z=%d\n”,z);
return
0;
}
Contoh
hasil yang akan diperoleh adalah:
Nilai
x =10
Nilai
y=100
Nilai
z= 1000
1.3.4
Register
Berbeda
dengan variable biasa yang akan bertempat di memori, variable register ini akan
disimpan di dalam register CPU. Dengan demikian, apabila kita ingin mengisikan
atau mengubah nilai variable register, maka kita tidak perlu melakukan akses
terhadap memori sehingga proses yang dilakukan pun lebih cepat.Perlu
diperhatikan bahwa variable register ini hanya dapat diterapkan ke tipe
bilangan bulat, karakter, dan pointer saja. Selain itu variable ini hanya boleh
dideklarasika sebagai variable lokal ataupun parameter dari fungsi. Untuk
mendeklarasikannya kita harus menggunakan kata kunci register.
·
Syntax:
register
tipe_data nama_variabel;
·
Contoh:
#include
/*Mendefinisikan
fungsi untuk menghitung nilai perpangkatan Be */
int
Pangkat(register int B, register int e){
/*Mendeklarasikan
variable register*/
register int
hasil;
hasil=1;
for(;e;e--){
hasil
*= B;
}
return
hasil;
}
/*Fungsi
utama*/
Int
main(void){
printf(“2^6=%d”,Pangkat(2,6)); /*Menghitung
26*/
return
0;
}
Hasil
yang akan diperoleh dari program di atas adalah:
2^6=64
1.3.5
Storage
Class
Storage
class menentukan storage duration, scope, dan linkage dari suatu variabel.
Storage duration adalah lama periode identifiers tersimpan dalam memori. Scope
adalah letak identifiers direferensikan dalam program. Linkage menentukan
hubungan beberapa source-file program, apakah identifier dikenali hanya di
source-file atau dikenali di beberapa source-file.
Keempat
storage classes terbagi menjadi dua storage duration, yaitu automatic storage duration (auto dan register) dan static storage duration (extern dan static).
Variabel dengan automatic storage duration dibuat saat program memasuki bagian
di mana variabel tersebut dideklarasikan, hanya dapat dipakai pada bagian
program di mana mereka dibuat, dan hilang saat program keluar dari bagian
tersebut.
Local Variables
Variabel lokal adalah variabel yang dideklarasikan dalam parameter atau tubuh suatu fungsi. Biasanya variabel lokal secara otomatis merupakan variabel jenis automatic storage duration tanpa penambahan tipe data auto.
Variabel lokal adalah variabel yang dideklarasikan dalam parameter atau tubuh suatu fungsi. Biasanya variabel lokal secara otomatis merupakan variabel jenis automatic storage duration tanpa penambahan tipe data auto.
Register Variables
Variabel
register merupakan variabel yang dideklarasikan dengan tipe data register dan
disimpan pada hardware komputer yang berkecepatan tinggi, yaitu register.
Tujuannya agar saat variabel digunakan pada perintah perulangan yang banyak,
komputer dapat menjalankannya dengan kecepatan lebih tinggi dibanding jika
variabel tersebut disimpan dalam memori.
Static Storage Class
Terdapat dua jenis static storage duration, yaitu external
identifiers (contohnya variabel global dan nama fungsi) dan variabel lokal yang
dideklarasikan dengan tipe data static. Variabel global dan nama fungsi secara
otomatis merupakan jenis extern. Variabel global dibuat di luar fungsi apa pun,
dan variabel tersebut mempertahankan nilainya sepanjang eksekusi program.
Variabel lokal bertipe data static hanya dikenali dalam fungsi di mana variabel
dideklarasikan namun ketika eksekusi program keluar dari fungsi tersebut,
variabel tersebut tetap mempertahankan nilainya. Ketika variabel tersebut
digunakan lagi, variabel tersebut mengandung nilai terakhir saat keluar dari
fungsi sebelumnya.
1.3.6
Compile
Multi-File Program
BAB III
Penutup
Kesimpulan
Bahasa C merupakan bahasa pemrograman yang
berkekuatan tinggi (powerful) dan fleksibel yang telah banyak digunakan oleh
para programmer profesional untuk mengembangkan program-program yang sangat
bervariasi dalam berbagai bidang. Namun sebelum anda mempelajari lebih jauh
mengenai bahasa C beserta implementasinya, sebaiknya anda mengetahui terlebih
dahulu komponen bahasa C dan pengentahuan dasar tentang bahasa C.
Kritik Dan Saran
Demikian makalah yang kami buat, semoga dapat bermanfaat bagi
pembaca. Apabila ada saran dan kritik yang ingin di sampaikan, silahkan
sampaikan kepada kami.
Apabila ada terdapat kesalahan mohon dapat mema'afkan dan
memakluminya, karena kami adalah hamba Allah yang tak luput dari salah khilaf,
Alfa dan lupa.
Daftar Pustaka
Daftar Pustaka
1. Gordon Dodrill, Tutorial C, Admin.Net, 1995
2. Budi Raharjo, Pemrograman C++ : Mudah dan Cepat
Menjadi Master C++, Informatika Bandung, 2006
3. Hartono Partoharsodjo, Tuntunan Praktis Pemrograman Bahasa C, Elexmedia
Komputindo Jakarta, 1989.
4. I Made Joni, Pemrograman C dan implementasinya Edisi
kedua, Informatika Bandung, 2008
Comments
Post a Comment