Sabtu, 25 April 2015

Rational Unified Process (RUP)



Pengertian Rational Unified Process (RUP)
Apa itu Rational Unified Process ?
  
1. Dalam blognya http://aih25.blogspot.com/2013/03/rup-rational-unified-process.html menjelaskan RUP (Rational Unified Process) merupakan suatu Software engineering process hasil kerja awal dari “Three Amigos” –Ivar Jacobson, Grady Booch, dan James Rumbaugh- yang bertujuan untuk memastikan kualitas yang terbaik pada suatu produksi software dengan memperkirakan jadwal dan biaya yang harus dikeluarkan. RUP merupakan process product dari Rational® Software dengan konsep utamanya adalah tentang model, workflow dan workers, serta tentang phase dan iterasi.

2. Dalam blognya http://cccoffe.blogspot.com/2014/09/rdp-rational-unified-process.html menjelaskan RUP adalah suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak yang akan memilih elemen proses sesuai dengan kebutuhan mereka. 

3. Dalam blognya http://handzmentallist.blogspot.com/2012/04/rup-rational-unified-process.html menjelaskan RUP adalah salah satu proses perekayasaan perangkat lunak yang mencakup keseluruhan siklus hidup pengembangan perangkat lunak dengan mengumpulkan berbagai latihan terbaik yang terdapat dalam pengembagan perangkat lunak. RUP ini menyediakan cara pendekatan untuk membagi tugas dan tanggung jawab ke kelompok atau organisasi yang akan menangani pengembangan perangkat lunak.

   Dapat disimpulankan
Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak.

Sejarah Rational Unified Process
   RUP yang dikembangkan oleh Rational software adalah hasil kerjasama antara Grady Booch, James Rumbaugh, dan Ivar Jacobson dalam menyusun suatu metodologi yang digunakan untuk membangun software. RUP sendiri merupakan suatu metodologi pembangunan software.  RUP menyediakan suatu pendekatan untuk menangani pekerjaan dan tanggung jawab dalam pengembanganan. RUP bertujuan untuk  menghasilkan suatu software yang sesuai dengan kebutuhan dari end-user nya, pada jangka waktu dan biaya yang terukur.

Dengan mengombinasikan pengalaman dari banyak perusahaan, dihasilkan enam praktik terbaik untuk rekayasa perangkat lunak modern, yaitu:
  1. Pengembangan iteratif, dengan risiko sebagai pemicu iterasi primer
  2. Kelola persyaratan
  3. Terapkan arsitektur yang berbasis komponen
  4. Visualisasikan model perangkat lunak
  5. Secara kontinyu, verifikasi kualitas
  6. Kendalikan perubahan
     RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML).
Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari fase selanjutnya. Setiap fase dapat berdiri dari satu beberapa iterasi.  Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.
Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment.

Tahapan-tahapan RUP
Insepsi
Merupakan tahap awal dari proses Rational Unified Process, melakukan analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use case). Menjawab pertanyaan apakah yang dikerjakan dapat menciptakaan good business sense sehingga proyek dapat dijalankan.

Elaborasi
Merupakan tahapan kedua dalam perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototype versi Betha dari perangkat lunak serta Menganalisa risiko dan berbagai persyaratan.

Konstruksi
Tahap ketiga dalam pengimplementasian perancangan perangkat lunak, pada setiap iterasi juga melibatkan proses-proses seperti analisa, desain, implementasi, coding.

Transisi
Tahapan terakhir untuk instalasi, deployment, dan sosialisasi perangkat lunak, melaksanakan apa yang sudah dimodelkan menjadi suatu produk jadi.

Keuntungan RUP
Keuntungan yang didapat dengan menggunakan pendekatan iterasi diantaranya adalah : mengurangi resiko lebih awal, perubahan yang dilakukan lebih mudah diatur, higher level of reuse, project team memiliki waktu lama untuk memahami sistem yang akan dibangun, dan menghasilkan kualitas yang lebih baik di segala aspek.


Sumber/referensi  :






Analisa dan Desain Dengan Menggunakan Objek Oriented


 Apa itu Analisa dan Desain Objek Oriented ?

