Pengertian SQL dan NoSQL

SQL dan NoSQL

    Pada kesempatan ini saya akan menuliskan tentang SQL dan NoSQL. Teman-teman mungkin sudah pernah mendengar tentang SQL dan NoSQL, bahkan ada yang sudah mengerti dan faham apa itu SQL dan NoSQL. Tetapi tidak ada salahnya saya berbagi sedikit, karena berbagai tentang ilmu dan kebaikan itu akan mendatangkan ilmu dan kebaikan juga.

    Gambaran umum dari bahasa SQL dan NoSQL yaitu bahasa yang digunakan untuk melakukan operasi pada struktur database, tetapi kedua bahasa ini memiliki cara yang kontras dalam melakukannya.

SQL

   SQL singkatan dari Structured Query Language. Pengertian dari SQL sendiri yaitu suatu bahasa yang digunakan untuk mengakses data yang terdapat dalam sebuah database relasional. SQL saat ini digunakan sebagai bahasa standart de facto untuk manajemen database relasional. SQL sendiri sering disebut dengan istilah Query.
  Pada tahun 1969 Dr. Edgar F. Codd dengan papernya tentang Teori Database Relational, mengajukan sebuah bahasa yang disebut DSL/Alpha untuk memanajemen data dalam relational database. Pada tahun 1970 IBM dengan team penelitinya (Donald D. Chamberlin dan Raymond F. Boyce) mengembangkan SQUARE menjadi SEQUEL (Structured English Query Language). Sequel ini digunakan untuk mengoperasikan prototype RDBMS pertama milik IBM system R.
  Melihat potensi dari bahasa SQL ini, maka perusahaan Relational Software, Inc (Oracle Corporation) mengembangkan versi SQL untuk RDBMS. Pada Juni 1979, RDBMS komersial pertama dari Oracle yang mengimplementasikan SQL dirilis yaitu Oracle V2 (versi 2).
   Semakin berkembangnya SQL yang mulai diimplementasikan oleh berbagai RDBMS dangan menggunakan versi SQL mereka sendiri, sehingga menimbulkan permasalahan karena penerapan SQL antara satu aplikasi dengan aplikasi database yang lain tidak seragam. Maka pada tahun 1986, ANSI American National Standards Institute) merancang sebuah standar untuk bahasa SQL. Pada tahun 1987 International Organization for Standardization (ISO) juga mengeluarkan standar untuk bahasa SQL. Pada tahun 2011 dirilis standar SQL yang dinamakan SQL 2011, dengan dirilisnya standar SQL 2011 ini diharapkan adanya keseragaman bahasa SQL antar aplikasi RDBMS yang mengimplementasikan SQL. Meski begitu ada juga RDBMS yang tidak standar seperti MySQL, didalamnya ada “fitur” SQL yang tidak terdapat pada Oracle begitu juga sebaliknya.
     SQL digunakan untuk mengelola data dala sistem manajemen basis data relational, dimana data disimpan dalam cara yang terstruktur dan terorganisasi dalam tabel yang terdiri dari kolom dan baris. Kolom dalam basis data berisi bidang/tempat yang berkaitan dengan data yang harus disimpan. Sedang baris yang berhubungan dengan kolom berisi bagian-bagian data yang disebut dengan entri.
     Dalam bahasa SQL yang terdapat pada berbagai RDBMS memiliki perintah-perintah dasar yang sama, contoh dalam hal pembuatan tabel, perintah ini dapat digunakan baik di Oracle maupun MySQL. Didalam SQL perintah-perintah (instruksi) dikelompokkan berdasarkan jenis dan fungsinya, terdapat 3 jenis perintah dasar SQL dan 2 jenis perintah tambahan, yaitu :
  1. Data Definition Language (DDL), jenis instruksi (perintah) ini berkaitan dangan pembuatan struktur tabel maupun basis data. Ternmasuk : Create, Alter, Rename dan Update.
  2. Data Manipulation Language (DML), jenis instruksi yang berkaitan dengan data yang yang ada dalam tabel, missal bagaimana menginput, menghapus, memperbaharui dan membaca data yang tersimpan dalam basis data. Contoh perintah DML : DELETE, UPDATE, INSERT dan SELECT.
  3. Data Control Language (DCL), jenis instruksi yang berkaitan dengan manajemen hak akses pan pengguna (user) yang dapat mengakses basis data maupun tabel, (GRANT dan REVOKE).
  4. Transaction Control Language (TCL), yaitu perintah untuk proses transaksi. Perintah ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan atua tidak sama sekali. Contoh perintahnya COMMIT, ROLLBACK dan SET TRANSACTION.
  5. Programmatic SQL, yaitu perintah yang berkaitan dengan sub program (stored procedure) maupun penjelasan mengenai struktur basis data. Contoh perintah programmatic SQL yaitu DECLARE, PREPARE, DESCRIBE dan EXPLAIN.

