Rabu, 08 Juli 2015

Website, Back-End Programming dan Xml Bercerita Tentang Memberi Pengalaman Keamanan Data Pada Pengguna.


Abstrak :   Jika anda sering membaca biografi seseorang atau kronologi sebuah kasus di internet pasti website wikipedia menjadi tujuan utama anda, beberapa tahun belakangan ini website sudah banyak berubah, dengan meningkatnya kecepatan internet di berbagai negara serta semakin canggihnya teknologi untuk membuat website dengan munculnya berbagai framework dan plugin javascript, munculnya CSS3 dan HTML5 serta didukung oleh web browser yang makin modern, makin tinggi kemampuannya. Hal ini ternyata sangat bisa dimanfaatkan oleh web developer untuk membuat website lebih menarik dan atraktif.


Website sekarang bisa berbuat lebih banyak dibandingkan dulu yang hanya sekedar teks dan foto atau gambar gif yang bergerak-gerak.Me -review website kronologi pembunuhan mantan presiden Amerika ke-35 yaitu  John F. Kennedy yang dituduhkan kepada Lee Harvey Oswald http://www.kennedyandoswald.com yang dibuat oleh tim dari National Geographic. Pada website tersebut terlihat bagaimana web developer bisa membuat website menjadi media yang sangat ampuh untuk menjelaskan sesuatu, bukan sekedar membaca teks, namun pengunjung diberi rasa, website bisa memberikan keterikatan dengan pengunjungnya dengan penggunaan gambar yang baik, video pada momen tertentu saja, typography yang agak kontras dengan background nya sehingga mudah untuk dibaca dan di dukung oleh efek parallax yang membuat website bisa bergoyang kiri kanan dan seolah memanipulasi inputan mouse dimana sedikit scroll saja kita sudah disajikan 1 halaman baru (biasanya sekali scroll kita hanya beralih dari satu baris tulisan ke baris berikutnya), namun dengan bantuan javascript bisa membuat website sekali scroll langsung beralih halaman per halaman.
Website Killing Kennedy sangat kaya fitur, pada pembahasan diatas tadi kita sudah bahas mengenai penggunaan gambar, video, dan parallax digunakan oleh developer nya pada website tersebut, itu baru sebagian, kalau kita perhatikan disitu kita bisa melihat pemilihan warna yang agak gelap mungkin karena kasus ini penuh misteri, kesan vintage dimunculkan disana karena memang menceritakan masa lalu dan penggunaan audio yang kalau didengar dengan volume sedang maka akan terdengar sangat menarik dan alunannya kadang mengharukan, namun jangan kaget kalau sesekali terdengar suara tembakan, atau bom yang membuat kita seketika menjadi serius ketika berada di halaman tertentu. Akhir cerita biasanya ada credit nya, anda pasti pernah menonton film, pada akhir sebuah film selalu ada credit atau ucapan-ucapan terima kasih. Website Killing Kennedy ini juga dilengkapi dengan credit yang dibuat seolah kita baru saja menyaksikan sebuah film karena halaman creditnya mirip dengan yang biasa ada di film-film bioskop atau televisi.

Extended Markup Language yang merupakan singkatan dari XML merupakan sebuah bahasa markup yang bukan bahasa pemrograman. XML bersifat seperti dokumen yang memuat potongan-potongan data dan ternyata memiliki beberapa manfaat. Dengan XML, sebuah dokumen (data) dimungkinkan untuk memiliki struktur-struktur yang unik. Struktur unik yang dimaksud adalah sebuah data dapat diciptakan dengan tag-tag yang fleksibel (sesuai dengan kebutuhan dan kegunaan). XML juga diketahui memiliki manfaat untuk Search Engine Optimization. Search Engine Optimization atau yang biasa disingkat dengan istilah SEO merupakan sebuah tindakan optimasi untuk meningkatkan posisi sebuah web di mesin pencari. Untuk penerapan XML dalam teknologi yang lebih jauh lagi, XML diterapkan pada beberapa teknologi seperti internet of wings, website dan bahkan future internet (internet masa depan). Internet of wings sendiri terkait dengan beberapa teknologi internet masa depan seperti teknologi IPv6, Smart City, Parallel Computing. IOT (Internet), WOT (Web), MOT (Mobile) juga termasuk.

Xampp adalah perangkat lunak bebas yang mendukung banyak sistem operasi. Xampp merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost) yang terdiri atas program Apache HTTP Server, MySQL database dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama Xampp merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas. Xampp merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. Back-End Programming


Back-End programming
Back-End programming adalah program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back-end programming, yaitu dengan trigger dan stored procedure.

Trigger

Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.
Berikut adalah daftar yang mungkin untuk aktivasi trigger :
Event
Keterangan
Before Insert
Diaktifkan sekali sebelum statement insert
After Insert
Diaktifkan sekali setelah statement insert
Before Update
Diaktifkan sekali sebelum statement update
After Update
Diaktifkan sekali setelah statement update
Before Delete
Diaktifkan sekali sebelum statement delete
After Delete
Diaktifkan sekali setelah statement delete

Model-model yang digunakan untuk menspesifikasi aturan basis data aktif adalah model ECA (Event-Condition-Action). Aturan dalam model ECA memiliki tiga komponen yaitu:
  • Event, yang memicu suatu rule tersebut biasanya berupa operasi perubahan basis data yang secara eksplisit ditambahkan ke basis data. Namun pada umumnya, bisa berupa event temporal atau jenis event eksternal yang lain.
  • Condition, menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition (bersifat optional) akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule dijalankan.
  • Action, biasanya berupa statement sql.
Manfaat trigger antara lain adalah :
  • Membuat integrity constraint yang kompleks.
  • Mencatat aktivitas suatu tabel (logging).
  • Sinkronisasi

Stored Procedure

Subprogram adalah PL/SQL Blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai.
Stored procedure adalah subprogram yang disimpan di dalam database berupa SQL + Bahasa prosedural. Ada beberapa kelebihan yang dapat diperoleh dengan menggunakan stored procedure, meliputi :
  • Dijalankan di database server -> performance lebih baik, network trafik lebih rendah.
  • Tools DBA -> praktis, selalu tersedia di database server.
  • Dapat digunakan oleh banyak aplikasi
    • Standarisasi business logic.
    • SP dapat dipanggil oleh aplikasi luar
  • Dapat memanfaatkan tipe, fungsi yang disediakan DBMS
  • Powerfull, tools sangat penting bagi DB designer, DB programmer dan DBA
  • Hampir semua RDBMS mensupport.
  • Walaupun syntax berbeda, umumnya menggunakan prinsip yang sama

XML (Extensible Markup Language)

XML adalah markup language sepertinya halnya HTML untuk dokumen yang mengandung informasi terstuktur dan ditujukan untuk pertukaran dokumen via web. XML berberntuk file teks yang cross platform, independen terhadap software dan hardware. Berikut adalah spesifikasi XML :
  • Tag: <nama> budi </nama>
    • Tag didefinisikan sendiri.
  • Tag dapat mempunyai atribut,
    • contoh : <daftar_mahasiswa jumlah = “40”> … </daftar_mahasiswa>
  • Struktur -> hirarki (tag dalam tag),
    • contoh: <mahasiswa><nama> susis </nama></mahasiswa>
Keuntungan XML :
  • Self Documenting -> dengan melihat tag, dapat diketahui isi dokumen.
  • Dapat dibaca software dan manusia.
  • Fleksibel
  • Dapat dikembangkan tanpa melanggar format lama.
    • Contoh: pada <pengarang>, tambah tag <telepon>, maka XML yang lama tetap dapat dibaca.
  • Hirarkis -> dapat merepresentasikan data kompleks
  • Independen terhadap bahasa pemrograman dan sistem operasi
Kerugian XML :
  • Pengulangan tag -> tidak efisien, ukuran file membengkak
Beberapa aturan XML :
  • Setiap tag harus ada penutupnya.
  • Penamaan Tag
    • case sensitive. <nama> tidak sama dengan <Nama>.
    • Tidak diawali dengan angka
    • Tidak mengandung spasi
    • Hindari ‘-’ dan ‘.’
  • Urutan hirarki harus benar.
    • Contoh yang salah: <mahasiswa> <nama> susis </mahasiswa></nama>
  • Setiap XML harus mengandung root (akar)
<root>
<child>
<subchild>…..</subchild>
</child>
</root>
  • Setiap atribut harus dalam tanda petik. Contoh:
    • <surat tanggal = “12/12/2007”>
    • <catatan oleh = “ Jum’at ” >
  • Komentar dalam XML:
    • <!—baris komentar –!>
Untuk membaca XML diperlukan proses parser. Parser XML dapat dilakukan dengan dua cara, yaitu :
  • Tree based, isi XML dipindahkan ke memori terlebih dulu -> DOM (Document Object Model).
  • Event based -> tidak dipindahkan ke memori. Fungsi callback dipanggil setiap menemui element. -> SAX (Simple API XML)

Keamanan Data

Sistem database dapat didefinisikan sebagai komputerisasi sistem penyimpanan data yang tujuannya untuk memelihara informasi serta agar informasi tersedia pada saat dibutuhkan. Dalam sistem database itu perlu dijaga keamanan datanya karena data yang diakses oleh pihak yang tidak berwenang akan merugikan pemilik database tersebut baik database miliki perusahaan, kelompok tertentu atau bahkan perorangan.
  1. Fisikal, lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap kerusakan.
  2. Manusia, dijaga dari pihak yang tidak berwenang untuk menghindari manipulasi data olehnya.
  3. Sistem Operasi, kelemahan ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
  4. Pengaturan hak akses sistem basis data yang baik.
Berikut adalah poin-poin penting yang harus diperhatikan dalam keamanan data :
1. Otorisasi, meliputi :
  • Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
  • Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
  • Mengendalikan sistem atau obyek yang dapat diakses
  • Mengendalikan bagaimana pengguna menggunakannya
  • Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
2. Tabel View
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna. Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
  • Level Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi.
  • Level View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view.
  • Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
  • Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
  • Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
  • Delete Authorization : pengguna diperbolehkan menghapus data.
3. Backup data dan Recovery, tindakan ini diperlukan untuk mencegah kehilangan data dari hal-hal yang tidak terduga.
  • Backup : proses secara periodik untuk membuat duplikat dari database dan melakukan logging file media penyimpanan eksternal.
  • Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan.
  • Isi Jurnal :
    • Record transaksi :
      • Identifikasi dari record
      • Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
      • Item data sebelum perubahan (operasi update dan delete)
      • Item data setelah perubahan (operasi insert dan update)
      • Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi)
    • Record checkpoint :
      • Suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini. Recovery : merupakan upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
4. Kesatuan data dan Enkripsi :
  • Enkripsi : Mengkodekan informasi pada data dengan sandi khusus yang hanya dapat dibuka oleh pihak yang berwenang / memegang kuncinya
  • Integritas : Metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
  • Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).




2007. Ryan Mudafiq, www.Ilmukomputer.com
2012. Pratama. gogopratamax.blogspot.com
cs.upi.edu
elearning.cs.upi.edu

Tidak ada komentar:

Posting Komentar