modul 2
Senin, 28 Oktober 2013
modul2
PRAKTIKUM DASAR PEMROGRAMAN
TUGAS 1
Oleh
:
Intan Fitria P.
NIM : 135623021
D3 MANAJEMEN INFORMATIKA
JURUSAN TEKNIK ELEKTRO – FAKULTAS
TEKNIK
UNIVERSITAS NEGERI SURABAYA
2013
Dasar Teori
Eclipse
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.
NetBeans
mengacu pada dua hal, yakni platform untuk pengembangan
aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang
dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi
dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut ‘modul’.
Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas
Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang
mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modul-modul
dapat dikembangkan dengan menambahkan modulmodul baru. Karena modul dapat
dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan
mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.
Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.
Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.
Aturan
penulisan program di Java
- Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu Case sensitive, yaitu membedakan antara huruf besar dan kecil
- Dalam sebuah file program di Java, hanya diijinkan memiliki 1 buah class yang bersifat public
- Dalam sebuah file program Java, hanya ada satu method main(method yang pertama kali dibaca oleh interpreter Java)
- Nama sebuah file program Java harus sama dengan nama class yang memiliki method main() di dalam tubuhnya. Perhatikan bahwa tulisan nama file dengan nama class (huruf besar maupun kecilnya) haruslah persis sama. .
- Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu Case sensitive, yaitu membedakan antara huruf besar dan kecil
- Dalam sebuah file program di Java, hanya diijinkan memiliki 1 buah class yang bersifat public
- Dalam sebuah file program Java, hanya ada satu method main(method yang pertama kali dibaca oleh interpreter Java)
- Nama sebuah file program Java harus sama dengan nama class yang memiliki method main() di dalam tubuhnya. Perhatikan bahwa tulisan nama file dengan nama class (huruf besar maupun kecilnya) haruslah persis sama. .
Output dan Input
Pernyataan
input dan output yang dimaksudkan disini merupakan pernyataan atau statement
untuk mendapatkan input dari keyboard sedangkan untuk pernyataan atau statement
output merupakan pernyataan untuk menampilkan sesuatu ke layar.
- Statement Keluaran (Output)
Statement
keluaran pada JAVA menggunakan :
”
System.out.print”
catatan :
untuk menampilkan kelayar setelah selesai tidak akan berpindah baris, akibatnya
perintah keluaran akan ditampilkan pada baris yang sama.
“System.out.println”
catatan :
untuk menampilkan kelayar juga fungsinya hanya perintah keluarannya saja saat
ditampilkan , akan ditampilakn pada baris berikutnya.
- Statement Masukan (Input)
Untuk
meng-input sebuah nilai ke variabel di java menggunakan kelas Scanner. kelas
ini sudah disediakan mulai dari JAVA versi 1.5
contoh cari
menggunakan kelas Scanner :
import
java.util.Scanner;
public class Masukan
{
public static void main (String args[])
{
Scanner input = new Scanner(System.in);
int a;
System.out.print(“Masukkan Angka : “);
a=input.nextInt();
System.out.println(“Hasil :”+a);
}
}
public class Masukan
{
public static void main (String args[])
{
Scanner input = new Scanner(System.in);
int a;
System.out.print(“Masukkan Angka : “);
a=input.nextInt();
System.out.println(“Hasil :”+a);
}
}
hasil dari
program saat di RUN :
run:
Masukkan Angka : 10
Hasil :10
BUILD SUCCESSFUL (total time: 5 seconds)
Masukkan Angka : 10
Hasil :10
BUILD SUCCESSFUL (total time: 5 seconds)
Dalam input
data sebenarnya ada beberapa jenis tipe data, dan dalam contoh program diatas
penulis menggunakan input data bertipe integer(nextInt). Dibawah ini ada
bebrapa jenis input data, yaitu sebagai berikut:
- nextString : untuk input tipe data string
- nextBoolean : untuk tipe boolean (benar atau salah)
- nextShort : input tipe data short integer
- nextLong : input tipe data long integer
- nextFloat : input tipe data float
- nextdouble : input tipe data double
Operator
Assignment
Assignment
Operator
Assignment
operator digunakan untuk memberi/mengisi nilai ke dalam variabel tertentu.
Contoh sederhana : $nama = "indarzah";
Pada contoh
di atas, operator "=" digunakan untuk mengisi nilai
"indarzah" ke dalam variabel nama.
Selain
operator "=", ada beberapa assignment operator yang lainnya, seperti
dapat dilihat pada penjelasan berikut :
Operator +=
Penjelasan :Menambahkan
nilai pada variabel
Contoh : $a
+= 3;
sama dengan
$a = $a + 3;
Operator -=
Perbandingan
Operator perbandingan berguna untuk membandingkan dua nilai
atau lebih, atau bisa juga digunakan untuk membandingkan nilai antar variabel,
dimana hasil perbandingan tersebut akan menghasilkan nilai true atau false.
Nilai variabel atau nilai yang dibandingkan pada kondisi if atau statement
condition ini disebut dengan operand. Operator perbandingan yang digunakan
dalam pernyataan-pernyataan logis untuk menentukan kesetaraan atau perbedaan
antara variabel atau nilai.
.== :
memeriksa apakah operand kanan bernilai sama dengan operand kiri
.> :
memeriksa apakah operand kiri bernilai lebih besar daripada operand kanan
< :
memeriksa apakah operand kiri bernilai lebih kecil dengan operand kanan
>= :
memeriksa apakah operand kiri bernilai lebih besar atau sama dengan operand
kanan
<= :
memeriksa apakah operand kiri bernilai lebih kecil atau sama dengan operand
kanan
!= :
memeriksa apakah operand kanan tidak bernilai sama dengan operand kiri
Matematika
Arithmetic
Operator
digunakan
untuk melakukan perhitungan matematika. Misalnya $a = 5 + 3;
Operator
"+" berfungsi untuk menambahkan kedua operand (5 dan 3).
Ada beberapa
arithmetic operator, yaitu : + : penjumlahan , -: pengurangan , * : perkalian,
/ : pembagian dan % : nilai sisa pembagian
Logika
Logical operation
berasal dari kata Yunani kuno
λόγος (logos) yang berarti hasil pertimbangan akal pikiran yang
diutarakan lewat kata dan dinyatakan dalam bahasa. Logika adalah salah satu
cabang filsafat.
Sebagai ilmu, logika disebut dengan logike episteme (Latin: logica
scientia) atau ilmu logika (ilmu pengetahuan) yang mempelajari kecakapan
untuk berpikir secara lurus, tepat, dan teratur[1].Adalah Operator yang digunakan untuk menggabungkan dua kalimat sehingga terbentuk kalimat gabungan. Nilai kebenaran kalimat gabungan ini ditentukan oleh nilai kebenaran dari kalimat-kalimat pembentuknya. Operator logika di sini bertindak sebagai fungsi.
Dan dalam kehidupan sehari hari dapat diambil contoh konjungsi magnetik misalnya:
A: Hari ini cuaca mendung
B: Hari ini akan hujan
C: Hari ini cuaca mendung dan hari ini akan hujan
D: Hari ini cuaca mendung karena itu hari ini akan hujan
Ilmu di sini mengacu pada kemampuan rasional untuk mengetahui dan kecakapan mengacu pada kesanggupan akal budi untuk mewujudkan pengetahuan ke dalam tindakan. Kata logis yang dipergunakan tersebut bisa juga diartikan dengan masuk akal.
Operator Aritmatika
Digunakan untuk mengoperasikan data-data numerik, seperti penjumlahan, pengurangan, perkalian, pembagian, dll. Dalam proses aritmatika tersebut, pengerjaan operasi tergantung dari tingkat valensi operator-operator yang terlibat. Perpangkatan memiliki valensi tertinggi, kemudian dilanjutkan dengan perkalian, pembagian, pembagian bulat dan sisa pembagian, sedangkan penjumlahan dan pengurangan mempunyai valensi yang terendah.
^ : Pangkat
* : Perkalian
/ : Pembagian real
\ : Pembagian integer
+ : Penjumlahan
- : Pengurangan
Percabangan
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.
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.
Flowchart
dan Pseodocode
1. Algoritma:
a. Tentukan
nilai a, b
b. Hitung
C =
c. Tampilkan
C
Psuodocode
a. Input
(a,b)
b. C
ß
c. Output
(c)
Flowchart
2.
Algoritma
a.
Tentukan uang
b.
Hitung p100r = uang/100000
Hitung sp100r = uang – p100r*100000
Hitung p50r = sp100r/50000
Hitung sp50r = sp100r – p50r*50000
Hitung p20r = sp50r/20000
Hitung sp20r = sp50r – p20r*20000
Hitung p10r = sp20r/10000
Hitung sp10r = sp20r – p10r*10000
Hitung p5r = sp10r/5000
Hitung sp5r = sp10r – p5r*5000
Hitung p1r = sp5r/1000
Hitung sp1r = sp5r – p1r*1000
Hitung p0,5r = sp1r/500
Hitung sp0,5r = sp1r – p0,5r*500
Hitung p0,1r = sp0,5r/100
Hitung sp0,1r = sp0,5r – p0,1r*100
c.
Tampilkan p100r, p50r, p20r, p10r, p5r, p1r,
p0,5r, p0,1r
Pseudocode
a.
Input (uang)
b.
p100r ß
uang/100000
sp100r ß
uang – p100r*100000
p50r ß
sp100r/50000
sp50r ß
sp100r – p50r*50000
p20r ß
sp50r/20000
sp20r ß
sp50r – p20r*20000
p10r ß
sp20r/10000
sp10r ß
sp20r – p10r*10000
p5r ß
sp10r/5000
sp5r ß
sp10r – p5r*5000
p1r ß
sp5r/1000
sp1r ß
sp5r – p1r*1000
p0,5r ß
sp1r/500
sp0,5r ß
sp1r – p0,5r*500
p0,1r ß
sp0,5r/100
sp0,1 ß
sp0,5r – p0,1r*100
c.
output (p100r, p50r, p20r, p10r, p5r, p1r, p0,5r,
p0,1r)
flowchart
3. Algoritma
a. Baca des
b. 1. Desimal=des/2
2. Sisa= desimal%2
3. d= d*2
4. biner= biner + sisa * d
5. jika desimal 0 pergi ke
c
6. pergi ke 1
c. cetak desimal
Pseudocode
a. input (des)
b. Desimal ß des/2
c. Sisa ß desimal%2
d. D= d*2
e. Biner ß biner+sisa*d
f.
If desimal == 0 output (desimal)
g. Else
kembali ke b
Flowchart
4. Algoritma
a. Tentukan
l,u,s,ns
b. Bonus =
1.
Jika ns
2.
Jika l <= 5 & u <=50
3.
cetak bonus 400
4.
jika l>= 5
5.
cetak bonus 250
6.
jika s
7.
Jika l <= 5 & u <=50
8.
Cetak bonus 1jt
9.
jika l<= 5 & u >= 50
10.
cetak bonus 500
11.
else s u>=50
12.
cetak bonus 300
c. tampilkan
bonus
pseudocode
a. Input
(l,u,s,ns)
b. Bonus =
1.
Jika ns
2.
Jika l <= 5 & u <=50
3.
cetak bonus 400
4.
jika l>= 5
5.
cetak bonus 250
6.
jika s
7.
Jika l <= 5 & u <=50
8.
Cetak bonus 1jt
9.
jika l<= 5 & u >= 50
10.
cetak bonus 500
11.
else s u>=50
12.
cetak bonus 300
c. Output
(bonus)
Flowchart
5. Algoritma
a. Tentukan
hari, jml
b. Jika hari
minggu- jum’at
c. Cetak hrg
hari = 33000
d. Total =
jml*hrghari
e. Jika tidak
f.
Cetak hrghari 40000
g. Total =
jml*hrghar
Pseudocode
a. Input
(hari,jml)
b. Jika hari = minggu, senin, selasa, rabu, kamis,
jum’at
c. Hrghari =
33000
d. Jika tidak
e. Hrghari =
40000
f.
Total ßjml*hrghari
g. Output
(total)
Flowchart
6. Algoritma
a. Tentukan
hari,jml,libur, tidak libur
b. Jika hari =
senin, selasa, rabu,kamis, jum’at
c. Jika libur
harga = 35.000
d. Jika tidak
harga = 15.000
e. Jika hari =
sabtu& minggu
f.
Harga = 35.000
g. Total =
jml*harga
h. Tampilkan
total
Pseudocode
a. Input
(hari,jml,libur, tidak libur)
b. Jika hari =
senin, selasa, rabu,kamis, jum’at
c. Jika libur
harga = 35.000
d. Jika tidak
harga = 15.000
e. Jika hari =
sabtu& minggu
f.
Harga = 35.000
g. Total ß jml*harga
h. Output(total)
Flowchart
7. Algoritma
a. Tentukan
harga
b. Jika
harga<=400000
c. Hitung disc
= harga*25/100
d. Jika harga
<=300000
e. Hitung disc
= harga*20/100
f.
Jika harga <= 275000
g. Hitung disc
= harga*15/100
h. Hitung disc
harga<= 150000*10/100
i.
Tampilkan disc
Pseudocode
a. Input
(harga)
b. Jika
harga<=400000
c. disc ß harga*25/100
d. Jika harga
<=300000
e. disc ß harga*20/100
f.
Jika harga <= 275000
g. disc ß harga*15/100
h. disc ß harga<= 150000*10/100
i.
output (disc)
8. flowchart
9. flowchart
10. flowchart
Kode Sumber (Source Code) beserta Outputnya
1.
package tgas2;
import java.util.*;
/**
*
* @author pc
*/
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)));
}
}
|
2.
package tgas2;
import java.util.*;
/**
*
* @author pc
*/
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
uang = uang % 50000;
if
((uang >= 20000) && (uang <50000))
{
bil1
= uang / 20000;
System.out.println("Diperlukan " + bil1 +" lembar 20000");
}
//
antara 10000-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");
}
//
antara 1000-2000
uang =
uang % 2000;
if
((uang >= 1000) && (uang <2000))
{
bil1
= uang / 1000;
System.out.println("Diperlukan " + bil1 +" lembar 1000");
}
//
antara 500-1000
uang =
uang % 1000;
if
((uang >= 500) && (uang <1000))
{
bil1
= uang / 500;
System.out.println("Diperlukan " + bil1 +" koin 500");
}
//
antara 200-500
uang =
uang % 500;
if
((uang >= 200) && (uang <500))
{
bil1
= uang / 200;
System.out.println
("Diperlukan " + bil1
+" koin 200");
}
//
antara 100-200
uang =
uang % 200;
if
((uang >= 100) && (uang <200))
{
bil1
= uang / 100;
System.out.println ("Diperlukan " + bil1 +" koin 200");
}
}
}while(uang!=0);
}
}
|
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");
}
// antara 500-1000
uang = uang % 1000;
if ((uang >= 500) &&
(uang <1000))
{
bil1 = uang / 500;
System.out.println("Diperlukan " + bil1 +" koin 500");
}
// antara 200-500
uang = uang % 500;
if ((uang >= 200) && (uang
<500))
{
bil1 = uang / 200;
System.out.println
("Diperlukan " + bil1
+" koin 200");
}
// antara 100-200
uang = uang % 200;
if ((uang >= 100) &&
(uang <200))
{
bil1 = uang / 100;
System.out.println
("Diperlukan " + bil1
+" koin 200");
}
}
}while(uang!=0);
}
}
|
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); }
}
|
3.
package tgas2;
import java.util.*;
import java.io.*;
/**
*
* @author pc
*/
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'); } } |
4.
output
5.
6.
7.
8.
package tgas2;
import java.util.*;
/**
*
* @author pc
*/
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 > 40 && nilai <=50){
System.out.println("Nilai anda adalah D");
}
else if
(nilai > 0 && nilai <=40){
System.out.println("Nilai anda adalah E");
}
}
}
|
}
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");
}
}
}
|
9.
10.
Referensi
http://agungbudisantoso24.wordpress.com/2012/02/06/statementi-input-dan-output-pada-java/
http://id.wikipedia.org/wiki/Logika
http://algoritmamayang.blogspot.com/2011/01/operator.html
Langganan:
Postingan (Atom)