• Tidak ada hasil yang ditemukan

2 STRUKTUR PROGRAM C

N/A
N/A
Protected

Academic year: 2021

Membagikan "2 STRUKTUR PROGRAM C"

Copied!
18
0
0

Teks penuh

(1)

PRAKTIKUM 1

2

STRUKTUR PROGRAM C

Setiap program C terdiri atas satu atau beberapa modul yang disebut function. Salah satu fungsi yang harus dipanggil adalah main. Setiap program C akan selalu diawali dengan mengeksekusi function main() tersebut. Functionyang lain harus didefinisikan secara terpisah, bisa diatas atau sesudah main() ( hal ini akan dibahas pada praktikum berikutnya).

Setiap fungsi harus terditi atas:

1. Function heading, yang terdiri atas function name diikuti list argumen yang bersifat opsional di dalam kurung.

2. List argumen yang dideklarasikan 3. Compound statement.

Setiap compound statement dibatasi oleh tanda kurun { }. Sedangkan komentar dapat muncul di mana saja yang bisa dibatas dengan tanda /* ...*/. Komentar juga bisa diberi tanda double slash (//) jika komentar hanya satu baris saja.

Contoh Program dibawah ini akan menghitung luasn dari sebuah lingkaran. /* Program menghitung luas lingkaran*/ //Judul program

#include <stdio.h> //mengakses pustaka file #include <conio.>

main() //heading fungsi {

(2)

pi=3.14;

printf("Masukkan radius lingkaran :"); // pernyataan output scanf("%f",&radius); // pernyataan input luas=pi*radius*radius; //pernyataan penugasan printf("Area lingkaran adalah :%f",luas); //pernyataan output }

Bagian komentar adalah bagian yang diabaikan sat program dicompile. Jadi contoh program 1.1 di atas dapat dihilangkan bagian komentarnya.

#include <stdio.h> #include <conio.> main() { float radius,pi,luas; pi=3.14;

printf("Masukkan radius lingkaran :"); scanf("%f",&radius);

luas=pi*radius*radius;

printf("Area lingkaran adalah :%f",luas); }

Latihan. 1.1

Buatlah program untuk memperoleh luas dan keliling dari sebuah persegi panjang. Langkah-langkahnya antara lain:

(3)

2. Sertakan fungsi heading

3. Deklarasikan variabel yang digunakan

4. Berikan masukkan variabel pi, panjang dan lebar. 5. Tentukan luas dan keliling persegi panjang. 6. Tampilkan hasilnya.

Latihan 1.2

Buatlah program komputer untuk menghitung luas permukan dan volume dari sebuah bola, jika diketahui luas dan volume bola adalah

A=4r2 dan V=4

3r

3

Latihan 1.3

Kita juga dapat menyatakan contoh 1.2 dengan program seperti di bawah ini /* Program menghitung luas lingkaran*/ //Judul program

#include <stdio.h> #include <conio.>

float proses (float r);

main() {

float radius,luas;

printf("Masukkan radius lingkaran :"); scanf("%f",&radius);

luas=proses(radius);

printf("Area lingkaran adalah :%f",luas); }

float proses (float r) { float pi,A; pi=3.14; A=pi*r*r; return A; }

(4)

Latihan 1.4

Buatlah program untuk menghitung luas dan keliling persegi panjang dengan menggunakan fungsi terpisah seperti pada contoh program 1.3.

(5)

PRAKTIKUM 2

DASAR-DASAR C

Praktikum dasar-dasar C ini akan membahas tentang elemen-elemen dasar yang menyusun program C, meliputi sekelompok karakter, identifier dan keyword, tipe data, konstanta, variabel dan larik, deklarasi, ekspresi dan pernyataan.

2.1 Karakter Khusus C

C menggunakan huruf kapital (A-Z), hurufkecil (a-z), angka (0-9) dan beberapa karakter khusus dalam pembuatan elemen-elemen dasar program seperti variabel, konstanta, operator, ekspresi dan lainnya. Di bawah adalah karakter khusus yang dimaksudkan

+ - * / - % & #

! ? ^ ' ~ \ |

< > ( ) { } [ ]

: ; . , _ (blank space)

Gambar 2.1 Karakter khusus C

2.2 Identifier dan Keyword

Identifier adalah nama-nama yang diberikan pada elemen program C, misalnya konstanta, variabel, fungsi dan larik. Ada beberapa ketentuan untuk membuat identifier antara lain:

(6)

2. Identifier dapat merupakan kombinasi antara huruf dan angka, misalnya ok45, ok45ok, abc432 dsb

