Senin, 01 Juni 2015

DESAIN DAN PERANCANGAN APLIKASI JAVA MOBILE BERBASIS ANDROID UNTUK IMPLEMENTASI SMART ENVIRONMENT

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

https://drive.google.com/file/d/0B5iF-On_kotUcFRBVnBwYm5FcWs/view?usp=sharing

Rabu, 15 April 2015

USE CASE DAN SEQUENCE DIAGRAM

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.


Membuat Use Case dan Sequence Diagram Pada Kasir


Dalam dunia bisnis, Point Of Sales (POS) merujuk dalam pengertian tempat kasir (check-out counter) dengan mesin kasir (Cash Register). Sesuai dengan namanya, POS merupakan titik penjualan (Check-out) tempat di mana transaksi selesai. Ini adalah titik di mana pelanggan melakukan pembayaran dalam pertukaran barang atau jasa. Pada Point Of Sales penjual akan menghitung seluruh jumlah harga yang dibeli konsumen dan memberikan pilihan bagi pelanggan untuk melakukan pembayaran serta akan mengeluarkan tanda terima untuk transaksi pembelian.
Dalam perkembangannya, POS dapat dibuat sebagai suatu sistem dengan menggunakan sebuah jaringan komputer yang dioperasikan oleh komputer utama dan dihubungkan dengan beberapa terminal checkout POS. Istilah ini dikenal dengan nama Sistem Point Of Sales (POS). Point of Sale (POS) System: A computerized network operated by a main computer and linked to several checkout terminals. Pada dasarnya, sistem POS adalah cara all-in-one untuk melacak arus kas bisnis Anda.

Sistem Point Of Sales (POS) memerlukan sebuah aplikasi/software agar sistem tersebut berjalan sempurna untuk menjalankan proses transaksi dengan cepat dan sistematis yang berorientasi meningkatkan market interest dan pelayanan terhadap konsumen
Pada kesempatan kali ini, saya akan membahas UML yaitu Use Case dan Sequence Diagram dengan studi kasus mengenai sistem kasir umum pada swalayan. Adapun aplikasi yang akan kita gunakan disini adalah aplikasi Dia Diagram. Sebelum membuat desain diagram kita tentu harus mengetahui siapa saja aktor yang akan berperan pada sistem ini. Adapun aktor yang akan berperan pada POS ini adalah Admin dan Kasir. Berikut adalah Use Case Diagram yang akan menjelaskan hak akses oleh admin dan kasir.


Pada gambar diatas, kita dapat melihat bahwa:
·   Admin diberi hak untuk melakukan daftar, melakukan login sebagai admin, menginput data barang, mengedit atau mengupdate data barang, melihat data barang, mengedit data transaksi, melihat data transaksi, dan mencetak data transaksi. Admin tidak diberi hak untuk melakukan input transaksi, karena hak tersebut hanya milik kasir.
·   Kasir diberi hak untuk melakukan login sebagai kasir, melihat data barang, menginput transaksi, mengedit atau mengupdate data transaksi, melihat transaksi, dan mencetak transaksi.
Untuk memperjelas penggunaan atau maksud Use Case Diagram diatas, dapat dilihat pada Sequence Diagram berikut agar lebih memahami.
1. Sequence Daftar


2. Sequence Login


3. Sequence Input Data Barang


4. Sequence Edit Data Barang


5. Sequence View Data Barang


6. Sequence Input Transaksi


7. Sequence View Transaksi


8. Sequence Edit Transaksi


9. Sequence Cetak Data Transaksi

Selasa, 07 April 2015

PEMROGRAMAN GUI

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.



Belajar Pemrograman GUI

Sekarang saya akan berbagi ilmu tentang pemrograman GUI pada java. GUI ( Graphic User Interface ) merupakan pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan grafis. 


