Archive for 2015

Desain Dan Perancangan Aplikasi Denpasar Smart Transportation sebagai Implementasi Smart Mobility Kota Denpasar Bali


            Implementasi Smart City banyak diterapkan saat ini, direncanakan akan diterapkan pada kota Denpasar Bali, ke dalam sejumlah bidang. Salah satunya adalah di bidang transportasi dan mobilitas masyarakat (Smart Mobility). Kota Denpasar memiliki potensi di bidang pariwisata akan tetapi sejumlah permasalahan transportasi dan lalu lintas terjadi, yang mana bisa dikelola dan ditangani dengan baik, berbasiskan Teknologi Informasi. Salah satunya adalah dengan pemanfaatan bahasa pemrograman Java yang menggunakan konsep Object Oriented, ke dalam platform Android. Solusi yang ditawarkan adalah dengan penyediaan desain dan perancangan aplikasi mobile Android berupa Smart Mobility kota Denpasar, yang akan diimplementasikan berbasiskan konsep objek oriented pada Java. Makalah ini menyajikan latar belakang, masalah, solusi, hingga desain perancangan ke dalam UML.
           

Kata kunci :

Smart City, Smart Mobility, Java, UML, Object Oriented

Untuk lebih lengkapnya bisa di lihat di sini
Sabtu, 30 Mei 2015
Posted by Noacto
Tag :

Use Case dan Sequence Diagram Sistem Point of Sale

Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044 
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

Pada artikel ini saya akan membuat Use Case dan Sequence diagram dari sistem Point of Sale. Sistem Point of Sale ini merupakan sistem dalam proses penjualan dan sistem yang membantu proses transaksi.

Use Case Diagram

Gambar : Use Case Diagram
Keterangan Use Case Diagram :
  1. Use Case Login : Memuat proses login yang dilakukan oleh user, dalam hal ini admin dan kasir.
  2. Use Case Input Barang : Memuat proses memasukan data barang yang dilakukan oleh admin ke dalam sistem database dari data barang.
  3. Use Case Lihat Barang : Memuat proses melihat barang yang dapat dilakukan oleh admin maupun kasir. Data yang ditampilkan diambil dari database data barang.
  4. Use Case Delete Barang : Memuat proses hapus data barang pada database barang yang hanya dapat dilakukan oleh admin.
  5. Use Case Edit Barang : Memuat proses untuk mengubah data barang pada database barang yang dilakukan oleh admin.
  6. Use Case Input Transaksi : Memuat proses memasukkan data transaksi yang sedang berlangsung ke dalam data transaksi dari sistem yang dilakukan oleh Kasir.
  7. Use Case Lihat Transaksi : Memuat proses melihat data transaksi yang dapat dilakukan oleh admin maupun kasir. Data yang ditampilkan diambil dari database transaksi.
  8. Use Case Delete Transaksi : Memuat proses menghapus data transaksi yang sedang berlangsung yang dilakukan oleh kasir.
  9. Use Case Cetak Transaksi : Memuat proses mencetak data transaksi yang telah selesai, Use case ini dapat dilakukan oleh Kasir.

Sequence Diagram

Gambar : Sequence Diagram Login

Gambar : Sequence Diagram Input Barang
Gambar : Sequence Diagram Lihat Barang

Gambar : Sequence Diagram Delete Barang
Gambar : Sequence Diagram Edit Barang

Gambar : Sequence Diagram Input Transaksi

Gambar : Sequence Diagram Lihat Transaksi 

Gambar : Sequence Diagram Delete Transaksi
Gambar : Sequence Diagram Cetak Transaksi 

Diatas adalah Sequence Diagram dari masing masing use case yang terdapat pada sistem point of sale yang saya buat.
Sekian penjelasan saya mengenai Use Case dan Sequence Diagram dari sistem Point of Sale. Semoga dapat membantu.



Selasa, 14 April 2015
Posted by Noacto
Tag :

Belajar Pemrograman GUI pada Java - Mengganti Title Bar

Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044 
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

Pada artikel ini 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. Dalam belajar pemrograman GUI ini saya mencoba untuk mengganti title bar pada aplikasi yang nantinya kita bisa beri nama sesuai keinginan kita. 