3. Identifier tidak boleh menggunakan karakter khusus C, misalnya %, #, - , +, = , dsb. Misalnya %ok, net-cost, %x, ”sign” dsb.

4. Disarankan pembuatan identifier tidak melebihi 8 karakter. Hal ini untuk mengantisipasi jika kompiler hanya mengenali 8 karakter pertama identifier. Ada beberapa kata cadangan (reserved word) yang disebut pula keyword yang dimiliki oleh C yang tidak dapat digunakan untuk memberikan nama identifier. Beberapa kata cadangan tersebut antara lain:

auto extern sizeof

break f l o a t s t a t i c

case f o r s t r u c t

char goto switch

const i f typedef

continue i n t union

d e f a u l t long unsigned do r e g i s t e r void

double return v o l a t i l e

else short while

enum signed

2.3 Tipe Data

Bahasa C mensupport beberapa tipe data yang masing-masing didefinisikan berbeda di dalam komputer. Memori yang diperlukan untuk menyimpan tiap tipe

(7)

data juga tidak sama. Di bawah ini diberikan beberapa tipe data tersebut TABEL 2.1 Tabel tipe data standar dalam C

No Tipe data Deskripsi Memori yang dibutuhkan

1 int Bilangan integer 2 byte

2 char Karakter tunggal 1 byte

