windows xp

Kamis, 10 November 2011

BAB I
PENDAHULUAN

A. SOURCE PROGRAM

Suatu source program (program sumber) C dapat ditulis di dalam satu atau lebih source file. Source-file C adalah suatu file teks yang berisi semua atau bagian dari source-program C.

Suatu source-program C dibentuk oleh sekurang-kurangnya satu buah fungsi. Di antara fungsi-fungsi yang ada, terdapat satu fungsi yang akan dikerjakan pertama kali jika program tersebut dijalankan. Fungsi tersebut bernama main.

Penulisan program C bebas dari aturan penggunaan kolom-kolom yang kaku. Suatu statement(pernyataan) dapat di tuliskan di kolom mana pun. Suatu statement dipandang berakhir jika ditemukan tanda akhir statement. Oleh sebab itu, di dalam suatu baris boleh terdapat lebih dari satu statement. Begitu pula, suatu statement yang panjang boleh menggunakan lebih dari satu baris.

Berikut ini adalah contoh program klasik C untuk mencetak string-literal kalimat "Hello, world!".

Program-1.1: hello.c
------------------------
#include

main()
{
printf("Hello, world!\n");
}
------------------------

B. MENGKOMPILASI PROGRAM
Suatu source program C baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi, yang sesuai, untuk menghasilkan suatuexecutable-program.

Cara melakukan kompilasi program C dapat dibaca pada petunjuk kompiler yang digunakan.

Untuk contoh program di atas, jika kompilasi dilakukan dan sukses maka anda akan memperoleh object-file hello.obj dan executable-program hello.exe
BAB I
PENDAHULUAN

A. SOURCE PROGRAM

Suatu source program (program sumber) C dapat ditulis di dalam satu atau lebih source file. Source-file C adalah suatu file teks yang berisi semua atau bagian dari source-program C.

Suatu source-program C dibentuk oleh sekurang-kurangnya satu buah fungsi. Di antara fungsi-fungsi yang ada, terdapat satu fungsi yang akan dikerjakan pertama kali jika program tersebut dijalankan. Fungsi tersebut bernama main.

Penulisan program C bebas dari aturan penggunaan kolom-kolom yang kaku. Suatu statement(pernyataan) dapat di tuliskan di kolom mana pun. Suatu statement dipandang berakhir jika ditemukan tanda akhir statement. Oleh sebab itu, di dalam suatu baris boleh terdapat lebih dari satu statement. Begitu pula, suatu statement yang panjang boleh menggunakan lebih dari satu baris.

Berikut ini adalah contoh program klasik C untuk mencetak string-literal kalimat "Hello, world!".

Program-1.1: hello.c
------------------------
#include

main()
{
printf("Hello, world!\n");
}
------------------------

B. MENGKOMPILASI PROGRAM
Suatu source program C baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi, yang sesuai, untuk menghasilkan suatuexecutable-program.

Cara melakukan kompilasi program C dapat dibaca pada petunjuk kompiler yang digunakan.

Untuk contoh program di atas, jika kompilasi dilakukan dan sukses maka anda akan memperoleh object-file hello.obj dan executable-program hello.exe
BAB II
MENGENAL BAHASA PEMROGRAMAN C

A. TUJUH ELEMEN DASAR PEMROGRAMAN

Borland mengemukanan ada tujuh elemen dasar pemrograman yang harus dipahami oleh para pemrogram, yaitu:
1. ambil informasi dan berikan kepada program.
2. miliki tempat untuk menyimpan informasi di atas.
3. berikan instruksi yang benar untuk memanipulasi data.
4. ambil kembali data, baik berupa data mentah atau hasil olahan, untuk diinformasikan pada pemakai.

Untuk kebutuhan tersebut, Anda dapat mengorganisasikan instruksi-instruksi sehingga:

5. beberapa instruksi hanya dilaksanakan jika suatu kondisi terpenuhi.
6. beberapa instruksi dapat dilaksanakan secara berulang.
7. beberapa instruksi dapat dikelompokkan ke dalam bagian-bagian yang dapat dilaksanakan dari berbagai lokasi program.

Ketujuh elemen dasar pemrograman tersebut secara berturut-turut dinamakan input, data, operasi,output, conditional-execution, loop, dan subprogram.

B. ELEMEN-ELEMEN BAHASA
1. Karakter
Huruf, Angka, dan Garis-bawah
Yang dimaksud dengan huruf adalah A s/d Z dan a s/d z, angka adalah 0 s/d 9, dan garis-bawah adalah _.

White-space
Karakter-karakter space, tab, line-feed, carriage-return, form-feed, vertical-tab, dan new-line disebut white-space character karena mereka mempunyai fungsi sebagai spasi antara kata-kata atau baris-baris. Setiap konstanta dan identifier selalu dipisahkan oleh karakter-karakter ini.

Tanda-baca dan karakter-khusus
Tanda-baca dan karakter-khusus dalam bahasa C mempunyai kegunaan yang bervariasi, dari pengorganisasian teks pogram sampai pendeinisian tugas-tugas yang akan dilakukan oleh kompiler. Karakter-karakter yang termasuk ke dalam kelompok ini adalah:

, . ; : ? ' " ( ) [ ] { } < > ! | / \ ~ + # % & ^ * - =

Escape Sequence
Karakter-karakter escape-sequence adalah suatu urutan karakter yang digunakan untuk mewakili ekspresi suatu karakter lain. Kumpulan karakter ini selalu dimulai oleh karakter backslash (\) dan diikuti oleh suatu huruf atau suatu kombinasi angka.
Daftar karakter-karakter escape-sequence adalah sebagai berikut.

