Friday, October 19, 2012

Tugas seorang IT dalam (membuat software) menggunakan simulasi


Menurut saya simulasi bagi seorang IT itu perlu. Kenapa? Karena simulasi merupakan suatu proses eksperimen yang dapat berguna untuk memperkecil resiko kesalahan. Dengan melakukan simulasi juga kita dapat mengetahui kelemahan dari suatu sistem yang ada sebelum sistem tersebut dibangun.

Namun wajib atau tidaknya suatu simulasi itu tergantung pada tingkat kesulitan dan waktu yang digunakan. Jika untuk membuat sebuah software, tidak perlu menggunakan biaya yang terlalu banyak. Jadi simulasi disini dapat digunakan untuk mengontrol, dan mengetahui seluk-beluk sistem secara keseluruhan.

Sekian pendapat dari saya tentang wajib atau tidaknya seorang IT dalam menggunakan simulasi pada sebuah software.

Thursday, October 18, 2012

Simulasi yang menyebabkan kecelakaan manusia (Simulation Faied)


Dibawah ini merupakan salah satu dari sekian kasus Simulation Failed atau kegagalan simulasi yang terjadi di dunia. Berikut liputannya..

Sejumlah penumpang pesawat Bangau Air Singapura-Makassar berusaha menyelamatkan diri saat pesawat yang ditumpanginya terbakar pada simulasi penanganan bencana di Bandara Sultan Hasanuddin Makasar(24/10). Simulasi tersebut dilakukan Angkasapura I untuk meningkatkan kemapuan dan kesiapan tim dalam menangani kecelakaan pesawat serta ancaman teroris pada transportasi udara. TEMPO/Harjandi Hafid

TEMPO.CO, Jakarta – Kepala Badan Pengembangan Sumber Daya Manusia Perhubungan (BPSDM), Bobby R Mamahit mengatakan 52% penyebab utama kecelakaan transportasi udara adalah factor manusia. “Sebanyak 42% dari factor teknik dan 6% factor lingkungan,” pada Selasa, 20 Maret 2012.

Berdasarkan data hasilinvestigasi Komite Nasional Keselamatan Transportasi (KNKT), sepanjang 2007-2011 terdapat 113 kasus kecelakaan penerbangan berupa accident dan serious incident.

Karena itu, Bobby mengatakan jaminan keselamatan yang optimal dalam penyelenggaraan penerbangan jadi sangat penting. “Keselamatan penerbangan merupakan aspek yang sangat penting dan diutamakan,” katanya.

Penerbangan merupakan bagian dari system transportasi nasional yang mempunyai karakteristik mampu bergerak dalam wakt cepat, menggunakan teknologi tinggi, padat modal, dan manajemen yang andal, serta memerlukan jaminan keselamatan dan keamanan yang optimal.

Kementrian Perhubungan dalam mewujudkan zero accident telah menyiapkan pengaturan yang memuat ketentuan mengenai berbagai aspek dan standar system dan operasional penerbangan. Dari mulai peralatan, pesawat, bandara, sumber daya manusia, sertifikasi, hingga system manajemen keselamatan penerbangan.

Banyaknya penyebab kecelakaan karena faktor manusia mengindikasikan kesiapan sumber daya manusia perlu diperbaiki. Bobby mengatakan pemerintah akan bekerja sama dengan International Civil Aviation Organization, Join Aviation Authorities Training Organization (JAA-TO), Boeing, PT Angkasa Pura I dan II serta beberapa pemerintah daerah.

Sebelumnya, Direktorat Jendral Perhubungan Udara mengatakan pemerintah menganggarkan dana Rp 3 Trilliun untuk pengembangan bandara dalam hal perbaikan landasan pacu (runway). Kecelakaan penerbangan yang disebabkan oleh kondisi landasan pacu ini tak hanya terjadi di Indonesia tetapi di dunia.

Dari peristiwa diatas, terbukti bahwa faktor manusia, teknik serta lingkungan dapat menyebabkan kegagalan simulasi yang mengakibatkan kecelakaan manusia. Yang paling utama adalah faktor Sumber Daya Manusia. SDM harus lebih diperbaiki lagi untuk menghindari kesalahan-kesalahan yang fatal. Hal ini diharapkan dapat membantu mengatasi tingkat kecelakaan akibat simulation failed.

