Jumat, 11 Juni 2010

perjalanan studi

perjalanan dimulai hari rabu tgl 8 juni 2010 berangkat pukul 09.15 menuju kab. Kuningan melalui cirebon. Mampir makan siang di pring sewu dilanjutkan mampir di kawasan pengrajin dan penjual batik di cirebon. Dilanjutkan ke kraton cirebon. Disini melihat lingkungan kraton dan disambut juga oleh pangeran kesepuhan cirebon.. Menarik. Lalu barulah menuju kab kuningan dan tiba pukul 18.15 di hotel purnama cirebon. Besoknya tanggal 10 juni 2010 pagi hari ke pemda kuningan untuk mendapatkan data yang diperlukan sebagai tugas akhir dari kegiatan KKD (kursus keuangan daerah) yang kuikuti. Dimulai dengan penyambutan secara resmi oleh wakil bupati kuningan yang ternyata alumni untuk LKD di LPEM-FE UI angkatan 22. Aku berbagi tugas untuk di PDAM kab kuningan dalam tema pembiayaan daerah. Hingga selesai untuk kemudian menuju lokasi linggarjati. Hari itu hampir sempurna menyenangkan hingga perjalanan menjelang malam menuju sari ater terasa berat dan lama. Pukul 23.20 tiba di bungalow sari ater dan sebelum ditutup hari itu, dengan berendam di pemandian air panas hingga 01.20 esok hari itu. Pada hari tanggal 11 Juni 2010 stelah sarapan pagi, berkemas menuju bandung tuk sholat jum'at dan 'shoping'.. Agak menjemukan perjalanan hari itu tuk balik ke jakarta sebagai akhir perjalananku. Saat tulisan ini dibuat, masih terjebak kemacetan di KM 39. Entah jam berapa sampe rumah..

Sabtu, 29 Mei 2010

Balajar CBSE

untuk belajar instan component based software engineering (CBSE) silahkan klik link situs di bawah ini:
http://egadioniputri.wordpress.com/2010/03/14/belajar-instan-component-based-software-engineering/

Sabtu, 22 Mei 2010

Public Key Infrastructure dan Certificate Authority

Dalam mekanisme infrastuktur penyebaran kunci public / public key infrastructure (PKI) dalam kerangka teknologi web menyediakan kerangka kerja manajemen untuk memungkinkan penyebaran kriptografi kunci public. Proses kriptografi pada data dengan menggunakan sepasang kunci. Dimana kunci yang satu tersedia secara umum sebagai kunci public sebelum dilakukan enskrispi data. Disinilah peranan PKI sebagai penyebarannya agar setiap dokumen yang menggunakan teknologi web dapat aman diterima oleh pihak yang memiliki kunci pasangannya. Sedangkan kunci satunya lagi tersedia secara pribadi yaitu kunci private yang dipergunakan sebelum dilakukan deskripsi data. Disini dilakukan pemeriksaan kunci yang sesuai untuk melakukan deskripsi data. Enkripsi adalah cara atau metode pengacakan data dari data sebenarnya, sedangkan deskripsi adalah cara atau metode untuk mengembalikan data yang teracak kembali menjadi data sebenarnya. Ilustrasi penggunaan kunci public dan kunci private seperti di bawah ini : 
User 1 hendak mengirimkan suatu dokumen yang rapih melalui jalur internet untuk user 2 dengan menggunakan web browser. Dokumen dari user 1 dengan menggunakan kunci public yang dimiliki oleh user 2 dilakukanlah enskripsi terhadap dokumen yang kirim user 1. Melalui jalur internet dokumen yang sudah dienskripsi diterima user 2. User 2 dengan menggunakan kunci pribadi yang sesuai dimiliki user 2, maka dokumen akan dideskripsi sehingga dokumen kembali rapih dan dapat dibaca oleh user 2. 

Tanda tangan digital merupakan cara lain untuk memastikan integritas, keaslian, dan ketiadaan penolakan. Pemeriksaan tanda tangan digital ini dilakukan melalui web browser. Sebuah tanda tangan digital diperoleh dengan fungsi matematika message digest dari sebuah pesan elektronik atau dokumen, dan kemudian dienskripsi hasil perhitungan dengan penandatangan kunci pribadi. Penerima dapat memverifikasi tanda tangan digital dengan menggunakan kunci public pengirim. Kepemilikan berupa tanda tangan digital terdapat dalam dokumen yang diterima. Hak akses seseorang hanya dapat apabila dirinya memiliki certificate authority untuk mengakses.

Kamis, 11 Februari 2010

Peraturan dalam pencairan dana APBN

untuk mengetahui tata cara pencairan dana atas beban APBN melalui rekening kas umum negara silahkan copy link dibawah ini

http://www.sjdih.depkeu.go.id/fullText/2007/82~PMK.05~2007Per.htm


ini bisa juga jadi referensi dari permen PU R.I

http://www.pu.go.id/Publik/IND/Produk/Kebijakan/Dep_PU/Permen/Permen_2009_009_d.pdf

Rabu, 23 Desember 2009

Pendalaman OOP

Pembahasan ini, hanyalah memperjelas tentang OOP dalam sebuah sistem aplikasi. Sebagai contoh kasus yang bisa saya gambaran yang menurut saya cukup sederhana adalah sistem simpan pinjam. Yaah... anggaplah sistem ini merupakan sebagian kecil dari bisnis operasi misalnya koperasi simpan pinjam.

Pertama-tama yang dikenali dari sistem simpan pinjam disini dalam OOP yaitu adanya kelas, maka kelas pada sistem aplikasi simpan pinjam dapat saya sebut kelas simpan pinjam. Sebagaimana dalam konsep OOP kelas memiliki objek beserta state / atribut dan behaviour / method, maka saya akan menentukan objeknya terlebih dahulu. Contoh objek dalam kelas simpan pinjam ini adalah nasabah dan uang/dana. Saya pilih dua objek ini saja sebagai gambaran pengenalan objek pada suatu kelas dalam konsep OOP. Selanjutnya kedua objek ini pasti memiliki state dan behavior, biar mudah (red- bagi saya) saya gunakan kata atribut untuk state dan perilaku untuk behaviour. Atribut pada objek nasabah yaitu identitas nasabah dan jenis nasabah. Turunan dari nasabah ini dalam OOP, dikenal dengan istilah inheritance (pewarisan), yang berupa jenis nasabah. Jenis nasabah dalam kelas simpan pinjam ini adalah nasabah simpan dan nasabah pinjam. Maka bisa saya simpulkan bahwa kedua jenis nasabah ini merapakan turunan dari nasabah, cara pendekatan ini dikenal juga dengan IS-A, yaitu yang mana objek turunan adalah juga bertipe objek asalnya. Jadi nasabah simpan sebagai turunan nasabah, pastilah nasabah simpan termasuk nasabah dalam sistem simpan pinjam ini. Atau ditulis nasabah simpan IS-A nasabah. Penggunaan pada pemrograman dengan Java, ternyata untuk turunan dari objek bisa mengimplementasikan dengan menggunakan extends hanya dari satu superclass, sementara dengan menggunakan interface bisa mengimplementasikan diri lebih dari satu interface. Baiklah, sudah saya bahas sedikit mengenai inheritance disini. Saya lanjutkan dengan menentukan perilaku dari nasabah adalah mendaftarkan diri sebagai nasabah dan mengundurkan diri sebagai nasabah. Untuk nasabah simpan memiliki perilaku menambah simpanan, mengurangi simpanan, dan melihat simpanan. Sedangkan perilaku nasabah pinjam adalah meminjam, mengembalikan pinjaman, dan kondisi pinjaman.

Okelah kalau begitu…. objek nasabah sudah cukup saya bahas. Sekarang objek kedua yaitu uang atau dana. Saya pergunakan kata dana saja deh, mudah-mudahan lebih pas. Objek dana Dana pun memiliki turunan objek berupa dana simpanan dan dana pinjaman. Disini terdapat juga karakteristik OOP berupa inheritance tadi yang sudah saya bahas sebelumnya. Jadi, langsung saya bahas perilaku dari objek dana, yaitu dana lokal dan dana asing, maksudnya dana lokal itu adalah mata uang lokal, yaitu rupiah. Sedangkan dana asing berupa mata uang asing, seperti dollar, ringgit, dll. Selanjutnya perilaku dana simpan yaitu keadaan dana simpan, dana simpan bertambah dan dana simpan berkurang. Perilaku dana pinjam yaitu dana pinjam yang tersedia, dana pinjam yang keluar, dan dana pinjam yang kembali.


Sampai disini dulu pembahasan saya, kiranya sudah bisa lebih memahami tentang OOP... mungkin akan saya update pembahasan ini dilain waktu untuk mempertajam dengan karakteristik OOP yang belum terbahas.. tentunya dengan contoh ini.

Selasa, 08 Desember 2009

Case Tool

pada tautan link berikut akan menerangkan tentang penggunaan case sebagai tool menggambar sistem informasi.. silahkan klik judul di atas.

Konsep Dasar OOP

Bukan suatu yang baru dalam membahas konsep dasar OOP, karena sudah cukup banyak bahasan terkait dengan pembahasan ini.

Object Oriented Programming atau disingkat OOP merupakan suatu metode/teknik pemrograman yang sesuai dengan namanya berorientasi pada objek. Karenakan OOP merupakan suatu metode/teknik pemrograman, maka haruslah memahami terhadap pendekatan, aturan, dan tools yang digunakan dalam membuat suatu kode program. Dalam metode OOP, menganggap segala sesuatu dalam pemrograman sebagai objek dan interaksi objek.
OOP mempunyai pendekatan pada pemodelan suatu objek pada dunia nyata, baik fisik atau state maupun sifat tingkah laku atau behavior objek tersebut. Fisik /state dalam OOP diwakilkan dengan atribut atau variabel dan relasi, sedangkan sifat tingkah laku /behaviour diwakilkan dengan operasi dan method. Contoh state pada objek kuda antara lain : kepala, ekor, kaki, badan, warna. Contoh behaviour pada objek kuda antara lain : mengangkat kedua kaki depan, mengibas ekor, meringkik.
Setiap objek tentulah memiliki identitas yang unik sehingga dapat membedakan suatu objek dengan objek yang lain dan juga mengelompokkannya. contoh : dalam sistem buku perpustakaan, kandidat objek bisa berupa penjaga perpustakaan, buku perpustakaan, pengunjung dan peminjam. objek dan interaksinya serta interaksi antar objek akan mempresentasikan lingkup permasalahan, maka Object Oriented digunakan sebagai cara untuk memodelkan sistem di dunia nyata yang digambarkan melalui objek-objek penyusunnya dan bagaimana setiap objek tersebut berinteraksi.
Sebagai awal pengenalan dalam Object Oriented adalah :
  • Abstraksi, merupakan karakteristik penting pada suatu objek yang membedakannya dari objek yang lain dan biasanya bersifat public. contoh : objek event, yaitu objek yang mewakili suatu peristiwa seperti peristiwa mouse klik, geser
  • Modularitas, merupakan pembuatan objek secara terpisah dengan objek lain dengan cara dekomposisi logik dan fisik objek menjadi sederhana / kecil.
  • Hirarki, merupakan pemeringkatan atau pengurutan abstraksi kedalam bentuk pohon. Contoh : objek mobil terdiri dari mesin dan penggerak. Penggerak terdiri dari transmisi dan Drive Wheels. Sedangkan Mesin terdiri dari Karburator, Pompa Bahan Bakar, Sistem Pengaturan Mesin, Sistem Pembuangan dan Sistem Ignisi
Selanjutnya dalam OOP terdapat beberapa komponen, yaitu:

  • Kelas, merupakan tempat objek berada beserta atribut dan method yang dimiliki objek. Dalam sehari-hari kita mengenal adanya makhluk hidup seperti manusia, kuda, pohon, dll maka manusia, kuda, pohon itu adalah kelas. Dalam pemrograman java cara penentuan kelas ditulis dengan cara : class namakelas{...}.
    • contoh : kelas kuda, maka penulisan dalam java adalah : class Kuda { ... }

  • Objek, merupakan instance (wujud nyata) dari kelas yang memiliki atribut/variabel dan method/fungsi yang menggunakan variabel yang telah ditentukan. Lanjutan dari pembahasan di atas, maka objek dari kelas Kuda adalah kepala, kaki, ekor. Contoh lain objek dari kelas pohon adalah : daun, batang, akar. Dalam pemrograman java cara penentuan objek adalah : namobjek = new namakelas;.
    • contoh : kaki kuda, maka penulisan dalam java adalah Kuda kakiKuda = new Kuda(); , objek ekor kuda, penulisannya Kuda ekorKuda = new Kuda();
  • Atribut, merupakan ciri suatu objek yang terdiri dari variable-variable. Dalam pemrograman kita mengenal adanya properties, maka atribut ini dapat dicontohkan berupa properties dari contoh di atas, misalnya dari kelas kuda pada objek kaki terdapat atribut berupa panjang kaki, warna kulit kaki, jumlah sendi. Dalam pemrograman java penentuan atribut dengan cara antara lain : tipe data variable namavariable;
    • contoh String warnakakiKuda; , double panjangkakiKuda;

  • Variable yang merupakan penyimpanan data sebuah atribut, terbagi atas instance variable (atribut yang dapat dimiliki sebuah objek dalam kelas yang sama) contoh : panjang ekor kuda pada objek ekor kuda. Dan class variable (atribut yang dimiliki beberapa objek dalam kelas yang sama) contoh : warna kuda dimiliki pada objek badan kuda dan kaki kuda.
  • Method, merupakan fungsi bagaimana objek bereaksi dan menerima reaksi serta merubah nilai atribut, atau dengan kata lain merupakan implementasi objek pada kelas bekerja. Bila diambil dari contoh di atas, maka mehod dari objek kaki kuda pada kelas Kuda
  • Contoh penggunaan beberapa komponen OOP :
//penentuan class
class Kuda{
// penentuan atribut berupa variable
String warnakaki() ;
int langkahkaki();
}
// penentuan method
public class KudaBerjalan{
public static void main (String [] args){
// menentukan objek
Kuda kakiKuda = Kuda();

// menggunakan atribut dan nilai pada atribut
kakiKuda.warnakaki = "Coklat";
kakiKuda.langkahkaki = 2;

System.out.println("Kuda yang berkaki warna "+ekorKuda.warnakaki+" melangkah sebanyak "+kakiKuda.langkahkaki+" langkah.");
}}
maka keluaran dari contoh tersebut adalah : Kuda yang berkaki coklat melangkah sebanyak 2 langkah.
Lebih lanjut yang musti diketahui adalah deklarasi hak akses, karena deklarasi ini senantiasa dipergunakan pada awalan sebuah method/fungsi dan juga pada kelas. Penggunaan hak akses ini untuk membagi kewenangan penggunaan sebuah kelas atau method. Dengan hak akses ini pada salah satu karakteristik OOP dipergunakan, yaitu encapsulation (pembungkusan). Hak akses yang umum dipergunakan adalah :
  • Public,
    Dengan menggunakan deklarasi ini, suatu method dapat dipergunakan pada kelasnya sendiri atau oleh kelas lain yang merupakan turunan dari kelas utama yang memiliki method ini.
    • contoh : sebuah method pada kelas Kuda memiliki method kudaBerjalan dengan penggunaan deklarasi public pada method kudaBerjalan, method kudaBerjalan juga bisa dipergunakan pada kelas KudaPerang.
  • Private,
    Dengan menggunakan deklarasi ini, suatu method hanya dapat dipergunakan pada kelasnya sendiri sedangkan oleh kelas lain baik dari turunan kelas ini maupun bukan tidak dapat mempergunakan.
    • contoh : sebuah method pada kelas MobilSedan memiliki method buka pintu dengan penggunaan deklarasi private pada method tersebut maka method buka pintu pada kelas MobilSedan tidak bisa dipergunakan pada kelas MobilSport.