\n new-line
\t horizontal-tab
\v vertical-tab
\b backspace
\r carriage-reurn
\f form-feed
\a bell
\' tanda-petik
\" tanda-kutip
\\ backslash
\ddd karakter ASCII dalam notasi oktal
\xddd karakter ASCII dalam notasi heksadesimal

2. Operator
Operator (lambang-operasi) adalah simbol-simbol, baik berupa satu atau beberapa karakter, yang menetapkan bagaimana suatu nilai dimanipulasi. itu adalah:

! ~ - + * / % < > = | ^ ' ++ -- -= += /= %= << >> ==
!= <= >= |= && || ?: &= ^= <<= >>=

3. Konstanta
Integer Constant
Suatu integer-constant adalah angka desimal, oktal, atau heksadesimal yang mewakili suatu nilai bilangan bulat.
Suatu konstanta-desimal (berbasis-sepuluh) dibentuk oleh sekumpulan angka 0 s/d 9, dengan ketentuan tidak dimulai oleh angka 0. Suatu konstanta-oktal (berbasis-delapan) dibentuk oleh sekumpulan angka 0 s/d 7, dengan ketentuan dimulai oleh angka 0. Suatu konstanta-heksadesimal (berbasis-enambelas) dibentuk oleh sekumpulan angka 0 s/d 9 dan atau huruf A s/d F atau a s/d f, dengan ketentuan dimulai oleh angka-huruf 0X atau 0x. Contoh:

Desimal Oktal Heksadesimal
10 012 0xA
132 0204 0x84
32179 076663 0x7DB3

Floating-point Constant
Suatu floating-point constant adalah angka desimal yang mewakili suatu nilai bilangan nyata. Nilai dari konstanta ini meliputi porsi-porsi bilangan bulat, pecahan, dan eksponen. Aturan penulisan konstanta ini adalah seperti dalam format berikut.

[digit][.digit][E|e[+|-]digit]

Di mana digit adalah berupa sekumpulan angka 0 s/d dan E atau e sebagai simbol eksponen. Contoh:

12E-3 berarti 12 kali 10 pangkat -3
6.25E+4 berarti 6.25 kali 10 pangkat 4

Character Constant
Suatu character-constant dibentuk dengan menempatkan suatu karakter di antara dua tanda-petik (' '). Suatu escape-character dipandang sebagai satu karakter, oleh karena itu dapat dijadikan suatu character constant. Contoh:

'A'
'\n'
'\0x41'

String-Literal
Suatu string-literal dibentuk oleh satu atau sekumpulan karakter yang ditempatkan di antara dua tanda-kutip. Contoh:

"BANDUNG"
"Hari Jum\’at"
"Tit\a\a"
"Baris-1\nBaris-2"

4. Identifier
Identifier adalah nama yang diberikan untuk konstanta-bernama, variabel, jenis-data, fungsi, dan label di dalam program. Setiap identifier yang akan digunakan harus didefinisikan sebelumnya.
Suatu identifier dibentuk oleh satu atau beberapa buah karakter, sebanyak-banyaknya 31 karakter, yang dimulai oleh suatu huruf atau garis-bawah dan dapat diikuti oleh huruf, angka, atau garis-bawah. Catatlah, bahasa C membedakan penggunaan huruf-besar dan huruf-kecil dalam suatu identifier. Contoh:

ClrScr
H2o
TempatTinggal
Nama_Siswa
Kota
Pilihan

5. Keyword
Untuk kegunan dalam pemrograman, bahasa C mencadangkan sejumlah identifier yang telah didefinisikan, disebut keyword, bagi pemrogram. Kata-kata ini merupakan instruksi terhadap C untuk mengerjakan/menyatakan suatu hal tertentu. Oleh karena itu semua keyword tidak dapat didefiniskan-ulang dan hanya digunakan sesuai dengan peruntukannya. Berikut adalah daftar keyword dalam bahasa C.

auto break case char const continue default do double else
enum extern float for goto if int long register return short
signed sizeof static struct switch typedef union unsigned void
volatile while

Di samping keyword-keyword di atas, bahasa C menyediakan beberapa keyword lain yang dapat digunakan dalam beberapa implementasi tertentu. Itu adalah:

far near huge cdecl pascal
BAB II
MENGENAL BAHASA PEMROGRAMAN C

A. TUJUH ELEMEN DASAR PEMROGRAMAN

Borland mengemukanan ada tujuh elemen dasar pemrograman yang harus dipahami oleh para pemrogram, yaitu:
1. ambil informasi dan berikan kepada program.
2. miliki tempat untuk menyimpan informasi di atas.
3. berikan instruksi yang benar untuk memanipulasi data.
4. ambil kembali data, baik berupa data mentah atau hasil olahan, untuk diinformasikan pada pemakai.

Untuk kebutuhan tersebut, Anda dapat mengorganisasikan instruksi-instruksi sehingga:

5. beberapa instruksi hanya dilaksanakan jika suatu kondisi terpenuhi.
6. beberapa instruksi dapat dilaksanakan secara berulang.
7. beberapa instruksi dapat dikelompokkan ke dalam bagian-bagian yang dapat dilaksanakan dari berbagai lokasi program.

Ketujuh elemen dasar pemrograman tersebut secara berturut-turut dinamakan input, data, operasi,output, conditional-execution, loop, dan subprogram.

