Pendahuluan

Sebuah bahasa pemrograman tidak terlepas pada Tipe Data, karena memiliki fungsi yang sangat penting yaitu untuk menyatakan jenis nilai yang dimiliki oleh sebuah variabel. Selain itu, bahasa pemrograman juga membutuhkan Variabel yang berfungsi untuk menyimpan nilai baik itu huruf, karakter atau angka dan Operator yang biasanya di identikan dengan perhitungan yang bermain pada angka di tipe data integer atau yang memiliki nilai angka bulat

Tujuan Instruksional Khusus

Mahasiswa dapat menguraikan  tipe data data, variabel, konstanta,  operator, dan urutan operasinya

 TipeData Dasar

Menyimpan nilai dalam bentuk bilangan atau angka bulat.
Semua bahasa pemrograman menyediakan tipe data integer maupun tipe data real atau pecahan.

Contoh integer:      2          5          -10        135       2008
Secara teoritis, tipe data integer tidak memiliki batasan, yaitu dari minus tak hingga hingga plus tak hingga. Namun dalam pemrograman yang menggunakan bahasa pemprograman C++, secara umum dikenal beberap macam tipe data integer, yaitu:
Tabel Tipe data integer
Tipe
Ukuran
Nilai
Short
8 bit
-128 .. 127
Int
16 bit
-32768 .. 32767
Long
32 bit
-2147483648 .. 2147483647


·         Real/ bilangan riil
..
Contoh real:          .5          0.17      -3.465   92.0      4.3000+E9
Secara teoritis, tipe data real juga tidak memiliki batasan, yaitu dari minus tak hingga hingga plus tak hinggaReal adalah tipe data dasar berupa bilangan yang memiliki pecahan desimal. Sama dengan bilangan integer, bilangan Real atau pecahan juga disediakan oleh semua bahasa pemrograman.
tipe data berjenis real ini, harus ditulis dengan sebuah titik sebagai pemisah bilangan utuh dan bilangan pecahannya. Namun dalam pemrograman, secara umum dikenal beberapa macam tipe data real, yaitu:
Tabel  Tipe data real
Tipe
Ukuran
Nilai
Float
32 bit
2.9x10-39 .. 1.7x1038
Double
48 bit
5.0x10-324 .. 1.7x10308

·      u nil dan dituliskan sebagai “”.
Contoh char:         “5”   “A”   “?”   “+”   “$”
Perhatikan bahwa 5 adalah integer sedangkan “5” adalah char.
·         String
Seperti halnya tipe data char, tipe data string merupakan tipe data yang paling banyak digunakan, tring adalah tipe data dasar yang berupa kumpulan karakter dengan panjang tertentu. Meskipun berupa kumpulan karakter, karena tipe data string sering digunakan dalam pemrograman, string dianggap sebagai tipe data dasar. Untuk penyimpanan string didalam memori, dibutuhkan 1 byte untuk tiap karakternya. Serupa dengan penulisan karakter, penulisan sebuah string juga harus diawali dan diakhiri dengan tanda petik ganda. String juga mengenal null yang dituliskan dengan “”.
Contoh string:
-   “JAKARTA”
-   STTI NIIT I-Tech Jakarta
-   “ABC3456”
-   “Lucu”
-   “30202001”
-   “z”
Perhatikan bahwa sebuah karakter tunggal (“z”) juga merupakan string.

·         Boolean/ bilangan logika
Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah) atau dapat juga dilambangkan dengan 1 dan 0. Pada sebagian besar bahasa pemrograman nilai 1menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan maupun pengulangan dengan IF … THEN atau  IF … THEN … ELSE untuk percabangan dan While atau do-while untuk pengulangan.

   Variabel

Variable atau variabel berasal dari kata vary dan able.  Vary berarti bermacam-macam atau berubah-ubah. Able berarti dapat.  Variabel adalah suatu area dalam memory yang isinya dapat diubah-ubah.
Format deklarasi variabel dalam C:
tipe_data nama_variabel;
tipe_data nama_variabel = initial_value;
Contoh: int x, y, z;
 float i = 20;

