Tipe Data dan Variabel

advertisement
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
mn
nr
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.
Download