Sabtu, 24 Februari 2018

SQL dan NOSQL (Pengertian dan Pembahasan)

Februari 24, 2018 // by M Faqih Dulqarnain // No comments

Assalamu’alaikum Wr.Wb...

Selamat datang kembali pada blog saya, para pembaca sekalian. Pada postingan kali ini, saya akan memberikan informasi lain, namun masih berkaitan sekali dengan postingan sebelumnya tentang Basis Data. Jika pada postingan sebelumnya saya membahas seputar pengertian dan pembahasan tentang apa itu basis data, kali ini saya akan lebih spesifik (bisa dikatakan) jenis dari bahasa basis data.

SQL dan NoSQL

Di dunia programmer, untuk basis data kita akan lebih sering menggunakan model SQL atau yang merupakan singkatan dari (Structure Query Language). SQL sendiri adalah sekumpulan perintah khusus yang digunakan untuk mengakses data dalam database yang relational. SQL merupakan bahasa komputer yang mengikuti standar (American National Standart Institute) atau ANSI untuk memanajemen database realtional. Dengan SQL kita dapat melakukan akses, melihat data, mengambil data, menambah, mengubah dan menghapus data dari database yang sudah dibuat.
Terdapat 3 (tiga) jenis perintah SQL, yaitu DDL, DML dan DCL.
  • DDL atau Data Definition Language. DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Perintah SQL yang termasuk dalam DDL antara lain : CREATE, ALTER, RENAME, DROP.
  • DML atau Data Manipulation Language. DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain : SELECT, INSERT, UPDATE, DELETE.
  • DCL atau Data Control Language. DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user, baik terhadap server, database, table maupun field. Perintah SQL yang termasuk dalam DCL antara lain : GRANT, REVOKE.       

SQL adalah bahasa dalam basis data yang hampir selalu kita gunakan. Namun, ada lawan dari SQL yang agak jarang kita kenal dalam merancang basis data. Bahkan mungkin bisa saya katakan referensi tentang lawan dari SQL ini, masih belum banyak beredar. Lawan tersebut adalah NoSQL (Not Only SQL).

NOSQL menurut Wikipedia adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NOSQL mungkin tidak membutuhkan skema tabel dan umumnya menghindari operasi join dan berkembang secara horizontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang di dalamnya mencakup sistem menejemen database relasional. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horizontal (horizontal scale).

NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. Salah satu bentuknya adalah ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses duplikasi data. Dimana data saling memanggil ke beberapa permintaan, tambahan data baru, perubahan data, dan lain-lain dengan key yang sama. Karena faktor hubungan antar data yang sama terjadi terus-menerus, mendorong faktor redudansi data, data menjadi berlipat-lipat, dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS (Relational Database Manajement System).

Harus ada cara lain untuk menanggulangi masalah ini,  dan NoSQL lah solusinya. NoSQL menyederhanakan proses yang terjadi dalam sistem basis data relasional. Dimana hal-hal yang menyebabkan redudansi, dihilangkan sehingga trafik server akan seimbang. Penyederhanaan proses ini memungkinkan data direplikasi di banyak server secara mudah dan menjamin ketersediaan data.


Contoh nyata dari pengguna NoSQL adalah situs jejaring sosial facebook.com. Facebook menggunakan database NoSQL untuk menanggulangi kedinamisan data yang terus berkembang semakin besar. Tidak akan bisa server SQL biasa menangani data seluruh facebook secara relational, NoSQL yang digunakan facebook dapat mengakomodir dinamisnya data yang berkembang menjadi tetap mudah di akses dan ringan dijalankan walau digunakan oleh sekian banyak orang.

Konsep Penyimpanan NoSQL

Sebagian besar sistem NOSQL pada masa awal tidak berusaha untuk memberikan atomicity, konsistensi, isolasi dan daya tahan jaminan, bertentangan dengan praktik yang berlaku di antara sistem database relasional. Namun di kemudian hari, beberapa database NOSQL dengan pembaruan terkini sudah mampu mengintegrasikan database yang non-relasional ke dalam bentuk database relasional sehingga dapat mempermudah pengguna yang masih belum akrab dengan bahasa standar yang diterapkan NOSQL.

Dilihat dari cara penyimpanan data saja basis data NOSQL tersebar dari cara penyimpanan :
  • Key-value based (disimpan dalam bentuk kunci-isi berpasangan)
  • Document based (disimpan dalam bentuk dokumen-dokumen)
  • Column based (disimpan dalam bentuk kolom-kolom)
  • Graph based (disimpan dalam bentuk grafik atau diagram)

Perbedaan SQL dan NoSQL

Berikut adalah gambaran perbedaan lingkup kerja antara NoSQL dan SQL dalam dunia database.

Dari gambar yang telah diperlihatkan sebelumnya, secara garis besar perbedaan antara SQL dengan NoSQL adalah sebagai berikut:


SQL (Structure Query Language)
NoSQL (Not Only SQL)
·     Wajib relational dalam menyusun data
·     Setiap tabel harus didefinisikan
·    Standar pada suatu tabel jelas dan terstruktur
·   Sifat SQL adalah database yang cenderung vertikal (atas ke bawah)
·  Untuk memperbesar skala, harus menambah daya CPU, SSD, RAM dan perangkat keras lainnya pada 1 server
·        Tidak memerlukan kriteria relational dalam menyusun data
·   Tidak perlu mendefinisikan tabel, bahkan untuk beberapa NoSQL, tidak memerlukan tabel yang jelas (model graph dan Key-value)
·      Tidak ada standar yang harus diikuti untuk menyusun data pada tabel bahkan data yang tersusun bisa secara dinamis berkembang tanpa perlu penyusunan standar tabel
·   Sifat NoSQL adalah database horizontal yang semakin melebar ke samping utnuk mengikuti perkembangan data pada jenis yang sama namun terdapat penambahan pada data lain yang tidak dapat dibedakan dengan data sebelumnya
·  Untuk memperbesar skala, hanya perlu penambahan server DB yang di cluster untuk load balancing


Contoh Jenis-jenis Aplikasi Database NoSQL

Secara singkat, berikut ini juga akan saya sampaikan beberapa database NoSQL yang populer digunakan di dunia.

  • MongoDB
MongoDB merupakan basis data yang paling populer diantara basis data NoSQL lainnya untuk saat ini. Hal ini dikarenakan pemasangan maupun penggunaan mongoDB tidaklah sulit atau merepotkan penggunanya. Selain itu mongoDB juga merupakan salah satu basis data yang open source sehingga pengembangan mongoDB sendiri cukup pesat karena setiap orang bisa berpartisipasi untuk mengembangkannya.

MongoDB merupakan basis data NoSQL yang document based. Ia menyimpan data-datanya dalam suatu dokumen JSON yang disebut BSON (Binary JSON).

Dikembangkan sejak tahun 2009, mongoDB sekarang telah mendukung hampir semua bahasa pemrograman untuk dapat berinteraksi dengan mongoDB. Tak hanya bahasa pemrograman, beragam framework terkenal pun sudah dapat menggunakan mongoDB untuk menyimpan datanya sehingga kita tidak akan kesulitan untuk mengintegrasikan aplikasi yang kita buat dengan basis data ini.

  • CouchDB
Apache CouchDB, biasa disebut dengan CouchDB saja, merupakan basis data NoSQL yang dikembangkan oleh Apache. CouchDB lebih dulu muncul jauh sebelum mongoDB yaitu pada tahun 2005. CouchDB tidak menyimpan datanya dalam tabel melainkan dalam dokumen seperti halnya mongoDB.

