PRAKTIKUM 2 STRUKTUR DASAR BAHASA C

PRAKTIKUM 2 STRUKTUR DASAR BAHASA C

2.1 TUJUAN PRAKTIKUM

Tujuan Umum

Siswa dapat memahami:

1.    Struktur penulisan bahasa pemrograman 

2.    Sintaks assignment statement dan output statement,

3.    Keperluan sebuah variable,

4.    Tipe data standar bahasa pemrograman.

5.    Mengenal berbagai operator dalam Bahasa C

Tujuan Khusus

Siswa dapat :

1.    Menuliskan sintaks  instruksi : assignment statement, dan output Statement

2.    Mendeklarasikan dan menggunakan variabel dalam berbagai tipe data dalam sebuah program

3.    Memilih tipe data sesuai dengan kegunaan data tersebut.

4.    Menulis program untuk menampilkan isi dari suatu variabel 

5.    Menulis program untuk menampilkan string yang mengandung karakter khusus

6.    Membuat program sederhana yang melibatkan berbagai operator

7.    Memberi komentar program

 

2.2 TEORI SINGKAT

2.2.1 Tipe Data

Tipe data merupakan bagian  program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh komputer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif. 

 Dalam bahasa C terdapat lima tipe data dasar, yaitu : 

No 

Tipe Data 

Ukuran 

Range

(Jangkauan) 

Format 

Keterangan 

1 

char 

1 byte 

-128 s/d 127 

%c 

Karakter/string 

2 

int 

2 byte 

-32768 s/d 32767 

%i , %d 

Integer/bilangan bulat 

No 

Tipe Data 

Ukuran 

Range

(Jangkauan) 

Format 

Keterangan 

3 

float 

4 byte 

-3.4E-38

3.4E+38 

s/d

%f 

Float/bilangan pecahan 

4 

double 

8 byte 

-1.7E-308

1.7+308 

s/d

%lf 

Pecahan      presisi ganda 

5 

void 

0 byte 

- 

 

- 

Tidak bertipe 

 

2.2.2 Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variabel dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut : 

1.  Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda. 

2.    Tidak boleh mengandung spasi. 

3.    Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb 

4.    Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai. 

Contoh penamaan variabel yang benar : 

NIM, a, x, nama_mhs, f3098, f4, nilai, budi.

Contoh penamaan variable yang salah : 

%nilai_Siswa, 80Siswa, rata-rata, ada spasi, penting!

 

2.2.3 Karakter Khusus (Special Character)

Pada Bahasa C, pada umumnya karakter atau string dapat ditampilkan dengan menuliskan karakter / string tersebut secara langsung. Namun demikian, terdapat beberapa karakter khusus yang penulisannya sedikit berbeda. Berikut ini karakter khusus yang dikenal di bahasa C beserta penjelasannya.

Karakter Khusus

Penjelasan 

\a

Untuk bunyi bell (alert)

\b

Mundur satu spasi (backspace)

\f

Ganti halaman (form feed)

\n

Ganti baris baru (new line)

\r

Menuju ke kolom pertama, baris yang sama (carriage return)

\v

Tabulasi vertikal

Karakter Khusus

Penjelasan 

\t

Tabulasi horizontal

\0

Nilai kosong (null)

\'

Kutip tunggal

\"

Kutip ganda

\\

Karakter garis miring (backslash)

 

2.2.4 Deklarasi 

Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi. 

Deklarasi Variabel 

Bentuk umum pendeklarasian suatu variable adalah :  

Nama_tipe nama_variabel; 

Contoh :  

int x;  char y, huruf, nim[10];   char float nilai;  double beta;    int array[5][4];

char *p; 

  

Deklarasi Konstanta 

Dalam bahasa C konstanta dideklarasikan menggunakan preprocessor #define. Contohnya :  

#define PHI 3.14 

#define nim “0111500382” 

#define nama “Achmad Solichin” 

  

Deklarasi Fungsi 

Fungsi merupakan bagian yang terpisah dari program dan dapat diaktifkan atau dipanggil di manapun di dalam program. Fungsi dalam bahasa C ada yang sudah disediakan sebagai fungsi pustaka seperti printf(), scanf(), getch() dan untuk menggunakannya tidak perlu dideklarasikan. Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi); Contohnya : float luas_lingkaran(int jari); void tampil(); int tambah(int x, int y); 

 

2.2.5 Operator 

Operator Penugasan 

Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama dengan (“=”). Contoh : 

nilai = 80; 

A = x * y; 

Artinya : variable “nilai” diisi dengan 80 dan variable “A” diisi dengan hasil perkalian antara x dan y.  

  

