LAPORAN
MODUL 2PRAKTIKUM DASAR PEMOGRAMAN
Disusun oleh :
Mar’atul Farikhah
135623037
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI D3 MANAJEMEN INFORMATIKA B
UNIVERSITAS NEGERI SURABAYA
2013
A.
Dasar
Teori
-
Netbeans
Netbeans
merupakan sebuah aplikasi Integrated Development
Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di
atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi
desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux,
Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di
integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic
User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu
debugger.
Netbeans juga digunakan oleh sang programmer untuk menulis,
meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis
dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa
pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise, web, and mobile
applications dengan Java language, C/C++, dan bahkan dynamic languages seperti
PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan
pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100
mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka
NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun
netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform
Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk
menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga
menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan
pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
Fitur-fitur dari Platform Netbeans antara lain:
* Manajemen antarmuka (misal: menu & toolbar)
* Manajemen pengaturan pengguna
* Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
* Manajemen jendela
* Wizard framework (mendukung dialog langkah demi langkah)
* Manajemen pengaturan pengguna
* Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
* Manajemen jendela
* Wizard framework (mendukung dialog langkah demi langkah)
Netbeans IDE merupakan sebuah IDE open source yang ditulis
sepenuhnya dengan bahasa pemrograman java menggunakan platform netbeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java
(J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek
berbasis Ant, kontrol versi, dan refactoring
Fitur fitur yang terdapat dalam netbeans antara lain:
1. Smart Code Completion: untuk mengusulkan nama
variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter
dari sebuah method.
2. Bookmarking: fitur yang digunakan untuk
menandai baris yang suatu saat hendak kita modifikasi.
3. Go to commands: fitur yang digunakan untuk
jump ke deklarasi variabel, source code atau file yang ada pada project yang
sama.
4. Code generator: jika kita menggunakan fitur
ini kita dapat meng-generate constructor, setter and getter method dan yang
lainnya.
5. Error stripe: fitur yang akan menandai baris
yang eror dengan memberi highlight merah.
-
Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment)
untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).
Berikut ini adalah sifat dari Eclipse:
·
Multi-platform: Target sistem
operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS
X.
·
Mulit-language: Eclipse
dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung
pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP dan lain sebagainya.
·
Multi-role: Selain
sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk
aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test
perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE
favorit dikarenakan gratis dan open source, yang berarti setiap orang
boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari
Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan
oleh pengguna dengan komponen yang dinamakan plug-in.
-
Penulisan Program di Java, Input, Output
Adapun cara penulisan program dalam java diantaranya adalah:
1. Harus disimpan berekstensi *.java
2. Nama file harus sama dengan nama class public, misalnya nama filenya myHello.java, maka nama class public juga harus myHello
Contoh:
public class myHello {
//harus sama dengan nama file (myHello.java)
}
3. Comment sebaiknya sebaiknya ditulis untuk menjelaskan sebuah class atau method. Comment ditulis untuk tujuan dokumentasi.
Contoh:
public static void main(String[]args){
//untuk menampilkan kata myfirs java
System.out.println(“Hello this is my first java”);
}
4. Java statement adalah suatu baris yang diakhiri dengan titik koma.
Contoh:
System.out.println(“Hello this is my first java”);
5. Block adalah satu atau beberapa statement yang berada diantara tanda kurung kurawal { dan diakhiri dengan kurung kurawal }.
Contoh:
public static void main(String[]args){
System.out.println(“Hello this is my first java”);
System.out.println(“Java is very good”);
}
1. Harus disimpan berekstensi *.java
2. Nama file harus sama dengan nama class public, misalnya nama filenya myHello.java, maka nama class public juga harus myHello
Contoh:
public class myHello {
//harus sama dengan nama file (myHello.java)
}
3. Comment sebaiknya sebaiknya ditulis untuk menjelaskan sebuah class atau method. Comment ditulis untuk tujuan dokumentasi.
Contoh:
public static void main(String[]args){
//untuk menampilkan kata myfirs java
System.out.println(“Hello this is my first java”);
}
4. Java statement adalah suatu baris yang diakhiri dengan titik koma.
Contoh:
System.out.println(“Hello this is my first java”);
5. Block adalah satu atau beberapa statement yang berada diantara tanda kurung kurawal { dan diakhiri dengan kurung kurawal }.
Contoh:
public static void main(String[]args){
System.out.println(“Hello this is my first java”);
System.out.println(“Java is very good”);
}
-
Operator: Assigment, Matematika, Perbandingan, Logika
a.
OPERATOR ASSIGNMENT
Yang termasuk operator assignment (pemberian nilai) adalah
operator =.
Contoh :
my_var = 1234;
my_var
: nama dari suatu variabel
1234
: merupakan nilai yang akan diberikan ke variabel di sebelah kiri
tandatidak dibaca bahwa my_var sama dengan 1234, tetapi nilai 1234
diberikan ke variabel dengan nama my_varuntuk operator ini, operasi
dikerjakan dari arah kanan ke kirioperasi assignment ganda (multi-assignment)
dapat terjadi pada bahasa C, dan dikerjakan dari arah kanan ke arah kiri.
Contoh:
spock = ryker = kirk = 24;
Mula-mula kirkakan mendapat nilai 24, kemudian ryker akan
mendapat nilai dari kirk, dan terakhir spock akan mendapat nilai
dari ryker.
b.
OPERATOR ARITMATIKA
Yang termasuk operator
aritmatika adalah *, /, %, +, dan -.
Operasi pembagian pada
bilangan integer akan membulatkan pecahan pada hasilnya.
Operasi x % y
akan menghasilkan sisa bila x tidak habis dibagi dengan y, dan akan
menghasilkan 0 bila x habis dibagi dengan y.
Operator % tidak
dapat digunakan pada tipe data float atau double.
Kedudukan operator
binary+ dan - lebih rendah bila dibandingkan dengan operator *,
/, dan %.
1) OPERATOR PENAMBAHAN +
Akan
menjumlahkan nilai-nilai di sebelah kanan ke sebelah kiri dari tanda =.
Contoh :
x = 20 + 4;
income = salary + tax + bribes;
20, 4, salary, tax, dan bribes merupakan operand darioperator +
di atas.
Operator ini merupakan operator binary, karena memerlukan 2 buah operand
agar dapat menghasilkan suatu nilai.
2) OPERATOR PENGURANGAN -
Akan mengurangkan nilai-nilai di sebelah kanan ke sebelah kiri dari tanda =.
Contoh :
good = whole - bad;
z = 100 - 45 -30;
Operasi ini akan dijalankan
dari kiri ke kanan, sehingga urutannya :
z = (100 - 45) - 30;
z = 55
- 30;
z = 25;
Merupakan operator binary.
3) OPERATOR TANDA -
Operator tanda - digunakan untuk mengubah tanda / nilai aljabar dari
suatu nilai. Operator ini merupakan operator unary, karena hanya
memerlukan sebuah operand.
Contoh :
a = -4;
b = -a;
4) OPERATOR PERKALIAN *
Operator ini akan mengalikan nilai-nilai di sebelah kananke sebelah kiri
dari tanda =.
Operator ini merupakan operator
binary.
Contoh :
x = 20 * 5;
y = 3 * x;
5) OPERATOR PEMBAGIAN /
Operator ini akan membagi nilai di sebelah kiri tanda / dengan nilai
disebelah tanda / tersebut.
Pembagian dengan tipe floating-point akan menghasilkan jawaban bertipe floating-point.
Contoh :
x = 20.0 /
4;
(x sama dengan 5.0)
y = 100 /
5.0;
(y sama dengan 20.0);
z = 6.25e2 /
5;
(z sama dengan 125.0);
Pembagian dengan tipe integerakan menghasilkan jawaban bertipe integer
karena hasil fraksionalnya dibuang, proses ini disebut truncation.
Contoh :
5 / 4 akan menghasilkan jawaban 1
100 / 30 akan menghasilkan jawaban 3
c.
OPERATOR RELASI DAN
LOGIKA
Yang termasuk operator relasiadalah >, >=, <, dan
<=.
Operator-operator di atas mempunyai kedudukan yang sama, artinya
operator yang ditemukan pertama kali akan dikerjakan lebih dahulu.
Selain operator relasi, ada pula operator kesamaanyang
kedudukannya lebih rendah dibandingkan dengan operator relasi.
Operator kesamaan tersebut adalah == dan !=.
Operator relasi dan operator kesamaan mempunyai kedudukan yang lebih
rendah bila dibandingkan dengan operator aritmatika.
Dengan demikian, ekspresi i < limit - 1akan dianggap sebagai i
< (limit - 1).
Yang termasuk operator logika adalah operator && (AND)
dan || (OR). Ekspresi yang dihubungkan dengan operator logika
&& dan || akan dikerjakan dari arah kiri ke kanan, dan proses evaluasi
akan segera berhenti pada saat nilai true atau false
dari ekspresi tersebut diketahui.
Kedudukan operator && lebih tinggi daripada operator ||, dan
kedua operator logika tersebut kedudukannya lebih rendah dibandingkan dengan
operator relasi dan operator kesamaan.
Contoh :
Pada ekspresi i < limit - 1 && (c = getchar()) != '\n'
&& c != EOF tidak diperlukan lagi adanya kurung tambahan, karena
akan dianggap sebagai ( i < (limit - 1) ) && ( (c
= getchar()) != '\n' ) && ( c != EOF )Tanda kurung hanya diperlukan
pada (c = getchar()) != '\n', karena kedudukan operator kesamaan != lebih
tinggi dibandingkan dengan operator assignment =. Bila pada ekspresi tersebut,
nilai i tidak lebih kecil dari limit - 1, maka dua buah kondisi berikutnya, yaitu
(c = getchar()) != '\n' dan c != EOF tidak akan pernah dikerjakan, karena nilai
kondisi pertama sudah false, sehingga nilai ekspresi keseluruhan sudah
dapat diketahui. (catatan : untuk menghasilkan true dari
suatu ekspresi yang dihubungkan dengan operator AND (&&), maka
semua kondisi harus bernilai true pula).
Suatu ekspresi yang bernilai trueakan diberi nilai numerik 1,
dan ekspresi yang bernilai false akan diberi numerik 0.
Operator negasi !akan mengubah nilai
dari operand yang bukan nol menjadi nol, dan nilai operand nol menjadi 1.
Contoh penggunaan operator negasi yang bersifat unary ini adalah
:
if ( !valid )
Bentuk di atas lebih umum digunakan oleh programmer bahasa C bila
dibandingkan dengan bentuk if ( valid == 0 )
Tabel operator logika :
Operator
|
Fungsi
|
Keterangan
|
!
|
NOT
|
Pembalik / inverter
|
&&
|
AND
|
Salah satu salah
semua salah
|
||
|
OR
|
Salah satu benar
semua benar
|
-
Tingkatan Operator
Tabel pada halaman berikut akan memperlihatkan kedudukan dari setiap
operator terhadap operator lainnya, dan bagaimana arah pengeksekusian dari
suatu pernyataan yang mengandung operator tersebut
Operator
|
Evaluasi
|
( ) [ ] .
|
kiri ke kanan
|
! ~
++ -- + - * & (type) sizeof
|
kanan ke kiri
|
* / %
|
kiri ke kanan
|
+ -
|
kiri ke kanan
|
<<
>>
|
kiri ke kanan
|
<
<= > >=
|
kiri ke kanan
|
== !=
|
kiri ke kanan
|
&
|
kiri ke kanan
|
^
|
kiri ke kanan
|
|
|
kiri ke kanan
|
&&
|
kiri ke kanan
|
||
|
kiri ke kanan
|
? :
|
kanan ke kiri
|
= +=
-= *= /= %= &= ^= |=
<<= >>=
|
kanan ke kiri
|
,
|
kiri ke kanan
|
Sebagai contoh,
operator binary + dan - mempunyai kedudukan yang lebih tinggi dibandingkan
dengan operator !=, dan operator & mempunyai kedudukan yang lebih tinggi
dibandingkan dengan operator &&.
Catatan :
Operator unary +, -, dan * mempunyai kedudukan yang lebih tinggi
dibandingkan dengan bentuk binary-nya.
Kedudukan operator bitwise &, ^, dan | lebih rendah
dibandingkan dengan operator == dan !=. Dengan demikian, pernyataan
seperti :
if ( (x & MASK) == 0 ) ......
harus menggunakan tanda kurung seperti pada bentuk di atas agar memperoleh
hasil yang diinginkan.
-
Percabangan (if, if....else, if...elseif...., switch)
Percabangan,
atau sering disebut juga dengan istilah decision–making, memungkinkan aplikasi
untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan
mengambil tindakan yang sesuai. Ada dua jenis percabangan, dipilih berdasarkan
kriteria pemeriksaan dan jumlah pilihan yang tersedia.
if – else
Konstruksi
if – else dapat dijelaskan sebagai berikut :
if(condition){
//
statement 1 goes here
}else{
//
statemant 2 goes here
}
// statement 3 goes here
Aliran
program pada contoh diatas :
- Condition akan diperiksa
- Bila bernilai true, statement 1 akan dijalankan
- Bila bernilai false, statement 2 akan dijalankan
- Statement 3 dijalankan
if – elseif – else
Untuk
pilihan yang lebih dari dua, PHP menyediakan konstruksi if – elseif – else.
if(condition1){
//
statement 1
}elseif(condition2){
//
statement 2
}else{
//
statement 3
}
// statement 4
Ada 3
kemungkinan aliran program pada contoh diatas :
Apabila
condition 1 bernilai true
- Statement 1 dijalankan
- Statement 4 dijalankan
Apabila
condition 1 bernilai false, dan condition 2 bernilai true :
- Statement 2 dijalankan
- Statement 4 dijalankan
Apabila
condition 1 dan condition 2 bernilai false :
- Statement 3 dijalankan
- Statement 4 dijalankan
Berikut ini
adalah Contoh penggunaan if–else. Silahkan membuat dua file, control_flow.html
dan condition.php, control_flow.html mempunyai tampilan sebagai berikut :
condition.php
berisi listing kode sebagai berikut :
<?
$kelabu = "#303030";
$putih = "#FFFFFF";
if($kelamin1 == "Pria"){
$background1 = $kelabu;
}else{
$background1
= $putih;
}
if($kelamin2 == "Pria"){
$background2
= $kelabu;
}else{
$background2 = $putih;
}
if($kelamin3 == "Pria"){
$background3 = $kelabu;
}else{
$background3 = $putih;
}
if($kelamin4 == "Pria"){
$background4 = $kelabu;
}else{
$background4 = $putih;
}
$output = "
<table border=1>
<tr>
<td
background=$background1>$nama1</td>
</tr>
<tr>
<td
background=$background2>$nama2</td>
</tr>
<tr>
<td
background=$background3>$nama3</td>
</tr>
<tr>
<td
background=$background4>$nama4</td>
</tr>
</table>
";
echo($output);
?>
switch – case
konstruksi
untuk modul switch–case dapat dilihat pada kode sebagai berikut :
switch(a){
case 1;
// statement 1 goes here
break;
case 2;
//
statement 2 goes here
break;
case 3;
//
statement 3 goes here
break;
default;
//
statement 4 goes here
break;
}
// statement 5 goes here
Aliran
program dari kode switch – case diatas adalah sebagai berikut:
- Variabel a diperiksa
- Statement dieksekusi
- Apabila a == 1, statement 1 dijalankan
- Apabila a == 2, statement 2 dijalankan
- Apabila a == 3, statement 3 dijalankan
- Apabila a tidak memenuhi 2a – 2c, statement 4 dijalankan
- Statement 5 dijalankan
Keyword
break memegang peranan penting di sini. Fungsinya adalah mencegah fall–through,
bandingkan dengan program berikut (break di case ke 1 dihilangkan)
switch(a){
case 1;
// statement 1 goes here
case 2;
// statement 2 goes here
break;
case 3;
// statement 3 goes here
break;
default;
// statement 4 goes here
break;
}
Aliran
program untuk script di atas adalah sebagai berikut
- variabel a diperiksa
- Selanjutanya PHP akan mengeksekusi case 1 dan 2, karena pada case 1 break di hilangkan
- Apabila a == 1, statement 1 dijalankan, kemudian menjalankan statement 2.
- Apabila a == 2, statement 2 dijalankan
- Apabila a == 3, statement 3 dijalankan
- Apabila a tidak memenuhi 2a – 2c, statement 4 dijalankan
- Statement 5 dijalankan
Untuk
melihat contoh penggunaan switch – case, tambahkan tampilan pada
control_flow.htm menjadi seperti gambar di bawah.
<?
switch($bulan){
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
$hari = 31;
break;
case 4 :
case 6 :
case 8 :
case 11 :
$hari = 30;
break;
case 2 :
if(($tahun%4) == 0){
$hari = 29;
}else{
$hari = 28;
}
}
echo("<h2> Jumlah hari
pada bulan $bulan tahun $tahun = $hari hari</h2>");
?>
B.
Soal
Praktikum
1.
Tuliskan
algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika
diketahui diketahui panjang dua sisi yang membentuk sudut siku-siku.
Petunjuk: sisi
miring segitiga siku-siku dapat dihitung dengan rumus pythagoras,
1.1 Algoritma
untuk mencari sisi miring dari suatu segitiga siku-siku
Algoritma
:
a) Input
a, dimisalkan 2
b) Input
b, dimisalkan 3
c) Proses
d) Tampilkan
hasil (c)
e) Print
f) Selesai
2.
Tuliskan
algoritma untuk menampilkan banyaknya pecahan uang paling efisien dari sejumlah
uang yang di inputkan oleh pengguna.
Pecahan uang yang digunakan: 100.000, 50.000, 20.000, 10.000,
5.000, 2.000, 1.000, 500, 200, dan 100.
Contoh,
untuk uang Rp 12.500, diperlukan 1 lembar 10.000, 1 lembar 2.000, dan 1 koin
500.
Input : jumlah uang
Output : banyaknya
pecahan uang
1.2
Algoritma untuk
menampilkan banyaknya pecahan uang paling efisien
Algoritma :
a) menentukan
input (uang), dimisalkan uang berjumlah Rp 125.500
b) hitung
pecahan 100.000 : =1
c) hitung
pecahan 50.000 : =0
d) hitung
pecahan 20.000 : =1
e) hitung
pecahan 10.000 : =0
f) hitung
pecahan 5.000 : =1
g) hitung
pecahan 2.000 : =0
h) hitung
pecahan 1.000 :=0
i)
hitung pecahan 500 :=1
k) hitung
pecahan 100 :=0
l)
Tampilkan hasil
(1010100100)
m) Print
n) Selesai
3.
Buat
algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner.
Input : bilangan
desimal
Output : bilangan biner
Ilustrasi:
1.3 Algoritma
untuk mengkonversi bilangan dalam format desimal menjadi biner
Algoritma :
a) input
desimal, dimisalkan desimal 4510
b) Proses bagi
dua ambil sisa pembagian
45 10
=
45 : 2 = 22 +
sisa 1
22 : 2 = 11 +
sisa 0
11 : 2 = 5
+ sisa 1
5 : 2
= 2 + sisa 1
2 :
2 = 1 + sisa 0
c)
Tampilkan hasil 011012 (ditulis
dr bawah ke atas)
d)
Print
e)
Selesai
4. Untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh
bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan
menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus
sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun
dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan
berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf
yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000
jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang
dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya
kurang dari 50 tahun akan mendapat bonus Rp. 300.000.
Buat algoritmanya?
1.4
Algoritma untuk bonus
pegawai
Algoritma :
a) Input
Select Case StatusPegawai
b) Input
Case StatusStaff
c) If
MasaKerja >= 5 Then
d) If
Umur >= 50 Then
e) Bonus
= 1000000
f) Else
g) Bonus
= 300000
h) End
If
i)
Else
j)
Bonus = 500000
k) End
IF
l)
Case Else
m) If
MasaKerja >= 5 Then
n) If
Umur >= 50 Then
o) Bonus
= 400000
p) Else
q) Bonus
= 250000
r) End
If
s) Else
t) Bonus
= 250000
u) End
IF
v) End
Select
5.
Tarif
pemasangan iklan baris di sebuah Surat Kabar ditentukan sebagai berikut :
-
Hari : Minggu, Senin, Selasa, Rabu, Kamis dan
Jumat, per baris Rp. 33.000,-
-
Hari : Sabtu, per baris Rp. 40.000,-
Buatlah
algoritma untuk menghitung total biaya iklan baris yang harus dibayar oleh
pengiklan.
Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis,
Jumat atau Sabtu)
- Jumlah baris yang dipakai
Output : Total
biaya iklan yang harus dibayar pengiklan
Tuliskan
algoritma untuk kasus diatas dalam bentuk flowchart.
1.5
Algoritma untuk
menghitung total biaya iklan baris yang harus dibayar oleh pengiklan
Algoritma :
a) Input
Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris
b) Input
Hari Sabtu Rp 40.000/ baris
c) Input
jml baris minggu s/d jum’at = 50
Input jml baris,
Hari Sabtu =12
d) Proses,
Jika Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris
Jika Hari Sabtu Rp 40.000/ baris
e) Harga*jml
baris
f) Tampilkan
hasil
g) Print
h)
Selesai
6.
Info
Harga Tiket Masuk bioskop Surabaya City adalah sebagai berikut :
-
Senin
– Kamis : Rp 15.000,-
-
Jumat
s/d Minggu : Rp 35.000,-
-
Hari
Libur : Rp 35.000,-
Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis,
Jumat atau Sabtu)
- Libur atau Tidak Libur
- Jumlah tiket yang dibeli
Output : Total biaya tiket
Pertanyaan: Buat algoritma untuk menghitung total biaya tiket .
1.6
Algoritma untuk
menghitung total biaya tiket .
a) Input
Hari Senin, Selasa, Rabu, Kamis Rp 15.000
b) Input
Hari Jum’at, sabtu, mingggu, Libur Rp 35.000
c) Input
Jumlah tiket yang dibeli,
Dimisalkan juml.tiket Hari Senin,
Selasa, Rabu, Kamis = 20
Dimisalkan juml.tiket Hari Jum’at,
sabtu, mingggu, Libur = 15
d) Proses,
jika Hari Senin, Selasa, Rabu, Kamis Rp 15.000* juml.tiket Hari Senin, Selasa,
Rabu, Kamis (20)
Jika Hari Jum’at, sabtu, mingggu, Libur
Rp 35.000* juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15
e) Tampilkan
hasil (1125000)
f) Print
g) Selesai
7.
Di
sebuah perbelanjaan di Surabaya diadakan Pekan Diskon, dimana perhitungan bonus
dihitung bertingkat untuk total belanja senilai :
-
Rp.
150.000,- diskonnya
: 10%
-
Rp.
275.000,- diskonnya
: 15%
-
Rp.
300.000,- diskonnya
: 20%
-
Rp.
400.000,- ke atas diskonnya : 25%
Diskon
tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.
Buatlah
algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan
dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
Input : Total nilai belanja.
Output : Nilai Diskon
(dalam rupiah/bukan persen), Nilai yang harus dibayar
1.7
Algoritma untuk
menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai
belanja tertentu bila disertakan pula perhitungan diskonnya. Ketentuan : Diskon
tidak dihitung sebagai akumulasi dari diskon nilai belanja dibawahnya.
Algoritma :
a) Input
Total nilai belanja
b) Subtotal,
jml* harga barang
c) Proses,
Jika Rp. 150.000,- ke atas diskonnya : 10%,
Jika Rp. 275.000,- ke
atas diskonnya : 15%,
Jika Rp. 300.000,- ke
atas diskonnya : 20%,
Jika Rp. 400.000,- ke atas diskonnya : 25%
d) Hitung
total bayar subtotal- potongan
e) Tampilkan
total bayar
f) Print
g) Selesai
8. Berikut ini adalah ketentuan untuk menghitung nilai, dan konversi
menjadi nilai huruf.
Ketentuannya:
Nilai=((rata-rata
tugas*30%)+(UTC*30%)+(UAC*40%))
Input = tugas1,tugas2,tugas3,UTC,UAC
Output = Nilai Akhir dan Nilai Huruf.
‘A’ jika
nilai > 80 dan nilai <= 100
‘AB’ jika nilai > 70 dan nilai <= 80
‘B’ jika nilai > 65 dan nilai <= 70
‘BC’ jika nilai > 60 dan nilai <= 65
‘C’ jika nilai > 55 dan nilai <= 60
‘AB’ jika nilai > 70 dan nilai <= 80
‘B’ jika nilai > 65 dan nilai <= 70
‘BC’ jika nilai > 60 dan nilai <= 65
‘C’ jika nilai > 55 dan nilai <= 60
’D’ jika
nilai > 40 dan nilai <= 55
’E’ jika
nilai > 0 dan nilai <= 40
1.8
Algoritma nilai
Algoritma :
a) Masukkan
5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC)
b) Hitung
nilai rata - rata tugas = nilai
tugas1+tugas2+tugas3 / 3.
c) Lalu
hitung semua nilai : Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
d) Seleksi
nilai akhir.
e) Jika
nilai akhir :
> 80 dan <=100
maka nilai huruf = A
> 70 dan <=80
maka nilai huruf = AB
> 65 dan <=70 maka nilai huruf = B
> 60 dan <=65 maka nilai huruf = BC
> 55 dan <=60
maka nilai huruf = C
> 40 dan <=55
maka nilai huruf = D
> 0 dan <=40 maka
nilai huruf = E
f) Output
: hasil nilai akhir dan hasil seleksi nilai huruf
9.
Berikut
ini adalah tarif pemakaian Air PDAM Kota Surabaya
Jumlah
Pemakaian (m3) Harga/m3
Pemakaian
I ( <
50 m3) Rp. 200,-
Pemakaian II ( 51 –
150 ) Rp. 500,-
Pemakaian III ( 151 – 300 ) Rp. 1.000,-
Pemakaian I V ( > 300 m3 ) Rp. 1.500,-
Input : Jumlah Pemakaian
Output : Besar
biaya yang harus dibayar
Jumlah Pemakaian = 500 m3
Pemakaian I (
s/d 50 m3) Rp.
200,- * 50 = Rp.
10.000,-
Pemakaian II ( 51 –
150 ) Rp. 500,- * 100 = Rp. 50.000,-
Pemakaian III ( 151 – 300 ) Rp. 1.000,- * 150 = Rp. 150.000,-
Pemakaian IV ( >
300 m3 ) Rp. 1.500,- * 200 = Rp. 300.000,-
Biaya
Total Rp.
510.000,-
Pertanyaan:
Buat algoritma untuk kasus diatas.
1.9
Algoritma tarif
pemakaian Air PDAM Kota Surabaya
a) Masukkan
Jumlah Pemakaian Air.
b)
Hitung jumlah
nilai/pemakaian yang dimasukkan :
1) Seleksi jika pemakaian < 0, maka Biaya
total = Jumlah * 0.
2) Seleksi jika pemakaian <= 50, maka Biaya
total = Jumlah * 200
3)
Seleksi jika pemakaian <= 150, maka Biaya total = ((50 * 200) + ((jumlah - 50)
* 500))
4)
Seleksi jika pemakaian <= 300, maka Biaya Total = ((50 * 200) + (100 * 500)
+ ((jumlah - 150) * 1000)).
5) Seleksi jika pemakaian > 300, maka Biaya
Total = ((50 * 200) + (100 * 500) + (150 * 1000) + ((jumlah - 300) * 1500))
c.
Output : Biaya Total
10.
Sebuah
perusahaan kartu kredit memberikan cash back kepada nasabahnya berdasarkan
jumlah nilai pemakaian kartu kredit selama sebulan.
Nilai pemakaian
cash back
---------------------
----------
s.d 1.000.000 5%
1.000.000 – 10.000.000 6%
10.000.000 – 25.000.000 7%
Diatas 25.000.000 8%
Ilustrasi:
seorang nasabah yang total pemakaian selama sebulan 18.000.000, maka cash
backnya= 5%x1.000.000+6%x9.000.000+7%x8.000.000 = 160.000
Buat algoritma untuk menghitung cash back yang diterima nasabah
berdasarkan nilai pemakaian kartu kredit.
1.10
Algoritma untuk
menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu
kredit.
Algoritma :
a) Ambil
input user untuk memasukkan jumlah pemakaian Kartu Kredit
1) Masukkan ke variabel
string pemakaian
2) Jika panjang inputan
string pemakaian lebih dari 0, atau dengan kata lain
b) user
telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan
nama variabel
c) int
jml_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan,
pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000.
d) Memberikan
nilai pada variabel pemakaian1 dengan,pemakaian1= e. jml_pemakaian.
e) Atau
jika nilai pada variabel jml_pemakaian > 1.000.000, dan nilaipada variabel
jml_pemakaian <= 10.000.000
f) Memberikan
nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000
g) Memberikan
nilai pada variabel pemakaian2 dengan,pemakaian2= jml_pemakaian – 1.000.000
atau jika nilai pada variabel jml_pemakaian > 10.000.000, dan nilai pada
variabel jml_pemakaian <= 25.000.000
h) Memberikan
nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
i)
Memberikan nilai pada
variabel pemakaian3 dengan,pemakaian3= jml_pemakaian – 25.000.000.Atau jika
nilai pada variabel jml_pemakaian > 25.000.000
j)
Memberikan nilai pada
variabel pemakaian2 dengan,pemakaian2= 10.000.000
k) Memberikan
nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000
l)
Memberikan nilai pada
variabel pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000
m) Memberikan
nilai pada variabel cash_back_total dengan,cash_back_total=
(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10)
n) Cetak
output dengan format, "Seorang nasabah yang total selama sebulan
"+jml_pemakaian+", maka total cash
backnya="+cash_back_total.Atau Jika panjang inputan tidak lebih dari 0,
atau dengan kata lain user belum menginputkan value
o) Cetak
output “Ada salah satu masukan yang kosong”
p) Stop
proses
C.
Flowchart
atau psoudocode dari masing-masing soal
a. Flowchart
untuk mencari sisi miring dari suatu segitiga siku-siku
b. Flowchart
untuk menampilkan banyaknya pecahan uang paling efisien
c. Flowchart
untuk mengkonversi bilangan dalam format desimal menjadi biner
d. Flowchart
untuk bonus pegawai
e. Flowchart
untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan
f. Flowchart
Algoritma untuk menghitung total biaya tiket .
g. Flowchart
untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total
nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
h. Flowchart
nilai
|
i.
Flowchart tarif
pemakaian Air PDAM Kota Surabaya
j.
Flowchart untuk
menghitung cash back yang diterima nasabah berdasarkan nilai pemakaian kartu
kredit.
D.
Kode
Sumber (Source Code) beserta Outputnya
SOAL NO.1
package tgas2;
import java.util.*;
/**
*
* @author Jauhar
*/
public class num1 {
public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner(System.in);
int sisi1,sisi2,c;
System.out.println("Mengitung Panjang sisi miring Segitiga siku-
siku");
System.out.print("Masukan Nilai Sisi 1 : ");
sisi1 = masuk.nextInt();
System.out.print("Masukan Nilai Sisi 2 : ");
sisi2 = masuk.nextInt();
c=((sisi1*sisi1)+(sisi2*sisi2));
System.out.println("Panjang sisi miring segitiga siku-siku adalah
= "+(Math.sqrt(c)));
}
}
Output
Menghitung panjang sisi miring segitiga siku-siku
Masukan nilai sisi 1 = 3
Masukan nilai sisi 2 = 4
Panjang sisi miring segitiga siku-siku adalah 5
package tgas2;
import java.util.*;
/**
*
* @author Jauhar
*/
public class num1 {
public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner(System.in);
int sisi1,sisi2,c;
System.out.println("Mengitung Panjang sisi miring Segitiga siku-
siku");
System.out.print("Masukan Nilai Sisi 1 : ");
sisi1 = masuk.nextInt();
System.out.print("Masukan Nilai Sisi 2 : ");
sisi2 = masuk.nextInt();
c=((sisi1*sisi1)+(sisi2*sisi2));
System.out.println("Panjang sisi miring segitiga siku-siku adalah
= "+(Math.sqrt(c)));
}
}
Output
Menghitung panjang sisi miring segitiga siku-siku
Masukan nilai sisi 1 = 3
Masukan nilai sisi 2 = 4
Panjang sisi miring segitiga siku-siku adalah 5
SOAL NO.2
package tgas2;
import java.util.*;
/**
*
* @author Jauhar
*/
public class num2 {
public static void main(String[] args) {
// TODO code application logic here
long bil1, uang;
do
{
//inputan dari keyboard
System.out.print("masukkan Jumlah uang = ");
Scanner obj = new Scanner(System.in);
uang = obj.nextLong();
if (uang<100)
{
System.out.println("Maaf, tidak ada nominal uang "+
"sebesar "+uang+" rupiah");
continue;
}
else {
if (uang >= 100000) {
bil1 = uang / 100000;
System.out.println("Diperlukan " + bil1 +" lembar 100000");
}
uang = uang % 100000;
if ((uang >= 50000) && (uang <100000))
{
bil1 = uang / 50000;
System.out.println("Diperlukan " + bil1 +" lembar 50000");
}
// antara 20000-50000
System.out.println("Diperlukan " + bil1 +" lembar 50000");
uang = uang % 50000;
if ((uang >= 20000) && (uang <50000))
{
bil1 = uang / 20000;
System.out.println("Diperlukan " + bil1 +" lembar 20000");
}
uang = uang % 20000;
if ((uang >= 10000) && (uang <20000))
{
bil1 = uang / 10000;
System.out.println("Diperlukan " + bil1 +" lembar 10000");
}
// antara 5000-10000
uang = uang % 10000;
if ((uang >= 5000) && (uang <10000))
{
bil1 = uang / 5000;
System.out.println("Diperlukan " + bil1 +" lembar 5000");
}
// antara 2000-5000
uang = uang % 5000;
if ((uang >= 2000) && (uang <5000))
{
bil1 = uang / 2000;
System.out.println("Diperlukan " + bil1 +" lembar 2000");
}
if ((uang >= 1000) && (uang <2000))
bil1 = uang / 1000;
System.out.println("Diperlukan " + bil1 +" lembar 1000");
uang = uang % 2000;
if ((uang >= 1000) && (uang <2000))
{
bil1 = uang / 1000;
System.out.println("Diperlukan " + bil1 +" lembar 1000");
uang = uang % 1000;
if ((uang >= 500) && (uang <1000))
bil1 = uang / 500;
System.out.println("Diperlukan " + bil1 +" koin 500");
uang = uang % 500;
if ((uang >= 200) && (uang <500))
bil1 = uang / 200;
System.out.println ("Diperlukan " + bil1 +" koin 200");
uang = uang % 200
if ((uang >= 100) && (uang <200))
{
bil1 = uang / 100;
System.out.println ("Diperlukan " + bil1 +" koin 200");
while(uang!=0)
output
masukan jumlsh uang = 5000
diperlukan 1 lembar 5000
SOAL NO.3
import java.util.*;
import java.io.*;
/**
*
* @author Jauhar
public class num3 {
*/
public class num3 {
public static void main(String[] args) {
int angka;
Scanner obj = new Scanner(System.in);
System.out.print('\n'+"Masukkan Bil Desimal: ");
angka = obj.nextInt();
DesToBin(angka);
}
static void DesToBin(int bil){
int mod=0,sisa=0, i=0; boolean loop=true; int[] zz = new int[1000];
sisa=bil;
while (loop==true){ sisa = bil%2; bil= bil/2;
zz[i]=sisa; i++;
if((bil==0)||(bil==1)){ loop=false; zz[i]=bil; }
} //Cetak Bilangan Biner
System.out.print("konversinya ke bil.Biner adalah "); for (int a=i; a>=0;a--){
System.out.print(zz[a]);
} System.out.print('\n');
}
}
Output
Masukan bilangan decimal 254
Konverensi bil. Biner adalah 11111110
SOAL NO.4
import java.io.*;
/**
*
* @author jauhar
*/
public class num4 {
public static void main(String[] args) {
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
String kerja= "";
String usia= "";
String pegawai= "";
try{
System.out.print("Masukkan Lama Kerja : ");
kerja = dataIn.readLine();
System.out.print("Masukkan Usia : ");
usia = dataIn.readLine();
System.out.print("staff atau non staff : ");
pegawai = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
int massa = Integer.parseInt(kerja);
int umur = Integer.parseInt(usia);
if ("staff".equals(pegawai) && (massa>=5) && (umur>=50)){
System.out.println("Bonus anda 1.000.000");
}
else if ("staff".equals(pegawai) && (massa<5)){
System.out.println("Bonus anda 500.000");
}
else if ("staff".equals(pegawai) && (umur < 50)){
System.out.println("Bonus anda 300.000");
}
else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){
System.out.println("Bonus anda 400.000");
}
else if ("non staff".equals(pegawai) && (massa<5)){
System.out.println("Bonus anda 250.000");
}
else if ("non staff".equals(pegawai) && (umur<50)){
System.out.println("Bonus anda 250.000");
}
else {
else if ("staff".equals(pegawai) && (massa<5)){
System.out.println("Bonus anda 500.000");
}
else if ("staff".equals(pegawai) && (umur < 50)){
System.out.println("Bonus anda 300.000");
}
else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){
System.out.println("Bonus anda 400.000");
}
else if ("non staff".equals(pegawai) && (massa<5)){
System.out.println("Bonus anda 250.000");
}
else if ("non staff".equals(pegawai) && (umur<50)){
System.out.println("Bonus anda 250.000");
}
else {
System.out.println("Maaf, format status pegawai anda salah. Contoh
= staff / non staff");
}
}
}
SOAL NO.5
package tgas2;
import java.io.*;
/**
*
* @author jauhar
*/
public class num5 {
public static void main(String[] args) {
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
String hari= "";
String baris= "";
try{
System.out.print("Masukkan Hari : ");
hari = dataIn.readLine();
System.out.print("Masukkan jumlah baris : ");
baris = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
int total = Integer.parseInt(baris);
if("Minggu".equals(hari) || "Senin".equals(hari) || "Selasa".equals(hari)
|| "Rabu".equals(hari) || "Kamis".equals(hari) || "Jumat".equals(hari)){
System.out.println("Total Biaya = "+total * 33000);
}
else if("Sabtu".equals(hari)){
System.out.println("Total Biaya = "+total * 40000);
}
else {
System.out.println("Maaf, format hari anda salah. Awali huruf kapital. Contoh
= Senin ");
}
}
}
SOAL NO.6
package tgas2;
import java.util.*;
/**
*
* @author jauhar
*/
public class num6 {
public static void main(String[] args) {
Scanner dino = new Scanner(System.in);
Scanner jumlah = new Scanner(System.in);
Scanner libur = new Scanner(System.in);
int tiket,hari,lib,a,b,c;
System.out.println("Harga tiket bioskop di Surabaya City");
System.out.println("- Senin – Kamis : Rp 15.000,-");
System.out.println("- Jumat s/d Minggu : Rp 35.000,-");
System.out.println("- Hari Libur : Rp 35.000,-");
System.out.println("\nINPUT");
System.out.println("1 = Senin | 2 = Selasa | 3 = Rabu");
System.out.println("4 = Kamis | 5 = Jumat | 6 = Sabtu | 7 = Minggu ");
System.out.println("8 = Hari Libur | 9 = Bukan Hari Libur");
System.out.print("\nMasukan Hari = ");
hari = dino.nextInt();
System.out.print("Jumlah Tiket = ");
tiket = jumlah.nextInt();
System.out.print("Apakah hari libur = ");
lib = libur.nextInt();
a = tiket * 15000;
b = tiket * 35000;
if (hari == 1 && lib != 8 || hari == 2 && lib != 8 || hari == 3 &&
lib != 8 || hari == 4 && lib != 8 )
{
System.out.println("Total yang harus dibayar adalah = "+a);
}
else if (hari == 1 && lib == 8 || hari == 2 && lib == 8 || hari == 3 &&
lib == 8 || hari == 4 && lib == 8){
System.out.println("Total yang harus dibayar adalah = "+b);
}
else if (hari == 5 || hari == 6 || hari == 7)
{
System.out.println("Total yang harus dibayar adalah = "+b);
}
}
}
SOAL NO.7
package tgas2;
import java.util.*;
/**
*
* @author jauhar
*/
public class NUM7 {
public static void main(String[] args) {
Scanner belanja = new Scanner(System.in);
double total,diskon,bayar;
System.out.print("Total Belanja : ");
total = belanja.nextInt();
if(total<150000){
diskon= total * 0;
bayar=total-diskon;
System.out.print("DisC = "+diskon);
System.out.print("\nYang harus dibayar = "+bayar);
}
else if(total<275000){
diskon= total * 0.20;
bayar=total-diskon;
System.out.print("DisC = "+diskon);
System.out.print("\nYang harus dibayar = "+bayar);
diskon= total * 0.20;
bayar=total-diskon;
System.out.print("DisC = "+diskon);
System.out.print("\nYang harus dibayar = "+bayar);
}
else {
diskon= total * 0.25;
bayar=total-diskon;
System.out.print("DisC = "+diskon);
System.out.print("\nYang harus dibayar = "+bayar);
}
}
}
SOAL NO.8
package tgas2;
import java.util.*;
* @author jauhar
public class NUM8 {
public static void main(String[] args) {
Scanner tugas1 = new Scanner(System.in);
Scanner tugas2 = new Scanner(System.in);
Scanner tugas3 = new Scanner(System.in);
Scanner yutc = new Scanner(System.in);
Scanner yuac = new Scanner(System.in);
int tgs1,tgs2,tgs3,utc,uac,rata;
double nilai;
System.out.print("\nMasukkan Nilai Tugas 1 = ");
tgs1 = tugas1.nextInt();
System.out.print("Masukkan Nilai Tugas 2 = ");
tgs2 = tugas2.nextInt();
System.out.print("Masukkan Nilai Tugas 3 = ");
tgs3 = tugas3.nextInt();
System.out.print("Masukkan Nilai UTC = ");
utc = yutc.nextInt();
System.out.print("Masukkan Nilai UAC = ");
uac = yuac.nextInt();
rata = (tgs1+tgs2+tgs3)/3;
nilai=((rata*0.3)+(utc*0.3)+(uac*0.4));
if (nilai > 80 && nilai <=100){
System.out.println("Nilai anda adalah A");
else if (nilai > 70 && nilai <=80){
System.out.println("Nilai anda adalah AB");
}
else if (nilai > 65 && nilai <=70){
System.out.println("Nilai anda adalah B");
}
else if (nilai > 60 && nilai <=65){
System.out.println("Nilai anda adalah BC");
}
else if (nilai > 55 && nilai <=60){
System.out.println("Nilai anda adalah C");
}
else if (nilai > 60 && nilai <=65){
System.out.println("Nilai anda adalah BC");
}
else if (nilai > 55 && nilai <=60){
System.out.println("Nilai anda adalah C");
}
else if (nilai > 40 && nilai <=50){
System.out.println("Nilai anda adalah D");
}
else if (nilai > 0 && nilai <=40){
System.out.println("Nilai anda adalah E");
}
SOAL NO.9
package tgas2;
import java.util.*;
* @author jauhar
public class NUM8 {
public static void main(String[] args) {
Scanner tugas1 = new Scanner(System.in);
Scanner tugas2 = new Scanner(System.in);
Scanner tugas3 = new Scanner(System.in);
Scanner yutc = new Scanner(System.in);
Scanner yuac = new Scanner(System.in);
int tgs1,tgs2,tgs3,utc,uac,rata;
double nilai;
System.out.print("\nMasukkan Nilai Tugas 1 = ");
tgs1 = tugas1.nextInt();
System.out.print("Masukkan Nilai Tugas 2 = ");
tgs2 = tugas2.nextInt();
System.out.print("Masukkan Nilai Tugas 3 = ");
tgs3 = tugas3.nextInt();
System.out.print("Masukkan Nilai UTC = ");
utc = yutc.nextInt();
System.out.print("Masukkan Nilai UAC = ");
uac = yuac.nextInt();
rata = (tgs1+tgs2+tgs3)/3;
nilai=((rata*0.3)+(utc*0.3)+(uac*0.4));
if (nilai > 80 && nilai <=100){
System.out.println("Nilai anda adalah A");
else if (nilai > 70 && nilai <=80){
System.out.println("Nilai anda adalah AB");
}
else if (nilai > 65 && nilai <=70){
System.out.println("Nilai anda adalah B");
}
else if (nilai > 60 && nilai <=65){
System.out.println("Nilai anda adalah BC");
}
else if (nilai > 55 && nilai <=60){
System.out.println("Nilai anda adalah C");
}
else if (nilai > 60 && nilai <=65){
System.out.println("Nilai anda adalah BC");
}
else if (nilai > 55 && nilai <=60){
System.out.println("Nilai anda adalah C");
}
else if (nilai > 40 && nilai <=50){
System.out.println("Nilai anda adalah D");
}
else if (nilai > 0 && nilai <=40){
System.out.println("Nilai anda adalah E");
}
SOAL NO.10
package tgas2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
/**
*
* @author jauhar
*/
public class NUM10 {
public static void main(String[] args) {
// TODO code application logic here
String str_pemakaian ="";
//int pemakaian = Integer.parseInt(str_pemakaian);
int pemakaian1=0;
int pemakaian2=0;
int pemakaian3=0;
int pemakaian4=0;
int cash_back_total=0;
BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in)
);
System.out.print("Masukkan jumlah pemakaian Kartu
Kredit : "+str_pemakaian+"");
try{
str_pemakaian = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
if(str_pemakaian.length()>0){
int jml_pemakaian = Integer.parseInt(str_pemakaian);
pemakaian1=1000000;
if(jml_pemakaian<=1000000){
pemakaian1=jml_pemakaian;
}
else if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){
pemakaian1=1000000;
pemakaian2=jml_pemakaian-1000000;
}
else if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){
pemakaian2=10000000;
}
else if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){
pemakaian1=1000000;
pemakaian2=jml_pemakaian-1000000;
}
else if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){
pemakaian2=10000000;
pemakaian3=jml_pemakaian-25000000;
}
else if(jml_pemakaian>25000000){
pemakaian2=10000000;
pemakaian3=25000000;
pemakaian4=jml_pemakaian-25000000;
}
cash_back_total = (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/
100)+(pemakaian4*8/100);DecimalFormat df = (DecimalFormat)
DecimalFormat.getCurrencyInstance();
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setCurrencySymbol("");
dfs.setMonetaryDecimalSeparator(',');
dfs.setGroupingSeparator('.');
df.setDecimalFormatSymbols(dfs);
String jumlah_pemakaian = "Rp. " + df.format(jml_pemakaian);
String hsl_biaya_total = "Rp. " + df.format(cash_back_total);
System.out.println("Seorang nasabah yang total selama
sebulan "+jumlah_pemakaian+", maka total cash backnya= "+hsl_biaya_total);
}
else{
System.out.println("\nAda salah satu masukan yang kosong!");
return;
}
}
}
E.
Referensi
http://Control%20Flow%20dalam%20PHP%20%28if%20-%20else,%20if%20-%20elseif%20-%20else,%20switch%20-%20case,%20for,%20while,%20break,%20continue,%20return,%20exit%29%20_%20W3function.com%20-%20Indonesian%20Web%20Design%20and%20Development%20Studio.htm
Tidak ada komentar:
Posting Komentar