B. ELEMEN-ELEMEN BAHASA
1. Karakter
Huruf, Angka, dan Garis-bawah
Yang dimaksud dengan huruf adalah A s/d Z dan a s/d z, angka adalah 0 s/d 9, dan garis-bawah adalah _.

White-space
Karakter-karakter space, tab, line-feed, carriage-return, form-feed, vertical-tab, dan new-line disebut white-space character karena mereka mempunyai fungsi sebagai spasi antara kata-kata atau baris-baris. Setiap konstanta dan identifier selalu dipisahkan oleh karakter-karakter ini.

Tanda-baca dan karakter-khusus
Tanda-baca dan karakter-khusus dalam bahasa C mempunyai kegunaan yang bervariasi, dari pengorganisasian teks pogram sampai pendeinisian tugas-tugas yang akan dilakukan oleh kompiler. Karakter-karakter yang termasuk ke dalam kelompok ini adalah:

, . ; : ? ' " ( ) [ ] { } < > ! | / \ ~ + # % & ^ * - =

Escape Sequence
Karakter-karakter escape-sequence adalah suatu urutan karakter yang digunakan untuk mewakili ekspresi suatu karakter lain. Kumpulan karakter ini selalu dimulai oleh karakter backslash (\) dan diikuti oleh suatu huruf atau suatu kombinasi angka.
Daftar karakter-karakter escape-sequence adalah sebagai berikut.

\n new-line
\t horizontal-tab
\v vertical-tab
\b backspace
\r carriage-reurn
\f form-feed
\a bell
\' tanda-petik
\" tanda-kutip
\\ backslash
\ddd karakter ASCII dalam notasi oktal
\xddd karakter ASCII dalam notasi heksadesimal

2. Operator
Operator (lambang-operasi) adalah simbol-simbol, baik berupa satu atau beberapa karakter, yang menetapkan bagaimana suatu nilai dimanipulasi. itu adalah:

! ~ - + * / % < > = | ^ ' ++ -- -= += /= %= << >> ==
!= <= >= |= && || ?: &= ^= <<= >>=

3. Konstanta
Integer Constant
Suatu integer-constant adalah angka desimal, oktal, atau heksadesimal yang mewakili suatu nilai bilangan bulat.
Suatu konstanta-desimal (berbasis-sepuluh) dibentuk oleh sekumpulan angka 0 s/d 9, dengan ketentuan tidak dimulai oleh angka 0. Suatu konstanta-oktal (berbasis-delapan) dibentuk oleh sekumpulan angka 0 s/d 7, dengan ketentuan dimulai oleh angka 0. Suatu konstanta-heksadesimal (berbasis-enambelas) dibentuk oleh sekumpulan angka 0 s/d 9 dan atau huruf A s/d F atau a s/d f, dengan ketentuan dimulai oleh angka-huruf 0X atau 0x. Contoh:

Desimal Oktal Heksadesimal
10 012 0xA
132 0204 0x84
32179 076663 0x7DB3

Floating-point Constant
Suatu floating-point constant adalah angka desimal yang mewakili suatu nilai bilangan nyata. Nilai dari konstanta ini meliputi porsi-porsi bilangan bulat, pecahan, dan eksponen. Aturan penulisan konstanta ini adalah seperti dalam format berikut.

[digit][.digit][E|e[+|-]digit]

Di mana digit adalah berupa sekumpulan angka 0 s/d dan E atau e sebagai simbol eksponen. Contoh:

12E-3 berarti 12 kali 10 pangkat -3
6.25E+4 berarti 6.25 kali 10 pangkat 4

Character Constant
Suatu character-constant dibentuk dengan menempatkan suatu karakter di antara dua tanda-petik (' '). Suatu escape-character dipandang sebagai satu karakter, oleh karena itu dapat dijadikan suatu character constant. Contoh:

'A'
'\n'
'\0x41'

String-Literal
Suatu string-literal dibentuk oleh satu atau sekumpulan karakter yang ditempatkan di antara dua tanda-kutip. Contoh:

"BANDUNG"
"Hari Jum\’at"
"Tit\a\a"
"Baris-1\nBaris-2"

4. Identifier
Identifier adalah nama yang diberikan untuk konstanta-bernama, variabel, jenis-data, fungsi, dan label di dalam program. Setiap identifier yang akan digunakan harus didefinisikan sebelumnya.
Suatu identifier dibentuk oleh satu atau beberapa buah karakter, sebanyak-banyaknya 31 karakter, yang dimulai oleh suatu huruf atau garis-bawah dan dapat diikuti oleh huruf, angka, atau garis-bawah. Catatlah, bahasa C membedakan penggunaan huruf-besar dan huruf-kecil dalam suatu identifier. Contoh:

ClrScr
H2o
TempatTinggal
Nama_Siswa
Kota
Pilihan

5. Keyword
Untuk kegunan dalam pemrograman, bahasa C mencadangkan sejumlah identifier yang telah didefinisikan, disebut keyword, bagi pemrogram. Kata-kata ini merupakan instruksi terhadap C untuk mengerjakan/menyatakan suatu hal tertentu. Oleh karena itu semua keyword tidak dapat didefiniskan-ulang dan hanya digunakan sesuai dengan peruntukannya. Berikut adalah daftar keyword dalam bahasa C.

auto break case char const continue default do double else
enum extern float for goto if int long register return short
signed sizeof static struct switch typedef union unsigned void
volatile while

Di samping keyword-keyword di atas, bahasa C menyediakan beberapa keyword lain yang dapat digunakan dalam beberapa implementasi tertentu. Itu adalah:

