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
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.
Keterangan Use Case Diagram :
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.
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 |
- Use Case Login : Memuat proses login yang dilakukan oleh user, dalam hal ini admin dan kasir.
- Use Case Input Barang : Memuat proses memasukan data barang yang dilakukan oleh admin ke dalam sistem database dari data barang.
- Use Case Lihat Barang : Memuat proses melihat barang yang dapat dilakukan oleh admin maupun kasir. Data yang ditampilkan diambil dari database data barang.
- Use Case Delete Barang : Memuat proses hapus data barang pada database barang yang hanya dapat dilakukan oleh admin.
- Use Case Edit Barang : Memuat proses untuk mengubah data barang pada database barang yang dilakukan oleh admin.
- Use Case Input Transaksi : Memuat proses memasukkan data transaksi yang sedang berlangsung ke dalam data transaksi dari sistem yang dilakukan oleh Kasir.
- Use Case Lihat Transaksi : Memuat proses melihat data transaksi yang dapat dilakukan oleh admin maupun kasir. Data yang ditampilkan diambil dari database transaksi.
- Use Case Delete Transaksi : Memuat proses menghapus data transaksi yang sedang berlangsung yang dilakukan oleh kasir.
- 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.
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.
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
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 |
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 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.
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
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 :
Contoh Koding Program dari Overriding pada java dengan nama super calss nya adalah Nama dan sub class nya adalah Siapa :
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 :
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 :
- Mendefinisikan method dengan nama sama pada class yang berbeda.
- 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"); } }
Berikut Screenshoot Program :
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 :
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.
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 :
Dalam hasil program ini saya memilih 3. Perkalian dan menginput angka 25 dan 8 sehingga hasilnya seperti terlihat pada gambar dibawah ini.
Belajar UML Use Case Diagram
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.
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
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.
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.
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 :