Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk,...
-
Upload
truongthien -
Category
Documents
-
view
254 -
download
1
Transcript of PEMROGRAMAN DASAR Operasi Input · ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk,...
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)
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();
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);
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
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
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)
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
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.
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
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);
}
}
Halaman11dari 32
2013 Brawijaya University Pemrograman Dasar
Outputnya:
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.
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)
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
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;
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;
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
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).
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;
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
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?
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 ?
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)
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;
……
}
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:
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.
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;
Halaman28dari 32
2013 Brawijaya University Pemrograman Dasar
Contoh pernyataan IF-Else:
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.
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
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;
}
}
}
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 !