Jumat, 14 Oktober 2016

Membuat program virtual ATM pada java

Assalammu'alaikum wa rahmatullahi wa barakatuh,

       ~KELOMPOK~

Nama Anggota Kelompok  :
  •  Achdiyat F.T
  • Muhammad Fauzi Islami
  • Muhammad Luthfi
Kelas                                   : 2KB01 ( Sistem Komputer )

UNIVERSITAS GUNADARMA

      Haiiii halo halo haloooo!!!! Selamat datang lagi di blog saya :D kali ini saya akan posting mengenai bagaimana caranya membuat sebuah virtual machine pada mesin ATM ( Automated Teller Machine ) yang sering kita jumpai di setiap sudut mall, rumah sakit atau di bank sekaligus. Pada program ini akan mensimulasikan alur kerja dari sebuah program yang dipasang pada sebuah mesin ATM.

     Okee tanpa panjang lebar lagi, langsung saja kita ke topik pembahasan kita. Berikut adalah output program yang akan kita buat nanti :




      Itu hanya contoh dari fungsi dari mesin ATM itu sendiri, misalnya pada gambar di atas saya hanya cek saldo, namun masih ada lagi seperti transfer, tarik tunai, histori transaksi, dan keluar dari program ATM. Bagaimana code nya ? Pertama buatlah kelas dengan nama Bank (misalnya). Berikut adalah Listing Code dari program mesin ATM ini :


package atm;
import java.io.*;
class Bank {
public static void main (String args[]) {
BufferedReader input=new BufferedReader (new InputStreamReader (System.in)); {
int pin, konfirmasi_pin, option, saldo, proses, jum_transfer, no_rekening, penarikan; // Variabel
saldo=3000000;
no_rekening=24115593;
jum_transfer= 0;
penarikan=0;
try {
System.out.println ("------------ATM-----------");
System.out.println (" SELAMAT DATANG ");
System.out.println (" BANK SENDIRI ");
System.out.println (" ");
System.out.println ("--------------------------");
System.out.println ("SILAHKAN INPUTKAN PIN ANDA");
System.out.print ("-> ");
pin=Integer.parseInt(input.readLine()); // Inputan
if (pin == 24115593) // Kondisi If
{ do { // Kondisi Do While
System.out.println ("\n--------------------------");
System.out.println ("MENU TRANSAKSI ANDA");
System.out.println ("Muhammad Fauzi Islami");
System.out.println ("SILAHKAN PILIH OPTION");
System.out.println ("-> 1. INFO SALDO");
System.out.println ("-> 2. TRANSFER");
System.out.println ("-> 3. TARIK TUNAI");
System.out.println ("-> 4. HISTORY TRANSAKSI");
System.out.println ("-> 5. KELUAR");
System.out.println ("--------------------------");
System.out.print ("OPTION -> ");
option=Integer.parseInt(input.readLine());
switch (option) { // Perulangan Case
case 1:
System.out.println ("================================");
System.out.println ("SALDO ANDA SAAT INI : " +saldo);
System.out.println ("================================");
break;
case 2:
System.out.println ("=================================");
System.out.println ("TRANSFER DANA KE BANK LAIN ");
System.out.println ("=================================");
System.out.print( "Masukan No Rekening : " );
no_rekening=Integer.parseInt(input.readLine());
System.out.print( "Masukan Jumlah Transfer : " );
jum_transfer=Integer.parseInt(input.readLine());
System.out.println("PIN ANDA : ");
pin=Integer.parseInt(input.readLine());
System.out.println ("KONFIRMASI PIN ANDA : ");
konfirmasi_pin=Integer.parseInt(input.readLine());
if (konfirmasi_pin == pin) { // Pencocokan PIN
System.out.println ("> PIN MATCH : OK ");
}
else {
System.out.println ("> PIN NOT MATCH. Trasaksi Batal");
System.exit(0);
}
if (jum_transfer <= (saldo-20000)) { // Cek saldo memenuhi aturan transfer
System.out.println ("> SALDO : OK");
}
else {
System.out.print ("--> SALDO TIDAK CUKUP UNTUK TRANSFER. Trasaksi Batal");
}
if (no_rekening == 63240023) { // Cek kevalidan No rekening
System.out.println (" -> No Rekening = " +no_rekening);
System.out.println (" -> Nama Penerima = Achdiyat Luthfi");
System.out.println (" -> Jumlah Transfer = " +jum_transfer);
System.out.println (" TRANSAKSI BERHASIL !"); }
else {
System.out.println ("No Rekening tidak terdaftar. Transaksi BATAL");
}
saldo=saldo-jum_transfer ;
break;
case 3:
System.out.println ("=================================");
System.out.println ("PENARIKAN UANG ");
System.out.println ("=================================");
System.out.print ("Masukan jumlah uang >> ");
penarikan=Integer.parseInt(input.readLine());
System.out.println ("Saldo Awal : " +saldo);
System.out.println ("Penarikan : " +penarikan);
saldo=saldo-penarikan;
System.out.println ("Saldo akhir : " +saldo);
for ( int i=0; i<=1; i++ ){
System.out.print ("\nPIN ANDA : ");
pin=Integer.parseInt(input.readLine());
}
if (pin == 24115593) {
System.out.println ("-> PIN MATCH ");
}
else {
System.out.println ("-> PIN NOT MATCH. Trasaksi Batal");
}
if (penarikan >= (saldo-50000))
{
System.out.println ("-> SALDO TIDAK CUKUP : TRANSAKSI GAGAL !");
}
else{
System.out.println ("TRANSAKSI BERHASIL");
}
break;
case 4:
System.out.println ("=================================");
System.out.println ("HISTORY TRANSAKSI");
System.out.println ("=================================");
System.out.println ("Transksi Terakhir");
System.out.println ("Penarikan Uang :"+ penarikan);
System.out.println ("Trasfer Uang :"+ jum_transfer);
System.out.println ("Saldo Akhir :"+ saldo);
break;
default:
System.out.println ("TERIMA KASIH TELAH MENGGUNAKAN BANK ABC");
}
System.out.println ("\nTEKAN 0 UNTUK KEMBALI KE MENU");
System.out.print ("->> ");
proses=Integer.parseInt(input.readLine());
++proses;
}
while ( proses <= 2);
}
else {
System.out.println ("PIN ANDA SALAH !\nHUBUNGI KANTOR CABANG TERDEKAT atau CALL 085312867629");
}
}
catch (IOException e)
{
System.out.print("");
}
catch (NumberFormatException e)
{
System.out.println("PIN ANDA BUKAN ANGKA !");
}
}
}
}


