Variabel dan Tipe data
(pertemuan III)
Dokumen ini membahas tentang variabel dan tipe data dalam bahasa pemrograman Java. Terdapat penjelasan mengenai konsep variabel, tipe data primitif dan referensi, operator aritmatika dan relasional, serta contoh kode program untuk mendemonstrasikan penggunaan variabel dan operator tersebut."
Algoritma dan Struktur Data (Python) - Struktur I/OAndiNurkholis1
Materi mata kuliah Algoritma dan Struktur Data (Python) yang mencakup penerapan struktur program (Input/Output) yang terdiri dari runtunan/sequential, variabel, tipe data, konstanta, operator (aritmatika, assignment, relasional, dan logika), dan komentar
Algoritma dan Struktur Data (Python) - Struktur I/OAndiNurkholis1
Materi mata kuliah Algoritma dan Struktur Data (Python) yang mencakup penerapan struktur program (Input/Output) yang terdiri dari runtunan/sequential, variabel, tipe data, konstanta, operator (aritmatika, assignment, relasional, dan logika), dan komentar
Pada akhir semester, mahasiswa mahasiswa mampu untuk memahami konsep dan menerapkan aplikasi teknik kompilasi dari mulai analisis leksikal sampai dengan code generation dalam perkembangan ilmu pengetahuan dan teknologi. Mengenal kompiler, analisis leksikal, analisis sintaktik, syntax directed translation, intermediate code generation, code optimization, code generation.
Sandi Playfair ditemukan oleh ahli Fisika berkebangsaan Inggris bernama Sir Charles Wheatstone (1802 - 1875) namun dipromosikan oleh Baron Lyon Playfair (1819 - 1898) pada tahun 1854. Sandi Playfair pertama kali digunakan untuk tujuan-tujuan taktis oleh pasukan Inggris dalam Perang Boer II dan Perang Dunia I. Australia dan Jerman juga menggunakan sandi ini untuk tujuan yang sama dalam Perang Dunia II. Pada perkembangan selanjutnya, sandi ini tidak lagi digunakan oleh pasukan militer karena telah muncul berbagai perangkat enkripsi digital untuk menerjemahkannya.
Pada akhir semester, mahasiswa mahasiswa mampu untuk memahami konsep dan menerapkan aplikasi teknik kompilasi dari mulai analisis leksikal sampai dengan code generation dalam perkembangan ilmu pengetahuan dan teknologi. Mengenal kompiler, analisis leksikal, analisis sintaktik, syntax directed translation, intermediate code generation, code optimization, code generation.
Sandi Playfair ditemukan oleh ahli Fisika berkebangsaan Inggris bernama Sir Charles Wheatstone (1802 - 1875) namun dipromosikan oleh Baron Lyon Playfair (1819 - 1898) pada tahun 1854. Sandi Playfair pertama kali digunakan untuk tujuan-tujuan taktis oleh pasukan Inggris dalam Perang Boer II dan Perang Dunia I. Australia dan Jerman juga menggunakan sandi ini untuk tujuan yang sama dalam Perang Dunia II. Pada perkembangan selanjutnya, sandi ini tidak lagi digunakan oleh pasukan militer karena telah muncul berbagai perangkat enkripsi digital untuk menerjemahkannya.
Heuristic Evaluation adalah salah satu cara mengevaluasi sistem, aplikasi atau produk menggunakan bantuan expert. Ada 10 rules yang harus diuji, apa saja? yuk kita simak
Tahun 2019, statistik pengguna media sosial di dunia telah mencapai sekitar 3,5 milyar (Ermasys, 2019), dengan rata-rata menghabiskan waktu sekitar 3 jam perhari untuk mengaksesnya (Globalwebindex, 2019). Media sosial tidak hanya disukai kaum milenial (90,4%), tapi juga oleh generasi baby boomer dan generasi X (Emarketer, 2019). Oleh karena itu, penggunaan media sosial seharusnya telah menjadi hal yang biasa di kalangan pengguna internet, dan seharusnya dapat ditingkatkan pemanfaatannya, terutama untuk edukasi (pendidikan). Seiring dengan dampak pandemi covid-19, dimana setiap orang di dunia ini harus bekerja dari rumah, dan sekolah dari rumah, maka, kami menawarkan suatu hal yang cukup mudah untuk diakses, mudah dipelajari dan mudah digunakan untuk media pembelajaran, yaitu melalui media sosial.
Through movement, or motor control, humans are empowered to affect the environment around them. Control occurs through responders. Whether using a finger to text or point, the feet to walk or run, the eyebrows to frown, the vocal chords to speak, or the torso to lean, movement provides humans with the power to engage and affect the world around them. This week we discuss human factors (responders), feel free to download.
The deepest challenges in human-computer interaction (HCI) lie in the human factor. Humans are complicated. We’re young, old, female, male, experts, novices, left-handed, right-handed, English-speaking, Chinese-speaking, from the north, from the south, tall, short, strong, weak, fast, slow, able-bodied, disabled, sighted, blind, motivated, lazy, creative, bland, tired, alert, and on and on.
This week, we discuss the five classical human senses that are vision, hearing, taste, smell, and touch. Please download this material; please enjoyed it.
Presentasi ini sedianya akan saya presentasikan di IAIN Purwokerto bulan Agustus tahun lalu, tetapi, karena ada satu dan lain hal, acara tersebut belum dapat dilaksanakan. Daripada menuhin hard disk saya, lebih baik saya bagikan saja untuk semuanya. Because sharing is caring
6. variabel
• Variabel merupakan item dari data yang digunakan untuk
menyimpan sebuah nilai dari objek.
• Variabel memiliki:
– Tipe data
Tipe data merupakan tipe dari value yang dapat disimpan
variabel.
– Nama
Nama variabel harus mengikuti aturan seperti identifier.
7. logika - boolean
Tipe data boolean diwakili oleh dua pernyataan : true dan false.
Sebagai contoh adalah,
boolean result = true;
Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang
dinamai result sebagai
tipe data boolean dan memberinya nilai true.
8. teksual – char
Tipe data character (char), diwakili oleh karakter single Unicode. Tipe
data ini harus memiliki ciri berada dalam tanda single quotes(’ ’).
Sebagai contoh,
‘a’ //Huruf a
Untuk menampilkan karakter khusus seperti ' (single quotes) atau "
(double quotes), menggunakan karakter escape . Sebagai contoh,
''' //untuk single quotes
'"' //untuk double quotes
9. String mewakili tipe data yang terdiri atas beberapa karakter.
Mereka tidak termasuk tipe data primitif, melainkan suatu class.
Mereka memiliki literal yang terdapat diantara tanda double
quotes(“”).
Sebagai contoh,
String message=“Hello world!”
10. Integral – byte, short, int & long
Tipe data integral dalam Java menggunakan tiga bentuk- yaitu
desimal, oktal atauheksadesimal.
Contohnya,
2 //nilai desimal 2
077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal
0xBACC //karakter 0x mengindikasikan nilai heksadesimal
11. Tabel tipe-tipe integral
Integer Name Type range
length or type
8 bits byte -27 to 27-1
16 bits short -215 to 215-1
32 bits int -231 to 231-1
64 bits long -263 to 263-1
12. Floating Point – float dan double
Tipe Floating point memiliki double sebagai default
tipe datanya. Floating-point literal termasuk salah
satunya desimal point atau salah satu dari pilihan
berikut ini,
E or e //(add exponential value)
F or f //(float)
D or d //(double)
Contohnya adalah,
3.14 //nilai floating-point sederhana (a double)
6.02E23 //A nilai floating-point yang besar
2.718F //A nilai float size sederhana
Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua
bernilai positif.
13. Tipe data Floating-point memiliki range sebagai
Berikut:
Integer Name or type Type range
length
32 bits float -231 to 231-1
64 bits double -263 to 263-1
14. Deklarasi dan Inisialisasi Variabel
Variabel dapat dideklarasikan dengan menggunakan sintaks:
<tipe data> <nama> [=inisialisasi value];
• Catatan: Nilai yang berada antara tanda <> adalah value yang harus
ada, sedangkan value yang berada antara tanda [] bersifat optional
(boleh diisi atau tidak).
15. Deklarasi dan Inisialisasi Variabel: Contoh Program
public class VariableSamples {
public static void main( String[] args ){
//deklarasikan sebuah tipe data dengan nama variabel
// result dan tipe data boolean
boolean result;
//deklarasikan sebuah tipe data dengan nama variabel
// option dan tipe data char
char option;
option = 'C'; //memberi nilai 'C' pada variabel option
//deklarasikan sebuah tipe data dengan nama variabel
//grade, tipe data double dan nilai inisialisasi 0.0
double grade = 0.0;
}
}
16. Deklarasi dan Inisialisasi Variabel:
Panduan penulisan program
1. Deklarasikan variabel terlebih dahulu, baru kemudian lakukan
inisialisasi variabel.
2. Gunakan nama yang deskriptif untuk penamaan variabel.
Contoh, jika terdapat variabel yang mengandung nilai grade
siswa, maka beri nama variabel tersebut dengan grade, bukan
dengan huruf random.
17. Deklarasi dan Inisialisasi Variabel:
Panduan penulisan program
3. Deklarasikan satu variabel pada satu baris code.
Contohnya pada deklarasi variabel-variabel berikut ini,
double exam=0;
double quiz=10;
double grade = 0;
deklarasi di atas lebih baik daripada deklarasi berikut ini,
double exam=0, quiz=10, grade=0;
18. Mencetak value dari variabel
Untuk mencetak value dari sebuah
variabel, dapat menggunakan command
berikut ini:
System.out.println()
System.out.print()
19. Mencetak data variabel:
Contoh Program
public class OutputVariable {
public static void main( String[] args ){
int value = 10;
char x;
x = ‘A’;
System.out.println( value );
System.out.println( “The value of x=“ + x );
}
}
Program diatas akan memberikan output yaitu:
10
The value of x=A
20. System.out.println() vs.
System.out.print()
System.out.println()
Memberikan satu baris baru pada akhir data
output
System.out.print()
Tidak memberikan baris baru pada akhir data
output
21. contoh
Program 1:
System.out.print(“Hello”);
System.out.print(“World”);
Output:
HelloWorld
Program 2:
System.out.println(“Hello”);
System.out.println(“World”);
Output:
Hello
World
22. Reference Variable vs.
Primitive Variable
• Terdapat dua tipe variabel di Java:
– Primitive Variable
– Reference Variable
• Primitive Variable
– Adalah variabel dengan tipe data primitif
– Menyimpan data di memori dimana lokasi variabel tersebut
berada
23. Reference Variable vs.
Primitive Variable
• Reference Variable
– Variabel yang disimpan pada alamat di lokasi memori
– Menunjuk pada lokasi memory yang lain dimana data tersebut
berada
– Ketika suatu variabel pada sebuah class dideklarasikan, sebenarnya
yang dideklarasikan adalah reference variabel pada object di class
tersebut.
24. contoh
Misalkan ada dua variabel dengan tipe data
int dan String.
int num = 10;
String name = "Hello"
25. contoh
Gambar di bawah ini adalah lokasi memory yang ada pada
komputer, dimana terdapat alamat pada cell memory berupa
nama variabel dan data yang dimiliki.
26. operator
• Beberapa tipe operator:
– arithmetic operator
– relational operator
– logical operator
– conditional operator
• Operator-operator diatas memiliki ciri tertentu sehingga compiler
bisa mengetahui operator mana yang akan dievaluasi terlebih
dahulu pada saat beberapa operator digunakan pada satu
statement
28. contoh
public class ArithmeticDemo {
public static void main(String[] args){
//beberapa angka
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println("Nilai Variabel...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y);
System.out.println("Penjumlahan...");
System.out.println(" i + j = " + (i + j));
System.out.println(" x + y = " + (x + y));
29. contoh
//pengurangan angka
System.out.println("Pengurangan...");
System.out.println(" i - j = " + (i – j));
System.out.println(" x - y = " + (x – y));
//pengalian angka
System.out.println("Pengalian...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));
//pembagian angka
System.out.println("Pembagian...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
30. contoh
//Penghitungan modulus (sisa pembagian)
System.out.println("Penghitungan modulus...");
System.out.println(" i % j = " + (i % j));
System.out.println(" x % y = " + (x % y));
//Penghitungan kombinasi variabel
System.out.println("kombinasi variabel...");
System.out.println(" j + y = " + (j + y));
System.out.println(" i * x = " + (i * x));
}
}
31. Output program
Nilai variabel... Pembagian...
i = 37 i / j = 0
j = 42 x / y = 3.8054 Computing
x = 27.475 Nilai Modulus...
y = 7.22 i % j = 37
Penjumlahan... x % y = 5.815
i + j = 79 Kombinasi variabel...
x + y = 34.695 j + y = 49.22
Pengurangan... i * x = 1016.58
i - j = -5
x - y = 20.255
Pengalian...
i * j = 1554
x * y = 198.37
32. Arithmetic Operator
Catatan
Ketika nilai integer dan angka floating-point
digunakan sebagai operand pada operasi
aritmatika, hasilnya akan menjadi floating
point. Nilai secara implisit integer diubah
menjadi nilai floating-point sebelum operasi
berlangsung.
33. Operator Increment & Decrement
• unary increment operator (++)
• unary decrement operator (--)
• Increment dan decrement operator akan menambah dan
mengurangi nilai dengan 1.
• Contoh, ekspresi berikut ini,
count=count + 1;
//increment the value of count by 1
adalah sama dengan,
count++;
35. Operator Increment & Decrement
• Operator increment dan decrement dapat diletakkan
sebelum atau sesudah operand.
• Ketika digunakan sebelum operand, hal ini akan membuat
variabel ditambah atau dikurangi dengan nilai 1, dan
selanjutnya nilai yang baru akan digunakan pada ekspresi
selanjutnya.
• Contoh,
int i = 10;
int j = 3;
int k = 0;
k = ++j + i; //akan menghasilkan k = 4+10 = 14
36. Operator Increment & Decrement
• Ketika operator increment dan decrement
diletakkan setelah operand, nilai lama dari
variabel akan digunakan pada ekspresi
selanjutnya.
• Contoh,
int i = 10;
int j = 3;
int k = 0;
k = j++ + i; //akan menghasilkan k = 3+10 = 13
37. Relational Operator
• Operator relational digunakan untuk membandingkan beberapa
nilai dan menentukan hubungan antara nilai-nilai tersebut.
• Output dari perbandingan tersebut adalah nilai boolean antara
true atau false.
38. contoh
public class RelationalDemo{
public static void main(String[] args){
//beberapa angka
int i = 37;
int j = 42;
int k = 42;
System.out.println("Nilai variabel...");
System.out.println(" i = " +i);
System.out.println(" j = " +j);
System.out.println(" k = " +k);
//lebih besar dari
System.out.println("Lebih besar...");
System.out.println(" i > j = "+(i>j));//false
System.out.println(" j > i = "+(j>i));//true
System.out.println(" k > j = "+(k>j));//false
39. contoh
//lebih besar atau sama dengan
System.out.println("lebih besar atau sama dengan...");
System.out.println(" i >= j = "+(i>=j));//false
System.out.println(" j >= i = "+(j>=i));//true
System.out.println(" k >= j = "+(k>=j));//true
//lebih kecil
System.out.println("lebih kecil...");
System.out.println(" i < j = "+(i<j));//true
System.out.println(" j < i = "+(j<i));//false
System.out.println(" k < j = "+(k<j));//false
//lebih kecil atau sama dengan
System.out.println("lebih kecil atau sama dengan...");
System.out.println(" i <= j = "+(i<=j));//true
System.out.println(" j <= i = "+(j<=i));//false
System.out.println(" k <= j = "+(k<=j));//true
40. contoh
//sama dengan
System.out.println("sama dengan...");
System.out.println(" i == j = " + (i==j));//false
System.out.println(" k == j = " + (k==j));//true
//tidak sama dengan
System.out.println("tidak sama dengan...");
System.out.println(" i != j = " + (i!=j));//true
System.out.println(" k != j = " + (k!=j));//false
}
}
41. Output program
Nilai variabel... Lebih kecil atau sama dengan...
i = 37 i <= j = true
j = 42 j <= i = false
k = 42 k <= j = true
Lebih besar... Sama dengan...
i > j = false i == j = false
j > i = true k == j = true
k > j = false Tidak sama dengan...
Lebih besar atau sama dengan... i != j = true
i >= j = false k != j = false
j >= i = true
k >= j = true
Lebih kecil...
i < j = true
j < i = false
k < j = false
42. Logical Operator
• Logical operator memiliki satu atau dua boolean operand yang akan
me-return value tipe boolean.
• Ada enam logical operator yaitu:
– && (logical AND)
– & (boolean logical AND)
– || (logical OR)
– | (boolean logical inclusive OR)
– ^ (boolean logical exclusive OR)
– ! (logical NOT)
43. Logical Operator
Operasi dasar dari operasi logical adalah,
x1 op x2
x1, x2 – dapat sebagai ekspresi boolean, variabel,
atau konstanta
op – bisa sebagai operator &&, &, ||, | atau ^ .
berikut ini adalah tabel kebenaran, hasil-hasil dari operasi
dari kombinasi nilai dari x1 dan x2.
44. Logical Operators:
&&(logical) dan &(boolean logical) AND
Berikut ini adalah tabel kebenaran untuk
&& dan &
45. Logical Operators:
&&(logical) dan &(boolean logical) AND
• Perbedaan mendasar antara operator && dan &:
– && dapat digunakan pada short-circuit evaluation (atau partial
evaluation), sedangkan & tidak dapat.
• Terdapat sebuah ekspresi:
exp1 && exp2
– && akan mengecek ekspresi dari exp1, dan selanjutnya akan memberikan
nilai false jika exp1 adalah false.
– Jika exp1 adalah false, operator tidak mengecek nilai exp2 karena hasilnya
akan tetap false tanpa mengetahui nilai exp2.
– Sebaliknya, operator & selalu mengecek semua ekspresi antara exp1 dan
exp2 sebelum memberikan jawaban.
46. Logical Operators:
&&(logical) dan &(boolean logical) AND
public class TestAND {
public static void main( String[] args ){
int i = 0;
int j = 10;
boolean test= false;
//contoh &&
test = (i > 10) && (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
//contoh &
test = (i > 10) & (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}
47. Logical Operators:
&&(logical) dan &(boolean logical) AND
• Output program,
0
10
false
0
11
false
• Perlu diperhatikan, bahwa j++ pada baris yang mengandung
operator && tidak dicek, setelah diketahui bahwa ekspresi (i>10)
bernilai false.
48. Logical Operators: || (logical) dan
| (boolean logical) inclusive OR
Berikut ini adalah tabel kebenaran dari || dan |,
49. Logical Operators: || (logical) dan
| (boolean logical) inclusive OR
Perbedaan dasar antara operator || dan |.
– || mendukung short-circuit evaluations (atau partial evaluations), sedangkan
| tidak.
Terdapat sebuah ekspresi:
exp1 || exp2
– || akan mengecek ekspresi exp1, dan langsung memberikan nilai true jika
nilai dari exp1 adalah true.
– Jika exp1 true, operator tidak mengecek nilai dari exp2 karena apapun nilai
dari exp2 akan tetap menghasilkan nilai true.
– Sedangkan operator | akan melakukan pengecekan pada exp1 dan exp2
sebelum memberikan nilai.
50. Logical Operators: || (logical) dan
| (boolean logical) inclusive OR
public class TestOR {
public static void main( String[] args ){
int i = 0;
int j = 10;
boolean test= false;
//contoh ||
test = (i < 10) || (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
//contoh |
test = (i < 10) | (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}
51. Logical Operators: || (logical) dan
| (boolean logical) inclusive OR
• Output program adalah,
0
10
true
0
11
true
• Perlu diperhatikan, bahwa j++ pada baris yang mengandung
operator || tidak dicek, setelah diketahui nilai dari ekspresi (i<10)
adalah true.
52. Logical Operators:
^ (boolean logical exclusive OR)
Berikut ini adalah tabel kebenaran ^
Hasil dari operasi operasi eksklusif OR adalah TRUE, jika dan hanya jika satu
operand yang bernilai true dan operand lain bernilai false.
Perlu diperhatikan, bahwa semua operand akan dicek untuk menentukan hasil
dari operasi eksklusif OR.
55. Logical Operators: ! ( logical NOT)
Logical NOT hanya memerlukan satu argumen, argumen
tersebut dapat berupa ekspresi, variabel atau konstanta.
Berikut ini adalah tabel kebenaran !,
56. Logical Operators: ! ( logical NOT)
public class TestNOT {
public static void main( String[] args ){
boolean val1 = true;
boolean val2 = false;
System.out.println(!val1);
System.out.println(!val2);
}
}
Output dari program adalah,
false
true
57. Logical Operators:
Conditional Operator (?:)
Conditional operator ?:
– Merupakan ternary operator. ((from Latin ternarius) is an adjective
meaning "composed of three items”)
Hal ini berarti bahwa diperlukan tiga argumen bersamaan dari
sebuah ekspresi conditional.
– Struktur dari ekspresi yang menggunakan conditional operator
adalah
exp1?exp2:exp3
exp1 – adalah ekspresi boolean yang memberikan hasil / nilai
true atau false
– Hasil:
Jika exp1 adalah true, maka nilai dari exp2 yang akan diberikan.
Jika false, maka nilai dari exp3 yang diberikan.
58. Logical Operators:
Conditional Operator (?:)
public class ConditionalOperator {
public static void main( String[] args ){
String status = "";
int grade = 80;
//Status dari siswa
status = (grade >= 60)?"Passed":"Fail";
//Cetak status
System.out.println( status );
}
}
Output program:
Passed
60. OPERATOR GESER (Shift Operators)
• Ada 3 operator :
1. << : geser kiri
2. >> : geser kanan bertanda (bit tanda tetap)
3. >>> : geser kanan tanpa tanda (bit tanda bisa berubah)
Tipe data op1:byte, short,int, long
Sebelum operasi geser, terjadi promosi operand ke type data int
Representasi dalam Two’s Complement
62. Operator Inversion(~)
• Merubah bit 1 mejadi 0 dan 0 menjadi 1
• Tipe data operand : byte, short, int, long, char
• Terjadi promosi ke int sebelum eksekusi operator
Operand Contoh Hasil
Operator ~
1111 1110 ~-2 0000 0001
(-2) (1)
0000 0010 ~2 1111 1101
(2) -3
64. Operator Precedence
It means (mathematical or logical) operator is more important
than others.
berikut ini terdapat ekspresi yang kompleks,
6%2*5+4/2+88-10
ekspresi di atas dapat ditulis ulang ddengan memberikan
tanda kurung berdasarkan prioritas operator,
((6%2)*5)+(4/2)+88-10;
65. Panduan penulisan program
Untuk menghindari kebingungan pada
proses matematika, selalu gunakan ekspresi
sederhana dengan menggunakan tanda
kurung.
66. kesimpulan
• Tipe data primitif( boolean, char, byte, short, int, long,
float, double)
• Variabel (deklarasi, inisialisasi, output)
• System.out.println() vs. System.out.print()
• Reference Variable vs. Primitive Variable
• Operator (Arithmetic operator, Increment dan Decrement
operator, Relational operator, Logical operator, Conditional
Operator (?:), Operator Precedence)