Operator Aritmatika 

Bahasa C menyediakan lima operator aritmatika, yaitu : 

§  *            : untuk perkalian 

§  /  : untuk pembagian 

§  %          : untuk sisa pembagian (modulus) 

§  +           : untuk pertambahan 

§  -  : untuk pengurangan 

Catatan : operator % digunakan untuk mencari sisa pembagian antara dua bilangan. Misalnya : 

9 % 2 = 1 

9 % 3 = 0 

9 % 5 = 4 

9 % 6 = 3 

  

Operator Hubungan (Perbandingan) 

Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable. Operator hubungan dalam bahasa C : 

Operator 

Arti 

 

Contoh  

< 

Kurang dari 

 

x < y 

Apakah x kurang dari y 

<= 

Kurang        dari dengan 

sama

x <= y 

Apakah x kurang dari sama dengan y 

> 

Lebih dari 

 

x > y 

Apakah x lebih dari y 

>= 

Lebih          dari dengan 

sama

x >= y 

Apakah x lebih dari sama dengan y 

== 

Sama dengan 

 

x == y 

Apakah x sama dengan y 

!= 

Tidah sama dengan 

x != y 

Apakah x tidak sama dengan y 

 

 

Operator Logika 

Jika operator hubungan membandingkan hubungan antara dua buah operand, maka operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan. Operator logika ada tiga macam, yaitu : 

§  &&      : Logika AND (DAN) 

§  ||           : Logika OR (ATAU) 

§  !           : Logika NOT (INGKARAN) 

  

Operator Bitwise 

Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori. Operator bitwise dalam bahasa C : 

§  <<        : Pergeseran bit ke kiri 

§  >>        : Pergeseran bit ke kanan 

§  &         : Bitwise AND 

§  ^          : Bitwise XOR (exclusive OR) 

§  |           : Bitwise OR 

§  ~          : Bitwise NOT 

  

Operator Unary 

Operator Unary merupakan operator yang hanya membutuhkan satu operand saja. Dalam bahasa C terdapat beberapa operator unary, yaitu : 

Operator 

Arti/Maksud 

Letak 

Contoh 

Equivalen 

- 

Unary minus 

Sebelum operator 

A + -B * C 

A + (-B) * C 

++ 

Peningkatan dengan penambahan nilai 1 

Sebelum dan sesudah 

A++ 

A = A + 1 

-- 

Penurunan         dengan

pengurangan nilai 1 

Sebelum dan sesudah 

A-- 

A = A – 1 

sizeof 

Ukuran dari operand dalam byte 

Sebelum 

sizeof(I) 

- 

! 

Unary NOT 

Sebelum 

!A 

- 

~ 

Bitwise NOT 

Sebelum 

~A 

- 

& 

Menghasilkan           alamat memori operand  

Sebelum 

&A 

- 

* 

Menghasilkan nilai dari pointer 

Sebelum 

*A 

- 

  

Catatan Penting ! : 

Operator peningkatan ++ dan penurunan -- jika diletakkan sebelum atau sesudah operand terdapat perbedaan. 

 

2.2.6 Kata Tercadang (Reserved Word) 

Bahasa C standar ANSI memiliki 32 kata tercadang (reserved word) dan Turbo C menambahkannya dengan 7 kata tercadang. Semua reserved word tidak boleh digunakan dalam penamaan identifier (variable, nama fungsi dll). Kata tercadang yang tersedia dalam bahasa C adalah sbb (tanda * menunjukkan kata tercadang pada Turbo C): 

*asm, default, for, *pascal, switch, auto, do, goto, register, typedef, break, double, *huge, return, union, case, else, if, short, unsigned, *cdecl, enum, int, signed, void, char, extern, *interrupt, sizeof  volatile const  *far  long  static  while continue  float  *near  struct  

  

2.2.7 Komentar Program 

Komentar program hanya diperlukan untuk memudahkan pembacaan dan pemahaman  suatu program (untuk keperluan dokumentasi program). Dengan kata lain, komentar program hanya merupakan keterangan atau penjelasan program. Untuk memberikan komentar atau penjelasan dalam bahasa C digunakan pembatas /* dan */ atau menggunakan tanda // untuk komentar yang hanya terdiri dari satu baris. Komentar program tidak akan ikut diproses dalam kompilasi program (akan diabaikan). 

 

2.3 PELAKSANAAN PRAKTIKUM

1. Tuliskan Program 2.1 berikut ini pada editor Dev-C++.

Program 2.1 variabel1.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

int {

 

 

 

 

 

 

 

 

 

}

