PEMROGRAMAN DASAR Operasi Input Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya, Email :
[email protected]
Pendahuluan
MODUL
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.
Pada akhir pertemuan, diharapkanmahasiswa akan mampu menggunakan standard library function yang berhubungan dengan operasi input standart dalam bahasa pemrograman Java.
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT (SPEED)
Tujuan
5
Pemrograman Dasar
Brawijaya University
2013
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 o o o o o o o
next() untuk membaca inputan String hanya 1 kata nextLine() untuk membaca inputan String lebih dari 2 kata nextInt() untuk membaca inputan integer nextDouble() untuk membaca inputan double nextBoolean() untuk membaca inputan boolean nextByte() untuk membaca inputan byte nextLong() untuk membaca inputan long 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(); Halaman2dari 32
Pemrograman Dasar
Brawijaya University
2013
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);
Halaman3dari 32
Pemrograman Dasar kita
mendeklarasikan sebuah
Brawijaya University variabel
bernama
masukan
dengan
tipe
kelas
2013
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
Halaman4dari 32
Pemrograman Dasar
Brawijaya University
2013
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
Halaman5dari 32
Pemrograman Dasar
Brawijaya University
2013
PEMROGRAMAN DASAR Proses Sederhana Sutrisno, Issa Arwani, Rekyan Regasari Teknik Informatika, Universitas Brawijaya, Email :
[email protected]
MODUL
Pendahuluan 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
perhitungan aritmetika dan logika.
Tujuan Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Memahami pemanggilan
tentang
proses
procedure
sederhana
(fungsi)
dan
(simple
process)
ekspresi
serta
berupa dapat
menerapkannya dalam algorithma ataupun pemrograman dengan bahasa pemrograman Java. Memahami tentang Ekspresi
Halaman6dari 32
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT (SPEED)
Bab ini akan membahas komponen-komponen proses sederhana dan
6
Pemrograman Dasar
Brawijaya University
2013
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
Halaman7dari 32
Pemrograman Dasar
Brawijaya University
2013
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.
Halaman8dari 32
Pemrograman Dasar
Brawijaya University
2013
OPERATOR denganPrioritas dan Urutan Pengerjaan
KATEGORI Resolusi Lingkup Kurung, indeks larik dan elemen struktur data
Operator Unary
SIMBOL
Kurung
[]
Elemen array
->
Pointer ke anggota struktur atau kelas
.
Anggota struktur, union atau kelas
Kiri-Kanan
++
Pre-increment
Kanan-Kiri
--
Pre-decrement
Kanan-Kiri
!
Logika not
Kanan-Kiri
~
Komplemen Bitwise
Kanan-Kiri
-
Unary minus
+
Unary plus
Kanan-Kiri
&
Alamat
Kanan-Kiri
*
Indirection
Kanan-Kiri
(type)
Type casting
Kanan-Kiri
Operator penambahan
Operator Relational Operator Bitwise
PENGERJAAN
()
perkalian
1
URUTAN
Resolusi Lingkup
Operator aritmatika
Operator Relational
PRIORITAS
::
KATEGORI
Pergeseran bit
NAMA
Kiri-Kanan Kiri-Kanan
SIMBOL
NAMA
*
Perkalian
/
Pembagian
%
Sisa Pembagian
+
Penambahan
-
Pengurangan
<<
Geser Kiri
>>
Geser Kanan
<
Lebih kecil
<=
Lebih kecil sama dg
>
Lebih besar
>=
Lebih besar sama dg
==
Sama dengan
!=
Tidak sama dengan
&
Bitwise AND
2
3
PRIORITAS
Halaman9dari 32
Kiri-Kanan Kiri-Kanan
Kanan-Kiri
URUTAN PENGERJAAN
4
Kiri-Kanan
5
Kiri-Kanan
6
Kiri-Kanan
7
Kiri-Kanan
8
Kiri-Kanan
9
Kiri-Kanan
Pemrograman Dasar
Operator Logika Operator Ternary
Brawijaya University ^
Bitwise XOR
10
|
Bitwise OR
11
&&
Logika AND
12
||
Logika OR
13
?:
Operator kondisi
14
Kanan-Kiri
15
Kanan-Kiri
16
Kiri-Kanan
=, +=, -=, *=, Operator Penugasan
/=, %=
Majemuk
&=, ^=, |=, <<=, >>=
Operator koma
,
2013
Kiri-Kanan
Operator penugasan arithmatika
Operator penugasan bitwise Operator Koma
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); } }
Halaman10dari 32
Pemrograman Dasar
Brawijaya University
Outputnya:
Halaman11dari 32
2013
Pemrograman Dasar
Brawijaya University
LATIHAN SOAL PERTAMA public class soal { public static void main(String[] args) { float x; x = 7 / 2;
Title
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.
Halaman12dari 32
2013
Pemrograman Dasar
Brawijaya University
2013
PEMROGRAMAN DASAR Operator Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu komputer Universitas Brawijaya, Email :
[email protected]
MODUL
Pendahuluan 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.
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
Halaman13dari 32
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT (SPEED)
Tujuan
7
Pemrograman Dasar
Brawijaya University
2013
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 Halaman14dari 32
Pemrograman Dasar a = sin (y);
Brawijaya University
2013
// 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; Halaman15dari 32
Pemrograman Dasar
Brawijaya University
2013
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 :
= <Exp>; dapat diganti dengan : = <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;
Halaman16dari 32
Pemrograman Dasar
Brawijaya University
2013
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
Halaman17dari 32
Pemrograman Dasar
Brawijaya University
2013
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).
Halaman18dari 32
Pemrograman Dasar
Brawijaya University Simbol
Fungsi
&&
AND
||
OR
!
NOT
2013
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;
Halaman19dari 32
Pemrograman Dasar
Brawijaya University
^
XOR
A ^ B;
~
Complement 1
~A;
>>
Shift Right
A >> 3;
<<
Shift Left
B << 2;
2013
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
Halaman20dari 32
Pemrograman Dasar
Brawijaya University
2013
LATIHAN SOAL PERTAMA Jika semua variabel bertipe integer, maka tentukan nilai A sbb: B=23; C=12; D=32; E=0;
Title
1. A = B && E;
6. A = B >> 2;
2. A = B & C;
7. A = C < 3;
3. A = C || D;
8. A = C << 3;
4. A = B | D;
9. A = B = C;
5. A = B > 2;
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?
Halaman21dari 32
Pemrograman Dasar
Brawijaya University
2013
LATIHAN SOAL KEEMPAT import java.util.Scanner
SOAL KELIMA import java.util.Scanner
public class Operand {
public class Operand {
public static void main(String[] args) {
public static void main(String[] args) {
float x;
int y=33, x=45;
x = 7/2;System.out.printf("x = %f\n",x);
y = y && x; System.out.printf("y = %d\n",y);
x = 7.0/2;System.out.printf("x = %f\n",x);
y = y & x; System.out.printf("y = %d\n",y);
x = 7/2.0;System.out.printf("x = %f\n",x);
y = y || x; System.out.printf("y = %d\n",y);
x = 7.0/2.0;System.out.printf("x = %f\n",x);
y = y | x; System.out.printf("y = %d\n",y);
x = (float)7/2;System.out.printf("x = %f\n\n\n",x);
y &= y = x; System.out.printf("y = %d\n",y);
}
y ^= y = x; System.out.printf("y = %d\n",y);
}
}
Bagaimanakah hasil keluaran yang ditampilkan di layar monitor dari program di atas?, Jelaskan?
} Apakah keluaran yang akan ditampilkan dilayar monitor bila program di atas berhasil dieksekusi ?
Halaman22dari 32
Pemrograman Dasar
Brawijaya University
2013
PEMROGRAMAN DASAR Seleksi/Percabangan Bersyarat Sutrisno, Issa Arwani, Rekyan Regasari Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya, Email : [email protected]
MODUL
Pendahuluan 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.
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
Halaman23dari 32
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT (SPEED)
Tujuan
8
Pemrograman Dasar
Brawijaya University
2013
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; …… }
Halaman24dari 32
Pemrograman Dasar
Brawijaya University
2013
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:
Halaman25dari 32
Pemrograman Dasar
Brawijaya University
2013
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.
Halaman26dari 32
Pemrograman Dasar
Brawijaya University
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;
Halaman27dari 32
2013
Pemrograman Dasar
Brawijaya University
Contoh pernyataan IF-Else:
Halaman28dari 32
2013
Pemrograman Dasar
Brawijaya University
2013
Contoh pernyataan if-else bertingkat:
Penulisan if-else harus jelas maksudnya. Contoh penulisan if-else yang kurang jelas meskipun tidak salah.
Halaman29dari 32
Pemrograman Dasar
Brawijaya University
2013
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
Halaman30dari 32
Pemrograman Dasar
Brawijaya University
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; } } }
Halaman31dari 32
2013
Pemrograman Dasar
Brawijaya University
2013
LATIHAN SOAL PERTAMA Buat program untuk menginput nilai IPK mahasiswa dan berikan penilaian :
Title
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 !
Halaman32dari 32