1. Menurut peterdraw dalam blognya https://peterdraw.wordpress.com/2011/10/30/konsep-ooad-object-oriented-analysis-design/ Menjelaskan Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Pengertian “berorientasi objek” itu sendiri berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

2. Menurut richmondtraytor dalam blognya http://richmondtraytor.blogspot.com/2012/06/analisis-dan-perancangan-berbasis-objek.html Menjelaskan Analisis dan perancangan berbasis objek adalah suatu metode yang memeriksa kebutuhan dari sudut pandang class-class dan object-object yang ditemui dalam ruang lingkup permasalahan dan mengarahkan arsitektur software yang didasarkan pada manipulasi object-object sistem atau subsistem.

3. Menurut artikel Hendra Divayana yang berjudul Konsep OOAD http://dewa-hendra.blogspot.com/2010/04/i.html yang berjudul Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.

   Dapat disimpulkan, Analisa dan Desain Objek Oriented adalah cara dalam memikirkan/memecahkan suatu masalah dengan menggunakan model yang dibuat menurut konsep aslinya (dunia nyata).

Apa itu OOA dan OOD ? 
Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD).

OOA (Object Oriented Analysis) atau Analisis beorientasi objek adalah tahapan perangkat lunak dengan menentukan spesifikasi sistem dan mengidentifikasi kelas-kelas yang hubungannya satu terhadap yang lain.
OOD (Object Oriented Design) atau Perancangan berorientasi objek adalah merancang kelas-kelas yang teridentifikasi selama tahap analisis dan antarmuka pengguna (user interface). Pada tahapan ini dilakukan identifikasi yang memungkinkan untuk menambahkan beberapa objek dan kelas yang mendukung implementasi dari spesifikasi yang dibutuhkan.

Kegiatan Perancangan ini meliputi
1. Perancangan data
2. Perancangan arsitektural
3. Perancangan antarmuka
4. Perancangan procedural

Yang dimaksud dengan Encapsulation, Inheritance, Polimorfisme? 
Encapsulation adalah pembungkusan/pengemasan data dan fungsi dalam wadah bernama obyek. Atau menyembunyikan operasi-operasi dari dunia luar dan dari obyek-obyek lain.

Inheritence (turunan) adalah konsep yang menyatakan bahwa metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.

Polimorfisme merupakan suatu konsep yang menyatakan s esuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.

Teknik pemodelan yang ada pada OOAD? 
Model Objek menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya. Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.

Model Dinamik menggambarkan aspek dari sistem yang berubah setiap saat. Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem. Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.

Model Fungsional menggambrakan transformasi nilai data di dalam sistem. Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.

Konsep Metode Berorientasi Objek 
Objek-objek adalah suatu gabungan antara sebuah data dan sebuah aspek lojik yang menggambarkan sebuah entitas dunia nyata.

1. Kelas dikatakan sebagai suatu kumpulan objek yang memiliki struktur dan perilaku yang sama. contoh sepeda adalah suatu kelas, maka sepeda wimcycle,sepeda polygon dikatakan suatu objek.

2. Atribut bertugas sebagai untuk menggambarkan keadaan suatu objek, contoh sebuah sepeda memiliki atribut bentuk,ukuran,warna,harga.

3. Metode adalah suatu fungsi atau prosedur yang didefinisikan untuk dapat mengakses keadaan internal suatu objek dari suatu kelas. contoh nya kelas Pegawai memiliki metode Hitung Gaji. Metode sebenarnya merupakan antarmuka yang disediakan untuk dapat memanfaatkan perilaku objek tersebut.

4. Message merupakan cara untuk berhubungan antara satu objek dengan objek lain, Dua objek yang berbeda dapat melakukan sebuah operasi yang berbeda dengan message yang sama. Konsep ini dikenal dengan nama Polymorphism.

5. Enkapsulasi memadukan karakteristik unit di dalam suatu objek (data dan metode). Konsep ini bertujuan untuk menyembunyikan informasi dan karakteristik objek.