Kelebihan SQL (Dalam ha ini MySQL) yaitu :
  • Free
  • Lebih stabil dan tangguh
  • Memiliki security yang baik.
  • Mudah dalam memanajemen basis datanya.
  • Fleksibel dengan berbagai pemrograman.
  • Banyak komunitas tempat berdialog (diskusi) yang mendukung.
  • Softwarenya berkembang dengan pesat.


NoSQL

       NoSQL kependekan dari Not Only SQL, yaitu sebuah onsep penyimpanan data non-relationall. Dalam NoSQL menggunakan metode yang berbeda-beda. NoSQL biasanya digunakan untuk data-data yang terus berkembang, dimana data tersebut sangat kompleks yang tidak bisa lagi diakomodir oleh bahasa SQL (basis data relational).
Secara umum basis data NoSQL dapat dibagi menurut format penyimpanan documentnya, yaitu :
  1. Document Database, setiap satu object data disimpan dalam satu document. Document sendiri dapat terdiri dari key-value (Array atau key-value bertingkat). Contohnya MongoDB.
  2. Key-Value, contoh dari basis data jenis ini yaitu Apache Cassandra.
  3. Graph, format penyimpanan data pada format ini disimpan dalam struktur graph. Dan format ini biasa dipakai pada data yang saling berhubungan seperti jejaring social. Contoh basis data dengan format graph yaitu Neo4J dan FlockDB (dipakai Twitter).
  4. Object Database, yaitu format basis data yang disimpan dalam object-object (seperti Object dalam PBO), contoh basis datanya Db4o.
  5. Format yang lain diantaranya tuple store dan tabular.

Kelebihan NoSQL yaitu :
  • NoSQL  layaknya big data/cloud, dimana basis data ini dapat menampung semua data, baik yang terstruktur, semi terstruktur bahkan data yang tidak terstruktur.
  • Menggunakan OOP dalam pengaksesan dan manipulasi datanya.
  • Autosharding, jika dijalankan pada cluster server (multiple server), maka secara otomatis data akan tersebar merata keseluruh server (Sharing Otomatis).
  • Tidak mengenal schema tabel yang kaku dengan format data yang kaku. Schema dalam NoSQL adalah Dynamic Schema.

Kekurangan NoSQL yaitu :
  • Hosting untuk data NoSQL tergolong mahal.
  • Belum adanya standar format penyimpanannya, sehingga menyulitkan ketika akan pindah dari satu produk NoSQL yang satu ke prodek NoSQL yang lain.
  • Sulit mencari dukungan hosting Cpanel yang mendukung basis data MongoDB dan yang lainnya.

MODEL PROSES RPL

MODEL PROSES REKAYASA PERANGKAT LUNAK

