Selasa, 05 November 2013

LAPORAN TUGAS MODUL 2 PRAKTIKUM DASAR PEMROGRAMAN OLEH : Cyndi Cintya Anugerah 135623067 MANAJEMEN INFORMATIKA UNEVERSITAS NEGERI SURABAYA 2013 1. Dasar teori • Netbeans dan Eclipse netbeans beda dengan eclipse netbeans punya fasilitas codecompletion (full wizard) artinya sedikit ngetik banyak program yang kita hasilkan (tinggal drag n drop). netbeans sangat cocok unt fast development dan bagus unt edukasi. semua tergantung dari kita mau pilih yang mana : wizard or fullcontrol. eclipse eclipse menyediakan fasilitas yang namanya fullcontrol, artinya programmer diberikan fasilitas unt mengatur dan mengkonfigurasi semua programnya sendiri (none wizard). mulai dari development sampai deployment kita sendiri yang mengatur. karena alasan inilah kebanyakan developer biasanya banyak yang menggunakan eclipse dan karena alasan ini pula yang membuat eclipse kurang disenangi dan kurang cocok unt pemula. • Penulisan program di java Input, Output Program Java : Input Output, if, equals( ), equalsIgnoreCase( ) Kita akan membuat 2 file, letakkan file dalam folder yang sama. File 1: DataMahasiswa.java 1. public class DataMahasiswa { 2. String nama, namaJurusan; 3. int nim, jurusan; 4. //Constructor 5. public DataMahasiswa(int x, String y, int z) { 6. nim = x; nama = y; jurusan = z; 7. } 8. //Method 9. public int getNim(){ 10. return nim; 11. } 12. public String getNama(){ 13. return nama; 14. } 15. public int getJurusan(){ 16. if (jurusan==1){ 17. namaJurusan="SI"; 18. } 19. else if (jurusan==2){ 20. namaJurusan="TI"; 21. } 22. else if (jurusan==3){ 23. namaJurusan="MI"; 24. } 25. else { 26. namaJurusan="Anda Salah isi Data !"; 27. } 28. return jurusan; 29. } 30. public void cetak(){ 31. System.out.println("Nim : "+getNim()); 32. System.out.println("Nama : "+getNama()); 33. System.out.println("Jurusan : "+getJurusan()); 34. System.out.println("Nama Jurusan : "+namaJurusan); 35. 36. } 37. } File 2: MahasiswaBeraksi.java 1. public class MahasiswaBeraksi { 2. public static void main (String[] args){ 3. //inisiasi Obj 4. DataMahasiswa obj = new DataMahasiswa(234434,"Fathan",3); 5. obj.cetak(); 6. } 7. 8. } out put-nya: Bagaimana merubahnya jadi bisa di input ? Cukup dengan merubah file : MahasiswaBeraksi.java menjadi : 1. import java.io.*; 2. public class MahasiswaBeraksi { 3. public static void main (String[] args)throws Exception{ 4. int nim, jurusan; 5. String nama; 6. BufferedReader inputan = new BufferedReader (new InputStreamReader(System.in)); 7. System.out.print("Masukkan Nim : "); 8. nim = Integer.parseInt(inputan.readLine()); 9. System.out.print("Masukkan Nama : "); 10. nama = inputan.readLine(); 11. System.out.print("Masukkan Jurusan : "); 12. jurusan = Integer.parseInt(inputan.readLine()); 13. DataMahasiswa obj = new DataMahasiswa(nim,nama,jurusan); 14. obj.cetak(); 15. } 16. } sehingga out put-nya : Bagaimana penggunaan equals? 1. Ubah beberapa script di file DataMahasiswa.java hanya merubah tipe data dari Integer menjadi String. String nama, namaJurusan, jurusan; int nim; ini juga: public DataMahasiswa(int x, String y, String z) { nim = x; nama = y; jurusan = z; } ini juga, dan tambahkan equals : public String getJurusan(){ if (jurusan.equals("1")){ namaJurusan="SI"; } else if (jurusan.equals("2")){ namaJurusan="TI"; } else if (jurusan.equals("3")){ namaJurusan="MI"; } else { namaJurusan="Anda Salah isi Data !"; } return jurusan; } 2. Selanjutnya kita juga perlu merubah file MahasiswaBeraksi.java : yang ini di ubah: int nim; String nama, jurusan; ini juga : System.out.print("Masukkan Jurusan : "); jurusan = inputan.readLine(); Out Put-nya sama seperti diatas hanya saja kita sudah menggunakan method equals. Kasus Selanjutnya misalkan, kita ingin menginput jurusan dengan menggunakan huruf a menggantikan 1, b menggantikan 2, dan c menggantikan 3. tapi tidak case sensitif maksudnya kita tetap bisa memasukkan a atau A akan dianggap sama. Hayo gimana? yup betul pake method equalsIgnoreCase() Caranya bukalah file1 : DataMahasiswa.java dan ubahlah : public String getJurusan(){ if (jurusan.equalsIgnoreCase("a")){ namaJurusan="SI"; } else if (jurusan.equalsIgnoreCase("b")){ namaJurusan="TI"; } else if (jurusan.equalsIgnoreCase("c")){ namaJurusan="MI"; } else { namaJurusan="Anda Salah isi Data !"; } return jurusan; } • Operator: Assigment, Matematika, Perbandingan, Logika • Operator Perbandingan Operator ini digunakan untuk melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain. Contoh Nama Hasil $x == $y Sama dengan BENAR jika $x sama dengan $y. $x === $y Identik BENAR jika $x sama dengan $y, dan keduanya memiliki tipe yang sama. $x != $y Tidak sama dengan BENAR jika $x tidak sama dengan $y. $x <> $y Tidak sama dengan BENAR jika $x tidak sama dengan $y. $x !== $y Tidak identik BENAR jika $x tidak sama dengan $y, 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 orang lakukan adalah menggunakan operator assignment (“=”) untuk membandingkan, sehingga untuk mambandingkan apakah 2 variabel sama atau tidak dalam sebuah percabangan menuliskan: • If ($x = $y) • seharusnya • If ($x == $y) • 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 Operator ini digunakan untuk melakukan matematika dasar. 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. • Tingkatan operator • Berikut ini urutan/hirarki operator aritmatika dari urutan tertinggi ke urutan terendah : • 1. Pemangkatan (^) • 2. Perkalian ( x ) dan pembagian ( / ) • 3. Penjumlahan ( + ) dan Pengurangan ( – ) • Pada Wall yang saya tulis, saya memberikan pertanyaan 2+2+2×0 maka proses pengerjaannya adalah… • y = 2+2+2×0 • y = 2+2+0 • y = 4 • Jawaban yang benar adalah 4, nah yang tadi jawab 0, 6 & tak terhingga ataupun Unlimited ya jelas salah… • Untuk membuktikan, coba buka Excel dan ketik =2+2+2×0 dan hasilnya bisa anda buktikan sendiri. • • =2+2+2×0 • • Hasilnya adalah 4  Percabangan (if, if....else, if...elseif...., 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. 2. Soal Praktikum 1. Tuliskan algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui diketahui panjang dua sisi yang membentuk sudut siku-siku. Petunjuk: sisi miring segitiga siku-siku dapat dihitung dengan rumus pythagoras, 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 ’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. JAWAB: 1. a. Input a dengan nilai misal 6 b. Input b dengan nilai misal 8 c. Proses (boleh dimasukkan angka) d. Print (c) 2. menentukan input (uang), dimisalkan uang berjumlah Rp 125.500 a) hitung pecahan 100.000 : =1 b) hitung pecahan 50.000 : =0 c) hitung pecahan 20.000 : =1 d) hitung pecahan 10.000 : =0 e) hitung pecahan 5.000 : =1 f) hitung pecahan 2.000 : =0 g) hitung pecahan 1.000 : =0 h) hitung pecahan 500 : =1 i) hitung pecahan 200 : =0 j) hitung pecahan 100 : =0 k) Tampilkan hasil (1010100100) l) Print 3. a) Input angka desimal, misal 97 b) Proses: 9710 = 97:2 = 48, sisa 1 48:2 = 24, sisa 0 24:2 = 12, sisa 0 12:2 = 6 , sisa 0 6:2 = 3 , sisa 0 3:2 = 1 , sisa 1 c) Tampilkan hasil  1100001 (dari bawah ke atas) d) Print 4. a) Input Select Case StatusPegawai b) Input Case StatusStaff c) If MasaKerja >= 5 Then d) If Umur >= 50 Then e) Bonus = 1000000 f) Else g) Bonus = 300000 h) End If i) Else j) Bonus = 500000 k) End IF l) Case Else m) If MasaKerja >= 5 Then n) If Umur >= 50 Then o) Bonus = 400000 p) Else q) Bonus = 250000 r) End If s) Else t) Bonus = 250000 u) End IF v) End Select 5. a) Input Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris b) Input Hari Sabtu Rp 40.000/ baris c) Input jml baris minggu s/d jum’at = 50 Input jml baris, Hari Sabtu =12 d) Proses, Jika Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris Jika Hari Sabtu Rp 40.000/ baris e) Harga*jumlah baris f) Tampilkan hasil g) Print 6. a) Input Hari Senin, Selasa, Rabu, Kamis Rp 15.000 b) Input Hari Jum’at, sabtu, mingggu, Libur Rp 35.000 c) Input Jumlah tiket yang dibeli, Dimisalkan juml.tiket Hari Senin, Selasa, Rabu, Kamis = 5 tiket Dimisalkan juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15 d) Proses, jika Hari Senin, Selasa, Rabu, Kamis Rp 15.000* juml.tiket Hari Senin, Selasa, Rabu, Kamis (5) Jika Hari Jum’at, sabtu, mingggu, Libur Rp 35.000* juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15 e) Tampilkan hasil (600000) f) Print 7. a) Input Total nilai belanja b) Subtotal, jml* harga barang c) Proses, Jika Rp. 150.000,- ke atas diskonnya : 10%, Jika Rp. 275.000,- ke atas diskonnya : 15%, Jika Rp. 300.000,- ke atas diskonnya : 20%, Jika Rp. 400.000,- ke atas diskonnya : 25% d) Hitung total bayar subtotal- potongan e) Tampilkan total bayar f) Print 8. a) Masukkan 5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC) b) Hitung nilai rata - rata tugas = nilai tugas1+tugas2+tugas3 / 3. c) Lalu hitung semua nilai : Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%)) d) Seleksi nilai akhir. e) Jika nilai akhir : > 80 dan <=100 maka nilai huruf = A > 70 dan <=80 maka nilai huruf = AB > 65 dan <=70 maka nilai huruf = B > 60 dan <=65 maka nilai huruf = BC > 55 dan <=60 maka nilai huruf = C > 40 dan <=55 maka nilai huruf = D > 0 dan <=40 maka nilai huruf = E f) Output : hasil nilai akhir dan hasil seleksi nilai huruf 9. a) Masukkan Jumlah Pemakaian Air. b) Hitung jumlah nilai/pemakaian yang dimasukkan : 1) Seleksi jika pemakaian < 0, maka Biaya total = Jumlah * 0. 2) Seleksi jika pemakaian <= 50, maka Biaya total = Jumlah * 200 3) Seleksi jika pemakaian <= 150, maka Biaya total = ((50 * 200) + ((jumlah - 50) * 500)) 4) Seleksi jika pemakaian <= 300, maka Biaya Total = ((50 * 200) + (100 * 500) + ((jumlah - 150) * 1000)). 5) Seleksi jika pemakaian > 300, maka Biaya Total = ((50 * 200) + (100 * 500) + (150 * 1000) + ((jumlah - 300) * 1500)) c) Output : Biaya Total 10. a) Ambil input user untuk memasukkan jumlah pemakaian Kartu Kredit a. Masukkan ke variabel string pemakaian b. Jika panjang inputan string pemakaian lebih dari 0, atau dengan kata lain b) user telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan nama variabel c) input jml_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan, pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000. d) Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= e. jml_pemakaian. e) Atau jika nilai pada variabel jml_pemakaian > 1.000.000, dan nilaipada variabel jml_pemakaian <= 10.000.000 f) Memberikan nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000 g) Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= jml_pemakaian – 1.000.000 atau jika nilai pada variabel jml_pemakaian > 10.000.000, dan nilai pada variabel jml_pemakaian <= 25.000.000 h) Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000 i) Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= jml_pemakaian – 25.000.000.Atau jika nilai pada variabel jml_pemakaian > 25.000.000 j) Memberikan nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000 k) Memberikan nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000 l) Memberikan nilai pada variabel pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000 m) Memberikan nilai pada variabel cash_back_total dengan,cash_back_total= (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10) n) Cetak output dengan format, "Seorang nasabah yang total selama sebulan "+jml_pemakaian+", maka total cash backnya="+cash_back_total.Atau Jika panjang inputan tidak lebih dari 0, atau dengan kata lain user belum menginputkan value o) Cetak output “Ada salah satu masukan yang kosong” p) Stop proses 4. Flowchart atau pseudocode dari masing masing soal 1) 2) 3) 4) 5) 6) 7) 8) C D 9) 10) 5. Source Code beserta Output import javax.swing.JOptionPane; public class JOptionDemo { public static void main(String[] args) { String fullName = " "; String strAge = " "; int age = 0; fullName = JOptionPane.showInputDialog(null, "Enter your full name: "); JOptionPane.showMessageDialog(null, "Your full name is " + fullName); strAge = JOptionPane.showInputDialog(null, " Enter your age: "); age = Integer.parseInt(strAge); JOptionPane.showConfirmDialog(null, age, "Is this your real age?", JOptionPane.OK_CANCEL_OPTION); JOptionPane.showMessageDialog(null, "Your age is " + age + "."); } } Referensi: http://nikmanik.blogspot.com/p/perbedaan-eclipse-dan-neatbeans.html http://blog.greyterminal.net/2010/04/program-java-input-output-if-equals.html http://rowcket.wordpress.com/2012/10/24/operator-perbandingan-logika-dan-aritmatika-di-php/ http://eva-00.web.id/hirarki-urutan-operator-aritmatik-agar-proses-perhitungan-tidak-rancu.html http://agungimam.blogspot.com/2013/04/percabangan-java-if-else-if-if-else.html

Sabtu, 21 September 2013

PRAKTIKUM DASAR PEMROGRAMAN


  1. Dasar teori
  1. Dasar teori tentang algoritma dan pemrogramman
Dalam Mempelajari Teori Algoritma dan Pemrograman dalam matakuliah Algoritma dan Pemrograman, maka perlulah mahasiswa terlebih dahulu mengenal akan definisi-definisi masing-masing dari kata  ‘Algoritma’ serta ‘Pemrograman’.
Beberapa definisi Algoritma adalah  seperti berikut ini :
  • Pola pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
  • Urutan logis pengambilan keputusan untuk pemecahan masalah.
  • Urutan langkah berhingga untuk memecahkan masalah logika dan matematika
Sedangkan definisi dari Pemrograman yaitu Proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.
Adapun ilustrasi proses pemrograman, terlihat dalam gambar 1.1. berikut ini :

Gambar 1.1. Diagram alir Proses Pemrograman
  1. Karakteristik Algoritma
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.
  • Setiap langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”
  • Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
  • Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
  • Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.
  1. Flowchart
Flowchart adalah jenis diagram yang mewakili suatu algoritma atau proses, menunjukkan langkah-langkah sebagai kotak dari berbagai jenis, dan ketertiban mereka dengan menghubungkan mereka dengan panah. Representasi diagram menggambarkan solusi untuk masalah yang diberikan. Operasi proses direpresentasikan dalam kotak-kotak ini, dan panah, melainkan, mereka tersirat oleh urutan operasi. Flowchart digunakan dalam menganalisis, merancang, mendokumentasikan atau mengelola proses atau program di berbagai bidang
  1. Pseudocode
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan
suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua


  1. Bahasa pemrogramman
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses komputasi umumnya Bahasa pemrograman == Komputer adalah mesin yang dapat melaksanakan seperangkat perintah dasar (instruction set). Komputer hanya dapat diberi perintah yang terdiri dari perintah-perintah dasar tersebut.
Perintah-perintah yang lebih rumit (misalnya mengurutkan suatu daftar sesuai abjad) harus diterjemahkan menjadi serangkaian perintah-perintah dasar yang dapat dimengerti komputer (perintah-perintah yang termasuk dalam instruction set komputer tersebut) yang pada akhirnya dapat mennyelesaikan tugas yang diinginkan, meskipun dijalankan dengan beberapa operasi dasar, bukan satu operasi rumit.



LANGKAH-LANGKAH PEMECAHAN MASALAH
1. A. Siapkan gelas c
B. Tuangkan isi gelas a ke gelas c
C. Tuangkan isi gelas b ke gelas a
D. Tuangkan isi gelas c ke gelas b
2. A. Ambil air menggunakan ember 3L
B. Tuang air dalam ember tersebut ke dalam ember 5L
C. Ambil air lagi dengan menggunakan ember 3L dan tuangkan ke ember 5L, maka akan tersisa 1L di ember 3L
D. Buang isi di ember 5L tersebut, dan tuangkan sisa air 1L tadi
E. Ambil air kembali menggunakan ember 3L, dan tuang ke ember satunya
3. A. Orang dengan kecepatan 1 detik dengan 3 detik berjalan lebih dulu
B. Lalu orang dengan kecepatan 1 detik kembali, dan berjalan lagi bersama orang yang kecepatannya 6 detik
C. Orang dengan kecepatan 1 detik kembali
D. Orang dengan kecepatan 8 detik berjalan bersama orang dengan kecepatan 12 detik
E. Lalu orang dengan kecepatan 3 detik kembali menjemput orang dengan kecepatan 1 detik
4. A. 2 kanibal menyebrang terlebih dahulu
B. 1 kanibal kembali dan Menjembut 1 kanibal lainya. Maka akan tersisa 1 kanibal di perahu
C. Kanibal tersebut kembali dan bertukar dengan 2 rahib
D. Lalu 1 rahib turun dan bertukar dengan 1 kanibal dan kembali
E. 1 kanibal turun dan bertukar dengan rahib
F. Saat sampai diseberang, 2 rahib turun dan bertukar dengan 1 kanibal.
G. Kanibal kembli dan menjemput satu-persatu kanibal lainnya
5. A. Petani membawa kambing terlebih dahulu
B. Petani kembali untuk menjemput serigala
C. Lalu petani mengambil kambing kembali, dan menukarnya dengan sayur
D. Saat kembali petani meletakkan sayur dan menjemput kambing



REFERENSI