3 float Floating-point number (bilangan yang mengandung desimal dan/atau eksponen

4 byte

4 double Double precission floating point number (bilangan floating point dengan presisi ganda)

8 byte

2.4 Konstanta

Ada empat jenis konstanta dasar dalam C, yaitu konstanta integer, floating-point, karakter dan string. Konstanta integer dan floating-point menyatakan bilangan. Keduanya sering disebut sebagai konstanta berjenis bilanga. Berikut ini adalah aturan yang berlaku untuk konstanta berjenis bilangan:

1. koma dan blank space (spasi kosong) tidak termasuk dalam konstanta berjenis ini.

2. Konstanta dapat diberikan tanda minus (-) di depannya jika diperlukan. Tanda minus adalah operator yang mengubah tanda konstanta positif.

2.4.1 Konstanta Integer

(8)

tersusun dari deretan angka. Konstanta integer dapat ditulis dalam tiga cara, yaitu desimal (basis 10), oktal (basis 8) dan heksadisimal (basis 16). Konstanta integer desimal tersusun atas angka dari 0 hingga 9. Jika sebuah bilangan terdiri dua digit atau lebih, maka digit pertama tidak boleh sama dengan 0.

Contoh. 2.1 Beberapa bilangan konstanta integer di bawah ini adalah benar

0 3 23 1045 304567

Berikut ini penulissan bilangan konstanta integer yang salah 3,456 menggunakan karakter koma (,)

334.0 menggunakan karakter titik (.) 10 34 33 menggunakan blank space 123-45-673 menggunakan karakter dash (-) 08232 digir pertama nol.

Bilangan konstanta integer oktal tersusun atas bilangan dari 0 hingga 7. Digit pertama bilangan oktal harus diawali 0.

Contoh 2.2 Beberapa bilangan konstanta integer oktal di bawah ini adalah benar

0 0123 045 077777

Berikut ini penulissan bilangan konstanta integer oktal yang salah 523 digit pertama bukan nol

01293 ada bilangan 9

(9)

Bilangan konstanta integer heksadesimal harus dimulai dengan 0x atau 0X. Setelah bilangannya merupakan kombinasi antara angka dari 0 hingga 9 dan huruf a (A) hingga f (atau F). Huruf A (atau a) hingga F(atau a) mewakili angka 10 hingga 15. Contoh 2.2 Beberapa bilangan konstanta integer heksadesimal di bawah ini adalah benar

0x 0x1 0X7FFF 0xabcd

Berikut ini penulissan bilangan konstanta integer oktal yang salah 0X523.32 menggunakan karakter titik (.)

0234F tidak diwali dengan 0X atau 0x 0X777G menggunakan huruf G

2.4.2 Kontanta Floating-point

Konstanta floating point adalah bilangan berbasis 10 yang mengandung angka desimal atau eksponen atau keduanya.

Contoh 2.4 Beberapa bilangan konstanta integer oktal di bawah ini adalah benar

0. 1 . 0.2 827.602

50000. 0.000743 12.3 31 5.0066 2 E-8 0.006e-3 1.6667E+8 .12121212e12

Berikut ini penulissan bilangan konstanta integer oktal yang salah 12 angka desimal atau eksponen harus ada

12,33.0 menggunakan karakter ilegal koma (,)

(10)

3E 14 mengganakan blank space

2.4.3 Konstanta karakter

Konstanta karakter karakter tunggal yang diapit oleh tanda petik tunggal ('). Contoh 2.5 Beberapa bilangan konstanta karakter di bawah ini adalah benar

'q' '3' '?' ' '

2.5 Escape Squences

Karakter nonprinting backslash (\) atau tanda petik (') dapat dinyatakan dengan escape sequences. Escape squences selalu diawali dengan backslash (\) diikuti dengan karakter khusus tertentu. Sebagai contoh untuk berganti baris dinyatakan dengan escape squences \n.

Dibawah ini diberikan beberapa escape squences yang pada C, antara lain karakter escape squences

bell (alert) \a

backspace \b

horizontal tab \t

vertical tab \v

newline (line feed) \n

form feed \f carriage return \r quotation mark (") \” apostrophe (') \ ' question mark (?) \? backslash (\) \\ null \0

(11)

2.6 Konstanta String

Konstanta string tersusun oleh rangkaian karakter dan diapit oleh tanda petik ganda (“). Sebagai contoh,

"green" "Washington, D.C. 20005H " “270-32-3456" "$19.95" "THE CORRECT ANSWER IS:” “'2* ( I+3)/J "

"Line l\nLine 2\nLine 3” “ “

2.7 Variabel dan Array

Variabel adalah identifier yang digunakan untuk menyatakan tipe tertentu informasi yang digunakan dalam program. Dalam C, variabel harus dideklarasikan sebelum digunakan. Jika tidak, maka tentu akan tampil pesan kesalahan.

Contoh potongan program C dengan deklarasi variabel adalah i n t a, b, c; char d; . . . a = 3; b = 5; c = a + b ; d =' a' ; a = 4; b = 2; c = a - b ; d = ' W ' ;

2.8 Ekspresi

Ekspresi menyatakan single data item, seperti bilangan atau karakter. Ekspresi dapat tersusun atas entitas tunggal seperti sebuah konstanta, variabel, satu elemen

(12)

larik atau reference ke fungsi. Dapat juga merupakan kombinasi dari entitas yang dihubungkan dengan operator.

a + b x = y c = a + b x <= y x == Y ++i

TUGAS

1. Determine which of the following are valid identifiers. If invalid, explain why. (a) record1 (d) $tax (g) name-and-address

(b) l r e c o r d e) name (h) name-and-address (c) f i l e - 3 (f) name and address (i) 123-45 -6789

(j) return

2. Assume that your version of C can recognize only the first 8 characters of an identifier name, though identifier names may be arbitrarily long. Which of the following pairs of identifier names are considered to be identical and which are distinct?

(a) name, names (d) l i s t l , l i s t 2

(b) address, Address (e) answer, ANSWER (c) i d e n t i f ier-1 , i d e n t i f ier-2 f) charl, char_1

3. Determine which of the following numerical values are valid constants. If a constant is valid, specify whether it is integer or real. Also, specify the base for each valid integer constant.

(13)

a) 0.5 b) 12345678 c) 27,822 d) 12345678L e) 0515 f) 018CDF g) 9.3e12 h) 0.8E+0.8 i) 9.3e-12 j) 0.8E 8 k) 0XBCFDAL l) 0x87e3ha 4. Determine which of the following are valid character constants. (a) ' a ' (b) " \ \ " (c) ' $ ' (d) ' \ a ' (e) ' xyz ' (f) ' / n ' (g) ' \ n ' (h) ' T ' (i) ' \052" 5. Determine which of the following are valid string constants.

(a) '8:15 P.M.' (b) "1.3e-12"

(c) "Red, White and Blue" (d) "NEW YORK, NY 10020" (e) "Name:

(f) "The professor said, "Please don't sleep i n class" (g) "Chap. 3 ( C o n t \ ' d ) "

6. Write appropriate declarations for each group of variables and arrays. (a) Integer variables: p, q

Floating-point variables: x , y , z Character variables: a, by c

(14)

Long integer variable: counter Short integer variable: f l a g (c) Integer variable: index

Double-precision variables: gross, tax, net Character variables: current, l a s t

Floating-point variable: error Character variables: f i r s t , l a s t

7. Write appropriate declarations and assign the given initial values for each group of variables and arrays.

(a) Floating-point variables: a =-8.2, b = 0.005 (b) Integer variables: x = 129, y = 87, z=-22 (c) Character variables: c l = ' w' , c2 = '?'