far near huge cdecl pascal

BAB III
JENIS DATA, KONSTANTA, VARIABEL, LAMBANG OPERASI, DAN EKSPRESI


Catatan: maaf tabel-tabelnya tidak rapih, saya belum mengetahui penggunaan tabel di dalam forum ini

Variabel & konstanta merupakan objek data dasar yang dimanipulasi di dalam suatu program. Setiap konstanta dan variabel harus jelas jenis datanya. Untuk itu mereka harus dideklarasikan sebelumnya.

Operator (lambang operasi) digunakan untuk menetapkan apa yang akan dilakukan terhadap konstanta/variabel tersebut.

Ekspresi adalah suatu bangun algoritma, berdasarkan aturan-aturan tertentu, untuk menghitung suatu nilai. Suatu ekspresi dibentuk oleh variabel-variabel, konstanta-konstanta dan fungsi-fungsi (operand) yang dikombinasikan oleh lambang-lambang operasi (operator).

Aturan yang berlaku dalam suatu ekspresi adalah sebagai berikut
1. suatu ekspresi akan mendahulukan pengoperasian operator yang tingkatannya paling tinggi.
2. suatu ekspresi akan mendahulukan pengoperasian operator terdepan pertama jika operator-operator yang digunakan mempunyai tingkatan yang sama.
3. suatu ekspresi yang mengandung operasi prioritas (berada dalam tanda kurung), akan mendahulukan pelaksanaan operasi prioritas tersebut.
4. operand yang digunakan pada suatu ekspresi harus mempunyai atau menghasilkan jenis data yang sama.


A. JENIS DATA UTAMA
Pada dasarnya C hanya mengenal empat jenis kata, yaitu char, int, float, dan double.

Suatu jenis data menetapkan suatu rentangs nilai yang dapat dimiliki oleh suatu konstanta dan variabel, atau dihasilkan oleh suatu ekspresi atau fungsi. (Nicklaus Wirth 1976:4)

Dengan demikian, jika anda akan menggunakan suatu konstanta, variabel, atau fungsi maka mereka harus ditetapkan jenis datanya, karena setiap operasi yang dibentuk didasarkan pada suatu jenis data tertentu.

Jenis data char merupakan suatu byte tunggal yang mempunyai kemampuan untuk memegang suatu data karakter. Jenis data int merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan bulat. Jenis data float merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi tunggal. Jenis data double merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi ganda.

Perluasan jenis data int diwujudkan dalam dua jenis data lain, yaitu short dan long, yang berbeda kemampuannya dalam menyimpan rentang nilai yang diberikan kepadanya.
Jenis jenis data char, int, short, dan long dapat didahului oleh keyword signed atau unsigned untuk menyatakan bahwa jenis data tersebut meliputi bilangan bulat negatif atau tidak. Jika itu tidak dinyatakan, maka dianggap signed.

Rentang nilai dan ukuran setiap jenis data tergantung pada jenis mesin dan kompiler yang digunakan.

Code:

Jenis data      ukuran  Rentang nilai --------------  ------  --------------------------- char            1 byte  -128 s/d 127 unsigned char   1 byte  0 s/d 255 signed int      2 byte  -32,768 s/d 32,767 unsigned int    2 byte  0 s/d 65,535 short           2 byte  -32,768 s/d 32,767 unsigned short  2 byte  0 s/d 65,535 long            2 byte  -2,147,483,648 s/d 2,147,463,647 unsigned long   4 byte  0 s/d 4,294,967,295 float           4 byte  3.4E-38 s/d 3.4E+38 double          8 byte  1.7E-308 s/d 1.7E+308

Catatan:
* akhiran L perlu dituliskan dibelakang konstanta bilangan bulat untuk membedakan jenis data long atau unsigned long dari jenis data bilangan bulat lainnya.
* Jenis data string dipandang sebagai array karakter

B. VARIABEL
Variabel adalah suatu besaran yang nilainya dapat berubah pada saat program berlangsung. Setiap variabel dinyatakan oleh suatu identifier.
Setiap variabel harus dideklarasikan terlebih dahulu sebelum digunakan di dalam program. Setiap variabel yang dideklarasikan harus dinyatakan jenis datanya. Bentuk umum pendeklarasian variabel adalah sebagai berikut.

