Minggu, 04 Desember 2011

Struktur Kontrol Pada Java

Struktur Kontrol

Struktur kontrol adalah pernyataan dari Java yang mengijinkan user untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.

Statement if 
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan hanya jika persyaratan bernilai benar(true).


Bentuk dari pernyataan if,
                            if( boolean_expression )
                                     statement;

atau
                            if( boolean_expression ){
                                     statement1;
                                     statement2;
                                          . . .
                            }
dimana, boolean_expression adalah sebuah penyataan logika (true/false) atau variabel
bertipe boolean.




 
                Gambar 1: Flowchart Statement If

Berikut ini adalah potongan kode dari pernyataan if:
                                int grade = 68;
                                if( grade > 60 ) System.out.println("Congratulations!");

atau
                                int grade = 68;
                                if( grade > 60 ){
                                System.out.println("Congratulations!");
                                System.out.println("You passed!");
                                }


Petunjuk Penulisan Program :
1. Boolean_expression pada pernyataan i f harus merupakan nilai boolean).Hal ini
berarti persyaratan harus bernilai true atau false.
2. Masukkan statement di dalam blok if. Contohnya,
if( boolean_expression ){
//statement1;
//statement2;
}


Statement if-else
Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false.


Bentuk statement if-else,
                    if( boolean_expression )
                              statement;
                    else
                              statement;

dapat juga ditulis seperti,
                    if( boolean_expression ){
                            statement1;
                            statement2;
                                 . . .
                    }
                    else{
                            statement1;
                            statement2;
                                 . . .

                    }

Berikut ini contoh code statement if-else,
                     int grade = 68;
                     if( grade > 60 )       System.out.println("Congratulations!");
                     else                        System.out.println("Sorry you failed");
atau
                     int grade = 68;
                     if( grade > 60 ){
                               System.out.println("Congratulations!");
                               System.out.println("You passed!");
                     }
                     else{
                               System.out.println("Sorry you failed");
                     }

              Gambar 2: Flowchart Statement If-Else



Petunjuk Penulisan Program :
1.Untuk menghindari kebingungan, selalu letakkan sebuah pernyataan atau beberapa
pernyataan di dalam blok if-else didalam tanda kurawal {},
2. Anda dapat memiliki blok if-else yang bersarang. Ini berarti anda dapat memiliki blok
if-else yang lain di dalam blok if-else. Contohnya,
if( boolean_expression ){
if( boolean_expression ){
. . .
}
} else{
. . .
}
Pengenalan


Statement if-else-if

Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else
yang lain. Kondisi struktur seperti ini mengijinkan kita untuk membuat seleksi
persyaratan yang lebih kompleks.



Bentuk statement if-else if,
                if( boolean_expression1 )
                         statement1;
                else if( boolean_expression2 )
                         statement2;
                else
                         statement3;



Sebagai catatan : anda dapat memiliki banyak blok else-if sesudah pernyataan if. Blok else bersifat opsional dan dapat dihilangkan. Pada contoh yang ditampilkan di atas, jika boolean_expression1 bernilai true, maka program akan mengeksekusi statement1 dan melewati pernyataan yang lain. Jika boolean_expression2 bernilai true, maka program akan mengeksekusi statement2 dan melewati statement3.

                            Gambar 3: Flowchart Statement If-Else-If


Berikut ini contoh code statement if-else-if
                         int grade = 68;
                         if( grade > 90 ){
                               System.out.println("Very good!");
                         }
                         else if( grade > 60 ){
                               System.out.println("Very good!");
                         }
                         else{
                               System.out.println("Sorry you failed");

                         }

Statement switch
Cara lain untuk membuat cabang adalah dengan menggunakan kata kunci switch. Switch mengkonstruksikan cabang untuk beberapa kondisi dari nilai.


Bentuk statement switch,
                     switch( switch_expression ){
                                case case_selector1:
                                               statement1;          //
                                               statement2;          //block 1
                                               . . .                      //
                                               break;
                                case case_selector2:
                                               statement1;          //
                                               statement2;          //block 2
                                               . . .                      //
                                               break;
                                 . . .
                                default:
                                               statement1;          //
                                               statement2;          //block n
                                               . . .                      //
                                               break;

                                 }



