PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk,...

32
PEMROGRAMAN DASAR Operasi Input Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya, Email : [email protected] Pendahuluan Tujuan Pada akhir pertemuan, diharapkanmahasiswa akan mampu menggunakan standard library function yang berhubungan dengan operasi input standart dalam bahasa pemrograman Java. Operasi input/output (I/O) menggunakan standard library function yang berhubungan dengan operasi output dan input standar dalam bahasa pemrograman Java. Operasi input adalah operasi untuk menyimpan nilai data ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT (SPEED)

Transcript of PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk,...

Page 1: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

PEMROGRAMAN DASAR Operasi Input Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya, Email : [email protected]

Pendahuluan

Tujuan

Pada akhir pertemuan, diharapkanmahasiswa akan mampu menggunakan

standard library function yang berhubungan dengan operasi input standart

dalam bahasa pemrograman Java.

Operasi input/output (I/O) menggunakan standard library function yang

berhubungan dengan operasi output dan input standar dalam bahasa

pemrograman Java. Operasi input adalah operasi untuk menyimpan nilai data

ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5

MODUL

SELF-PR

OP

AG

ATIN

G EN

TREP

REN

EUR

IAL ED

UC

ATIO

N D

EVELO

PM

ENT (SP

EED)

Page 2: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman2dari 32

2013 Brawijaya University Pemrograman Dasar

Operasi Input

Pada bagian ini, kita akan menggunakan kelas Scanner yang berada di java.util package untuk mendapatkan

input dari keyboard. Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari

keyboard:

1. Tambahkan di bagian paling atas code anda:

import java.util.Scanner;

2. Tambahkan statement ini:

Scanner input = new Scanner( System.in);

3. Deklarasikan variabel untuk mendapatkan input, dan gunakan fungsi nextInt(), nextDouble(), dll untuk

mendapatkan input dari keyboard.

int var_a = nextInt();

Ada beberapa fungsi untuk membaca inputan:

o next() untuk membaca inputan String hanya 1 kata

o nextLine() untuk membaca inputan String lebih dari 2 kata

o nextInt() untuk membaca inputan integer

o nextDouble() untuk membaca inputan double

o nextBoolean() untuk membaca inputan boolean

o nextByte() untuk membaca inputan byte

o nextLong() untuk membaca inputan long

o nextShort() untuk membaca inputan short

Berikut ini adalah source code selengkapnya:

import java.util.Scanner;

public class GetInputFromKeyboard {

public static void main (String[] args) {

Scanner masukan = new Scanner(System.in);

int var_a, var_b;

System.out.print(“Masukkan nilai var var_a :”);

var_a = masukan.nextInt();

System.out.print(“Masukkan nilai var var_b :”);

var_b = masukan.nextInt();

Page 3: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman3dari 32

2013 Brawijaya University Pemrograman Dasar

System.out.println();

System.out.println(“Variabel yang terdapat dalam

program :”);

System.out.println(“var_a = ” + var_a);

System.out.println(“var_b = ” + var_b);

}

}

}

Berikutnya akan dijelaskan setiap baris dari code:

Statement,

import java.util.Scanner;

menjelaskan bahwa kita akan menggunakan kelas Scanner yang berada di java.util package. Java

Application Programming Interface (API) sudah berisi ratusan kelas yang bisa digunakan untuk program anda.

Kelas-kelas tersebut dikumpulkan ke dalam packages.

Packages memiliki kelas yang mempunyai fungsi yang saling berhubungan. Seperti pada contoh di atas,

java.util package mengandung kelas-kelas yang memungkinkan program untuk melakukan input dan

output data.

