Anda di halaman 1dari 36

LAPORAN MODUL 2

PUTRI DEVI KURNIA 135623003 D3 MANAJEMEN INFORMATIKA/A FAKULTAS TEKNIK 2013

1. DASAR TEORI a. Netbeans dan Eclipse


NetBeans adalah Integrated Development Environment(IDE) berbasiskan Java dari Sun Microsystems yang berjalan di atas Swing. Swing sebuah teknologi Java untuk pengembangan aplikasi Desktop yang dapat bejalan di berbagai macam platforms seperti Windows, Linux, Mac OS X and Solaris. Suatu IDE adalah lingkup pemrograman yang diintegrasikan kedalam suatu aplikasi perangkat lunak yang menyediakan pembangun Graphic User Interface(GUI),suatu text atau kode editor, suatu compiler atau interpreter dan suatu debugger. Netbeans merupakan software development yang Open Source, dengan kata lain software ini di bawah pengembangan bersama, bebas biaya NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk : NetBeans IDE dan NetBeans Platform. The NetBeans IDE adalah sebuah lingkungan pengembangan sebuah kakas untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. Netbeans IDE ditulis dalam Java namun dapat mendukung bahasa pemrograman lain. Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDEadalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan. Tersedia juga NetBeans Platform sebuah fondasi yang modular dan dapat diperluas yang dapat digunakan sebagai perangkat lunak dasar untuk membuat aplikasi desktop yang besar. Mitra ISV menyediakan plugin bernilai tambah yang dapat dengan mudah diintegrasikan ke dalam Platform dan dapat juga digunakan untuk membuat kakas dan solusi sendiri. Netbeans berawal di sebuah kota yang jarang kita dengar yaitu kota Praha diRepublik Ceko. Di Praha terdapat sebuah universitas yaitu Universitas Charles. Ditahun 1997 beberapa mahasiswa Universitas Charles membuat sebuah proyek yang bernama Xelfi. Proyek tersebut kemudian berkembang dan sebuah perusahaan dibentuk untuk lebih mengembangkan dan membuat versi komersil proyek tersebut. Perusahaan tersebut diberi nama Forte. Pada tahun 1999 Sun Microsystem membeli perusahaan Forte sehingga memiliki hak atas pembuatan Netbeans.Pada bulan Juni tahun 2000 Sun menjadikan Netbeans opensource untuk menandingi IBM yang juga membuatproduknya eclipse menjadi open source. Dalam perkembangannya, Forte yang kini dimiliki oleh Sun diubah namanya menjadi SunONE Studio yang kemudian mengembangkan aplikasi Java Enterprise (EJB). Pada tahun 2003 Sun ONE Studio diubah lagi namanya menjadi Sun Java System.Versi awal Netbeans dimulai dari versi 3.51. Versi ini cukup banyak dipakai di dalam industri dan komunitas meskipun di dalam Netbeans ini masih cukup banyak kekurangan. Netbeans yang masih berusaha menyaingi Eclipse meluncurkan versi 4.1. Namun versi 4.1 ini pun masih

