Unit 2 Variabel Dan Tipedata
Unit 2 Variabel Dan Tipedata
A. Kompetensi
Mahasiswa memahami konsep variabel, tipe data, konstanta, dan operator
B. Indikator Pencapaian
Mahasiswa dapat membuat program dengan menggunakan variabel
Mahasiswa dapat memilih tipe data yang tepat
Mahasiswa dapat menggunakan operator pada pemrograman
C. DASAR TEORI
1. Pengenal/Identifier
Adalah sebuah nama yang digunakan dalam program untuk menyatakan variabel, fungsi,
dll. Aturan umum yang berlaku dalam membuat pengenal C/C++ adalah :
Berawalan huruf kapital, huruf kecil, atau karakter garis bawah (_)
Bagian berikutnya dapat berupa huruf, angka (0,…, 9) atau karakter garis bawah
Huruf kecil dan huruf besar dibedakan pada pengenal. alamat dan Alamat adalah dua
pengenal yang berbeda.
2. Tipe Data
C dan C++ menyediakan berbagai tipe data dasar sebagaimana disajikan pada tabel berikut.
Tabel 1. Tipe Data pada C/C++
Tipe Keterangan Range
Char Menyatakan sebuah karakter (dapat berupa huruf signed: -128 to 127
unsigned: 0 to 255
kapital atau huruf kecil, digit 0 sampai 9 atau
simbol).
Short int signed: -32768 to 32767
Menyatakan bilangan bulat unsigned: 0 to 65535
(short)
int signed: -2147483648 to
2147483647
Menyatakan bilangan bulat
unsigned: 0 to
4294967295
3. Variabel
Adalah suatu nama yang menyatakan tempat dalam memori komputer yang digunakan untuk
menyimpan nilai dan nilai tersebut dapat diubah sewaktu program dijalankan. Sebelum
variabel digunakan pada sebuah program, variabel harus dideklarasikan (dibuat) dahulu.
Pendeklarasian variabel digunakan untuk memesan lokasi dalam memori komputer dan
menentukan tipe data yang dapat disimpan dalam variabel tersebut. Bentuk deklarasinya
adalah sebagai berikut.
Tipe_data nama_variabel;
Contoh dapat dilihat pada tabel berikut.
Dalam pemrograman seringkali ditemui perlunya membuat sebuah variabel yang bersifat lokal
(internal pada sebuah fungsi/subrutin) dimana nilai variabel lokal tersebut tidak dipengaruhi
oleh pernyataan-pernyataan di luar fungsi/subrutin, sedangkan variabel yang bersifat global
nilainya dipengaruhi secara global pada program yang memanggil dan memanipulasi variabel
tersebut. Contoh variabel lokal dan variabel global disajikan pada gambar 1. Pembahasan detail
mengenai variabel global dan variabel local akan dilanjutkan pada bab fungsi/subrutin.
Gambar 1. Contoh variabel global dan variabel local
4. Konstanta
Adalah nilai yang tetap dalam program, contoh :
Jari_jari = 2.3;
a = 10;
simbol = „K‟;
5. String
Adalah deretan karakter. String pada C/C++ selalu diakhiri dengan karakter NULL ( \0).
Variabel yang digunakan untuk menyimpan string perlu dideklarasikan sebagai berikut.
char nama[15];
pada deklarasi di atas, nama dideklarasikan sebagai variabel string yang dapat menampung
hingga 15 karakter termasuk untuk karakter NULL. Pemberian nilai/isi ke sebuah variabel
string menggunakan perintah strcpy() yang terdapat pada berkas string.h. Contoh program :
#include <stdio.h>
#include
<string.h> int
main()
{
char info[25];
strcpy(info,”nama : David Beckam”);
printf(info);
printf(\n);
strcpy(info,”Info : Pemain Sepakbola”);
printf(info);
return 0;
}
Pada program di atas,
char info[25];
digunakan untuk mendeklarasikan variabel string bernama info yang dapat menyimpan
hingga 24 karakter (plus sebuah karakter NULL). Melalui pernyataan :
dalam hal ini “string kontrol” berupa string yang mengandung penentu format, sedangkan
arg1, arg2, dan seterusnya data yang hendak diformat melalui “string kontrol”. Berikut
disajikan tabel yang berisi penentu format yang dapat digunakan pada perintah printf()
%4d artinya menampilkan bilangan bulat dengan lebar untuk menampilkan data sebesar
4 kotak/space.
Printf (“%8.2f”, 52.0);
%8.2f artinya menampilkan bilangan tipe floating dengan lebar space 8 kotak, 2
space/kotak digunakan untuk angka di belakang tanda desimal (.).
b. puts() berguna untuk menampilkan string, dan dengan sendirinya menambahkan karakter
newline
contoh :
puts(“Pemrograman C”); // Menampilkan string
Pada bahasa C++, perintah cout dapat digunakan untuk menampilkan tipe data apa saja
dengan bentuk yang sederhana, cukup dengan melibatkan operator <<.
Contoh :
cout << “Pemrograman C++”;
cout << “A”
Contoh
#include <iostream.h>
int main()
{
int bil = 23;
cout<<”Desimal = “<<bil<<”\n”;
cout<<”Heksadesimal= “<<hex<<bil<<”\n”;
cout<<”Oktal = “<<oct<<bil<<”\n”;
cout<<bil<<”\n”;
return 0;
}
Tampilan hasil program di atas adalah :
Desimal = 23
Heksadesimal = 17
Oktal = 27
27
Perlu diketahui bahwa variabel bil yang dikenai operator hex dan oct akan ditampilkan
dengan format yang terakhir.
6. Operator
Operator adalah simbol yang digunakan untuk menyusun suatu ekspresi, dengan
melibatkan satu atau beberapa operand, tergantung dari jenis operator. Berdasarkan
kelompok kegunaan, operator dikelompokkan menjadi operator aritmetika, operator
pembanding, operator logika, dan operator lain-lain
a. Operator Aritmatika
Tabel 4. Daftra operator aritmatika
Operator Prioritas Keterangan Contoh
- 1 Unary minus -1
+ 1 Unary plus +1
* 2 Perkalian 2*36
2*3.06.0
/ 2 Pembagian 7/2 3
7/2.03.5
% 2 Sisa pembagian 7%21
8%32
+ 3 Penjumlahan 2+3 5
2+3.05.0
- 3 Pengurangan 3-1 2
3-1.02.0
Berkas header math.h menyediakan prototipe sejumlah fungsi yang terkait dengan
operasi aritmetika, sebagaimana disajikan pada table berikut
b. Operator pembanding
Operator pembanding atau disebut operator relasional adalah operator yang berguna
untuk melakukan perbandingan terhadap dua buah nilai. Hasil perbandingannya
berupa nilai 1 (benar) atau 0 (salah)
Tabel 7. Operator Pembanding
Operator keterangan
> Lebih dari
>= Lebih dari sama dengan
< Kurang dari
<= Kurang dari sama dengan
!= Tidak sama dengan
== Sama dengan
c. Operator Logika
Operator logika digunakan untuk membentuk suatu ekspresi
pembandingan dari satu atau dua buah ekspresi pembandingan.
Tabel 8 Operator Logika
Operator Keterangan
&& AND
|| OR
! NOT
Contoh
Ekspresi Keterangan
a<b && b<c Bernilai benar jika a<b<c
a==b || b<c Bernilai benar jika a sama
dengan b atau b kurang dari c
Dalam menggunakan berbagai operator pada sebuah program, perl diperhatikan prioritas
operator. Misalnya ada sebuah ekspresi 1+4*2 maka yang dikerjakan terlebih dahulu
adalah 4x2=8, baru hasilnya ditambah 1 sehingga hasil akhirnya 9.
7. Operator Masukan
Seringkali dalam suatu program diperlukan operasi masukan yang berasal dari keyboard.
Perintah pada bahasa C yang dapat digunakan pada operasi masukan adalah fungsi
scanf() dan fungsi gets().
a. Fungsi scanf()
Secara umum C menyediakan fungsi bernama scanf() dengan prototipe yang terdapat
pada berkas header stdio.h untuk menangani data masukan dari keyboard. Fungsi ini
dapat digunakan untuk menangani berbagai masukan tipe data. Bentuk penggunaannya
scanf(“string kontrol”, argumen);
String kontrol dapat berupa penentu format, karakter spasi putih, atau karakter bukan
spasi putih. Yang termasuk karakter spasi putih adalah newline (\n). Adapun argumen
berupa alamat suatu variabel, yang dapat diperoleh dengan menyertakan tanda & di
depan suatu variabel. Penentu format menentukan tipe data yang akan dibaca. Kode-kode
penentu format yang dapat dipakai disajikan pada tabel berikut.
b. Fungsi gets()
Fungsi gets() pada bahasa C, digunakan untuk memasukan data string dari keyboard.
Bentuk pemakaiannya
gets(variabelstring)
Perlu diketahui bahwa gets() membaca seluruh karakter yang dimasukkan dari keyboard
sampai tombol enter di tekan. Oleh karena itu, harus dipastikan bahwa ukuran variabel
string harus mampu menyimpan seluruh karakter dalam string. Prototipe fungsi gets()
terdapat pada berkas stdio.h.
Pada C++, untuk membaca masukan dari keyboard digunakan objek bernama cin.
Perintah tersebut dapat digunakan untuk membaca sebarang tipe data. Bentuk
penggunaannya adalah :
cin>>namaVariabel;
Contoh
# include <iostream.h>
int main()
{
char nama[35];
cout<< “Nama
Anda :”; cin>>nama;
return 0;
}
D. Langkah Kerja
1. Pemrograman dengan C
a. Contoh
Ketiklah program berikut di C, simpan dengan nama lintasan_peluru.c,
kemudian lakukan compile, dan jalankan hasil compile-nya. Amati hasil
keluarannya.
Catatan : Jika kita menggunakan fungsi-fungsi matematika, maka file header math.h
harus disertakan.
#include
<stdio.h>
#include <math.h>
int main()
{
double kecepatan, sudut,
jarak; kecepatan = 32;
sudut = 40;
jarak = 2*kecepatan*kecepatan*
sin(sudut*3.14/180)*
cos(sudut*3.14/180)/9.8;
printf("Jarak = %f meter ",
jarak); return 0;
}
Ubahlah program di atas agar nilai kecepatan dan nilai sudut dapat diinputkan
dari keyboard
b. Perbaikan
Berikut ini adalah program yang digunakan untuk menghitung output dari
rumus- rumus berikut.
𝑎 = (2𝑥 + 3𝑦)(3𝑧 − 4𝑦)
5
𝑏= 𝑥
𝑦+𝑧
𝑠 = √|𝑥2 − 4𝑦𝑧|
Ketiklah program di bawah ini, kemudian lakukan kompilasi dan temukan serta
perbaiki kesalahan yang ada, sehingga diperoleh hasil perhitungan yang benar. Cek
untuk nilai masukan x = 2, y = 1, dan z = 3.
#include
<stdio.h>
#include <math.h>
int main()
{
double x,y,z,b,c;
printf("Masukan nilai x :
"); scanf("%lf",&x);
printf("Masukan nilai y :
"); scanf("%lf",&y);
printf("Masukan nilai z :
"); scanf("%lf",&z);
a=(2*x+3*y)*(3*z-4*y)
b=(pow(x,7))/(y+z);
c=sqrt(fabs(x*x-4*yz));
printf("Nilai a=(2x+3y)(3z-4y) adalah %lf\n", a);
printf("Nilai b=x^7/(y+z) adalah %lf\n", a);
printf("Nilai c=sqrt(|x^2-4yz|) adalah %lf\n", c);
return 0;
}
c. Perancangan
Rancanglah sebuah program untuk membaca dua bilangan bulat yang berisi nilai
resistansi resistor R1 dan R2, kemudian menampilkan hasil perhitungan resistansi
ekuivalen jika keduanya dihubung seri dan jika dihubung paralel.
2. Pemrograman dengan C++
a. Contoh
Ketiklah program berikut di C, simpan dengan nama lintasan_peluru.c, kemudian
lakukan compile, dan jalankan hasil compile-nya. Amati hasil keluarannya.
Catatan : Jika kita menggunakan fungsi-fungsi matematika, maka file header math.h
harus disertakan
#include <iostream>
using namespace
std; int main()
{
double panjang;
double lebar;
double
keliling;
cout << "Masukan nilai lebar :
"; cin >> lebar;
cout << "Masukan nilai panjang :
"; cin >> panjang;
keliling = 2*(panjang+lebar);
cout << "Keliling persegipanjang = " << keliling << "\n";
return 0;
Ubahlah program di atas agar nilai kecepatan dan nilai sudut dapat diinputkan
dari keyboard
b. Perbaikan
Berikut ini adalah program yang digunakan untuk menghitung output dari
rumus- rumus berikut.
𝑎 = (2𝑥 + 3𝑦)(3𝑧 − 4𝑦)
5
𝑏= 𝑥
𝑦+𝑧
𝑠 = √|𝑥2 − 4𝑦𝑧|
Ketiklah program di bawah ini, kemudian lakukan kompilasi dan temukan serta
perbaiki kesalahan yang ada, sehingga diperoleh hasil perhitungan yang benar.
Cek untuk nilai masukan x = 2, y = 1, dan z = 3
#include <iostream>
#include<math.h>
using namespace
std; int main()
{
double x,z,a,b,c;
cout<<"Masukan nilai x :
"
cin>>x;
cout<<"Masukan nilai y :
"; cin>>y;
cout<<"Masukan nilai z :
"; cin>>z;
a=(2*x+3*y)*(3*z-4*y);
b=(pow(x,7))/(y+z);
c=sqrt(fabs(x*x-4*y*z);
cout<<"Nilai a=(2x+3y)(3z-4y) adalah "<< a<<"\n";
cout<<"Nilai b=x^7/(y+z) adalah " <<c<<"\n";
cout<<"Nilai c=sqrt(|x^2-4yz|) adalah "<< c<<"\n";
return 0;
}
c. Perancangan
Rancanglah sebuah program untuk membaca dua bilangan bulat yang berisi nilai
resistansi resistor R1 dan R2, kemudian menampilkan hasil perhitungan resistansi
ekuivalen jika keduanya dihubung seri dan jika dihubung paralel.
E. Lembar Kerja
Tulis semua hasil percobaan berupa program dan tampilannya. Setiap baris program
diberi keterangan mengenai arti syntax program tersebut. Tuliskan juga analisis Anda
terhadap hasil jalannya program maupun kesalahan yang ada.
F. Referensi
1. Abdul Kadir Heriyanto, Algoritma Pemrograman Menggunakan C++, Penerbit
ANDI, 2005
2. Modul Praktikum Pemrograman Komputer, Teknik Elektro UII.