[type] id_var1[, id_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, dan type adalah jenis data yang ditetapkan untuk id_var1 dan id_var2. Contoh :

int liter, harga;
char nama[20];

dalam deklarasi suatu variabel dapat dilakukan initialisasi nilai terhadap variabel tersebut. Bentuk umum deklarasi dan initialisasi variabel adalah sebagai berikut.

[type] id_var1 = val_var1[, id_var2 = val_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, val_var1 dan val_var2 adalah nilai awal yang ditetapkan pada id_var1 dan id_var2, dan type adalah jenis data untuk id var_1 dan id_var2. contoh :

int liter,
harga = 385;
char nama[20] = "Abdallah";

contoh program-3.1 akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.

Program 3.1: SALAM.C

Code:

#include   char nama [20],     prompt [20] = "Tulis nama anda: ";  main ( )  {     printf (prompt);     scanf ("%s", nama);     printf ("Halo %s. Selamat belajar C.\n", nama);  }

apabila program tersebut dijalankan maka akan muncul tampilan sebagai berikut.

Tulis nama anda: Anugrah
Halo Anugrah. Selamat belajar C.

C. OPERASI ARITMATIKA
Operator aritmatika yang digunakan dalam bahasa C pada umumnya sama dengan lambang operasi hitung biasa. Operator operator tersebut, kegunaan, prioritas, contoh ekspresi dan hasilnya adalah seperti terlihat pada tabel 3.2

Tabel 3.2:
Operator Aritmatika

Code:

operator  operasi         Contoh ekspresi  hasil --------  --------------  ---------------  ----- *         perkalian       21*8             208 /         pembagian       27/3             9 %         sisa pembagian  30%4             2 +         penjumlahan     2+10             12 -         pengurangan     29-13            16

Catatan
* Operator % tidak dapat digunakan untuk jenis data float atau double.
* Operator * / dan % mempunyai tingkat prioritas yang sama, begitu pula operator + dengan -, kelompok operator pertama mempunyai tingkat prioritas yang lebih tinggi dari kelompok yang kedua.

Berdasarkan aturan ekspresi yang telah disebutkan dalam awal bab ini maka tahapan pelaksanaan yang dilalukan untuk ekspresi-ekspresi aritmatika berikut adalah seperti dinyatakan oleh ekspresi sebelahnya.

Code:

Ekspresi      Tahap pelaksanaan ------------  ----------------- 2+3*4         2+12               14 (2+3)*4       5*4               20 2*3%4         6%4               2 2*(3%4)       2*3               6 2+3.0/4-5     2+0.75-5               2.75-5               -2.25 (2+3)/(4-5)   5/(4-5)               5/-1               -5

Hati hatilah dengan operator pembagian. Apabila pembilang dan penyebut berupa bilangan bulat maka hasil operasi ini berupa bilangan bulat pula. Untuk mendapatkan hasil bagi berupa bilangan nyata maka salah satu dari pembilang dan penyebut harus berupa bilangan nyata. Contoh:

Code:

ekspresi        Hasil --------------  -------- 10/3            3 (float) 10/3    3.333333

D. OPERASI HUBUNGAN DAN LOGIKA
Operasi hubungan digunakan untuk menguji hubungan antara dua buah operand. Nilai yang dihasilkan operasi ini adalah 0 kalau salah dan –1 kalau benar. Operator-operator yang digunakan adalah seperti ditunjukan dalam tabel 3.3

Tabel 3.3:
Operator Hubungan

Code:

operator  Operasi --------  --------------------- ==        Sama dengan !=        Tidak sama dengan <         Lebih kecil >         Lebih besar <=        Lebih kecil atau sama >=        Lebih besar atau sama

Perhatikanlah contoh pengurangan operator hubungan serta nilai akhirnya pada ekspresi berikut ini.

Code:

ekspresi    Hasil ----------  ----- 2>3         0 2!=3        -1 4*5==10*2   -1

Prioritas pelaksanaan operasi hubungan lebih rendah dari pelaksanaan operasi aritmatika. Berikut ini adalah contoh tahapan pelaksanaan yang dilakukan untuk ekspresi-ekspresi aritmatika dan hubungan.

Code:

ekspresi    Tahap pelaksanaan ----------  ----------------- 2<5-3       2<2             0 2<=5-3      2<=2             -1 10*2==5*4   20==20             -1

Operasi logika digunakan untuk mengoperasikan operand berjenis data bilangan bulat berdasarkan aturan aturan operasi logika pada aljabar modern. Pada operasi ini setiap operand yang bernilai 0 dinyatakan salah dan operand yang bernilai bukan 0 dinyatakan benar. Nilai yang dihasilkan operasi ini sama seperti operasi hubungan, yaitu 0 kalau salah dan –1 kalau benar.
Tabel 3.4 menunjukan nama operator, cotoh ekspresi dan hasil operasi daripada operator logika.

Tabel 3.4
Operator Logika, Contoh dan Hasil Ekspresi

Code:

Operator  Operasi  Operand A  Operand B  Ekspresi  Hasil --------  -------  ---------  ---------  --------  ----- !         NOT      Benar                 !A        Salah                    Salah                           Benar &&        AND      Benar      Benar      A&&B      Benar                    Benar      Salah                Salah                    Salah      Benar                Salah                    Salah      Salah                Salah ||        OR       Benar      Benar      A||B      Benar                    Benar      Salah                Benar                    Salah      Benar                Benar                    Salah      Salah                Salah

Contoh:

Code:

ekspresi     Tahap pelaksanaan -----------  --------------- 2<3&&4<5     benar && 4 < 5              benar && benar              benar 10*2&&5<4    20 && 5 < 4              benar && salah              salah 10*2||5<4    20 || 5 < 4              benar || salah              benar

1. Operasi Penarikan dan Penurunan
Bahasa C memberikan dua buah operator yang tidak umum untuk penaikan (incrementing) dan penurunan (decrementing) nilai suatu variabel. Variabel yang dioperasikan harus berjenis data bilangan bulat atau pointer. Operasi penaikan berfungsi untuk menambah nilai variabel yang dinyatakannya dengan konstanta 1, sementara operasi penurunan adalah kebalikannya. Operator yang digunakan adalah ++ dan --. Operator ini dapat ditempatkan sebelum atau sesudah nama variabel. Jika ditempatkan sebelum nama variabel maka operasi ini akan didahulukan dari operasi operator lain yang ada dalam suatu ekspresi, dan sebaliknya jika ditempatkan sesudah nama variabel.
Berikut ini adalah contoh ekspresi operasi operasi ini dan persamaannya.

Code:

ekspresi     Persamaan -----------  --------- a++          a=a+1 a--          a=a-1 b=a++/6      b=a/6              a=a+1 b=3*a--      b=3*a              a=a-1 b=++a/6      a=a+1              b=a/6 b=3*--a      a=a-1              b=3*a c=a++ + ++b  b=b+1              c=a+b              a=a+1

Dari contoh contoh di atas, anda dapat melihat kesederhanaan penulisan beberapa pernyataan ke dalam satu pertanyaan dalam bahasa C.

2. Operasi Penetapan
operasi penetapan digunakan untuk menetapkan suatu nilai terhadap suatu variabel. Bentuk umum operasi ini adalah

id_var = ekspresi

dimana id_var adalah identifier variabel yang akan menampung nilai hasil ekspresi. Contoh:

a = 5*27

Dalam banyak hal, nilai variabel yang akan ditetapkan juga merupakan bagian dari ekspresi, seperti

a = a+4

Jika terdapat kasus terakhir, bahasa C memberikan kemudahan bagi anda untuk menyederhanakan penulisan operasi penetapan tersebut, yaitu menjadi

a += 4

Hampir semua binary operators dapat dibentuk penyederhanaannya, yaitu dalam bentuk umum

id_var op= ekspresi

Di mana op adalah salah satu dari operator +, -, *, /, %, <<, >>, &, ^, dan |. Bentuk operasi di atas mengandung arti.

id_var = id_var op ekspresi

Contoh:

Code:

ekspresi  Persamaan --------  --------- x*=y-1    x=x*(y+1) x+=5      x=x+5 x>>=3     x=x>>3

3. Prioritas dan Arah Pelaksanaan Operator
tabel berikut menunjukan tingkat prioritas dan arah pelaksanaan operator, baik yang telah dibahas maupun belum. Operator-operator yang terletak pada baris yang sama mempunyai tingkat prioritas sama dengan arah pelaksanaan sesuai dengan yang dinyatakan dalam kolom sebelahnya.


Tabel 3.5:
Prioritas Dan Arah Pelaksanaan Operator

Code:

operator                     Arah pelaksanaan ---------------------------  ------------------ () [] -> .                   Dari kiri ke kanan ! ~ ++ -- -(type)* & sizeof  Dari kanan ke kiri * / %                        Dari kiri ke kanan + -                          Dari kiri ke kanan << >>                        Dari kiri ke kanan < <= > >=                    Dari kiri ke kanan == !=                        Dari kiri ke kanan &                            Dari kiri ke kanan ^                            Dari kiri ke kanan |                            Dari kiri ke kanan &&                           Dari kiri ke kanan ||                           Dari kiri ke kanan ?:                           Dari kanan ke kiri = += -= dll                  Dari kanan ke kiri ,                            Dari kiri ke kananBAB III

JENIS DATA, KONSTANTA, VARIABEL, LAMBANG OPERASI, DAN EKSPRESI

Catatan: maaf tabel-tabelnya tidak rapih, saya belum mengetahui penggunaan tabel di dalam forum ini

Variabel & konstanta merupakan objek data dasar yang dimanipulasi di dalam suatu program. Setiap konstanta dan variabel harus jelas jenis datanya. Untuk itu mereka harus dideklarasikan sebelumnya.

Operator (lambang operasi) digunakan untuk menetapkan apa yang akan dilakukan terhadap konstanta/variabel tersebut.

Ekspresi adalah suatu bangun algoritma, berdasarkan aturan-aturan tertentu, untuk menghitung suatu nilai. Suatu ekspresi dibentuk oleh variabel-variabel, konstanta-konstanta dan fungsi-fungsi (operand) yang dikombinasikan oleh lambang-lambang operasi (operator).

Aturan yang berlaku dalam suatu ekspresi adalah sebagai berikut
1. suatu ekspresi akan mendahulukan pengoperasian operator yang tingkatannya paling tinggi.
2. suatu ekspresi akan mendahulukan pengoperasian operator terdepan pertama jika operator-operator yang digunakan mempunyai tingkatan yang sama.
3. suatu ekspresi yang mengandung operasi prioritas (berada dalam tanda kurung), akan mendahulukan pelaksanaan operasi prioritas tersebut.
4. operand yang digunakan pada suatu ekspresi harus mempunyai atau menghasilkan jenis data yang sama.


A. JENIS DATA UTAMA
Pada dasarnya C hanya mengenal empat jenis kata, yaitu char, int, float, dan double.

Suatu jenis data menetapkan suatu rentangs nilai yang dapat dimiliki oleh suatu konstanta dan variabel, atau dihasilkan oleh suatu ekspresi atau fungsi. (Nicklaus Wirth 1976:4)

Dengan demikian, jika anda akan menggunakan suatu konstanta, variabel, atau fungsi maka mereka harus ditetapkan jenis datanya, karena setiap operasi yang dibentuk didasarkan pada suatu jenis data tertentu.

Jenis data char merupakan suatu byte tunggal yang mempunyai kemampuan untuk memegang suatu data karakter. Jenis data int merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan bulat. Jenis data float merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi tunggal. Jenis data double merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi ganda.

Perluasan jenis data int diwujudkan dalam dua jenis data lain, yaitu short dan long, yang berbeda kemampuannya dalam menyimpan rentang nilai yang diberikan kepadanya.
Jenis jenis data char, int, short, dan long dapat didahului oleh keyword signed atau unsigned untuk menyatakan bahwa jenis data tersebut meliputi bilangan bulat negatif atau tidak. Jika itu tidak dinyatakan, maka dianggap signed.

Rentang nilai dan ukuran setiap jenis data tergantung pada jenis mesin dan kompiler yang digunakan.

Code:

Jenis data      ukuran  Rentang nilai --------------  ------  --------------------------- char            1 byte  -128 s/d 127 unsigned char   1 byte  0 s/d 255 signed int      2 byte  -32,768 s/d 32,767 unsigned int    2 byte  0 s/d 65,535 short           2 byte  -32,768 s/d 32,767 unsigned short  2 byte  0 s/d 65,535 long            2 byte  -2,147,483,648 s/d 2,147,463,647 unsigned long   4 byte  0 s/d 4,294,967,295 float           4 byte  3.4E-38 s/d 3.4E+38 double          8 byte  1.7E-308 s/d 1.7E+308

Catatan:
* akhiran L perlu dituliskan dibelakang konstanta bilangan bulat untuk membedakan jenis data long atau unsigned long dari jenis data bilangan bulat lainnya.
* Jenis data string dipandang sebagai array karakter

B. VARIABEL
Variabel adalah suatu besaran yang nilainya dapat berubah pada saat program berlangsung. Setiap variabel dinyatakan oleh suatu identifier.
Setiap variabel harus dideklarasikan terlebih dahulu sebelum digunakan di dalam program. Setiap variabel yang dideklarasikan harus dinyatakan jenis datanya. Bentuk umum pendeklarasian variabel adalah sebagai berikut.

[type] id_var1[, id_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, dan type adalah jenis data yang ditetapkan untuk id_var1 dan id_var2. Contoh :

int liter, harga;
char nama[20];

dalam deklarasi suatu variabel dapat dilakukan initialisasi nilai terhadap variabel tersebut. Bentuk umum deklarasi dan initialisasi variabel adalah sebagai berikut.

[type] id_var1 = val_var1[, id_var2 = val_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, val_var1 dan val_var2 adalah nilai awal yang ditetapkan pada id_var1 dan id_var2, dan type adalah jenis data untuk id var_1 dan id_var2. contoh :

int liter,
harga = 385;
char nama[20] = "Abdallah";

contoh program-3.1 akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.

Program 3.1: SALAM.C

Code:

#include   char nama [20],     prompt [20] = "Tulis nama anda: ";  main ( )  {     printf (prompt);     scanf ("%s", nama);     printf ("Halo %s. Selamat belajar C.\n", nama);  }

apabila program tersebut dijalankan maka akan muncul tampilan sebagai berikut.

Tulis nama anda: Anugrah
Halo Anugrah. Selamat belajar C.

C. OPERASI ARITMATIKA
Operator aritmatika yang digunakan dalam bahasa C pada umumnya sama dengan lambang operasi hitung biasa. Operator operator tersebut, kegunaan, prioritas, contoh ekspresi dan hasilnya adalah seperti terlihat pada tabel 3.2

Tabel 3.2:
Operator Aritmatika

Code:

operator  operasi         Contoh ekspresi  hasil --------  --------------  ---------------  ----- *         perkalian       21*8             208 /         pembagian       27/3             9 %         sisa pembagian  30%4             2 +         penjumlahan     2+10             12 -         pengurangan     29-13            16

Catatan
* Operator % tidak dapat digunakan untuk jenis data float atau double.
* Operator * / dan % mempunyai tingkat prioritas yang sama, begitu pula operator + dengan -, kelompok operator pertama mempunyai tingkat prioritas yang lebih tinggi dari kelompok yang kedua.

Berdasarkan aturan ekspresi yang telah disebutkan dalam awal bab ini maka tahapan pelaksanaan yang dilalukan untuk ekspresi-ekspresi aritmatika berikut adalah seperti dinyatakan oleh ekspresi sebelahnya.

Code:

Ekspresi      Tahap pelaksanaan ------------  ----------------- 2+3*4         2+12               14 (2+3)*4       5*4               20 2*3%4         6%4               2 2*(3%4)       2*3               6 2+3.0/4-5     2+0.75-5               2.75-5               -2.25 (2+3)/(4-5)   5/(4-5)               5/-1               -5

Hati hatilah dengan operator pembagian. Apabila pembilang dan penyebut berupa bilangan bulat maka hasil operasi ini berupa bilangan bulat pula. Untuk mendapatkan hasil bagi berupa bilangan nyata maka salah satu dari pembilang dan penyebut harus berupa bilangan nyata. Contoh:

Code:

ekspresi        Hasil --------------  -------- 10/3            3 (float) 10/3    3.333333

D. OPERASI HUBUNGAN DAN LOGIKA
Operasi hubungan digunakan untuk menguji hubungan antara dua buah operand. Nilai yang dihasilkan operasi ini adalah 0 kalau salah dan –1 kalau benar. Operator-operator yang digunakan adalah seperti ditunjukan dalam tabel 3.3

Tabel 3.3:
Operator Hubungan

Code:

operator  Operasi --------  --------------------- ==        Sama dengan !=        Tidak sama dengan <         Lebih kecil >         Lebih besar <=        Lebih kecil atau sama >=        Lebih besar atau sama

Perhatikanlah contoh pengurangan operator hubungan serta nilai akhirnya pada ekspresi berikut ini.

Code:

ekspresi    Hasil ----------  ----- 2>3         0 2!=3        -1 4*5==10*2   -1

Prioritas pelaksanaan operasi hubungan lebih rendah dari pelaksanaan operasi aritmatika. Berikut ini adalah contoh tahapan pelaksanaan yang dilakukan untuk ekspresi-ekspresi aritmatika dan hubungan.

Code:

ekspresi    Tahap pelaksanaan ----------  ----------------- 2<5-3       2<2             0 2<=5-3      2<=2             -1 10*2==5*4   20==20             -1

Operasi logika digunakan untuk mengoperasikan operand berjenis data bilangan bulat berdasarkan aturan aturan operasi logika pada aljabar modern. Pada operasi ini setiap operand yang bernilai 0 dinyatakan salah dan operand yang bernilai bukan 0 dinyatakan benar. Nilai yang dihasilkan operasi ini sama seperti operasi hubungan, yaitu 0 kalau salah dan –1 kalau benar.
Tabel 3.4 menunjukan nama operator, cotoh ekspresi dan hasil operasi daripada operator logika.

Tabel 3.4
Operator Logika, Contoh dan Hasil Ekspresi

Code:

Operator  Operasi  Operand A  Operand B  Ekspresi  Hasil --------  -------  ---------  ---------  --------  ----- !         NOT      Benar                 !A        Salah                    Salah                           Benar &&        AND      Benar      Benar      A&&B      Benar                    Benar      Salah                Salah                    Salah      Benar                Salah                    Salah      Salah                Salah ||        OR       Benar      Benar      A||B      Benar                    Benar      Salah                Benar                    Salah      Benar                Benar                    Salah      Salah                Salah

Contoh:

Code:

ekspresi     Tahap pelaksanaan -----------  --------------- 2<3&&4<5     benar && 4 < 5              benar && benar              benar 10*2&&5<4    20 && 5 < 4              benar && salah              salah 10*2||5<4    20 || 5 < 4              benar || salah              benar

1. Operasi Penarikan dan Penurunan
Bahasa C memberikan dua buah operator yang tidak umum untuk penaikan (incrementing) dan penurunan (decrementing) nilai suatu variabel. Variabel yang dioperasikan harus berjenis data bilangan bulat atau pointer. Operasi penaikan berfungsi untuk menambah nilai variabel yang dinyatakannya dengan konstanta 1, sementara operasi penurunan adalah kebalikannya. Operator yang digunakan adalah ++ dan --. Operator ini dapat ditempatkan sebelum atau sesudah nama variabel. Jika ditempatkan sebelum nama variabel maka operasi ini akan didahulukan dari operasi operator lain yang ada dalam suatu ekspresi, dan sebaliknya jika ditempatkan sesudah nama variabel.
Berikut ini adalah contoh ekspresi operasi operasi ini dan persamaannya.

Code:

ekspresi     Persamaan -----------  --------- a++          a=a+1 a--          a=a-1 b=a++/6      b=a/6              a=a+1 b=3*a--      b=3*a              a=a-1 b=++a/6      a=a+1              b=a/6 b=3*--a      a=a-1              b=3*a c=a++ + ++b  b=b+1              c=a+b              a=a+1

Dari contoh contoh di atas, anda dapat melihat kesederhanaan penulisan beberapa pernyataan ke dalam satu pertanyaan dalam bahasa C.

2. Operasi Penetapan
operasi penetapan digunakan untuk menetapkan suatu nilai terhadap suatu variabel. Bentuk umum operasi ini adalah

id_var = ekspresi

dimana id_var adalah identifier variabel yang akan menampung nilai hasil ekspresi. Contoh:

a = 5*27

Dalam banyak hal, nilai variabel yang akan ditetapkan juga merupakan bagian dari ekspresi, seperti

a = a+4

Jika terdapat kasus terakhir, bahasa C memberikan kemudahan bagi anda untuk menyederhanakan penulisan operasi penetapan tersebut, yaitu menjadi

a += 4

Hampir semua binary operators dapat dibentuk penyederhanaannya, yaitu dalam bentuk umum

id_var op= ekspresi

Di mana op adalah salah satu dari operator +, -, *, /, %, <<, >>, &, ^, dan |. Bentuk operasi di atas mengandung arti.

id_var = id_var op ekspresi

Contoh:

Code:

ekspresi  Persamaan --------  --------- x*=y-1    x=x*(y+1) x+=5      x=x+5 x>>=3     x=x>>3

3. Prioritas dan Arah Pelaksanaan Operator
tabel berikut menunjukan tingkat prioritas dan arah pelaksanaan operator, baik yang telah dibahas maupun belum. Operator-operator yang terletak pada baris yang sama mempunyai tingkat prioritas sama dengan arah pelaksanaan sesuai dengan yang dinyatakan dalam kolom sebelahnya.


Tabel 3.5:
Prioritas Dan Arah Pelaksanaan Operator

Code:

operator                     Arah pelaksanaan ---------------------------  ------------------ () [] -> .                   Dari kiri ke kanan ! ~ ++ -- -(type)* & sizeof  Dari kanan ke kiri * / %                        Dari kiri ke kanan + -                          Dari kiri ke kanan << >>                        Dari kiri ke kanan < <= > >=                    Dari kiri ke kanan == !=                        Dari kiri ke kanan &                            Dari kiri ke kanan ^                            Dari kiri ke kanan |                            Dari kiri ke kanan &&                           Dari kiri ke kanan ||                           Dari kiri ke kanan ?:                           Dari kanan ke kiri = += -= dll                  Dari kanan ke kiri ,                            Dari kiri ke kanan
From: Bandung
Registered: 24-07-2008
Posts: 1749v
olleh : mustofa
Moderato