Sabtu, 30 Mei 2015

Analisa Database Aktif dalam lingkungan sekitar kita

DASAR TEORI

Manajemen Basis Data adalah disiplin ilmu yang menerapkan beberapa metode-metode  pada database tertentu. Tujuan dari Manajemen database adalah untuk membentuk database yang efektif dan efisien, serta membentuk informasi-informasi yang sangat berguna nantinya bagi pemilik database tersebut
Database yang sesuai dengan ciri di atas harus melalui berbagai aplikasi metode manajemen database, sehingga database tersebut menjadi database yang canggih dan up-to-date dengan dunia modern
Metodologi yang dapat dipakai dan diterapkan pada database yaitu:
1.      Temporal Database
2.      Database Aktif
3.      Database Terdistribusi
4.      Database Client-Server
5.      Data warehouse
6.      Data Mining
Penulis kali ini penulis hanya akan membahas metodologi Database aktif pada saat ini. Database aktif adalah suatu sistem database yang tidak hanya menyimpan data tetapi juga dapat melakukan suatu aksi tertentu terhadap sebuah event dengan menambahkan suatu elemen dinamis dan memiliki kemampuan memantau event untuk mendeteksi ketika data tertentu dimasukkan, dihapus, diubah, atau dipilih kemudian secara otomatis mengeksekusi suatu aksi sebagai respon dari event yang terjadi dan kondisi tertentu terpenuhi.
Secara teknis, Database aktif selalu menggunakan trigger, yang menjadi elemen penting dalam sebuah database aktif. Melalui trigger, sebuah database dengan secara otomatis merubah isi data nya ketika suatu event terjadi, tanpa harus administrator merubah semua data secara manual. Pada saat ini, hampir semua SQL sudah menyediakan fungsi trigger, sebab penggunaan trigger juga menjadi tolok ukur perkembangan database pada saat ini.

DESKRIPSI KASUS

Pada suatu perusahaan yang bergerak di bidang keuangan yang disebut Buana Finance. Buana merupakan salah satu perusahaan pembiayaan atau yang biasa disebut leasing yang kini mulai berkembang. Leasing umumnya membiayai pembelian kendaraan nasabah atau konsumen, dimana nasabah yang bersangkutan dapat membayar kendaraan nya secara bertahap sesuai dengan ketentuan dan perjanjian kontrak.

Informasi yang dicatat pada perusahaan leasing antara lain :
·         Nasabah
·         Vendor penyedia mobil
·         Bank sumber dana
·         Credit Marketing Officer
·         Sistem angsuran dan pembayaran

Banyak nya data yang hanya tersimpan pada database perusahaan ini memerlukan analisis kinerja penjualan. Dari analisis kinerja penjualan tersebut perusahaan dapat mengetahui berapa besar laba yang diperoleh bahkan kerugian. Untuk menganalisa kinerja penjualan diperlukan data historis dari kegiatan penjualan yang kemudian datanya diolah untuk menghasilkan informasi kinerja penjualan.
Analisis kinerja penjualan sangat dibutuhkan karena dari situ lah dapat diketahui gambaran kondisi dari perusahaan sebenernya. Jika kinerja penjualan sedang menurun berarti perusahaan sedang dalam keadaan tidak sehat begitu pun sebaliknya jika kinerja penjualan naik berarti perusahaan dalam keadaan sehat.

Perusahaan dapat menganalisa dan mengetahui faktor-faktor yang dapat menjaga kinerja penjualan agar selalu dalam posisi sehat. Analisis dapat dilakukan dengan mengumpulkan data penjualan yang bersifta historis atau lampau dan kemudian melihat grafik kinerja penjualan. Terdapat banyak macam komponen terkait penjualan diantaranya, hubungan antara variasi produk yang dijual, jumlah produk yang dijual, waktu penjualan, promosi produk yang dijual, dan segmentasi pasar.

Dalam melakukan analisis perusahaan perlu memiliki data yang banyak secara kuantitas dan baik secara kualitas. Pihak manajemen perusahaan membutuhan teknologi yang membantu memahami analisis data yang akan dilakukan.

PEMBENTUKAN REPORT PADA DATABASE

Untuk dapat menggali sebuah informasi pada database, sangat diperlukan adanya laporan atau report berkenaan dengan database itu sendiri. Report yang baik adalah report yang mampu memberikan informasi yang banyak di dalamnya. Pada kasus buana finance, report yang diperlukan  antara lain
a.       Report Nasabah = Nasabah yang banyak dapat memuat informasi berharga, misal kondisi keuangan nasabah yang melakukan kontrak. Pekerjaan nasabah yang dominan. Ada juga informasi nasabah yang paling sering melakukan pelanggaran dan lain-lain.
b.      Report Kontrak  = pada database Kontrak, informasi yang dapat diambil yaitu jumlah kontrak terbanyak dalam sebulan. Dari report ini juga dapat dicari vendor mobil yang banyak diminati nasabah.
c.       Report Vendor mobil = Database vendor mobil memuat daftar-daftar vendor mobil beserta hal-hal yang berkaitan dengan kontrak antara buana finance dengan vendor mobil yang bersangkutan, sehingga dari sini dapat ditemukan informasi berupa vendor mobil yang kontraknya paling menguntungkan dari jumlah komisi yang diberikan, baik berupa persentase ataupun komisi flat, serta jumlah kontrak yang dibuat dengan vendor mobil tersebut
d.      Report Karyawan = Database Karyawan memuat data-data karyawan buana finance itu sendiri. Dari database ini dapat dicari informasi berkaitan dengan karyawan tersebut, misal gaji beberapa karyawan, produktifitas beberapa karyawan
e.       Report Bank sumber dana = Database tentang bank-bank penyedia dana. Dari sini, informasi berupa jumlah dana talangan yang diberikan oleh suatu bank dapat dicari di sini. Selain itu, informasi yang berkaitan dengan bunga pinjaman bank juga dapat ditemukan, misal bunga bank yang paling sedikit ataupun bank yang memiliki bunga paling besar

Penerapan Database Aktif dalam pembuatan report

Penerapan Database aktif dalam pembuatan report merupakan hal yang krusial dan penting, karena report yang baik selalu didasari dengan penggunaan trigger yang dinamis dan baik, sehingga dapat mencetak atau memberikan data yang valid, berdasarkan kejadian yang ada.
Pada database aktif, trigger yang baik akan menentukan report yang akan ditampilkan, ini dikarenakan pada setiap trigger, terdapat beberapa sifat, yaitu
1.      Termination: eksekusi aksi dari event yang terjadi. Trigger harus memiliki termination yang baik agar tidak terjadi infinite loop
2.      Priority: Trigger yang baik mampu memilih prioritas dari kedua kemungkinan keputusan yang diambil
3.      Error Handling: Trigger yang baik secara otomatis tahu apa yang harus dilakukan jika terjadi kesalahan pengambilan keputusan
Tahapan-tahapan dalam pembuatan report pada database aktif yaitu:
1.      Event Handling: Trigger akan melakukan tugasnya berdasarkan event-event yang terjadi, sesuai dengan rule yang ada.
2.      Active Recording: Trigger akan secara aktif menyimpan data yang diberikan sesuai dengan rule yang diberikan Trigger tersebut secara otomatis.
3.      Report Printing: Trigger akan mencetak report sesuai dengan informasi yang diinginkan pengguna

ARSITEKTUR DATABASE AKTIF

Database aktif yang baik harus memiliki  2 sistem yang bekerja secara bersinergi dan konsisten, yaitu database transaksional (OLTP) dan database Analitical (OLAP). Pada setiap system, peran trigger sangat dibutuhkan, karena dari kedua database ini membutuhkan system yang aktif dan dinamis. Peran trigger pada masing – masing database antara lain :
1.      Trigger pada Database OLTP
Trigger berperan penting dalam transaksi sebuah database, terutama yang berhubungan dengan jumlah, misal jumlah kontrak. Pada kasus Buana finance, penambahan kontrak yang dicatat oleh administrasi dapat memicu trigger transaksional, berupa penambahan otomatis jumlah kontrak pada data yang berhubungan pada bulan itu. Misal setelah ditambah kontrak, jumlah kontrak yang berhubungan dengan Vendor mobil A bertambah, misal dari 5 kontrak dengan A bertambah otomatis menjadi 6.

2.      Trigger pada Database OLAP
Trigger pada Database OLAP memiliki fungsi yang sedikit berbeda. Di sini trigger lebih digunakan dalam pembuatan report, dimana, segala transaksi yang telah masuk pada database OLTP nantinya akan diduplikatkan lewat trigger ke database OLAP . Selain itu trigger juga digunakan untuk membuat report otomatis, dengan mencatat dengan aktif segala kejadian yang ada ke dalam sebuah report

Selasa, 06 Januari 2015

BAB 3: THREAD

Pada kesempatan kali ini saya akan menjelaskan apa itu Thread. Thread menurut wikipedia.com berbahasa Inggris mendefinisikan hal sebagai berikut

 thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler (typically as part of an operating system).

Artinya adalah bagian terkecil dari urutan-urutan kerja program yang dapat diatur - atur dengan menggunakan Scheduler. Apa manfaat dari Thread? Yang jelas, teknologi thread membawa kita kepada sistem operasi yang multi tasking dan canggih. Karena, thread membuat program-program yang dijalankan terasa "berjalan bersamaan", padahal Thread itu berjalan satu-satu, namun karena thread diatur sedemikian rupa sehingga perpindahan nya cepat, maka tidak disadari bahwa program yang dijalankan itu berjalan satu-satu, tapi terasa berjalan bersamaan.

Pada Linux, Pemrograman berbahasa C yang menggunakan thread semuanya harus menggunakan POSIX Thread library, atau yang lebih dikenal pthread.h. Dengan menggunakan library ini, programmer dapat melakukan banyak fungsi yang berhubungan dengan thread, seperti membuat thread, join thread, scheduling thread dan lain lain. Thread memiliki rtipe data pthread_t.

Thread di create dengan menggunakan fungsi pthread_create. Pada saat proses create. fungsi akan meminta pthread_t yang akan di create dan pointer ke fungsi yang akan menjadi routine dari thread itu.

Join Thread berarti pada Thread yang di-join, tidak akan berjalan sebelum thread yang lain selesai dilakukan. Hal ini berguna ketika suatu saat thread yang kita buat harus menunggu thread lain untuk menyelesaikan 1 pekerjaan dari thread lain.

Thread yang ada juga bisa kita scheduling, artinya kita bisa mengatur jalan nya thread tersebut.

Karena Thread menggunakan mutex, perlu diperhatikan bahwa scheduling Thread harus dilakukan dengan cermat, karena jika tidak, maka besar kemungkinan akan terjadi deadlock yang menyebabkan error pada program

Minggu, 12 Oktober 2014

1. Menginstall dual boot linux mint dan windows 7

Kali ini saya akan menjelaskan bagaimana cara kita menginstall dual boot linux mint dan windows 7. 
1.Kenapa linux?
Kita tau di sini bahwa windows merupakan sistem operasi PC yang cukup terkenal karena user friendly dan mudah digunakan, serta di support beberapa program. Namun kita juga perlu tahu bahwa linux juga merupakan salah satu sistem operasi yang memiliki banyak kelebihan, salah satunya yang paling mencolok yaitu linux bersifat open source. Apa itu open source? Open source berarti kita dapat mengutak-atik source code linux sendiri, sehingga kita dapat mengubah-ubah linux sesuai kemauan kita sendiri, dan karena itu juga, linux bersifat free.
2.Kenapa harus dual boot?
Mungkin diantara kita akan bertanya, kenapa harus dual boot? Begini, kita sebenarnya tidak diharuskan untuk menginstall dual boot, hanya saja bagi yang masih merasa sayang dengan windows yang lama, karena banyak aplikasi windows yang harus dijalankan, maka solusinya adalah dengan dual boot, dimana dalam komputer kita memiliki 2 sistem OS yang dapat bergantian kita jalankan, jadi kita tetap bisa menikmati bermain game-game kesukaan kita di windows dan tetap bekerja dengan linux yang asik juga.
3.Apa sih yang harus dipersiapkan?
Oke jika anda berminat anda bisa mulai dengan mempersiapkan bahan-bahan yang diperlukan yaitu.
a. ISO linux mint di internet
ISO bisa dibilang adalah file berupa CD bayangan yang dapat dibakar dalam media data, untuk dijadikan CD nyata. ISO kalau bisa dibilang adalah CD installer linux dalam bentuk file, karena sangat tidak mungkin menginstall linux dalam windows, harus keluar windows dan masuk melalui system boot. Oke, langsung saja kita download ISO nya di http://www.linuxmint.com/download.php
b. Media install(CD kosong/ usb flash drive)
Media install bertujuan untuk menjadi perantara file ISO untuk menginstall OS ke dalam komputer. Ada dua media yang dapat digunakan, yaitu CD dan USB flash drive, namun saya hanya akan membahas cara yang mudah, yaitu dengan menggunakan CD kosong. Untuk memasukkan data itu, kita memerlukan sebuah aplikasi burner, bisa windows image burner atau nero yang bukan merupakan program default windows. Dari sini, kita bisa memasukkan cd kosong, kemudian kita bakar file ISO ke dalam cd tersebut.
c.Setting partisi hardisk agar memperkecil ukuran partisi, agar bisa digunakan sebagai partisi linux. 
Ada banyak aplikasi, bahkan dari windows sendiri untuk mengubah ukuran partisi. Bagaimana dengan saya? Saya memakai aplikasi EaseUS Partition Master 10.1, karena lebih dipercaya dan mudah digunakan, apalagi ada versi free nya. Pastikan ada free space dalam hard disk kita sebesar minimal 20 gb dalam hard disk kita (contoh gambar di bawah ini diambil ketika hard disk saya sudah dual boot)(perhatian: jangan mengambil free space dari 2 partisi, cukup 2 partisi saja, kenapa karena linux hanya akan akan mengambil 1 sector free, jika demikian, 1 free space tidak akan terpakai)
d. Setting boot priority di Bios ke CD/flashdisk
Sebelum kita menginstall kita harus masuk ke bios dahulu untuk setting boot priority(hotkey bios tiap laptop berbeda, selamat mencari sendiri ya) untuk apa boot priority? biasanya boot priority digunakan untuk menentukan mana data storage yang diboot dahulu, apakah dari DVD drive, dari Harddisk, atau dari Flashdisk. Bagi yang menginstall lewat cd dapat menaruh option CD drive pada pilihan pertama, atau Flashdisk bagi yang menginstall lewat USB flash drive

4.Bagaimana caranya supaya saya bisa menginstall linux dengan dual boot?
a. masukkan media data, lalu hidupkan laptop
b. tunggu sampai installer linux masuk, lalu pilih di desktop tersebut opsi "install linux mint"

c.setelah melihat persyaratan install linux, kita dapat klik tombol "continue"
d.kita tentukan installation type nya, yaitu dengan option "something else" , untuk menginstall dengan sesuai keinginan kita.
e setelah itu akan ada data tentang partisi harddisk kita. mulai dengan menunjuk pada bagian partisi hard disk kosong, lalu klik new, dan sesuaikan ukuran hardisknya, oh iya, sediakan sisa space kosong sebanyak 2 kali ukuran RAM mu, karena kita akan membuatnya menjadi partisi swap. Setelah menentukan size, kita pilih opsi "ext 4" untuk mengubah format free space menjadi ext 4 yang akan menjadi tempat linux kita.
f. Kita buat lagi new partition dengan sisa space yang ada, namun kali ini dengan format yang berbeda, yaitu swap. Swap digunakan untuk memperingan kerja RAM, dengan cara menjadi tempat menaruh memori sementara di linux, sehingga kerja menjadi lebih ringan.
g. Selanjutnya silahkan setel waktu dan keyboard, lalu tunggu sampai selesai
h. Selamat, laptop anda sudah terinstall linux dan windows di laptop anda

Bonus: Bagaimana memperbaiki Windows yang tidak bisa diakses di bootloader.
Bootloader adalah aplikasi yang berjalan di luar OS yang berfungsi sebagai persimpangan antar OS. Bootloader yang digunakan linux adalah Grub Bootloader. Biasanya setelah install linux, maka yang terjadi adalah kita tidak bisa menemukan pilihan windows 7 loader di bootloader yang ada, Nah solusi yang bisa diberikan adalah kita harus masuk linux dan mengetikkan perintah di terminal kita, yaitu "sudo update-grub"(tanpa tanda petik),diikuti password user, lalu tunggu beberapa saat. Restart komputer, dan masalah windows yang tidak bisa diakses akan bisa diakses, karena opsi windows loader akan muncul di bootloader grub
Bonus 2: Kalo ternyata saya ga pernah menemui jendela di atas pada laptop saya, dan langsung mengakses linux saya,bagaimana ya?
Solusi: Hampir sama dengan masalah pertama, namun pada command line pada terminal sebelumnya ketikkan "sudo grub-install", lalu selanjutnya sama

Kesimpulan:
Menginstall Linux bukan hal yang susah, hanya kita perlu sedikit bimbingan, Nah, selamat mencoba