coba copy lalu paste pada code editor lalu sesuaikan dengan nama package dan class yang sudah sobat buat sebelumnya. Disini saya asumsikan bahwa sobat sudah bisa membuat projek baru di menu file dan juga sudah bisa membuat kelasnya. Lalu, sobat run atau tekan saja shift + F6. Jika berhasil, maka akan tertampil tampilan untuk memasukkan pin seperti gambar berikut :


Jika tampilan seperti di atas sudah keluar dan tidak ada error maka projek ini telah berhasil! Yeahhhh!
Nah ini ada usecase diagram nya mengenai penggunaan dari nasabah ke mesin ATM.



Dan berikut di bawah ini adalah daftar method dan attribute yang dipakai :


Gimana? udah bisa belum programnya? maaf belum bisa jelasin satu per satu fungsi dari masing-masing code nya karena juga keterbatasan waktu :'D masih ada tugas kuliah yang menunggu :'D yaudah cukup sekian postingan kali ini. Semoga kita semua dapat mengambil pelajaran yang berharga dari postingan ini ( bermanfaat ). Terimakasih.

Wassalammu'alaikum wa arahmatullahi wa barakatuh

Minggu, 09 Oktober 2016

Membuat Kalkulator Sederhana Pada Java ( IDE : Netbeans )