Basis data ini juga merupakan proyek open source serta dikembangkan dalam bahasa pemrograman Erlang oleh karena itu kita bisa ikut berkontribusi dalam pengembangan CouchDB agar basis data ini lebih baik.

  • Cassandra
Cassandra merupakan sebuah sistem penyimpanan data terdistribusi untuk menangani jumlah data yang sangat besar dan terstruktur. Cassandra juga dikembangkan Apache, pengembang yang sama untuk basis data CouchDB. Kemampuan Cassandra dalam menyimpan data dengan jumlah yang sangat besar tidak diragukan lagi, puluhan perusahaan besar telah mempercayakan Cassandra sebagai salah satu penunjang kerja mereka diantaranya: Facebook, Digg, IBM, Reddit, Rackspace, Apple, Twitter dan beberapa lainnya.
Cassandra juga merupakan aplikasi open source yang ditulis dalam bahasa Java dengan lisensi Apache License 2.0.

Untuk memproses datanya, Cassandra menggunakan bahasa sendiri yang mirip dengan SQL yaitu Cassandra Query Language (CQL).

  • Redis
Redis adalah basis data open source dan merupakan basis data berbasis key-value paling populer menurut situs DB-Engines.com. Redis merupakan singkatan dari REmote DIctionary Server. Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory, networked, dan durabilitas tinggi.

Redis mendukung banyak bahasa pemrograman seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.

  • Riak
Riak merupakan basis data NoSQL terdistribusi yang menyimpan datanya dalam bentu key-value. Riak menawarkan fitur high availability, fault tolerance, operational simplicaity, dan scalability. Riak memiliki dua versi yakni Open source edition dan Enterprise edition. Enterprise edition menawarkan dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan.

Rilis pertama Riak muncul pada tanggal 17 Agustus 2009. Basho Technologies merupakan perusahaan yang mengembangkan Riak.

  • Neo4j
Neo4j merupakan basis data NoSQL dengan sistem graf. Apabila berurusan dengan basis data berbasis graf, maka Neo4j lah yang paling dikenal. Neo4j menyimpan relasi antar objek dalam struktur seperti graf, dimana setiap objek merujuk ke objek lainnya secara langsung.

Dalam menambahkan maupun mengambil data, Neo4j memiliki bahasa sendiri yang disebut Cypher.

Neo4j ditulis dalam bahasa Java dengan lisensi GPL V3 oleh Neo Technologies artinya Neo4j termasuk basis data yang open source.

  • OrientDB
OrientDB merupakan basis data graf terdistribusi generasi kedua. Basis data ini dibuat dalam bahasa Java oleh Orient Technologies LTD dan dirilis pertama kali tahun 2010. OrientDB diklaim sangat cepat dan mampu menyimpan 220.000 record per detik diperangkat standar.

OrientDB menawarkan dua edisi yakni Community Edition yang tersedia secara gratis dan Enterprise Edition yang merupakan aplikasi komersial dikembangkan oleh tim yang sama yang mengembangkan engine OrientDB.

Jika anda pernah menggunakan mongoDB maupun Neo4j, anda bisa melihat perbedaan diantara OrientDB vs mongoDB dan OrientDB vs Neo4j disitus resminya.

OrientDB dapat digunakan bersama JavaScript, .NET, node.js, php, Scala, Ruby, Python, C, Clojure, Java, dan Perl.

Penutup

Masih banyak contoh lainnya database NoSQL yang populer digunakan, namun saya rasa yang telah saya jabarkan adalah database NoSQL yang lebih populer dari yang lainnya. Sumber-sumber untuk referensi database NoSQl ini, memang tidak sebanyak database SQL, namun jika menurut pendapat saya, untuk mempelajarinya tidaklah sulit.

Gunakanlah ketelitian dan kecermatan anda dalam memilih akan menggunakan database apa untuk project anda. Semua project memang bisa menggunakan database SQL. Namun, tidak semua project juga dapat dikerjakan secara SQL utuh. NoSQL adalah alternatif pilihan ketika data yang dibangun, adalah data besar dengan tingkat kompleksitas rumit dan mudah berkembang kapan saja.

Demikian postingan kali ini. Semoga memberikan manfaat yang cukup bagi pembaca sekalian. Pada postingan berikutnya nanti saya masih akan berencana untuk menjelaskan 1 contoh aplikasi database NoSQL yang menurut pemahaman saya, cukup mudah digunakan secara lebih detail... Yaaa hitung-hitung menambah referensi penggunaan salah satu contoh database NoSQL...
Jadi silahkan ikuti terus blog ini.
Semoga ilmu yang diberikan, bermanfaat. Kurang lebihnya mohon dimaafkan...
Dan Terima kasih sudah membaca di blog ini.
Wassalamu’alaikum Wr.Wb...

Segala sumber yang didapat pada postingan kali ini adalah sebagai berikut:




Selasa, 20 Februari 2018

Basis Data (Database) Pengertian dan Pembahasan

Februari 20, 2018 // by M Faqih Dulqarnain // No comments

Assalamu’alaikum pembaca sekalian.
Kali ini saya akan memberikan informasi yang Insya Allah bermanfaat bagi pembaca sekalian yang membutuhkan. Sebelumnya mohon maaf, karena tema postingan di blog ini akan sangat random. Setidaknya akan selalu konsisten seperti yang tertera pada halaman “About” yaitu membahas seputar kehidupan, dunia IT, dan travelling yang saya lakukan.


Kali ini saya akan membahas tentang Database. Nantinya postingan ini akan bersambung karena ada yang ingin saya sampaikan kepada pembaca sekalian. Kritik dan saran sangat dibutuhkan bila saat penyampaian, ada kesalahan. Selamat membaca...


Database (Basis Data)

Dimulai dengan kalimat pengantar yang membahana.
Teknologi yang semakin maju pada zaman sekarang ini, semakin memudahkan setiap manusia dalam menjalani segala aktifitas. Mulai dari perseorangan, sampai suatu organisasi menikmati segala tingkat kemajuan teknologi sekarang ini. Kemajuan teknologi ini diiringi dengan semakin banyaknya informasi yang tersampaikan atau dibuat seseorang untuk orang lain. Berkembangannya informasi ini bermula dari data-data mentah yang siap diolah untuk suatu tujuan tertentu. Karena hal tersebut, sering bahkan selalu saja data yang diperoleh haruslah terorganisir sedemikian rupa untuk menjadi informasi yang utuh. Naah... dari sinilah akan dibahas yang namanya Database atau Pangkalan data yang menjadi cabang ilmu pengetahuan yang membahas tentang organisasi sekumpulan data.

Data

Dimulai secara singkat membahas tentang data. Menurut beberapa ahli yang saya baca :
  • Data adalah sekumpulan baris fakta yang mewakili peristiwa yang terjadi pada organisasi atau pada lingkungan fisik sebelum diolah ke dalam format yang bisa dimengerti dan digunakan manusia. (Raymon McLeod, Jr )
  • Data yaitu kumpulan fakta-fakta kasar yang menunjukan kejadian yang terjadi dalam organisasi atau lingkungan fisik sebelum fakta tersebut diolah dan ditata mejadi bentuk yang dapat dipahami. (Kenneth C. Laudon. Jane P. Louden)

Basis Data dan Konsepnya


Masuk ke bagian utama pembahasan kali ini yaitu, pengertian database adalah kumpulan data-data yang tersimpan, tersusun, dan saling terhubung satu sama lain pada suatu komputer serta digunakan perangkat lunak untuk mengakses maupun mengelolanya sehingga dapat dihasilkan informasi yang berguna. Atau secara singkatnya definisi database yaitu kumpulan data yang tersimpan pada suatu komputer dan saling terhubung antara satu sama lain sehingga dapat digunakan untuk tujuan tertentu.