Berikut adalah koding program tersebut.

import javax.swing.*; 

import java.awt.*; 

import java.awt.event.*; 

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

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

Baris Awal merupakan pemanggilan class package swing dan awt. Swing (Standart Widget Toolkit) dan AWT (Abstract Windows Toolkit) merupakan paket yang telah ada dalam Java yang dapat digunakan untuk merancang GUI. Tanda '*' pada akhir import berarti memilih semua yang termasuk didalamnya.

Baris Public class helloWorld extends JFrame Baris perintah tersebut digunakan untuk mendeklarasikan kelas baru dengan nama helloWorld yang merupakan turunan dari kelas JFrame. Baris helloWorld(string title) digunakan untuk mendeklarasikan variabel title. Metode setSize(700, 500) merupakan metode yang terdapat dalam class JFrame untuk menentukan ukuran Window aplikasi GUI yang diset 700 sebagai panjang dam 500 sebagai lebar dalam koding diatas. Baris setTitle(title) merupakan metode dari class JFrame yang berfungsi untuk mengganti nama dari title bar. 

Pada Main program pertama terdapat inisialisasi class helloWorld dan mengisi variabel title dengan "Coba TES Java" yang nantinya akan menjadi nama dari title bar GUI. Metode setVisible(true) merupakan metode yang diwariskan dari kelas java.awt. Metode ini digunakan untuk memunculkan atau menyembunyikan window. Argumen yang dapat dimasukkan adalah true atau false. Metode setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan untuk menangani kejadian saat tanda silang di pojok kanan atas pada window diklik. Ada beberapa konstanta dari kelas WindowConstants yang dapat digunakan sesuai dengan yang diinginkan.

Berikut ini adalah Output dari koding diatas 
Output
Dapat terlihat output yang keluar merupakan aplikasi berbentuk GUI dan pada title bar namanya sesuai dengan yang tadi ditentukan dalam koding yang berarti koding tersebut telah berhasil.
Sekian penjelasan tentang pemrograman gui dalam mengganti Title Bar, semoga dapat dimengerti dan dapat membantu. 

Sumber : 
http://bisabisa-aja.blogspot.com/2012/05/java-gui-awt-swing.html
http://umarfaisol.blogspot.com/2008/09/pemrograman-gui-pada-java-bagian-2.html

Selasa, 07 April 2015
Posted by Noacto
Tag :

Membuat Program Kasir Sederhana pada Java


Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044 

Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

Pada artikel ini saya akan membahas tentang koding program kasir sederhana pada java. Kasir pada umumnya yaitu menghitung total transaksi dari pembeli untuk dibayarkan, dalam program ini kita akan membuat pilihan menu makanan yang tersedia dan menghitung total menu makanan yang telah dipilih pembeli. Pada tempat makan tersebut terdapat menu bakso, bakso + telor, bakso + jamur, bakso + telor + jamur, dan mie ayam bakso. Menu pada tempat makan tersebutlah yang kita buat dalam koding. Berikut koding program kasir 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. Bakso                     Rp  5000,00");
        System.out.println("2. Bakso + Telur             Rp  7000,00");
        System.out.println("3. Bakso + Jamur             Rp  7500,00");
        System.out.println("4. Bakso + Telur + Jamur     Rp  9500,00");
        System.out.println("5. Mie Ayam Bakso            Rp  8000,00");
        System.out.println("");

//        inisialisasi pembayaran awal
        int harga = 0;