public class GetInputFromKeyboard {

public static void main( String[] args ){

Statement ini menyatakan bahwa kita mendeklarasikan sebuah class bernama GetInputFromKeyboard dan

kita mendeklarasikan main method.

Pada statement,

Scanner masukan = new Scanner(System.in);

Page 4: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman4dari 32

2013 Brawijaya University Pemrograman Dasar

kita mendeklarasikan sebuah variabel bernama masukan dengan tipe kelas Scanner. Jangan

mengkhawatirkan tentang maksud dari syntax saat ini. Kita akan menjelaskannya pada akhir pembahasan.

Sekarang, kita akan mendeklarasikan variabel integer dengan identifier name,

int var_a, var_b;

Statement diatas merupakan tempat untuk menyimpan input dari user.

Baris berikutnya adalah memberikan output string pada layar untuk memasukkan nilai var_a dan var_b.

System.out.print(“Masukkan nilai var var_b :”);

Selanjutnya statement,

var_a = masukan.nextInt();

var_b = masukan.nextInt();

method diatas memanggil masukan.nextInt(), mendapatkan input dari user dan memberikan sebuah nilai

integer. Nilai ini akan disimpan ke dalam variabel var_a dan var_b, yang akan kita gunakan untuk menampilkan

nilai var_a dan var_b.

System.out.println(“var_a = ” + var_a);

System.out.println(“var_b = ” + var_b);

Contoh Program Luas Segi Empat

Page 5: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman5dari 32

2013 Brawijaya University Pemrograman Dasar

LATIHAN

SOAL

1. Buatlah program untuk menerima masukan tulisan dari user dan tampilkan hasil masukan

tersebut !

Contoh hasil eksekusi program :

Masukkan Tuliskan : Hello Java!

Anda mengetikkan tulisan „Hello Java!‟

2. Buatlah program untuk menghitung hasil penjumlahan, pengurangan, perkalian dan pembagian

dari dua buah bilangan yang dimasukkan oleh user !

Contoh hasil eksekusi program :

Masukkan Bilangan 1 = 5

Masukkan Bilangan 2 = 7

Hasil Penjumlahan = 12

Hasil Pengurangan = -2

Hasil Perkalian = 35

Hasil Pembagian = 0.7142857142857143

Page 6: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman6dari 32

2013 Brawijaya University Pemrograman Dasar

PEMROGRAMAN DASAR

Proses Sederhana Sutrisno, Issa Arwani, Rekyan Regasari Teknik Informatika, Universitas Brawijaya, Email : [email protected]

Pendahuluan

Tujuan

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Memahami tentang proses sederhana (simple process) berupa

pemanggilan procedure (fungsi) dan ekspresi serta dapat

menerapkannya dalam algorithma ataupun pemrograman dengan

bahasa pemrograman Java.

Memahami tentang Ekspresi

Sebuah proses dikatakan sebagai proses sederhana (simple process) karena

dipandang sebagai proses yang hanya mempunyai sebuah aliran masukan dan

sebuah aliran keluaran. Proses sederhana dalam pemrograman komputer

terdiri atas:

Perhitungan aritmetika atau logika

Pemanggilan fungsi

Bab ini akan membahas komponen-komponen proses sederhana dan

perhitungan aritmetika dan logika.

6

MODUL

SELF-PR

OP

AG

ATIN

G EN

TREP

REN

EUR

IAL ED

UC

ATIO

N D

EVELO

PM

ENT (SP

EED)

Page 7: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman7dari 32

2013 Brawijaya University Pemrograman Dasar

Proses Sederhana

Sebuah proses dikatakan sebagai proses sederhana (simple process) karena dipandang sebagai proses yang

hanya mempunyai sebuah aliran masukan dan sebuah aliran keluaran. Proses sederhana dalam pemrograman

komputer terdiri dari:

Perhitungan aritmetika atau logika

Pemanggilan fungsi

Dalam flow-chart digambarkan sbb.:

Gambar 1 Flowchart proses sederhana

Ekspresi

Ekspresi merupakan proses sederhana dalam pemrograman komputer untuk melakukan proses perhitungan

arithmatika dan logika. Ekspresi adalah segala sesuatu yang bila dievaluasi akan menghasilkan suatu nilai.

1. Sebuah konstanta adalah sebuah ekspresi

2. Sebuah variabel adalah sebuah ekspresi

3. Sebuah ekspresi yang dioperasikan dengan ekspresi lain adalah ekspresi

4. Pemanggilan sebuah fungsi adalah sebuah ekspresi

Prinsip dasar perhitungan arithmatika dan logika dalam pemrograman komputer adalah melakukan

perhitungan arithmatika atau logika kemudian hasilnya disimpan dalam variabel tertentu. Dalam flowchart

digambarkan sbb.:

Gambar 2 Prinsip dasar perhitungan aritmatika

Page 8: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman8dari 32

2013 Brawijaya University Pemrograman Dasar

Contoh:

Contoh flowchart diatas memiliki arti bahwa nilai data dari variabel c ditambah dengan 1 hasilnya disimpan ke

dalam variabel c. Tidak boleh penulisannya seperti dibawah:

Komponen utama ekspresi adalah operand dan operator. Operand dapat berupa variabel, konstanta, nilai data

konstan maupun fungsi. Setiap operand harus memiliki nilai data. Operator adalah simbol yang mengolah nilai

pada operand dan menghasilkan satu nilai baru. Dalam pemrograman komputer penulisan perhitungan

arithmatika/logika TIDAK BOLEH BERTINGKAT. Contoh:

Presedensi dan Assosiativitas Operator

Presedensi menentukan urutan pengerjaan operator berdasarkan prioritas. Operator yang memiliki tingkat

presedensi lebih tinggi akan dikerjakan lebih dahulu.Assosiativitas menentukan urutan pengerjaan operator

berdasarkan lokasinya dalam sebuah ekspresi (apakah dari kiri atau dari kanan).Assosiativitas berlaku untuk

operator-operator yang memiliki presedensi yang sama.

Page 9: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman9dari 32

2013 Brawijaya University Pemrograman Dasar

OPERATOR denganPrioritas dan Urutan Pengerjaan

KATEGORI SIMBOL NAMA PRIORITAS URUTAN

PENGERJAAN

Resolusi Lingkup :: Resolusi Lingkup 1 Kiri-Kanan

Kurung, indeks larik

dan elemen struktur

data

() Kurung

2

Kiri-Kanan

[] Elemen array Kiri-Kanan

-> Pointer ke anggota struktur atau kelas Kiri-Kanan

. Anggota struktur, union atau kelas Kiri-Kanan

Operator Unary

++ Pre-increment

3

Kanan-Kiri

-- Pre-decrement Kanan-Kiri

! Logika not Kanan-Kiri

~ Komplemen Bitwise Kanan-Kiri

- Unary minus Kanan-Kiri

+ Unary plus Kanan-Kiri

& Alamat Kanan-Kiri

* Indirection Kanan-Kiri

(type) Type casting Kanan-Kiri

KATEGORI SIMBOL NAMA PRIORITAS URUTAN

PENGERJAAN

Operator aritmatika

perkalian

* Perkalian

4 Kiri-Kanan / Pembagian

% Sisa Pembagian

Operator penambahan

+ Penambahan 5 Kiri-Kanan

- Pengurangan

Pergeseran bit

<< Geser Kiri 6 Kiri-Kanan

>> Geser Kanan

Operator Relational

< Lebih kecil

7 Kiri-Kanan <= Lebih kecil sama dg

> Lebih besar

>= Lebih besar sama dg

Operator Relational

== Sama dengan 8 Kiri-Kanan

!= Tidak sama dengan

Operator Bitwise & Bitwise AND 9 Kiri-Kanan

Page 10: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman10dari 32

2013 Brawijaya University Pemrograman Dasar

^ Bitwise XOR 10

| Bitwise OR 11

Operator Logika

&& Logika AND 12 Kiri-Kanan

|| Logika OR 13

Operator Ternary ?: Operator kondisi 14 Kanan-Kiri

Operator Penugasan

Majemuk

=, +=, -=, *=,

/=, %= Operator penugasan arithmatika

15 Kanan-Kiri &=, ^=, |=,

<<=, >>= Operator penugasan bitwise

Operator koma , Operator Koma 16 Kiri-Kanan

Contoh:

import java.util.Scanner;

public class soal {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int a,b,z = 100; float x, y ;

System.out.println("Melihat pengaruh prioritas dan urutan pengerjaan");

System.out.print("Masukkan sembarang nilai integer: ");

a = input.nextInt();

x = a/3*3;

y = a*3/3;

z += b = a;

System.out.println("x = "+a+"/3*3, diperoleh x = " +x);

System.out.println("y = "+a+"*3/3, diperoleh y = " +y);

System.out.println("bila z = 100, maka z += b = "+a+" diperoleh z = "+z);

}

}

Page 11: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman11dari 32

2013 Brawijaya University Pemrograman Dasar

Outputnya:

Page 12: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman12dari 32

2013 Brawijaya University Pemrograman Dasar

Title

LATIHAN

SOAL PERTAMA

public class soal {

public static void main(String[] args) {

float x;

x = 7 / 2; System.out.println("x = " + x);

x = (float) (7.0 / 2); System.out.println("x = " + x);

x = (float) (7 / 2.0); System.out.println("x = " + x);

x = (float) (7.0 / 2.0); System.out.println("x = " + x);

x = (float) 7 / 2; System.out.println("x = " + x);

}

}

Bagaimanakah hasil keluaran yang ditampilkan di layar monitor dari program di atas?, Jelaskan?

SOAL KEDUA

public class soal {

public static void main(String[] args) {

int x = 10, y = 6;

x *= 5 + y;

y += y &= x;

System.out.println("x = " + x + " y = " + y);

}

}

Apakah keluaran yang akan ditampilkan dilayar monitor bila program di atas berhasil dieksekusi ?

SOAL KETIGA

public class soal {

public static void main(String[] args) {

int x = 10, y = 6;

x *= 5 + y;

y += y * x;

System.out.println("x = " + x + " y = " + y);

}

}

Berapakah nilai variabel x dan y bila program di atas berhasil dieksekusi.

Page 13: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman13dari 32

2013 Brawijaya University Pemrograman Dasar

PEMROGRAMAN DASAR Operator Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu komputer Universitas Brawijaya, Email : [email protected]

Pendahuluan

Tujuan

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Memahami tentang Operator Penugasan (assignment)

Memahami tentang Operator Logika

Memahami tentang Operator Aritmetika

Memahami tentang Operator Relasional

Memahami tentang Operator Bitwise

Operator merupakan simbol yang menetapkan jenis kalkulasi/manipulasi yang

dilakukan pada unsur-unsur dari sebuah ekspresi. Dalam sebuah ekspresi, objek

yang dikenai suatu perlakuan oleh operator disebut operand. Sebagai contoh,

dalam ekspresi x+y, x dan y merupakan operand. 7

MODUL

SELF-PR

OP

AG

ATIN

G EN

TREP

REN

EUR

IAL ED

UC

ATIO

N D

EVELO

PM

ENT (SP

EED)

Page 14: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman14dari 32

2013 Brawijaya University Pemrograman Dasar

Operator

Operator merupakan simbol yang menetapkan jenis kalkulasi/manipulasi yang dilakukan pada unsur-unsur

dari sebuah ekspresi. Dalam sebuah ekspresi, objek yang dikenai suatu perlakuan oleh operator disebut

operand. Sebagai contoh, dalam ekspresi x+y, x dan y merupakan operand.

Berdasarkan jumlah operand, operator dapat dibedakan menjadi tiga jenis, yaitu :

Unary operator

Binary operator

Ternary operator

Unary operator memerlukan 1 operand, binary operator memerlukan 2 operand, sedangkan ternary operator

memerlukan 3 operand.

Berdasarkan jenis operasinya, operator dalam bahasa pemrograman Java dapat dikelompokkan :

Operator Penugasan (assignment operator)

Operator Aritmatika

Operator Relasional

Operator Logika

Operator Bitwise

A. Operator Penugasan (assignment)

Operator penugasan (assignment operator) adalah operator yang berfungsi untuk memberikan/mengisikan

nilai kepada suatu variabel. Dalam bahasa Java, operator penugasan diwakili oleh simbol sama dengan (=).

Operator penugasan termasuk Binary operator yang digunakan untuk memberikan nilai kepada suatu

Operand. Sintak sbb:

operand1 operator operand2;

Operand1 harus berupa variabel, sedangkan operand2 dapat sembarang operand termasuk variabel dari

operand1. Urutan pengerjaan (assosiativitas) operator penugasan dari kanan ke kiri.

Contoh :

x = 2; // konstanta

x = y; // variabel lain

x = 2 * y; // ekspresi

Page 15: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman15dari 32

2013 Brawijaya University Pemrograman Dasar

a = sin (y); // fungsi

Tipe hasil operasi disesuaikan dengan tipe operand sebelah kiri.

int x = 7/2; /*nilai x sama dgn 3 */

float y = 3; /*nilai y sama dengan 3.000 */

B. Operator Aritmatika

Operator aritmatika digunakan untuk melakukan perhitungan-perhitungan matematis. Beberapa simbol

operator aritmatika dalam bahasa Java antara lain: *, /, %, +, -. Simbol-simbol tersebut secara berturut-turut

mewakili operator perkalian, pembagian, modulus, penjumlahan, dan pengurangan.

Modulo/Modulus:

Simbol : %

Termasuk Binary operator

Untuk menghitung sisa hasil bagi

n % 2, dapat digunakan untuk menguji apakah integer n bernilai genap atau ganjil

n % 2 = 0 n GENAP

n % 2 = 1 n GANJIL

Increment dan Decrement:

Simbol : ++(increment), --(decrement)

Termasuk unary operator

Menaikkan (++) dan menurunkan (--) nilai variabel dengan 1

Posisinya bisa di depan (pre) atau dibelakang (post) variabel

Contoh:

N++; //post increment

++N; //pre increment

N--; //post decrement

--N; //pre decrement

Jika statement increment stand alone. Maka N++; atau ++N; sama dengan artinya N=N+1;

Page 16: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman16dari 32

2013 Brawijaya University Pemrograman Dasar

Jika statement decrement stand alone. Maka N--; atau --N; sama dengan artinya N=N-1;

Jika ++n dan n++ sebagai statement yang terikat dalam ekspresi lainnya (sub expresi), keduanya mempunyai

arti yang berbeda.

++n -> n ditambah 1, baru diproses terhadap ekspresinya

n++ -> n langsung diproses terhadap ekspresinya tanpa ditambah 1 terlebih dahulu, pada saat selesai

baru n ditambah 1

Contoh:

Setiap ekspesi yang berbentuk :

<Variabel> = <Variabel><Operator><Exp>;

dapat diganti dengan :

<Variabel><Operator> = <Exp>;

Operator ini sering disebut dengan Combined Operator.

Ekspresi Dapat diganti dengan

a = a + b; a += b;

a = a – b; a -= b;

a = a * b; a *= b;

a = a / b; a /= b;

a = a % b; a %= b;

a = a ^ b ; a ^= b;

Page 17: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman17dari 32

2013 Brawijaya University Pemrograman Dasar

Contoh soal:

x *= y +1; artinya sama dengan :

A. x = x * (y + 1);

B. x = x * y + 1;

C. x = x + 1 * y;

D. x = (x + 1) * y;

Jawab: A

C. Operator Relasional

Operator relasional digunakan untuk membandingkan dua buah operand. Hasil perbandingan tersebut akan

menghasilkan nilai logika TRUE (Benar) atau FALSE (Salah). Dalam bahasa Java ada enam macam operator

relasional, yaitu:

Simbol Fungsi

= = Sama Dengan

!= Tidak Sama Dengan

< Lebih Kecil Dari

> Lebih Besar Dari

<= Lebih Kecil atau Sama Dengan

>= Lebih Besar atau Sama Dengan

?: Conditional assignment

Page 18: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman18dari 32

2013 Brawijaya University Pemrograman Dasar

Conditional Expressions

Operator kondisi digunakan untuk mendapatkan sebuah nilai dari dua buah kemungkinan, berdasarkan suatu

kondisi.Operator kondisi diterapkan pada tiga operand, yaitu cek_kondisi, nilai_jika_benar, dan

nilai_jika_salah. Sintaksis penulisannya adalah sebagai berikut:

[cek_kondisi] ? [nilai_jika_benar] : [nilai_jika_salah]

Pada sebuah operasi yang menggunakan operator kondisi, yang pertama kali dilakukan adalah mengecek

kondisi logika operand pertama (cek_kondisi).Jika cek_kondisi bernilai benar (TRUE), maka operasi tersebut

menghasilkan nilai_jika_benar.Sebaliknya, jika cek_kondisi bernilai salah (FALSE), maka operasi tersebut

menghasilkan nilai_jika_salah.

Contoh yang sama artinya dgn statement diatas:

z = (a > b) ?a : b;

Jika (a>b) bernilai benar maka z=a. Sebaliknya jika (a>b) bernilai salah maka z=b.

D. Operator Logika

Operator logika digunakan untuk menggabungkan hasil ekspresi yang mengandung operator-operator

relasional, menjadikan keduanya sebagai dua buah operand, sehingga menghasilkan sebuah ungkapan kondisi.

Operator logika yang digunakan dalam bahasa Java adalah: && (AND), || (OR), dan ! (NOT).

Page 19: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman19dari 32

2013 Brawijaya University Pemrograman Dasar

Simbol Fungsi

&& AND

|| OR

! NOT

Table Kebenaran operator logika:

A B !A A && B A || B

True True False True True

True False False False True

False True True False True

False False True False False

E. Operator Bitwise

Operator bitwise digunakan untuk keperluan manipulasi data dalam bentuk bit (binary digit). Bahasa Java

menyediakan enam buah operator bitwise, yaitu:

Geser bit ke kiri (<<)

Geser bit ke kanan (>>)

AND (&)

OR (|)

XOR (^)

NOR (~)

Simbol Fungsi Contoh

& AND A & B

| OR A | B;

Page 20: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman20dari 32

2013 Brawijaya University Pemrograman Dasar

^ XOR A ^ B;

~ Complement 1 ~A;

>> Shift Right A >> 3;

<< Shift Left B << 2;

Contoh:

Dua buah bit di-XOR-kan akan menghasilkan 1 jika kedua bit tersebut berbeda, dan akan menghasilkan 0 jika

kedua bit tersebut sama.

Operator shift-right (>> n) dapat dipergunakan untuk menggeser n bit ke kanan dan diberi nilai 0 (nol)

sejumlah n bit dari paling kiri yang ditinggalkan.

Operator shift-left (<< n) dapat dipergunakan untuk menggeser n bit ke kiri dan diberi nilai 0 (nol) sejumlah n

bit dari paling kanan yang ditinggalkan.

Contoh:

int A, B=78;

A = B>>3; //nilai A=9

A = B<<2; //nilai A=312

Catatan:

78 binernya: 00100 1110

Geser kekanan 3 bit: 000001001 = 9

Geser kekiri 2 bit : 010011000 = 312

Page 21: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman21dari 32

2013 Brawijaya University Pemrograman Dasar

Title

LATIHAN

SOAL PERTAMA

Jika semua variabel bertipe integer, maka tentukan nilai A sbb:

B=23; C=12; D=32; E=0;

1. A = B && E;

2. A = B & C;

3. A = C || D;

4. A = B | D;

5. A = B > 2;

6. A = B >> 2;

7. A = C < 3;

8. A = C << 3;

9. A = B = C;

10. A = B == C;

SOAL KEDUA

Sebutkan contoh operator yang termasuk :

1. Unary Operator

2. Binary Operator

3. Ternary Operator

Sebutkan beberapa operator yang bisa berfungsi sebagai unary dan binary operator, dan berikan

contohnya.

SOAL KETIGA

z = (n > 0) ?f : b;

Perhatikan conditional expression diatas, bolehkahsekiranya variabel f dan b memiliki tipe data yang berbeda?

Page 22: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman22dari 32

2013 Brawijaya University Pemrograman Dasar

LATIHAN

SOAL KEEMPAT

import java.util.Scanner

public class Operand {

public static void main(String[] args) {

float x;

x = 7/2;System.out.printf("x = %f\n",x);

x = 7.0/2;System.out.printf("x = %f\n",x);

x = 7/2.0;System.out.printf("x = %f\n",x);

x = 7.0/2.0;System.out.printf("x = %f\n",x);

x = (float)7/2;System.out.printf("x = %f\n\n\n",x);

}

}

Bagaimanakah hasil keluaran yang ditampilkan di layar monitor dari program di atas?, Jelaskan?

SOAL KELIMA

import java.util.Scanner

public class Operand {

public static void main(String[] args) {

int y=33, x=45;

y = y && x; System.out.printf("y = %d\n",y);

y = y & x; System.out.printf("y = %d\n",y);

y = y || x; System.out.printf("y = %d\n",y);

y = y | x; System.out.printf("y = %d\n",y);

y &= y = x; System.out.printf("y = %d\n",y);

y ^= y = x; System.out.printf("y = %d\n",y);

}

}

Apakah keluaran yang akan ditampilkan dilayar monitor bila program di atas berhasil dieksekusi ?

Page 23: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman23dari 32

2013 Brawijaya University Pemrograman Dasar

PEMROGRAMAN DASAR Seleksi/Percabangan Bersyarat Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya, Email : [email protected]

Pendahuluan

Tujuan

Pada akhir pertemuan ini, diharapkan mahasiswa me-miliki kemampuan untuk:

Menggunakan struktur kendali pencabangan ber-syarat dalam bahasa

pemrograman Java.

Memahami Konsep IF, IF-ELSE, IF-ELSE IF

Memahami Konsep Percabangan Bertingkat

Memahami penggunaan Switch-Case

Dalam sebuah algoritma, seringkali beberapa instruksi harus dilaksanakan bila

suatu persyaratan dipenuhi (bernilai benar) dan sebaliknya.Dalam struktur

pencabangan bersyarat, suatu instruksi atau sekelompok instruksi dapat

dilewati, sementara instruksi lain dijalankan. Bab ini akan membahas lebih

detail tentang konsep dari percabangan. 8

MODUL

SELF-PR

OP

AG

ATIN

G EN

TREP

REN

EUR

IAL ED

UC

ATIO

N D

EVELO

PM

ENT (SP

EED)

Page 24: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman24dari 32

2013 Brawijaya University Pemrograman Dasar

Pencabangan Bersyarat

Dalam sebuah algoritma, seringkali beberapa instruksi harus dilaksanakan bila suatu persyaratan dipenuhi

(bernilai benar) dan sebaliknya.Dalam struktur pencabangan bersyarat, suatu instruksi atau sekelompok

instruksi dapat dilewati, sementara instruksi lain dijalankan. Pernyataan pencabangan bersyarat terdiri dari:

if

if-else

switch-case

Pernyataan if

Penggambaran IF dalam flow-chart:

Gambar 3 Flowchart IF

Pernyataan if mempunyai format sebagai berikut:

if (ekspresi boolean) statement;

atau

if (ekspresi boolean)

statement;

atau

if (ekspresi boolean)

{

statement1;

statement2;

……

}

Page 25: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman25dari 32

2013 Brawijaya University Pemrograman Dasar

Kondisi yang akan diperiksa oleh pernyataan if harus dituliskan di dalam tanda kurung dan harus

menghasilkan nilai benar (TRUE) atau salah (FALSE). [pernyataan] akan dieksekusi apabila [cek_kondisi]

bernilai benar. Jika [cek_kondisi] bernilai salah, [pernyataan] tidak akan dieksekusi.

Contoh:

Page 26: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman26dari 32

2013 Brawijaya University Pemrograman Dasar

Pernyataan if-else

Pernyataan if-else mempunyai format sebagai berikut:

if (ekspresi boolean) statement_01;

else statement_11;

atau

if (ekspresi boolean)

statement_01;

else

statement_11;

atau

if (ekspresi boolean)

{ statement_01;

statement_02;

………

}

else

{ statement_11;

statement_12;

………

}

Seperti pada pernyataan if maka kondisi yang akan diperiksa oleh pernyataan if harus dituliskan di dalam

tanda kurung dan harus memiliki nilai benar atau salah. [pernyataan1]akan dilaksanakan apabila kondisi

bernilai benar, sedangkan [pernyataan2] akan dilaksanakan apabila kondisi bernilai salah.

Page 27: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman27dari 32

2013 Brawijaya University Pemrograman Dasar

Penggambaran dalam flow-chart:

Gambar 4 Flowchart IF-Else

Pernyataan if-else Bertingkat

Konstruksi if-else dapat digunakan secara bertingkat.

Contoh:

if (ekspresi boolean1) statement1;

else if (ekspresi boolean2) statement2;

else if (ekspresi boolean3) statement3;

.....

.....

else if (ekspresi booleanN) statementN;

Page 28: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman28dari 32

2013 Brawijaya University Pemrograman Dasar

Contoh pernyataan IF-Else:

Page 29: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman29dari 32

2013 Brawijaya University Pemrograman Dasar

Contoh pernyataan if-else bertingkat:

Penulisan if-else harus jelas maksudnya. Contoh penulisan if-else yang kurang jelas meskipun tidak salah.

Page 30: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman30dari 32

2013 Brawijaya University Pemrograman Dasar

Pernyataan switch-case

Jika dalam program dibutuhkan penyeleksi kondisi dengan banyak (lebih dari dua) alternatif, biasanya

digunakan pernyataan switch-case.Pernyataan switch-case dapat dipergunakan sebagai pengganti pernyataan

if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulit dibaca. Sintaks pernyataan

switch-case

switch (ekspresi integer) {

case constant1 : statements1; break;

case constant2 : statements2; break;

.

.

[ default : statements; ]

}

Pernyataan switch mengevaluasi ekspresi dan kemudian melihat isi case constant. Jika nilai ekspresi ada

didalam constant list maka pernyataan dieksekusi.Jika tidak ada yang cocok, pernyataan default yang

dieksekusi.

Catatan: nilai ekspresi harus integer dan constant harus integer constant termasuk char.

Struktur logika switch-case dapat digambarkan sbb.:

Gambar 5 Flowchart Switch Case

Page 31: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman31dari 32

2013 Brawijaya University Pemrograman Dasar

Contoh:

import java.util.Scanner;

public class KalkulatorSwitch {

public static void main(String args[]) {

double bil1, bil2, hasil;

char op;

Scanner rawInput = new Scanner(System.in);

System.out.println("ketik bil 1 operator bil 2, cth : 3 * 4");

Scanner input = new Scanner(rawInput.nextLine());

input.useDelimiter(" ");

bil1 = input.nextDouble();

op = input.next().charAt(0);

bil2 = input.nextDouble();

switch(op) {

case '*' : hasil = bil1 * bil2;

System.out.println("= " + hasil); break;

case '/' : hasil = bil1 / bil2;

System.out.println("= " + hasil);

case '+' : hasil = bil1 + bil2;

System.out.println("= " + hasil); break;

case '-' : hasil = bil1 - bil2;

System.out.println("= " + hasil); break;

default : System.out.println("Operator tidak dikenal"); break;

}

}

}

Page 32: PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. 5 MODUL SELF-) Halaman2dari 32 Pemrograman Dasar Brawijaya University 2013

Halaman32dari 32

2013 Brawijaya University Pemrograman Dasar

Title

LATIHAN

SOAL PERTAMA

Buat program untuk menginput nilai IPK mahasiswa dan berikan penilaian :

3.5 - 4.0 Sangat Memuaskan

3.0 - 3.4 Memuaskan

2.5 – 2.9 Baik Sekali

2.0 – 2.4 Baik

Dibawah 2.0 Kurang

Gunakan perintah if / if-else !

SOAL KEDUA

Buatlah program komputer untuk menentukan nilai-huruf dari sebuah matakuliah yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus:

• Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas)

Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus:

• Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas)

Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut:

Nilai Akhir Bobot Nilai Huruf

85 - 100 4 A : Sangat Baik

75 - 84 3 B : Baik

65 - 74 2 C : Cukup

50 - 64 1 D : Kurang

0 - 49 0 E : Gagal

SOAL KETIGA

Perhatikan potongan program dibawah ini:

if(n > 0) if(a > b) z = a; else z = b;

Jelaskan keyword elseberpasangan dengan if yangmana ?

Perbaiki cara penulisan potongan program disamping, agar

menjadi lebih jelas dibaca algoritmanya !