Sabtu, 07 Juni 2014

Laporan buku Database



Laporan Buku Database

1.      Pendahuluan

1.1.   Latar Belakang
Database atau yang biasa dieja basis data adalah sekumpulan data yang sudah disusun sedemikan rupa dengan ketentuan atau aturan tertentu yang saling berelasi sehingga memudahkan pengguna dalam mengelolanya juga memudahkan memperoleh informasi. Database atau basis data dapat di simpan di berbagai media elektronik, namun pada umumnya database di simpan di komputer. Untuk mengelola database maka diperlukannya perangkat lunak sebagai sistem manajemen basis data (Database management system, DBMS). 

Perangkat lunak yang di gunakan sebagai DBMS umumnya adalah MySQL.  MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya ; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

1.2.   Tujuan
Tujuan dibuatnya laporan buku ini antara lain untuk pengenalan Database Management Systems (DBMS), konsep dasar model relasional, bahasa queri formal maupun komersial seperti SQL (Structured Query Languae), sebagai alat bantu dalam perancangan basis data.

1.3.   Manfaat
Manfaat laporan buku ini adalah:
·         Dapat memberikan pemahaman mengenai konsep DBA dalam database, pemahaman yang memadai mengenai konsep sistem informasi, struktur data dan metode pengarsipan,  mempermudah manipulasi data.
·         Mengetahui konsep dan komponen penting dalam merancang database dengan DBMS yang sering digunakan yaitu MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL.

1.4.   Metode Penelitian
Metode penelitian yang di gunakan untuk penulisan laporan buku ini adalah dengan metode studi pustaka dari buku yang berjudul “Belajar Otodidak Membuat Database Menggunakan MySQL”.

 
2.      Kajian Pustaka

3.      Gambaran umum
Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta), dapat berupa angka-angka, huruf, simbol-simbol khusus, atau gabungan dari ketiganya.
Database adalah adalah sekumpulan data yang sudah disusun sedemikan rupa dengan ketentuan atau aturan tertentu yang saling berelasi sehingga memudahkan pengguna dalam mengelolanya juga memudahkan memperoleh informasi.
Database Manajement System (DBMS) merupakan software yang digunakan untuk membangun sebuah sistem basis data yang berbasis komputerisasi.
Pada MySQL terdapat 3 perintah yang di gunakan untuk mengelola database , yaitu :
  • Data Definition Language (DDL)
DDL digunakan untuk menggambarkan desain basis data secara keseluruhan. DDL digunakan untuk membuat tabel baru, menuat indeks, ataupun mengubah tabel. Hasil kompilasi DDL disimpan di kamus data.
  • Data Manipulation Language (DML)
DML digunakan untuk melakukan menipulasi dan pengambilan data pada suatu basis data seperti penambahan data baru ke dalam basis data, menghapus data dari suatu basis data dan pengubahan data di suatu basis data.

·         Data Control Language (DCL)
DCL mempunyai kemampuan untuk mengatur hak akses terhadap sebuah basis data (database)

4.      Isi/Pembahasan
Isi atau pembahasan dari buku ini adalah :
·         Bab 1: Mengenal Database
Pada bab ini berisi tentang pengenalan database, serta pengenalan apa itu keys  pada Mysql.
·         Bab 2: Konsep Client/server
Pada bab ini di jelaskan tentang aplikasi database serta arsitektur database.
·         Bab 3: Mengenal MySQL
Berisi tentang pengertian MySQL serta alasan menggunakan MySQL.
·         Bab 4: Instalasi MySQL
Berisi tentang tata cara instalasi MySQL pada komputer/
·         Bab 5: Memulai dan menghentikan server MySQL
Berisi tentang tata cara menghidupkan serta mematikan server.
·         Bab 6: Menggunakan MySQL sebagai program klien
Berisi tentang penggunaan Mysql.
·         Bab 7: Merancang Database
Berisi tentang bagaimana merancang database menggunakan MySQL.
·         Bab 8: Mendefinisikan database dan tabel
Membahas tentang bagai mana membuat database dan mendefinisikan tabel.
·         Bab 9: Memanipulasi Data
Berisi tentang bagaimana memanipulasi data.
·         Bab 10: Mengontrol Data
Membahas tentang pengontrolan database.
·         Bab 11: Seleksi data (bagian 1)
Pembahasan mengenai filter data dan penampilan data.
·         Bab 12: Seleksi data (bagian 2)
Pembahasan tentang pengelompokan data
·         Bab 13: View
Membahas tentang pembuatan tabel virtual
·         Bab 14: managemen user dan hak akses
Pembahasan tata cara membuat user
·         Bab 15: fungsi agregat
Membahas tentang fungsu-fungsi agregat
·         Bab 16: Menggunakan fasilitan Built in
Pembahasan mengenai fungsi aritmatika, logika, dan relasional.
·         Bab 17: Prosedur dan fungsi
Tentang tatacara membuat serta mengeksekusi prosedur.
·         Bab 18: Trigger
Pembahasan mengenai trigger.
·         Bab 19: backup dan restore database
Pembahasan tata cara penggunaan backup dan restore
·         Bab 20: Membuat aplikasi menggunakan MySQL
Pembahasan mengenai pembuatan aplikasi database.

Minggu, 27 April 2014

Peneitian Ilmiah Tentang “Aplikasi Secure Message Menggunakan Algoritma Rivest Code 6 Berbasis Android”



BAB 1
PENDAHULUAN


1.1  Latar Belakang
Keamanan suatu informasi pada era globalisasi serta kemajuan teknologi dewasa ini sangatlah penting, di era yang menuntut keterbukaan informasi serta kemudahan dalam mendapatkan suatu informasi berdampak pada keamanan suatu informasi tersebut. Dengan bantuan teknologi, segala informasi dapat dengan mudah kita dapatkan, baik itu bersifat rahasia ataupun bersifat umum.
Keadaan ini di perparah dengan adanya penyadapan serta pencurian informasi yang di lakukan oleh pihak ketiga untuk tujuan tertentu. Keadaan seperti ini menuntut untuk di tingkatkannya keamanan data serta informasi agar tidak jatuh ke tangan yang tidak bertanggung jawab, sehingga informasi yang kita sampaikan tidak mudah untuk di sadap atau di curi oleh pihak ketiga.
Mengingat pentingnya menjaga kerahasian suatu data dan informasi yang bersifat penting dan rahasia mendorong penulis untuk membuat penelitian ilmiah yang berjudul “Aplikasi Secure Message Menggunakan Algoritma Rivest Code 6 Berbasis Android”.

1.2  Rumusan Masalah
Dalam Penelitian ini penulis mencoba merumuskan persoalan dalam bentuk pertanyaan:
            1.      Bagaimanakah pengaruh aplikasi-aplikasi Android dalam kehidupan sehari-hari?
            2.      Bagaimanakah pengaruh aplikasi keamanan informasi terhadap informasi yang kita berikan ?

1.3  Batasan Masalah
Mengingat begitu luasnya ruang lingkup pada penelitian ini, maka penulis membatasi permasalahan tersebut pada:
          1.      Mengingat banyaknya sistem operasi pada telepon selular, maka penulis dalam penelitian ini hanya akan menggunakan system operasi Android pada telepon selular.
             2.      Algoritma enkripsi serta dekripsi yang digunakan pada Penelitian ini hanya Algoritma Rivest Code 6.

1.4  Tujuan
Penelitian ini bertujuan untuk :
            1.      Mencegah kebocoran informasi kepada pihak ketiga.
            2.      Memudahkan user atau pengguna untuk mengamankan informasi yang di perolehnya. 
       3.      Mencegah penyadapan yang di lakukan oleh pihak ketiga, sehingga kerahasiaan suatu informasi              dapat    tetap terjaga.

1.5  Manfaat Penelitian
Penelitian yang penulis lakukan ini mudah-mudahan dapat bermanfaat bagi penulis sendiri, maupun bagi para pembaca atau pihak-pihak lain yang berkepentingan. 
1. Manfaat akademis
Penelitian ini berguna untuk menambah pengetahuan serta memberikan pembelajaran tentang keamanan suatu data atau informasi, sehingga dengan melakukan penelitian ini diharapkan penulis dan semua pihak yang berkepentingan dapat lebih memahaminya.
2. Manfaat dalam implementasi atau praktik
Penelitian ini berfokus kepada keamanan suatu informasi yang melalui jalur pesan singkat pada telepon selular berbasis Android. Sehingga diharapkan para pengguna dapat menggunakan hasil penelitian ini sebagai sarana untuk memberi keamanan terhadap informasi yang kita berikan.

1.6  Metode Penelitian

1.6.1 Perangkat lunak yang digunakan
      Pada penelitian ini perangkat lunak yang di gunakan adalah:
1. Android Developing Tool
Sofware yang di gunakan untuk membuat aplikasi enkripsi serta dekripsi sms
2. Emulator Android
Software yang di gunakan untuk mensimulasi program agar dapat di jalankan di komputer, sehingga program dapat di uji coba di perangkat komputer sebelum di gunakan di telepon selular.

1.6.2 Algoritma yang digunakan
      Pada penelitian ini algoritma yang digunakan adalah algoritma enkripsi Rivest Code 6. Dimana pada algoritma ini dikelompokan ke beberapa bagian-bagian, yaitu:
      1. Membuat Subkunci
Pengguna membuat kunci atau password yang akan di masukan ke dalam proses enkripsi serta dekripsi.
            2. Membaca Kata Kunci yang digunakan dalam proses enkripsi
Pada tahap ini kata kunci yang sudah di buat oleh pengguna akan di masukan kedalam proses enkripsi.
            3. Enkripsi Data
Membuat proses enkripsi data dengan memasukan kata kunci pengguna.
            4. Membaca Kata Kunci Untuk Melakukan Proses Dekripsi
Program akan membaca kata kunci pengguna yang selanjutnya di masukan kedalam proses dekripsi. 
            5. Dekripsi Data
Membuat proses dekripsi data dengan memasukkan kata kunci yang di buat oleh pengguna.

1.7  Sistematika Tulisan Ilmiah
Sistematika penelisan ilmiah ini terdiri dari 4 bab yaitu:
1.      Bab 1. Pendahuluan.
Pada bab ini menguraikan tentang latar belakang masalah, rumusan masalah, batasan mmasalah, tujuan penulisan, manfaat penulisan, metode penulisan dan sistematika penulisan.
2.      Bab 2. Tinjauan Pustaka.
      Pada bab ini menjelaskan tentang pengertian kriptografi, android, java , dan algoritma Rivest Code 6.
3.      Bab 3. Perancangan serta Implementasi.
Bab ini menjelaskan tentang tahap-tahap pembuatan aplikasi beserta tampilan aplikasinya, serta spesifikasi hardware dan software yang digunakan.
4.      Bab 4. Kesimpulan.
Bab ini menjelaskan tentang jawaban dari tujuan penulisan ilmiah ini.


BAB II
LANDASAN TEORI

2.1  Kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Dalam kriptografi mempunyai 4 tujuan dasar dalam menjaga kerahasiaan, yaitu :
·         Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
·         Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
·         Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
·         Non-repudiasi. atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.


2.2  Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram  Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. 

Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.

Java merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai kelompok objek yang saling berinteraksi. Deskripsi ringkas OOP adalah mengorganisasikan program sebagai kumpulan komponen, disebut objek. Objek-objek ini ada secara independen, mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerintahkan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu. Kelas bertindak sebagai modul sekaligus tipe. Sebagai tipe maka pada saat jalan, program menciptakan objek-objek yang merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain. Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan pewarisan jamak dengan fasilitas antarmuka yang lebih elegan.

Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum digunakan. Ini merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini memungkinkan kompilator Java menentukan dan melaporkan terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe integer dengan variabel bertipe string). Pencegahan sedini mungkin diharapkan menghasilkan program yang bersih. Kebaikan lain fitur ini adalah kode program lebih dapat dioptimasi untuk menghasilkan program berkinerja tinggi.

Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem window.

Platform independence adalah kemampuan program bekerja di sistem operasi yang berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak bergantung platform. Tipe variabel Java mempunyai ukuran sama di semua platform sehingga variabel bertipe integer berukuran sama tidak peduli dimana program java dikompilasi. Begitu telah tercipta file .class dengan menggunakan kompilator Java di platform manapun, maka file .class tersebut dapat dijalankan di platform manapun. Jadi “dimanapun dibuat, dimanapun dapat dijalankan”. Slogan ini biasa diringkas sebagai Write Once, Run Anywhere (WORA).

Java termasuk bahasa Multithreading. Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kelas untuk menulis program multithreaded, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara konkuren.

Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan alokasi dinamis.

Java mempunyai mekanisme exception-handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar. Ketika kesalahan yang serius ditemukan, program Java menciptakan exception. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi turun.

Program Java mendukung native method yaitu fungsi ditulis di bahasa lain, biasanya C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang dapat dieksekusi lebih cepat dibanding fungsi ekivalen di java. Native method secara dinamis akan di-link ke program java, yaitu diasosiasikan dengan program saat berjalan.

2.3  Android
Android adalah sistem operasi berbasis Linux yang dipergunakan sebagai pengelola sumber daya perangkat keras, baik untuk ponsel, smartphone dan juga PC tablet.
Secara umum Android adalah platform yang terbuka (Open Source)  bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai piranti bergerak.

2.4  Algoritma Rivest Code 6
Algoritma yang mulai diperkenalkan sekitar tahun 1998 ini adalah hasil pengembangan dari algoritma RC5. Algoritma ini, sama seperti RC1 sampai RC5, dikembangkan oleh Laboratorium RSA di San Mateo, USA. Algoritma ini lebih dispesifikasikan dengan sebutan RC6-w/r/b dengan w adalah panjang ukuran kata dalam bit, r adalah jumlah putaran (rounds) dari proses enkripsi dengan r tidak negatif, dan b adalah panjang kunci enkripsi dalam bytes. Putaran yang dimaksudkan disini adalah sama dengan pada DES. Satu kali putaran sama dengan satu kali jaringan Feistel. Agar sesuai dengan persyaratan dari AES, maka RC6 menggunakan ukuran w = 32 dan r = 20 dengan panjang kunci mulai dari 16, 24, sampai 32 byte.

RC6 beroperasi pada empat unit kata dengan masingmasing sepanjang w bit. Operasi yang dilakukanantara lain sebagai berikut:
·         a + b Penambahan modulo 2w
·         a – b Pengurangan modulo 2w
·         a �� b Exclusive-or untuk w bit kata
·         a × b Multiplikasi modulo 2w
·         a ‹« b Rotasi untuk kata a ke kiri sebanyak jumlah yang diberikan least significant log w bits dari b
·         a ›» b Rotasi untuk kata a ke kanan sebanyak jumlah yang diberikan least significant log w bits dari b
·         Dengan operasi logaritma berbasis dua.


Minggu, 24 November 2013

CLOUD STORAGE


CLOUD STORAGE

            Dalam kehidupan sehari-hari, kebutuhan akan data merupakan hal yang tak bisa terhindarkan lagi. Semua dari hasil kerja kita pasti berupa data baik yang berupa nyata ataupun berupa data digital. Data digital merupakan suatu kumpulan kode yang merepresenasikan hasil kerja kita agar bisa dibaca oleh komputer. Pada dasarnya data digital, pastilah mempunyai suatu ukuran (size) yang menjadi batasannya. Dengan size tersebut maka data digital dapat diartikan sebagai sesuatu yang spesifik dan dapat didefinisikan bentuknya.
Data digital, memiliki kelebihan jika dibanding dengan data nyata yaitu dapat dipakai terus menerus tanpa mengalami perusakan atau dapat disebut memiliki kualitas yang sama. Data digital dapat digunakan terus menerus karena dapat disimpan untuk bisa digunakan terus menerus jika disimpan di dalam alat penyimpanan (storage). Namun muncul suatu persoalan dimana data-data tersebut akan terus menumpuk dan akhirnya memenuhi kapasitas strarage kita. Maka solusi yang biasanya diambil adalah penghapusan data yang lama atau dengan penambahan storage baru.