Agustus 2019 - Berkarya Suka-Suka

Selasa, 06 Agustus 2019

Agustus 06, 20190 Comments

Mengevaluasi pengamanan data pada aplikasi web


A. Menerapkan prosedur sistem keamanan akses basis data dalam aplikasi web.

Keamanan pada database merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
Penyalahgunaan Database 
1.      Tidak disengaja, jenisnya :
·         kerusakan selama proses transaksi
·         anomali yang disebabkan oleh akses database yang konkuren
·         anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
·         logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.
2.      Disengaja, jenisnya :
·         Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
·         Pengubahan data oleh pihak yang tidak berwenang.
·         Penghapusan data oleh pihak yang tidak berwenang.

Tingkatan Pada Keamanan Database
a)      Fisikal  : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
b)      Manusia  : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
c)      Sistem Operasi  : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
d)      Sistem Database  : Pengaturan hak pemakai yang  baik.  
Keamanan Data :
a.       Otorisasi :
ü  Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
ü  Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
1.      Mengendalikan sistem atau obyek yang dapat diakses
2.      Mengendalikan bagaimana pengguna menggunakannya
ü  Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
b.      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 :
Ø  Relasi  : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
Ø  View   : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terdapat 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
Untuk Modifikasi data terdapat otorisasi tambahan :
§  Index Authorization  : pengguna diperbolehkan membuat dan menghapus index data.
§  Resource Authorization  : pengguna diperbolehkan membuat relasi-relasi baru.
§  Alteration Authorization  : pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
§  Drop Authorization  : pengguna diperbolehkan menghapus relasi yang sudah ada.
Contoh perintah menggunakan SQL :
a.       GRANT  : memberikan wewenang kepada pemakai Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai> Contoh : GRANT SELECT ON S TO BUDI GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
b.      REVOKE  : mencabut  wewenang yang dimiliki oleh pemakai Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai> Contoh : REVOKE SELECT ON S FROM BUDI REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI  Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE

Backup Data Dan Recovery
Backup : proses secara periodik untuk mebuat duplikat dari database dan melakukan logging file (atau program) ke 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 :
v  Record transaksi
v  Identifikasi dari record
v  Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
v  Item data sebelum perubahan (operasi update dan delete)
v  Item data setelah perubahan (operasi insert dan update)
v  Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
Record ceckpoint : 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.
3 Jenis Pemulihan :
Ø  Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur dalam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
Ø  Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
Ø  Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.

Fasilitas pemulihan pada DBMS :
Ø  Mekanisme backup secara periodik
Ø  fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
Ø  fasilitas checkpoint, melakukan update database yang terbaru.
Ø  manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.
Teknik Pemulihan :
1.      defered up d ate / perubahan yang ditunda :  perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
2.      Immediate Up d a te / perubahan langsung :  perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
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

Kesatuan data dan Enkripsi :
a.       Enkripsi : keamanan data
b.   Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
c.   Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masingmasing. Adanya penjadwalan proses yang akurat (time stamping).

B.  Menentukan jenis sistem pengamanan akses data dalam aplikasi web.
a.  Web à mempresentasikan informasi dalam bentuk teks, gambar, suara, dll dalam bentuk hypertext dan dapat diakses oleh perangkat lunak yang disebut browser.
b.      Web Browser à program / aplikasi yang digunakan untuk membuka halaman web
c.   Web Server  à perangkat lunak server yang berfungsi menerima permintaan HTTP /HTTPS dari klien dan mengirimkan hasilnya dalam bentuk halaman web (dokumen HTML)
Kegunaan dari web tidak hanya untuk browsing, tetapi juga untuk melayani end user melalui antarmuka browser mereka. Komponen Web  menggunakan berbagai protokol dan layanan untuk memberikan konten yang diinginkan end user.
Banyak pemilik website tidak memperhatikan keamanan website karena:
      menganggap bahwa perusahaan mereka masih kecil dan tidak mungkin ada hacker yang mau melirik
      hacker menggunakan tools/software otomatis untuk menemukan situs yang memiliki kriteria kelemahan-kelemahan tertentu