Saya sampaikan juga, pengertian database menurut beberapa ahli yang saya baca sebagai berikut:
  • Sekumpulan data organisasi untuk melayani banyak aplikasi secara efisien dengan memusatkan data dan mengendalikan redundansi data. (Kenneth C. Laudon. Jane P. Louden, 2010).
  • Menurut S. Attre, Database yaitu sebuah koleksi data-data yang saling berinteraksi yang ada dalam suatu organisasi atau enterprise dengan macam-macam penggunaan.
  • Menurut Chou, Database merupakan kumpulan informasi yang bermanfaat yang diorganisasikan dalam tatacara yang khusus sehingga dapat digunakan untuk berbagai kebutuhan suatu organisasi.
  • Kumpulan file-file yang saling berelasi, relasi tersebut ditunjukkan dengan kunci dari tiap file yang ada untuk digunakan dalam satu lingkup perusahaan, instansi (Kristanto, 1994).
Dalam wikipedia menyebutkan, Pangkalan data atau basis data (bahasa Inggris: database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan objek yang diwakili suatu basis data, dan hubungan di antara objek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan di mana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.

Jadi secara konsep basis data atau database adalah kumpulan dari data-data yang membentuk suatu berkas (file) yang saling berhubungan (relation) dengan tatacara yang tertentu untuk membentuk data baru atau informasi. Atau basis data (database) merupakan kumpulan dari data yang saling berhubungan (relasi) antara satu dengan yang lainnya yang diorganisasikan berdasarkan skema atau struktur tertentu. Pada komputer, basis data disimpan dalam perangkat hardware penyimpan, dan dengan software tertentu dimanipulasi untuk kepentingan atau keguanaan tertentu. Hubungan atau relasi data biasanya ditunjukkan dengan kunci (key) dari tiap file yang ada. Data merupakan fakta atau nilai (value) yang tercatat atau merepresentasikan deskripsi dari suatu objek. Data yang merupakan fakta yang tercatat dan selanjutnya dilakukan pengolahan (proses) menjadi bentuk yang berguna atau bermanfaat bagi pemakainya akan membentuk apa yang disebut informasi. Bentuk informasi yang kompleks dan terintegrasi dan pengolahan sebuah database dengan komputer akan digunakan untuk proses pengambilan keputusan pada manajemen akan membenuk Sistem Informasi Manajemen (SIM), data basis data merupakan item terkecil dan terpenting untuk membangun basis data yang baik dan valid.

Sifat dan Tujuan Basis Data

Sifat dan tujuan dari database
Data dalam basis data bersifat integrated dan shared:
  • Terpadu (integrated), berkas-berkas data yang ada pada basis data saling terkait (terjadi dependensi data);
  • Berbagi data (shared), data yang sama dapat dipakai oleh sejumlah pengguna dalam waktu yang bersamaan. Sering dinamakan sebagi sistem multiuser

Data merupakan suatu sumber yang sangat berguna bagi hampir disemua organisasi. Dengan tersedianya data yang melimpah, maka masalah pengaturan data secara efektif menjadi suatu hal yang sangat penting dalam pengembangan sistem informasi manajemen. Oleh karena itu, tujuan dari diadakannya pengaturan data adalah sebagai berikut:
  • Menyediakan penyimpanan data untuk dapat digunakan oleh organisasi saat sekarang dan masa akan datang.
  • Sebagai cara pemasukan data sehingga sehingga memudahkan tugas operator dan menyangkut pula waktu yang diperlukan oleh pemakai untuk mendapatkan data serta hak-hak yang dimiliki terhadap data yang ditangani
  • Pengendalian data untuk setiap siklus agar data selalu up to date dan dapat mencerminkan perubahan spesifik yang terjadi di setiap sistem.
  • Pengamanan data terhadap kemungkinan penambahan, modifikasi, pencurian, dan gangguan-gangguaan lain.

Struktur Basis Data


Suatu basis data memiliki jenjang struktur sebagai berikut.
  • Karakter, merupakan bagian data terkecil yang berupa angka, huruf, atau karakter khusus yang membentuk sebuah item data atau field. Contoh A,B,X,Y,2,1,2,9,0,=,<,> dan sebagainya.
  • Field/item, merupakan representasi suatu atribut dan record (rekaman/tupel) yang sejenis yang menunjukkan suatu item dari data. Contoh field nama (berisi data nama-nama pegawai), field departemen (berisi data bagian atau spesifikasi pekerjaan), dan lain sebagainya.
    Syarat-syarat pembentukan Field Name pada tabel:
    ü  Harus Unik atau Spesifik
    ü  Boleh disingkat
    ü  Pemisah sebagai pengganti spasi dalam pembentuk field adalah tanda lambang "_" Contoh: Kode Barang menjadi KdBarang, KodeBrg, Kd_Brg, Kd_Barang.
    Dalam sistem manajemen basisdata, terdapat tiga macam field:
    §  Harus diisi (required)
    §  Dapat diabaikan (optional)
    §  Penghitungan dari field lainnya (calculated). Pengguna tidak dapat memasukan data pada jenis field yang terakhir (calculated).
  • Record/rekaman/tupel: Kumpulan dari field membentuk suatu record atau rekaman. Record menggambarkan suatu unit data individu yang tertentu. Contoh: file pegawai, dimana tiap-tiap recordnya berisi kumpulan data nama, alamat, departemen, yang dapat mewakili tiap-tiap data.
  • File, merupakan kumpulan dari record-record yang menggambarkan satu kesatuan data yang sejenis. Contoh file pegawai berisi data tentang semua yang berhubungan dengan pegawai seperti nama pegawai, alamat pegawai, departemen, yang dapat mewakili tiap-tiap data.
  • Database, merupakan kumpulan dari file atau tabel yang membentuk suatu database. Contoh database pegawai PT Maju Terus terdiri atas file pegawai, file gaji, file golongan, dan sebagainya.

Fitur-fitur Basis Data

  • Pengaturan Basis Data Relasional : Table, Record, Field. Format basis data yang sangat sering digunakan, terutama untuk PC (Personal Computer) adalah basis data relasional, dimana data diorganisasikan dalam bentuk table-tabel yang terhubung satu sama lain. Setiap tabel berisi baris dan kolom; baris data dinamakan record, dan kolom dinamakan field.
  • Penghubung Record (key). Pada basis data relasional, key disebut juga key field, sort key, index, atau keyword adalah field yang digunakan untuk mengurutkan data. Key biasanya berupa pengidentifikasi unik, seperti NIP (nomor induk pegawai) atau NIM (nomor induk mahasiswa). Sebagian besar sistem manajemen basis data membolehkan kita memakai lebih dari 1 key sehingga kita bisa mengurutkan record dalam banyak cara. Key pertama bernama primary key, yang harus memiliki nilai unik untuk setiap record. Sedangkan field lain yang mengidentifikasikan record di tabel lain dinamakan foreign key. Key yang disebut terakhir inilah yang digunakan untuk menghubungkan data (cross-reference) di antara tabel-tabel relasional.
  • Query. Daya tarik perangkat lunak basis data terletak pada kemampuannya untuk mencari record secara cepat. Sebagai contoh, sebagian kantor administrasi kampus membutuhkan data anda untuk beragam keperluan: registrasi, financial, asrama, dan lain-lain. Salah satu kantor dapat melakukan query pada record-yaitu mencari dan menampilkan record dengan menampilkannya di layar komputer, baik sekedar dilihat maupun diperbarui. Jika anda pindah, maka field alamat anda perlu diperbarui. Seseorang yang mencari data anda bisa membuat query, “Tampilkan alamat dari [nama Anda]”. Setelah record tersebut ditampilkan, field alamat dapat diubah. Oleh karena itu, kantor-kantor lain yang menggunakan dokumen anda pun bisa melihat alamat baru anda.
  • Formula. Dengan memakai perangkat lunak basis data, anda bisa secara mudah mencari dan mengubah urutan record pada tabel, dengan kata lain dapat diurutkan dalam beberapa cara. Macam pengurutan adalah secara alfabetis, numerik, geografis, atau pengurutan lain. Contohnya, data dapat diurut berdasarkan propinsi, umur atau KTP. Bahkan perangkat lunak basis data juga berisi formula matematis bawaan untuk keperluan analisis data. Fitur ini, misalnya, dapat digunakan untuk mencari nilai rata-rata IP (indeks prestasi) mahasiswa pada jurusan atau kelas yang berbeda.
  • Hasil Pencarian. Setelah melakukan query, mengurutkan dan menganalisis record dan field, selanjutnya anda bisa langsung menyimpannya di hardisk maupun CD (compact disk). Anda bisa memformat dalam banyak cara, mengubah heading dan gaya tulisan. Anda juga bisa mencetaknya dikertas sebagai bentuk laporan, misalnya daftar pegawai berikut alamat dan nomor telepon terbaru. Hal yang umum dilakukan adalah mencetak hasilnya (nama dan alamat) sebagai label amplop. Anda pun bisa menggunakan perintah Copy untuk menyalin hasil pencarian ke lembaran program pengolah kata. Anda bisa pula menyalinnya ke pesan e-mail atau menempatkannya sebagai lampiran di e-mail untuk dikirim ke orang lain.

Manfaat dari Basis Data


Adapun keuntungan atau manfaat dari penggunaan database diantaranya seperti:
  • Meminimalkan Redudansi. Redudansi merupakan penyimpanan data yang sama dalam berkas yang berbeda-beda jadi jika data di update akan terjadi secara berulang-ulang. Maka dengan database, redudansi data dapat di minimalkan bahkan bisa dihindari.
  • Integritas Data. Data yang sama akan saling berelasi, jika ada perubahan pada suatu data maka data yang sama pada file yang sama akan mengalami perubahan. Integritas data sangat penting pada database karena dapat memastikan keakuratan, konsitensi, aksesbilitas dan juga kualitas yang tinggi pada suatu data.
  • Independensi Data. Pada database data-data yang ada tidak bergantung pada softwere yang mengaksesnya, sebab struktur data pada database dirancang bedasarkan kebutuhan akan informasi jadi bukan berdasarkan softwere. Independensi juga dimana seseorang tidak bisa melakukan perubahan data jika data tersebut sedang diakses oleh orang lain.
  • Data Shared. Dengan sistem database maka kita dapat berbagi data atau informasi dengan pengguna lain, sehingga data tersebut dapat digunakan secara bersama-sama.
  • Keamanan Data. Dengan sistem database kita dapat meningkatkan keamanan terhadap suatu data atau informasi sehingga tidak mudah untuk diakses orang lain, misalnya dengan memberikan password atau hak akses pada data tersebut.
  • Kemudahan Akses. Database dapat mempermudah user dalam mendapatkan data yang diperlukannya, dengan berbagi data yang ada dan tentunya dengan hak akses yang telah diberikan untuk mengakses database tersebut.

Lingkungan Basis Data


Di wikipedia membahas tentang lingkungan basis data yang berisi, Lingkungan basis data adalah sebuah habitat di mana terdapat basis data untuk bisnis. Dalam lingkungan basis data, pengguna memiliki alat untuk mengakses data. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti menggali data (data mining), memodifikasi data, atau berusaha membuat data baru. Masih dalam lingkungan basis data, pengguna tertentu tidak diperbolehkan mengakses data, baik secara fisik maupun logis. (Koh, 2005, dalam Janner Simarmata & Imam Paryudi 2006: 33).

Bahasa Pada Basis Data

Terdapat dua jenis bahasa komputer yang digunakan saat kita ingin membangun dan memanipulasi sebuah basis data, yaitu:
  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)

