Tipe Data dan Variabel Dosen Pengampu Muhammad Zidny Naf’an, M.Kom
Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan n (m >= n). GCD dari m dan n adalah bilangan bulat positif terbesar yang habis membagi m dan n
Deklarasi: m,n r
: integer : integer
{bil bulat} {sisa hasil bagi}
Deklarasi variable komentar
Algoritma read(m,n) {m >= n} while n!= 0 do Algoritma r m MOD n mn nr end while {kondisi selesai pengulangan n=0, maka gcd(m,n) = m}
2
Variabel
Perhatikan! variabel
X =10 + Y konstanta
Berapakah nilai X, jika Y=3? Berapakah nilai X, jika Y=5? Berapakah nilai Y, jika X=15?
Variabel Tempat untuk menyimpan data Sifatnya hanya sementara Nilai di dalamnya dapat berubah
Konstanta Tempat untuk menyimpan data Sifatnya hanya permanen Nilai di dalamnya tetap
Mengapa variabel perlu diberi nama?
A
A1
A2
A3
B
B1 B2 B3
A4
C
C1 C2
Syarat penamaan variabel Untuk C++ dan Java, nama variabel bersifat case sensitive.
Harus diawali dengan huruf
Tidak boleh ada spasi
Boleh diikuti dengan huruf/angka/simbol
Bukan merupakan keyword dalam sebuah bahasa pemrograman
misalkan read, write (pascal), private, protected (java), cout, cin (c++)
Jawablah! Manakah yang tepat untuk nama variabel? a) b) c) d) e) f)
Bilangan 2013nama_mahasiswa @email Alamat rumah Main Kode_arsip
Tipe data
Tipe data Tipe data mengacu pada jenis data yang disimpan dalam variabel atau konstanta Setiap tipe data membutuhkan jumlah memori yang berbeda untuk menyimpannya Untuk menentukan jumlah memori yang akan diproses, program harus tahu jenis data apa yang dibutuhkan
Berbagai macam tipe data
Bilangan bulat
Bilangan pecahan
Character
Bilangan bulat Tipe byte (Pascal)
Range (Jangkauan) 0 s.d 255
word (Pascal) unsigned int (C++)
0 s.d 65.535
shortint (Pascal) byte (Java)
-128 s.d 127
integer (Pascal) int (C++) short (Java)
-32.768 s.d 32.767
longint (Pascal) long (C++) int (Java)
-2.147.483.648 s.d 2.147.483.647
unsigned long (C++)
0 s.d 4.294.967.295
Bilangan pecahan (Pascal) Tipe Data
Jangkauan Nilai
Digit Penting
Ukuran
Real
2,9x10-39 s/d 1,7x1038
11-12
6 Byte
Single
1,5x10-45 s/d 3,4x1038
7-8
4 Byte
Double
5,0x10-324 s/d 1,7x10308
15-16
8 Byte
Extended
5,0x10-4951 s/d 1,1x104932
19-20 10 Byte
Comp
263 s/d 263 –1(-9,2x1018 s/d 9,218)
19-20
8 Byte
Bilangan pecahan (C++) Tipe
Range (Jangkauan)
float
3.4 x 10^-38 s.d 3.4 x 10^38
double
1.7 x 10^-308 s.d 1.7 x 10^308
long double
3.4 x 10^-4932 s.d 3.4 x 10^4932
Bilangan pecahan (Java) Integer length 32 bits
Name or type
Type range
float
-2^31 to 2^31-1
64 bits
double
-2^63 to 2^63-1
Pada prakteknya jangkauan tipe data bisa berbeda dengan yang disebutkan di atas. Cara mengecek jangkauan tipe data silahkan baca detailnya di: http://stackoverflow.com/questions/2053843/m in-and-max-value-of-data-type-in-c
Character Tipe data untuk menyimpan data selain numerik Ditunjukkan dengan reserved word “char” Kumpulan karakter disebut string
Jawablah! Tuliskan tipe data yang sesuai untuk data-data berikut ini (gunakan bahasa C++) !
Jumlah anak dalam keluarga
Gaji pegawai
Nama mahasiswa
huruf Berat badan
Suhu udara
Contoh penggunaan tipe data dalam bahasa C++ Tipe data : bilangan bulat Satu variabel int lebar; Lebih dari satu variabel int lebar, tinggi; Konstanta int lebar = 3;
3
lebar; int
Contoh penggunaan tipe data dalam bahasa C++ Tipe data : bilangan pecahan Satu variabel float tinggi; Lebih dari satu variabel float lebar, panjang, tinggi; Konstanta float tinggi = 3.5;
3.5
tinggi; float
Contoh penggunaan tipe data dalam bahasa C++ Tipe data : character a
Satu variabel char kode; Lebih dari satu variabel char kode, huruf, angka; Konstanta char kode = 'a'; [petik satu] char kode[4] = "aaa"; [petik dua]
Kode; char
Disebut juga String
Training TOKI
https://training.ia-toki.org/training/curriculums/1/courses/1/sessions/2/problems/29/view
OPERATOR
Operator Operator simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Variable atau Nilai yang dioperasikan disebut dengan operand. 3 + 2
operand
operator
operand
Operator Aritmatika Operator * / % + -
Keterangan Perkalian Pembagian Modulus (sisa pembagian) Penjumlahan Pengurangan
Contoh 2*3 7 /2 5%4=1 4+5 5–6
Operator Aritmatika • Contoh penggunaan operator aritmatika
Operator Penugasan • Operator penugasan yang berbentuk simbol sama dengan ( = ) • berguna untuk memberikan suatu nilai ke suatu variable. Contoh: a = 1; c = 2 + (b = 1); a = b = c = d = e = 1;
Operator Penaikan dan Penurunan • Operator penurunan disimbolkan dengan -- dan berguna untuk menurunkan nilai variable sebesar satu • Operator penaikan disimbolkan dengan ++ dan berguna untuk menaikkan nilai variable sebesar satu. Contoh: x++ sama seperti ungkapan x = x + 1. y-- sama seperti ungkapan y = y – 1. • Operator penurunan dan penaikan dapat ditempatkan di depan (pre-) atau di belakang (post-) variable.
Operator Penaikan dan Penurunan • Efek dari penempatan operator dapat dilihat pada contoh berikut: a = 7; b = 2; c = b + a++; nilai c adalah 9, bukan 10. Pada contoh tersebut c diisi dengan penjumlahan antara b dan a. Setelah c terisi dengan hasil penjumlahan tersebut, nilai a baru dinaikkan satu, sehingga nilai a sekarang adalah 8. Persamaan c tersebut identik dengan: c = b + a; a = a + 1;
Operator Penaikan dan Penurunan • Jika operator penaikan diletakkan di depan operand, maka operand tersebut akan dinaikkan nilainya terlebih dahulu sebelum proses lain dilakukan. Contoh: a = 7; b = 2; c = b + ++a; • persamaan c tersebut identik dengan: a = a + 1; c = b + a; • sehingga nilai c adalah 10.
Operator Bitwise • Digunakan untuk keperluan memanipulasi data dalam bentuk bit. Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char Operator
Keterangan
Contoh
~
Bitwise NOT
~25
<<
Geser bit ke kiri
25 << 2
>>
Geser bit ke kanan
25 >> 2
&
Bitwise AND
25 & 2
^
Bitwise XOR
25 ^ 2
|
Bitwise OR
25 | 2
Operator Bitwise • Contoh
Operator Majemuk • Operator ini berguna untuk memendekkan penulisan operasi penugasan, • misalnya x = x + 2 menjadi x += 2
Operator Hubungan • membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++:
Operator Hubungan • Contoh
Operator Kondisi • Operator kondisi digunakan untuk memperoleh nilai dari dua kemungkinan, contoh: ungkapan1 ? ungkapan2 : ungkapan3 • Bila nilai ungkapan1 benar, maka nilainya sama dengan ungkapan2, bila tidak maka nilainya sama dengan ungkapan3.
Operator Kondisi • Contoh:
Operator Koma • Operator ini berguna untuk meletakkan dua buah ungkapan pada suatu kaidah yang memerlukan sebuah ungkapan saja. • Contoh penggunaan pada pernyataan perulangan for: for(i=0, j=0; i<10; i++, j--) { ..}
Operator Logika • Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi. Operator
&&
Keterangan
Contoh
Logika AND n && m
||
Logika OR
n || m
!
Logika NOT !n
Operator Logika • Contoh:
Latihan di kelas
Menghitung luas segitiga Input : alas, tinggi Output : luas Algoritma luas segitiga : Masukkan alas, tinggi Luas alas * tinggi *0.5 Tampilkan luas
Tentukanlah tipe data yang tepat untuk alas, tinggi dan luas! Tuliskan dalam bahasa C++ penamaan variabel yang tepat untuk alas, tinggi dan luas! Ubahlah algoritma menghitung luas segitiga ke dalam bahasa C++!
Konversi suhu Celcius ke Reamur Tentukanlah tipe data yang tepat untuk r ! Tuliskan dalam bahasa C++ penamaan variabel yang tepat untuk r ! Ubahlah algoritma konversi Celcius ke Reamur ke dalam bahasa C++!
Exercise 1. Jika diketahui x adalah variable bertipe integer, dari nilainilai berikut, manakah yang dapat diberikan pada x? a) 10 b) 5.7 c) 40000
Exercise 3.
Terdapat dua buah variable A dan B yang bertipe integer. Variable A bernilai 10, dan varible B bernilai 20. Buatlah ALGORITMA dalam bentuk KALIMAT DEKLARATIF dan PSEUDOCODE untuk menukar nilai dua variable tersebut, sehingga A bernilai 20 dan B bernilai 10.
4.
Sebuah program untuk menghitung nilai seorang mahasiswa memiliki 5 variable untuk nama mahasiswa, nomor induk mahasiswa, nilai tugas, nilai mid semester, dan nilai ujian akhir semester. Nilai akhir dihitung dengan rumus: (nilai tugas * 20%) + (nilai mid semester * 40%) + (nilai ujian akhir semester * 40%). Buatlah pseudocode kasus tersebut!
Exercise 5. Tulislah pseudocode untuk menampilkan jumlah hari, jam, menit, dan detik dari masukan yang berupa lamanya waktu dalam detik. Sebagai contoh, input 100.000 detik akan menghasilkan output 1 hari, 3 jam, 46 menit, 40 detik. Input adalah bilangan bulat bertipe long. Output program adalah banyaknya hari, jam, menit, dan detik dari input tersebut.