Website adalah brand, pintu depan, bahkan sebagian merupakan wadah/media yang pertama kali menghubungkan perusahaan dengan customer. Semakin besar interaksi customer dengan website,  makin tinggi kebutuhan keamanan untuk website tersebut. 

Sistem Kerja Web Server
Pada dasarnya tugas web server :
      Menerima permintaan (request) dari client, dan
      Mengirimkan apa yang diminta oleh client (response).
Sistem Kerja Web
1.      User mengakses  website berupa URL melalui Web Browser (media untuk menuju URL yang diakses),
2. Web Browser  mengirimkan permintaan berupa HTTP Request kepada Web Server melalui layer TCP/IP
3.      Web Server memberikan Web Files yang di-request (jika ada) melalui HTTP  Response  melalui layer TCP/IP,
4. Web Browser menerima  Web Files, dan kemudian dikirimkan kepada User berupa Display.

Penanganan Ancaman Pada Web
Mencegah user yang tidak sah untuk mengakses data sensitif
     Otentikasi: mengidentifikasi user untuk menentukan apakah mereka adalah orang yang berwenang
     Akses kontrol: mengidentifikasi sumber daya yang membutuhkan perlindungan dan siapa saja yang  memiliki akses kepada mereka
Mencegah penyerang mencuri data selama transmisi
      Enkripsi (biasanya dengan Secure Sockets Layer)
Mengumpulkan informasi user ID dari end user ("log in")
      biasanya melalui dialog / antarmuka browser
      informasi user ID biasanya mengacu pada username dan password
Memindahkan  informasi user ID ke server web
      Tidak aman  (HTTP) maupun aman (HTTPS = HTTP melalui SSL)
Verifikasi ID dan password 
      Realms menyimpan username, password, dll, dapat diatur dengan cara LDAP, RDBMS, dll
      Validasi: cek di server web jika user ID & password match dengan yang ada di Realms.
      Menjaga otentikasi user sebelumnya untuk operasi HTTP selanjutnya

Secure Sockets Layer (SSL)
Protokol yang dikembangkan pada tahun 1996 oleh Netscape untuk keamanan transmisi dokumen web pribadi melalui Internet.
Menggunakan kunci pribadi dan publik untuk mengenkripsi data yang dikirim melalui koneksi SSL. Dengan konvensi, URL yang membutuhkan koneksi SSL dimulai dengan https bukan http.
SSL diperlukan ketika :
  Ada proses login atau sign in (untuk melindungi nama pengguna dan password)
  Mentransmisikan data sensitif secara online, seperti informasi kartu kredit, dll
  Seseorang memerlukan privasi dan persyaratan keamanan
Untuk mengaktifkan koneksi SSL, server membutuhkan sertifikat SSL yang ditandatangani oleh Certificate Authority (CA). CA memverifikasi ID dari pemilik sertifikat ketika sertifikat SSL dikeluarkan. Setiap Sertifikat SSL berisi informasi yang unik dan otentik tentang pemilik sertifikat, seperti ID, lokasi, kunci publik, dan tanda tangan dari CA. Hal ini menegaskan bahwa Anda benar-benar user yang sah. Sertifikat SSL memungkinkan enkripsi informasi selama transaksi online dengan cara menggunakan cryptosystem hybrid.

Types of  Web Application Security
Ada dua jenis aplikasi untuk keamanan web :
a.       Keamanan Deklaratif
Keamanan secara otomatis ditangani oleh sistem, hanya perlu melakukan konfigurasi (pada file web.xml)
Untuk mencegah akses yang tidak sah
      Menggunakan aplikasi Web deployment descriptor (web.xml) untuk menyatakan bahwa URL tertentu membutuhkan perlindungan.
  Server secara otomatis meminta user untuk memasukkan  username dan password, melakukan verifikasi, dan melacak user yang telah dikonfirmasi sebelumnya.
Untuk melindungi data yang dikirimkan melalui jaringan
      Menggunakan web.xml untuk mengkonfigurasi URL supaya hanya bisa diakses dengan SSL.
      Jika  user mencoba mengakses URL yang dilindungi melalui HTTP biasa, server secara otomatis mengarahkan mereka ke HTTPS (SSL) yang sesuai.
b.      Keamanan Program
Semua keamanan (otentikasi, akses kontrol, dll) dilakukan oleh program yang dibuat oleh user.
Untuk mencegah akses yang tidak sah
  mengotentikasi user atau memverifikasi bahwa user telah dikonfirmasi sebelumnya.
Untuk melindungi data yang dikirimkan melalui jaringan
      SSL adalah metode umum untuk melindungi data pada jaringan. Hanya  perlu mengarahkan permintaan ke https URL secara eksplisit dalam program.

Reading Time:
Agustus 06, 20190 Comments

CRUD


CRUD adalah singkatan dari Create, Read, Update Dan Delete. Crud berarti terdiri dari proses penginputan data ke database, menampilkan data dari database, mengedit/mengupdate/mengubah data di database, dan juga menghapus data pada database.
Kita akan membuat sebuah aplikasi dengan tampilan seperti pada gambar di bawah dengan sebuah tabel yang menampilkan data dari database di sisi frontend. Terdapat beberapa tombol untuk mengubah data yang ada di database lewat antarmuka yang kita buat. Tabel pengguna yang kita buat akan berisi informasi pengguna seperti nama, nomor telepon, email, dll.

OOP adalah singkatan dari Object Oriented Programming. OOP merupakan metode pemrograman yang lebih berorientasi pada objek. maksudnya pemrograman yang lebih terpusat pada objek. sehingga akan lebih sangat memudahkan kita di dalam membuat aplikasi. sebenar nya OOP lebih di dukung pada pemrograman JAVA dan C++. tetapi di PHP sudah sangat di dukung pada versi PHP5. kenapa OOP sangat bagus jika di terapkan pada pembuatan aplikasi ? berikut ini saya uraikan kelebihan-kelebihan penggunaan OOP.

Berikut ini adalah kelebihan menggunakan OOP dalam membuat aplikasi.

·   Syntax lebih terstruktur.
·   Terekomendasi.
·   Sangat efektif jika di gunakan untuk membuat aplikasi yang berskala besar.
·   Lebih mudah dan menghemat waktu, karena fungsi/function bisa di panggil
   berulang-ulang kali. tergantung keperluan.
·   Lebih menghemat waktu.
·   Aplikasi lebih mudah di kembangkan.
·   Dan lebih banyak lagi kelebihan dari OOP yang akan teman-teman rasakan
sendiri pada saat mulai menggunakannya.
adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multialur, multipengguna, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan GPL.
MySQL mempunyai berbagai macam fungsi yaitu
Anda dapat memikirkan database MySQL sebagai wadah yang menyimpan string (text based) data. Gambar, media, file, file audio, dan hal hal alam yang benar benar tidak harus disimpan dalam database. Caranya adalah dengan meletakan file file pada server dalam foler dan hanya referensi nama dan path di database tersebut.

Kepanjangan MySQL

MySQL adalah singkatan “My Structured Query Language”. Program ini berjalan sebagai server menyediakan multi-user mengakses ke sejumlah database.

Kelebihan MySQL

·           Merupakan salah satu software yang portable
·           MySQL merupakan salah satu DBMS yang opensource
·           Multi-User
·           Memiliki tipe data yang bervariasi
·           Memilki fitur keamanan yang baik
·           Administrative tools yang lengkap
·           Struktur tabel yang lebih fleksibel
·           Dapat diintegrasikan dengan berbagai bahasa pemrograman
·           Tidak membutuhkan spesifikasi hardware yang tinggi
·           RAM Kecil dapat menggunakannya

Kekurangan MySQL

·           Sulit untuk diaplikasikan pada intansi atau perusahan dengan database yang  
        besar
·           Support yang kurang
·           Tidak populer untuk aplikasi game dan mobile

Reading Time:
Agustus 06, 20190 Comments

BLOG


Blog adalah salah satu jenis website yang kontennya berisi pemikiran satu atau beberapa penulis dan memiliki urutan posting secara kronologis (dari konten terbaru ke konten terlama).

A.    Struktur pada Blog

Saat ini blog memiliki tampilan dan tatanan yang sangat beragam tergantung fungsi pada blog itu sendiri. Mulai dari blog yang memiliki beberapa sidebar, hingga blog yang hanya memiliki satu kolom. Pada dasarnya blog memiliki struktur standar, berikut beberapa struktur standar pada sebuah blog:

1.         Header: Biasanya terletak dibagian atas blog. Header berisi tentang judul blog,
deskripsi blog dan menu blog.
2.         Navbar: Elemen ini biasanya terletak diatas header. Fungsi dari Navbar untuk
mempermudah editor/pemilik blog dalam mengelola blog nya. Navbar biasanya
tidak akan tampil jika diakses oleh user selain pemilik blog.
3.         Main blog: Biasanya terletak di bagian tengah blog. Disinilah tempat dimana
postingan blog berada. Pada Main Blog juga terdapat struktur seperti Judul,
tanggal, nama penulis serta kolom komentar.
4.         Sidebar: Pada elemen ini biasanya terdapat Popular Post, Archive. Anda juga
dapat menambahkan widget lainya seperti kalender, jam dan widget menarik
lainnya. Letaknya bisa di kiri atau kanan sebuah blog.
5.         Footer: Terletak paling bawah blog. Biasanya terdapat informasi singkat pemilik
blog, kontak atau form subscribe untuk diisikan alamat email.

B.     Sejarah Blog di Indonesia

Di Indonesia sendiri, blog mulai dikenalkan oleh Enda Nasution pada tahun 2001 melalui artikel berjudul “Apa itu Blog”. Berkat inisiatifnya mempromosikan blog di Indonesia, beberapa media massa Indonesia menyebutnya sebagai Bapak Blogger Indonesia, The Jakarta Post adalah salah satunya.
Kiprahnya memperkenalkan blog kepada masyarakat Indonesia tidak hanya berhenti di postingan “Apa Itu Blog?”. Enda juga aktif berbicara di berbagai media untuk memperkenalkan apa itu blog dan kebebasan berbicara.
Enda juga memprakarsai Pesta Blogger yang pertama kali diadakan pada 27 Oktober 2007 Enda bersama beberapa blogger nasional lain mengadakan Pesta Blogger yang juga bekerja sama dengan perusahaan konsultan komunikasi, Maverick. Acara ini bertujuan menjadi ajang berkumpulnya para blogger Indonesia untuk berdiskusi dan bertukar pikiran mengenai blog.
Di Pesta Blogger pertama tersebut Menteri Komunikasi dan Informasi, Muhammad Nuh, berinisiatif menyebut 27 Oktober sebagai Hari Blogger Nasional di sambutan pembukaan acara. Sampai saat ini 27 Oktober diperingati sebagai Hari Blogger Nasional dan dirayakan oleh para blogger di berbagai daerah.  
Pada tahun 2015, Antara melaporkan terdapat 3,5 persen blogger dari 88,1 juta pengguna internet di Indonesia atau sekitar 3 juta blogger. Angka ini termasuk kecil, mengingat penduduk Indonesia yang berjumlah lebih dari 200 juta orang.

Reading Time:

DBMS

DATABASE MANAGEMENT SISTEM (DBMS) A.     Pengertian a.        Gordon C. Everest Salah satu proses management yang efektif ...