Sumber:
http://www.tempo.co/read/news/2012/03/20/092391439/Faktor-Manusia-Penyebab-Utama-Kecelakaan-Pesawat

Pemanfaatan Simulasi dan Grafik di Bidang Industri


Simulasi adalah suatu program computer. Secara mendasar merupakan suatu proses eksperimen yang memerlukan perancangan yang hati-hati. Simulasi juga merupakan model dari suatu sistem dengan software memodelkan sistem. Simulasi melibatkan bentuk-bentuk fungsi matematika dan logika tertentu untuk menjelaskan tingkah laku dan struktur suatu sistem.

Simulasi biasa digunakan untuk mempelajari sistem yang kompleks sehingga dengan adanya simulasi kita bisa mengetahui secara detail kerja dari sistem yang kompleks tersebut. Simulasi juga digunakan untuk mempelajari akibat dari perubahan-perubahan sistem yang ada. Maksudnya, dengan melakukan simulasi kita dapat mengetahui kelemahan dari sistem yang ada sebelum sistem tersebut dibangun.

Dalam penerapan metoda simulasi terdapat beberapa keuntungan dan kerugiannya. Diantaranya sebagai berikut:

Keuntungan:
1. Simulasi memungkinkan fleksibilitas yang besar dalam pemodelan system yang kompleks, jadi model simulasi memiliki tingkat kebenaran yang besar
2.   Mudah untuk membandingkan alternative jawaban
3.   Dapat mengontrol kondisi-kondisi eksperimental/percobaan
4.   Dapat mengetahui seluk-beluk sistem secara keseluruhan

Kerugian:
1.   Modal simulasi sangat mahal untuk pembangunannya
2. Simulasi biasanya memproduksi volume yang besar dari keluaran serta memerlukan analisis statistic yang rumit

Sistem model simulasi dimanfaatkan untuk mempelajari suatu kelemahan sistem, batas kemampuan suatu sistem, dan bahaya yang ditimbulkan sebelum sistem tersebut dijalankan secara utuh. Model simulasi juga dapat membantu dalam proses pengambilan keputusan terhadap suatu sistem, karena model simulasi tersebut mempunyai nilai kebenaran yang cukup tinggi.

Sumber:

Thursday, April 19, 2012

Inheritance & Polimorfisme

Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut atau biasa dikenal dengan pewarisan sifat. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( method-method ) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya. Dengan inheritance, pengembangan software dapat bekerja lebih efisien dan lebih cepat.

Keuntungan dari inheritance adalah :
Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

Istilah dalam inheritance yang perlu diperhatikan :
Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar  dari subclass/class anak.
Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
Methode Overriding
Pendefinisian ulang method yang sama pada subclass.
Token
Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa Java yaitu identifier, keyword, literal dan tipe data, operator, serta separator.

Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

Contoh program :
public class Question { //pendeklarasian kelas question
   public static void main (String args[]) { ////fungsi main di Java
                                    Hobi h = new Hobi();
                                    h.answer1();
                                    Hobilain hl = new Hobilain();
                                    hl.answer2();
                                    }
                        }

            class Hobi {
                        public Hobi() { //pendeklarasian kelas Hobi menggunakan modifier publik
                                    System.out.println("Hobi kamu apaan?"); //mencetak output
                                    }
                        public void answer1() { //membuat method pertama
                                    System.out.println("Menari");
                                    }
                        }

            class Hobilain extends Hobi { //extends adalah coding untuk pewarisan 
                        public void answer2() { //membuat method kedua
                                    System.out.println("Menyanyi");
                                    }
                        }

Output:

Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :
Method yang dipanggil harus melalui variabel dari basis class atau superclass.
Method yang dipanggil harus juga menjadi method dari basis class.
Signature method harus sama baik pada superclass maupun subclass.
Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Polimorfisme melalui pengiriman pesan. Tidak teragantung kepada pemanggilan subrutin. Bahasa orientasi objek dapat mengirim pesan. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu dimana pesan tersebut dikirim.