Tipe-tipe Basis Data


Penjelasan tipe-tipe basis data ini saya dapatkan dari kunjungan saya ke web pelajaran.co.id. pada web tersebut menjelaskan untuk menyimpan ataupun mengambil data dari database kita memebutuhkan perangkat lunak yang sering disebut dengan DBMS (database management system atau sistem managemen basis data). Terdapat sekitar 12 tipe database, diantaranya:
  • Operational Database. Database ini menyimpan data rinci yang diperlukan untuk mendukung operasi dari seluruh organisasi. Mereka juga disebut subject-area databases (SADB), transaksi database, dan produksi database. Contoh: database pelanggan, database pribadi, database inventaris, akuntansi database.
  • Relational Database. Dari tahun 2009,  relational database merupakan standar komputasi bisnis dan merupakan database yang paling umum digunakan pada saat ini. Manfaat database ini yaitu untuk menghindari adanya data rangkap atau double, dapat tersusun dengan suatu format yang standar dari sebuah data, bisa mengamankan data, bisa menentukan kualitas dari sebuah informasi, juga bisa mengatasi masalah data yang sulit diakses.
  • Analytical Database. Analytical database merupakan database yang digunakan untuk menyimpan informasi dan data yang diambil dari operasional dan eksternal database. Database ini terdiri dari data dan informasi yang diringkas dan paling banyak digunakan oleh suatu organisasi manajemen maupun End-user lainnya.
  • External Database. External database yaitu tipe database yang menyediakan akses ke eksternal, data milik pribadi online tersedia untuk biaya pada pengguna akhir ataupun organisasi dari layanan komersial. Operational database adalah database yang menyimpan data secara rinci yang dibutuhkan untuk mendukung operasi dari seluruh organisasi. Biasa juga disebut dengan SADB (subject-area databases), transaksi, dan produksi database. Contohnya: database inventaris, database pribadi, database pelanggan, dan akuntansi database.
  • Distribute Database. Distributed database yaitu kelompok kerja lokal database dan departemen di kantor-kantor dan lokasi kerja yang lainnya. Dalam database ini terdapat dua segmen yaitu user database dan operasional yang datanya digunakan dan dihasilkan hanya pada pengguna situs tersebut.
  • Data Warehouse. Data warehouse merupakan sebuah data warehouse yang menyimpan data dari tahun-tahun sebelumnya hingga saat ini. Data warehouse merupakan sumber utama data yang telah terintegrasi sehingga dapat digunakan dan dimanfaatkan oleh para pengguna seluruh organisasi yang profesional. Perkembangan yang terjadi akhir ini dari data warehouse yaitu digunakan sebagai Shared nothing architecture untuk mendukung dan memfasilitasi ekstrem scalling.
  • End-user Database. End-user database yaitu database yang terdiri dari file-file data yang dikembangkan dari end-user dalam workstation. Contohnya berbagai koleksi dokumen dalam word processing, spreadsheet maupun download file.
  • Real Time Database. Real time database yaitu sebuah sistem pengolahan yang dirancang dalam menangani beban kerja suatu negara yang bisa berubah-ubah, mengandung data terus menerus dan sebagian tidak berpengaruh pada waktu. Database ini bermanfaat bagi orang-orang hukum, akuntansi, perbankan, multi media dan analisis data yang ilmiah.
  • Document Oriented Database. Document oriented database merupakan salah satu program komputer yang dirangkai untuk sebuah aplikasi yang berorientasi pada dokumen. Sistem ini dapat diterapkan sebagai lapisan diatas database relasional ataupun objek database.
  • In Memory Database. Yaitu database yang bergantung pada memori untuk penyimpanan data dalam sebuah komputer.
  • Navigational Database. Dalam navigasional database ini, queries menjumpai benda bagi yang mengikuti referensi dari objek tertentu.
  • Hypermedia Database on The Web. Hypermedia database on the web adalah sekumpulan halaman multimedia yang saling berkaitan dalam sebuah situs web, yang terdiri dari home page, dan hyperlink dari multimedia seperti gambar, teks, grafik audio dan lain sebagainya.