6. Hirarki Kelas ,sistem berorientasi objek mengorganisasi kelas ke dalam hirarki subclass-superclass. Perbedaan karakteristik dan perilaku digunakan sebagai dasar penilaian untuk membedakan antara kelas dan sub kelas.

Tujuan OOAD 
1. Menangani lebih banyak problem domain. Analisis Berorientasi Objek memberikan kemudahan untuk memahami inti permasalahan.
2. Mengorganisasi analisis dan spesipikasi dengan metode yang digunakan cara berfikir manusia.
3. Pewarisan dapat memberikan identifikasi sesuatu yang umum pada atribut dan metoda.
4. Menjaga stabilitas atas perubahan kebutuhan pada sistem yang sama.
5. Hasil analisis dapat digunakan kembali.
6. Penggambaran yang konsisten dari sistem, pada tahap analisis dan desain.

Sumber/Refrensi :
https://peterdraw.wordpress.com/2011/10/30/konsep-ooad-object-oriented-analysis-design/
http://richmondtraytor.blogspot.com/2012/06/analisis-dan-perancangan-berbasis-objek.html 
http://dewa-hendra.blogspot.com/2010/04/i.html

Sabtu, 28 Februari 2015

Membuat Aplikasi List View Dengan Icon Gambar




Membuat Aplikasi List View Dengan Icon Gambar

Berikut scripnya...
 activty_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <!-- Komponen List View -->
    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         >
    </ListView>
</RelativeLayout>
==============
list_single_data.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TableRow>
        <ImageView
            android:id="@+id/imgIcon"
            android:layout_width="50dp"
            android:layout_height="50dp"/>

        <TextView
            android:id="@+id/txtList"
            android:layout_width="wrap_content"
            android:layout_height="50dp" />

</TableRow>
</TableLayout>
=================
CustomListView.java
package com.theheran.listviewicon;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

/**
 *
 * @author @The_Heran
 * www.theheran.com
 */

public class CustomListView extends  ArrayAdapter<String> {
    //Declarasi
    private final Activity context;
    private final String[] web;
    private final Integer[] imageId;

    public CustomListView(Activity context,String[] web, Integer[] imageId) {
        super(context, R.layout.list_single_data, web);
        this.context = context;
        this.web = web;
        this.imageId = imageId;

    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
            LayoutInflater inflater = context.getLayoutInflater();
            //Load Custom Layout untuk list
            View rowView= inflater.inflate(R.layout.list_single_data, null, true);
            //Declarasi komponen
            TextView txtTitle = (TextView) rowView.findViewById(R.id.txtList);
            ImageView imageView = (ImageView) rowView.findViewById(R.id.imgIcon);

            //Set Parameter Value
            txtTitle.setText(web[position]);
            imageView.setImageResource(imageId[position]);

            return rowView;
        }
}
==========
MainActivity.java
package com.theheran.listviewicon;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
/**
 *

 */

public class MainActivity extends Activity {
    //Declarasi Array Menu dan gambar
    ListView list;
    String[] menu = {
            "@The_Heran",
            "www.theheran.com",
            "Add",
            "Delete",
            "Next",
            "Back",
            "Find",
            "Warning"
    } ;
    Integer[] imageId = {
            R.drawable.ic_launcher,
            R.drawable.signal,
            R.drawable.add,
            R.drawable.trash,
            R.drawable.next,
            R.drawable.back,
            R.drawable.find,
            R.drawable.warning
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      //Load main Layout
        setContentView(R.layout.activity_main);
        CustomListView adapter = new
        CustomListView(MainActivity.this, menu, imageId);
        //get Id List
        list=(ListView)findViewById(R.id.list);
        //Set adapter to list
        list.setAdapter(adapter);
        //Set ketika salah satu list di pilih(klik)
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                Toast.makeText(MainActivity.this, "Anda Memilih" +menu[+ position], Toast.LENGTH_SHORT).show();

            }
        });
    }

}
============
AndroidsManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.theheran.listviewicon"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.theheran.listviewicon.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Hasilnya...


Sabtu, 25 April 2015

Rational Unified Process (RUP)