Assalammu’alaikum wa rahmatullahi wa barakatuh,

      Haiiii teman-teman!! Yaaap selamat datang di blog saya!! Saya suka nulis tapi saya belum ngerti gimana caranya nulis sebuah tulisan di blog (maklum, masih awam) hehe…jadi saya nulis ‘sekarepku’ aja ya :D hehe…oh iya dalam tulisan kali ini saya mau berbagi postingan tutorial membuat aplikasi sederhana pada bahasa pemrograman java. Biasanya sih yang ‘kalkulator’ itu selalu dibilang aplikasi sederhana ketika kita belajar suatu bahasa pemrograman untuk desktop hehe...misalnya visual basic,Delphi,atau bahkan java yang sekarang kita akan pelajari. Oke langsung aja kita langsung meluncur ke topik pembicaraan.
      
      A.      Logika Kalkulator :




Bisa dilihat dari flowchart di atas proses dari pengoperasian kalkulator yang akan kita buat ini. Saat kita membuka kalkulator sampai kita mengoperasikan sebagaimana fungsi sederhananya yaitu untuk menjumlahkan, mengurangi, membagi, dan mengkali bilangan awal dengan bilangan yang kedua.
Pertama-tama, buka IDE sobat untuk mulai merancang form dan code java. Disini saya memakai netbeans. Teman juga bisa memakai eclipse. Saya asumsikan sobat telah menginstal IDE dan JDK nya di laptop atau PC sobat masing-masing. Namun jika belum, silakan lihat link berikut ini untuk proses instalasi JDK ( karena memang installnya gampang tapi perlu diketahui juga untuk mengatur path nya ) hehe.
      
      B.      Langkah-langkah              :

1.)    Buka netbeans
2.)    Pilih menu file -> new project -> pilih categories : java dan projects : java application
3.)    Tentukan nama untuk project sobat *jangan ada spasi*
4.)    Tentukan lokasi dimana project akan disimpan, uncheck pada text ‘create new class’ ( karena kita akan menjadikan JFrame Form sebagai main class. Lalu klik finish
5.)    Lalu klik kanan pada projects dan pilih new lalu pilih JFrame Form
6.)    Beri nama kelasnya tanpa menggunakan spasi, lalu klik finish
7.)    Pindahkan fokus ke design view untuk merancang form menggunakan component palette, tapi sebelumnya aktifkan dulu Window Navigator nya. Caranya menu Window -> Navigating -> Navigator
8.)    Design form kurang lebih seperti gambar berikut :




Ubah text yang tertampil seperti gambar di atas dan ubah nama variabelnya. Agar sobat tidak begitu pusing dengan penamaan variabelnya, sobat bisa sama dengan saya untuk penamaan variabel, yaitu :

·         btnAngka0 untuk angka 0
·         btnAngka1 untuk angka 1
·         btnAngka2 untuk angka 2
·         btnAngka3 untuk angka 3
·         btnAngka4 untuk angka 4
·         btnAngka5 untuk angka 5
·         btnAngka6 untuk angka 6
·         btnAngka7 untuk angka 7
·         btnAngka8 untuk angka 8
·         btnAngka9 untuk angka 9

·         btnKoma untuk input tanda koma
·         btnHapus untuk menghapus
·         btnTambah untuk tanda plus
·         btnKurang untuk tanda minus
·         btnKali untuk tanda kali
·         btnBagi untuk tanda bagi
·         btnSamadengan untuk tanda sama dengan
·         display untuk tampilan angka

9.)    Lalu klik kanan pada JFrame -> Set Layout -> Absolute Layout

10.)  Setelah kita merancang tampilannya, sekarang mari kita mulai coding-coding hehe :D

·         Ubah tampilan ke tab source di dokumen kalkulator.java
·         Tulis deklarasi variabel seperti di bawah ini