banyak kekurangannya dan masih kalah dibandingkan Eclipse. Kemudian dimunculkanlah netbeans versi 5.0 yang berubah dan jauh lebih baik dibandingkan pendahulunya. Netbeans kemudian terus berkembang dan meluncurkan versi versi dengan fitur yang lebih baik sampai sekarang versi Netbeans yang terbaru adalah versi 7.0.1Persaingan antar IDE yang ketat tinggal menyisakan tiga buah IDE yaitu Netbeans, Eclipse, dan IntelijlDEA. Dari ketiga IDE ini masing masing mempunyai keunggulan dan kelemahan sendiri sehingga tetap dipakai sebagai pengembang aplikasi java dan akan terus berkembang menyesuaikan dengan kebutuhan pemakainya.Adapun kelebihan Netbeans IDE antara lain : Mendukung berbagai bahasa pemograman seperti java,C/C++,php, Berjalan pada multiplatform sistem operasi termasuk Windows, Linux, Mac OS, Solaris Berfungsi untuk pengembangan aplikasi mobile menggunakan bahasa Java Mendukung untuk pengembangan aplikasi web menggunakan PHP Mendukung permodelan perangkat lunak menggunakan UML Terdapat banyak modul untuk mengembangkan lebih lanjut Merupakan produk free(baca:bebas) tanpa ada batasan penggunaannya Merupakan produk open source (baca:kode sumber terbuka)

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). 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. 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. Elipse+AVR plugin, dengan tambahan plugin tersebut kita dapat memprogram mikrokontroler AVR menggunakan IDE ini, selain itu keuntungan menggunakan eclipse ialah dapat bekerja di berbagai sistem operasi seperti Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. Nah sebelum menambahkan plugin ini kedalam eclipse temen2 perlu menginstal WINAVR dan AVR toolchain untuk mengaktifkan AVR GCC, informasi tersebut dapat temen2 lihat dilink berikut http://fahmizaleeits.wordpress.com/2013/02/16/avrstudio4-winavr-avr-gcc/ Eclipse : http://www.eclipse.org/downloads/ Eclipse Classic 3.7.2 (Indigo packages) :http://www.eclipse.org/downloads/packages/eclipse-classic-372/indigosr2 AVR pulgin: http://avreclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin

Nah berikut link tutorial yang dapat membantu temen2 secara lebih detail untuk langkah-langkah meng-instal Eclipse+AVR plugin: http://awawa.hariko.com/eclipse_avr_en.html http://interactive-matter.eu/how-to/developing-software-for-the-atmel-avr-withavr-eclipse-avr-gcc-avrdude/ http://www.protostack.com/blog/2010/12/avr-eclipse-environment-onwindows/ on youtube channel : http://www.youtube.com/watch?v=A_neNE0-KUM

b. Penulisan Program di Java, Input, Output


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. Pada contoh program akan ditampilkan tulisan Welcome //Nama File Welcome.java class Welcome { public static void main(String args[]) { System.out.println(Welcome); } } Langkah selanjutnya : 1.Simpan dengan nama: Welcome.java 2.compile Welcome.java : javac Welcome.java 3.hasilnya akan menghasilkan : Welcome.class 4.jalankan Welcome.class: java Welcome.class atau java Welcome 5.akan keluar hasil : " Welcome " (Tanpa Tanda Petik) Programming Tips :

Dalam penulisan bahasa program, disarankan : 1. Huruf depan dari sebuah class atau method menggunakan huruf besar. 2. Menulis Komentar pada sebuah class atau method untuk memudahkan debug (pencarian kesalahan). Serta mempermudah orang lain membaca program kita. Dalam dunia nyata, programmer bekerja secara team, jadi di usahakan partner team mengerti apa yang anda buat dengan memberikan komentar pada setiap script yang anda tulis. 3. Membuat indentasi (jarak antara induk perintah dan anak perintah). Identasi sebisa mungkin dibuat standard, semisal pada contoh diatas, jarak antara tulisan class Welcome sebagai induk perintah dengan tulisan public sebagai anak perintah adalah 5 spasi. Sekali lagi, ini untuk mempermudah dalam pemahaman program. 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); } } hasil dari program saat di RUN : run: 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: 1. 2. 3. 4. 5. 6. nextString nextBoolean nextShort nextLong nextFloat nextdouble : untuk input tipe data string : untuk tipe boolean (benar atau salah) : input tipe data short integer : input tipe data long integer : input tipe data float : input tipe data double

C.Operator: Assigment, Matematika, Perbandingan, Logika Assignment Operator


Assignment operator = merupakan operator yang digunakan untuk memberi nilai ke suatu variabel atau variabel ke variabel lain.menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=).

OPERATOR MATEMATIKA Operator matematika adalah simbol yang digunakan untuk melakukan perhitungan matematika dasar. Operator yang umum digunakan antara lain : + penjumlahan / pembagian - pengurangan ^ perpangkatan * perkalian % persentase Contoh : nilai a di C2 = 20, nilai b di D2 = 5, maka rumus perkalian di E2 adalah =C2*D2