Diposting oleh Unknown di 15.44 0 komentar


Pengertian Rational Unified Process (RUP)
Apa itu Rational Unified Process ?
  
1. Dalam blognya http://aih25.blogspot.com/2013/03/rup-rational-unified-process.html menjelaskan RUP (Rational Unified Process) merupakan suatu Software engineering process hasil kerja awal dari “Three Amigos” –Ivar Jacobson, Grady Booch, dan James Rumbaugh- yang bertujuan untuk memastikan kualitas yang terbaik pada suatu produksi software dengan memperkirakan jadwal dan biaya yang harus dikeluarkan. RUP merupakan process product dari Rational® Software dengan konsep utamanya adalah tentang model, workflow dan workers, serta tentang phase dan iterasi.

2. Dalam blognya http://cccoffe.blogspot.com/2014/09/rdp-rational-unified-process.html menjelaskan RUP adalah suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak yang akan memilih elemen proses sesuai dengan kebutuhan mereka. 

3. Dalam blognya http://handzmentallist.blogspot.com/2012/04/rup-rational-unified-process.html menjelaskan RUP adalah salah satu proses perekayasaan perangkat lunak yang mencakup keseluruhan siklus hidup pengembangan perangkat lunak dengan mengumpulkan berbagai latihan terbaik yang terdapat dalam pengembagan perangkat lunak. RUP ini menyediakan cara pendekatan untuk membagi tugas dan tanggung jawab ke kelompok atau organisasi yang akan menangani pengembangan perangkat lunak.

   Dapat disimpulankan
Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak.

Sejarah Rational Unified Process
   RUP yang dikembangkan oleh Rational software adalah hasil kerjasama antara Grady Booch, James Rumbaugh, dan Ivar Jacobson dalam menyusun suatu metodologi yang digunakan untuk membangun software. RUP sendiri merupakan suatu metodologi pembangunan software.  RUP menyediakan suatu pendekatan untuk menangani pekerjaan dan tanggung jawab dalam pengembanganan. RUP bertujuan untuk  menghasilkan suatu software yang sesuai dengan kebutuhan dari end-user nya, pada jangka waktu dan biaya yang terukur.

Dengan mengombinasikan pengalaman dari banyak perusahaan, dihasilkan enam praktik terbaik untuk rekayasa perangkat lunak modern, yaitu:
  1. Pengembangan iteratif, dengan risiko sebagai pemicu iterasi primer
  2. Kelola persyaratan
  3. Terapkan arsitektur yang berbasis komponen
  4. Visualisasikan model perangkat lunak
  5. Secara kontinyu, verifikasi kualitas
  6. Kendalikan perubahan
     RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML).
Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari fase selanjutnya. Setiap fase dapat berdiri dari satu beberapa iterasi.  Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.
Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment.

Tahapan-tahapan RUP
Insepsi
Merupakan tahap awal dari proses Rational Unified Process, melakukan analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use case). Menjawab pertanyaan apakah yang dikerjakan dapat menciptakaan good business sense sehingga proyek dapat dijalankan.

Elaborasi
Merupakan tahapan kedua dalam perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototype versi Betha dari perangkat lunak serta Menganalisa risiko dan berbagai persyaratan.

Konstruksi
Tahap ketiga dalam pengimplementasian perancangan perangkat lunak, pada setiap iterasi juga melibatkan proses-proses seperti analisa, desain, implementasi, coding.

Transisi
Tahapan terakhir untuk instalasi, deployment, dan sosialisasi perangkat lunak, melaksanakan apa yang sudah dimodelkan menjadi suatu produk jadi.

Keuntungan RUP
Keuntungan yang didapat dengan menggunakan pendekatan iterasi diantaranya adalah : mengurangi resiko lebih awal, perubahan yang dilakukan lebih mudah diatur, higher level of reuse, project team memiliki waktu lama untuk memahami sistem yang akan dibangun, dan menghasilkan kualitas yang lebih baik di segala aspek.


Sumber/referensi  :






Analisa dan Desain Dengan Menggunakan Objek Oriented

Diposting oleh Unknown di 15.30 0 komentar

 Apa itu Analisa dan Desain Objek Oriented ?

1. Menurut peterdraw dalam blognya https://peterdraw.wordpress.com/2011/10/30/konsep-ooad-object-oriented-analysis-design/ Menjelaskan Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Pengertian “berorientasi objek” itu sendiri berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

2. Menurut richmondtraytor dalam blognya http://richmondtraytor.blogspot.com/2012/06/analisis-dan-perancangan-berbasis-objek.html Menjelaskan Analisis dan perancangan berbasis objek adalah suatu metode yang memeriksa kebutuhan dari sudut pandang class-class dan object-object yang ditemui dalam ruang lingkup permasalahan dan mengarahkan arsitektur software yang didasarkan pada manipulasi object-object sistem atau subsistem.

3. Menurut artikel Hendra Divayana yang berjudul Konsep OOAD http://dewa-hendra.blogspot.com/2010/04/i.html yang berjudul Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.

   Dapat disimpulkan, Analisa dan Desain Objek Oriented adalah cara dalam memikirkan/memecahkan suatu masalah dengan menggunakan model yang dibuat menurut konsep aslinya (dunia nyata).

Apa itu OOA dan OOD ? 
Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD).

OOA (Object Oriented Analysis) atau Analisis beorientasi objek adalah tahapan perangkat lunak dengan menentukan spesifikasi sistem dan mengidentifikasi kelas-kelas yang hubungannya satu terhadap yang lain.
OOD (Object Oriented Design) atau Perancangan berorientasi objek adalah merancang kelas-kelas yang teridentifikasi selama tahap analisis dan antarmuka pengguna (user interface). Pada tahapan ini dilakukan identifikasi yang memungkinkan untuk menambahkan beberapa objek dan kelas yang mendukung implementasi dari spesifikasi yang dibutuhkan.

Kegiatan Perancangan ini meliputi
1. Perancangan data
2. Perancangan arsitektural
3. Perancangan antarmuka
4. Perancangan procedural

Yang dimaksud dengan Encapsulation, Inheritance, Polimorfisme? 
Encapsulation adalah pembungkusan/pengemasan data dan fungsi dalam wadah bernama obyek. Atau menyembunyikan operasi-operasi dari dunia luar dan dari obyek-obyek lain.

Inheritence (turunan) adalah konsep yang menyatakan bahwa metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.

Polimorfisme merupakan suatu konsep yang menyatakan s esuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.

Teknik pemodelan yang ada pada OOAD? 
Model Objek menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya. Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.

Model Dinamik menggambarkan aspek dari sistem yang berubah setiap saat. Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem. Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.

Model Fungsional menggambrakan transformasi nilai data di dalam sistem. Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.

Konsep Metode Berorientasi Objek 
Objek-objek adalah suatu gabungan antara sebuah data dan sebuah aspek lojik yang menggambarkan sebuah entitas dunia nyata.

1. Kelas dikatakan sebagai suatu kumpulan objek yang memiliki struktur dan perilaku yang sama. contoh sepeda adalah suatu kelas, maka sepeda wimcycle,sepeda polygon dikatakan suatu objek.

2. Atribut bertugas sebagai untuk menggambarkan keadaan suatu objek, contoh sebuah sepeda memiliki atribut bentuk,ukuran,warna,harga.

3. Metode adalah suatu fungsi atau prosedur yang didefinisikan untuk dapat mengakses keadaan internal suatu objek dari suatu kelas. contoh nya kelas Pegawai memiliki metode Hitung Gaji. Metode sebenarnya merupakan antarmuka yang disediakan untuk dapat memanfaatkan perilaku objek tersebut.

4. Message merupakan cara untuk berhubungan antara satu objek dengan objek lain, Dua objek yang berbeda dapat melakukan sebuah operasi yang berbeda dengan message yang sama. Konsep ini dikenal dengan nama Polymorphism.

5. Enkapsulasi memadukan karakteristik unit di dalam suatu objek (data dan metode). Konsep ini bertujuan untuk menyembunyikan informasi dan karakteristik objek.