Syarat Penulisan Variable
          Nama variabel tidak boleh menggunakan spasi.
     Diawali dengan huruf atau garis bawah dan selanjutnya diikuti oleh huruf atau garis bawah atau angka.
          Tidak boleh diawali dengan angka
          Panjang variabel max 32 karakter.
          Tidak boleh menggunakan keyword/ reserved word karena sudah digunakan oleh C.
Contoh Penulisan Variabel
Penamaan yang benar
Penamaan yang salah
Namabarang
Nama barang (salah karena menggunakan spasi)
nama212
212nama (salah karena diawali dengan angka)
jumlah_barang
Jumlah.barang (karena menggunakan titik)
JenisBarang
jenis barang (menggunakan spasi)
jumlahPengunjung
for (salah karena menggunakan reserved word)

Untuk menuliskan variabel, kita dapat menuliskannya pada bagian isi program. Contoh penulisan variabelnya adalah :

1.   #include <stdio.h>
2.    
3.   main () {
4.       int x;
5.       string nama;
6.       float BB;
7.       char jKelamin;
8.       bool status; 
9.       ...
10.  }

Secara teori, pemrogram dapat memberikan nama apapun pada sebuah variabel karena penamaan variabel bertujuan untuk memudahkan pemanggilan kembali. Namun, ada beberapa panduan yang biasa diacu pemrogram dalam penamaan variabel, antara lain:
·         Huruf pertama pada nama variabel menunjukkan tipe data dari variabel.
Contoh: diawali dengan ‘c’ untuk variabel char, ‘i’ untuk integer, ‘s’ untuk string, dan seterusnya. Panduan penamaan ini disebut dengan Charles Simyoni Hungarion Notation.
·         Nama variabel harus cukup jelas menunjukkan tujuan penggunaan variabel tersebut.
Contoh: sNama adalah variabel string untuk menyimpan nama, cJenisKelamin adalah variabel char untuk menyimpan jenis kelamin, bStatus adalah variabel boolean untuk menyimpan status.
·         Nama variabel tidak boleh mengandung spasi kosong atau karakter khusus ! @ # $ % ^ & * ( ) { } [ ] ’ ” ; : < > , . / ? | dan \. Beberapa pemrogram menggunakan ‘_’ untuk memisahkan kata di nama variabel.
Contoh: cJenis_kelamin, sNama_orang_tua, iNilai_akhir
·         Cara lain untuk memisahkan kata dalam nama variabel adalah dengan memberikan huruf besar di awal tiap kata.
Contoh: cJenisKelamin, sNamaOrangTua, iNilaiAkhir

Setelah sebuah variabel dideklarasikan, variabel dapat menyimpan nilai. Pengisian nilai ke dalam sebuah variabel dalam sebuah program dapat dilakukan dengan 2 cara, yaitu:

·         Secara langsung
Contoh:
-   cJenisKelamin = ‘P’
-   sNamaOrangTua = ‘Jeremy Thomas’
-   iNilaiAkhir = 99


·         Dengan inputan
Contoh:
-   Input (cJenisKelamin)
-   Input (sNamaOrangTua)
-   Input (iNilaiAkhir)
Penggunaan kedua cara pengisian nilai variabel ini akan diperjelas pada bab-bab selanjutnya. 


Contoh program untuk memberikan nilai pada sebuah variabel :
1.  #include <stdio.h>
2.    main() {
3.       int lA,lB;
4.       String NamaA, NamaB;
5.       // Pengisian secara Langsung
6.       lA = 20;
7.       NamaA = “Joko Handono”;      
8.       // Pengisian dengan Inputan
9.       scanf(“%i”,&lB);
10.     scanf(“%s”,&NamaB);
11.     // Menampilkan Kelayar
12.     printf(“Nilai lA : %i”,lA);
13.     printf(“Nilai lB : %i”,lB);
14.     printf(“Nilai NamaA : %s”,NamaA);
15.     printf(“Nilai NamaB : %s”,NamaB);
16.  }
Pada contoh program diatas, kita melihat ada tanda “%i” dan “%s”. Fungsi tanda tersebut adalah untuk menkonfersi nilai inputan menjadi tipe yang sesuai dengan yang diterima atau mengubah nilai dari tipe data dasar menjadi tipe karakter untuk ditampilkan dilayar. Karena pada dasarnya, dalam pemprograman bahasa C++ nilai input atau nilai yang dapat ditampilkan berupa karakter. Sedangkan didalam program, nilai tersebut harus sesuai dengan tipe data yang dideklarasikan. Sebagai contoh pada baris ke-10, variabel “lB” tipe datanya adalah integer. Untuk mengubah tipe masukan menjadi integer, maka digunakan “%i”. Biasanya, string tersebut diawali dengan huruf pertama tipe datanya, misalnya float -> %f, String -> %s dan seterusnya. Khusus untuk inputan, nama variabelnya harus diawali dengan string “&” seperti tampak pada baris ke 10 dan 11.