switch_expression adalah ekspresi integer atau karakter dan case_selector1, case_selector2 dan seterusnya adalah konstanta unik dari nilai integer atau karakter.
Ketika pernyataan switch ditemukan pada potongan kode program, java pertama kali akan memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah case yang ditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch. Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default.
Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default.
CATATAN:

  • Tidak seperti padapernyataan if, beberapa pernyataan pada struktur pernyataan switch akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).
  • Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang berada pada case yang sesuai juga akan dieksekusi. 
  • Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kita menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.

                                    Gambar 4: Flowchart Statement Switch



Petunjuk Penulisan Program :
1. Menentukan penggunaan pernyataan if atau pernyataan switch adalah sebuah
keputusan programmer. Programmer dapat menentukan pernyataan yang mana
yang akan dipakai berdasarkan kemudahan membaca program dan faktor-faktor
yang lain.
2. Pernyataan if dapat digunakan untuk membuat keputusan berdasarkan rentang nilai
tertentu atau kondisi tertentu, sedangkan pernyataan switch membuat keputusan
hanya berdasarkan nilai unik dari tipe integer atau karakter.



Contoh statement switch



                   public class Grade
                   {
                              public static void main( String[] args )
                              {
                                     int grade = 92;
                                     switch(grade){
                                    case 100:
                                                 System.out.println( "Excellent!" );
                                                 break;
                                    case 90:

                                                 System.out.println("Good job!" );
                                                 break;

                                    case 80:
                                                 System.out.println("Study harder!" );
                                                 break;

                                    default:
                                                 System.out.println("Sorry, you failed.");
                                    }
                              }
                   }

Program Daftar Gaji

