A. Capaian Pembelajaran
Mahasiswa Mampu menjelaskan dan menentukan Tipe data, identifier dan operator
dalam pemrograman.
D. Uraian Materi*)
1. Teks Algoritma Pemrograman
Paradigma pemrograman procedural memisahkan bagian data dan bagian instruksi
dipisahkan tempatnya. Pada dasarnya, teks algoritma selalu disusun 3 bagian (blok): bagian
kepala (header) algortima, bagian deklarasi dan bagian deskripsi algoritma program. Setiap
bagian sebaiknya dilengkapi komentar untuk memperjelas maksud teks yang dituliskan. Bagian
komentar pada pemrograman bahasa C (C++) adalah kalimat yang diapit oleh pasangan tanda
slash (/ garis miring) dan bintang (* asterisk) ( /* …. */ )
Struktur umum Algoritma
NAMA_ALGORITMA
/* Penjelasan tentang algoritma/program, berisi uraian singkat mengenai apa yang dilakukan
oleh algoritma. Pada bahasa C hal ini tidak wajib/perlu */
DEKLARASI
/* Semua nama yang dipakai, meliputi nama tipe, nama tetapan (konstanta), nama peubah
(variabel), nama prosedur & nama fungsi didefinisikan di sini */
DESKRIPSI
/* Semua langkah/aksi algoritma dituliskan di sini */
Selanjutnya, sebuah file program bahasa C tersusun atas beberapa unsur, yaitu mulai
dari dokumentasi program, pengarah pengolahan, bagian Deklarasi global, sebuah fungsi main()
maupun fungsi buatan. Berikut Struktur Susunan Program Bahasa C :
/* NAMA PROGRAM */ /* Nama program berupa keterangan bersifat opsional */
[ Dokumentas program ] /* bersifat opsional */
[ Pengarah pra pengolahan ] /* bersifat opsional */
DEKLARASI
[ Deklarasi global ] /* DEKLARASI bila diperlukan bersifat opsional */
[ Jenis data ] main( [daftar argument] )
DESKRIPSI
{ /* awal deskripsi algoritma/program */
[ Deklarasi lokal ]
[ Kode program yang dapat dieksekusi ]
} /* akhir deskripsi algoritma/program */
[ Fungsi-fungsi buatan pemrogram ]
Kurung siku pada tiap-tiap bagian program pada bingkai Struktur Susunan Program
Bahasa C yang tampil sebelumnya (di atas ini) bersifat opsional, boleh ada boleh tidak dalam
suatu program bahasa C.
2. Tipe Data
Pemrograman C maupun C++ mempunyai ketentuan bahwa semua variable (perubah)
yang akan dipakai harus telah ditentukan tipe di awal. Tipe data adalah himpunan yang dapat
ditemui pada semua data, merupakan suatu batasan nilai terhadap variable dan menentukan
operator dan jenis operasi yang dapat dilaksanakan atas variable tersebut. Memahami tipe data
berarti kita dapat menentukan suatu batasan nilai yang dapat dimiliki oleh data tersebut. Salah
satu contoh bentuk penerapan tipe data dalam kehidupan sehari-hari adalah pada bilangan
bulat. Karena pada hakikatnya penulisan suatu bilangan pada data dapat bermacam–macam,
seperti 5,5 atau ¾. Bilangan yang disebutkan adalah termasuk bilangan tak bulat, tidak seperti
bilangan bulat 5, 6, 1, 3, 8 dan masih banyak lagi.
Tahap awal pembuatan program, harus menentukan terlebih dahulu tipe data yang akan
dipakai. Contoh tipe data yang sering digunakan adalah Integer, Real, Double, Float, Char, String
dan banyak lagi lainnya. Setelah menentukan tipe data, selanjutnya mendeklarasikannya di
awal tahapan pemrograman. Tujuannya untuk memberi batasan atau pengkategorian khusus
pada data (biasanya berupa variable atau konstanta) yang akan digunakan program. Penentuan
memori juga dapat ditentukan ketika tipe data sudah dipilih.
Suatu tipe data jika dipahami dengan baik akan dapat difungsikan dengan baik pula.
Penggunaan tipe data yang baik dapat memberi kontrol atau batasan tersendiri pada program
yang akan dibuat. Pemilihan tipe data dapat pula menentukan pengalokasian memori yang
akan digunakan program.
Salah satu contoh adalah mengenai bilangan bulat dan bilangan tak bulat (desimal,
pecahan dan lain – lain). Pada penentuan suatu volume air mungkin kita akan jumpai data 1,5
liter. Namun pada perhitungan barang seperti mobil, orang tentunya akan ditulis dalam
bilangan bulat. Tidak mungkin suatu mobil atau orang dapat berjumlah 8,5 atau yang lainnya.
Tipe data dapat dikelompokan menjadi atas dua macam yaitu tipe dasar dan tipe
bentukan. Suatu tipe di acu dari namanya. Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan
dalam ranah (domain) nilai. Operasi-operasi (beserta operator) yang dapat dilakukan pada tipe
tersebut juga didefinisikan.
Untuk tipe data short int, long int, signed int dan unsigned int, maka ukuran memori yang
diperlukan serta kawasan dari masint-masing tipe data adalah sebagai berikut :
Catatan :
Ukuran dan kawasan dari masing-masing tipe data adalah bergantung pada jenis
mesin yang digunakan (misalnya mesin 16 bit bisa jadi memberikan hasil berbeda
dengan mesin 32 bit).
void main()
{
cout<<" Hello World !!!!"<<endl;
getch();
}
2. Char (karakter)
Adalah tipe data untuk karakter yang sering digunakan untuk tipe data yang menggunakan
huruf dan angka sebagai datanya. Misalnya seperti contoh dibawah ini :
3. Int (Integer)
Adalah tipe data untuk numerik yang sering digunakan untuk data berupa angka. untuk
fungsinya bisa dilihat contoh program dibawah ini :
4. Float (Floating Point)
Adalah tipe data untuk numerik yang digunakan untuk data berupa angka pecahan, untuk
fungsinya bisa dilihat contoh program dibawah ini :
7. Wchar_t
Adalah tipe data yang digunakan sama seperti char yang menyimpan karakter besar,
biasanya digunakan untuk menyimpan karakter yang tidak ada di huruf abjad misalnya huruf
japan, china, korea, dll. Contoh programnya seperti dibawah ini :
#include<iostream.h>
#include<conio.h>
main(){
char kanji[6] = "学生";
wchar_t kanji2[6] = L"学生";
cout<<"huruf kanji siswa (char) : "<<kanji<<endl;
cout<<"huruf kanji siswa (wchar_t) : "<<kanji2<<endl;
getch(); }
Pada program di atas mempunyai 2 buah identifier, yaitu Teks dan X. Pada saat program
dijalankan, identifier tersebut akan digunakan untuk menyimpan nilai yang dimasukkan dari
keyboard. Dalam C, proses penyimpanan nilai seperti ini dinyatakan dengan perintah "cin" yang
menggunakan operator ">>". Berbeda dengan "cin", perintah "cout" digunakan untuk
menampilkan nilai, dimana operator yang digunakan adalah operator "<<".
Pada C sendiri dalam pembuatan Identifier dapat dituuliskan dengan karakter sebagai
berikut:
Huruf "a" sampai "z"
Huruf "A" sampai "Z"
Bilangan antara "0" sampai "9"
Underscore " _ "
Ketentuan membuat Identifier
Dalam menentukan atau membuat identifier dalam program, kita harus memperhatikan
hal-hal berikut:
1. Case sensitive
Karena bahasa C bersifat case sensitive, maka C juga akan membedakan identifier yang
ditulis dengan huruf kapital dan huruf kecil. Misalnya identifier ABC tentunya akan berbeda
dengan identifier aBC.
6. Sesuaikan penamaan
Nama identifier sebaiknya disesuaikan dengan kebutuhan, artinya jangan sampai orang
lain bingung hanya kara kita salah / asal dalam penamaan identifier, contohnya:
Contoh Identifier sebagai Konstanta dalam C
Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai dari
konstanta didalam program tidak dapat diubah. Berikut Contoh Identifier sebagai Konstanta
dalam C:
Di atas adalah contoh bentuk dari operasi, dalam suatu operasi umumnya mempunyai
istilah “operand” dan “operator”. operand merupakan data yang akan dimanipulasi oleh
operator merupakan A dan B , untuk operator merupakan simbol atau tanda yang berfungsi
untuk memanipulasi sebuah data atau beberapa data, dalam contoh di atas adalah tanda + .
Sifat-Sifat Operator
Dalam banyaknya macam-macam operator kita biasa menggolongkanya berdasarkan
sifatnya, berikut sifat-sifat dari operator:
Unary: Sifat Unary adalah operator yang hanya melibatkan sebuah operand pada suatu
operasi. Ada dua operator unary utama yaitu increment dan decrement operator.
Bentuk Penulisan : -a;
Binary: Sifat Binary adalah operator yang melibatkan dua operand dan satu operator di
tengah dua operand pada suatu operasi.
Bentuk Penulisan : a + b;
Ternary: Sifat Tenary pada operator adalah operator kondisi (atau Conditional Operator)
yang melibatkan tiga buah operand pada suatu operasi.
Bentuk Penulisan
pernyataan: expresi?pilhan1:pilihan2;
Bahasa C dan C++ membagi operator menjadi beberapa grup yaitu:
a. Arithmetic operators
b. Assignment operators
c. Comparison operators
d. Logical operators
e. Bitwise operators
Arithmetic operators
Operator aritmatika digunakan melakukan operasi matematika umum.
Ekspresi Aritmatika
Ekspresi Aritmatika adalah pernyataan pemberian nilai. Bentuk umum:
Keterangan :
Variabel, sering disebut Left Value( LValue)
Ekspresi aritmatika disebutnya pula Right Value( R Value)
Tanda = disebut Operator Pemberi Nilai
LValue harus berupa variabel tunggal
RValue dapat berupa konstanta, variable lain maupun ekspresi atau rumus
aritmatika.
4. Rangkuman
Setelah mengetahui bahwa setiap tipe data memiliki fungsi kegunaan dan kebutuhan memori yang
berbeda-beda, kini anda sudah lebih tau bagaimana memilih tipe data.
5. Kasus/Tugas**)
1) Mengkonversikan jam-menit-detik (hh:mm:ss) menjadi total detik. Data jam-menit-detik
diberikan nilainya pada bagian deklarasi program.
Ingatlah bahwa : 1 menit = 60 detik
1 jam = 3600 detik
Misal, 1 jam, 5 menit, 40 detik adalah (1 x 3600) + (5 x 60) + 40 = 3940 detik.
2) Dibaca lama sebuah percakapan telepon dalam satuan detik. Tulislah algoritma program
dalam bahasa C untuk menghitung berapa jam, berapa menit, berapa detik percakapan
telepon tersebut.
Contoh 4000 detik = 1 Ingatlah bahwa : 1 menit jam + 6 menit + 40 detik, ini diperoleh
dengan cara :
4000 div 3600 = 1 (jam)
4000 mod 3600 = 400 (sisa detik)
400 div 60 = 6 (menit)
400 mod 60 = 40 (detik)
Masalah pada soal kasus ini merupakan kebalikan dari kasus/tugas soal sebelumnya.
3) Buatlah algoritma program dalam bahasa C/C++ bagaimana cara mempertukarkan nilai dua
buah variable drum-A dan drum-B…? Misalnya sebelum pertukaran nilai (isi) drum-A adalah 18,
dan nilai drum-B adalah 25, maka setelah pertukaran, nilai drum-A adalah 25 dan nilai drum-B
adalah 18. Andaikan nilai yang dipertukarkan adalah bertipe long-integer. Buatlah algoritma
programnya dalam bahasa C/C++.
5) Buatlah program untuk menerima 2 buah bilangan bulat masukan. Tampilkan hasil dari
pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal.
Input : bil1 dan bil2
Output : hasil bagi bil1 dengan bil2
Nilai tambah: program bisa mengecek pembagian dengan nol, yaitu jika bilangan kedua
adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan
kesalahannya (division by zero).
f. Soal Teori :
1) Jelaskan struktur beberapa komponen dasar sebuah program sederhana yang
ditulis dengan bahasa C maupun C++.
2) Apakah yang dimaksudkan dengan men-deklarasi (declare) atau menyatakan ?
3) Apakah arti format spesifikasi (specification) %x ?
4) Terangkan apa maksud dari escape sequence \v ?
5) Jelaskanlah dengan kalimat sendiri kegunaan dari file header
6) Tuliskan dan terangkan minimal tujuh macam operator
7) Jelaskan perbedaan antara variable statis (static variable) dan variable otomatis
(automatic variable).
g. Daftar Rujukan**)
1) Munir, Rinaldi. (2016). Algoritma dan pemrograman : Dalam bahasa pascal, C, dan
C++. Informatika, Bandung., Penerbit Andi Offset, Yogyakarta..
2) Gudono , MBA., (1995)., Pemrograman C dan C++
3) G.Kochan, S. (2001). Programming in C, Third Edition (Vol. 40).
https://doi.org/10.1002/1521-3773(20010316)40:6<9823::AIDANIE9823