Dalam proses pengembangan perangkat lunak, telah banyak digunakan model-model pengembangan yang bertujuan untuk mempermudah dalam hal pengembangan perangkat lunak itu sendiri. Dengan memanfaatkan model pengembangan perangkat lunak itu mengacu pada model proses pengembangan sistem yaitu System Development Life Cycle (SDLC).

Dari setiap model proses pengembangan sistem tersebut, memiliki karakteristik-karakteristik tersendiri, tetapi pada dasarnya semua model proses pengembangan sistem terdapat kesamaan karakteristiknya, diantaranya:
  1. Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas.
  2. Tahapan-tahapan pengembangan yang teratur, yaitu mengikuti pola umum analysis – design – coding – testing – maintenance.
  3. Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan.
  4. Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.
  5. Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis.
Terdapat bermacam-macam model pengembangan perangkat lunak, diantaranya : The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD) termasuk di dalamnya Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) dan Framework for the Application of System thinking (FAST).


Waterfall model

Model pengembangan yang sering digunakan dalam pengembangan perangkat lunak yaitu waterfall model. Disebut waterfall (air terjun) karena diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Dan Inti dari metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Seperti terlihat pada gambar berikut :


Keterangan :
  1. Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang suatu sistem informasi dikembangkan. Melakukan studi kelayakan dengan tujuan untuk mengetahui apakah sistem yang dibuat sudah memenuhi standar kelayakan atau merupakan solusi yang layak.
  2. Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan sistem informasi yang baru).
  3. Tahap disain bertujuan menentukan spesifikasi detil dari komponen-komponen sistem informasi (manusia, hardware, software, network dan data) dan produkproduk informasi yang sesuai dengan hasil tahap analisis.
  4. Tahap implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software (pengkodean program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
  5. Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan

Kelebihan model Waterfall
  •  Kualitas dari sistem yang dihasilkan akan baik, karena dilakukan secara bertahap.
  • Document pengembangan sistem sangat terorganisir.

Kekurangan model Waterfall
  • Diperlukan majemen yang baik, karena setiap langkah harus diselesaikan sebelum mengerjakan tahapan selanjutnya.
  • Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan.
  • Perubahan sulit dilakukan karena sifatnya yang kaku.
  • Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan. Pemakai harus sabar untuk dapat melihat produk awal dari program.

Prototyping model

Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).

Keterangna :
  • Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.
  • Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
  •  Input/output prototype : Prototype yang terbatas pada antar muka pengguna (user interface).
  • Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi.
  • System prototype : Prototype yang berupa model lengkap dari perangkat lunak.

Tahap-tahap dalam prototyping boleh dikata merupakan tahap-tahap yang dipercepat, yaitu tahap yang dikerjakan (diselesaikan) dimulai dari tahap yang paling mudah. Tahapan pelaksanaan dari model prototyping ini dapat digambarkan seperti berikut ini :


Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
  1. Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsifungsi pemrosesan sederhana.
  2. Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database, pengolah grafik, dan software CASE (Computer-Aided System Engineering).
  3. Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
  4. Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagianbagian dari perangkat lunak yang di-prototype-kan.
  5. Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan.
  6. ransformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang memang dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang. 

Incremental Model

Incremental Model merupakan gabungan antara model linear sekuensial dan prototyping. Setiap linear sekuen menghasilkan produk yang deliveriables. Seperti terlihat pada gambar :


Keterangan:
  • Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan.
  • Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir.
  • Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar.
  • Model ini cocok jika jumlah anggota tim pengembang/pembangun PL.
  • Mampu mengakomodasi perubahan secara fleksibel. tidak cukup.
  • Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.

Kelebihan :
  • Sumber daya (personel) dapat bekerja dengan maksimal (optimal).
  • Pengguna dapat langsung menggunakan bagian yang sudah selesai di buat (dikerjakan).
  • Karena dikerjakan bertahap, maka pengguna tidak merasa kesulitan (trauma), meskipun ada perubahan sistem.
  • Investasi pengguna dapat dimaksimalkan.