Contoh Beberapa Aplikasi Database


Di postingan ini, saya juga akan menjabarkan sekilas beberapa contoh aplikasi database yang populer dikalangan masyarakat.
  • MySQL. Setiap pengguna dapat menggunakan MySQL secara bebas, karena software database ini gratis. Pada umumnya MySQL dapat digunakan untuk mengelola database yang cukup banyak dan bisa digunakan untuk aplikasi berbasis web. MySQL menggunakan bahasa SQL (Structured Query Language) untuk mengakses data yang ada dalam database.
  • Oracle. Oracel merupakan salah satu aplikasi database yang terkenal, dikembangkan oleh Oracle Corporaton. Aplikasi atau sofware database ini umumnya digunakan oleh perusahaan-perusahaan besar karena aplikasi database ini berbayar. Oracle menggunakan bahasa SQL (Structured Query Language) untuk mengakses data yang ada dalam database.
  • Microsoft Access. Aplikasi database Microsoft Acces merupakan anggota dari Microsoft Office yang dikeluarkan oleh Microsoft. Pada umumnya aplikasi database ini digunakan untuk perusahaan kecil sampai menengah.
  • Microsoft SQL Server. Merupakan aplikasi database yang juga dikeluarkan oleh microsoft, atau sering disebut juga dengan SQL server. Pada umumnya SQL server dirancang untuk aplikasi atau software yang berbasis kepada client-server. Aplikasi database ini berbayar dan ada juga yang gratis tapi memiliki keterbatasan.


Demikian pembahasan mengenai Basis Data kali ini. Informasi yang saya sampaikan ini hanyalah sebagian kecil saja namun, saya harap dapat cukup bermanfaat bagi pembaca sekalian.
Postingan tentang basis data ini adalah pengantar untuk postingan berikutnya yang akan saya sampaikan. Semoga pembaca sekalian dapat terus mengunjungi blog ini untuk menantikan postingan-postingan berikutnya.
Kurang lebihnya mohon maaf, Terima Kasih.
Wassalamu'alaikum...


Minggu, 11 Februari 2018

Review Metode pada Soft Computing Part 2

Februari 11, 2018 // by M Faqih Dulqarnain // No comments

Genetika Algoritma pada Probabilistic Reasoning

Review singkat salah satu metode di soft computing

Postingan kali ini adalah sambungan dari postingan sebelumnya. Jika pada sebelumnya saya memberikan informasi tentang penjelasan Hard Computing dan Soft Computing kemudian saya membahas salah satu metode yang ada di soft computing, maka kali ini saya akan meneruskan satu lagi penjelasan metode dari soft computing.
Pada postingan sebelumnya saya menjelaskan tentang Jaringan Syaraf Tiruan mulai dari pengertian, konsep dasar, modelnya, contoh implementasi, kelebihan dan kekruangannya. Kemudian kali ini saya akan menjelaskan tentang Genetic Algorithm atau Algoritma Genetik yang merupakan pengembangan metode dari Probabilistic Reasoning yang merupakan salah satu metode utama dari Soft Computing.

Probabilistic Reasoning

Probabilistic Reasoning (PR) adalah suatu yang memiliki kemampuan mengambil keputusan yang rasional walaupun informasi yang akan diolah kurang lengkap atau bersifat non-linier. Probabilistic Reasoning merupakan salah satu dari metode Soft Computing selain Fuzzy Logic dan Neural NetworkReasoning berarti mengambil suatu keputusan atas suatu alasan atau sebab tertentu. Beberapa jenis kategori PR antara lain teori Chaos, Belief Networks, Genetic Algorithm (GA).

Genetic Algorithm (GA) dan Konsepnya

GA diperkenalkan oleh John Holland pada pertengahan tahun 70-an. GA adalah metode komputasi yang meniru proses evolusi dan seleksi alam. Metode ini sering dimanfaatkan untuk mencari nilai optimal suatu fungsi/permasalahan.
Gambar 1. Flowchart Proses pada Algoritma Genetika
Gambar 1 menunjukkan urutan tahapan dalam GA. Untuk mencari nilai optimal tersebut, pertama-tama parameter-parameter permasalahan ditransfer ke dalam bentuk genetik sebuah kromosom individu yang disebut genotype (Saefuloh: 2016).

Kromosom ini terdiri dari sederetan string (misalnya angka “0” dan “1”) yang merupakan analogi dari rantai DNA: A, T, G dan C yang sebenarnya, pada tubuh makhluk hidup. Selanjutnya suatu populasi yang terdiri dari ribuan kromosom individu ini mengalami proses seleksi, crossover (persilangan) dan mutasi yang meniru proses biologi yang terjadi di alam.

Operasi ini diulang-ulang, dari satu generasi ke generasi berikutnya. Kualitas suatu individu ditunjukkan oleh nilai fitness, yang diukur dengan suatu kriteria yang mencerminkan sejauh mana kromosom individu tersebut mendekati nilai optimal yang diinginkan. Kriteria ini menjadi alat kontrol bagi proses evolusi, agar kondisi fitness generasi yang mendatang lebih baik daripada generasi-generasi sebelumnya.

Setelah melewati ratusan atau mungkin ribuan generasi, proses evolusi ini akan menghasilkan individu-individu dengan nilai fitness yang tinggi. Hal ini mencerminkan diperolehnya jawaban yang merupakan pendekatan terhadap nilai optimal yang diinginkan.

Contoh Implementasi Algoritma Genetika

Implementasi Algoritma Genetika untuk Penjadwalan Customer Service
   Contoh pengaplikasian algoritma genetika ini ditempatkan pada sebuah penelitian untuk mengurangi kesalahan yang terjadi pada penjadwalan kerja customer service sebuah biro perjalanan. Pada penelitian tersebut berhasil mengifisienkan waktu yang dibutuhkan untuk membuat jadwal kerja keseluruhan pegawai customer service dari yang biasanya membutuhkan waktu 3 hari secara manual, maka dengan sistem yang otomatis menggunakan algoritma genetika ini ditempuh dengan waktu 12 jam saja (Damayanti: 2017, hlm. 456-465).

Penerapan Algoritma Genetika Traveling Salesman Problem with Time Window
        Pengaplikasian algoritma dilakukan dengan penelitian pada optimasi pemilihan rute terbaik pada kasus penjemputan untuk suatu laundry agar antar sales yang menjemput dengan jeda waktu tertentu tetap dapat menjemput laundry tepat waktu (Suprayogi: 2015, hlm. 121-130).

Kelebihan dan Kekurangan dari Algoritma Genetika

Fauzi (2016), Beberapa keunggulan yang dimilki oleh GA adalah sebagai berikut :
  • GA memiliki kemampuan untuk mencari nilai optimal secara parallel, melalui kerjasama antara berbagai unit yang disebut kromosom individu.
  • GA tidak memerlukan perhitungan matematika yang rumit seperti diferensial yang diperlukan oleh algoritma optimisasi yang lain. 

Namun demikian GA memiliki juga kelemahan dan keterbatasan:
  • Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan wawasan dari desainer.
  • Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan sesuai dengan yang diharapkan.
  • Penentuan rumus menghitung fitness merupakan hal yang sangat penting dan mempengaruhi proses evolusi pada GA. Sayangnya tidak ada prosedur yang baku bagaimana menentukan rumus tsb. Dalam hal ini pengalaman dari desainer memegang peranan penting. Terlepas dari kendala yang ada, GA merupakan alternatif solusi yang dikenal cukup handal dalam berbagai masalah optimisasi. 