Note : setiap rumus diawali dengan tanda sama dengan (=)

OPERATOR PERBANDINGAN Seperti artinya "Comparison" yaitu Perbandingan maka sudah lah jelas dan pasti fungsi dari operator perbandingan ini adalah untuk membandingkan antara dua pilihan nilai. Operator ini biasa digunakan pada struktur operasi if dan elseif. Operator ini selalu menghasilkan nilai TRUE ('BENAR') atau FALSE ('SALAH'). Untuk lebih jelasnya dapat diliha di Tabel berikut ini Perbandingan yang Beberapa Operator dipakai:

Operator f == k f k === f! = k

Nama Sama Dengan Identik Tidak sama

Deskripsi Benar jika f sama dengan k Benar jika f sama dengan k, dan mereka adalah dari jenis yang sama Benar jika f tidak sama dengan k Benar jika f tidak sama dengan k, atau mereka bukan dari jenis kang sama Benar jika f lebih besar dari k Benar jika f kurang dari k Benar jika f lebih besar dari atau sama dengan k Benar jika f kurang dari atau sama dengan k Benar jika f tidak sama dengan k, atau mereka bukan dari jenis kang sama

Contoh 5 == 8 returns false 5 === "5"returns true 5! = 8 returns true 5<>8 returns true 5> 8 returns false 5<8 returns true 5> = 8 returns false 5<=8 returns true 5!=="5"returns false

f <> k f> k f <k f> = k f <= k

Tidak sama Lebih besar dari Kurang dari Lebih besar dari atau sama dengan Kurang dari atau sama dengan Tidak identik

f! == k

OPERATOR LOGIKA Operator logika itu adalah operator yang digunakan untuk membandingkan dua nilai boolean. Biasanya digunakan untuk menggabungkan hasil dari operator pembanding. Ada dua operator di operator logika :

and (&&) dan

or (||)

Berikut adalah hasil dari operasi logika && :


true && true = true true && false = false false && true = false false && false = false

dan ini adalah hasil dari operator logika || :


true || true = true true || false = true false || true = true false || false = false

Jadi dalam operator logika && hanya akan menghasilkan true jika kedua nilai true dan operator logika || akan menghasilkan false jika kedua nilai false (kebalikannya). /** * Copyright (c) 2012 @khannedy and/or its affiliates. All rights reserved. * @khannedy PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package khannedy.pakarjava.javadasar; /** * * @author Eko Kurniawan Khannedy */ public class OperatorLogika { /** * @param args the command line arguments */ public static void main(String[] args) { boolean hasil;

hasil = true && true; System.out.println(hasil); hasil = true && false; System.out.println(hasil); hasil = false && true; System.out.println(hasil); hasil = false && false; System.out.println(hasil); hasil = true || true; System.out.println(hasil); hasil = true || false; System.out.println(hasil); hasil = false || true; System.out.println(hasil); hasil = false || false; System.out.println(hasil); } }

D.TINGKATAN OPERATOR
ASSIGNMENT OPERATOR (OPERATOR PENUGASAN) Operator ini berfungsi untuk menyalin suatu nilai yang terletak di sebelah kanan ke dalam suatu variable yang terletak disebelah kirimya. Assignment operator ini hanya mempunyai macam operator, yaitu = Contoh program : int a: a=7+5;

Pada baris kedua diberikan assignment operator, yang bertugas menyalin nilai disebelah kanannya (7+5), ke dalam variable a yang terletak di sebelah kirinya, sehingga sesudah baris kedua dieksekusi, variable a akan bernilai 12. ARITHMATIC OPERATOR (OPERATOR ARITMATIKA) Operator ini berfungsi untuk operasi aritmatika. Yang termasuk dalam aritmatik operator adalah sebgai berikut : Aritmatic Operator Keterangan + Operasi Penambahan Operasi Pengurangan * Operasi Perkalian / Operasi Pembagian % Operasi Modulus Contoh program : Berikut adalah program untuk menghitung nilai deskriminan D=b2-4ac dari suatu persamaan kuadrat ax2 + bx + c = 0 public class Deskriminan { public static void main(Stringargs[]) { float a, b, c, d; a = 4.OF; b = 5.OF; c = 6.OF; d = b*b 4*a*c; System.out.print(Diskriminan = +d); } } Hasil eksekusi : Deskriminan = -71.0