Kekurangan :
  • Tidak cocok untuk projek yang besar (Coding diatas 200.000 baris).
  • Kesulitan memetakan kebutuhan pengguna kemasing-masing hasil increments.
  • Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung.

Unified Process dan Unified Modeling Language

Unified Process (UP) atau kadang disebut sebagai Unified Software Development Process (USDP) adalah kerangka proses pengembangan yang bersifat use-case-driven, berpusat pada arsitektur perangkat lunak, interatif dan tumbuhkembang (Alhir, 2005). Dalam metode ini ada empat tahap pengembangan yaitu inception, elaboration, construction dan transition. 

Keterangan :
  • Inception. Tahapan ini merupakan tahapan paling awal dimana aktivitas penilaian terhadap sebuah proyek perangkat lunak dilakukan.
  • Elaboration. Tujuan dari tahap ini adalah untuk mendapatkan gambaran umum kebutuhan, persyaratan dan fungsi-fungsi utama perangkat lunak.
  • Construction. Tujuan dari tahapan ini adalah membangun perangkat lunak sampai dengan saat perangkat lunak tersebut siap digunakan.
  • Transition. Tahap ini difokuskan pada bagaimana menyampaikan perangkat lunak yang sudah jadi pada pengguna.
Dalam pengembangan perangkat lunak dengan menggunakan UP, maka tidak lepas dari penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language).


Spiral Model

Pada model pengembangan perangkat lunak ini, proses dari pengembangan digambarkan sebagai spiral dimana setiap loop mewakili setiap proses, dan setiap Loop dibagi menjadi beberapa sector :


  • Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui.
  • Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini.
  • Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih.
  • Planning: Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak.

Tetapi pembagian sector-sector itu tidak dapat diterapkan pada model spiral berikut :

                             

  • Customer communication: membangun komunikasi yang baik dengan pengguna/customer.
  • Planning: mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek.
  • Risk analysis: identifikasi resiko managemen dan teknis.
  • Engineering: pembangunan contoh-contoh aplikasi, misalnya prototype.
  • Construction and release : pembangunan, test, install dan support.
  • Customer evaluation: mendapatkan feedback dari pengguna berdasarkan evaluasi PL.
Model spiral menjadi model yang sangat realitis untuk pengembangan perangkat lunak skala besar. Karena setiap resiko sangat dipertimbangkan, karena dapat menimbulkan kegagalan sistem.

Model Rapid Aplication Development (RAD)


Adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari).


Fase-fase pendekatan RAD meliputi Bussiness modeling, Data modeling, Prosess modeling, Application generation, Testing and turnover.

Keunggulan model RAD adalah :
  • Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien.
  • RAD mengikuti tahap pengembangan sistem seperti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih singkat.

Kekurangan model RAD adalah :
  • Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
  • RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.

Transformasi Formal

Metode ini berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi. Trasformasi menyatakan spesifikasi program Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.

Metode ini mempunyai keterbatasan dalam pemakaiannya. Keunggulannya adalah mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada sistem yang kritis. Hal ini menjadi efektif dari segi biaya.
Pemakaian model pengembangan formal memerlukan tingkat kerahasian sebelum digunakan.

Permasalahan dalam model pengembangan metode formal :
  • Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya.
  • Sulit menentukan beberapa aspek dari suatu sistem seperti user interface.

Multimedia Interaktif

MULTIMEDIA INTERAKTIF

               Multimedia interaktif adalah media informasi yang berupa penggabungan text, audio, video, animasi dan grafik yang dapat disampaikan melalui media elektronik seperti komputer dan yang peralatan elektronik lainnya.
         Beberapa ahli berpendapat bahwa multimedia interaktif adalah media / alat yang dapat digunakan untuk menyampaikan (presentasi) yang dinamis dan interaktif dengan menggunakan text, audio, animasi, grafik dan video. Menurut Rada (1995) bahwa “multimedia merujuk ke perpaduan/sinkronisasi aliran media (any synchronized media stream)”.  Sebagai contoh dari multimedia adalah gambar bergerak yang sinkron dengan suara (termasuk siaran televisi dan film modern) (Green & Brown, 2002: 2)