Demikian postingan kali ini. Saya harap, apa yang disampaikan dapat bermanfaat bagi pembaca.
Sekian dan Terima Kasih.

Review Metode pada Soft Computing Part 1

Februari 11, 2018 // by M Faqih Dulqarnain // No comments

Jaringan Syaraf Tiruan

Review singkat salah satu metode di soft computing.

Pada posting sebelumnya, saya telah memberikan sedikit informasi mengenai kecerdasan komputasional yang menjelaskan adanya Hard Computing dan Soft Computing sebagai cara untuk menyelesaika suatu masalah secara komputer. Jika teman-teman sekalian belum membacanya, silahkan kunjungi terlebih dahulu di sini.
Kali ini saya akan melanjutkan pembahasan pada posting sebelumnya itu dengan membahas lebih lanjut beberapa metode yang digunakan untuk soft computing. Saya memilih soft computing karena model solve problem ini adalah model komputasional yang semakin populer dan semakin maju perkembangan pada masa sekarang ini. Hampir dari segala sisi kehidupan sudah mulai menggunakan model soft computing karena mampu menyelesaikan masalah yang kompleks.
Mari kita mulai pembahasan kali ini dengan metode Jaringan Syaraf Tiruan.

Pengertian Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (artifical neural network) adalah sistem komputasi yang arsitektur dan operasinya diilhami dari pengetahuan tentang sel syaraf biologis di dalam otak. Jaringan syaraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut. Jaringan syaraf tiruan dapat digambarkan sebagai model matematis dan komputasi untuk fungsi aproksimasi non-linear, klasifikasi data cluster dan regresi non-parametrik atau sebuah simulasi dari koleksi model jaringan syaraf biologi.

Model jaringan syaraf ditunjukkan dengan kemampuannya dalam emulasi, analisis, prediksi dan asosiasi. Kemampuan yang dimiliki jaringan syaraf tiruan dapat digunakan untuk belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan membuat prediksi tentang kemungkinan output yang akan muncul atau menyimpan karakteristik input yang diberikan kepada jaringan syaraf tiruan (Hermawan:2006).

Konsep Dasar Jaringan Syaraf Tiruan (JST)

Bobot merupakan suatu nilai yang mendefinisikan tingkat atau kepentingan hubungan antara suatu node dengan node yang lain. Semakin besar bobot  suatu hubungan menandakan semakin pentingnya hubungan kedua node tersebut.

Bobot merupakan suatu hubungan berupa bilangan real maupun integer, tergantung dari jenis permasalahan dan model yang digunakan. Bobot-bobot tersebut bisa ditentukan untuk berada didalam interval tertentu. selama proses pelatihan, bobot tersebut dapat menyesuaikan dengan pola-pola input.

Jaringan dengan sendirinya akan memperbaiki diri terus-menerus karena adanya kemampuan untuk belajar. Setiap ada suatu masalah baru, jaringan dapat belajar dari masalah baru tersebut, yaitu dengan mengatur kembali nilai bobot untuk menyesuaikan karakter nilai (Puspaningrum:2006).

Model pada Jaringan Syaraf Tiruan

Model pada JST pada dasarnya merupakan fungsi model matematika yang mendefinisikan fungsi : 

f: X → Y

Istilah "jaringan" pada JST merujuk pada interkoneksi dari beberapa neuron yang diletakkan pada lapisan yang berbeda. Secara umum, lapisan pada JST dibagi menjadi tiga bagian:
  • Lapis masukan (input layer) terdiri dari neuron yang menerima data masukan dari variabel X. Semua neuron pada lapis ini dapat terhubung ke neuron pada lapisan tersembunyi atau langsung ke lapisan luaran jika jaringan tidak menggunakan lapisan tersembunyi.
  • Lapisan tersembunyi (hidden layer) terdiri dari neuron yang menerima data dari lapisan masukan.
  • Lapisan luaran (output layer) terdiri dari neuron yang menerima data dari lapisan tersembunyi atau langsung dari lapisan masukan yang nilai luarannya melambangkan hasil kalkulasi dari X menjadi nilai Y.
Ilustrasi Pemodelan JST (Sumber: Wikipedia)
Secara matematis, neuron merupakan sebuah fungsi yang menerima masukan dari lapisan sebelumnya gi(x) (lapisan ke-i). Fungsi ini pada umumnya mengolah sebuah vektor untuk kemudian diubah ke nilai skalar melalui komposisi nonlinear weighted sum, dimana :

K merupakan fungsi khusus yang sering disebut dengan fungsi aktivasi dan w merupakan beban atau weight.

Contoh Implementasi Jaringan Syaraf Tiruan (JST)

Jaringan Syaraf Tiruan mampu menggambarkan setiap situasi adanya sebuah hubungan antara variabel predictor (independents, inputs) dan variabel predicted (dependents, outputs), ketika hubungan tersebut sangat kompleks dan tidak mudah untuk menjelaskan kedalam istilah yang umum dari “correlations” atau “differences between groups”. Beberapa contoh permasalahan yang dapat dipecahkan secara baik oleh Jaringan Syaraf Tiruan antara lain (Yuliana:2012) :

  • Pendeteksi Golongan Darah

         Dengan menggunakan pengolahan citra. Manusia berusaha keras dengan segala kemampuannya untuk menirukan kehebatan yang mereka miliki, misalnya seorang dokter dengan keahliannya dapat membedakan golongan darah manusia antara A, B, AB, dan O. Dengan pendekatan kecerdasan buatan, manusia berusaha menirukan bagaimana pola- pola dibentuk. Jaringan Syaraf Tiruan telah dikembangkan sebagai generalisasi model matematik dari pembelajaran manusia.
  • Prediksi Pasar Saham
      Fluktuasi dari harga saham dan index saham adalah contoh lain yang kompleks, multidimesi tetapi dalam beberapa kondisi tertentu merupakan phenomena yang dapat prediksi.  Jaringan Syaraf Tiruan telah digunakan oleh analis teknik untuk membuat prediksi tentang pasar saham yang didasarkan atas sejumlah faktor seperti keadaan masa lalu bursa yang lain dan berbagai indikator ekonomi.
  • Aplikasi Pemeliharaan Mesin
       Jaringan Syaraf Tiruan telah digunakan untuk menganalisis input dari sebuah sensor pada sebuah mesin.  Dengan mengontrol beberapa parameter ketika mesin sedang berjalan, dapat melakukan fungsi tertentu misalnya meminimalkan penggunaan bahan bakar.

Kelebihan dan Kekurangan Jaringan Syaraf Tiruan

Kelebihan

  • Klasifikasi: memilih suatu input data ke dalam kategori tertentu yang sudah ditetapkan
  • Asosiasi: menggambarkan suatu obyek secara keseluruhan hanya dengan bagian dari obyek lain
  • Self organizing: kemampuan mengolah data-data input tanpa harus mempunyai target
  • Optimasi: menemukan suatu jawaban terbaik sehingga mampu meminimalisasi fungsi biaya

Kekurangan

  • Kurang mampu untuk melakukan operasi operasi numerik dengan presisi tinggi 
  • Kurang mampu melakukan operasi algoritma aritmatik, operasi logika dan simbolis 
  • Lamanya proses training yang mungkin terjadi dalam waktu yang sangat lama untuk jumlah data yang besar