public class Kalkulator extends javax.swing.JFrame {
    String angka;
    double jumlah,angka1,angka2;
    int pilih;
·         Lalu pindah lagi ke tab Design dan Double klik pada button, atau juga bisa dengan klik kanan lalu pilih actions dan actionsPerformed. Nantinya ini akan berfungsi agar ketika user meng-klik button tersebut maka akan tereksekusi kodingannya.

angka +="x";
        display.setText(angka);

isi nilai x dengan angka 0-9 dan juga koma untuk button koma.

Untuk tombol Clear :

display.setText("");
        angka1 = 0.0;
        angka2 = 0.0;
        jumlah = 0.0;
        angka = "";


Untuk tombol operasi :

angka1 = Double.parseDouble(angka);
        display.setText("operasi");
        angka = "";
        pilih = x;

* operasi : untuk tanda operasinya
* x : sebagai pendanda kondisi diurutan berapa ketika kita nanti akan membuat kondisinya

Untuk tombol samadengan :

Untuk tombol samadengan ini terdapat kondisi yang mengatur berapa hasil yang diperoleh berdasarkan operasi apa yang telah dipilih oleh user pada kalkulator. Berikut adalah coding-annya :

switch (pilih){
            case 1:
                angka2 = Double.parseDouble(angka);
                jumlah = angka1 + angka2;
                angka = Double.toString(jumlah);
                display.setText(angka);
                break;
            case 2:
                angka2 = Double.parseDouble(angka);
                jumlah = angka1 - angka2;
                angka = Double.toString(jumlah);
                display.setText(angka);
                break;
            case 3:
                angka2 = Double.parseDouble(angka);
                jumlah = angka1 * angka2;
                angka = Double.toString(jumlah);
                display.setText(angka);
                break;
            case 4:
                angka2 = Double.parseDouble(angka);
                jumlah = angka1 / angka2;
                angka = Double.toString(jumlah);
                display.setText(angka);
                break;
               
            default:
                break;
        }

Dari coding-an itu terdapat case 1,2,3,4. Nah maksudnya itu adalah kondisi yang dikaitkan dengan operasi sebelumnya yang kita buat dengan variable ‘pilih’. Misalnya kalau sobat menempatkan operasi tambah pada nomor 1, maka sobat ketika membuat kondisinya, kondisi operasi pertambahan ada di case 1, begitu juga seterusnya sesuai nomor berapa operasi hitung yang sobat pilih.

·         Okee!!! Setelah kita coding-coding, sekarang kita bisa compile. Namun sebelumnya, kita tambahkaan beberapa aturan dulu untuk program yang kita buat.
·         Klik kanan di area (container) Desingn JFramenya --> Properties.
·         Isi title JFrame.
·         Uncheck resizable. Ini bermaksud agar pada saat program di Run user tidak bisa di mengubah panjang atau lebar window.






·         Lalu sekarang, kita atur JTextField nya
·         Klik kanan di komponen JTextField yang berada di dalam container JFrame --> Properties
·         Uncheck editable. Agar user tidak dapat memasukan karakter langsung dari keyboard. Menghindari karakter yang tidak diinginkan masuk ke display.
·         Horizontal Alignment ubah menjadi Right. Agar posisi angka menjadi rata kanan seperti kalkulator pada umumnya. 




 11.)   Nahhh sekarang kita run deh program kita. Klik run project atau tekan F6.





                  Sekian dan terimakasih ^^ mohon maaf bila masih ada kekurangan di postingan saya ini...maklum saya juga masih newbie dalam hal koding mengkoding :D SEMANGATTTT!!!!

Wassalammu'alaikum wa rahmatullahi wa barakatuh.

Jumat, 07 Oktober 2016

Ilmu Statistika

Assalammu'alaikum wa rahmatulahi wa barakatuh,


       Haiii!! Selamat siang teman-teman! hari ini saya mau posting artikel tentang apa yang saya pelajari di mata kuliah softskill statistika di pertemuan pertama. Di postingan ini saya akan menjabarkan sedikit mengenai apa saja jenis dari ilmu statistika dan berikut rumus-rumusnya, tapi nggak sampai mendetail ko :D soalnya saya juga tau ilmu saya baru sampai mana, khususnya di mata kuliah eksak hehehe.

       Okee langsung saja kita ke topik obrolan. Check this out!