RATIONAL OPERATOR (OPERATOR RELASI) True atau false Dibaca : apakah Relational operator (operator relasi) adalah operator yang sering dipakai untuk operasi perbandingan dan selalu menghasilkan suatu nilai bertipe boolean (true atau false) . yang termasuk logikal operator adalah sebagai berikut : Rational Operator == != > >= Keterangan Operasi perbandingan sama dengan Operasi perbandingan tidak sama dengan Operasi perbandingan lebih besar Operasi perbandingan lebih besar sama

< <=

dengan Operasi perbandingan lebih kecil Operasi perbandingan lebih kecil sama dengan

OPERATOR LOGIKA Operator Logika memiliki satu atau lebih operan boolean yang menghasilkan nilai boolean. Ada enam operator logika yaitu Logical Operator Keterangan ! Operasi negasi (NOT) & Operasi AND | Operasi OR ^ Operasi XOR && Operasi AND (short circuit) || Operasi OR (short circuit) Operator !,&, | dan ^ mempunyai implementaso yang sama sebagaimana ketika ia menjadi bitwise operator. Hanya saja di logical operator, operan yang dilibatkan disini harus bertipe boolean, yang hanya mempunyai nilai true atau false. Operator && (short cicuit) Operator && adalah operator yang berfungsi untuk melakukan operasi AND pada bit-bit nilai operan yang bertipe boolean. Operator 77 memounyai ketentuan sebagaimana ketentuan operator &. Hanya saja perbedaan terletak pada saat operasi AND sudah dapat menghasilkan suatu nilai dari operan pertama, maka operasi AND dengan && tidak lagi melihat operankedua, sedangkan operasi AND dengan & masih melihat operan kedua. Oleh karena itu operator && disebut juga dengan short cicuit boolean operator. Sehingga operator 77 mempunyai ketentuan sebagai berikut : Operan 1 Operan 2 Hasil && False Tidak dilihat False False Tidak dilihat False True 0 False True 1 True Berikut adalah 2 contoh program sederhana untuk membedakan pemakaian operator& dan operator && : Hasil eksekusi : public class BooleanAnd { public static void main(String args[]) { int a=5, b=7; if ((a<2) & b(b++<10)) b+=2; System.out.printIn(b); } } \ public class BooleanAnd { public static void main(String args[]) { int a=5, b=7; if ((a<2) & b(b++<10)) b+=2; 8

PERCABANGAN IF, IF-ELSE, ELSE-IF, dan 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 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

1. 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 : Output - Hari (Minggu, Senin, Selasa, Rabu, Kamis, Jumat atau Sabtu) - Jumlah baris yang dipakai : 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 Output : Total nilai belanja. : 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 AB B BC C jika nilai > 80 dan nilai <= 100 jika nilai > 70 dan nilai <= 80 jika nilai > 65 dan nilai <= 70 jika nilai > 60 dan nilai <= 65 jika nilai > 55 dan nilai <= 60

D E

jika nilai > 40 dan nilai <= 55 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,3 Pemakaian I V( > 300 m ) Rp.1.500,Input : Jumlah Pemakaian Output : Besar biaya yang harus dibayar Jumlah Pemakaian = 500 m3 Pemakaian I ( s/d 50 m3) Pemakaian II ( 51 150 ) Pemakaian III ( 151 300 ) Pemakaian IV( > 300 m3 ) Biaya Total

Rp. 200,- * 50 = Rp. 500,- * 100 = Rp. 1.000,-* 150 = Rp.1.500,- * 200 =

Rp. 10.000,Rp. 50.000,Rp. 150.000,Rp. 300.000,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.

3. Flowchart atau psoudocode dari masing-masing soal


1. a. b. c. Algoritma Tentukan nilai a, b Hitung C = Tampilkan C

Psuodocode

a. Input (a,b) b. C c. Output (c) Flowchart


start

a.b

C=

end

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

start

uang

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 p10r p5r*5000 p1r = sp5r/1000 sp1r = sp5r p1r*1000 p0,5r = sp1r/500 sp0,5r = sp1r p0,5r*500 Hitung p0,1r = sp0,5r/100 Hitung sp0,1r = sp0,5r p0,1r*100

p100r, p50r, p20r, p10r, p5r, p1r, p0,5r, p0,1r

end

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. b. c. d. e. f. g. input (des) Desimal des/2 Sisa desimal%2 D= d*2 Biner biner+sisa*d If desimal == 0 output (desimal) 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
start

l,u,s,ns

If ns

If l <= 5 & u <=50

bonus 1jt

If l <= 5 & u <=50

If l<= 5 & u >= 50 bonus 400

bonus 500

bonus 250

bonus 300

end

5. Algoritma a. Tentukan hari, jml b. Jika hari minggu- jumat c. Cetak hrg hari = 33000 d. Total = jml*hrghari e. Jika tidak f. Cetak hrghari 40000 g. Total = jml*hrghar

Pseudocode a. b. c. d. e. f. g. Input (hari,jml) Jika hari = minggu, senin, selasa, rabu, kamis, jumat Hrghari = 33000 Jika tidak Hrghari = 40000 Total jml*hrghari Output (total)

Flowchart
start

Hari,jml

If hari = minggu senin, selasa, rabu, kamis, jumat

tidak

Hrghari= 40000

ya Hrghari=330 00

Total = jml*hrghari

total

end

6. Algoritma a. Tentukan hari,jml,libur, tidak libur b. Jika hari = senin, selasa, rabu,kamis, jumat

c. d. e. f. g. h.

Jika libur harga = 35.000 Jika tidak harga = 15.000 Jika hari = sabtu& minggu Harga = 35.000 Total = jml*harga Tampilkan total

Pseudocode a. b. c. d. e. f. g. h. Input (hari,jml,libur, tidak libur) Jika hari = senin, selasa, rabu,kamis, jumat Jika libur harga = 35.000 Jika tidak harga = 15.000 Jika hari = sabtu& minggu Harga = 35.000 Total jml*harga Output(total)

Flowchart

start

Hari,jml

If hari = senin, selasa, rabu, kamis, jumat

tidak

Harga=35000

ya

If hari1=libur

tidak

ya Hrghari=330 00

Total = jml*hrghari

total

end

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. b. c. d. e. f. g. h. i. Input (harga) Jika harga<=400000 disc harga*25/100 Jika harga <=300000 disc harga*20/100 Jika harga <= 275000 disc harga*15/100 disc harga<= 150000*10/100 output (disc)

flowchart

start

harga

Harga<=400000

Disc=harga*25/100

Harga<=300000 dan harga>400000

Dic=harga*20/100

Harga<=275000 dan harga>300000

Disc=haga*15/100

Harga<=150000 dan harga>275000

Disc=harga*10/100

t disc Tidak dapat disc

end

8. algoritma a. tentukan tugas1,tugas2,tugas3,UTC,UAC b. hitung nilai = ((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100) c. jika nilai > 80 dan nilai <= 100 d. cetak A e. jika nilai > 70 dan nilai <= 80

f. g. h. i. j. k. l. m. n. o.

cetak AB jika nilai > 65 dan nilai <= 70 cetak B jika nilai > 60 dan nilai <= 65 cetak BC jika nilai > 55 dan nilai <= 60 cetak C jika nilai > 40 dan nilai <= 55 cetak D

Cetak E

Pseudocode a. b. c. d. e. f. g. h. i. j. k. l. m. n. o. Input (tugas1,tugas2,tugas3,UTC,UAC) nilai (((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)


jika nilai > 80 dan nilai <= 100 output (A) jika nilai > 70 dan nilai <= 80 output (AB) jika nilai > 65 dan nilai <= 70 output (B) jika nilai > 60 dan nilai <= 65 output (BC) jika nilai > 55 dan nilai <= 60 output (C) jika nilai > 40 dan nilai <= 55 output (D)

output (E)

flowchart

start a Input tugas1,tugas 2,tugas3,UTC ,UAC Nilai = ((tugas1+tugas2+tug as3)/3*30/100) +(UTC*30/ 100)+(UAC*40/100) t

nilai > 55 dan nilai <= 60

Cetak C

nilai > 40 dan nilai <= 55 nilai > 80 dan nilai <= 100 y Cetak A t t

Cetak D

nilai > 70 dan nilai <= 80

Cetak E y Catak AB

nilai > 65 dan nilai <= 70

end y Cetak B

nilai > 60 dan nilai <= 65

Cetak BC

9. algoritma a. tentukan pemakaian air b. jika pemakaian air <=50 c. hitung biaya = 200* pemakaian air d. jika pemakaian air <50 dan pemakaian air >=150 e. hitung biaya = 50*200 + (pemakaian air-50)*500 f. jika pemakaian air <150 dan pemakaian air >= 300 g. hitung biaya = 50*200 + 100*500+(pemakaian air-150)*1000 h. hitung biaya = 50*200+100*500+150*100(pemakaian air-300)*1500 i. tampilkan biaya pseudocode a. input (pa)

b. c. d. e. f. g. h. i.

jika pa<= 50 biaya 200* pa jika pa <50 dan pa >=150 biaya 50*200 + (pa-50)*500 jika pa <150 dan pa >= 300 biaya 50*200 + 100*500+(pa-150)*1000 biaya 50*200+100*500+150*100(pa-300)*1500 output(biaya)

flowchart
start

Input pa

pa<= 50

biaya = 200* pa

pa <50 dan pa >=150

biaya = 50*200 + (pa-50)*500

pa <150 dan pa >= 300

biaya = 50*200 + 100*500+(pa150)*1000

t biaya = 50*200+100*500+1 50*100(pa300)*1500

Output biaya

end

10. algoritma a. tentukan total b. jika total >= 1000000 c. hitung cb = 5/100*total d. jika total <1000000 dan total >= 10000000 e. hitung cb = 5/100*1000000 + 6/100* (total-1000000) f. jika total < 10000000 dan total >= 25000000 g. hitung cb = 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000) h. hitung cb =5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total20000000) i. tampilkan cb pseudocode a. b. c. d. e. f. g. h. i. input (total) jika total >= 1000000 cb 5/100*total jika total <1000000 dan total >= 10000000 cb 5/100*1000000 + 6/100* (total-1000000) jika total < 10000000 dan total >= 25000000 cb 5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000) cb 5/100*1000000 + 6/100*9.000.000+7/100*10000000+8/100*(total-20000000) output(cb)

flowchart

start

Input total

total >= 1000000

cb = 5/100*total

total <1000000 dan total >= 10000000

cb = 5/100*1000000 + 6/100* (total1000000)

t cb = 5/100*1000000 + 6/ 100*9.000.000+7/ 100*(total10000000)

total < 10000000 dan total >= 25000000

t cb =5/100*1000000 + 6/ 100*9.000.000+7/ 100*10000000+8/ 100*(total20000000)

tampilkan cb

end

2. Kode Sumber (Source Code) beserta Outputnya


No.1

No.2

No.3

No. 4

5. Referensi
http://tentangjaket.blogspot.com/2011/07/aturan-penulisan-contoh-hasil-program.html
http://fahmizaleeits.wordpress.com/tag/eclipse-adalah/ http://agungbudisantoso24.wordpress.com/2012/02/06/statementi-input-dan-output-pada-java/ http://pakarjava.wordpress.com/2012/05/25/operator-logika/ http://fikiwan.blogspot.com/2012/02/operator-perbandingan-comparison.html

Anda mungkin juga menyukai