Demikian penjelasan singkat yang dapat saya sampaikan. Mohon maaf jika ada kesalahan dan semoga bermanfaat bagi pembaca sekalian. Selanjutnya saya masih akan membahas 1 metode lagi dari soft computing yang bisa dibilang cukup sering digunakan untuk masalah dikehidupan sehari-hari. 
Terima Kasih


Jumat, 09 Februari 2018

Kecerdasan Komputasional (Solve Problem Computing)

Februari 09, 2018 // by M Faqih Dulqarnain // No comments

Kecerdasan Komputasional dan Pembelajaran Mesin

Kali ini saya akan memberikan informasi seputar dunia IT. Pembahasan kali ini akan mengambil topik dari mata kuliah yang saya dapat di kampus. Postingan kali ini juga saya iringi sekaligus untuk mengerjakan tugas yang diberikan dosen mata kuliah ini. Selamat membaca dan menikmati...

Hard Computing dan Soft Computing

Yaa... Mata kuliah jenis baru yang diterbitkan di kampus ku pada semester genap 2017/2018.
Mata kuliah ini timbul dari pengembangan mata kuliah wajib di semester gasal yaitu Kecerdasan Buatan. Mata kuliah ini adalah pendalaman lebih lanjut dari kecerdasan buatan yang memperlajari tentang Soft Computing.

Saat itu dosen menerangkan suatu hal tentang Solve Problem Computing. Solve Problem Computing secara garis besar adalah cara menyelesaikan masalah secara komputerisasi. Pada Solve Problem Computing, memiliki 2 jenis cara penyelesaian yang utama. 
  • Hard Computing
Menurut pemahaman yang saya tangkap dari penjelasan dosen saya adalah cara penyelesaian masalah yang terkomputerisasi secara eksak. Menghasilkan sesuatu yang pasti dan tidak akan berubah. Saya juga mencari lebih lanjut apa yang dimaksud dengan hard computing. Menurut artikel dari Blogspot Balq, pengertian hard computing adalah adalah metode komputerisasi secara kovensional atau boleh dibilang tradisional. Belum terotomatisasi dan masih menkhususkan pada suatu masalah tertentu. Hard computing membuat model dan pencarian masalah masih menggunakan metode analitis dan numeris (tradisional).

Contoh dari hard computing adalah software untuk melakukan perhitungan matriks, persamaan linier atau persamaan matematis lain. Atau beberapa aplikasi yang digunakan untuk menyelesaikan masalah tertentu di dalam kondisi real kehidupan.
  • Soft Computing
Masih menurut pemahaman yang saya tangkap dari penjelasan dosen saya, soft computing adalah cara penyelesaian masalah yang sudah terkomputerisasi secara otomatis/dinamis. Soft computing ada dan terinspirasi dari proses bagaimana manusia berpikir. Mampu menyelesaikan masalah yang lebih kompleks. Berbeda dengan hard computing, soft computing dapat memungkinkan toleransi terhadap input, proses dan output yang bersifat tidak akurat (imprecision), tidak pasti (uncertainty) dan setengah benar (partial truth).

Sama seperti sebelumnya, saya juga mencari kembali lebih lanjut tentang Soft Computing. Menurut artikel dari Droco, Soft Computing adalah kumpulan teknik-teknik perhitungan dalam ilmu komputer, inteligensia semu, machine learning dan beberapa disiplin ilmu teknik lainnya, yang berusaha untuk mempelajari, memodelkan, dan menganalisa fenomena yang sangat rumit: untuk metoda yang lebih konvensional yang tidak memberikan biaya rendah, analitis dan solusi lengkap.

Soft Computing adalah segolongan metode yang mampu mengolah data dengan baik walaupun di dalamnya terdapat ketidakpastian, ketidakakuratan maupun kebenaran parsial (Prof. Lotfi A Zadeh, 1992).

Metode soft computing menempati posisi yang menarik dalam perkembangan metoda komputasi dan pemecahan masalah pada saat ini. Hal ini karena ditawarkan solusi yang menarik dan kemudahan implementasi dari metode ini untuk memecahkan masalah-masalah yang tadinya sangat sulit dipecahkan dengan komputer dengan menggunakan metoda komputasi konvensional.

Contoh dari soft computing adalah salah satunya berada di keseharian kita yaitu alat elektronik AC ruangan. Pada AC ruangan ada sistem yang dapat secara otomatis mengatur suhu sejuk yang ideal sesuai jumlah orang yang berada di dalam ruangan tersebut. Kemudian terdapat juga program pengenalan wajah atau tulisan tangan seseorang walau tidak seluruh gambar wajah terlihat jelas atau terhapusnya sebagian corak tulisan tangan tersebut.

Tujuan soft computing adalah terbentuknya High Machine Intelligence Quotient (HMIQ), suatu sistem yang mampu mengolah informasi seperti cara berpikir manusia, mempunyai kemampuan untuk menyelesaikan permasalahan non-linier dan tidak ada model matematisnya (tractability), serta dapat diimplementasikan dengan biaya rendah.

Berikut adalah gambaran perbedaan hard computing dan soft computing secara garis besar.
Sumber gambar: balqsilmi.blogspot.co.id/2010/05/hard-computing-vs-soft-computing.html

Soft Computing saat ini menjadi model solve problem yang makin berkembang pada dekade terakhir ini terutama pada dunia sistem kecerdasan buatan. Soft Computing merupakan solve problem yang menggunakan pendekatan model atau lebih sering disebut Computational Intelligence.

Kenapa Soft Computing...?

  • Kenyataan pada suatu masalah yang ada bisa jadi lebih kompleks dan sulit terprediksi.
  • Karena begitu kompleks, beberapa masalah dipastikan tidak dapat menghasilkan solusi yang tepat (imprecision).
  • Biaya yang lebih rendah.

Sekian posting kali ini. Pada posting berikutnya akan dibahas tentang beberapa metode yang ada pada soft computing. Thanks for reading my post...

Sabtu, 03 Februari 2018

Bingungnya Linieritas Pendidikan Bagi Dosen dan Guru.

Februari 03, 2018 // by M Faqih Dulqarnain // No comments

Linieritas Bidang Ilmu bagi Dosen dan Guru

Riwayat pendidikan yang harus linier bagi dosen dan guru

Sesinya kali ini adalah berbagi cerita sekaligus berbagi pendapat.

Saya adalah profil lulusan program studi teknik informatika (harusnya ST karena masih numpang atas nama Teknik, tapi karena pihak kampus S1 saya mengalami perubahan, lulusan barunya menjadi S.Kom. jadi seperti ingin berdiri sendiri dan namanya menjadi Prodi Informatika), kemudian saya akan melanjutkan studi S2 dengan mengambil studi Ilmu Komputer. Dari studi tersebut saya akan bergelar Master Ilmu Komputer (M.Kom) atau di kampus nanti namanya Master of Computer Science (M.Sc). Pertanyaannya adalah apakah masih linier...???


Mari kita berdiskusi...😏😕😕
Konteks permasalahan ini sebenarnya bukan perkara kecil. Permasalahan ini sebaiknya jangan dianggap remeh. Banyak dari berbagai mahasiswa saat melanjutkan kuliah, mereka tidak memperhatikan linieritas bidang studi yang mereka ambil. Permasalahan ini akan semakin menyulitkan jika kelak mahasiswa tersebut akan berprofesi sebagai guru ataupun dosen.

Masalah ini terjadi karena sebagian besar mahasiswa hanya bersikap antusias saja terhadap kelanjutan studi mereka, sementara sebenarnya sudah ada aturan yang harusnya mereka ikuti yaitu linieritas program studi untuk keberlanjutan karir mereka di tempat kerja kelak.