Konstanta

Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Konstanta juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubah ubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta.
Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta.
Untuk mendeklarasikan konstanta, bisa dilakukan dengan preprosesor #define atau dengan keyword const 


Cara penulisan konstanta didalam program, di tulis dengan diawali dengan tanda crash (#) kemudian diikuti dengan define, selanjutnya nama konstantanya dan selanjutnya nilainya dan ditulis diluar program utama setelah pendeklarasian librari namespace. Contoh penulisannya adalah sebagai berikut:

1.  #include <stdio.h>
2.  #define iMaxs 100
3.  #define fPi 3.14159
4.  #define sSapa ‘Hello’
5.  #define newLine ‘\n’
6.  main() {
7.       ...
8.  }

Operator 

adalah pengendali operasi yang akan dilakukan pada beberapa operan sehingga membentuk sebuah ekspresi. Secara umum, dalam sebuah ekspresi terdapat sebuah operator yang diapit dua operan. Contohnya pada ekspresi:
x + y
x dan y adalah operan, sedangkan
‘+’ adalah operatornya

Terdapat tiga macam operator yang biasa digunakan dalam pemrograman, yaitu:

·         Operator aritmatik
Operator ini membentuk perhitungan aritmatik. Kedua operan dari operasi aritmatik ini dapat berupa nilai integer atau real.
Operator yang termasuk tipe ini adalah:

Tabel Operator aritmatik
Lambang
Deskripsi
Contoh
+
Penjumlahan
x = y + z
-
Pengurangan
x = y – z
*
Perkalian
x = y * z
/
Pembagian
x = y / z
%
Modulo (sisa bagi)
x = y % z

Output dari operasi aritmatik akan memiliki tipe data yang sama dengan tipe data kedua operannya. Misalnya, jika sebuah bilangan integer dijumlahkan dengan bilangan integer lainnya maka outputnya adalah bilangan integer juga. Selain itu perlu diperhatikan pula bahwa sebuah operator aritmatik tidak dapat diterapkan pada dua bilangan dengan tipe data yang berbeda.

Contoh program dengan operasi aritmatik:
1     //Program Aritmatik
2     /* IS:Tersedia dua buah bilangan integer
    FS:Hasil Modulo duabuah bilangan */
3     #include <stdio.h>
4      
5     main () {
6         // Deklarasi Variabel
7         int iTambah;
8         int iAngka1, iAngka2;
9         printf(“Masukan Bilangan Pertama : ”);
10       scanf(“%i”, iAngka1);
11       printf(“Masukan Bilangan Kedua   : ”);
12       scanf(“%i”, iAngka2);
13       // Penjumlahan
14       iTambah = iAngka1 + iAngka2;
15       printf(“Hasil Penjumlahan %i + %i = %i”, iAngka1, iAngka2, iTambah);
16       return 0;
17   }

Program di atas akan mengembalikan nilai hasil penjumlahan sesuai dengan inputan. Misalnya pada inputan pertama kita masukan 10 dan yang kedia kita masukan 23 maka hasilnya adalah 33. outputnya adalah:


Masukan Bilangan Pertama : 10
Masukan Bilangan Kedua   : 23
Hasil Penjumlahan 10 + 23 = 33



·         Operator Assignment
Dalam pemrograman bahasa C++, Operator ini digunakan memasukan nilai kedalam sebuah variabel, tanpa menghilangkan atau mengosongkan nilai variabel sebelumnya. Contoh penggunaan operator ini adalah sebagai berikut :


Tabel  Operator relasional
Lambang
Deskripsi
Contoh
+=
Menambahkan
x += 1
-=
Mengurangkan
x -= 1
*=
Mengalikan
x *= 2
/=
Membagi
x /= 2
%=
Mem-mod
x %= 2

·         Increase and decrease
Penulisan ini dilambangkan dengan ++ (Increade) dan -- (decrease). Operator ini berfungsi untuk menaikan atau menurunkan satu satuan nilai pada sebuah variabel. Contoh penggunaannya adalah pada contoh dibawah ini :
1    ...
2    a++;
3    a += 1;
4    a = a + 1;
5    ...

Ada dua macam penulisan operator ini, yaitu simbol dapat ditulis sebelum nama variabel dan setelah variabel. Adapun perbedaab antara keduanya adalah :
1    B = 3;
2    A = ++B;
3      // A = 4, B = 4
1    B = 3;
2    A = B++;
3      // A = 3, B = 4

·         Operator relasional
Operator ini membandingkan dua operan dan hasilnya berupa nilai boolean (BENAR atau SALAH). Operasi relasional dapat dilakukan pada dua nilai dengan tipe data yang sama: tipe data integer, riil, char, string, maupun boolean. Berikut ini adalah operator relasional:
Tabel  Operator relasional
Lambang
Deskripsi
Contoh
==
Sama dengan
x == y
!=
Tidak sama dengan
x != y
> 
Lebih dari
x > y
< 
Kurang dari
x < y
>=
Lebih dari atau sama dengan
x >= y
<=
Kurang dari atau sama dengan
x <= y

Contoh penggunaan operator relasional dalam algoritma:
1    // Program Operator Relasional
2    KAMUS DATA  {awal deklarasi variabel}
3       iAngka1, iAngka2 : integer
4    BEGIN       {awal algoritma}
5       iAngka1 = 6 {pengisian variabel langsung}
6       Input(iAngka2) {pengisian dgn inputan}
7       IF (iAngka1 <> iAngka2) THEN
8          Output (‘Tebakan Anda salah’)
9       ELSE
10        Output (‘Horee! Tebakan Anda benar’)
11     ENDIF
12  END

Output dari operasi relasional bertipe boolean (true/ false). Pada contoh di atas,
iAngka1 != iAngka2 bernilai benar/ true jika iAngka1 tidak sama dengan iAngka2
iAngka1 != iAngka2 bernilai salah/ false jika iAngka1 sama dengan iAngka2

Program di atas akan mengeluarkan pesan sesuai inputan pengguna. Jika pengguna menginputkan angka selain 6 (‘iAngka1 != iAngka2’ bernilai benar), program akan mengeluarkan pesan ‘Tebakan Anda salah’. Jika pengguna menginputkan angka 6 (‘iAngka1 != iAngka2’ bernilai salah), program akan mengeluarkan pesan ‘Horee! Tebakan Anda benar’.

·         Operator logika
Operator logika adalah operator yang digunakan untuk mengkombinasikan hasil ekspresi yang mengandung operator relasional.

Tiga macam operator logika adalah:

Tabel 4.6. Operator logika
Lambang
Deskripsi
Contoh
&&
And / Dan
x > 7 && x = y
||
Or / Atau
x != y || x > 3
!
Not / Tidak
! (x > y)

Pola penggunaan operator logika adalah:
   ekspresi1 OPERATOR ekspresi2
Output dari penggunaan operator AND dan OR adalah sebagai berikut:

Tabel 4.7. Output operator logika
ekpresi1
ekspresi2
kombinasi dengan
AND
OR
True
True
True
True
True
False
False
True
False
True
False
True
False
False
False
False

Pola yang mudah untuk mengingat output kedua operator logika tersebut adalah: True AND True = True, False OR False = False.

Beberapa contoh penggunaan operator logika:
·         (x > 7) && (x = y)
Jika ternyata nilai x adalah 8 dan y adalah 5, maka
(8 > 7) && (8 = 5)
True AND False
False (output operasi)
·         (x != y) || (x > 3)
Jika ternyata nilai x adalah 4 dan y adalah 4, maka
(4 != 4) || (4 > 3)
False OR True
True (output operasi)
·         NOT (x > y)
Jika ternyata nilai x adalah 3 dan y adalah 3, maka
NOT (3 > 3)
NOT (False)
True (output operasi)

Urutan Operasi

Sebuah ekspresi mungkin terdiri atas beberapa operasi sekaligus. Misalnya:
iHasil = x * 2 % 2 > y && (x != 3)

Untuk menentukan operasi mana yang dilakukan terlebih dahulu daripada operasi lainnya, setiap operator memiliki level urutan. Level urutan ini terdiri atas lima kelompok, level 1 hingga 5.
Operator yang memiliki level lebih tinggi (ditunjukkan dengan angka yang semakin kecil) akan dioperasikan terlebih dahulu dibandingkan operator lain yang levelnya lebih rendah. Sedangkan pada operator-operator yang berada pada level yang sama, operasi dilakukan secara berurutan dari kiri ke kanan. Hal ini disebut dengan asosiativitas.
Pada beberapa ekspresi diperlukan pengubahan urutan eksekusi operasi-operasi. Untuk memungkinkan pemrogram melakukan hal tersebut, tersedia sebuah operator tambahan yang memiliki level eksekusi paling tinggi, yaitu (). Operasi apapun yang ada dalam tanda kurung () akan dieksekusi pertama kali oleh program.

Level urutan operator-operator tersebut adalah sebagai berikut:
Tabel 4.8. Urutan operasi
Operator
Deskripsi
Asosiativitas
Level Urutan
()
Tanda kurung

1
!
Logika NOT

2
*
Perkalian
Kiri ke kanan
3
/
Pembagian
%
Modulo
+
Penjumlahan
Kiri ke kanan
4
-
Pengurangan
< 
Kurang dari
Kiri ke kanan
5
<=
Kurang dari/ sama dengan
>=
Lebih dari/ sama dengan
> 
Lebih dari
=
Sama dengan
Kiri ke kanan
6
!=
Tidak sama dengan
&&
Logika AND
Kiri ke kanan
7
||
Logika OR
Kiri ke kanan
8
                
Misalnya pada ekspresi berikut ini:
iHasil = x * 2 % 2 > y && (x <> 3)
Jika inputannya adalah x = 5 dan y = 3 maka urutan pengerjaannya adalah:



Z
Pengerjaan
1
iHasil ß x * 2 % 2 > y && (5 != 3)
iHasil ß x * 2 % 2 > y && True
3
iHasil ß 5 * 2 % 2 > y && True
iHasil ß 0 > y && True
5
iHasil ß 0 > 3 && True
iHasil ß False && True
7
iHasil ß False



Rangkuman


  1.  Tipe data dasar adalah tipe data yang dapat langsung digunakan, dan memiliki ukuran tertentu sesuai dengan tipe data masing-masing. Beberapa tipe data dasar: integer, real, char, string, dan boolean.
  2. Variabel adalah obyek yang nilainya dapat berubah-ubah dalam sebuah program, sedangkan konstanta memiliki nilai yang tetap sejak dideklarasikan hingga program berakhir.
  3. Pada saat mendeklarasikan sebuah variabel, pemrogram harus menyebutkan nama variabel dan tipe data dari variabel tersebut.
  4. Operator adalah pengendali operasi yang akan dilakukan pada beberapa operan sehingga membentuk sebuah ekspresi. Tiga macam operator dalam pemrograman: operator aritmatik, operator relasional, dan operator logika.
  5. Penggunaan beberapa operator sekaligus dalam sebuah ekspresi mengakibatkan perlunya menentukan urutan operasi yang diatur dalam level urutan operator.
  6. Operator dengan level yang  lebih tinggi akan dieksekusi lebih dahulu daripada operan dengan level yang lebih rendah. Operator-operator yang memiliki level yang sama akan dieksekusi menurut urutan penulisan (dari kiri ke kanan).




Daftar Pustaka

  1.        Algorithm Data Structures and Problem Solving with C++. 1997. Addison Wesley.
  2.        Moh. Sjukani, Algoritma dan Struktur Data. Mitra Wacana Media
  3.        Rinaldi Munir, Algoritma dan Pemrograman. Informatika Bandung

Video Pembelajaran


Video Pembeajaran Tipe Data dan Operator 

Kuis dan Latihan