#include <stdio.h>  main()

char nim[10]; char nama[30]; int nilai;

 

printf("NIM : %s", nim); printf("NAMA : %s", nama); printf("NILAI : %i", nilai);

 return 0;

 

 

2.    Jalankan program 2.1 di atas dan tuliskan apa yang tercetak di layar.

 

 

 

 

3.    Pada Program 2.1, variabel yang dideklarasikan belum diisi dengan nilai tertentu (belum diinisialisasi). Lakukan perubahan Program 2.1 dengan menambahkan perintah untuk mengisi variabel nim, nama dan nilai seperti pada Program 2.2 berikut ini.

Program 2.2 variabel2.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

{

 

 

 

 

 

 

 

 

 

 

 

 

 

}

#include <stdio.h> int main()

char nim[10]; char nama[30]; int nilai;

 

nim = "141150123"; nama = "Achmad Solichin"; nilai = 85;

 

printf("NIM : %s", nim); printf("NAMA : %s", nama); printf("NILAI : %i", nilai);

 return 0;

 

4.    Lakukan kompilasi Program 2.2 di atas dan perhatikan hasilnya. Apakah terjadi error? Apa error yang akan ditampilkan? Tuliskan error yang ditampilkan dan baris berapa terjadi error!

Error yang ditampilkan:

 

 

Error terjadi pada baris ke: 

 

 

5.    Kesalahan pada Program 2.2 terjadi karena cara pengisian variabel nim dan nama yang kurang tepat. Variabel nim dan nama dideklarasikan sebagai sebuah variabel bertipe char dan berupa array (ditunjukkan dengan adanya tanda kurung siku []). Pembahasan mengenai array akan dilakukan secara khusus pada Pertemuan ke-9. 

 

6.    Sekarang kita perbaiki kesalahan pada Program 2.2 dengan mengisi nim dan nama menggunakan fungsi strcpy(). Penggunaan fungsi strcpy() harus menyertakan header fungsi <string.h>. Ubahlah Program 2.2 menjadi Program 2.3 berikut ini.

Program 2.3 variabel3.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

{

 

 

 

 

 

 

 

 

 

 

 

 

 

}

#include <stdio.h> #include <string.h> int main()

char nim[10]; char nama[30]; int nilai;

 

strcpy(nim, "141150123"); strcpy(nama, "Achmad Solichin"); nilai = 85;

 

printf("NIM : %s", nim); printf("NAMA : %s", nama); printf("NILAI : %i", nilai);

 return 0;

 

7.    Jalankan Program 2.3 dan tuliskan apa yang tercetak di layar!

 

 

 

 

 

8.    Tampilan Program 2.3 sedikit berantakan bukan? Mari kita buat lebih rapi dengan menambahkan karakter khusus \n (pindah baris) dan \t (tabulasi horizontal). Perhatikan Program 2.4 berikut ini dan jalankan!

Program 2.4 variabel4.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

#inc

int {

 

 

 

 

 

 

 

 

 

lude <stdio.h>

#include <string.h>  main()

char nim[10]; char nama[30]; int nilai;

 

strcpy(nim, "141150123"); strcpy(nama, "Achmad Solichin"); nilai = 85;

 

printf("NIM \t: %s", nim);

 

14

15

16

17

18

 

 

 

 

}

printf("\nNAMA \t: %s", nama); printf("\nNILAI \t: %i", nilai);

 return 0;

 

9.    Jalankan Program 2.4 dan tuliskan apa yang tercetak di layar!

 

 

 

 

 

 

 

10. Selanjutnya kita akan ubah Program 2.4 menjadi Program 2.5 dengan menambahkan nilai uts, uas, tugas dan kehadiran serta menghitung nilai akhir yang diperoleh Siswa. Nilai akhir diperoleh dengan menggunakan rumus sebagai berikut:

NILAI AKHIR = 10% kehadiran + 20% tugas + 30% uts + 40% uas

Kita akan mendeklarasikan variabel kehadiran, tugas, uts dan uas bertipe integer dan variabel nilai_akhir bertipe float (pecahan).

Program 2.5 variabel5.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

 

18

19

20

21

22

23

int {

 

 

 

 

 

 

 

 

 

 

 

 

 

* u

 

 

 

 

 

 

#include <stdio.h>

#include <string.h>  main()

char nim[10]; char nama[30];

int kehadiran, tugas, uts, uas; float nilai_akhir;

 

strcpy(nim, "141150123"); strcpy(nama, "Achmad Solichin"); kehadiran  = 100; tugas     = 90; uts      = 83;

uas  = 86;

 nilai_akhir = (0.1 * kehadiran) + (0.2 * tugas) + (0.3

ts) + (0.4 * uas);

 

printf("NIM \t: %s", nim); printf("\nNAMA \t: %s", nama); printf("\nKEHADIRAN \t: %i", kehadiran); printf("\nTUGAS \t: %i", tugas); printf("\nUTS \t: %i", uts);

 

24

25

26

27

28

 

 

 

 

}