//        inisialisasi harga ketiga menu
        int h1=5000, h2=7000, h3=7500, h4=9500, h5=8000;
        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 Bakso, dan harganya adalah h1, yang merupakan harga menu pertama
            menu = " Bakso";
            System.out.println("Pilihan anda nomor " +inNomor + menu);
            harga = harga + h1;
        }
            else if (inNomor == 2)
            {
//            jika nomor dua, maka menu yang dipilih adalah Bakso + Telur, dan harganya adalah h2, yang merupakan harga menu kedua
                menu = " Bakso + Telur";
                System.out.println("Pilihan anda nomor " +inNomor + menu);
                harga = harga + h2;
            }
                else if (inNomor == 3)
                {
//            jika nomor tiga, maka menu yang dipilih adalah Bakso + Jamur, dan harganya adalah h3, yang merupakan harga menu ketiga
                    menu = " Bakso + Jamur";
                    System.out.println("Pilihan anda nomor " +inNomor + menu);
                    harga = harga + h3;
                }
                 else if (inNomor == 4)
                {
//            jika nomor empat, maka menu yang dipilih adalah Bakso + Telur + Jamur, dan harganya adalah h3, yang merupakan harga menu ketiga
                    menu = " Bakso + Telur + Jamur";
                    System.out.println("Pilihan anda nomor " +inNomor + menu);
                    harga = harga + h4;
                }
                      else if (inNomor == 5)
                {
//            jika nomor lima, maka menu yang dipilih adalah Mie Ayam Bakso, dan harganya adalah h3, yang merupakan harga menu ketiga
                    menu = " Mie Ayam Bakso";
                    System.out.println("Pilihan anda nomor " +inNomor + 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 Koding di 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 Kasir 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.

Agar lebih jelas berikut ini adalah output dari program kasir sederhana.
Pertama ini adalah output awal sebelum menginput.

Output awal
Terlihat dari output adalah menu makanan beserta harganya. Saya mencoba pertama menginputkan angka 1, kemudian menginput y untuk kembali memilih menu. Menu kedua saya memilih menu ke 4 dengan menginput angka 4 dan mengakhiri pilihan menu dengan menginput selain y atau Y. Terakhir akan muncul total harga dari menu yang tadi sudah dipilih. Berikut adalah outputnya.

Output akhir
Sekian pembahasan program kasir sederhana pada java ini, semoga dapat membantu.

Posted by Noacto
Tag :

Use Case dan Sequence Diagram Sistem Informasi Akademik


Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044 
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

Pada kesempatan ini saya akan membahas tentang Use Case dan Sequence. Use Case dan Seqence ini termasuk dalam UML (Unified Modeling Language). Sebelum mengetahui apa itu Use Case dan Sequence ada baiknya kita tahu apa itu UML ?

Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadi standar dalam 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. UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek antara lain Use Case Diagram, Conceptual Diagram, Sequence Diagram, Collaboration Diagram, State Diagram, Activity Diagram, Class Diagram, Object Diagram, Component Diagram dan Deployment Diagram. Kali ini kita membahas Use Case dan Sequence saja.

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 yang kita bahas kali ini adalah Use Case dari Sistem Informasi Akademik. 

Berikut ini adalah screenshoot dari Use Case Sistem Informasi Akademik : 
Use Case Sistem Informasi Akademik

Sistem Informasi Akademik terdapat 3 User yaitu Admin, Dosen dan Mahasiswa dengan wewenang akses yang berbeda. Admin dapat mengakses semuanya yang ada. Dosen dapat mengakses Login, daftar, Masukkan Nilai, Hapus Nilai, Mengubah Nilai dan Lihat Nilai yang terbatas sesuai dengan mata kuliah yang dimiliki. Mahasiswa yang memiliki wewenang akses paling sedikit yang hanya bisa mengakses Login, daftar, Lihat Nilai dan Cetak Nilai yang terbatas sesuai dengan Mata kuliah yang diambilnya. 

Sequence Diagram
Sequence diagram (diagram rangkaian/ sekuensial) secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek di dalam use case. Komponen Utama sequence diagram terdiri atas objek yang dituliskan dengan kotak segiempat bernama. Message (Pesan) diwakili oleh garis dengan tanda panah berisi pesan. Sequence diagram disusun berdasarkan urutan waktu (tahapan). 

Berikut gambar sequence diagram Sistem Informasi Akademik :
Sequence Login

Sequence Daftar


Sequence Masukkan Nilai
Sequence Hapus Nilai

Sequence Mengubah Nilai
Sequence Lihat Nilai

Sequence Cetak Nilai

Sekian pembahasan Use Case dan Sequence Diagram ini, semoga dapat membantu.

Sumber :
https://diniasanti.files.wordpress.com/2013/09/18-80-1-pb.pdf
http://repository.uinjkt.ac.id/dspace/bitstream/123456789/3114/1/NURUL%20FITRIYANI-FST.pdf

Selasa, 31 Maret 2015
Posted by Noacto
Tag :

Belajar Overriding pada Java

Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044 
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

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.

Contoh Koding Program dari Overriding pada java dengan nama super calss nya adalah Nama dan sub class nya adalah Siapa : 

class nama{
 public void Sapa(){
  System.out.println("Adi Budi Santoso");
 }
 public static void main(String [] args){
  Siapa ss;
  nama nn;
  ss = new Siapa();
  nn = new nama();
  
  ss.Sapa();//memanggil method Sapa() pada class Siapa
  nn.Sapa();//memanggil method Sapa() pada class nama
 }
}
class Siapa extends nama{
 //Method Sapa() pada class nama di override
 public void Sapa(){
  System.out.println("Budi");
 }
}

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.

Berikut Screenshoot Program :

Output program overriding:

Sekian pembahasan overriding pada java ini, semoga dapat membantu.

Sumber :
http://hamzahsiklepto.blogspot.com/2011/04/pengertian-overloading-dan-overriding.html
http://top-ilmu.blogspot.com/2012/12/overloading-dan-overriding-pada-java.html
Posted by Noacto
Tag :

Membuat Program Kalkulator Sederhana

Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044 
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

Dalam 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.

berikut ini adalah koding dari program kalkulator sederhana :

import java.util.Scanner; //import lib I/O java 

public class kalkulator{
  int hasil=0; 
  //Fungsi Penjumlahan x+y
        void Penjumlahan (int x,int y){
            hasil=x+y;
            System.out.println("Pertambahan : "+x+" + "+y+" = "+hasil);
        }
        //Fungsi Pengurangan x-y
        void Pengurangan (int x,int y){
            hasil=x-y;
            System.out.println("Pengurangan : "+x+" - "+y+"  = "+hasil);
        }
        //Fungsi Perkalian x*y
        void Perkalian (int x,int y){
            hasil=x*y;
            System.out.println("Perkalian   : "+x+" X "+y+" = "+hasil);
        }
        //Fungsi Pembagian x/y
        void Pembagian (int x,int y){
            hasil=x/y;
            System.out.println("Pembagian   : "+x+" / "+y+"  = "+hasil);
        }
 public static void main (String args[]){
  kalkulator kal = new kalkulator();
  Scanner input = new Scanner( System.in );  
  System.out.println("Kalkulator Sederhana");
  
  System.out.println("pilihan  :");
  System.out.println("1. Penjumlahan");
  System.out.println("2. Pengurangan");
  System.out.println("3. Perkalian");
  System.out.println("4. Pembagian");
  System.out.println("Masukan Pilihan anda  :");
  int pilihan = input.nextInt(); 
  
  System.out.println("Masukan bilangan pertama  :");
  int a = input.nextInt(); 
  System.out.println("Masukan bilangan kedua  :");
  int b = input.nextInt(); 
  
  switch(pilihan){
   case 1 :
     kal.Penjumlahan(a,b);
     break;
   case 2 :
     kal.Pengurangan(a,b);
     break;
   case 3 :
     kal.Perkalian(a,b);
     break;
   case 4 :
     kal.Pembagian(a,b);
     break;
   default :
     System.out.println("Pilihan salah");
     break;
  }
 }
}
Dalam koding tersebut terdapat class kalkulator yang be isi 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 :

Hasil Output program :
Dalam hasil program ini saya memilih 3. Perkalian dan menginput angka 25 dan 8 sehingga hasilnya seperti terlihat pada gambar dibawah ini.


Dengan begitu program sudah berjalan dengan benar dan program sudah berhasil. Sekian program kalkulator sederhana, semoga dapat membantu.
Posted by Noacto
Tag :

Belajar UML Use Case Diagram


Nam
a/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik / Universitas Udayana 
Mata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.


Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadi standar dalam 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 .

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
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 

Kali ini saya akan membahas tentang 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 (di luar sistem) 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


 Berikut ini adalah Contoh UML yaitu membuat sistem informasi akademik (melihat nilai).Usernya dalam sistem adalah admin, dosen, mahasiswa dan operasi yang ada di dalamnya adalah daftar, login, manipulasi data.






 Pada sistem diatas, terdapat tiga user yaitu Admin, Dosen dan Mahasiswa. user admin memiliki wewenang paling besar dalam sistem diatas karena dia bisa mengakses semua c yang ada. User dosen hanya bisa mengakses login, Masukkan nilai, Hapus nilai, Update nilai, dan Lihat daftar nilai. Sedangkan Mahasiswa hanya bisa mengakses login, Lihat daftar nilai mata dan Cetak nilai.

Selasa, 17 Maret 2015
Posted by Noacto
Tag :

Contoh Pewarisan yang Menampilkan 2 Kelas Utama Mamalia dan Kelas Reptil

Nama/NIM : Ida Bagus Gde Dwipermana Sidhi / 1404505044
Jurusan/Fakultas/Perguruan Tinggi : Jurusan Teknologi Informasi / Fakultas Teknik /Universitas UdayanaMata Kuliah : Pemrograman Berorientasi Objek
Dosen : I Putu Agus Eka Pratama, S.T., M.T.

Berikut ini merupakan contoh program sederhana yang menampilkan 2 Kelas Utama Mamalia dan Kelas Reptil. Program ini merupakan contoh penggunaan pewarisan. Pewarisan (inheritance) adalah penurunan sifat yang ada pada suatu kelas kepada kelas baru yang menjadi turunannya.

Berikut ini adalah Kodingnya

// kelas Mamalia
//super kelas untuk kelas anak : Sapi, Kucing, Anjing. 
class Mamalia {
 String Nama;
 String Keterangan;
 
 //konstruktor
 public Mamalia (String nama, String keterangan){
  Nama = nama;
  Keterangan = keterangan;
 }
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Sapi
//Turunan dari kelas Mamalia, menggunakan "extends" dan "super"
class Sapi extends Mamalia {
 //konstruktor
 public Sapi (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Kucing
//Turunan dari kelas Mamalia, menggunakan "extends" dan "super"
class Kucing extends Mamalia {
 //konstruktor
 public Kucing (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Anjing
//Turunan dari kelas Mamalia, menggunakan "extends" dan "super"
class Anjing extends Mamalia {
 //konstruktor
 public Anjing (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas ShibaInu
//Turunan dari kelas Anjing, menggunakan "extends" dan "super"
class ShibaInu extends Anjing {
 String Negara;
 String Warna;
 
 //konstruktor
 public ShibaInu (String nama, String keterangan,String warna,
 String negara) {
  super (nama, keterangan);
  Negara = negara;
  Warna = warna;
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
  System.out.println("Warna = " +Warna);
  System.out.println("Negara Asal = " +Negara);
 }
}

//kelas SiberianHusky
//Turunan dari kelas Anjing, menggunakan "extends" dan "super"
class SiberianHusky extends Anjing {
 String Negara;
 String Warna;
 
 //konstruktor
 public SiberianHusky (String nama, String keterangan,String warna,
 String negara) {
  super (nama, keterangan);
  Negara = negara;
  Warna = warna;
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
  System.out.println("Warna = " +Warna);
  System.out.println("Negara Asal = " +Negara);
 }
}

//kelas GermanShepherd
//Turunan dari kelas Anjing, menggunakan "extends" dan "super"
class GermanShepherd extends Anjing {
 String Negara;
 String Warna;
 
 //konstruktor
 public GermanShepherd (String nama, String keterangan,String warna,
 String negara) {
  super (nama, keterangan);
  Negara = negara;
  Warna = warna;
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Mamalia = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
  System.out.println("Warna = " +Warna);
  System.out.println("Negara Asal = " +Negara);
 }
}

// kelas Reptil
//super kelas untuk kelas anak : Ular, Buaya, Cicak. 
class Reptil {
 String Nama;
 String Keterangan;
 
 //konstruktor
 public Reptil (String nama, String keterangan){
  Nama = nama;
  Keterangan = keterangan;
 }
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Reptil = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Ular
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Ular extends Reptil {
 //konstruktor
 public Ular (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Reptil = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Buaya
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Buaya extends Reptil {
 //konstruktor
 public Buaya (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Reptil = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Cicak
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Cicak extends Reptil {
 //konstruktor
 public Cicak (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Reptil = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Kobra
//Turunan dari kelas Ular, menggunakan "extends" dan "super"
class Kobra extends Ular {
 //konstruktor
 public Kobra (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Reptil = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//kelas Python
//Turunan dari kelas Ular, menggunakan "extends" dan "super"
class Python extends Ular {
 //konstruktor
 public Python (String nama, String keterangan) {
  super (nama, keterangan);
 }
 
 //methode
 public void TampilkanRincian(){
  System.out.println("Nama Reptil = " +Nama);
  System.out.println("Keterangan = " +Keterangan);
 }
}

//Kelas utama
public class Binatang {
 
 public static void main (String args[]) {
  
  //instansiasi kelas 
  //menggunakan "new" 
  System.out.println("Berikut daftar binatang beserta salah satu turunannya :");
  System.out.println("");
  Sapi sapi = new Sapi("Sapi","Hewan Ternak");
  Kucing kucing = new Kucing("Kucing","Hewan Peliharaan");
  Anjing anjing = new Anjing("Anjing",
  "Hewan Peliharaan yang juga bisa membantu manusia dalam pekerjaan");
  ShibaInu shiba = new ShibaInu("Shiba Inu","Anjing yang setia",
  "Coklat Kekuningan, Hitam & kecoklatan, Hitam kekuningan","Jepang");
  SiberianHusky husky = new SiberianHusky("Siberian Husky",
  "Anjing tangguh, aktif, efisien dan penuh energik ",
  "Hitam, Merah, Hitam & Putih, Hitam & kecokelatan, belang-belang","Rusia");
  GermanShepherd german = new GermanShepherd("German Shepherd",
  "Anjing yang Pintar, Berani dan Setia",
  "Hitam, Abu-abu, Biru, Putih, Hitam & Tan, Sable, Merah & Hitam","Jerman");
  Ular ular = new Ular("Ular",
  "Hewan Berbahaya, yang bisa membunuh dengan melilit atau dengan bisa");
  Buaya buaya = new Buaya("Buaya",
  "Hewan Berbahaya yang sering terdapat di pinggir sungai atau danau");
  Cicak cicak = new Cicak("Cicak",
  "Hewan yang merayap di dindin atau pohon");
  Kobra kobra = new Kobra("Kobra",
  "Jenis dari ular yang memiliki bisa yang mematikan");
  Python python = new Python("Python",
  "Jenis dari ular yang membunuh mangsanya dengan cara melilitnya");
     
  //Pemanggilan konstruktor masing - masing
  sapi.TampilkanRincian();
  System.out.println(""); 
  kucing.TampilkanRincian();
  System.out.println(""); 
  anjing.TampilkanRincian();
  System.out.println(""); 
  shiba.TampilkanRincian();
  System.out.println(""); 
  husky.TampilkanRincian();
  System.out.println(""); 
  german.TampilkanRincian();
  System.out.println(""); 
  ular.TampilkanRincian();
  System.out.println("");
  buaya.TampilkanRincian();
  System.out.println("");
  cicak.TampilkanRincian();
  System.out.println("");
  kobra.TampilkanRincian();
  System.out.println("");
  python.TampilkanRincian();
  System.out.println(""); 
 }
}


Berikut ini adalah Gambar beserta penjelasan dari program :

Pada Program ini terdapat dua Class utama yaitu Mamalia dan Reptil. Pada Gambar diatas ini merupakan Class Mamalia yang merupakan Super kelas untuk kelas anak Sapi, Kucing, Anjing. Pada baris awal terdapat Member yaitu String Nama dan Keterangan. Baris selanjutnya merupakan konstrukor, Public dipakai agar class lain dapat mengaksesnya. [public Mamalia(String name, String keterangan)] digunakan untuk men-set variabel name dan keterangan pada saat pertama kali mendeklarasikan Obyek dengan tipe Class Mamalia. Kemudian paling bawah yaitu methode [public void TampilkanRincian()] digunakan untuk menampilkan nama dan keterangan yang diinputkan.
 Class Sapi adalah sub class dari Class Mamalia. Class ini merupakan pewarisan dari class mamalia. super(nama,keterangan) pada konstruktor tersebut digunakan untuk mewariskan member nama dan keterangan yang terdapat dalam Class Mamalia.
Sama seperti Class Sapi, Class Kucing dan Class Anjing adalah sub class dari Class Mamalia. Dengan super(nama,keterangan) pada konstruktor Class Kucing dan Class Anjing ini mewariskan member nama dan keterangan yang terdapat dalam Class Mamalia.
Class ShibaInu adalah sub class dari Class Anjing. Class ini mendapat pewarisan dari Class Anjing yang sebelumnya juga menerima pewarisan nama dan keterangan dari Class Mamalia. super(nama,keterangan) pada konstruktor tersebut digunakan untuk mewariskan member nama dan keterangan yang terdapat dalam Class Mamalia melalui Class Anjing. Selain mendapat pewarisan dari Class Anjing, Class ini juga memiliki member Negara dan Warna.
Sama seperti Class ShibaInu, Class SiberianHusky dan GermanShepherd adalah sub class dari Class Anjing. Class ini mendapat pewarisan dari Class Anjing yang sebelumnya juga menerima pewarisan nama dan keterangan dari Class Mamalia. super(nama,keterangan) pada konstruktor tersebut digunakan untuk mewariskan member nama dan keterangan yang terdapat dalam Class Mamalia melalui Class Anjing. Selain mendapat pewarisan dari Class Anjing, Class ini juga memiliki member Negara dan Warna.
Class Reptil merupakan Class Utama. Class Reptil ini adalah super class dari Class Ular, Buaya, Cicak. Pada baris awal terdapat Member yaitu String Nama dan Keterangan. Baris selanjutnya merupakan konstrukor, Public dipakai agar class lain dapat mengaksesnya. [public Reptil(String name, String keterangan)] digunakan untuk men-set variabel name dan keterangan pada saat pertama kali mendeklarasikan Obyek dengan tipe Class Reptil. Kemudian paling bawah yaitu methode [public void TampilkanRincian()] digunakan untuk menampilkan nama dan keterangan yang diinputkan.
Class Ular adalah sub class. Class ini mendapat pewarisan dari class Reptil. Menuliskan super(nama,keterangan) pada konstruktor digunakan untuk mewariskan member nama dan keterangan yang terdapat dalam Class Reptil.
Sama seperti Class Ular, Class Buaya dan Class Cicak adalah sub class yang mendapat pewarisan nama dan keterangan dari Class Reptil. Dengan menuliskan super(nama,keterangan) pada konstruktor Class Buaya dan Class Cicak ini mewariskan member nama dan keterangan yang terdapat dalam Class Reptil.
Class Kobra adalah sub class, Turunan dari Class Ular. Class ini mendapat pewarisan nama dan keterangan dari Class Ular yang sebelumnya juga menerima pewarisan nama dan keterangan dari Class Reptil.Menuliskan super(nama,keterangan) pada konstruktor tersebut digunakan untuk mewariskan member nama dan keterangan yang terdapat dalam Class Reptil melalui Class Ular.
Sama Class Kobra, Class Python adalah Turunan dari Class Ular. Class ini mendapat pewarisan nama dan keterangan dari Class Ular yang sebelumnya juga menerima pewarisan nama dan keterangan dari Class Reptil.Menuliskan super(nama,keterangan) pada konstruktor tersebut digunakan untuk mewariskan member nama dan keterangan yang terdapat dalam Class Reptil melalui Class Ular.
Pada Gambar di atas ini adalah Main Class yaitu Class Binatang. Pertama kita melakukan instalisasi class menggunakan "new". Sapi sapi = new Sapi("Sapi","Hewan Ternak"); dalam kurung ini merupakan input untuk member nama dan keterangan. Begitu juga dengan ShibaInu shiba = new ShibaInu("Shiba Inu","Anjing yang setia","Coklat Kekuningan, Hitam & kecoklatan, Hitam kekuningan","Jepang"); dalam kurung di sini merupakan inputan untuk nama, keterangan, warna dan negara.
Setelah semua Class di instalisasi selanjutnya adalah pemanggilan konstruktor masing - masing dengan cara menuliskan sapi.TampilkanRincian(); dan sapi.TampilkanRincian(); dan System.out.println(""); digunakan untuk memberikan spasi satu line.


Berikut ini adalah Output atau Hasil dari Program :

Posted by Noacto
Tag :

Popular Post

Blogger templates