Contoh program :
public class Animal { //pendeklarasian kelas animal menggunakan akses modifier public
            public static void Binatang1() { //pendeklarasian method untuk superclass
                        System.out.println("Beruang merupakan binatang buas"); }
            public void Binatang2() { //membuat method kedua
                        System.out.println("Beruang merupakan binatang jinak");
}}
class Cat extends Animal { //extends adalah coding untuk pewarisan
            public static void Binatang1() {
                        System.out.println("Kucing adalah binatang buas"); }
            public void Binatang2() {
                        System.out.println("Kucing adalah binatang jinak"); }
            public static void main(String[] args) { //fungsi main di Java
                        Cat myCat = new Cat(); //pendeklarasian baru untuk kelas Cat
                        Animal myAnimal = myCat; //pendeklarasian objek Animal di Cat
                        Animal.Binatang1(); //memanggil method subclass dengan overriding method superclass
                        myAnimal.Binatang2();
}}

Output :

Sumber :

Thursday, April 12, 2012

Enkapsulasi

Konsep Enkapsulasi dalam pemrograman adalah pengkombinasian/pembungkusan antara data dan prosedur ataupun fungsi (method) yang memanipulasinya ke dalam sebuah object pada bagian yang terlindungi sehingga data-datanya tidak mudah diakses langsung dari luar. Manfaat dari enkapsulasi ialah kode sumber dari sebuah object dapat dikelola secara independen dari kode object yang lain. Selain itu, dengan enkapsulasi kita bisa menyembunyikan informasi-informasi yang tidak perlu diketahui oleh object lain. Enkapsulasi merupakan salah satu karakteristik utama dalam konsep OOP.
Konsep ini menentukan tingkat aksesibilitas dari masing-masing data dan method serta menyembunyikan detail implementasi dari luar yang dikenal dengan Information Hiding. Ada beberapa keuntungan menerapkan prinsip enkapsulasi, yaitu:
Memiliki sifat bebas, sehingga dapat digunakan pada bagian manapun dari program tidak terkait pada bagian tertentu program.
Memiliki sifat transparan, bila melakukan modifikasi maka perubahan akan dirasakan oleh bagian program yang menggunakan modul tersebut.
Menghindari efek diluar perencanaan, dengan demikian akan mereduksi kemungkinan adanya hasil imbas pemrosesan yang di luar perencanaan semula.

Dua hal yang mendasar dalam enkapsulasi yakni :

• Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

• Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.

              Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut. Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
           Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.

Contoh program:
class Anggota{  //kelas anggota berisi atribut yang memiliki modifier sehingga kelas main memiliki akses langsung ke atribut kelas anggota
 private String nama;  //private digunakan suppaya objek tidak diakses sembarangan
             private String hobby;
 public Anggota(String n, String hobby) {  //menginisialisasi isi dari atribut dalam kelas anggota
 this.nama = n;
 this.hobby = hobby;
             }
 public String tampilkanNama() {
 return nama;
 }
 public String tampilkanHobby() {
 return hobby;
 }
 public void usia() {
 System.out.println("Usia : 20");
 }
 public void JK() {
 System.out.println("Jenis Kelamin : Perempuan");
 }}

public class main{
             public static void main(String[] args) {
             System.out.println("======Biodata Anggota=====");
             Anggota Diny = new Anggota("Diny", "Bermain Keyboard");  //bentuk inisialisasinya, memanggil nama kelas Anggota dengan nama Diny diikuti dengan menjalankan method Anggota untuk mengisi variabel nama dan hobby
 System.out.println("Nama \t : " + Diny.tampilkanNama()); 
 System.out.println("Hobby \t : " + Diny.tampilkanHobby());  //perintah mencetak diikuti variabel yang telah dideklarasikan dan memanggilnya
 Diny.usia();
 Diny.JK();
 System.out.println();

 Anggota Dyas = new Anggota("Dyas", "Menyanyi");
 System.out.println("Nama \t : " + Dyas.tampilkanNama());
 System.out.println("Hobby \t : " + Dyas.tampilkanHobby());
 Dyas.usia();
 Dyas.JK();
 System.out.println();
 System.out.println("======Maacih yaaaa=====");
 }}  //untuk memanggil dan mencetak

Outputnya : 













Sumber :