Advertisement
Guest User

Bilangan.java

a guest
Jan 20th, 2019
768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.16 KB | None | 0 0
  1.  
  2. import android.annotation.SuppressLint;
  3. import android.content.Context;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import android.support.v4.app.Fragment;
  7. import android.util.Log;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.AdapterView;
  12. import android.widget.ArrayAdapter;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15. import android.widget.Spinner;
  16. import android.widget.TextView;
  17. import android.widget.Toast;
  18.  
  19. import com.shashank.sony.fancytoastlib.FancyToast;
  20.  
  21. import butterknife.BindView;
  22. import butterknife.ButterKnife;
  23.  
  24. import static android.view.View.GONE;
  25.  
  26. /*
  27.  
  28. Created By : Jabar Syahrial Reza
  29. Tgl 10 Januari 2019
  30.  
  31.  */
  32. public class Bilangan extends Fragment implements AdapterView.OnItemSelectedListener,View.OnClickListener{
  33. @BindView(R.id.edt_nilai_awal)
  34.     EditText edtNilaiAwal;
  35. @BindView(R.id.edt_nilai_akhir)
  36. EditText edtNilaiAkhir;
  37. @BindView(R.id.label_nilai_awal)
  38. TextView labelNilaiAwal;
  39. @BindView(R.id.label_nilai_akhir)
  40. TextView labelNilaiAkhir;
  41. @BindView(R.id.edt_bil_genap)
  42. EditText edtBilGenap;
  43. @BindView(R.id.edt_bil_ganjil)
  44. EditText edtBilGanjil;
  45. @BindView(R.id.label_bil_prima)
  46. TextView labelBilPrima;
  47. @BindView(R.id.label_bil_genap)
  48. TextView labelBilGenap;
  49. @BindView(R.id.label_bil_ganjil)
  50. TextView labelBilGanjil;
  51. @BindView(R.id.hasil_bil_prima)
  52. TextView hasilBilPrima;
  53. @BindView(R.id.hasil_bil_ganjil)
  54. TextView hasilBilGanjil;
  55. @BindView(R.id.hasil_bil_genap)
  56. TextView hasilBilGenap;
  57. @BindView(R.id.spin_item)
  58. Spinner spin_item;
  59. @BindView(R.id.btn_submit)
  60. Button submit;
  61.  
  62.     public Bilangan() {
  63.         // Required empty public constructor
  64.     }
  65.  
  66.     @Override
  67.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  68.                              Bundle savedInstanceState) {
  69.         // Inflate the layout for this fragment
  70.        
  71.       View view= inflater.inflate(R.layout.fragment_bilangan, container, false);
  72.        
  73.       ButterKnife.bind(this,view);
  74.          //Mengimplementasikan spinner  
  75.         ArrayAdapter<CharSequence>adapter = ArrayAdapter.createFromResource(getContext(),R.array.spin_bil,android.R.layout.simple_list_item_1);
  76.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  77.         spin_item.setAdapter(adapter);
  78.         spin_item.setOnItemSelectedListener(this);
  79.         submit.setOnClickListener(this);
  80.         return view;
  81.  
  82.     }
  83.    
  84.     @Override
  85.     public void onItemSelected(AdapterView<?> parent, View view, int position, long l) {
  86.         //Pemanggilan Fungsi seluruh item
  87.         show_item_1();
  88.         show_item_2();
  89.         show_item_3();
  90.         show_item_4();
  91.     }
  92.     //Fungsi untuk menampilkan dan menghilangkan item bilangan prima    
  93.     void show_item_1() {
  94.         Object a = spin_item.getItemAtPosition(1);
  95.         if (spin_item.getSelectedItem().equals(a)) {
  96.             edtNilaiAwal.setVisibility(View.VISIBLE);
  97.             edtNilaiAkhir.setVisibility(View.VISIBLE);
  98.             labelNilaiAwal.setVisibility(View.VISIBLE);
  99.             labelNilaiAkhir.setVisibility(View.VISIBLE);
  100.             labelBilPrima.setVisibility(View.VISIBLE);
  101.             hasilBilPrima.setVisibility(View.VISIBLE);
  102.         } else {
  103.             edtNilaiAwal.setVisibility(GONE);
  104.             edtNilaiAkhir.setVisibility(GONE);
  105.             labelNilaiAwal.setVisibility(GONE);
  106.             labelNilaiAkhir.setVisibility(GONE);
  107.             labelBilPrima.setVisibility(GONE);
  108.             hasilBilPrima.setVisibility(GONE);
  109.         }
  110.  
  111.     }
  112.     //Fungsi untuk menampilkan dan menghilangkan item bilangan genap
  113.     void show_item_2(){
  114.         Object b = spin_item.getItemAtPosition(2);
  115.         if(spin_item.getSelectedItem().equals(b)){
  116.             edtBilGenap.setVisibility(View.VISIBLE);
  117.             labelBilGenap.setVisibility(View.VISIBLE);
  118.             hasilBilGenap.setVisibility(View.VISIBLE);
  119.         }else{
  120.             labelBilGenap.setVisibility(GONE);
  121.             edtBilGenap.setVisibility(GONE);
  122.             hasilBilGenap.setVisibility(GONE);
  123.         }
  124.  
  125.     }
  126.     //Fungsi untuk menampilkan dan menghilangkan item bilangan ganjil
  127.     void show_item_3(){
  128.         Object c = spin_item.getItemAtPosition(3);
  129.         if (spin_item.getSelectedItem().equals(c)){
  130.             edtBilGanjil.setVisibility(View.VISIBLE);
  131.             labelBilGanjil.setVisibility(View.VISIBLE);
  132.             hasilBilGanjil.setVisibility(View.VISIBLE);
  133.         }else {
  134.             edtBilGanjil.setVisibility(GONE);
  135.             labelBilGanjil.setVisibility(GONE);
  136.             hasilBilGanjil.setVisibility(GONE);
  137.         }
  138.  
  139.     }
  140.     //Fungsi untuk menampilkan seluruh bilangan
  141.     void show_item_4(){
  142.     Object d = spin_item.getItemAtPosition(4);
  143.     Object a= spin_item.getItemAtPosition(0);
  144.     if (spin_item.getSelectedItem().equals(d)) {
  145.     show_all_item();
  146.  
  147.     }else if (spin_item.getSelectedItem().equals(a)){
  148.         hide_all_item();
  149.     }
  150.  
  151. }
  152.     void show_all_item(){
  153.         edtNilaiAwal.setVisibility(View.VISIBLE);
  154.         edtNilaiAkhir.setVisibility(View.VISIBLE);
  155.         labelNilaiAwal.setVisibility(View.VISIBLE);
  156.         labelNilaiAkhir.setVisibility(View.VISIBLE);
  157.         labelBilPrima.setVisibility(View.VISIBLE);
  158.         hasilBilPrima.setVisibility(View.VISIBLE);
  159.         edtBilGenap.setVisibility(View.VISIBLE);
  160.         labelBilGenap.setVisibility(View.VISIBLE);
  161.         hasilBilGenap.setVisibility(View.VISIBLE);
  162.         edtBilGanjil.setVisibility(View.VISIBLE);
  163.         labelBilGanjil.setVisibility(View.VISIBLE);
  164.         hasilBilGanjil.setVisibility(View.VISIBLE);
  165.     }
  166.     void hide_all_item(){
  167.         edtBilGanjil.setVisibility(GONE);
  168.         labelBilGanjil.setVisibility(GONE);
  169.         hasilBilGanjil.setVisibility(GONE);
  170.         labelBilGenap.setVisibility(GONE);
  171.         edtBilGenap.setVisibility(GONE);
  172.         hasilBilGenap.setVisibility(GONE);
  173.         edtNilaiAwal.setVisibility(GONE);
  174.         edtNilaiAkhir.setVisibility(GONE);
  175.         labelNilaiAwal.setVisibility(GONE);
  176.         labelNilaiAkhir.setVisibility(GONE);
  177.         labelBilPrima.setVisibility(GONE);
  178.         hasilBilPrima.setVisibility(GONE);
  179.  
  180.     }
  181.  
  182.     //Fungsi Inputan Bilangan Prima        
  183.     @SuppressLint("SetTextI18n")
  184.     private void LogicBilanganPrima(String inputNilaiAwal,String inputNilaiAkhir){
  185. try {
  186.     int nilaiAwal = Integer.valueOf(inputNilaiAwal);
  187.     int nilaiAkhir = Integer.valueOf(inputNilaiAkhir);
  188.     int angka;
  189.     String hasil = "";
  190.     for (int i = nilaiAwal; i <= nilaiAkhir; i++) {
  191.         int counter = 0;
  192.         for (angka = i; angka >= 1; angka = angka - 1) {
  193.             if (i % angka == 0) {
  194.                 counter = counter + 1;
  195.             }
  196.         }
  197.  
  198.         if (counter == 2) {
  199.             hasil += " " + i + " ";
  200.             hasilBilPrima.setText("Hasil bilangan prima dari " + nilaiAwal + " sampai " + nilaiAkhir + " : " + hasil);
  201.         }
  202.  
  203.         hasilBilPrima.setText("Hasil bilangan prima dari " + nilaiAwal + " sampai " + nilaiAkhir + " Adalah : " + hasil);
  204.  
  205.     }
  206. }catch (NumberFormatException e){
  207.     e.printStackTrace();
  208. }
  209.  
  210.  
  211.  
  212.     }
  213.     //Fungsi Inputan Bilangan Genap
  214.     @SuppressLint("SetTextI18n")
  215.     private void LogicBilanganGenap(String inputNilaiGenap){
  216.         try {
  217.             int nilaiGenap = Integer.valueOf(inputNilaiGenap);
  218.             String hasil="";
  219.  
  220.             for (int i = 0; i <= nilaiGenap; i++) {
  221.  
  222.                 if (i % 2 == 0) {
  223.                     hasil+=" "+ i +" ";
  224.  
  225.                     hasilBilGenap.setText("Hasil : " + hasil);
  226.                 }
  227.  
  228.             }
  229.  
  230.         }catch (NumberFormatException e){
  231.             e.printStackTrace();
  232.         }
  233.     }
  234.     //Fungsi Inputan Bilangan Ganjil
  235.     @SuppressLint("SetTextI18n")
  236.     private void LogicBilanganGanjil(String inputNilaiGanjil){
  237.         try {
  238.             int nilaiGanjil = Integer.valueOf(inputNilaiGanjil);
  239.             String hasil="";
  240.  
  241.             for (int i = 0; i <= nilaiGanjil; i++) {
  242.  
  243.                 if (i % 2 == 1) {
  244.                     hasil+=" "+ i +" ";
  245.  
  246.                     hasilBilGanjil.setText("Hasil : " + hasil);
  247.  
  248.                 }
  249.  
  250.             }
  251.         }catch (NumberFormatException e){
  252.             e.printStackTrace();
  253.         }
  254.  
  255.         }
  256.  
  257.     @Override
  258.     public void onNothingSelected(AdapterView<?> adapterView) {
  259.  
  260.     }
  261.  
  262.    
  263.  
  264.     @Override
  265.     public void onClick(View view) {
  266.         String inputNilaiAwal = edtNilaiAwal.getText().toString();
  267.         String inputNilaiAkhir = edtNilaiAkhir.getText().toString();
  268.         String inputNilaiGenap = edtBilGenap.getText().toString();
  269.         String inputNilaiGanjil = edtBilGanjil.getText().toString();
  270.         LogicInputNilaiBilanganPrima(inputNilaiAwal,inputNilaiAkhir);
  271.         LogicInputNilaiBilanganGenap(inputNilaiGenap);
  272.         LogicInputNilaiBilanganGanjil(inputNilaiGanjil);
  273.     }
  274.    
  275.     /*Fungsi untuk memberitahukan jika nilai kosong akan muncul pemberitahuan toast pada nilai inputan masing-masing.
  276.     jika tidak akan muncul hasil nilai inputan
  277.    */
  278.     private void LogicInputNilaiBilanganPrima(String inputNilaiAwal,String inputNilaiAkhir){
  279.         if (inputNilaiAwal.isEmpty()&&inputNilaiAkhir.isEmpty()) {
  280.             FancyToast.makeText(getContext(), "Silahkan Segera di isi kepada kedua nilai bilangan prima yang ingin di inputkan !", FancyToast.LENGTH_SHORT, FancyToast.WARNING, true).show();
  281.         }else {
  282.             LogicBilanganPrima(inputNilaiAwal, inputNilaiAkhir);
  283.         }
  284.  
  285.     }
  286.     private void LogicInputNilaiBilanganGenap(String inputNilaiGenap){
  287.     if(inputNilaiGenap.isEmpty()){
  288.         FancyToast.makeText(getContext(),"Silahkan Segera di isi nilai bilangan genap yang ingin di inputkan !",FancyToast.LENGTH_SHORT,FancyToast.WARNING,true).show();
  289.     }else {
  290.         LogicBilanganGenap(inputNilaiGenap);
  291.         }
  292.     }
  293.     private void LogicInputNilaiBilanganGanjil(String inputNilaiGanjil){
  294.     if(inputNilaiGanjil.isEmpty()){
  295.         FancyToast.makeText(getContext(),"Silahkan Segera di isi nilai bilangan ganjil yang ingin di inputkan !",FancyToast.LENGTH_SHORT,FancyToast.WARNING,true).show();
  296.     }else{
  297.         LogicBilanganGanjil(inputNilaiGanjil);
  298.     }
  299.   }
  300.  
  301. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement