SpongeBob SquarePants

Minggu, 06 Mei 2018

PENJELASAN DARI BASIS DATA

1.  Sekilas Tentang Basis Data
     Basis data adalah sekumpulan informasi atau data yang disimpan dalam komputer secara teratur dan sistematik yang dapat diakses , digunakan , diperoleh , diperiksa menggunakan suatu program komputer yang bertujuan untuk memperoleh informasi dari basis data yang disimpan tersebut.
   Untuk memanggil kembali database yang telah kita di program komputer,dibutuhkan aplikasi tertentu untuk mengelolanya.Pengelolaan dan pemanggilan Query pada database disebut sebagai DBMS (Database Management System).Contoh Aplikasi yang mendukung untuk pembuatan database diantaranya : MySQL , Microsoft Access , Microsoft SQL server , Oracle , Interbase , Xbase , dan lain-lain.
2.   Sejarah Perkembangan Basis Data
      Menurut sejarahnya,sistem pemrosesan pada database bermula dari masa sistem pemrosesan secara manual dan sistem pemrosesan berkas.Sistem pemrosesan secara manual yang berbasis kertas adalah bentuk pemrosesan dasar berupa sekumpulan rekaman yang disimpan pada rak-rak berkas.Jika berkas yang dicari dibutuhkan maka proses pencarian akan dilakukan pada rak-rak tempat penyimpanan berkas tersebut.Sedangkan sistem pemrosesan berkas atau file processing system adalah sebuah sistem komputer yang terdiri dari sekumpulan rekaman yang disimpan pada sejumlah berkas yang terpisah.
--> Tahap 1 pada Tahun 1960
      Generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric pada awal tahun 1960 yang dinamakan dengan Penyimpanan Data Terintegrasi(Integrated Data Store) yang dibentuk untuk model dasar data jaringan yang kemudian terstandardisasi oleh Conference On Data System Languages (CODASYL).Kemudian Bachman menerima ACM Turing Award(Penghargaan semacam Nobel pada ilmu komputer) pada tahun 1973. Pada akhir tahun 1960,IBM mengembangkan sistem manajemen informasi (Information Management System) DBMS.IMS dibentuk dari representasi data pada kerangka kerja yang dinamakan dengan model data hierarki.Pada waktu yang bersamaan, hasil kerja sama antara IBM dengan perusahaan penerbangan Amerika mengembangkan sistem SABRE , dimana sistem SABRE ini memungkinkan user mengakses data yang sama pada jaringan komputer.
Ciri-ciri Konsep Database pada tahap ini yaitu :
- Menggunakan konsep sistem basis data (Database Systems/DBS)
- Menggunakan Sistem Managemen Basis Data (Database Management Systems/DBMS)
- Layanan Informasi secara Online
- Layanan Informasi Berbasis Teks
--> Tahap 2 pada Tahun 1970
         Tahun 1970 Edgar Codd di laboratorium penelitian di San Jose mengusulkan suatu representasi data baru yang dinamakan dengan model data relasional.Pada tahun 1980, model relasional menjadi paradigma DBMS paling dominan.Query pada SQL dikembangkan untuk database relasional sebagai bagian proyek sistem R dari IBM.SQL distandardisasi di akhir tahun 1980 dan SQL-92 diadopsi oleh American National Standards Institute(ANSI) dan Internasional Standards Organization(ISO).Pada tahun 1999 , James Gray memenangkan turing award untuk kontribusinya pada managemen transaksi dalam DBMS.
Ciri-ciri Konsep Database pada tahap ini yaitu :
- Munculnya aplikasi-aplikasi database berbasis sistem pakar (Expert Systems/ES) dalam penunjang keputusan (Decission Support Systems/DSS)
- Pemrograman berorientasi obyek (Object Oriented Programming/OOP)
--> Tahap 3 pada Tahun 1980
Pada akhir tahun 1980 dan awal tahun 1990 , banyak bidang sistem basis data yang perlu dikembangkan.Penelitian dibidang database meliputi query dan model data yang lengkap serta penekanan dukungan analisis data yang kompleks.
Perkembangan database pada tahun ini memunculkan fenomena menarik yaitu dengan hadirnya Enterprise Resource Planning (ERP) dan Management Resource Planning(MRP) yang menambah lapisan substansial dari fitur yang berorientasi aplikasi DBMS.
Ciri-ciri Konsep Database pada tahap ini yaitu :
- Sistem berbasis Hypertext yang memungkinkan penampilan informasi berdasarkan suatu kata kunci pencarian yang dapat dilakukan secara acak.

--> Tahap 4 pada Tahun 1990 sampai Sekarang
Ciri-ciri Konsep Database pada tahap ini yaitu :
- Konsep database tahap ini berkembang ke arah aplikasi-aplikasi database untuk sistem kecerdasan buatan (Artificial Intelligent/AI).
- Mendukung Aplikasi-aplikasi multimedia yang melibatkan data teks , suara , gambar , dan animasi
- Aplikasi database berorientasi objek (Object Oriented Database/OODB)
- Aplikasi-aplikasi database mendukung secara online (Online Database) untuk jaringan komputer global/internet.
- Aplikasi konsep database kabur(fuzzy) juga mendukung konsep database pada tahap ini.
            
           Pada tahap ini,konsep database mulai memperkenalkan Data Warehouse , Data Mart dan Data Mining.

- Data Warehouse
Konsep dasar dari Data Warehouse ialah informasi yang dikumpulkan pada sekumpulan tempat penyimpanan dan mempresentasikan solusi untuk pengaksesan data dalam sistem non relasional,sehingga data warehouse bisa dikatakan sebagai database yang berorientasi pada subjek,terintegrasi , mempunyai Time Variant dan bersifat non volatile yang berguna untuk kumpulan data yang mendukung dalam pengambilan keputusan.Sedangkan manfaat dari data warehouse ini adalah hasil yang diperoleh dari investasi lebih tinggi , kompetitif , dan meningkatkan produktivitas perusahaaan.

- Data Mart
     Data Mart adalah database yang berisikan data yang menjelaskan satu segmen operasi perusahaan.Misalnya perusahaan yang mungkin memiliki data mart pemasaran , data mart sumber daya manusia dan lain-lain.Data Mart ini berfungsi untuk membantu para user mendesain suatu data warehouse.

- Data Mining
          Data Mining disebut sebagai istilah lain untuk penggabungan antara data warehouse dengan data mart. Data Mining adalah proses menemukan hubungan dalam data yang tidak diketahui oleh user.Data Mining membantu user dengan menyelesaikan berbagai hubungan dan menyajikannya dengan suatu cara yang dapat dimengerti sehingga dapat menjadi dasar pengambilan keputusan.Data Mining memungkinkan user untuk menemukan pengetahuan pada database yang lebih mendalam.

Jenis-jenis Data Mining yaitu sebagai berikut :

-> Data Mining Berdasarkan Verifikasi , Query yang dapat dimasukkan kedalam DBMS dan panggil kembali dengan ketentuan user memasukkan query dengan tepat dan terstruktur.

-> Data Mining Berdasarkan Penemuan , Sistem data mining dengan penemuan ini dapat melaksanakan analisis selangkah lebih jauh dengan merekomendasikan satu set promosi yang diarahkan pada kedua kelompok tersebut.

-> Kombinasi Data Mining Verifikasi dan Penemuan , Perkembangan ini mendukung penalaran yang sama yang mendasari konsep sistem pendukung keputusan (Decision Support Systems/DSS).Konsep inilah yang akan memungkinkan user dan komputer bekerja sama dalam meyelesaikan suatu masalah sehingga komputer dapat menganalisa data yang canggih untuk memilih data yang tepat dan menempatkannya dalam format tang tepat untuk pengambilan keputusan.

Apa itu Algoritma Schnorr


Algoritma Schnorr

Algoritma Schnorr adalah salah satu dari lagoritma pada asimetris. Algoritma schnorr adalah algoritma tanda tangan yang memanfaatkan kesulitan dari beberapa permasalahan logaritma diskrit untuk dipecahkan sebagai dasar dari keamanannya. Algoritma Schnorr terdiri dari tiga bagian yang terdiri dari :
1.      Pembangkitan Kunci
Langkah- langkah yang terdapat pada pembangkitan kunci adalah :
a.       Pilih terlebih dahulu bilangan prima p dengan syarat p ≥ 2512
b.      Pilih bilangan prima q dengan syarat q | p-1 dan q ≥ 2160
c.       Pilih g dari Zp * dan g ≠ 1. Zp * adalah sekumpulan bilangan yang kongruen dan relatif prima dengan p (atau multiplicative group of integers modulo p) untuk beberapa bilangan prima p
d.      Pilih x dari Zq
e.       Hitung y ≡ gx (mod p)
f.       Kunci publiknya adalah y dan kunci privatnya adalah x
2.      Penandatanganan
Langkah- langkah untu penandatanganan suatu pesan atau dokumen adalah :
a.       Tentukan fungsi hash yang akan digunakan (misalnya h)
b.      Pilih k secara acak dari Zq
c.       Hitung r = gk (mod p)
d.      Hitung e = h(r, M) dengan M adalah pesan
e.       Hitung s = k – xe (mod q)
f.       Tanda tangannya adalah S = (e, s)
3.      Verifikasi
Untuk melakukan verifikasi maka perlu dihitung r’ = gS y e (mod p). Tanda tangan akan valid jika e = h(r’, M
Algoritma Schnorr dapat direpresentasikan dengan cara lain, namun cara lain ini memerlukan semua pengguna skema algoritma untuk menyetujui suatu group G dengan pembangkit g dari prime order q yang memiliki permasalah logaritma diskrit yang sulit dipecahkan. Biasanya yang digunakan adalah Schnorr group. Schnorr group adalah kumpulan bilangan prima berorde besar yang merupakan subgroup dari Zp *. Selain itu fungsi hash yang digunakan juga sudah harus disetujui bersama. Selanjutnya langkah yang dilakukan sama dengan langkah sebelumnya namun langkah ini memiliki beberapa modifikasi seperti :
1.      Pembangkitan Kunci
Langkah – langkah yang diperlukan adalah:
a.       Pilih bilangan x sebagai kunci privat dengan syarat 0 < x < q
b.      Kunci publiknya sendiri adalah y dimana y = gx
2.      Penandatanganan
Dalam melakukan penandatanganan pada pesan M, langkah – langkah yang harus dilakukan yaitu:
a.       Pilih bilangan acak k yang memenuhi persyaratan 0 < k < q
b.      Hitung r = gk
c.       Kemudian hitung e = H(M||r)
d.      Terakhir hitung s = (k – xe) mod q
e.       Tanda tangan digital yang dihasilkan ialah pasangan (e,s)
Dengan catatan nilai e seharusnya terletak di antara 0 dan q (0 ≤ e < q)
3.      Verifikasi
Untuk melakukan verifikasi terhadap pesan M dan pasangan tanda tangan digital (e,s), langkah – langkah yang harus dilakukan adalah:
a.       Hitung rv = gsye
b.      Kemudian hitung ev = H(M||rv)
c.       Jika ev = e, maka tanda tangan digital (e,s) valid untuk pesan M. Dengan kata lain, jika diasumsikan (e,s) benar – benar tanda tangan digital untuk pesan M, maka pesan M valid dan masih otentik, sama dengan pesan asli yang dibuat oleh pembuatnya.





Senin, 16 Juni 2014

Contoh Coding Pencarian Bagi Dua





Itu tadi contoh coding untuk mencari data pada Pencarian Bagi Dua (Binary Searching).
Semoga bisa memahami ya :) Jangan hanya sekedar melihat saja , ingat konsep 3D !
Dipahami , Dianalisa , Dipraktekkan yaa :)

Good Luck :)

Salam Teknik Informatika :)

Uraian Deskriptif untuk Algoritma Pencarian Bagi Dua

Algoritma_Pencarian_Bagi_Dua
{Diberikan sebuah data terurut sebanyak 8 elemen dengan L[8] = {2,3,4,5,6,7,8,9} , tentukanlah nilai X = 3 di elemen tersebut }

Deskripsi :

Ø  Mulai
Ø  Masukkan data terurut yang telah diketahui yaitu L[0] = 2 dan L[7] = 9.
Ø  Tentukan apakah data terurut tersebut menaik atau menurun dengan membaca L[0] dan L[n-1]. Karena L[0] < L[7] maka data terurut tersebut menaik.
Ø  Tentukan nilai tengahnya dengan menggunakan rumus C = (a+b)div 2 , dimana a=0 , b=7 sehingga : C = (a+b)div 2 = (0+7)div 2 = 3.
Ø  Didapat index C atau nilai tengah adalah 3 dengan L[3] = 5.
Ø  Karena data index tengah lebih besar dari nilai yang akan dicari (L[3] >X ) maka pencarian data berikutnya dilakukan pada sisi kiri index C dengan syarat nilai index C sama dengan nilai b, sehingga : B = C = 3 , C = (a+b)div 2 = (0+3)div 2 = 1.Maka didapat elemen tengah menjadi 1 dengan L[1] = 3.
Ø  Karena nilai data di elemen tengah sama dengan niali yang dicari atau X maka pencarian berakhir.
Ø  Data X ditemukan di index ke-1.
Ø  Selesai

Semoga Bermanfaat :)



Minggu, 15 Juni 2014

Pencarian Bagi Dua (Binary Search)

Pada kesempatan kali ini saya dari Jurusan Teknik Informatika akan menjelaskan Mengenai Pencarian Bagi Dua (Binary Search).Sebelumnya kita mempelajari apa itu Pencarian Bagi Dua (Binary Search) , mari kita flashback kembali apa itu Pencarian (Searching).

Pengertian Pencarian(Searhing)

Pencarian atau Searching adalah proses dimana sebuah coding atau algoritma digunakan untuk menemukan data atau nilai tertentu pada sekumpulan data yang bertipe sama.
Setelah kita memahami apa itu pencarian(Searching) , sekarang saya akan menjelaskan materi dari pencarian itu sendiri yaitu yang berjudul “Pencarian Bagi Dua (Binary Search) “.Disini saya akan menjelaskan tentang pengertian , langkah mencari data dalam Pencarian Bagi Dua (Binary Search) , dan Contoh Algoritma dari Pencarian Bagi Dua (Binary Search). Selamat Membaca :) 

Pencarian Bagi Dua (Binary Search)

1.      Pengertian Pencarian Bagi Dua (Binary Search)

Pencarian Bagi Dua (Binary Search) adalah metode dari pencarian yang menggunakan konsep membagi 2 jumlah elemen,larik atau array yang telah ditentukan.Syarat utama dalam Pencarian Bagi Dua (Binary Search) ialah sekumpulan data atau algoritma yang ingin dicari nanti sudah terurut, baik secara menaik atau menurun.

Kelebihan menggunakan konsep Pencarian Bagi Dua (Binary Search) dalam pencarian data yaitu waktu yang sangat cepat dalam pencarian.

2.      Langkah-langkah dalam Mencari data Menggunakan Konsep Pencarian Bagi Dua (Binary Search)

Ø  Berilah simbol untuk mempermudah dalam memproses data , seperti sekumpulan data dikodekan menjadi n , larik dikodekan L , dan data yang akan dicari dikodekan menjadi X.

Ø  Sepakati bahwa nilai index awal atau kita kodekan menjadi a=0 dan index akhir atau kita kodekan menjadi b=n-1.

Ø  Tentukan apakah sekumpulan data terurut yang akan dicari bersifat menaik atau menurun dengan cara membandingkan elemen kanan dan kiri

Ø  Jika data elemen paling kiri L[0] > data elemen paling kanan L[n-1], maka data terurut tersebut menurun.
Ø  Jika data elemen paling kiri L[0] < data elemen paling kanan L[n-1], maka data terurut tersebut menaik.

Ø Selanjutnya kita beri kode untuk index data tengah sebuah array tersebut dengan variabel c , sehingga :
C = (a+b)div 2
Ø Dari rumus diatas,kita langsung mendapatkan data tengah nya.Lalu periksa apakah L[c] = X , maka data yang dicari langsung didapat dari rumus C diatas.

Ø Tetapi jika L[c] < X maka pencarian data dilakukan dari sisi kanan index c atau data tengah dengan menggunakan rumus C tersebut.Dan jika L[c] >X maka pencarian data dilakukan dari sisi kiri index c atau data tengah dengan menggunakan rumus C dimana dengan nilai b sama dengan nilai c dan pencarian dilakukan sampai seterusnya hingga ketemu nilai X atau tidak sama sekali. 

(Note : Konsep ini untuk data terurut menaik. Jika data terurut menurun maka hanya mengubah konsep L[c]<X dari sisi kiri dan L[c]>X dari sisi kanan).

For Example :

Diberikan sebuah data terurut sebanyak 8 elemen L[8] = {2,3,4,5,6,7,8,9}.Tentukanlah nilai X=3 di elemen tersebut ?

Penyelesaian :

§  Tentukan apakah data terurut tersebut menaik atau menurun dengan membaca  L[0] dan L[n-1]
L[0] = 2
L[7] = 9
    Karena L[0] < L[7] maka data terurut tersebut menaik.

§  Misalkan index paling kanan a=0 dan index paling kiri b=7 maka index tengahnya adalah :

C = (a+b)div 2 = (0+7)div 2 = 3.

    Dari konsep index C didapat elemen tengah adalah 3 dengan L[3] = 5.

§  Karena data index tengah lebih besar dari nilai yang akan dicari (L[3] >X ) maka pencarian data berikutnya dilakukan pada sisi kiri index C dengan syarat nilai index C sama dengan nilai b, sehingga :

B = C = 3 , C = (a+b)div 2 = (0+3)div 2 = 1.

            Elemen tengah menjadi 1 dengan L[1] = 3

§  Karena nilai data di elemen tengah sama dengan niali yang dicari atau X maka pencarian berakhir.Data X ditemukan di index ke-1.

§  Selesai

Selamat Membaca :) Semoga Bermanfaat :)

Autobiografi Penulis :)