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