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




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
Description: https://ekaswantara.files.wordpress.com/2009/12/images-c2.jpg?w=390Syntax :  for (inisialisasi ; syarat ; penambahan) {
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:
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6cRvt1jOvcATS4xhC2Gy_JxTkK1lL6HfKIB1lly9znOxYI9G5sWY8qIQH1rwC-RYyN8BYDcMms0cRaWnapzckvVlrUVzNfPwDcHoMKg9U6-GTmOeTpaIwtCX3TVZPrf2Smlufdk03l8I/s400/mnu.pngSwitch (pernyataan)
{
   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.



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
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

Popular posts from this blog

Soal-Soal Ujian Sertifikasi BPPTIK (TIK.OP02.002.01 Mengoperasikan printer)