printf("\nUAS \t: %i", uas);

printf("\nNILAI AKHIR \t: %.2f", nilai_akhir);

 return 0;

 

11. Jalankan Program 2.5 dan tuliskan apa yang tercetak!

 

 

 

 

 

 

 

 

 

 

12. Untuk lebih mempermudah pembacaan program (dan untuk keperluan belajar), kita dapat menambahkan komentar-komentar program. Ubah Program 2.5 menjadi Program 2.6 berikut ini.

Program 2.6 variabel6.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

 

21

22

23

24

25

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#include <stdio.h> #include <string.h> int main()

char nim[10]; char nama[30];

int kehadiran, tugas, uts, uas; float nilai_akhir;

 

strcpy(nim, "141150123"); strcpy(nama, "Achmad Solichin"); kehadiran  = 100; //nilai kehadiran tugas       = 90;      //nilai tugas uts        = 83;      //nilai uts

uas  = 86;      //nilai uas

 

/* perhitungan nilai akhir     sesuai peraturan di UBL

*/

nilai_akhir = (0.1 * kehadiran) + (0.2 * tugas) + (0.3

* uts) + (0.4 * uas);

 

//tampilkan data printf("NIM \t: %s", nim); printf("\nNAMA \t: %s", nama); printf("\nKEHADIRAN \t: %i", kehadiran);

 

26

27

28

29

30

31

32

 

 

 

 

 

 

}

printf("\nTUGAS \t: %i", tugas); printf("\nUTS \t: %i", uts); printf("\nUAS \t: %i", uas);

printf("\nNILAI AKHIR \t: %.2f", nilai_akhir);

 return 0;

 

13. Jalankan Program 2.6 dan lihat hasilnya. Bandingkan dengan hasil Program 2.5. Sama bukan? Hal tersebut menunjukkan bahwa komentar program tidak mempengaruhi hasil program. Komentar program diperlukan oleh programmer sendiri agar dalam mempermudah pembacaan program.

 

2.4 LATIHAN

Tuliskan dan jalankan beberapa program berikut ini dan tuliskan hasilnya di tempat yang sudah disediakan.

Program 2.7 unary.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

{

 

 

 

 

 

 

 

 

 

 

 

 

}

#include <stdio.h> int main()

int A, B; A = 5;

printf("A = %i", A); printf("\nA = %i", A++); printf("\nA = %i", A);

 B = 10;

printf("\n\nB = %i", B); printf("\nB = %i", ++B); printf("\nB = %i", B);

 return 0;

 

Hasil Program 2.7

 

 

 

 

 

 

 

 

 

Program 2.8 lingkaran.cpp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

{

 

 

 

 

 

 

 

 

 

 

 

 

 

}

#include <stdio.h> int main()

int jari;

float luas, keliling; jari = 7;

 

luas = 3.14 * jari * jari; keliling = 2 * 3.14 * jari;

 

printf("LUAS dan KELILING LINGKARAN"); printf("\nJari-jari = %i", jari); printf("\nLUAS = %.3f", luas);

printf("\nKELILING = %.2f", keliling);

 

return 0;

 

Hasil Program 2.8

 

 

 

 

 

 

 

 

 

 

2.5 TUGAS MANDIRI

Kerjakan soal-soal berikut ini:

1.    Diketahui sebuah segitiga memiliki panjang alas = 8 cm dan tinggi = 5 cm. Buatlah sebuah program dalam Bahasa C untuk menghitung dan menampilkan luas dari segitiga tersebut!

2.    Diketahui sebuah bangun ruang berbentuk bola dan memiliki diameter 15 cm. Buatlah sebuah program dalam Bahasa C untuk menghitung dan menampilkan isi (volume) dari bangun ruang bola tersebut!

3.    Diketahui sebuah segitiga siku-siku dengan panjang sisi alas 4 cm dan sisi tinggi 5 cm. Dengan menggunakan rumus Phitagoras, buatlah sebuah program Bahasa C untuk menghitung sisi miring segitiga tersebut dan menampilkannya di layar!


Belum ada Komentar untuk "PRAKTIKUM 2 STRUKTUR DASAR BAHASA C"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel