Senin, 04 Januari 2016

Java










Java
Java adalah Bahasa Pemerograman yang dapat dijalankan di berbagai Komputer termasuk Telepon Genggam Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsytems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam P-Code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Sejarah perkembangan
Bahasa Pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan OAK. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsytems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrag. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven). Setelah era Star Seven selesai, sebuah anak perusahaan TV Kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. 

Pada rentang waktu ini juga ditetapkan pemakaian internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer. Mereka menjadikan (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java. Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
 
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsytems bersama Marc Andreese, membentuk NetScape.
 
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

Kelebihan
  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.

Kekurangan
  • Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara Platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Max OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft NET Plattform Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Manfaat:
 

Bahasa Pemrograman JAVA digunakan untuk membuat seluruh bentuk aplikasi, dekstop, web dan lainnya, sebagai mana dibuat dengan menggunakan bahasa pemrograman konvensional lainnya.

 
Contoh program yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {
public static void main(String args[]) {

System.out.println("Hello, world!");
}
}





Selasa, 02 September 2014

pemodelan perangkat lunak

  • Perangkat lunak adalah sekumpulan program unutk tujuan tertentu yang didalamnya terdapat dokumentasi untuk menginstall,mengembangkan dan melakukan perawatan tehadap program tersebut (user manual). sebuah perangkat lunak juga sering disebut dengan sistem perangkat lunak.
Program adalah sekumpulan instruksi yang berupa kode yang dimengerti oleh komputer untuk melakukan pekerjaan tertentu.
contohnya : WEBSITE,PHP,HTML,JAVASCRIPT, dll

Jumat, 29 Agustus 2014

pengertian prototyping,transformasi formal,RAD,fourth generation techniques(4GT),spiral,incremental



  •  Prototyping perangkat lunak
prototyping perangkat lunak adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model).
Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.

pemodelan prototyping

Keunggulan prototyping adalah:
  1. Adanya komunikasi yang baik antara pengembang dan pelanggan
  2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
  3. Pelanggan berperan aktif dalam pengembangan sistem
  4. Lebih menghemat waktu dalam pengembangan sistem
  5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.


Kelemahan prototyping adalah :

       1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada
           belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum
           memikirkan kemampuan pemeliharaan untuk jangja waktu lama.

       2. pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan
           algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping
           lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya
           merupakan cetak biru sistem.

       3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak
           mencerminkan teknik perancangan yang baik


  •   Transformasi formal 
Transformasi formal digunakan untuk mengembangkan bagian bagian sistem yangmemiliki persyaratan keselamatan yang tinggi dan pendekatan reuse digunakan untuk  pengimplementasian bagian.

bagian lain dari sistem data manajemen. Pendekatan ini berdasarkan pembuatan spesifikasi sistem formal secara matematik dan transformasispesifikasi dengan menggunakan metode matematik atau dengan suatu program.Transformasi iniadalah correctness preserving, ini berarti bahwa kita dapat yakin programyang dikembangkan sesuai dengan spesifikasi. Pengembangan sistem formal menggunakansuatu model sistem matematika yang ditransformasikan ke implementasi,Pengembangan sistem formal merupakan pendekatan terhadap pengembangan perangkatlunak yang memiliki kesamaan dengan model air terjun, tetapi proses pengembangannyadidasarkan pada transformasi matematis dari spesifikasi sistem menjadi program yangdapat dijalankan.


  • Rapid Application Development (RAD)
Metode pengembangan sistem adalah suatu aktivitas, metode, praktik terbaik dan peralatan terotomatisasi yang digunakan para stakeholder untuk mengembangkan dan secara berkesinambungan memperbaiki sistem informasi dan perangkat lunak (Whitten, Bentley, Ditman, 2004). Pengembangan sistem informasi merupakan penyusunan suatu sistem untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang telah ada.
Rapid Application Development (RAD) yaitu suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak (Kendall dan Kendall, 2002).

Rapid Application Development (RAD) adalah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis pada komponen (Hariyanto, 2004). Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu  yang sangat pendek (kira-kira 60 sampai 90 hari). 

Tahapan-tahapan dalam RAD

RAD digunakan pada aplikasi sistem konstruksi, maka menekankan fase-fase. Ada tiga fase dalam RAD yaitu (Kendall dan Kendall, 2008):

1.Requirement Planning, dalam tahap ini diketahui apa saja yan menjadi kebutuhan sistem yaitu dengan mengidentifikasikan kebutuhan informasi dan masalah yang dihadapi untuk menentukan tujuan, batasan-batasan sistem, kendala dan juga alternatif pemecahan masalah. Analisis digunakan untuk mengetahui perilaku sistem dan juga untuk mengetahui aktivitas apa saja yang ada dalam sistem tersebut.
2.Design Workshop, yaitu mengidentifikasi solusi alternatif dan memilih solusi yang terbaik. Kemudian membuat desain proses bisnis dan desain pemrograman untuk data-data yang telah didapatkan dan dimodelkan dalam arsitektur sistem informasi. Tools yang digunakan dalam pemodelan sistem biasanya menggunakan Unified Modeling Language (UML).

3.Implentation, setelah Design Workshop dilakukan, selanjutnya sistem diimplementasikan (coding) ke dalam bentuk yang dimengerti oleh mesin yang diwujudkan dalam bentuk program atau unit program. Tahap implementasi sistem merupakan tahap meletakkan sistem supaya siap untuk dioperasikan.

Keunggulan dan Kelemahan Menggunakan RAD

Berikut adalah keunggulan dan kelemahan menggunakan RAD (Whitten, Bentley, Ditman, 2004):
Keunggulan  :

kelebihan
  1. Berguna untuk proyek-proyek tempat persyaratan-persyaratan pengguna tidak pasti dan tidak tepat.
  2. Mendorong pengguna aktif dan partisipasi manajemen (berkebalikan dengan reaksi pasif pada model-model sistem yang tidak bekerja). Hal ini meningkatkan antusiasme pengguna akhir pada proyek.
  3. Proyek-proyek memiliki visibilitas dan dukungan lebih tinggi karena keterlibatan pengguna yang ekstensif selama proses.
  4. Para pengguna dan manajemen melihat solusi-solusi yang berbasis perangkat lunak dan bekerja lebih cepat daripada pengembangan yang model-driven.
  5. Error dan penghilangan cenderung untuk dideteksi lebih awal dan prototype daripada dalam model sistem.

Kelemahan
 
1.Beberapa orang berpendapat bahwa RAD mendorong mentalitas “mengkode, mengimplementasi, dan memperbaiki” yang meningkatkan biaya seumur hidup yang diperlukan untuk mengoperasikan, mendukung dan merawat sistem.

2.Prototype-prototype RAD dapat dengan mudah memecahkan yang salah karena analisis masalah disingkat atau diabaikan.

3.Prototype berbasis RAD mungkin membuat para analis minder untuk mempertimbangkan alternatif-alternatif teknis lain yang lebih bernilai.

4.Kadang-kadang lebih baik membuang sebuah prototype, tapi para stakeholder enggan melakukannya karena menganggapnya sebagai hilangnya waktu dan usaha dalam produk saat ini.



  • Fourth Generation Techniques/model teknik Generasi ke-4/4GT
Istilah fourth generation techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis ssuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.
4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query, pembentukan laporan (report generation), manipulasi data, definisi dan interaksi layar (screen), pembentukan object dan source (object and source generation), kemampuan grafik yang tinggi, dan keampuan spreadsheet.


  • Spiral
spiral adalah penggabungan ide pengembangan berulang prototype dengan ospek sistematis terkendali model waterfall.
 evolutionary software : spiral model
  1. tahap lisson : pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
  2. tahap planning (perencanaan) : pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan inforamsi-informasi yang dapat menjelaskan proyek.
  3. tahap analisis resiko : mendefinisikan resiko, menentukan apa saja yang menjadikan resiko baik teknis maupun manajemen.
  4. tahap rekayasa (engineering) : pembuatan prototype
  5. tahap konstruksi dan pelepasan (release) : pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji,diinstal dan diberikan tambahan.
- kelebihan model ini adalah sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar. pendeketan model ini dilakukan melalui tahapan-tahapan yang sangat biak dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis unutk mencerminkan keadaan sebenarnya. biak penggembang maupun pemakai dapat cepat mengetahui letak kekuangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.

- kekurangan model ini adalah waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang.
  • Incremental
 Model Incremental dalam rekayasa perangkat lunak adalah salah satu yang menggabungkan unsur model waterfall yang kemudian diterapkan secara berulang. Pada dasarnya memberikan serangkaian rilis yang disebut kenaikan yang menyediakan semakin lebih fungsionalitas untuk klien karena setiap kenaikan disampaikan.

Dalam model inkremental rekayasa perangkat lunak model air terjun berulang kali diterapkan dalam setiap kenaikan. Model inkremental berlaku urutan linear dalam pola yang diperlukan seiring berjalannya waktu kalender. Setiap urutan linier menghasilkan kenaikan dalam pekerjaan.