LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM PENYEDERHANAAN PECAHAN
Disusun oleh : Nama NIM Asisten 1 Asisten 2 Asisten 3 Dosen Pengampu
: Sigit Pangestu : 135150201111188 : Fattah Rizki Hizama Lubbi : Risza Nurrachman :: Drs. Mardji, M.T
LABORATORIUM KOMPUTER DASAR PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA 2013 Pengesahan Tanggal: Asisten
By sigit pangestu Universitas brawijaya asal kediri
A. Definisi Masalah 1. 2. 3. 4.
Buatlah sebuah program yang dapat menyederhanakan nilai suatu pecahan biasa maupun campuran. program tersebut memppunyai Menu : 1.bilangan pecahan biasa,2.bilangan pecahan campuran dan 3.keluar. Program dapat mengimputkan pembilang dan penyebut serta nilai desimal(bila pecahan campuran) dari user. Program akan kembali ke awal bila sudah melakukan penyederhanaan dan hanya bisa keluar bila dipilih no.3 serta jika pilihan user lebih dari 3 maka program akan memberitahu user bahwa user salah memasukkan pilihan.
B. Pembahasan 1-2 Melakukan import dari package Scanner,kita mengetik “import java.util.Scanner;” memungkinkan kita mengimport/ memasukkan inputan berupa angka atau kata 3-4 Deklarasi kelas dan method main,disini kita mengetik” public class Sederhanakanbil2 {” digunakan untuk menentukan class dari project,dan mengetikkan “public static void main(String[] args) {” digunakan untuk menetukan bagaimana claasnya apakah bersifat umum(public) atau private 5 Deklarasi variable Scanner dan nama variable input,disini kita mengetikkan” Scanner masukan=new Scanner(System.in);” ini berarti program meminta masukan baru dari user/keyboard untuk kemudian diolah/diproses oleh program 6 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan dan masukkan nama-nama variable yang akan diproses,yaitu pilih dan pilihan di deklarasikan sama dengan 9,karena bilangan terdiri hanya sampai 9 saja 7 Perintah looping do yaitu perintah loop untuk memproses data dahulu kemudian di di uji oleh perintah while pada akhir blok. 8-12 perintah untuk mencetak keluaran : _________MENU_________, 1. Bilangan Pecahan biasa, 2. Bilangan Pecahan campuran, 3. Keluar dan Masukkan Pilihan Anda : pada program 13 perintah untuk memasukkan inputan dengan Scanner pada variabel pilih yang akan diproses 14 Perintah switch yaitu berfungsi untuk memilih data yang cocok dengan inputan user 15-17 Perintah yang dipilih oleh perintah switch sesuai dengan masukan user 18 Perintah bila user memasukkan inputan yang diluar 1- 3 20 Perintah while untuk menguji data bila data masih benar maka perintah looping Do tadi masih akan looping sampai datanya bernilai salah,disini salah jika pilih=3 22 Sebuah kelas dengan nama BilPecahannya yang bersifat khusus dan hanya dapat digunakan/diakses oleh kelas BilPecahannya saja 23 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan masukkan namanama variable yang akan diproses,yaitu s dan t dan variabel tersebut diinisialisasikan juga yaitu s=2,t=2 24 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan masukkan namanama variable yang akan diproses,yaitu a dan b dan variabel tersebut diinisialisasikan juga yaitu a=pemb, b=peny 25 Perintah looping while yaitu perintah looping yang menguji data terlebih dahulu dan bila data masih bernilai benar maka program akan loopaing terus hingga data bernilai salah 26 Salah satu perintah turunan dari while,perintah boolean if yaitu perintah yang mempunyai dua jawaban yaitu benar atau salah,jika syarat (dalam kurung) bernilai benar maka perintah turunan if tersebut dijalankan dan bila salah maka program meloncati perintah if tersebut 27 Perintah turunan if,perintah looping while, bila variabel pemb dimodulus/sisa hasil bagi variabel sisa tidak sama dengan nol maka perintah dibawah perintahnya dijalankan 28 Perintah turunan while,perintah increment yaitu perintah menambahkan nilainya sendiri bila perintah sebelumnya bernilai true 30 Operasi matematika, mencari nilai dari variabel a=nilai pemb dibagi nilai s
By sigit pangestu Universitas brawijaya asal kediri
31 perintah increment dari s 32 Perintah else yaitu Perintah lain bila perintah if sebelumnya syaratnya berninlai salah 33 Perintah turunan else,perintah looping while, bila variabel peny dimodulus/sisa hasil bagi variabel t tidak sama dengan nol maka perintah dibawah perintahnya dijalankan 34 Perintah turunan while,perintah increment yaitu perintah menambahkan nilainya sendiri bila perintah sebelumnya bernilai true 36 Operasi matematika, mencari nilai dari variabel b=nilai peny dibagi nilai t 37 perintah increment dari t 40 Perintah untuk mengembalikan(return) nilai a ke pemanggilnya 42 Deklarasi method dengan nama biasa yang merujuk case 1 43 Deklarasi variable Scanner dan nama variable input,disini kita mengetikkan” Scanner masukan=new Scanner(System.in);” ini berarti program meminta masukan baru dari user/keyboard untuk kemudian diolah/diproses oleh program 44 perintah untuk mencetak keluaran : Masukkan Pembilang = 45 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan dan masukkan nama variable yang akan diproses,yaitu pemb1 dan perintah untuk memasukkan inputan dengan Scanner pada variabel pemb1 yang akan diproses 46 perintah untuk mencetak keluaran : Masukkan penyebut = 47 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan dan masukkan nama variable yang akan diproses,yaitu peny1 dan perintah untuk memasukkan inputan dengan Scanner pada variabel peny1 yang akan diproses 48 perintah untuk mencetak keluaran : Pecahan sebelum disederhanakan = dan menampilkan nilai pemb1 / peny1 49 Deklarasi variable integer,pembagi memanggil obyek BilPecahannya yang kemudian memproses input pemb1 dan peny1 di dalam obyek BilPecahannya kemudian mengembalikan hasilnya ke variabel pembagi 50 Deklarasi variable integer, variabel pemb2 ,operasi matematika mencari nilai dari variabel pemb2=nilai pemb1 dibagi nilai pembagi 51 Deklarasi variable integer, variabel peny2 ,operasi matematika mencari nilai dari variabel peny2=nilai peny1 dibagi nilai pembagi 52 perintah untuk mencetak keluaran : Pecahan setelah disederhanakan = dan nilai mencetak pemb2 / nilai peny2 54 Deklarasi method dengan nama campuran yang merujuk case 2 55 Deklarasi variable Scanner dan nama variable input,disini kita mengetikkan” Scanner masukan=new Scanner(System.in);” ini berarti program meminta masukan baru dari user/keyboard untuk kemudian diolah/diproses oleh program 56 perintah untuk mencetak keluaran : Masukkan nilai desimal = ,kode \n digunakan untuk memberi arak antar baris 57 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan dan masukkan nama variable yang akan diproses,yaitu des dan perintah untuk memasukkan inputan dengan Scanner pada variabel des yang akan diproses 58 perintah untuk mencetak keluaran : Masukkan pembilang = ,kode \n digunakan untuk memberi jarak antar baris 59 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan dan masukkan nama variable yang akan diproses,yaitu pemb2 dan perintah untuk memasukkan inputan dengan Scanner pada variabel pemb2 yang akan diproses 60 perintah untuk mencetak keluaran : Masukkan penyebut = ,kode \n digunakan untuk memberi jarak antar baris 61 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) dan masukkan nama variable yang akan diproses,yaitu peny2 dan perintah untuk memasukkan inputan dengan Scanner pada variabel peny2 yang akan diproses 62 perintah untuk mencetak keluaran : Pecahan sebelum disederhanakan = dan mencetak nilai pemb2 / nilai
By sigit pangestu Universitas brawijaya asal kediri
peny2 63 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) , masukan nama variabel yaitu pemb3 dan operasi matematika ,nilai pemb3 = des dikali peny2 ditambah pemb2 64 perintah untuk mencetak keluaran : Pecahan setelah disederhanakan = dan mencetak nilai pemb3 / nilai peny3 65 Deklarasi variable integer,pembagi1 memanggil obyek BilPecahannya yang kemudian memproses input pemb3 dan peny2 di dalam obyek BilPecahannya kemudian mengembalikan hasilnya ke variabel pembagi1 66 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) , masukan nama variabel yaitu pemb4 dan operasi matematika ,nilai pemb4 = pemb3 dibagi pembagi1 67 Deklarasi variable,disini saya menggunakan type data integer untuk bilangan(bulat) , masukan nama variabel yaitu peny4 dan operasi matematika ,nilai peny4 = peny2 dibagi pembagi1 68 perintah untuk mencetak keluaran : Pecahan setelah disederhanakan = dan mencetak nilai pemb4 / nilai peny4 69 perintah untuk mencetak keluaran : Pecahan campurannya = , mencetak hasil bagi pemb4/peny4,mencetak hasil pemb4-((pemb4/peny4)*peny4) ,mencetak / dan mencetak nilai peny4
C. Source code 1 package sederhanakanbil2; 2 import java.util.Scanner; 3 public class Sederhanakanbil2 { 4 public static void main(String[] args) { 5
Scanner masukan =new Scanner(System.in);
6
int pilih=9;
7
do{
8
System.out.println("\n\n_________MENU_________");
9
System.out.println("1. Bilangan Pecahan biasa");
10
System.out.println("2. Bilangan Pecahan campuran");
11
System.out.println("3. Keluar");
12
System.out.print("Masukkan Pilihan Anda : ");
13
pilih = masukan.nextInt();
14
switch(pilih){
15
case 1 : biasa();break;
16
case 2 : campuran();break;
17
case 3 : System.out.println("Keluar dari program");break;
18
default: System.out.println("Pilihan yang anda pilih TIDAK ADA");
19
}
20
} while(pilih!=3);
21
}
22
static int BilPecahannya (int pemb, int peny){
23
int s=2,t=2;
24
int a=pemb, b=peny;
25
while (a!=b){
By sigit pangestu Universitas brawijaya asal kediri
26
if (a>b){
27
while ((pemb%s)!=0){
28
s++;
29
}
30
a=pemb/s;
31
s++;
32
} else {
33
while ((peny%t)!=0){
34
t++;
35
}
36
b=peny/t;
37
t++;
38
}
39
}
40
return (a);
41
}
42
private static void biasa(){
43
Scanner masukan = new Scanner (System.in);
44
System.out.print("\nMasukkan Pembilang = ");
45
int pemb1= masukan.nextInt();
46
System.out.print("Masukkan Penyebut = ");
47
int peny1= masukan.nextInt();
48
System.out.println("Pecahan sebelum disederhanakan = "+pemb1+"/"+peny1 ); 49 int pembagi= BilPecahannya (pemb1, peny1); 50
int pemb2= pemb1/pembagi;
51
int peny2= peny1/pembagi;
52
System.out.println("Pecahan setelah disederhanakan = "+pemb2+"/"+peny2+"\n"); 53 } 54
private static void campuran(){
55
Scanner masukan= new Scanner (System.in);
56
System.out.print("\nMasukkan nilai desimal = ");
57
int des=masukan.nextInt();
58
System.out.print("Masukkan Pembilang = ");
59
int pemb2= masukan.nextInt();
60
System.out.print("Masukkan Penyebut = ");
61
int peny2= masukan.nextInt();
62
System.out.println("Pecahan sebelum disederhanakan = "+des+" "+pemb2+"/"+peny2 ); 63 int pemb3= des*peny2+pemb2; 64
System.out.println("Pecahan setelah dikalikan = "+pemb3+"/"+peny2);
By sigit pangestu Universitas brawijaya asal kediri
65
int pembagi1= BilPecahannya (pemb3, peny2);
66
int pemb4= pemb3/pembagi1;
67
int peny4= peny2/pembagi1;
68
System.out.println("Pecahan setelah disederhanakan = "+pemb4+"/"+peny4); 69 System.out.println("Pecahan campurannya = "+((int) pemb4/peny4)+" "+(pemb4-((pemb4/peny4)*peny4))+"/"+peny4+"\n"); 70 } 71 }
D. Screenshoot
E. Kesimpulan Kesimpulan dari program diatas bahwa dalam pembuatan program penyederhana pecahan ini, kita menggunakan variabel do,while,switch, if, else dan fungsi yang mengembalikan suatu nilai. Variabel do...while digunakan untuk menampilkan menu dan listnya dan tidak akan berhenti bila syarat whilenya masih bernilai true,kode break digunakan untuk menghentikan proses secara paksa walaupun syaratnya masih bernilai true. Switch digunakan untuk menyeleksi dan menyamakan inputan user dengan pilihan yang ada.default digunakan pada saat pilihan user berada diluar dari pilihan yang ada.
By sigit pangestu Universitas brawijaya asal kediri
If...else digunakan untuk menyeleksi nilai benar/salah,bila if dikerjakan maka else tidak dikerjakan,begitu pula sebaliknya tergantung nilai dari syaratnya masing-masing. Fungsi yang mengembalikan nilai adalah fungsi yang ketika kembali ke program utamanya disertai dengan membawa suatu nilai yang sudah diolah sebelumnya. Method adalah bagian-bagian kode yang dapat dipanggil oleh program utama atau/dari method lainnya untuk menjalankan fungsi yang spesifik.Method atau fungsi dalam java adalah suatu cara untuk memecah program menjadi beberapa bagian, sehingga ketika mengerjakan program tersebut bisa dilakukan pembagian tugas kepada beberapa orang. Ketika kita sudah membuat program dalam skala besar maka kita perlu menggunakan yang namanya method,agar bisa dipisahpisah sehingga apabila ada masalah memudahkan mengetahui masalah yang ada dan pada bagian mana. Untuk membuat method yang memiliki nilai kembalian/return value, maka kita harus menghilangkan keyword void pada method yang kita buat dan menggantikannya dengan jenis variable kembalian kita, dimana dalam contoh tersebut nilai kembalian / return value berupa integer. Pengenalan Teknik Rekursif Selain itu dalam suatu method kita dapat memanggil method yang lainnya, atau bahkan memanggil method itu sendiri, peristiwa pemanggilan method oleh dirinya sendiri inilah yang disebut rekursif. Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain.Object adalah instance dari class. Jika class secara umum merepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri. Attributes merupakan nilai data yang terdapat pada suatu object yang berasal dari class. Attributes merepresentasikan karakteristik dari suatu object.
By sigit pangestu Universitas brawijaya asal kediri