Berikut ini adalah koding dari GUI.

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class helloWorld extends JFrame {
    helloWorld(String title) {
        this.setSize(500,500);
        setTitle(title);
    }

    public static void main(String[] args) {
       helloWorld window = new helloWorld("GUI Java Hello World");
       window.setVisible(true);
       window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
   

}

Pada baris pertama yaitu import javax.swing.*; berfungsi untuk mengambil library swing, setelah itu pada baris kedua itu berfungsi untuk mengambil library awt. Pada public class helloWorld extends JFrame ini untuk membuat class helloWorld dengan extand Jframe. Pada his.setSize(500,500); untuk menentukan ukuran frame yang akan di buat,tinggal kita masukkan berapa panjang dan berapa lebar frame yang kita inginkan, setelah itu pada helloWorld window = new helloWorld untuk membuat objek jFrame agar bisa di panggil di fungsi lain dan menjelaskan variable helloWorld itu sebagai helloWorld. -("GUI Java Hello World"); digunakan untuk title atau judul dari aplikasi yang akan kalian buat, dan yang terakhir window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  untuk bisa membuat Frame bisa Default Close atau bisa menutup jendela tersebut.

Dibawah ini adalah screenshot program diatas.

Dan ini adalah hasil program diatas.

PROGRAM MENU

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.




Belajar Membuat Menu Sederhana Pada Java

Disini saya akan menjelaskan tentang membuat program menu sederhana pada java. Pada program ini saya akan menghitung total transaksi dari pembeli, dalam program ini kita akan membuat pilihan menu makanan yang tersedia dan menghitung total menu makanan yang telah dipilih pembeli. Menu pada tempat makan tersebutlah yang kita buat dalam koding. Berikut koding program menu sederhana yang terdapat dibawah ini.

import java.util.Scanner;

public class Warung
{
    public static void main(String[] args)
    {
//        inisialisasi java library scanner
        Scanner scan = new Scanner(System.in);
//        menampilkan menu makanan
        System.out.println("MENU MAKANAN : ");
        System.out.println("_________________________________________");
        System.out.println("No Nama                      Harga");
        System.out.println("1. Ice Tea                     Rp 5000,00");
        System.out.println("2. Cappucino               Rp 10000,00");
        System.out.println("3. Lemon Tea              Rp 6000,00");
        System.out.println("4. Rainbow Cake         Rp 15000,00");
        System.out.println("5. Chocolate                 Rp 10000,00");
        System.out.println("");

//        inisialisasi pembayaran awal
        int harga = 0;
//        inisialisasi harga ketiga menu
        int h1=5000, h2=10000, h3=6000, h4=15000, h5=10000;
        String menu;

        for (String i = "Y"; i.equals("Y")||i.equals("y"); )
        {
        System.out.println("_________________________________________");
//        pengguna memasukkan nomor pesanan
        System.out.print("Masukkan Nomor Pesanan : ");
        int inNomor = scan.nextInt();
        System.out.println("_________________________________________");

        if (inNomor == 1)
        {
//            jika nomor satu, maka menu yang dipilih adalah Ice Tea, dan harganya adalah h1, yang merupakan harga menu pertama
            menu = "Ice Tea";
            System.out.println("Pilihan anda " + menu);
            harga = harga + h1;
        }
            else if (inNomor == 2)
            {
//            jika nomor dua, maka menu yang dipilih adalah Cappucino, dan harganya adalah h2, yang merupakan harga menu kedua
                menu = "Cappucino";
                System.out.println("Pilihan anda " + menu);
                harga = harga + h2;
            }
                else if (inNomor == 3)
                {
//            jika nomor tiga, maka menu yang dipilih adalah Lemon Tea, dan harganya adalah h3, yang merupakan harga menu ketiga
                    menu = "Lemon Tea";
                    System.out.println("Pilihan anda " + menu);
                    harga = harga + h3;
                }
                 else if (inNomor == 4)
                {
//            jika nomor empat, maka menu yang dipilih adalah Rainbow Cake, dan harganya adalah h4, yang merupakan harga menu keempat
                    menu = "Rainbow Cake";
                    System.out.println("Pilihan anda " + menu);
                    harga = harga + h4;
                }
                      else if (inNomor == 5)
                {
//            jika nomor lima, maka menu yang dipilih adalah Chocolate, dan harganya adalah h5, yang merupakan harga menu kelima
                    menu = "Chocolate";
                    System.out.println("Pilihan anda " + menu);
                    harga = harga + h5;
                }
                     else
//            jika selain nomor satu sampai lima, maka akan ditampilkan "Nomor yang dipilih tidak ada di menu."
                    {
                        System.out.println("Nomor yang dipilih tidak ada di menu.");
                    }

//            User diperintahkan untuk memasukkan data apakah dia akan melanjutkan atau tidak
            System.out.println("Apakah anda mau melanjutkan? Y/T");
            i = scan.next();

        }
        System.out.println("_________________________________________");
        System.out.println("Total pembayaran sebesar " +harga+".");
        System.out.println("Terimakasih atas kunjungannya.");
    }
}

Pada baris pertama menggunakan fungsi import java.util.scanner berfungsi untuk mengambil fungsi scanner pada java. Fungsi scanner sendiri adalah berguna untuk input - output pada java. Dalam program ini kita menggunakan fungsi scanner tersebut untuk menginputkan pilihan yang tersedia, dengan menggunakan scan.nextInt untuk memasukkan input ke variabel.

Program ini menggunakan pilihan menu dengan menggunakan looping for. Looping tersebut memakai aturan jika menginput 'Y' atau 'y' maka akan berulang. Untuk pilihan menu di program ini kita menggunakan nested if ( if bersarang ) dengan ketentuan jika menginputkan angka 1 sampai 5 sesuai dengan nomer menu maka harga dari menu tersebut disimpan dalam variabel harga. Jika memilih pilihan menu lagi maka variabel harga akan ditambah dengan variabel yang menyimpan harga dari menu yang dipilih. Sehingga jika sudah selesai memilih menu dan mengakhiri proses looping dengan tidak menginputkan 'Y' atau 'y' maka akan ditampilkan total harga dari menu yang sudah dipilih tadi. Dibawah ini adalah screenshot dari koding diatas, dan saya menggunakan program geany pada ubuntu.





Dibawah ini adalah output dari program diatas.


Terlihat dari output adalah menu beserta harganya. Saya mencoba pertama menginputkan angka 2, kemudian menginput y untuk kembali memilih menu. Menu kedua saya memilih menu ke 4 dengan menginput angka 4 dan mengakhiri pilihan menu dengan menginput t. Terakhir akan muncul total harga dari menu yang tadi sudah dipilih.
Sekian penjelasan program menu dari saya, apabila salah kata mohon dimaafkan, semoga dapat bermanfaat bagi kalian para progrmers.

Rabu, 01 April 2015

OVERRIDING

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.




Belajar Overriding
Overriding adalah method subclass sama dengan method super class, parameter yang dimiliki sama tetapi pernyataan atau implementasinya berbeda. Atau overriding dapat diartikan merupakan suatu keadaan dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk.
Keuntungan Overriding adalah dapat menambahkan sifat / atribut pada kelas induk nya lebih Jelasnya Overloading secara singkat :
1.      Mendefinisikan method dengan nama sama pada class yang berbeda.
2.  Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Pada program di atas terlihat bahwa method Sapa() pada super class(class Nama) di override di sub class(class Siapa) . Parameter pada kedua class tersebut sama yaitu tidak mempunyai paramater alias kosong, tetapi perbedaannya adalah implementasinya yaitu mencetak kalimat yang berbeda.

Ini adalah screenshot dari koding:
Ini setelah di run:

Selasa, 31 Maret 2015

KALKULATOR SEDERHANA

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.



Membuat Program Kalkulator Sederhana
Pada artikel ini saya akan membahas cara membuat kalkulator sederhana pada bahasa pemrograman java dengan menggunakan program Geany. Program kalkulator sederhana ini mirip dengan program aritmatika yang sebelumnya telah di buat, tapi yang membedakan adalah dalam program kalkulator sederhana ini setelah kita menginput angka yang akan diproses kita dapat memilih operasi apa yang akan dilakukan.
Dalam koding tersebut terdapat class kalkulator yang berisi operasi aritmatika penjumlahan, pengurangan, perkalian dan pembagian. Sebelum class kalkulator terdapat import java.util.Scanner yang berfungsi agar kita bisa menggunakan input dan output dalam program ini. Pada class Main program saya menggunakan menu pilihan yaitu 1. Penjumlahan, 2. Pengurangan, 3. Perkalian dan 4. Pembagian.
Cara kerja program kalkulator sederhana ini adalah pertama dengan memilih operasi apa yang diinginkan 1. Penjumlahan, 2. Pengurangan, 3. Perkalian, 4. Pembagian dan jika pilihan selain itu maka akan muncul pesan "Pilihan salah". Kemudian setelah memilih akan diminta untuk menginput angka pertama dan kedua yang kemudian langsung diproses oleh program.

Berikut ini adalah screenshot program :





Ini adalah output dari koding diatas:

Selasa, 17 Maret 2015

MENGETAHUI TENTANG UML USE CASE DIAGRAM

Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.



Unified Modeling Language (UML)

Merupakan sebuah bahasa pemodelan yang sudah menjadi standar industri software untuk visualisasi, merancang, dan mendokumentasikan sistem perangkat lunak. Bahasa Pemodelan UML lebih cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman berorientasi objek (C , Java, VB.NET), namun demikian tetap dapat digunakan pada bahasa pemrograman prosedural .
10 macam diagram dari UML utuk memodelkan aplikasi berorientasi objek:
Use Case Diagram         : untuk memodelkan proses bisnis.
Conceptual Diagram      : untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
Sequence Diagram         : untuk memodelkan pengiriman pesan (message) antar         objects.
Collaboration Diagram  : untuk memodelkan interaksi antar objects.
State Diagram               : untuk memodelkan perilaku objects di dalam sistem.
Activity Diagram           : untuk memodelkan perilaku Use Cases dan objects di dalam system.
Class Diagram               : untuk memodelkan struktur kelas.
Object Diagram             : untuk memodelkan struktur object.
Component Diagram     : untuk memodelkan komponen object.
Deployment Diagram    : untuk memodelkan distribusi aplikasi.

Use Case Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor Use case digambarkan berbentuk elips dengannama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case. Use Case diagram memiliki bagian – bagian, Bagian – bagian Use Case Diagram adalah sebagai berikut :
·         System
Menyatakan batasan sistem dalam relasi dengan actor-actor yang menggunakannya dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
·         Actor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem.
·         Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai. Terdapat 2 triger pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa.
·         Assosiation
Mengidentifikasikan interaksi antara setiap actor tertentu dengan setiap use case tertentu. Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan demikian.

Dependency
Dependensi <<include>>
Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.
Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada garis. Arah mata panah sesuai dengan arah pemanggilan.
Dependensi <<extend>>
Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi <<extend>>.
Note: konsep “extend” ini berbeda dengan “extend” dalam Java!
Digambarkan serupa dengan dependensi <<include>> kecuali arah panah berlawanan.

Generalization
Mendefinisikan relasi antara dua actor atau dua use case yang mana salah satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.

Contoh UML: