Rabu, 24 September 2014

Tutorial instalasi Web server, PHP dan Mysql

Untuk webservernya saya menggunakan Salah satu aplikasi server localhost yaitu XAMPP.
yang bisa  langsung diunduh dari situs mereka.

Cara Instal XAMPP Di Windows

1. Download aplikasi XAMPP.
2. Dobel klik file xampp yang baru saja di download, selanjutnya akan muncul jendela “installer language” seperti di bawah ini:














3. Kemudian pilih bahasa yang akan digunakan lalu Klik OK.
4. Berikutnya akan muncul jendela yang isinya meminta menutup semua aplikasi yang sedang berjalan. Jika semua aplikasi sudah ditutup, selanjutunya klik tombol Next.




5. Kemudian  pilih aplikasi yang mau diinstal. Centang saja semua pilihan dan klik tombol Next.

















6. Kemudian tenentukan lokasi folder penyimpanan file-file dan folder XAMPP.
Secara default akan diarahkan ke lokasi c:\xampp. Jika sudah selesai, lanjutkan dan klik tombol Install.


7. Tunggu beberapa menit hingga proses intalasi selesai. Jika sudah muncul jendela seperti di bawah ini, klik tombol Finish untuk menyelesaikannya.













Cara Menjalankan XAMPP

1. Buka aplikasi XAMPP, melalui Start Menu atau Desktop.











2. Kemudian, pilih aplikasi yang akan di jalankan dengan klik tombol Start pada kolom Action.












3. Sekarang buka browser anda, dan coba ketikkan http://localhost/xampp di address bar. Jika muncul tampilan seperti gambar di bawah ini, instalasi telah berhasil.











Untuk membuat file PHPnya saya menggunakan Notepad++
cara instalnya sama seperti instal program yang lainnya
Dari mulai pemilihan bahasa, kemudian persetujuan lisensi Klik "I Agree", kemudian lokasi penyimpanan file, Tampilan fitur apa saja yang akan ikut kita install klik "Next", selanjutnya klik "Install", dan terakhir jika proses instalasi selesai klik "Finish".

Berikut adalah tampilan Notepad++








Senin, 06 Januari 2014

Review Jurnal (Sistem Basis Data Terdistribusi)

Pembangunan Sistem Informasi Kependudukan
Berbasis Web

Latar Belakang Masalah
Kedua Jurnal ini sama-sama memfokuskan pada permasalahan penerapan sistem informasi kependudukan pada instansi pemerintah. Untuk jurnal yang pertama pada Desa Mentoro, kecamatan Pacitan, dan jurnal yang kedua pada Desa Tapung Jaya, Kecamatan Tandun, Kabupaten Rokan, Hulu. Keduanya mempunyai permasalahan yang sama, yaitu sistem informasi yang tidak efektif dan efisien, sehingga menyulitkan dan memperlambat dalam proses pelaporan dan pengarsipan data kependudukan. Kedua Jurnal ini memfokuskan pada perancangan dan pemembuatan sistem informasi kependudukan berbasis web yang sistematis, terstruktur dan terarah, juga pembuatan sistem yang dapat memberikan informasi data kependudukan secara cepat dan akurat, dan dibuat dengan tujuan untuk mempermudah dalam pengelolaan dan penyimpanan data. Juga mengurangi terjadinya kesalahan yang tidak diinginkan sehingga dapat meningkatkan kinerja yang lebih efisien, dengan demikian bisa terwujud suatu sistem informasi kependudukan yang mempunyai fungsi pelayanan yang lebih baik.

Metode

Untuk metode yang di gunakan, Kedua Jurnal ini menggunakan beberapa macam tahap metode penelitian yaitu dengan mengindentifikasi masalah, perencanaan, pengumpulan data, analisis sistem, perancangan dan implemetasi pengujian sistem.
Kedua Jurnal ini juga sama-sama menggunakan referensi dari beberapa jurnal yang sudah di publikasikan.

Analisis Data

Pada tahap ini dibuat perancangan sebuah aplikasi sistem informasi kependudukan. Yang nantinya akan memberikan informasi seputar sistem Informasi kependudukan.

Perancangan Sistem
dalam tahap ini akan menjelaskan bagaimana sistem bekerja untuk mengolah data input menjadi data output dengan fungsi-fungsi yang telah direncanakan.




Dimulai dari pembuatan Konteks diagram yang digunakan untuk menggambarkan hubungan input /output antara sistem dengan dunia luarnya.


















Selanjutnya adalah DFD (Data Flow Diagram) yang digunakan untuk menggambarkan aliran data dari proses-proses yang saling berhubungan.














Kemudian ERD (Entity Relationship Diagram) yaitu penggambaran aliran secara lebih rinci dengan penambahan yang berisi tabel-tabel data kependudukan dan selanjutnya dihubungkan dalam relasi yang kemudian akan digunakan untuk menyimpan data-data penunjang sebagai inputan sistem dan kemudian diolah menjadi data output sistem.





















Dan yang terakhir adalah Flowchart, yaitu penggambaran proses langkah-langkah yang dilakukan dalam proses penginputan data kependududakan.






















Aplikasi Sistem
Merupakan tahap dimana sistem yang telah dianalisa diaplikasikan menjadi sistem yang berbasis web, web tersebut berisi informasi tentang Sistem data kependudukan. Dan untuk pegawai desa tersebut, mereka bisa mengakses informasi data kependudukan melalui halaman login Admin, yang nantinya bisa digunakan untuk mengolah data Kependudukan.

Kesimpulan
Dengan dibangunnya Sistem Informasi kependudukan maka permasalahan penerapan sistem informasi dapat diatasi, dapat memberi kemudahan bagi pengguna sistem terutama penginputan dan pembuatan laporan data lebih efektif dan efisien dari pada data sebelumnya. Juga dengan pemanfaatan database, data-data kependudukan akan tersimpan secara efektif dan efisien.

Minggu, 20 Oktober 2013

Manajemen Transaksi part 1

1.konsep Transaksi

Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian pengubahan data. 

DBMS yang kita gunakan harus dapat menjamin bahwa setiap satuan transaksi harus dikerjakan secara utuh atau tidak sama sekali. Tidak boleh ada transaksi yang hanya dikerjakan sebagian karena hal itu akan dapat menyebabkan adanya inkonsistensi basis data. 


 Karakteristik Transaksi

-Atomicity (Atomik), yaitu dimana operasi-operasi didalam suatu transaksi harus dapat dikerjakan semua atau tidak dikerjakan sama sekali. 
-Consistentcy (Konsisten), dimana eksekusi transaksi secara tunggal harus dapat menjamin data tetap konsisten setelah sebuah transaksi berakhir.
-Isolated (Terisolasi), jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus bisa dimulai dan harus bisa berakhir.
-Durability (Daya Tahan), di mana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya system mati/ down.

Status Transaksi

-Active (Aktif), yang merupakan status awal (initial state) sebuah transaksi yang menunjukkan transaksi tersebut masih dieksekusi.
-Partially Committed (Berhasil Sebagian), yaitu keadaan yang dicapai oleh suatu transaksi tepat pada saat operasi/ instruksi terakhir dalam transaksi selesai dikerjakan.
-Failed (Gagal), yang merupakan keadaan dimana sebuah transaksi terhenti pengeksekusiannya sebelum tuntas sama sekali.
-Aborted (Batal)yaitu keadaan dimana sebuah transaksi dianggap tidak/belum dikerjakan.
-Committed (Berhasil Sempurna)keadaan di mana transaksi telah dinyatakan berhasil dikerjakan seluruhnya

Transaksi mengakses data dengan operasi:

-read(X), mentransfer data item X dari database ke local buffer yang dimiliki oleh transaksi yang mengeksekusi operasi pembacaan (read)
-write(X), mentransfer data item X dari local buffer dari aksi transaksi yang mengeksekusi perintah penulisan kembali ke database (write)

Contoh Implementasi Transaksi

misal transaksi transfer uang sebesar $50 dari rekening A ke rekening B, maka transaksi tersebut dapat di definisikan sebagai berikut:

read(A)
A:=A-50
write(A)
read(B)
•B:=B+50
•write(B)






Manajemen Transaksi part 2

1.Protocol Transaksi Konkruen

Eksekusi Konkurensi

Pada eksekusi konkurensi, banyak transaksi dimungkinkan untuk diproses secara bersama-sama dalam suatu sistem.
Memperbolehkan banyak transaksi untuk mengupdate data secara konkuren akan menyebabkan beberapa komplikasi dengan konsistensi data dan untuk memastikan bahwa konsistensi tetap terjaga dengan baik pada eksekusi konkuren, membutuhkan usaha yang lebih kuat.

Keuntungan konkurensi :
- Meningkatkan utilitas disk dan prosesor

- Mengurangi rata – rata waktu respon transaksi

Schedule

Dalam konkurensi dikenal dengan konsep penjadwalan (schedule) yang akan membantu mengidentifikasi eksekusi agar konsistensi datanya tetap terjaga
Penjadwalan / Schedule merupakan urutan yang mengindikasikan urutan kronologis instruksi yang mana dari transaksi konkuren yang akan dieksekusi.

Misal T1 adalah transaksi transfer $50 dari A ke B, dan T2 adalah transfer 10% dari jumlah rekening A ke B. Penjadwalan berikut adalah pada transaksi serial, dimana T1 dulu yang diselesaikan baru diikuti oleh T2














Contoh penjadwalan selanjutnya, dengan transaksi yang sama, tetapi dalam bentuk transaksi konkurensi, tapi ekivalen dengan penjadwalan sebelumnya.















Pada contoh penjadwalan yang pertama dan yang kedua, jumlah rekening A + B sebelum dan sesudah transaksi sama, tapi tidak dengan contoh penjawalan konkurensi berikut :

Manajemen Transaksi part 4

3.Serializability

merupakan pengontrolan secara konkurensi kepada kebenaran dari kriteria yang membutuhkan eksekusi konkuren dari transaksi dan harus ekuivalen terhadap efek dari eksekusi serial transaksi tersebut.
Sistem basis data harus dapat mengontrol eksekusi konkurensi dari suatu transaksi untuk memastikan database tetap terjaga konsistensinya
Eksekusi secara serial pada suatu transaksi dapat menjaga database tetap konsisten
Sebuah jadwal (yang mungkin konkuren), serializable jika setara dengan penjadwalan secara serial. Pada bagian ini ada dua bentuk ekivalensi penjadwalan (Schedule Equivalence) : Conflict dan View Serializability
Pada serializability kita abaikan operasi selain dari instruksi read dan write, serta diasumsikan bahwa transaksi dapat melakukan perhitungan terhadap data di dalam buffer lokal diantara instruksi read dan write.

Conflict Serializability

Instruksi Ii dan Ij masing – masing dari transaksi Ti dan Tj , konflik jika dan hanya jika ada beberapa item data yang sama (Q) diakses secara bersama – sama baik oleh Ii dan Ij , serta setidaknya salah satu dari instruksi melakukan operasi write (Q).
1. Jika Ii = read(Q) dan Ij = read(Q), maka Ii dan Ij tidak konflik
2. Jika Ii = read(Q) dan Ij = write(Q), maka Ii dan Ij konflik
3. Jika Ii = write(Q) dan Ij = read(Q), maka Ii dan Ij konflik

4. Jika Ii = write(Q) dan Ij = write(Q), maka Ii dan Ij konflik

Secara intuitif, konflik diantara Ii dan Ij memaksakan perintah logika temporal diantara keduanya
Jika Ii dan Ij merupakan instruksi dari transaksi berbeda dan tidak konflik, maka urutan instruksi Ii dan Ij dapat ditukar sehingga menghasilkan jadwal baru dengan hasil yang tetap sama
Jika jadwal S dapat ditransformasikan menjadi jadwalan S’oleh serangkaian pertukaran instruksi yang non-konflik, maka bisa dikatakan S dan S’ adalah conflict equivalent
Bisa dikatakan bahwa jadwal S adalah conflict serializable jika conflict equivalent terhadap penjadwalan serial
Contoh penjadwalan yang tidak conflict serializable :







Penjadwalan 3 di bawah bisa ditransformasikan ke penjadwalan 1, penjadwalan serial dimana T2 diikuti T1 , dengan serangkaian penukaran instruksi yang tidak konflik. Oleh karena itu penjadwalan di bawah ini conflict serializability :














  View  Serializability

Misalkan S dan S’ adalah dua jadwal dengan serangkaian transaksi yang sama. S dan S’ adalah view equivalent.
view serializability dilihat berdasarkan pada operasi read dan write saja.
Sebuah jadwal S adalah view seralizable , setara dengan penjadwalan serial.
Setiap penjadwalan conflict serializable, juga view seriable 
Penjadwalan di bawah ini adalah penjadwalan yang view serializable tapi tidak conflict serializable.







Penjadwalan di bawah menghasilkan outcome yang sama sebagai jadwal serial (T1, T2)


Manajemen Transaksi part 3

2.Recoverability

Recovery merupakan upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

Jenis-jenis kerusakan/kegagalan pada DBMS

1.Kegagalan Transaksi (Transaction Failure)
•Kesalahan logika (Logical Error), di mana program/ sistem tidak dapat melanjutkan eksekusi normalnya karena adanya kondisi internal tertentu seperti masukan yang salah/ rusak, data tidak tersedia, nilai data diluar batas domain yang diperbolehkan (overflow), logika program yang tidak tepat (bugs) atau batas sumber daya sistem (resource) seperti memori  habis.
•Kesalahan sistem (System Error), dimana program/ sistem telah memasuki kondisi yang tidak diharapkan seperti terjadinya deadlock , sebagai hasil dari tidak tereksekusinya program/ sistem secara normal

2.Kerusakan sistem (System Crash)

Hardware macet (hang), menyebabkan isi media penyimpanan sementara (volatile storage) hilang

3. Kegagalan/ kerusakan Disk (Disk Failure)

terjadinya bad sector atau disk macet pada saat berlangsungnya operasi I/O ke disk.

Teknik Recovery

Prosedur recovery yang digunakan tergantung dari kegagalan yang terjadi pada basis data. Terdapat 2 kasus kerusakkan : 

1.Jika basis data rusak secara fisik seperti : disk head crash dan menghancurkan basis data,  maka  yang  terpenting  adalah  melakukan  penyimpanan kembali  backup  basis data yang  terakhir  dan  mengaplikasikan kembali  operasi-operasi  update transaksi yang telah commit dengan menggunakan log file. Dengan asumsi bahwa log file-nya tidak rusak.

2.Jika basis data tidak rusak secara fisik  tetapi  menjadi tidak konsisten, sebagai contoh  :  sistem  crash  sementara  transaksi  dieksekusi,  maka  yang  perlu dilakukan  adalah   membatalkan   perubahan-perubahan   yang   menyebabkan basis data tidak  konsisten. Mengulang beberapa transaksi sangat diperlukan juga untuk meyakinkan  bahwa  perubahan2  yang  dilakukan  telah  disimpan di dalam secondary  storage

Disini tidak perlu menggunakan salinan backup basis data, tetapi me-rastore basis data ke dalam keadaan yang konsisten dengan menggum=nakan before dan after-image yang di tangani oleh log fire

Ada 3 teknik utama dalam melakukan recovery:


         1.Defered upate / perubahan yang ditunda :

                Perubahan pada basis data tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi UNDO untuk mencegah akibat dari kegagalan tersebut.

2.Immediate Update / perubahan langsung :
Perubahan Di teknik ini, database akan diupdate oleh beberapa   transaksi sebelum transaksi mencapai titik point. Operasi secara khusus disimpan di log pada disk dengan force-writing sebelum diaplikasikan ke  database. Jika transaksi gagal setelah menyimpan beberapa perubahan pada database tetapi mencapai titik commit, efek dari operasi pada database harus undone (lepas/ buka); harus rolled back.
Jika transaksi mencapai commit sebelum semua perubahan ditulis ke database dikenal dengan algoritma UNDO/ REDO. Variasi dari algoritma ini adalah semua update disimpan dalam database sebelum  sebuah transaksi mencapai commit (membutuhkan hanya UNDO), dikenal dengan algoritma UNDO/NO-REDO

3.Shadow Paging :
          Menggunakan page bayangan dimana pada prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.