(d) Double-precision variables: dl = 2.88 x 10-8, d2 =-8.4 x 105

(e) Integer variables: U =7 11(octal), v = f f f f (hexadecimal) (f) Long integer variable: big = 123456789

(g) Double-precision variable: c = 0.3333333333 (h) Character variable: eol =newline character

8. Identify whether each of the following statements is an expression statement, a compound statement or a control

statement. (a) a * (b + c); (b) while (a < 100) {

(15)

++a; }

(16)

PRAKTIKUM 3

OPERATOR DAN EKSPRESI

Pada praktikum yang ketiga ini, kita masih membahas mengenai dasar-dasar C terutama untuk bagian operator dan ekspresi. Berikut ini adalah tugas praktikum yang harus Saudara kerjakan dan dilaporkan pada minggu depan

1. Suppose a, b and c are integer variables that have been assigned the values a = 8, b = 3 and c =-5. Determine the value of each of the following arithmetic expressions. (a) a + b + c (b) a % c (c) 2 * b + 3 * ( a - c ) (d) a * b / c (e) a / b (f) a * (b / c) (g) a % b (h) (a * c) % b (i) a / c (j) a * (c % b)

2. Suppose x, y and z are floating-point variables that have been assigned the values x = 8.8, y = 3.5 and z = -5.2. Determine the value of each of the following arithmetic expressions. (a) x + y + z (b) 2 * y + 3 * ( x - z ) (c) x/y (d) x % y (e) x/(y+z) (f) (x/y)+z (g) 2*x/3*y (h) 2*x/(3*y)

3. Suppose cl, c2 and c3 are character-type variables that have been assigned the characters E, 5 and ?, respectively. Determine the numerical value of the following expressions, based upon the ASCII character set (see Table 2-1).

(17)

(c) c l - c2 + c3 (d) ' 2 ' + ' 2 ' (e) c2 - 2 (f) c l / c2) * c3 (g) c2 - ' 2 ' (h) 3 * c2 (i) '3' * c2 4. A C program contains the following declarations:

int i,j; long ix ; short s; float x; double dx; char c;

Determine the data type of each of the following expressions. (a) i+ c (b) s + j (c) x + c (d) ix + j (e) i + x (f) dx + x (g) s+ c (h) ( ( i n t ) dx) + ix (i) ix + c

5. A C program contains the following declarations and initial assignments: int i= 8, j = 5;

float x = 0.005, y = -0.01; char c = ' c ' , d = ' d ' ;

Determine the value of each of the following expressions. Use the values initially assigned to the variables for each expression.

(18)

(a) ( 3 * i - 2 * j ) % ( 2 * d - c ) (b) 2 * ( ( i / 5) + (4 * ( j - 3)) % ( i + j – 2)) (c) ( i - 3 * j ) % ( c + 2 * d ) / ( x - y ) (d)-(i + j ) (e) ++i (f) i++ (g) --j (h) ++x (i) y--(j) i<= j (k) c > d (l) x >= 0 (m) x < y (n) j != 6 (o) c == 99 (p)5 * (i + j ) > ' c ' (q) ( 2 * x + y) == 0

Gambar

Gambar 2.1 Karakter khusus C

Referensi

Dokumen terkait

[r]

Seperti yang telah diuraikan diatas bagaimana dinamika perjuangan FSPMI dalam memperjuangkan Perda Jatim No. 8 Tahun 2016 Tentang Penyelenggaraan

Berdasarkan penelitian yang telah dilakukan di tiga Provinsi di Sumatera Tengah yaitu Riau, sumatera Barat, dan Jambi diperoleh 10 spesies mangga yaitu

Pengeringan yang dilakukan pada buah mahkota dewa bertujuan mengurangi kadar air dalam bahan, sehingga air yang tersisa tidak dapat digunakan sebagai media hidup

Hasil dari beberapa penelitian menunjukkan bahwa sekresi susu dan lemak susu mengalami pengurangan dengan memperlama interval pemerahan dengan jumlah yang lebih

Mengingat bahwa penggunaan pakaian impor bekas sangat berpotensi membahayakan kesehatan manusia sehingga tidak aman untuk digunakan dan dimanfaatkan oleh masyarakat,

Penelitian ini diarahkan untuk menentukan golongan flavonoida lain yang ada dalam herba pegagan embun dan diharapkan hasil penelitian ini dapat memberi informasi tentang

Berdasarkan penelitian sebelumnya yang dilakukan oleh Harina Frisiani (2014) dengan judul ”Penerapan Model Visual Auditory Kinesthetic (VAK) Untuk meningkatkan