Selanjutnya membahasa karakteristik dari OOP yang salah satunya sudah dibicarakan pada baris sebelumnya. Karakteristik dari OOP adalah :
  1. Polymorphism (perbedaan bentuk), yaitu suatu objek dapat mempunyai lebih dari satu interface atau berubah menjadi objek lain. Hal ini dikarenakan atribut/method bersifat umum. contoh warna kulit kuda bisa dipergunakan oleh objek kaki kuda dan badan kuda, method buka bagasi pada objek bagasi pada kelas MobilMewah dapat dipergunakan pada objek pintu belakang kelas MobilSUV.
  2. Encapsulation (pembungkusan), yaitu penyembunyian atribut dan method tertentu pada suatu objek dari objek lain melalui private dan proteced dari suatu kelas / objek, sehingga hanya fungsi / method tertentu yang dapat diakses / digunakan. contoh yang mungkin dapat dimengerti adalah : pada kelas mobil terdapat method pembakaran bahan bakar yang tidak perlu diketahui oleh pengguna mobil agar mobil dapat bergerak, yang cukup diketahui hanyalah method penginjakan pedal gas dan method kecepatan mobil.
  3. Inheritance (pewarisan), yaitu dimana kelas yang berasal satu atau lebih dari kelas lain, sehingga dapat memperluas atau mempersempit kelas sesuai kebutuhan. Hal ini dikarenakan beberapa objek memiliki ciri yang sama dengan penggunaan berbeda. contoh : kelas kereta api uap dan kelas kereta api listrik memiliki objek yang sama pada kelas kereta api seperti objek lokomotif dan objek gerbong
Selain hal yang sudah disebutkan di atas, terdapat pemodelan objek yang belum terbahas sebelumnya berupa :

  1. Interface, berfungsi sebagaipendefinisian method/fungsi dan variable/atribut tanpa implementasi dikarenakan hanya digunakan objek untuk saling berinteraksi.

  2. Package, merupakan himpunan kelas-kelas yang biasanya mewakili dari sistem.

  3. Subsystem, merupakan kombinasi dari suatu paket dan suatu kelas dengan memiliki satu atau lebih suatu interface untuk menjalankan fungsinya.

  4. Component, merupakan bagian fisik dari sistem aplikasi.

  5. Association, merupakan hubungan atau relasi berupa tanda antara suatu kelas dengan kelas lain.

  6. Multiplicity, merupakan jumlah atribut yang berhubungan dengan satu atribut kelas lainnya.

  7. Aggregation, merupakan bentuk yang lebih kuat dari association, dimana

  8. Navigability, merupakan dimungkinkannya menavigasi/kontrol dari suatu kelas yang berasosiasi ke kelas lain yang telah menggunakan asosiasi dengan kelas lainnya.

  9. Dependency, merupakan relasi atau hubungan dua elemen dimana perubahan di dalam satu elemen akan menyebabkan perubahan pada elemen yang lain namun tidak sebaliknya.

  10. Generalisasi, merupakan hubungan / relasi dari suatu inheritance (pewarisan) antar unsur dalam kelompok kelas

sekian dulu penjelasan untuk konsep dasar OOP ...