A. Pengertian Statistika :

       Statistika adalah metode ilmiah yang mempelajari bagaimana merencanakan, mengumpulkan, menganalisis, menginterpretasi, dan mempresentasikan data. Singkatnya, statistika adalah ilmu yang berkenaan dengan data. Istilah 'statistika' dan 'statistik' sangat lah berbeda jika ditilik dari segi arti. Statistika adalah ilmu yang didasarkan dengan adanya data, sedangkan statistik adalah data atau informasi yang telah diolah melalui algoritma statistika pada suatu data.

Jenis-Jenis Ilmu Statistika :

 
Dari gambar di atas, berikut adalah penjelasannya :

1.) Statistika Deskriptif

      Statistika Deskriptif adalah statistik yang digunakan untuk menganalisis data dengan cara mendeskripsikan atau menggambarkan data yang telah terkumpul.

2.) Statistika Induktif

      Statistika Induktif adalah statistik yang digunakan untuk menganalisa data sampel, dan hasilnya akan digeneralisasikan untuk populasi dimana sampel berada.

Studi kasusnya misalnya adalah suatu kegiatan penelitian dalam bidang komputer:
      
      " Saya ingin mengetahui penyebab kecepatan internet di Laboratoium Sekolah, apakah benar semakin banyak user yang menggunakan internet akan memperlambat kecepatan internet ?. Nah berangkat dari masalah tersebut maka saya membutuhkan data untuk mengetahui data-data kecepatan internet pada saat usernya hanya 1 orang, kemudian pada saat usernya 2 orang, 3 orang dan seterusnya, sampai semua komputer terpakai semua misalnya, nah data-data tersebut disajikan menggunakan Statistik Deskriptif, setelah itu untuk mengetahui seberapa besar sih, pengaruh banyak user terhadap kecepatan internet ? nah disinilah data-data tersebut perlu dilakukan analisis secara Inferensial atau Induktif, sehingga nantinya diharapkan bisa dibuat suatu kesimpulan yang bisa dijadikan pedoman dalam pengambilan keputusan disuatu tempat yang diteliti."

Ukuran Pemusatan Data dan Ukuran Penyebaran Data :

1.) Ukuran Pemusatan Data
       
      Ukuran pemusatan data yaitu mencari sebuah nilai yang dapat mewakili dari suatu rangkaian data. Adapun istilah lain dari ukuran pemusatan data adalah ukuran tendensi sentral. 

  •     Macam-macam ukuran pemusatan data :
      a)      Rata-rata hitung (mean)
      b)      Rata-rata harmonis (harmonic mean)
      c)      Rata-rata ukur (geometric mean)
      d)     Median
      e)      Modus
      f)       Rata-rata gabungan
      g)      Mean dengan rata-rata sementara
  •      Rumus untuk menentukan nilai ukuran pemusatan data :
      a)      Rata-rata hitung
      X = total x / n 
      b)      Rata-rata harmonis
      H =  n / total setengah x
c)      Rata-rata ukur
      GM = akar x1, x2, x3,...., xi
      d)     Median
                 Me = jumlah dua data ditengah / 2
      e)      Modus merupakan data yang sering muncul.
 
2.) Ukuran Penyebaran Data
 
              Ukuran penyebaran data adalah suatu ukuran untuk mengetahui seberapa jauh penyebaran data dari nilai rata-ratanya. Istilah lain dari ukuran penyebaran data adalah ukuran dispersi.

  •     Macam-macam ukuran penyebaran data:
a)      Jangkauan atau dengan istilah lain yaitu range.
b)      Simpangan rata-rata
c)      Varians
d)     Quartil
e)      Jangkauan quartil
  •       Beberapa rumus untuk menentukan nilai ukuran penyebaran data :
a.      Range
R = Xt – Xr
b.      Simpangan rata-rata
Sr = total x - i dibagi n
c.      Varians
V = (total x - i)kuadrat dibagi n
d.      Jangkauan quartil
Jq = q3 - q1
 
 
 
       Demikian lah beberapa penjelasan mengenai ilmu statistika. Mohon maaf bila masih ada kekurangan. Oh iya ini bukan murni tulisan saya loh hehe saya cuma nambahin beberapa aja dan yang lainnya saya ambil dari alamat ini :
 
 
Wassalammu'alaikum Wa Rahmatullahi Wa Barakatuh.