Soal:
1.input terdiri dari NIP,NAMA,STATUS,GAJI POKOK
2.proses berakhir jika NIP berisi simbol /*
3.untuk gaji pokok <= 500000 maka tidak dikenakan pajak
4.untuk gaji pokok > 500000 dikenakan pajak dihitung berdasarkan 10% * (gaji pokok - 500000)
5.bagi karyawan dengan status "kawin" diberikan tambahan tunjangan keluarga 100000
6.Gaji bersih dihitung = gaji pokok - pajak + tunjangan keluarga
7.Diakhir laporan hitung total gaji bersih
Buatlah flowchart dan program basic beserta outputnya!

Untuk flowchartnya seperti ini:


Dibawah adalah program basicnya :


5 CLS
10 PRINT TAB(30); "DAFTAR GAJI"
20 PRINT TAB(2); "_____________________________________________________________________"
30 PRINT TAB(2); "NO"; TAB(6); "NIP"; TAB(16); "NAMA"; TAB(30); "STATUS"; TAB(38); "GAJI POKOK"; TAB(50); "PAJAK"; TAB(60); "GAJI BERSIH"
40 PRINT TAB(2); "_____________________________________________________________________"
50 NO = 0: PJ = 0: GB = 0: TB = 0
60 READ NIP$, NAMA$, STAT$, GP
70 NO = NO + 1
80 IF NIP$ = "/*" THEN PRINT TAB(2); "TOTAL GAJI BERSIH"; TAB(60); TGB: END
90 IF GP <= 500000 THEN PJ = 0 ELSE PJ = 10 / 100 * (GP - 500000)
100 IF STAT$ = "MENIKAH" THEN TJ = 100000 ELSE TJ = 0
110 GB = GP - PJ + TJ
120 TGB = TGB + GB
130 PRINT TAB(2); NO; TAB(6); NIP$; TAB(16); NAMA$; TAB(30); STAT$; TAB(38); GP; TAB(49); PJ; TAB(60); GB
140 PRINT TAB(2); "_____________________________________________________________________"
155 GOTO 60
160 DATA 1A,BUDI,MENIKAH,2000000,1B,WAHYU,LAJANG,3000000,1C,DIAN,LAJANG,2500000,/*,C,MENIKAH,1000000

untuk file BASnya bisa download disini

kemudian outputnya adalah :

Mendapatkan Input dari Keyboard

Menggunakan BufferedReader untuk mendapatkan input
 
Pada bagian ini, kita akan menggunakan kelas BufferedReader yang berada di
java.io package untuk mendapatkan input dari keyboard.
Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari
keyboard:
1. Tambahkan di bagian paling atas code :
        import java.io.*;
2. Tambahkan statement ini:


      BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );


3. Deklarasikan variabel String temporer untuk mendapatkan input, dan gunakan
fungsi readLine() untuk mendapatkan input dari keyboard. Anda harus
mengetikkannya di dalam blok try-catch:


  try{
  String temp = dataIn.readLine();
  }
       catch( IOException e ){
       System.out.println(“Error in getting input”);
       }

 
Program lengkapnya:


       import java.io.BufferedReader;
       import java.io.InputStreamReader;
       import java.io.IOException;
       public class GetInputFromKeyboard
      {
              public static void main( String[] args ){
              BufferedReader dataIn = new BufferedReader(new
              InputStreamReader( System.in) );

              String name = "";
              System.out.print("Please Enter Your Name:");
              try{
              name = dataIn.readLine();
              }catch( IOException e ){
              System.out.println("Error!");
              }

              System.out.println("Hello " + name +"!");
              }
      }


 Menggunakan JOptionPane untuk mendapatkan input

Program : 

       import javax.swing.JOptionPane;
       public class GetInputFromKeyboard
      {

                 public static void main( String[] args ){
                 String name = "";
                 name = JOptionPane.showInputDialog("Please enter your name");

                 String msg = "Hello " + name + "!";
                 JOptionPane.showMessageDialog(null, msg);
                 }

       } 


Akan menghasilkan output :




Sabtu, 03 Desember 2011

Program Daftar Pembelian Roti

Disini saya mendapat tugas dari Dosen saya disuruh buat flowchart tentang daftar pembelian roti dan program basicnya.
Soal :
Sebuah perusahaan Roti ingin memberi keringanan kepada pembeli roti.
filenya berisi sebagai berikut:
Nama,Kode Pembeli,Banyak Roti
Data tersebut akan diproses dengan ketentuan, jika kode pembeli = 1, berarti pembeli "LANGGANAN", dan jika kode pembeli = 2, berarti pembeli "BIASA
untuk pembeli langganan yang membeli roti lebih dari 10 mendapat potongan dari total pembelian sebesar 10%, jika 10 atau kurang tidak mendapat potongan
untuk pembeli biasa yang membeli roti lebih dari 10 mendapat potongan dari total pembelian sebesar 5%, jika 10 atau kurang tidak mendapat potongan
Buatlah flowchart dan program Basic dan outputnya!

Sekarang kita buat flowchartnya kira-kira seperti ini :




Dan sekarang kita buat program basicnya

CLS
10 PRINT TAB(20); "DAFTAR PEMBELI ROTI"
11 PRINT "__________________________________________________________________"
12 PRINT TAB(2); "NO"; TAB(5); "NAMA"; TAB(18); "KET.PEMBELI"; TAB(40); "BANYAKNYA ROTI"; TAB(60); "BAYAR"
14 PRINT "__________________________________________________________________"
20 NO = 0: R = 4000: D = 0: TB = 0
30 READ NAMA$, KP, BR
40 NO = NO + 1
50 IF NO = 11 THEN GOTO 2000
65 T = BR * R
70 IF KP = 1 THEN KET$ = "LANGGANAN" ELSE GOTO 90
85 IF BR > 10 THEN GOTO 96
90 IF KP = 2 THEN KET$ = " BIASA"
91 IF BR > 10 THEN GOTO 97
96 D = 10 / 100 * T: GOTO 99
97 D = 5 / 100 * T: GOTO 99
99 BY = T - D
100 TB = TB + BY
110 PRINT TAB(1); NO; TAB(5); NAMA$; TAB(18); KET$; TAB(40); BR; TAB(60); BY
130 GOTO 30
2000 PRINT TAB(2); "_________________________________________________________________"
2010 PRINT TAB(2); "TOTAL BAYAR"; TAB(60); TB
2100 END
2200 DATA GESDI,1,10,LINA,2,15,CANTIK,1,5,DONI,2,4,EDWIN,1,10,FARIS,2,10,GEMUK,1,6,HARIS,2,15,IAN,1,10,JULIANDI,2,20,KASIR,1,15

untuk file BAS nya bisa di download disini

kemudian outputnya seperti ini :




Kamis, 24 November 2011

Barang Bekas

       
       Menceritakan tentang kisah nenek dan cucunya yang hidup dengan kemiskinan, cucu itu bernama belang berumur 20 tahun yang sampe sekarang dia hidup pengangguran dari kecil dia hidup bersama dengan neneknya tidak diketahui dimana ayah dan ibunya.
      
       Pada suatu pagi dia bangun dengan keadaan perut yang lapar kemudian dia melihat di bawah tudung saji tidak ada makanan yang tersisa, hanya sisa-sisa bungkus dan makanan saja, kemudia belang bertanya kepada neneknya tentang makanan, nenek itu bilang tidak ada makanan nenek itu menyuruh belang kerja buat cari uang untuk membeli makan tetapi belang tidak deterima dimana-mana saat melamar pekerjaan, akhirnya dia pergi ke kos-kosan teman-temannya dia berniat memunjam duit kepada temannya tetapi temannya tidak mau meminjamkannya karena hutang yang dulu saja tidak dia bayar, setelah menyerah meminjam duit dia pergi ketempat dimana sedang ada anak sekolah cabut dari sekolah dan merokok, belang memalaki anak-anak tersebut setelah mendapat duit dan rokok dia kemudian berjalan lagi untuk mencari duit agar dia bisa membeli makanan.


       Tiba-tiba dia bertemu dengan seorang gadis cantik, dia membayangkan ketika dia memberinya bunga dan menciumnya, tetapi dia tidak sengaja memegang tas gadis tersebut lalu gadis itu berteriak dia jambret, dikejarlah dia sama orang-orang disitu dan akhirnya bersembunyi di telepon umum, dia berhasil kabur dari kawanan orang yang mengejarnya, kemudian dia melihat tempat jualan barang bekas, dia mendapat ide untuk menjual barang-barang bekas dirumahnya untuk membeli makanan, ketika dia melihat gerobak ditinggal yang punya ketika sedang buang air kecil dia mencuri gerobak itu dan berhasil kabur setelah sampai rumah dia menjual semua barang-barang yang ada dirumahnya sampai-sampai radio yang digunakan neneknya pun dia jual, dan setelah dijual dia mendapat kan uang yang lumayan tetapi perbuatan dia ketika dua mau menjambret dan mencuri grobak itu ketahuan warga dia pun akhirnya di amuk warga.


      Hikmah yang bisa kita ambil dari cerita diatas adalah jangan sia-siakan hidup kita, memang sekarang untuk mencari kerjaan betapa susahnya tetapi jangan lah sampai kita mencari kerja dengan cara yang haram, carilah kerjaan yang halal jadi pemulung atau tukang sampah asalkan halal itu tidak masalah jauh lebih baik dibanding kita mencuri.

Violet

   
 

         Violet adalah tentang seseorang gadis yang cantik, tetapi nasib percintaannya tidak secantik wajahnya itu semua karena berawal dari sebuah mimpi buruk, didalam mimpi itu dia mendapat telepon dari pacarnya yang bernama raka dan pacarnya mau dateng kerumahnya, ketika raka sudah sampai rumah violet dia memberi tahu berita yang membuat violet sedih, raka mendapat beasiswa ke inggris, sungguh tidak adil bagi violet karena dia harus ditinggal raka bertahun-tahun, tetapi raka berjanji ketika dia pulang nanti dia akan melamarnya, kemudia raka pergi ke bandara, dijalan dia kecelakaan, kemudian violet dikabarin bahwa raka kecelakaan violet sedih sekali tetapi itu semua hanya mimpi belaka.

          Pagi pun tiba violet mendapat telepon dari raka dia ingin kerumahnya,cerita itu sangat mirip dengan mimpinya, raka mendapat beasiwa pergi ke inggris, violet berpikir kali ini dia harus mengantar kepergian raka agar tidak terjadi apa-apa pada raka seperti dalam mimpinya, dijalan raka mendapat sms dari temannya tetapi dia dimarahi violet takut terjadi apa-apa karena maen hp, setelah sampai di bandara violet mengucapkan selamat tinggal atas kepergian raka, raka memberi violet kotak musik berbentuk love, lali violet pulang ketika keluar dari pintu bandara dia tidak melihat jalan dia hanya melihat kotak musik tiba-tiba ada mobil lewat tertabraklah violet dan akhirnya dia tergeletak mati dengan kotak musiknya.

          Disini kita bisa mengambil hikmahnya mungkin violet pikir dia tidak ingin terjadi hal yang buruk pada pacarnya tetapi hal buruk itu terjadi pada dirinya sendiri, memang takdir tuhan tidak kita ketahui tuhan bisa mengambil hidup kita sekarang juga jika memang itu takdir kita maka jangan lah sia-siakan hidup kita perbanyaklah berbuat baik sebisa mungkin.
sekiannn :)

Membeli Waktu

         
        Seperti kata orang waktu adalah emas dimana waktu yang terbuang tidak bisa kita ulang kembali,begitu juga waktu tidak akan kita bisa beli dengan uang berapapun harganya.
        Berkaitan dengan itu saya akan menceritakan kembali video yang telah saya tonton diatas dimana waktu itu sangat berharga.
        Cerita diatas ada sebuah keluarga yang berkecukupan dan hanya mempunyai anak satu perempuan bernama jeny, dia duduk dibangku sekolah dasar,waktu pagi hari keluarga itu sedang sarapan tiba-tiba ayahnya mendapat sebuah telepon penting dan kemudian berangkatlah beliau buru-buru,sang anak pun yang ditinggal pergi dia juga langsung berangkat kesekolah.
        Kemudian setelah pulang sekolah jeny bertanya kepada ibunya apakah ayahnya sudah pulang, lalu ibu menjawab kemungkinan sore pulang, jeny sangat senang karena sore bisa bermain dengan ayahnya tetapi hingga jam 8 malam sang ayah belum pulang juga akhirnya jeny disuruh tidur sama ibunya karena sudah malam dan besok sekolah pagi. Pagi pun tiba saat jeny mau sarapan dia melihat ayahnya sudah tidak ada, dia sudah berangkat pagi-pagi sebelum subuh yang katanya ada meeting penting dengan proyeknya, kemudian setelah jeny pulang sekolah dia melihat sebuah keluarga ayah,ibu dan anak sedang bermain ditengah lapangan, jeny iri sekali melihatnya dia ingin keluarganya seperti itu ingin ayahnya meluangkan waktunya untuk bermain bersamanya, sampailah ia kerumah dan bertanya kepada ibunya apakah ayahnya sudah pulang, dan lagi-lagi ibunya memjawab "belum" , malampun tiba dia hanya bermain sendiri bersama bonekanya, lalu ibunya datang untuk menanyakan bagaimana dia bersekolah, kemudian dia bertanya kepada sang ibu mengapa ayahnya bekerja terus, kenapa dia tidak bisa seperti keluarga yang lain yang bisa seharian menghabiskan waktunya bersama, ibunya menjawab ayahnya sedang ada proyek besar dan beliau bekerja juga demi masa depan jenny.
        Malam itu tiba-tiba jeny melihat celengan berbentuk ayamnya, dia kemudian memecahkan celengannya untuk dia ambil uangnya, jeny bertekad ingin bertemu ayahnya malam ini dan membicarakan sesuatu dengan ayahnya, sampai ibunya yang menyuruh ia tidur dia tidak mau, jeny tetap bersikeras ingin menunggu ayahnya sampai larut malam.Akhirnya ayahnya pun pulang kemudian jeny bertanya kepada ayahnya tentang gajinya, dan ayahnya menjawab gaji dia sehai sekitar 400 ribu, jeny kemudian minta uang ayahnya dan harus sekarang, sang ayah yang baru pulang dan capek kemudian memarahi dan membentak jeny, karena kasian ayahnya kemudian kekamar jeny untuk minta maap, terjadilah dialog antara jeny dengan ayahnya, jeny ingin ayahnya seperti ayahnta teman-temannya yang punya waktu untuknya untuk bermain, ayahnya pun sadar dan akhirnya minta maap pada jeny, dan akhirnya setelah kejadian itu jeny dan ayahnya bisa bermain bersama.
        Dari cerita diatas kita bisa ambil hikmahnya bahwa waktu itu sangat berharga, sampai-sampai sang anak mau membayar waktu sang ayah hanya untuk bermain bersama, kita tahu bahwa kerja itu penting tetapi meluangkan waktu untuk sang anak beberapa jam saja juga penting agar sang anak bahagia.