Menurut Suyanto (seperti dikutip Benardo, 2011), meultimedia interaktif dibagi menjadi dua, yaitu :
  1. Multimedia Interaktif Online, yaitu media interaktif yang dapat diakses atau cara penyampaiannya melalui jaringan (internet) contoh : Situs Web (Youtube, Yahoo dll).
  2. Multimedia Interaktif offline, yaitu media interaktif yang diakses atau cara penyampaiaannya tidak memerlukan media jaringan/internet, contoh : CD interaktif, media pembelajar (berupa slide), jadi jangkauannya tidak teralu luas hanya pada daerah tertentu saja misal ruang kelas.


Multimedia interaktif memiliki berbagai fungsi, diantaranya :
  •  Komunikasi antar bisnis: manajemen, absensi, keuangan.
  •  Komunikasi bisnis dan konsumen: e-commerce.
  •  Komunikasi antar konsumen: jejaring sosial.
  •  E-Learning: training, alat bantu pengajaran, media pembelajaran.
  •  Hiburan: games.
  •   Komunikasi pemerintah: informasi publik, layanan masyarakat.
  •  Komunikasi kebudayaan: informasi museum dan galeri.


Multimedia interaktif menggabungkan dan mensinergikan semua media yang terdiri dari: teks, grafik, audio dan interaktivitas (Green & Brown, 2002: 2-6).
Teks
Teks adalah simbol berupa medium visual yang digunakan untuk menjelaskan bahasa lisan. Teks memiliki berbagai macam jenis bentuk atau tipe (sebagai contoh : Time New Roman, Arial, Comic San MS), berbagai macam ukuran dan warna. Satuan dari ukuran suatu teks terdiri dari length dan size
Grafik
Grafik adalah suatu medium berbasis visual. Seluruh gambar dua dimensi adalah grafik. Apabila gambar di render dalam bentuk tiga dimensi (3D), biasanya tetap disajikan melalui medium dua dimensi.
Audio
Audio atau medium berbasis suara adalah segala sesuatu yang bisa didengar dengan menggunakan indera pendengaran.  Contoh: narasi, lagu, sound effect, back sound.
Interaktivitas
Interaktivitas bukanlah medium, interaktivitas adalah rancangan dibalik suatu program multimedia. Interaktivitas dapat disebut juga sebagai interface design atau human factor design. Multimedia interaktif saat ini banyak digunakan dalam kehidupan sehari-hari. Bahkan sebenarnya kita setiap saat menggunakan sarana multimedia interaktif ini untuk berhubungan denga orang lain. Sebagai contoh, kalua kita sedang bercakap-cakap (ngobrol), kita pasti melakukan interaksi menmanfaatkan multimedia interaktif ini untuk menyamapaikan argument (obrolan yang kita lakukan.
           Dalam dunia pendidikan, media ini juga berperan penting pada kegiatan pembelajaran. Dengan menggunakan media interaktif ini, penyampaian pembeljaran kepada siswa (mahasiswa) akan lebih mudah dipahami dibandingkan jika hanya menggunakan media text saja. Apalagi saat ini, ketika peralatan elektronik sudah sangat berkembang (maju), makin mudah saja kita memperoleh informasi yang begitu cepat dan akurat. Hal ini tidak terlepas dari media informasi. Terutama perkembangan komputer yang sangat pesat. Hampir setiap hal saat ini memerlukan sarana komputer untuk mengelola informasi yang akan disampaikan ataupun yang akan diterima (dicari). Saat ini hampir semua bidang dan informasi yang kita butuhkan, dapat dengan mudah kita peroleh melalui internet. Dan dalam penyampaian informasi melalui internet dapat kita lihat bahwa semua informasi yang ada, semua menggunakan multimedia interaktif

Physical Model


PHYSICAL MODEL

Physical data model merupakan pengembangan berupa implementasi database secara spesifik dari database yang akan dibuat dan dengan mempertimbangkan DBMS yang akan digunakan. Physical data model disebut juga Skema Relasi yang fungsinya adalah memodelkan struktur fisik dan secara detail dari suatu database.
Perancangan Physical model bertujuan untuk meningkatkan efisiensi dalam pemprosesan data yang mencakup :
  1. Relasi yang sudah ternormalisasi, juga mencakup perhitungan kasar volume data yang akan disimpan.
  2. Definisi dan deskripsi masing-masing atribut pada setiap entitas yang ada.
  3. Deskripsi tentang kapan dan dimana data digunakan, meliputi langkah-langkah pemasukan data, pemanggilan, penghapusan serta pembaruan.
  4. Kebutuhan akan waktu dalam mem-backup, recovery dan pemeliharaan integritas data.
  5. Deskripsi teknologi (sistem database, DBMS) yang digunakan untuk mengimplementasikan data.

Membangun database secara fisik membutuhkan pilihan kritis yang akan berimasukan  pada integritas dan kinerja aplikasi yaitu:
  1. Pemilihan format (Tipe (Tipe data) dengan mempertimbangkan Penggunaan Ruang, niai, perbaikan integritas dan  manipulasi data.
  2. Pengelompokan atribut.
  3. Perekaman, pengorganisasian dan pembaharuan serta recovery.
  4. Pemilihan struktur database.
  5. Penyiapan strategi penggunaan query.
Dalam physical model hubungan antar entitas yang digunakan adalah hubungan secara kardinalitasnya, dimana hubungan one to one akan ditandai dengan sebuah garis hubung dan berisi keterangan hubungan tersebut one to one, hubungan one to many juga ditandai dengan garis hubung serta tanda hubungan tersebut one to many dan PK (Primary Key) pada tabel one akan menjadi FK (Foreign Key) pada tabel many.



Cloud computing dan grid computing

CLOUD COMPUTING DAN GRID COMPUTING


Cloud computing
        Cloud computing merupakan pemanfaatan jaringan yang terkoneksi dengan internet, dimana peran internet disini dijadikan sebagai server tempat menyimpan aplikasi dan data. Sehingga aplikasi dan data tersebut dapat digunakan/ diakses oleh komputer dalam jaringan yang terkoneksi dan dalam waktu yang bersamaan. Meskipun menggunakan internet, tetapi tidak semua yang terkoneksi internet menggunakan cloud computing ini.
        Cloud computing disebut juga komputasi awan. Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.
            Dengan menggunakan sistem cloud ini, memudahkan pengguna (awam) untuk melakukan komputasi dan menjalankan aplikasi dan data tanpa harus memiliki keahlian khusus. Dan pengguna tidak perlu mengetahui apa yang terjadi pada proseskomputasi, karena semua sudah ditangani server yang dalam hal ini menggunakan vasilitas melalui internet. Sehingga dengan menggunakan sistem cloud ini akan menghemat biaya dan lebih efisien dalam penanganan data, karena data sudah terpusat di cloud (internet).
Manfaat cloud computing
        Selain itu dengan menggunakan sistem cloud kita juga memperoleh manfaat dalam kaitannya dengan kehidupan kita setiap harinya, diantaranya 
1.  Penyimpanan data yang terpusat
            Dengan menggunakan siste cloud, maka semua data-data tersimpan kedalam satu server cloud yang disediakan oleh penyedia layanan cloud computing. Sehingga kita tidak perlu lagi menyediakan infrastruktur data center maupun media penyimpanan seperti storage konvensional selama ini. Karena sistem cloud menyediakan penyimpanan itu secara virtual.


2. Terjaminya keamana data
             Pada sistem cloud computing, data tersimpan pada server penyedia layanan cloud computing, yang menjamin keamanan data pengguna layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi.


3. Fleksibilitas dan Skalabilitas yang Tinggi
        Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet.

4. Investasi jangka panjang
               Dengan menggunakan cloud computing maka, kita tidak direpotkan lagi masalah pengadaan storage dan infrastruktur seperti pembelian media storage. Kita hanya mengeluarkan biaya perbulan sesuai kesepakatan dengan pihak penyedia layanan cloud computing.

                Layanan cloud computing memiliki perbedaan, sesuai dengan tingkat kebutuhannya, hal ini disesuaikan dengan jangkauan layanan, dalam hal ini cloud computing dibagi menjadi :
  1. Public Cloud Sesederhana namanya, jenis cloud ini diperuntukkan untuk umum oleh penyedia layanannya.
  2. Private Cloud Di mana sebuah infrastruktur layanan cloud, dioperasikan hanya untuk sebuah organisasi tertentu.
  3. Hybrid Cloud Untuk jenis ini, infrastruktur cloud yang tersedia merupakan komposisi dari dua atau lebih infrastruktur cloud (private, community, atau public). Di mana meskipun secara entitas mereka tetap berdiri sendiri-sendiri, tapi dihubungkan oleh suatu teknologi/mekanisme yang memungkinkan portabilitas data dan aplikasi antar cloud itu.

Kelebihan Cloud Computing:
  1. Hemat biaya dan ruang infrastruktur pembelian sumber daya komputer.
  2. Bisa mengakses file dimana saja dan kapan saja.
  3. Bisa menghemat waktu pada perusahaan sehingga bisa langsung fokus pada perkembangan infrastruktur.
  4. Dapat dengan mudah di monitoring dari satu server.
  5. Operasional dan manajemen lebih mudah dan sederhana.
  6. Menghemat biaya operasional pada sistem informasi yang dibangun.
  7. Kolaborasi yang terpercaya

Kekurangan Cloud Computing:
  1. Sangat tergantung pada koneksi internet, jika koneksi putus maka komputer tidak bisa digunakan lagi untuk mengakses aplikasi dan data yang terdapat pada server cloud.
  2. Jika terlalu banyak yang mengakses server cloud, menyebabkan komputer akan menjadi lambat disebabkan banyaknya komputer yang mengakses server cloud.
  3. Dengan adanya aplikasi dan data yang terpusat, maka diperlukan adanya backup data yang handal untuk menjaga jika server cloud mengalami kerusakan

Grid computing

             Grid Computing adalah sekumpulan komputer (bisa juga sekumpulan komputer cluster) yang terhubung satu dengan lainnya melalui internet atau jaringan yang lebih luas. Umumnya berada pada beberapa jaringan sendiri, dan tiap komputer (cluster) memiliki metode pengamanan sendiri (certificate). Atau bisa disebet juga sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara vitual.
         Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel.
Konsep dasar dari grid computing :
  1. Sumber daya dikelola dan dikendalikan secara lokal.
  2. Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
  3. Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah.
  4. Lingkungan kolaboratif bagi e-community (komunitas elektronik di internet)
  5. Tiga hal yang di sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses.

Elemen-elemen yang terdapat pada grid computing tidak berbeda dengan elemen padad jaringan local umum, yaitu :
  1. Hardware (perangkat keras)
  2. Software (perangkat lunak /sistem operasi/aplikasi)
  3. Brainware (pengguna).

Kelebihan Grid Computing
  1. Menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi.
  2. Menghemat biaya dari segi investasi modal dan operasionalnya

Kekurangan Grid Computing
  1. Institusi yang masih enggan merelakan fasilitas yang dimiliki untuk digunakan bersama-sama.
  2. Kurangnya tenaga ahli dalam mengelola grid computing.

Jadi dapat disimpulkan bahwa perbedaan cloud computing dan grid computing



  1. Cloud computing menitik beratkan terpusatnya software dan data pada satu tempat yaitu server cloud yang disediakan oleh penyedia layanan cloud computing.
  2. Grid computing lebih mengutamakan penggunaan fasilitas (komputer) untuk dapat digunakan secara bersama-sama, meskipun komputer itu berlainan letak geografisnya

Konseptual DB

Conceptual DB


Didalam mempelajari database, kita akan menemukan berbagai istilah-istilah seperti conseptual database, physical model, grid computing dan juga cloud computing. Karena itu kita harus mengetahui dan memahami hal-hal tersebut dan kita juga harus mengetahui kegunaan dan perbedaan dari istilah-istilah itu. Dengan memahami istilah-istilah itu, kita dapat menerapkan pengguanaan basis data secara tepat.
Konseptual database yaitu bentuk logik yang menggambarkan struktur data secara detail. Biasanya terdiri dari obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu. Biasanya conseptual database direpresentasikan dalam bentuk Entity Relationship Diagram. Manfaat conseptual database 
  • Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan.
  • Alat komunikasi antar pemakai basis data, designer, dan analis

Konseptual database merupakan tahapan dimana kita melakukan proses (tahapan) identifikasi dan menganalisa kebutuhan-kebutuhan data yang diperlukan yang dilakukan dengan cara menumpulkan dan menganalisa data. Kita juga harus menentukan kebutuhan yang diperlukan oleh suatu sistem database, kita harus mengetahui dan mengenal bagian-bagian yang akan berinteraksi dengan dabase yang ada. Karena pada dasarnya tipe data bersifat general dan tidak spesifik.

Perancangan database secara konseptual
Tujuan dari fase ini adalah menghasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data model seperti ER/EER model selama fase ini. Dalam conceptual schema, kita harus memerinci aplikasi-aplikasi database yang diketahui dan transaksi-transaksi yang mungkin.
Fase perancangan database secara konseptual mempunyai 2 aktifitas paralel :
  1. Perancangan skema konseptual : menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari fase 1, dan menghasilkan sebuah conceptual database schema pada DBMS independent model data tingkat tinggi seperti EER (enhanced entity relationship). Model skema ini dapat dihasilkan dengan menggabungkan bermacam-macam kebutuhan user dan secara langsung membuat skema database atau dengan merancang skema-skema yang terpisah dari kebutuhan tiap-tiap user dan kemudian menggabungkan skema-skema tsb. Model data yang digunakan pada perancangan skema konseptual adalah DBMS-independent, dan langkah selanjutnya adalah memilih sebuah DBMS untuk melaksanakan rancangan tsb.
  2. Perancangan transaksi : menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini. Kegunaan fase ini yang diproses secara paralel bersama fase perancangan skema konseptual adalah untuk merancang karakteristik dari transaksitransaksi database yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi database suatu saat dimana database tsb dilaksanakan.

Dalam konseptual DB terdapat symbol-simbol yang digunakan untuk menghubungkan (mewakili) proses-proses yang terdapat dalam sistem. Simbol-simbol itu antara lain seperti dalam tabel :

Penggambaran Model Relasional
  • Model relational digambarkan dengan Entity relationships Diagram (ER-Diagram) atau Conceptual Data Model (CDM)
  • ER-Diagram atau Conceptual Schema / conceptual data model (CDM) digenerated menjadi Physical Schema / Physical Data Model (PDM).


Model data entity relationship (ER) merupakan salah satu pendekatan yang pouiler. Dalam model ER istilah entitas lebih banyak digunakan dari pada istilah segmen, dan istilah atribut digunakan untuk menjelaskan field individual atau item data tertentu menunjukan sebuah diagram ER


Standard Internasional ISO 27001 dan Manfaat Keamanan Informasi Informasi sebagai Aset Penting Informasi adalah salah satu aset pen...