Tipe Data dan Variabel - M. Zidny...
Transcript of Tipe Data dan Variabel - M. Zidny...
Tipe Data dan Variabel
Dosen Pengampu
Muhammad Zidny Naf’an, M.Kom
Format Pseudocode Lengkap
Algoritma
read(m,n) {m >= n}
while n!= 0 do
r m MOD n
m n
n r
end while
{kondisi selesai pengulangan n=0, maka gcd(m,n) = m}
2
Judul program/algoritma
PROGRAM EuclideanProgram 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 : integer {bil bulat}r : integer {sisa hasil bagi}
Deklarasi variable
Algoritma
komentar
Variabel
Perhatikan!
X =10 + Y
Berapakah nilai X, jika Y=3?Berapakah nilai X, jika Y=5?Berapakah nilai Y, jika X=15?
variabel
konstanta
Variabel
Tempat untuk menyimpan dataSifatnya hanya sementaraNilai di dalamnya dapat berubah
Konstanta
Tempat untuk menyimpan dataSifatnya hanya permanenNilai di dalamnya tetap
Mengapa variabel perlu diberi nama?
A
B
C
A1
A2
A3
A4
B1
B2
B3
C1
C2
Syarat penamaan variabel
Untuk C++ dan Java, nama variabel
bersifat case sensitive.
Harus diawalidengan huruf
Boleh diikuti dengan
huruf/angka/simbol
Tidak boleh adaspasi
Bukan merupakankeyword dalamsebuah bahasa pemrograman
misalkan read, write (pascal), private, protected (java), cout, cin (c++)
Jawablah!
Manakah yang tepat untuk nama variabel?
a) Bilanganb) 2013nama_mahasiswa c) @emaild) Alamat rumahe) Main f) Kode_arsip
Tipe data
Tipe data
Tipe data mengacu pada jenis datayang 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 Range (Jangkauan)
byte (Pascal) 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 NilaiDigit
PentingUkuran
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/d9,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
Name or type Type range
32 bits float -2^31 to 2^31-1
64 bits double -2^63 to 2^63-1
Pada prakteknya jangkauan tipe data bisaberbeda dengan yang disebutkan di atas.
Cara mengecek jangkauan tipe data silahkanbaca detailnya di: http://stackoverflow.com/questions/2053843/min-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
Suhu udaraBerat badan
huruf
Contoh penggunaan tipe datadalam bahasa C++
Satu variabelint lebar;
Lebih dari satu variabelint lebar, tinggi;
Konstanta int lebar = 3;
Tipe data : bilangan bulat
lebar; int
3
Contoh penggunaan tipe datadalam bahasa C++
Satu variabelfloat tinggi;
Lebih dari satu variabelfloat lebar, panjang, tinggi;
Konstanta float tinggi = 3.5;
Tipe data : bilangan pecahan
tinggi; float
3.5
Contoh penggunaan tipe datadalam bahasa C++
Satu variabelchar kode;
Lebih dari satu variabelchar kode, huruf, angka;
Konstanta char kode = 'a'; [petik satu]char kode[4] = "aaa"; [petik dua]
Tipe data : character
Kode; char
a
Disebut juga String
Training TOKI
https://training.ia-toki.org/training/curriculums/1/courses/1/sessions/2/problems/29/view
OPERATOR
Operator simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi.
Variable atau Nilai yang dioperasikan disebut dengan operand.
Operator
3 + 2
operand operandoperator
Operator Aritmatika
Operator Keterangan Contoh
* Perkalian 2 * 3
/ Pembagian 7 /2
%Modulus
(sisa pembagian)
5 % 4 = 1
+ Penjumlahan 4 + 5
- Pengurangan 5 – 6
• Contoh penggunaan operator aritmatika
Operator Aritmatika
• 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 Penugasan
• 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 Penaikan dan Penurunan
• Digunakan untuk keperluan memanipulasi data dalam bentuk bit. Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char
Operator Bitwise
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
• Contoh
Operator Bitwise
• Operator ini berguna untuk memendekkan penulisan operasi penugasan,
• misalnya x = x + 2 menjadi x += 2
Operator Majemuk
• membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++:
Operator Hubungan
• Contoh
Operator Hubungan
• 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 Kondisi
• 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 Koma
• Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi.
Operator Logika
Operator Keterangan Contoh
&& Logika AND n && m
|| Logika OR n || m
! Logika NOT !n
• Contoh:
Operator Logika
Latihan di kelas
Menghitung luas segitiga
Input : alas, tinggiOutput : luas
Algoritma luas segitiga :Masukkan alas, tinggiLuas alas * tinggi *0.5Tampilkan 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 ReamurKonversi 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++!
1. Jika diketahui x adalah variable bertipe integer, dari nilai-nilai 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 dalambentuk 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.
Exercise