Sebenarnya apa sih yang dimaksud linieritas program studi. Berdasarkan artikel yang saya pernah baca yaitu dari Zakimu.com, linieritas program studi adalah lurus, sama atau sejenisnya disiplin ilmu yang seseorang ambil di perguruan tinggi, baik itu sarjana, magister atau doktor. Kata kunci dari linieritas itu adalah bidang disiplin ilmu. Tujuan dari melinieritaskan adalah untuk mengatur keilmuan Sumber Daya Manusia (SDM) Indonesia agar lebih tertata, tidak zig-zag, atau seorang individu tidak memiliki ilmu campuran A, B dan C, sehingga ada kejelasan kepakaran bidang studi apa yang seseorang tersebut geluti.

Gambaran yang bisa saya sampaikan adalah tentang konsistensi. Bagaimana bisa seseorang dikatakan Dr, Prof, atau sebagainya bila bidang studi yang ia tekuni itu tidak konsisten. Terlepas dari kita berpikir seseorang yang berbeda bidang studi berarti menguasai berbagai macam ilmu, sebenarnya yang terjadi adalah orang tersebut tidak menguasai apa-apa. Menurut saya, seseorang yang kompeten, ahli atau pakar adalah orang yang menekuni bidang studi ilmu yang konsisten. Tidak berubah, sehingga orang tersebut paham seluk beluk yang terjadi pada bidang ilmunya tersebut dengan sangat detail.
Correct Me If I’m Wrong...

Balik ke linieritas program studi.
Adanya aturan tentang linieritas ini disampaikan oleh Kementrian Riset, Teknologi, dan Pendidikan Tinggi Republik Indonesia melalui surat edarannya Nomor 696/E.E3/MI/2014. Dalam surat edaran tersebut dikatakan bahwa aturan linieritas ini diberikan agar disiplin ilmu yang dimiliki seorang dosen atau calon dosen yang akan berkarya pada sebuah program studi, haruslah memiliki kontribusi pada pengembangan ilmu dan ketercapaian pembelajaran sebagaimana tempat ia berkarya di program studi tersebut. Surat edaran resmi ini menjadi patokan berlakunya UU Nomor 12 Tahun 2012 terutama pada pasal 10 ayat 2 sebagai rujukan rumpun ilmu yang menjadi patokan linier tidaknya bidang studi seseorang.
Lampiran surat edaran Dikti dapat kalian download di sini.

Yaa...
UU Nomor 12 tahun 2012 pasal 10 ayat 2 memberikan kita petunjuk patokan rumpun ilmu agar kita tau apakah ilmu yang tekuni linier atau tidak. Setelah kita menilai dari rumpun utama, kita bisa melihat sub rumpun yang sesuai dan level ilmu yang kita ambil untuk mengetahui tingak linieritas bidang studi kita.

Berikut akan saya jabarkan contoh tingkat linieritas yang saya pahami berdasarkan aturan tersebut.
Cara pertama adalah dengan melihat rumpun, sub rumpun dan bidang ilmu berdasarkan aturan di UU No 12 tahun 2012. Kita dapat menentukan tingkat linieritas bidang ilmu kita diurutkan dari Bidang Ilmu >>> Sub Rumpun >>> Rumpun. Mari kita ambil contoh Ilmu Pemerintahan.
Bidang ilmu Ilmu Pemerintahan merupakan Sub Rumpun dari Ilmu Politik dan Rumpun dari Ilmu Sosial Humaniora, jadi:
  • Linearitas pertama adalah Bidang Ilmu (Level 3), yaitu Ilmu Pemerintahan dengan Ilmu Pemerintahan juga.
  • Linearitas terdekat selanjutnya adalah Sub Rumpun (Level 2), yaitu Ilmu Pemerintahan dengan sejumlah Bidang Ilmu yang turunan langsung dari Sub Rumpun Ilmu Politik.
  • Linearitas terdekat terakhir adalah Rumpun (Level 1), yaitu Ilmu Pemerintahan dengan sejumlah Bidang Ilmu yang masuk kepada Rumpun dari Ilmu Sosial Humaniora lainnya.

Lampiran mengenai keterangan level dan rumpun, dapat kalian download disini.

Cara kedua yang saya tahu adalah dengan melihat aturan tata nama / nomenklatur berdasarkan Permen Dikti No. 0404/E3.2/2015 tentang Rumpun Ilmu Pengetahuan dan Teknologi serta Gelar Lulusan Perguruan Tinggi pada lampiran 2. Pada lampiran nomenklatur tersebut terdapat lengkap keterangan bagaimana kita tahu apakah ilmu dan gelar yang akan dapatkan selaras atau tidak. Dasar dari nomenklatur tersebut juga berawal dari bagaimana kita menentukan tingkat linieritas bidang ilmu kita pada cara pertama.
Nomenklatur tersebut dapat kalian download di sini.

Terdapat salah satu contoh kongkrit kejadian yang sering terjadi tentang linieritas bidang ilmu ini. Contoh kejadian tersebut adalah, ketika seseorang mengambil studi S1 Pendidikan Informatika/Komputer kemudian mengambil studi S2 Ilmu Komputer/Informatika murni atau sebaliknya. Kejadian tersebut adalah sangat fatal karena kedua bidang ilmu tersebut tidaklah linier. Mengapa? Tentu kita dapat melihat jelas dari sisi Rumpun utamanya antara Ilmu Sains Murni/Formal dengan Ilmu Pendidikan. Tidak peduli jika kalian berpikir sama-sama belajar komputer atau informatika. Tapi perhatikan dengan jelas. Rumpun Ilmu Sains Formal berbeda dengan Ilmu Pendidikan.
Tidak hanya contoh tersebut. Rata-rata, banyak kejadian seseorang telah mengambil Matematika murni MIPA dengan Pendidikan Matematika FKIP atau bidang ilmu lain yang seperti itu. Jelas itu tidak linier dan waspadalah kalian dengan jenjang karir kalian.

Saya menekankan hal ini, karena tujuan awal tulisan ini adalah ingin mengajak pembaca sekalian untuk berpikir secara tepat tentang bidang ilmu yang akan diambil kelak. Jangan sampai apa yang kita kerjakan nanti menjadi sia-sia, karena sampai sekarang saya belum tahu nasib bagi orang yang sudah terlanjur berbeda rumpun tersebut. Kalo pekerjaannya selain dosen atau guru sih gak tau lah ya... tapi apa salahnya bertindak tepat sebelum skak mat. Yang saya tahu, bagi yang berbeda bidang ilmu begitu, kenaikan pangkat/jabatannya akan terkendala atau bahkan terburuknya kalian akan menghabiskan waktu kalian untuk sekolah kembali, melinierkan bidang ilmu kalian. Haddeeeuuhhh...

Sumber Gambar : http://guruidaman.blogspot.co.id/2012/09/linieritas-yang-membingungkan.html
Aturan pemerintah kita untuk mentata bidang ilmu itu sudah benar. Logic. Kitanya saja yang mungkin belum sepenuhnya faham. Kita tidak bisa menyalahkan aturan, tapi harusnya kita yang koreksi diri. Sudah benarkah kita...

Satu lagi contoh adalah menjawab pertanyaan tulisan ini pada pertama di awal tadi. Jawabannya adalah bidang ilmu yang diambil selinier. Karena masih 1 rumpun Sains Formal, masih 1 bidang ilmu Informatika/Ilmu Komputer. Silahkan kalian cek nomenklatur yang saya lampirkan tadi.

Sekian tulisan kali ini. Terima kasih para pembaca sekalian.😄😄😎😎

Sumber Gambar : https://bestofus5kisae.wordpress.com/2016/04/10/kata-kata-motivasi-untuk-pelajar/