Senin, 28 Maret 2011

Konsep Membangun Object Oriented Software dengan Object Oriented Programming (Java) dan Object Database (DB4O) | OOP & OODMS

1 komentar

Sebelum saya menjelaskan apa itu object oriented software saya akan menjelaskan tentang Persistence Storage.

Apa itu Persistence Storage?

Dalam dunia bisnis sekarang ini permintaan software terhadap komputer semakin kompleks. Kalau kita lihat kebelakang, pada zaman dulu software komputer masih sangat sederhana. Misalnya saja program yang digunakan hanya untuk menghitung akar persamaan kuadrat, menghitung nilai logaritma, perkalian matriks dan sebagainya sehingga dengan cara menghidupkan komputer 7x24 jam sudah menjadi solusi dalam penyimpanan data. Karena pada zaman dulu software dalam sebuah hardware sangatlah tergantung kepada listrik. Bila listrik padam, maka apapun hasil yang telah dicapai oleh software tersebut beserta dengan software-nya sendiri akan hilang dari memori. Jadi apa si Persistence Storage ?

Seiring dengan kompleksnya software, terutama setelah komputer digunakan dalam dunia bisnis, cara yang disebutkan diatas tidak mungkin berhasil, sehingga orang merasa bahwa komputer harus dilengkapi dengan persistence storage untuk menyimpan data di luar memori yang tidak bergantung pada listrik. Pada awalnya persistence storage berwujud pita magnetis yang kemudian berkembang menjadi disket. Saat itu belum ada yang namanya hardisk, apalagi CD, DVD atau flashdisk. Jadi, persistence storage merupakan media penyimpanan pada komputer baik penyimpanan data maupun penyimpanan lainnya yang tetap eksis walaupun listrik padam.

Evolusi Orientasi Programming dan Data Model

Pada awal lahirnya persistence storage, data direpresentasikan secara logik pada persistence storage dalam bentuk hierarki atau network. Hierarki data model merepresentasikan data dalam bentuk tree, sedangkan network data model direpresentasikan data dalam bentuk network. Inilah yang disebut generasi database yang pertama. Singkat cerita muncul generasi database-database berikutnya.

Object Oriented Programming

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Pemrograman orientasi-objek menekankan konsep berikut:
  • kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan denganbahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Untuk saat ini penulis akan menjelaskan sampai Object Oriented Programming saja. Lain kali akan penulis lanjutkan untuk yang lainnya.

Jumat, 18 Maret 2011

Jasa - jasa Bank (Fee Base Income)

Tidak ada komentar
Macam-macam jasa yang disediakan oleh Bank ialah :
1. Inkasso
2. Transfer
3. Safe Deposit Box (Kotak Penyimpanan)
4. Letter Of Credit (L/ C) / Ekspor Impor
5. Travellers Cheque
Apa yang dimaksud dengan jasa-jasa tersebut ?
INKASO
Inkaso merupakan kegiatan jasa Bank untuk melakukan amanat dari pihak ke tiga berupa penagihan sejumlah uang kepada seseorang atau badan tertentu di kota lain yang telah ditunjuk oleh si pemberi amanat.
Inkaso adalah penagihan warkat-warkat kliring yang terdapat di luar wilayah kliring bank yang bersangkutan.

WARKAT INKASO
a. Warkat inkaso tanpa lampiran
Yaitu warkat – warkat inkaso yang tidak dilampirkan dengan dokumen – dokumen apapun seperti cek, bilyet giro, wesel dan surat berharga
b. Warkat inkaso dengan lampiran
Yaitu warkat – warkat inkaso yang dilampirkan dengan dokumen – dokumen lainnya seperti kwitansi, faktur, polis asuransi dan dokumen – dokumen penting.
JENIS INKASO
a. Inkaso Keluar
Merupakan kegiatan untuk menagih suatu warkat yang telah diterbitkan oleh nasabah bank lain. Di sini bank menerima amanat dari nasabahnya sendiri untuk menagih warkat tersebut kepada seseorang nasabah bank lain di kota lain.
b. Inkaso masuk
Merupakan kegiatan yang masuk atas warkat yang telah diterbitkan oleh nasabah sendiri. Dalam kegiatan inkaso masuk, bank hanya memeriksa kecukupan dari nasabahnya yang telah menerbitkan warkat kepada pihak ke tiga.
TRANSFER
Transfer adalah suatu kegiatan jasa bank untuk memindahkan sejumlah dana tertentu sesuai dengan perintah si pemberi amanat yang ditujukan untuk keuntungan seseorang yang ditunjuk sebagai penerima transfer.
Baik transfer uang keluar atau masuk akan mengakibatkan adanya hubungan antar cabang yang bersifat timbal balik, artinya bila satu cabang mendebet cabang lain mengkredit.
TRANSFER KELUAR
Salah satu jenis pengiriman uang yang dapat menyederhanakan lalu lintas pembayaran adalah dengan pengiriman uang keluar. Media untuk melakukan transfer ini adalah secara tertulis ataupun melalui kawat.
Pembatalan Transfer keluar :
Bila terjadi pembatalan transfer, haruslah diperhatikan bahwa pembatalan tersebut hanya dapat dilakukan bila transfer keluar belum dibayarkan kepada si penerima uang dan untuk itu bank pemberi amanat harus memberi perintah berupa “stop payment” kepada cabang pembayaran. Pembayaran pembatalan ini baru dapat dilakukan oleh bank pemberi amanat kepada nasabah pemberi amanat hanya apabila telah diterima berita konfirmasi dari bank pembayar bahwa memang transfer dimaksud belum dibayarkan.
TRANSFER MASUK
Transfer masuk, dimana bank menerima amanat dari salah satu cabang untuk membayar sejumlah uang kepada seseorang beneficiary. Dalam hal ini bank pembayar akan membukukan hasil transfer kepada rekening nasabah beneficiary bila ia memiliki rekening di bank pembayar.
Transfer masuk tidak dikenakan lagi komisi karena si nasabah pemberi amanat telah dibebankan sejumlah komisi pada saat memberikan amanat transfer.
Pembatalan Transfer Masuk :
Jika terjadi pembatalan, pertama – tama yang harus dilakukan adalah memeriksa apakah hasil transfer telah dibayarkan kepada beneficiary. Bila ternyata belum, akan diblokir dan dibatalkan untuk kemudian dikembalikan kepada cabang pemberi amanat melalui pemindahbukuan.
SAFE DEPOSIT BOX
Layanan Safe Deposit Box (SDB) adalah jasa penyewaan kotak penyimpanan harta atau suratsurat berharga yang dirancang secara khusus dari bahan baja dan ditempatkan dalam ruang khasanah yang kokoh dan tahan api untuk menjaga keamanan barang yang disimpan dan memberikan rasa aman bagi penggunanya.
Biasanya barang yang disimpan di dalam SDB adalah barang yang bernilai tinggi dimana pemiliknya merasa tidak aman untuk menyimpannya di rumah. Pada umumnya biaya asuransi barang yang disimpan di SDB bank relatif lebih murah.
Barang-barang Yang Dilarang Disimpan Dalam Safe Deposit Box
1. Narkotik dan sejenisnya
2. Bahan yang mudah meledak
Keuntungan Safe Deposit Box
1. Bagi Bank
• Biaya sewa
• Uang jaminan yang mengendap
• Pelayanan nasabah
2. Bagi Nasabah
• Menjamin kerahasiaan barang-barang yang disimpan
• Keamanan barang terjamin
LETTER OF CREDIT (L/C)
Dalam melakukan transaksi perdagangan ekspor-impor, sistem pembayaran yang umum digunakan adalah Letter of Credit (L/C) atau Documentary Credit. Walaupun transaksi yang dilakukan antara kedua belah pihak dimungkinkan untuk tidak menggunakan L/C, namun untuk melindungi kedua belah pihak biasanya transaksi dengan L/C lebih disenangi, dimana bank ikut terlibat dan mengurangi risiko tertentu.
Letter of Credit memiliki beberapa peran dalam perdagangan internasional, diantaranya :
1. memudahkan pelunasan pembayaran transaksi ekspor
2. mengamankan dana yang disediakan importir untuk membayar barang impor
3. menjamin kelengkapan dokumen pengapalan
Pihak-pihak dalam Letter of Credit
Dalam suatu mekanisme L/C terlibat secara langsung beberapa pihak ialah:
a. Pembeli atau disebut juga buyer, importer
b. Penjual atau disebut juga seller atau exporter
c. Bank pembuka atau disebut juga opening bank, issuing bank
d. Bank penerus atau disebut juga advising bank
e. Bank pembayar atau paying bank
f. Bank pengaksep atau accepting bank
g. Bank penegosiasi atau negotiating bank
h. Bank penjamin atau confirming bank

Dalam keadaan yang sederhana suatu L/C menyangkut 3 pihak utama, ialah pembeli, penjual, dan bank pembuka.
Kewajiban dan Tanggung Jawab Dalam L/C
Mengenai hal ikhwal yang menyangkut kewajiban dan tanggung jawab bank sebagai pihak yang berurusan dengan dokumen-dokumen, telah diatur secara lengkap yang garis besarnya dapat dikemukan sebagai berikut:

1. Bank wajib memeriksa semua dokumen dengan ketelitian yang wajar untuk memperoleh kepastian bahwa dokumen-dokumen itu secara formal telah sesuai dengan L/C.

2. Bank yang memberi kuasa kepada bank lain untuk membayar, membuat pernyataan tertulis pembayaran berjangka, mengaksep, atau menegosisi dokumen, maka bank yang memberi kuasa tersebut akan terikat untuk mereimburse.

3. Issuing bank setelah menerima dokumen dan menganggap tidak sesuai dengan L/C yang bersangkutan, harus menetapkan apakah akan menerima atau menolaknya.

4. Penolakan dokumen harus diberitahukan dengan telekomunikasi atau sarana tercepat dengan mencantumkan penyimpangan-penyimpangan yang ditemui dan minta penegasan status dokumen tersebut.

5. Issuing bank akan kehilangan hak menyangkut bahwa dokumen-dokumen itu tidak sesuai dengan syarat-syarat L/C.


6. Bila bank pengirim dokumenmenyatakan terdapat penyimpangan pada dokumen dan memberitahukan bahwa pembayaran, pengaksepan, atau penegosiasian dengan syarat atau berdasarkan indemnity telah dilakukannya.

7. Bank-bank dianggap tidak terikat kewajiban atau tanggung jawab mengenai:
- Bentuk, kecukupan, ketelitian, keaslian, pemalsuan atau keabsahan menurut hukum daripada tiap-tiap dokumen.

- Syarat-syarat khusus yang tertera dalam dokumen-dokumen atau yang ditambahakan padanya.
- Uraian, kwantitas, berat, kwalitas, kondisi, pengepakan, penyerahan, nilai atau adanya barang-barang.

- Itikad baik atau tindakan-tindakan dan atau kealpaan, kesanggupan membayar utang, pelaksanaan pekerjaan atau standing daripada si pengirim.

8. Bank-bank juga dianggap tidak terikat kewajiban atau tanggung jawab atas akibat-akibat yang timbul karena kelambatan dan atau hilang dalam pengiriman daripada berita-berita, surat-surat atau dokumen-dokumen.

9. Bank-bank tidak terikat kewajiban atau tanggung jawab sebagai akibat yang timbul karena terputusnya bisnis mereka disebabkan hal-hal di luar kekuasaanya.

10. Bila bank memperbunakan jasa-jasa bank lain dalam melaksanakan instruksi applicant, maka hal tersebut adalah atas beban dan resiko applicant.
TRAVELLER’S CHECK
Travellers cheque yaitu cek wisata atau cek perjalanan yang digunakan untuk bepergian.
Keuntungan Travellers cheque :
1. Lebih aman daripada uang tunai karena pada saat pencairan, pemilik TC harus melakukan tandatangan di depan counter kembali dan harus sama seperti tandatangan yang pertama pada saat pembelian TC tersebut dan dapat diberikan refund (penggantian ) kepada pemilik kalau terjadi kehilangan / tercuri / rusak.
2. Masa berlakunya tidak terbatas.
3. Dapat dicairkan / ditukarkan langsung ke dalam mata uang negara yang bersangkutan (yang ada hubungannya dengan Bank yang mengeluarkan TC tersebut ).
4. Sebagai pengganti uang tunai untuk melakukan pembayaran-pembayaran dalam travel / perjalanan anda.