Senin, 04 November 2013
Minggu, 03 November 2013
Sabtu, 02 November 2013
MODUL 2 _ DASPROG
TUGAS
MODUL II
DASAR
PEMROGRAMAN
Di
Susun Oleh :
Nur
Arindah .R. Tyas
NIM : 135623078
D3
MANAJEMEN INFORMATIKA
TEKNIK
ELEKTRO – FAKULTAS TEKNIK
UNIVERSITAS
NEGERI SURABAYA
2013
A. NETBEANS
dan ECLIPSE
Netbeans
Netbeans merupakan sebuah aplikasi
Integrated Development Environment (IDE) yang berbasiskan Java dari Sun
Microsystems yang berjalan di atas swing. 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.
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 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.
Sejarah
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM Visual Age for Java 4.0. Produk ini
diluncurkan oleh IBM pada tanggal 5 November 2001, yang menginvestasikan
sebanyak US$ 40 juta[1] untuk pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut
dan pengaturan organisasinya.
Arsitektur
Sejak versi 3.0, Eclipse pada dasarnya
merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse
sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse
yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:
·
Core platform
·
Eclipse Workbench
Secara standar Eclipse selalu dilengkapi
dengan JDT (Java Development Tools), plug-in yang membuat Eclipse
kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk
mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa
pemrograman Java.
Konsep Eclipse adalah IDE yang terbuka (open),
mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu
yang spesifik[2]. Jadi, Eclipse
tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk
berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan.
Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT(C/C++ Development
Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin
oleh Eclipse, plug-in UML2 tersedia untuk
membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan
keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by
project
B.
PENULISAN PROGRAM di JAVA , INPUT, dan OUTPUT
Menulis File java
import java.io.*;
class MenulisFile {
public static void main(String[]
args){
if(args.length==0) {
System.out.println("Anda harus
memasukkan nama file sebagai parameternya.");
return; }
String data;
FileWriter fout=null;
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in))
try{
fout = new FileWriter(args[0]);
System.out.println("Ketik data
yang ingin Anda tulis ke file.");
System.out.println("Ketik
BERHENTI jika Anda ingin berhenti.");
data = br.readLine();
while(!data.equals("BERHENTI")){
// \r\n digunakan untuk pindah baris
fout.write(data + "\r\n");
data = br.readLine();
}
}catch(FileNotFoundException e) {
System.out.println("File : "
+ args[0] + " tidak dapat dibuka atau dibuat.");
}catch(IOException e) {
System.out.println("Eksepsi tidak
diketahui : " + e);
}finally //tutup file
if(fout!=null) {
try{
fout.close();
}catch(IOException err) {
System.out.println("Eksepsi tidak
diketahui : " + err);
}
}
}
}
InputStream.java
import java.io.*;
class InputStream {
public static void main(String[] args)
throws IOException {
byte[] data = new byte[10];
System.out.print("Ketik 10 buah
karakter :");
System.in.read(data);
System.out.print("Karakter yang
Anda ketik yaitu : ");
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]); }
}
}
OutputStream.java
import java.io.*;
class OutputStream {
public static void main(String[] args)
throws IOException {
byte[] data =
{'a','b','c','d','e','f','g'};
System.out.write(data,3,4);
System.out.write('\n'); //pindah baris
System.out.write(data); //tulis semua
isi array data }
}
C. Operator:
Assignment, Matematika, Perbandingan, Logika
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika,
operator relasi,
operator logika, dan
operator kondisi. Operator ini mengikuti bermacam-macam
prioritas yang pasti
sehingga compilernya akan tahu yang mana operator untuk
dijalankan lebih dulu
dalam kasus beberapa operator yang dipakai bersama-sama
dalam satu
pernyataan.
Operator
Operator adalah sebuah simbol yang
memerintahkan komputer untuk melakukan suatu operasi / aksi terhadap satu atau
lebih operand.
Operand adalah sesuatu yang dioperasikan atau
operator. Untu mudahnya, mari kita lihat contoh 2 + 3. Simbol / tanda + adalah
operator, sedangkan 2 dan 3 adalah operand.
Operator + akan memerintahkan komputer untuk
melakukan operasi penambahan pada 2 dan 3.
Di dalam bahasa pemrograman terdapat beberapa macam operator yang
akan sering kalian gunakan, yaitu:
·
Assignment
Operator
·
Mathematical
Operator ( Unary & Binary )
·
Relational
Operator
·
Logical
Operator
·
Assignment
Operator ( = )
Bahasa Indonesia dari assignment adalah “ penugasan “. Tapi, saya
rasa arti kata ini akan membingungkan kalian. Oleh karena itu, saya akan
memberikan arti yang lainnya yang lebih cocok dengan apa yang di lakukan oleh
operato ini. Assignment operator (=) dapat di artikan dengan kata “diisi”. Mari
kita lihat contoh di bawah ini.
A=7; = Variable A diisi dengan 7
B=1+1; = Variable B diisi dengan hasil dari 1 + 1 yaitu
2
C = A + 1; = Variable C akan diisi dengan hasil dari isi
variable A ditambah I. jadi, jika variable
variable C akan diisi dengan hasil dari isi variable A
ditambah I. jadi, jika variable A adalah 7, maka C akan diisi dengan
B.
Operator
Assignment
Operator
Assignation digunakan untuk memberikan nilai ke suatu variabel.
contohnya :
a=5
Pernyataan di atas
berarti kita memberikan nilai integer 5 ke variabel a. Sisi kiri
operator disebut
lvalue (left value) dan sisi kanan disebut rvalue (right value).
lvalue harus selalu
berupa variabel dan rvalue atau sisi kanan dapat berupa
konstanta,
variabel, hasil dari suatu operasi atau kombinasi dari semuanya.
Aturan yang paling
penting pada assigning (operasi sama dengan) adalah aturan
kanan-ke-kiri:
Operasi assignment selalu terjadi dari kanan ke kiri, dan tidak
pernah sebaliknya.
a
= b
Pernyataan ini
memberikan arti variabel a (lvalue) di beri harga b (rvalue).
Contoh penerapannya
adalah:
a = 10; //berarti a
bernilai 10
b = 4; //berarti a
bernilai 10 dan b bernilai 4
a = b; //berarti a
bernilai 4 dan b bernilai 4. Ingat aturannya,
Kanan ke Kiri.
b = 7; //berarti a bernilai 4 dan b bernilai
7.
Operator Perbandingan
Operator
ini membuat anda bisa melakukan pembandingan apakah beberapa elemen sama,
identik, kurang dari atau lebih besar dari yang lain.
Contoh
|
Name
|
Result
|
$a == $b
|
Sama dengan
|
BENAR jika $ a sama
dengan $b.
|
$a === $b
|
Identik
|
BENAR jika $a sama dengan
$b, dan keduanya memiliki tipe yang sama.
|
$a != $b
|
Tidak sama dengan
|
BENAR jika $a tidak sama
dengan $b.
|
$a <> $b
|
Tidak sama dengan
|
BENAR jika $a tidak sama
dengan $b.
|
$a !== $b
|
Tidak identik
|
BENAR jika $a tidak sama
dengan $b, atau tidak memiliki tipe yang sama.
|
$a < $b
|
Kurang dari
|
BENAR jika $a kurang dari
$b.
|
$a > $b
|
Lebih besar dari
|
BENAR jika $a lebih besar
dari $b.
|
$a <= $b
|
Kurang dari atau sama dengan
|
BENAR jika $a kurang dari atau
sama dengan $b.
|
$a >= $b
|
Lebih besar dari atau sama dengan
|
BENAR jika $a lebih besar
dari atau sama dengan $b.
|
Kesalahan yang cukup
sering saya lakukan adalah menggunakan operator assignment (“=”) untuk
membandingkan, sehingga untuk mambandingkan apakah 2 variabel sama atau tidak
dalam sebuah percabangan saya tuliskan:
If ($a = $b)
Yang seharusnya
If ($a == $b)
Operator Logika
Di sini anda dapat
membandingkan elemen-elemen menggunakan pembandingan logika and dan or.
Contoh
|
Nama
|
Hasil
|
$a and $b
|
And
|
BENAR jika baik $a dan $b
keduanya BENAR.
|
$a or $b
|
Or
|
BENAR jika salah satu
dari $a atau $b BENAR.
|
$a xor $b
|
Xor
|
BENAR jika salah satu
dari $a atau $b BENAR,
tetapi tidak keduanya.
|
! $a
|
Not
|
BENAR jika $a tidak BENAR.
|
$a && $b
|
And
|
BENAR jika baik $a dan $b
keduanya BENAR.
|
$a || $b
|
Or
|
BENAR jika salah satu
dari $a atau $b BENAR.
|
Operator Aritmatika
Persis seperti namanya,
operator ini melakukan matematika dasar (artinya, kalau anda menginginkan
operasi matematika lainnya misalnya integral atau differensial ya harus bikin
sendiri, lagian siapa yang mau pake ya?)
Contoh
|
Nama
|
Hasil
|
$a + $b
|
Penjumlahan
|
Jumlah $a dan $b.
|
$a – $b
|
Pengurangan
|
Selisih $a dan $b.
|
$a * $b
|
Perkalian
|
Perkalian $a dan $b.
|
$a / $b
|
Pembagian
|
Pembagian $a dan $b.
|
$a % $b
|
Modulus
|
Sisa $a dibagi $b.
|
D.
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.
E. Percabangan Java if, else-if, if-else, switch
Percabangan adalah suatu pilihan atau opsi dengan kondisi
tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan
dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis
percabangan, if, if-else, else-if, dan juga switch. Keempat jenis ini memiliki
penggunaan masing-masing. Berikut penjelasan mengenai penggunaan tiap-tiap
percabangan :
·
if :
Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat
tertentu. Sintaks if seperti berikut :
if(kondisi){
pernyataan
}
Jika kondisi benar, maka pernyataan akan
dijalankan.
Contoh :
public class coba{
public static void main (String [] args){
int a=0;
if (a==0)
System.out.println("Nilai a
= 0");
if (a==1)
System.out.println("Nilai a
= 1");
}
}
Output : Program akan menampilkan nilai
a = 0 saja, karena pada if yang kedua, kondisi tidak memenuhi atau salah.
·
if else : Percabangan if
else digunakan saat kita memiliki dua
pernyataan dengan syarat tertentu. Sintaks if-else seperti berikut :
if(kondisi){
pernyataan1
}else{
pernyataan2
}
Jika hasil dari if benar, maka pernyataan1
yang dijalankan, sedangkan jika salah, pernyataan dua yang akan dijalankan.
Contoh :
public class coba{
public static void main (String [] args){
int a=0;
if (a==0)
System.out.println("Nilai a
= 0");
else
System.out.println("Nilai a
= 1");
}
}
Output : program akan menampilkan nilai a = 0, karena kondisi if
bernilai benar, jika pada inisialisasi nilai a tidak bernilai 0, maka program
akan menampilkan nilai a = 1.
·
else -if : percabangan yang digunakan saat kita
memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2).
Sintaks dari else-if seperti berikut :
if(kondisi){
pernyataan1
}elseif(kondisi2){
pernyataan2
}else(kondisi3){
pernyataan3
}
else {
penyataan4
}
jika kondisi1 benar, maka pernyataan1 akan
dijalankan, jika kondisi2 benar, maka penyataan2 akan dijalankan, jika semua
kondisi salah, maka penyataan4 yang akan dijalankan saja.
Contoh :
public class coba{
public static void main (String [] args){
int a=2;
if (a==0)
System.out.println("Nilai a
= 0");
else if(a==1)
System.out.println("Nilai a
= 1");
else if(a==2)
System.out.println("Nilai a
= 2");
}
}
Output : Program akan menampilkan nilai
a = 2 saja, karena pada
else-if yang ketiga atau dengan pernyataan a==2 bernilai
benar, sedangkan pernyataan yang lain tidak dijalankan karena kondisi tidak
memenuhi.
·
switch-case : percabangan
yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak
pernyataan (ledbih dari 2). Sebenarnya switch-case ini hampir sama dengan else
if, hanya saja sintaksnya yang berbeda. Sintaks dari switch-case seperti
berikut :
switch (variabel) {
case nilai1: pernyataan1;
break;
case nilai2: pernyataan2;
break;
default: pernyataan3;
}
Jika nilai variabel yang ditunjuk bernilai
sesuai nilai1, maka pernyataan1 akan dijalankan, jika nilai variabel yang
ditunjuk bernilai sesuai nilai2, pernyataan2 dijalankan, jika tidak ,maka
pernyataan3 yang akan dijalankan.
public class coba{
public static void main (String [] args){
int a=3;
switch (a) {
case 1:
System.out.println("Nilai a=1");break;
case 2:
System.out.println("Nilai a=2"); break;
case 3:
System.out.println("Nilai a=3");break;
default:
System.out.println("Nilai a=4"); break
}
}
}
Output : Program akan menampilkan nilai
a = 2 saja, karena kondisi bernilai benar, perhatika break dibelakang
pernyataan, jika break ini dihapus, maka semua pernyataan akan dijalankan. Break
digunakan untuk keluar dari switch-case saat 1 pernyataan sudah dijalankan.
MODUL
2
PRAKTIKUM DASAR PEMROGRAMAN
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,
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
3.
Buat algoritma untuk mengkonversi bilangan dalam
format desimal menjadi biner.
Input :
bilangan desimal
Output :
bilangan biner
Ilustrasi:
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?
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.
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 .
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
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
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.
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.
JAWABAN
PSOUDOCODE
1.
Pythagoras
Psoudocode
a. input (a,b)
b.
c
c.
output
( c )
Algoritma
a. tentukan nilai a,b
b. hitung c =
c.
tampilkan
c
2.
Pecahan Uang
Deskripsi
seratusribu, limapuluhribu, duapuluhribu,
sepuluhribu, limaribu, duaribu, seribu, limaratus, duaratus, seratus,
inputuang, sisa : Integer
Algoritma
seratusribu ß inputuang/100000;
sisa ßinputuang -
(seratusribu*100000);
limapuluhribu ßsisa / 50000;
sisa ßsisa - (limapuluhribu *
50000);
duapuluhribu ßsisa / 20000;
sisa ßsisa - (duapuluhribu *
20000);
sepuluhribu ßsisa / 10000;
sisa ßsisa - (sepuluhribu *
10000);
limaribu ßsisa / 5000;
sisa ßsisa - (limaribu * 5000);
duaribu ßsisa / 2000;
sisa ßsisa - (duaribu * 2000);
seribu ßsisa / 1000;
sisa ßsisa - (seribu * 1000);
limaratus ßsisa / 500;
sisa ßsisa - (limaratus * 500);
seratus ßsisa / 100;
sisa ßsisa - (seratus * 100);
if inputuang >= 100000 then
if
seratusribu == 0 then
Output
(“ ”)
else
Output
(seratusribu)
endif
endif
if inputuang >= 50000 then
if
limapuluhribu == 0 then
Output
(“ ”)
else
Output
(limapuluhribu)
endif
endif
if inputuang >= 20000 then
if
duapuluhribu == 0 then
Output
(“ ”)
else
Output
(duapuluhribu)
endif
endif
if inputuang >= 10000 then
if
sepuluhribu == 0 then
Output
(“ ”)
else
Output
(sepuluhribu)
endif
endif
if inputuang >= 5000 then
if
limaribu == 0 then
Output
(“ ”)
else
Output
(limaribu)
endif
endif
if inputuang >= 2000 then
if
duaribu == 0 then
Output
(“ ”)
else
Output
(duaribu)
endif
endif
if inputuang >= 1000 then
if
seribu == 0 then
Output
(“ ”)
else
Output
(seribu)
endif
endif
if inputuang >= 500 then
if
limaratus == 0 then
Output
(“ ”)
else
Output
(limaratus)
endif
endif
if inputuang >= 100 then
if
seratus == 0 then
Output
(“ ”)
else
Output
(seratus)
endif
endif
if inputuang >= 0 then
Output
(sisa)
End if
End.
3.
Bilangan Desimal
ke Biner
Deskripsi
bilangan , hasil=0 , i=0 :
Integer
Algoritma
While bilangan>0 Repeat
hasil+=bilangan mod 2 *
(int) Math.pow(10, i);
bilangan/=2;
i++;
Output (hasil)
End.
4.
Bonus Pegawai
Deskripsi
nama, pegawai : String
masakerja,
umur : Integer
Algoritma
If
pegawai = staf then
If
masakerja >=5 and umur >=50 then
Output
(bonus)
Else
if masakerja < 5 And umur = umur then
Output
(bonus)
Else
if masakerka = masakerja And umur < 50 then
Output
(bonus)
End
if
Else
If pegawai = nonstaf then
If
masakerja >= 5 And umur >=50 then
Output
(bonus)
Else
Output
(bonus)
End
if
Else
Output
(Pesan Error)
End.
5.
Tarif Iklan
Deskripsi
hari : String
baris : Double
Algoritma
If hari = minggu Or hari =
senin Or hari = selasa Or hari = rabu Or hari = kamis Or hari = jumat then
Output
(baris * 33000)
Else
if hari = sabtu then
Output
(baris * 40000)
Else
Output
(Pesan Error)
End.
6.
Harga Tiket
Deskripsi
hari, jenis : String
tiket : Integer
Algoritma
If hari = senin Or hari =
selasa Or hari = rabu Or hari = kamis then
If
jenis = tidak then
Output
(tiket*15000)
Else
Output
(tiket*35000)
Else
if hari = jumat Or hari = sabtu Or hari = minggu
If
jenis = tidak then
Output
(tiket*35000)
Else
Output
(tiket*35000)
Else
Output
(Pesan Error)
End.
7.
Diskon Belanja
Deskripsi
total, diskon, bayar :
Double
Algoritma
if total < 150000 then
diskon ß total * 0%
bayar ß total - diskon
Output
(diskon)
Output
(bayar)
Else
if total < 275000 then
diskon ß total * 10%
bayar ß total - diskon
Output
(diskon)
Output
(bayar)
Else if total < 300000
then
diskon ß total * 15%
bayar ß total - diskon
Output
(diskon)
Output
(bayar)
Else if total < 400000
then
diskon ß total * 20%
bayar ß total - diskon
Output
(diskon)
Output
(bayar)
Else
diskon ß total * 25%
bayar ß total - diskon
Output
(diskon)
Output
(bayar)
End.
8.
Nilai Huruf
Deskripsi
Nama : String
tugas1,tugas2,tugas3,UTS,UAS,
rata2, total : Double
Algoritma
rata2 =
(tugas1+tugas2+tugas3)/3;
total
= (rata2*(30%))+(UTS*(30%))+(UAS*(40%));
if
total > 0 And total <= 40 then
Output
(total)
Output
(“E”)
else
if total > 40 And total <= 55
Output
(total)
Output
(“D”)
else if total > 55 And
total <= 60
Output
(total)
Output
(“C”)
else
if total > 60 And total <= 65
Output
(total)
Output
(“BC”)
else
if total > 65 And total <= 70
Output
(total)
Output
(“B”)
else
if total > 70 And total <= 80
Output
(total)
Output
(“AB”)
else
if total > 80 And total <= 100
Output
(total)
Output
(“A”)
End.
9.
Tarif PDAM
Deskripsi
Pemakaian : Double
Algoritma
If pemakaian <= 0 then
Output
( pemakaian*0 )
Else
if pemakaian <= 50 then
Output
( pemakaian*200)
Else
if pemakain <=150 then
Output
((50*200)+((pemakaian - 100) * 500))
Else
if pemakaian <= 300 then
Output
((50 * 200) + (100 * 500) + ((pemakaian - 150) * 1000))
Else
Output
((50 * 200) + (100 * 500) + (150 * 1000) + ((pemakaian - 300) * 1500))
End.
10. Cash Back
Deskripsi
pemakaian1 ß 0 : Integer
pemakaian2 ß 0 : Integer
pemakaian3 ß 0 : Integer
pemakaian4 ß 0 : Integer
cash_back_total ß 0 : Integer
jml_pemakaian : Integer
Implementasi
pemakaian1ß1000000
if
jml_pemakaian<=1000000 then
pemakaian1 ß jml_pemakaian
Else if jml_pemakaian >
1000000 And jml_pemakaian <= 10000000 then
pemakaian1 ß 10000000
pemakaian2 ß jml_pemakaian –
1000000
Else
if jml_pemakaian > 10000000 And jml_pemakaian <= 25000000 then
pemakaian2 ß 10000000
pemakaian3 ß jml_pemakaian-25000000
Else
if jml_pemakaian > 25000000 then
pemakaian2 ß 10000000
pemakaian3 ß 25000000
pemakaian4 ß jml_pemakaian –
25000000
cash_back_total=(pemakaian1*5%)+(pemakaian2*6%)+(pemakaian3*7%)+(pemakaian4*8%)
Output (jml_pemakaian ,
cash_back_total)
End.
Kode Sumber (Source Code) beserta
Outputnya
1 1 . Source
Code & Output
1 package
Dasprog_Prak2;
2
3 /*
4 *
To change this template, choose Tools | Templates
5 *
and open the template in the editor.
6 */
7
8 /**
9 *
10 *
11 */
12 public
class Nomer1 {
13
14 /**
15 * @param
args the command line arguments
16 */
17 public
static void main(String[] args) {
18 //
TODO code application logic here
19 int
alas=3;
20 int
tinggi=5;
21 double
sisi_miring=Math.sqrt(Math.pow(alas,
2)+Math.pow(tinggi,
2));
22
23 System.out.println("Sisi
miring dari segitiga dengan alas =
"+alas+"cm,
dan tinggi = "+tinggi+"cm adalah "+sisi_miring+"cm");
24
25
26 }
27 }
28
2 2 .
Source Code & Output
3. 1 package
Dasprog_Prak2;
4. 2
5. 3 import
java.io.BufferedReader;
6. 4 import
java.io.IOException;
7. 5 import
java.io.InputStreamReader;
8. 6
9. 7 /*
10. 8 *
To change this template, choose Tools | Templates
11. 9 *
and open the template in the editor.
12. 10 */
13. 11
14. 12 /**
15. 13 *
16. 14 *
17. 15 */
18. 16 public
class Nomer2 {
19. 17
20. 18 /**
21. 19 * @param
args the command line arguments
22. 20 */
23. 21 public
static void main(String[] args) {
24. 22 //
TODO code application logic here
25. 23
BufferedReader dataIn = new BufferedReader(new
26. InputStreamReader(System.in) );
27. 24
String uang_inputan = "";
28. 25 int
hasil=0;
29. 26 int
sisa=0;
30. 27
31. 28
System.out.print("Masukkan input jumlah uang anda : ");
32. 29 try{
33. 30
uang_inputan = dataIn.readLine();
34. 31 }catch(
IOException e ){
35. 32
System.out.println("Error!");
36. 33 }
37. 37 if(uang_inputan.length()>0){
38. 38
39. 39
System.out.print("Untuk uang Rp "+uang_inputan+",
diperlukan ");
40. 40
41. 41 if
(Integer.parseInt(uang_inputan)>=100000){
42. 42
hasil = Integer.parseInt(uang_inputan)/100000;
43. 43
sisa = Integer.parseInt(uang_inputan)%100000;
44. 44
45. 45
System.out.print(""+hasil+" lembar
100.000, ");
46. 46 }
47. 47 else
if (Integer.parseInt(uang_inputan)<100000){
48. 48
hasil = Integer.parseInt(uang_inputan)/100000;
49. 49
sisa = Integer.parseInt(uang_inputan)%100000;
50. 50 }
51. 51
52. 52
53. 53 if
(sisa>=50000){
54. 54
hasil = sisa/50000;
55. 55
sisa = sisa %50000;
56. 56
System.out.print(""+hasil+" lembar
50.000, ");
57. 57 }
58. 58 if
(sisa>=20000){
59. 59
hasil = sisa/20000;
60. 60
sisa = sisa %20000;
61. 61
System.out.print(""+hasil+" lembar
20.000, ");
62. 62 }
63. 63 if
(sisa>=10000){
64. 64
hasil = sisa/10000;
65. 65
sisa = sisa %10000;
66. 66
System.out.print(""+hasil+" lembar
10.000, ");
67. 67 }
68. 68 if
(sisa>=5000){
69. 69
hasil = sisa/5000;
70. 70
sisa = sisa %5000;
71. 71
System.out.print(""+hasil+" lembar
5.000, ");
72. 72 }
73. 73 if
(sisa>=2000){
74. 74
hasil = sisa/2000;
75. 75
sisa = sisa %2000;
76. 76
System.out.print(""+hasil+" lembar
2.000, ");
77. 77 }
78. 78 if
(sisa>=1000){
79. 79
hasil = sisa/1000;
80. 80
sisa = sisa %1000;
81. 81
System.out.print(""+hasil+" lembar
1.000, ");
82. 82 }
83. 83 if
(sisa>=500){
84. 84
hasil = sisa/500;
85. 85
sisa = sisa %500;
86. 86
System.out.print(""+hasil+" koin 500,
");
87. 87 }
88. 88 if
(sisa>=100){
89. 89
hasil = sisa/100;
90. 90
sisa = sisa %100;
91. 91
System.out.print(""+hasil+" koin 100,
");
92. 92 }
93. 93 if
(sisa>0){
94. 94
System.out.println("Sisa "+sisa+"
Rupiah diikhlaskan saja.");
95. 95 }
96. 96 }
97. 97 else{
98. 98
System.out.println("\nAda salah satu masukan yang kosong!");
99. 99 return;
100.
100 }
101.
101 }
102.
102 }
3 3 .
Source Code & Output
4.
1 /*
5.
2 * To change this template,
choose Tools | Templates
6.
3 * and open the template in
the editor.
7.
4 */
8.
5 package Dasprog_Prak2;
9.
6
10. 7 import
java.io.BufferedReader;
11. 8 import
java.io.IOException;
12. 9 import
java.io.InputStreamReader;
13. 10
14. 11 /**
15. 12 *
16. 13 *
17. 14 */
18. 15
19. 16 public
class Nomer3 {
20. 17
21. 18 /**
22. 19 * @param
args the command line arguments
23. 20 */
24. 21 public
static void main(String[] args) {
25. 22 //
TODO code application logic here
26. 23
BufferedReader dataIn = new BufferedReader(new
27. InputStreamReader(System.in) );
28. 24
String str_bil_desimal="";
29. 25
String str_bil_biner="";
30. 26
31. 27
System.out.print("Masukkan bilangan desimal : "+str_bil_desimal+"");
32. 28 try{
33. 29
str_bil_desimal = dataIn.readLine();
34. 30 }catch(
IOException e ){
35. 31
System.out.println("Error!");
36. 32 }
37. 33 if(str_bil_desimal.length()>0){
38. 34 int
bil_desimal = Integer.parseInt(str_bil_desimal);
39. 35 while(bil_desimal!=0){
40. 36 if(bil_desimal%2==0){
41. 37
str_bil_biner="0"+str_bil_biner;
42. 38 }
43. 39 else{
44. 40
str_bil_biner="1"+str_bil_biner;
45. 41 }
46. 42
bil_desimal= bil_desimal/2;
47. 43 }
48. 44
System.out.print("Bilangan biner: "+str_bil_biner);
49. 45
System.out.println("");
50. 46 }
51. 47 else{
52. 48
System.out.println("\nAda salah satu masukan yang kosong!");
53. 49 return;
54. 50 }
55. 51
56. 52
57. 53 }
58. 54 }
59.
55
4.
Source Code dan Input
5.
1 /*
6.
2 * To change this template,
choose Tools | Templates
7.
3 * and open the template in
the editor.
8.
4 */
9.
5 package Dasprog_Prak2;
10. 6 import
java.text.DecimalFormat;
11. 7 import
java.text.DecimalFormatSymbols;
12. 8 /**
13. 9 *
14. 10 *
15. 11 */
16. 12 public
class Nomer4 {
17. 13
18. 14 /**
19. 15 * @param
args the command line arguments
20. 16 */
21. 17 public
static void main(String[] args) {
22. 18 //
TODO code application logic here
23. 19
String nama="tyan wisesa";
24. 20
String jenis_pegawai="Staff";
25. 21 int
umur=30;
26. 22 int
lama_tahun_bekerja=3;
27. 23 int
bonus_gaji=0;
28. 24
29. 25 if(jenis_pegawai=="Staff"){
30. 26 if(lama_tahun_bekerja>=5
&& umur>=50){
31. 27
bonus_gaji=1000000;
32. 28 }
33. 29 else
if(lama_tahun_bekerja<5){
34. 30
bonus_gaji=500000;
35. 31 }
36. 32 else
if(umur<50){
37. 33
bonus_gaji=300000;
38. 34 }
39. 35
40. 36 }
41. 37 else
if(jenis_pegawai=="Non-Staff"){
42. 38 if(lama_tahun_bekerja>5
&& umur>=50){
43. 39
bonus_gaji=400000;
44. 40 }
45. 41 else
if(umur<50){
46. 42
bonus_gaji=250000;
47. 43 }
48. 44 }
49. 45
50. 46
DecimalFormat df = (DecimalFormat) DecimalFormat.getCurrencyInstance();
51. 47
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
52. 48
dfs.setCurrencySymbol("");
53. 49
dfs.setMonetaryDecimalSeparator(',');
54. 50
dfs.setGroupingSeparator('.');
55. 51
df.setDecimalFormatSymbols(dfs);
56. 52
String hsl = "Rp " + df.format(bonus_gaji);
57. 53
58. 54
System.out.println("Detil pegawai: ");
59. 55
System.out.println("Nama Pegawai: "+nama);
60. 56
System.out.println("Golongan pegawai: "+jenis_pegawai);
61. 57
System.out.println("Umur pegawai: "+umur);
62. 58
System.out.println("Lama tahun bekerja: "+lama_tahun_bekerja);
63. 59
System.out.println("\nBonus yang anda dapat adalah: "+hsl);
64. 60
65. 61 }
66.
62 }
55 .
Source Code dan Output
6.
1 /*
7.
2 * To change this template,
choose Tools | Templates
8.
3 * and open the template in
the editor.
9.
4 */
10. 5 package
Dasprog_Prak2;
11. 6
12. 7 import
java.io.BufferedReader;
13. 8 import
java.io.IOException;
14. 9 import
java.io.InputStreamReader;
15. 10 import
java.text.DecimalFormat;
16. 11 import
java.text.DecimalFormatSymbols;
17. 12
18. 13 /**
19. 14 *
20. 15 *
21. 16 */
22. 17 public
class Nomer5 {
23. 18
24. 19 /**
25. 20 * @param
args the command line arguments
26. 21 */
27. 22 public
static void main(String[] args) {
28. 23 //
TODO code application logic here
29. 24
30. 25
BufferedReader dataIn = new BufferedReader(new
31. InputStreamReader(System.in) );
32. 26
33. 27
String hari="";
34. 28
String jumlah_baris="";
35. 29 int
per_baris=0;
36. 30 int
total_harga=0;
37. 31
38. 32
System.out.println("(Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau
Sabtu)");
39. 33
System.out.print("Hari pemasangan iklan : ");
40. 34 try{
41. 35
hari = dataIn.readLine();
42. 36 }catch(
IOException e ){
43. 37
System.out.println("Error!");
44. 38 }
45. 40
System.out.print("Jumlah baris dipakai : ");
46. 41 try{
47. 42
jumlah_baris = dataIn.readLine();
48. 43 }catch(
IOException e ){
49. 44
System.out.println("Error!");
50. 45 }
51. 46
52. 47 if(hari.length()>0
&& jumlah_baris.length()>0){
53. 48 if("Minggu".equalsIgnoreCase(hari)
|| "Senin".equalsIgnoreCase(hari) ||
54. "Selasa".equalsIgnoreCase(hari)
|| "Rabu".equalsIgnoreCase(hari) ||
55. "Kamis".equalsIgnoreCase(hari)
|| "Jumat".equalsIgnoreCase(hari))
56. 49 {
57. 50
per_baris=33000;
58. 51
total_harga= Integer.parseInt(jumlah_baris) * per_baris;
59. 52
60. 53 }
61. 54 else
if("Sabtu".equals(hari)){
62. 55
per_baris=40000;
63. 56
total_harga= Integer.parseInt(jumlah_baris) * per_baris;
64. 57 }
65. 58
66. 59
DecimalFormat df = (DecimalFormat)
67. DecimalFormat.getCurrencyInstance();
68. 60
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
69. 61
dfs.setCurrencySymbol("");
70. 62
dfs.setMonetaryDecimalSeparator(',');
71. 63
dfs.setGroupingSeparator('.');
72. 64 df.setDecimalFormatSymbols(dfs);
73. 65
String hsl = "Rp " + df.format(total_harga);
74. 66
75. 67
System.out.println("\nTotal biaya iklan yang harus dibayar: "+hsl);
76. 68 }
77. 69 else{
78. 70
System.out.println("\nAda salah satu masukan yang kosong!");
79. 71 return;
80. 72 }
81. 73 }
82.
74 }
66 . Source Code dan Output
7. package
Dasprog_Prak2;
8. 6
9. 7 import
java.io.BufferedReader;
10. 8 import
java.io.IOException;
11. 9 import
java.io.InputStreamReader;
12. 10 import
java.text.DecimalFormat;
13. 11 import
java.text.DecimalFormatSymbols;
14. 12
15. 13 /**
16. 14 *
17. 15 *
18. 16 */
19. 17 public
class Nomer6 {
20. 18
21. 19 /**
22. 20 * @param
args the command line arguments
23. 21 */
24. 22 public
static void main(String[] args) {
25. 23 //
TODO code application logic here
26. 24
BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in)
27. );
28. 25
29. 26 String
hari="";
30. 27
String hari_libur="";
31. 28
String jml_tiket="";
32. 29
33. 30 int
htm=0;
34. 31 int
total_harga=0;
35. 32
36. 33
System.out.println("(Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau
Sabtu)");
37. 34
System.out.print("Hari pemesanan tiket: ");
38. 35 try{
39. 36
hari = dataIn.readLine();
40. 37 }catch(
IOException e ){
41. 38
System.out.println("Error!");
42. 39 }
43. 41
System.out.print("Hari Libur? (Y/T): ");
44. 42 try{
45. 43
hari_libur = dataIn.readLine();
46. 44 }
47. 45 catch(
IOException e ){
48. 46
System.out.println("Error!");
49. 47 }
50. 48
51. 49
System.out.print("Jumlah tiket dibeli: ");
52. 50 try{
53. 51
jml_tiket = dataIn.readLine();
54. 52 }catch(
IOException e ){
55. 53
System.out.println("Error!");
56. 54 }
57. 55 if(hari.length()>0
&& hari_libur.length()>0 && jml_tiket.length()>0){
58. 56 if("Senin".equalsIgnoreCase(hari)
|| "Selasa".equalsIgnoreCase(hari) ||
59. "Rabu".equalsIgnoreCase(hari)
|| "Kamis".equalsIgnoreCase(hari)){
60. 57
61. 58 if("Y".equalsIgnoreCase(hari_libur)){
62. 59
htm = 35000;
63. 60
total_harga= Integer.parseInt(jml_tiket) * htm;
64. 61 }
65. 62 else
if("T".equalsIgnoreCase(hari_libur)){
66. 63
htm = 15000;
67. 64
total_harga= Integer.parseInt(jml_tiket) * htm;
68. 65 }
69. 66 else{
70. 67
System.out.println("\nMasukan Hari Libur tidak benar!");
71. 68 return;
72. 69 }
73. 70
74. 71 }
75. 72 else
if("Jumat".equalsIgnoreCase(hari) || "Sabtu".equalsIgnoreCase(hari)
76. || "Minggu".equalsIgnoreCase(hari)){
77. 73
htm = 35000;
78. 74
total_harga= Integer.parseInt(jml_tiket) * htm;
79. 75 }
80. 76
81. 77 else{
82. 78
System.out.println("\nMasukan hari tidak benar!");
83. 79 return;
84. 80 }
85. 81
86. 82
DecimalFormat df = (DecimalFormat)
87. DecimalFormat.getCurrencyInstance();
88. 83
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
89. 84
dfs.setCurrencySymbol("");
90. 85
dfs.setMonetaryDecimalSeparator(',');
91. 86
dfs.setGroupingSeparator('.');
92. 87
df.setDecimalFormatSymbols(dfs);
93. 88
String hsl = "Rp. " + df.format(total_harga);
94. 89
95. 90 System.out.println("\nTotal
biaya tiket yang harus dibayar: "+hsl);
96. 91 }
97. 92 else{
98. 93
System.out.println("\nAda salah satu masukan yang kosong!");
99. 94 return;
100.
95 }
101.
96 }
102.
97 }
7. Source Code dan Output
5 package
Dasprog_Prak2;
6
7 import
java.io.BufferedReader;
8 import
java.io.IOException;
9 import
java.io.InputStreamReader;
10 import
java.text.DecimalFormat;
11 import
java.text.DecimalFormatSymbols;
12
13 /**
14 *
15 *
16 */
17 public
class Nomer7 {
18
19 /**
20 * @param
args the command line arguments
21 */
22 public
static void main(String[] args) {
23 //
TODO code application logic here
24 BufferedReader
dataIn = new BufferedReader(new
InputStreamReader(System.in) );
25
26 String
str_total_belanja="";
27 int
diskon=0;
28 String
besaran_diskon="";
29 int
total_belanja_sesudah=0;
30
31 System.out.print("Masukkan
total belanja: ");
32 try{
33 str_total_belanja
= dataIn.readLine();
34 }catch(
IOException e ){
35 System.out.println("Error!");
36 }
38 if(str_total_belanja.length()>0){
39 int
total_belanja_sebelum = Integer.parseInt(str_total_belanja);
40
41 if(total_belanja_sebelum>=150000
&& total_belanja_sebelum<275000){
42 besaran_diskon="10%";
43 diskon =
total_belanja_sebelum*10/100;
44
total_belanja_sesudah = total_belanja_sebelum-diskon;
45 }
46 else
if(total_belanja_sebelum>=275000 &&
total_belanja_sebelum<300000){
47 besaran_diskon="15%";
48 diskon =
total_belanja_sebelum*15/100;
49
total_belanja_sesudah = total_belanja_sebelum-diskon;
50 }
51 else
if(total_belanja_sebelum>=300000 &&
total_belanja_sebelum<400000){
52 besaran_diskon="20%";
53 diskon =
total_belanja_sebelum*20/100;
54
total_belanja_sesudah = total_belanja_sebelum-diskon;
55 }
56 else
if(total_belanja_sebelum>=400000){
57 besaran_diskon="25%";
58 diskon =
total_belanja_sebelum*25/100;
59 total_belanja_sesudah
= total_belanja_sebelum-diskon;
60 }
61 else{
62
total_belanja_sesudah = total_belanja_sebelum;
63 }
65 DecimalFormat df =
(DecimalFormat) DecimalFormat.getCurrencyInstance();
66
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
67 dfs.setCurrencySymbol("");
68
dfs.setMonetaryDecimalSeparator(',');
69
dfs.setGroupingSeparator('.');
70
df.setDecimalFormatSymbols(dfs);
71 String hsl_diskon
= "Rp. " + df.format(diskon);
72 String hsl = "Rp.
" + df.format(total_belanja_sesudah);
74 System.out.println("\nNilai
Diskon ("+besaran_diskon+"): "+hsl_diskon);
75 System.out.println("Nilai
yang harus dibayar: "+hsl);
77 }
78 else{
79 System.out.println("\nAda
salah satu masukan yang kosong!");
80 return;
81 }}}
8.
Source Code dan Output
5 package
Dasprog_Prak2;
6
7 import
java.io.BufferedReader;
8 import
java.io.IOException;
9 import
java.io.InputStreamReader;
10
11 /**
12 *
13 *
14 */
15 public
class Nomer8 {
16
17 /**
18 * @param
args the command line arguments
19 */
20 public
static void main(String[] args) {
21 //
TODO code application logic here
22 String tugas1 ="";
23 String tugas2="";
24 String tugas3="";
25 String utc="";
26 String uac="";
27
28 double
rata_rata_tugas=0;
29 double
nilai_akhir=0;
30 String
nilai_huruf="";
31
32 int
jumlah_data=0;
33
34 BufferedReader
dataIn = new BufferedReader(new
InputStreamReader(System.in) );
35
36 System.out.print("Masukkan
nilai tugas 1 : "+tugas1);
37 try{
38 tugas1 =
dataIn.readLine();
39 jumlah_data+=1;
40 }catch(
IOException e ){
41 System.out.println("Error!");
42 }
44 System.out.print("Masukkan
nilai tugas 2 : "+tugas2);
45 try{
46 tugas2 =
dataIn.readLine();
47 jumlah_data+=1;
48 }catch(
IOException e ){
49 System.out.println("Error!");
50 }
51
52 System.out.print("Masukkan
nilai tugas 3 : "+tugas3);
53 try{
54 tugas3 =
dataIn.readLine();
55 jumlah_data+=1;
56 }catch(
IOException e ){
57 System.out.println("Error!");
58 }
59
60 System.out.print("Masukkan
nilai UTC : "+utc);
61 try{
62 utc =
dataIn.readLine();
63 }catch(
IOException e ){
64 System.out.println("Error!");
65 }
66
67 System.out.print("Masukkan
nilai UAC : "+uac);
68 try{
69 uac =
dataIn.readLine();
70 }catch(
IOException e ){
71 System.out.println("Error!");
72 }
73
74 if(tugas1.length()>0
&& tugas2.length()>0 && tugas3.length()>0 &&
utc.length()>0
&& uac.length()>0){
75
76 rata_rata_tugas =
(Integer.parseInt(tugas1)+Integer.parseInt(tugas2)+Integer.parseInt(tugas3))/jumlah_d
ata;
77
78
nilai_akhir=((rata_rata_tugas*30/100)+(Integer.parseInt(utc)*30/100)+(Integer.parseI
nt(uac)*40/100));
79
80 if(nilai_akhir>80
&& nilai_akhir<=100){
81 nilai_huruf="A";
82 }
83 else
if(nilai_akhir>70 && nilai_akhir<=80){
84 nilai_huruf="AB";
85 }
86 else
if(nilai_akhir>65 && nilai_akhir<=70){
87 nilai_huruf="B";
88 }
89 else
if(nilai_akhir>60 && nilai_akhir<=65){
90 nilai_huruf="BC";
91 }
92 else
if(nilai_akhir>55 && nilai_akhir<=60){
93 nilai_huruf="C";
94 }
95 else
if(nilai_akhir>40 && nilai_akhir<=55){
96 nilai_huruf="D";
97 }
98 else
if(nilai_akhir>0 && nilai_akhir<=40){
99 nilai_huruf="E";
100 }
101
102 System.out.println("\nNilai
Akhir anda adalah: "+nilai_akhir);
103 System.out.println("Nilai
Huruf anda adalah: "+nilai_huruf);
104 }
105 else{
106 System.out.println("\nAda
salah satu masukan yang kosong!");
107 return;
108 }
109 }
110 }
9.
Source Code dan Output
5 package
Dasprog_Prak2;
6
7 import
java.io.BufferedReader;
8 import
java.io.IOException;
9 import
java.io.InputStreamReader;
10 import
java.text.DecimalFormat;
11 import
java.text.DecimalFormatSymbols;
12
13 /**
14 *
15 *
16 */
17 public
class Nomer9 {
18
19 /**
20 * @param
args the command line arguments
21 */
22 public
static void main(String[] args) {
23 //
TODO code application logic here
24 String
str_pemakaian ="";
25 //int
pemakaian = Integer.parseInt(str_pemakaian);
26 int
pemakaian1=0;
27 int
pemakaian2=0;
28 int
pemakaian3=0;
29 int
pemakaian4=0;
31 int
biaya1=0;
32 int
biaya2=0;
33 int
biaya3=0;
34 int
biaya4=0;
35 int
biaya_total=0;
37 BufferedReader
dataIn = new BufferedReader(new
InputStreamReader(System.in) );
38
39 System.out.print("Masukkan
jumlah pemakaian Air PDAM (m³) :
"+str_pemakaian+"");
40 try{
41 str_pemakaian =
dataIn.readLine();
42 }catch(
IOException e ){
43 System.out.println("Error!");
44 }
45
46 if(str_pemakaian.length()>0){
47 int
jml_pemakaian = Integer.parseInt(str_pemakaian);
48
49
50 pemakaian1=50;
51
52 if(jml_pemakaian<=50){
53
pemakaian1=jml_pemakaian;
54
biaya1=pemakaian1*200;
55 }
56 else
if(jml_pemakaian>50 && jml_pemakaian<=150){
57 pemakaian1=50;
58
pemakaian2=jml_pemakaian-50;
59 biaya1=pemakaian1*200;
60
biaya2=pemakaian2*500;
61 }
62 else
if(jml_pemakaian>150 && jml_pemakaian<=300){
63 pemakaian2=100;
64
pemakaian3=jml_pemakaian-150;
65
biaya1=pemakaian1*200;
66
biaya2=pemakaian2*500;
67
biaya3=pemakaian3*1000;
68 }
69 else
if(jml_pemakaian>300){
70 pemakaian2=100;
71 pemakaian3=150;
72
pemakaian4=jml_pemakaian-300;
73
biaya1=pemakaian1*200;
74
biaya2=pemakaian2*500;
75
biaya3=pemakaian3*1000;
76
biaya4=pemakaian4*1500;
77 }
78 biaya_total =
biaya1+biaya2+biaya3+biaya4;
79
80 DecimalFormat df =
(DecimalFormat)
DecimalFormat.getCurrencyInstance();
81
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
82
dfs.setCurrencySymbol("");
83
dfs.setMonetaryDecimalSeparator(',');
84
dfs.setGroupingSeparator('.');
85
df.setDecimalFormatSymbols(dfs);
86 String hsl_biaya1
= "Rp. " + df.format(biaya1);
87 String hsl_biaya2
= "Rp. " + df.format(biaya2);
88 String hsl_biaya3
= "Rp. " + df.format(biaya3);
89 String hsl_biaya4
= "Rp. " + df.format(biaya4);
90 String
hsl_biaya_total = "Rp. " + df.format(biaya_total);
91
94 System.out.println("\nJumlah
Pemakaian = "+jml_pemakaian+"m³");
95 System.out.println("Pemakaian
I ( s/d 50 m³) Rp. 200,- *
"+pemakaian1+"
= Rp "+hsl_biaya1);
96 if(jml_pemakaian>50){
97 System.out.println("Pemakaian
II ( 51 – 150 ) Rp. 500,- *
"+pemakaian2+"
= Rp "+hsl_biaya2);
98 }
99 if(jml_pemakaian>150){
100 System.out.println("Pemakaian
III ( 151 – 300 ) Rp. 1000,- *
"+pemakaian3+"
= Rp "+hsl_biaya3);
101 }
102 if(jml_pemakaian>300){
103 System.out.println("Pemakaian
IV ( >300 m³) Rp. 1500,- *
"+pemakaian4+"
= Rp "+hsl_biaya4);
104 }
105
106 System.out.println("Biaya
Total: Rp
"+hsl_biaya_total);
107 }
108 else{
109 System.out.println("\nAda
salah satu masukan yang kosong!");
110return;
111}
10. Source Code dan Output
5 package
Dasprog_Prak2;
6
7 import
java.io.BufferedReader;
8 import
java.io.IOException;
9 import
java.io.InputStreamReader;
10 import
java.text.DecimalFormat;
11 import
java.text.DecimalFormatSymbols;
12
13 /**
14 *
15 *
16 */
17 public
class Nomer10 {
18
22 public
static void main(String[] args) {
23 //
TODO code application logic here
24 String
str_pemakaian ="";
25 //int
pemakaian = Integer.parseInt(str_pemakaian);
26 int
pemakaian1=0;
27 int
pemakaian2=0;
28 int
pemakaian3=0;
29 int
pemakaian4=0;
30
31 int
cash_back_total=0;
32
33 BufferedReader
dataIn = new BufferedReader(new InputStreamReader(System.in) );
34
35 System.out.print("Masukkan
jumlah pemakaian Kartu Kredit : "+str_pemakaian+"");
36 try{
37 str_pemakaian =
dataIn.readLine();
38 }catch(
IOException e ){
39 System.out.println("Error!");
40 }
41
42 if(str_pemakaian.length()>0){
43 int
jml_pemakaian = Integer.parseInt(str_pemakaian);
44
46
pemakaian1=1000000;
48 if(jml_pemakaian<=1000000){
49
pemakaian1=jml_pemakaian;
50 }
51 else
if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){
52
pemakaian1=1000000;
53
pemakaian2=jml_pemakaian-1000000;
54 }
55 else
if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){
56
pemakaian2=10000000;
57
pemakaian3=jml_pemakaian-25000000;
58 }
59 else
if(jml_pemakaian>25000000){
60 pemakaian2=10000000;
61
pemakaian3=25000000;
62
pemakaian4=jml_pemakaian-25000000;
63 }
64
65 cash_back_total =
(pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/100);
66
67 DecimalFormat df =
(DecimalFormat) DecimalFormat.getCurrencyInstance();
68
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
69
dfs.setCurrencySymbol("");
70
dfs.setMonetaryDecimalSeparator(',');
71
dfs.setGroupingSeparator('.');
72
df.setDecimalFormatSymbols(dfs);
73 String
jumlah_pemakaian = "Rp. " + df.format(jml_pemakaian);
74 String
hsl_biaya_total = "Rp. " +
df.format(cash_back_total);
75
78 System.out.println("Seorang
nasabah yang total selama sebulan
"+jumlah_pemakaian+",
maka total cash backnya= "+hsl_biaya_total);
79 }
80 else{
81 System.out.println("\nAda
salah satu masukan yang kosong!");
82 return;
83 }
84 }}
REFERENSI
Langganan:
Postingan (Atom)