6. Hirarki Kelas ,sistem berorientasi objek mengorganisasi kelas ke dalam hirarki subclass-superclass. Perbedaan karakteristik dan perilaku digunakan sebagai dasar penilaian untuk membedakan antara kelas dan sub kelas.

Tujuan OOAD 
1. Menangani lebih banyak problem domain. Analisis Berorientasi Objek memberikan kemudahan untuk memahami inti permasalahan.
2. Mengorganisasi analisis dan spesipikasi dengan metode yang digunakan cara berfikir manusia.
3. Pewarisan dapat memberikan identifikasi sesuatu yang umum pada atribut dan metoda.
4. Menjaga stabilitas atas perubahan kebutuhan pada sistem yang sama.
5. Hasil analisis dapat digunakan kembali.
6. Penggambaran yang konsisten dari sistem, pada tahap analisis dan desain.

Sumber/Refrensi :
https://peterdraw.wordpress.com/2011/10/30/konsep-ooad-object-oriented-analysis-design/
http://richmondtraytor.blogspot.com/2012/06/analisis-dan-perancangan-berbasis-objek.html 
http://dewa-hendra.blogspot.com/2010/04/i.html

Sabtu, 28 Februari 2015

Membuat Aplikasi List View Dengan Icon Gambar

Diposting oleh Unknown di 08.30 0 komentar



Membuat Aplikasi List View Dengan Icon Gambar

Berikut scripnya...
 activty_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <!-- Komponen List View -->
    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         >
    </ListView>
</RelativeLayout>
==============
list_single_data.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TableRow>
        <ImageView
            android:id="@+id/imgIcon"
            android:layout_width="50dp"
            android:layout_height="50dp"/>

        <TextView
            android:id="@+id/txtList"
            android:layout_width="wrap_content"
            android:layout_height="50dp" />

</TableRow>
</TableLayout>
=================
CustomListView.java
package com.theheran.listviewicon;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

/**
 *
 * @author @The_Heran
 * www.theheran.com
 */

public class CustomListView extends  ArrayAdapter<String> {
    //Declarasi
    private final Activity context;
    private final String[] web;
    private final Integer[] imageId;

    public CustomListView(Activity context,String[] web, Integer[] imageId) {
        super(context, R.layout.list_single_data, web);
        this.context = context;
        this.web = web;
        this.imageId = imageId;

    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
            LayoutInflater inflater = context.getLayoutInflater();
            //Load Custom Layout untuk list
            View rowView= inflater.inflate(R.layout.list_single_data, null, true);
            //Declarasi komponen
            TextView txtTitle = (TextView) rowView.findViewById(R.id.txtList);
            ImageView imageView = (ImageView) rowView.findViewById(R.id.imgIcon);

            //Set Parameter Value
            txtTitle.setText(web[position]);
            imageView.setImageResource(imageId[position]);

            return rowView;
        }
}
==========
MainActivity.java
package com.theheran.listviewicon;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
/**
 *

 */

public class MainActivity extends Activity {
    //Declarasi Array Menu dan gambar
    ListView list;
    String[] menu = {
            "@The_Heran",
            "www.theheran.com",
            "Add",
            "Delete",
            "Next",
            "Back",
            "Find",
            "Warning"
    } ;
    Integer[] imageId = {
            R.drawable.ic_launcher,
            R.drawable.signal,
            R.drawable.add,
            R.drawable.trash,
            R.drawable.next,
            R.drawable.back,
            R.drawable.find,
            R.drawable.warning
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      //Load main Layout
        setContentView(R.layout.activity_main);
        CustomListView adapter = new
        CustomListView(MainActivity.this, menu, imageId);
        //get Id List
        list=(ListView)findViewById(R.id.list);
        //Set adapter to list
        list.setAdapter(adapter);
        //Set ketika salah satu list di pilih(klik)
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                Toast.makeText(MainActivity.this, "Anda Memilih" +menu[+ position], Toast.LENGTH_SHORT).show();

            }
        });
    }

}
============
AndroidsManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.theheran.listviewicon"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.theheran.listviewicon.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Hasilnya...