Professional Documents
Culture Documents
PRODI D3 MANAJEMEN INFORMATIKA JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI SURABAYA
2013 I. DASAR TEORI a. Netbeans NetBeans adalah suatu tool untuk membuat program dengan menggunakan bahasa pemrograman Java berbasis grafis. Cara membuat program dengan merancang
tampilan menggunakan komponent visual dan proses diletakan pada event driven. Netbeans menyediakan sekumpulan perangkat lunak modular yang disebut modul yang dipakai untuk membangun suatu aplikasi. Sebuah modul adalah merupakan arsip Java (Java Archive) yang memuat kelas-kelas Java yang berinteraksi dengan NetBeans Open API . Kemudian rancangan tampilan yang dibuat menggunakan NetBens
programnya secara otomatis akan digenerate menjadi kode. b. Eclipse Eclipse adalah sebuah IDE untuk mengembangkan perangkat lunak dandapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: 1) Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. 2) Multi-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. 3) 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.
c. Penulisan Program di Java, Input, Output Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program Java :
Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java. Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa berkas bytecode dengan ekstensi .class. Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.
d. Operator: Assigment, Matematika, Perbandingan, Logika 1) Assignment Adalah operator yang menggunakan tanda sama dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.
2) Matematika Adalah operator yang digunakan untuk melaksanakan operasi aritmatika. Beberapa operator aritmatika antara lain: * : untuk perkalian + : untuk penjumlahan - : untuk pengurangan / : untuk pembagian % : untuk sisa pembagian (modulus)
3) Perbandingan Adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand. Operator perbandingan ini antara lain: < : untuk kurang dari > : untuk lebih dari <= : untuk kurang dari atau sama dengan >= : untuk lebiih dari atau sama dengan == : untuk sama dengan != : untuk tidak sama dengan <> : untuk tidak sama dengan
4) Logika
Adalah operator yang digunakan untuk melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah). Bebarapa macam operator logika antara lain: and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan kedua duanya bernilai TRUE ! : menghasilkan nilai tidak TRUE && : menghasilkan nilai TRUE jika kedua operand bernilai TRUE || : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
e. Tingkatan Operator Java memiliki 44 operator, yang terbagi dalam 4 jenis dasar, yaitu operator aritmatik, bitwise, relasi, dan logika. f. Percabangan (if, if....else, if...elseif...., switch)
1) IF
IF sederhana merupakan kombinasi antara IF THEN, hanya mengakomodasi alternative kondisi bernilai TRUE saja. Syntax dari IF sederhana: IF kondisi THEN statement_true; IF kondisi THEN BEGIN Statement1_true; Statement2_true; END;
2) IF Else
Jika pada IF sederhana, kondisi salah tidak akan melaksanakan apapun maka pada IF dengan alternatif yang merupakan kombinasi IF THEN ELSE
kondisi salah akan mempunyai statement yang dilaksanakan. Sebagai ilustrasi, perhatikan kembali Listing Program 3 1, ada kondisi yang merupakan kebalikan yaitu: a bernilai TRUE dan not a bernilai FALSE Pada saat dilaksanakan sebenarnya statement setelah IF not a THEN ..., tidak akan dilaksanakan, a:=FALSE, karena nilai a:=TRUE. Cobalah untuk mengganti maka statement setelah IF a THEN -lah yang tidak akan
dilaksanakan. Sebenarnya kedua IF sederhana tersebut dapat diringkas dengan IF THEN ELSE yang syntaxnya: IF kondisi THEN statement_true ELSE statement_false; IF kondisi THEN BEGIN END ELSE statement1_true; Statement2_true; BEGIN Statement1_false; Statement2_false; END; 3) IF Else if IF kompleks disebabkan adanya kondisi yang mempunyai lebih dari dua alternative jawaban. Syntaxnya adalah IF kondisi1 THEN statement_kondisi1_true ELSE IF kondisi2 THEN statement_kondisi1_false_kondisi2_true; ELSE statement_ kondisi1_false_kondisi2_false; IF kondisi1 THEN BEGIN statement1_kondisi1_true; Statement2_kondisi1_true; END ELSE IF kondisi2 THEN BEGIN Statement1_kondisi1_false_kondisi2_true; Statement2_kondisi1_false_kondisi2_true; END ELSE statement_kondisi1_false_kondisi2_false;
4) Switch
Dipakai pada saat kita ingin memberikan kondisi dengan beberapa syarat yang identik yang masing-masing mempunyai pernyataan yang berbeda-beda. Pada Java, nilai yang dilewatkan pada switch harus bertipe int, short, byte atau char. Sintaks dari switch adalah sebagai berikut: switch (ekspresi) { case nilai1: Pernyataan1; break; case nilai2: Pernyataan2; break; default: Pernyataan3; } Ketika ekspresi bernilai nilai1, maka alur program akan mengeksekusi pernyataan1. Selanjutnya break menyebabkan alur program keluar dari daerah switch. Kalau ekspresi bernilai nilai2, maka alur program akan mengeksekusi Pernyataan2. Apabila ekspresi mempunya nilai yang tidak sama dengan nilai1 dan nilai2, maka alur program akan menuju ke bagian default dan kemudian mengeksekusi Pernyataan3.
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, 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 Buat algoritma untuk mengkonversi bilangan dalam format desimal menjadi biner. Input : bilangan desimal Output : bilangan biner Ilustrasi:
2.
3.
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 : 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 AB B BC C D E 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 jika nilai > 40 dan nilai <= 55 jika nilai > 0 dan nilai <= 40
Jumlah Pemakaian (m3) Harga/m3 3 Pemakaian I ( < 50 m ) 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) Pemakaian II ( 51 150 ) Pemakaian III ( 151 300 ) Pemakaian IV( > 300 m3 ) Biaya Total
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.
III. FLOWCHART
2. Flowchart untuk menampilkan banyaknya pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh pengguna.
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. Flowchartnya Adalah?
5. Flowchart untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan.
7. Buatlah algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
int sisi1,sisi2,c; System.out.println("Mengitung Panjang sisi miring Segitiga sikusiku"); System.out.print("Masukan Nilai Sisi 1 sisi1 = masuk.nextInt(); System.out.print("Masukan Nilai Sisi 2 sisi2 = masuk.nextInt(); c=((sisi1*sisi1)+(sisi2*sisi2)); System.out.println("Panjang sisi miring segitiga siku-siku adalah = "+(Math.sqrt(c))); } } : "); : ");
Output :
System.out.println("Diperlukan " }
uang = uang % 50000; if ((uang >= 20000) && (uang <50000)) { bil1 = uang / 20000; System.out.println("Diperlukan " } uang = uang % 20000; if ((uang >= 10000) && (uang <20000)) { bil1 = uang / 10000; System.out.println("Diperlukan " } + bil1 +" lembar 10000"); + bil1 +" lembar 20000");
// 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");
uang = uang % 2000; if ((uang >= 1000) && (uang <2000)) { bil1 = uang / 1000; System.out.println("Diperlukan " } 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 " } } } while(uang!=0); } }
Output Program :
*/ public class num3 { public static void main(String[] args) { int angka; Scanner obj = new Scanner(System.in); System.out.print('\n'+"Masukkan Bil Desimal: "); angka = obj.nextInt(); DesToBin(angka); } static void DesToBin(int bil){ int mod=0,sisa=0, i=0; boolean loop=true; int[] zz = new int[1000]; sisa=bil; while (loop==true){ sisa = bil%2; bil= bil/2; zz[i]=sisa; i++; if((bil==0)||(bil==1)){ loop=false; zz[i]=bil; } } //Cetak Bilangan Biner System.out.print("konversinya ke bil.Biner adalah "); for (int a=i; a>=0;a--){ System.out.print(zz[a]); } System.out.print('\n'); } }
Output Program :
String kerja= ""; String usia= ""; String pegawai= ""; try{ System.out.print("Masukkan Lama Kerja : "); kerja = dataIn.readLine(); System.out.print("Masukkan Usia : "); usia = dataIn.readLine(); System.out.print("staff atau non staff : "); pegawai = dataIn.readLine(); }catch( IOException e ){ System.out.println("Error!"); } int massa = Integer.parseInt(kerja); int umur = Integer.parseInt(usia); if ("staff".equals(pegawai) && (massa>=5) && (umur>=50)){ System.out.println("Bonus anda 1.000.000"); } else if ("staff".equals(pegawai) && (massa<5)){ System.out.println("Bonus anda 500.000"); } else if ("staff".equals(pegawai) && (umur < 50)){ System.out.println("Bonus anda 300.000"); } else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){ System.out.println("Bonus anda 400.000"); }
else if ("staff".equals(pegawai) && (massa<5)){ System.out.println("Bonus anda 500.000"); } else if ("staff".equals(pegawai) && (umur < 50)){ System.out.println("Bonus anda 300.000"); } else if ("non staff".equals(pegawai) && (massa>5) && (umur>50)){ System.out.println("Bonus anda 400.000"); } else if ("non staff".equals(pegawai) && (massa<5)){ System.out.println("Bonus anda 250.000"); } else if ("non staff".equals(pegawai) && (umur<50)){ System.out.println("Bonus anda 250.000"); } else { System.out.println("Maaf, format status pegawai anda salah. Contoh = staff / non staff"); } } }
Output Program :
Output Program :
lib = libur.nextInt(); a = tiket * 15000; b = tiket * 35000; if (hari == 1 && lib != 8 || hari == 2 && lib != 8 || != 8 || hari == 4 && lib != 8 ) { System.out.println("Total yang harus dibayar adalah = } else if (hari == 1 && lib == 8 || hari == 2 && lib == lib == 8 || hari == 4 && lib == 8){ System.out.println("Total yang harus dibayar adalah = } else if (hari == 5 || hari == 6 || hari == 7)
Output Program
diskon= total * 0.20; bayar=total-diskon; System.out.print("DisC = "+diskon); System.out.print("\nYang harus dibayar = "+bayar); } else { diskon= total * 0.25; bayar=total-diskon; System.out.print("DisC = "+diskon); System.out.print("\nYang harus dibayar = "+bayar); } } }
Output Program
} 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"); } } }
Output Program
} Output Program
} else if(jml_pemakaian>1000000 && jml_pemakaian<=10000000){ pemakaian1=1000000; pemakaian2=jml_pemakaian-1000000; } else if(jml_pemakaian>10000000 && jml_pemakaian<=25000000){ pemakaian2=10000000; pemakaian3=jml_pemakaian-25000000; } else if(jml_pemakaian>25000000){ pemakaian2=10000000; pemakaian3=25000000; pemakaian4=jml_pemakaian-25000000; } cash_back_total = (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/100); DecimalFormat df = (DecimalFormat) DecimalFormat.getCurrencyInstance(); DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setCurrencySymbol(""); dfs.setMonetaryDecimalSeparator(','); dfs.setGroupingSeparator('.'); df.setDecimalFormatSymbols(dfs); String jumlah_pemakaian = "Rp. " + df.format(jml_pemakaian); String hsl_biaya_total = "Rp. " + df.format(cash_back_total); System.out.println("Seorang nasabah yang total selama sebulan "+jumlah_pemakaian+", maka total cash backnya= "+hsl_biaya_total); } else{ System.out.println("\nAda salah satu masukan yang kosong!"); return; } } }
Output Program
DAFTAR PUSTAKA