Translate

17 December 2012

Kisi-kisi Ujian dan Contoh-Contoh Soal

Perancangan dan Sistem Basis Data 

Apa yang harus dipelajari dan dipersiapkan?
Persiapan dilakukan baik secara jasmani dan rohani mutlak diperlukan sedang hal-hal yang harus dipelajari adalah;

  1. Teori dan praktek tentang Diagram ER (ER-D), yang meliputi cara pembuatan, Atibut dan kardinalitas relasi, simbol/notasi pada ER-D, Transformasi/Pemetaan dari ER-D ke dalam Skema Tabel.
  2. Aljabar Relasional, yang meliputi cara pembuatan, terjemahan ke dalam bahasa SQL.
  3. Teori Optimasi menggunakan query tree.
Anda perlu berlatih dengan sungguh-sungguh menggunkan contoh-contoh soal tahun lalu. Berikut contoh-contoh soalnya:
  1. Gasal 2010-2011, silahkan unduh disini
  2. Genap 2011, silahkan unduh disini
  3. Gasal 2009-2010, silahkan unduh disini
  4. Genap 2009, silahkan unduh disini
  5. Gasal 2008-2009, silahkan unduh disini
  6. Genap 2008, silahkan unduh disini
  7. Sebelum 2008, silahkan unduh disini
Selamat belajar smoga Tuhan Yang Maha Kuasa memberikan kemudahan bagi kita semua,... Aamiiin.

02 October 2012

Rencana Kuliah Gasal 2012

Perkuliahan Gasal 2012, tertdiri atas mata kuliah Perancangan Basis Data (PBD) dan Sistem Basis Data (SBD). Perancangan Basis Data merupakan matakuliah untuk kurikulum lama, sedangakan Sistem Basis Data adalah  hasil peninjauan kurikulum lama dan diterapkan untuk kurikulum baru. Mata kuliah PBD hanya terdapat satu kelas, sedangkan SBD terdapat 4 (empat) kelas. Kedua matakuliah ini memiliki materi ajar yang sama dan porsi pengejaran sebanyak 3 SKS. 
Evaluasi yang diterapkan untuk kedua mata kuliah ini biasanya menggunakan Ujian Tengah Semester (UTS), Ujian Akhir Semester (UAS) dan Tugas. Pada pelaksanaan di semester gasal 2012/2013 tidak menerapkan UTS. Sebagai gantinya terdapat tugas mandiri dan tugas kelompok. Berikut tugas-tugas yang pernah diberikan kepada mahasiswa;
  1. Tugas 1, merupakan Tugas Mandiri. Mahasiswa membuat resume materi tentang mata kuliah sebelumnya yang tujuannya untuk mengingat kembali materi yang pernah diajarkan. Tugas ini dikumpulkan dalam bentuk catatan tangan maksimal sebanyak 2 lembar kertas folio. Setiap mahasiswa melakukan resume tugas sesuai dengan  angka penting dari tiga digit NIM mahasiswa, dengan rumus: (NIM_Angka_Penting MOD 3) + 1  yang hasilnya adalah nomor soal tugas yang harus dikerjakan yaitu tentang;
    1. Atribut, simbol-simbol pada ER-Diagram
    2. Atribut, dependensi dan normalisasi
    3. Pemetaan ER-Diagram ke dalam bentuk skema tabel 
  2. Tugas 2, Tugas Kelompok. Mahasiswa membuat rekaman video dalam bentuk kelompok. pembagian  kelompok menggunakan sistem MOD, yang disesuaiakan dengan jumlah mahasiswa dalam kelas.
  3. Tugas 3, Tugas Mandiri.Mahasiswa membuat blog dengan aturan sebagai berikut;
    1. Membuat blog dengan tema SBD sesuai tugas buat Video.
    2. Setiap blog mencantumkan LINKS dari blog kelompok pada Tugas 2 masing-masing.
    3. Blog mencantumkan video pribadi yang memuat tugas SBD Video
    4. Unsur yang dinilai adalah konten/materi/isi, variasi, tools, dinamisasi, links sosial media dan links jejaring sosial. Mendapatkan nilai tambah jika menambahkan hal-hal yang menarik/memperindah tampilan blog.
    5. Tugas dikumpulkan dalam bentuk alamat blog lengkap di portal akademik umk.
    6. Blog Harus Aktif minimal 100 hari ke depan dimulai dari batas selesai pengerjaan

11 September 2012

Materi Ajar SBD

Kuliah Teori
1. Proses Perancangan Basis Data
2. EER-Model & ER-Model
3. Kontrol Basis Data
4. Basis Data Berorientasi Objek
5. Perkembangan Basis Data Saat ini

Kuliah Praktek
1. Relational Algebra --> Procedural
2. Query Languages --> SQL Server vs MySQL

20 June 2012

Koneksi MATLAB ke MySQL Database

Gunakan data dari database MySQL untuk di program menggunakan MATLAB.
Hal yang membangkitkan niat posting adalah permintaan seorang teman yang ingin tahu bagaimana koneksi database MySQL ke MATLAB. MATLAB yang aku pakai versi 2007a atau Versi 7.4.0, sedangkan MySQL-nya versi 5.0. Sebenarnya sudah lama sekali hal ini saya otak-atik tapi lupa naruh dimana dalam komputerku, akhirnya ketemu.... inilah caranya:

Terdapat beberapa cara dalam koneksinya, setahu saya (yang sdh berhasil digunakan) terdapat dua cara yaitu menggunakan JDBC Driver dan menggunakan ODBC. Langsung saja akan saya uraikan bagaimana cara singkat kode programnya.

A. Menggunakan JDBC Driver.
Terdapat sejumlah syarat atau cara jika ingin menggunakan metode ini yaitu:

  1. harus punya JDBC Driver dulu, searching dulu di mbah Google.  
  2. pasang JDBC Driver-nya dalam MATLAB, untuk memasangnya harus ditempatkan (di copy) pada folder instalasi MATLAB yaitu di "C:\Program Files\MATLAB\R2007a\java\jarext" (atau sesuaikan dengan drive/folder saat instalasi MATLAB).
  3. ubah ClassPath dalam MATLAB, editlah file classpath.txt yang berada dalam folder "C:\Program Files\MATLAB\R2007a\toolbox\local". Tambahkan kaliman ini " $matlabroot/java/jarext/mysql-connector-java-3.1.12-bin.jar" dibawah "$matlabroot/java/jarext/xml-apis.jar". 
  4. buat programnya, untuk membuktikan berhasil atau tidaknya, buatlah program menggunakan MATLAB atau m-file dengan kode sebagai berikut;
%==============================================
  1. clc;
  2. clear;
  3. Koneksi = database('NamaDatabasenya','UserName','Password','com.mysql.jdbc.Driver',    'jdbc:mysql://localhost:3306/');
  4. ping( Koneksi );
  5. query='select * from NamaTabel';  
  6. Hasilnya= fetch( Koneksi , query);
  7. close(conn);
%==============================================

Keterangan:

  • NamaDatabasenya, UserName dan Password sesuaikan dengan seting ketika instalasi MySQL.
  • untuk variabel query: anda dapat merubahnya sesuai keinginan dengan syarat harus memiliki pemahaman dalam bahasa SQL untuk memanipulasi tabel baik menambahkan, menampilkan/pencarian data, merubah maupun menghapus data.

B. Menggunakan ODBC
Cara ini mungkin akan lebih sederhana dibandingkan dengan cara pertama, tetapi sebenarnya memiliki bentuk yang sama, yang membedakan hanya terletak pada koneksinya yaitu dengan cara seting ODBC. Langkah-langkahnya yaitu:
  1. Install dulu MySQL ODBC kalau tidak punya bisa diunduh di sini, atau jika tidak tersedia cari dulu dari "mbah" Google.
  2. Seting dulu ODBC untuk memperoleh DSN, dengan cara, Control Panel, Administrative Tools, Data Source (ODBC), klik Add, pilih MySQL ODBC 3.51 Driver, klik Finish, kemudian setinglah nama Data Source Name (DSN), Server, User, password dan jika perlu pilih databasenya langsung.Untuk menguji koneksitasnya klik Test, pastikan koneksi sukses.
  3. Buat programnya. 
%==============================================


  1. clc;
  2. clear;
  3. Koneksi = database('NamaDSN','UserName','Password');
  4. query= 'select * from NamaTabel'
  5. Kursor= exec( Koneksi,query);
  6. setdbprefs('DataReturnFormat','cellarray');  
  7. Kursor =fetch( Kursor );
  8. NamaKolom = columnnames( Kursor ); 
  9. Hasil= Kursor.Data;
%==============================================
Keterangan:

  • NamaDSN sesuaikan dengan pada saat seting ODBC pada langkah 2, UserName dan Password sesuaikan dengan seting ketika instalasi MySQL.
  • untuk variabel query: anda dapat merubahnya sesuai keinginan dengan syarat harus memiliki pemahaman dalam bahasa SQL untuk memanipulasi tabel baik menambahkan, menampilkan/pencarian data, merubah maupun menghapus data.
  • Nomor 6. merubah hasil agar dalam bentuk array
  • Nomor 8. menampilkan nama kolom
Jika ada masukan lain atau ada ketidakjelasan paparan saya silahkan kirim komentar. Semoga bermanfaat dan selamat mencoba.

08 April 2011

Konsep program pencegah plagiat menggunakan visual basic

Ketika sibuk membuat suatu artikel teringat tentang plagiat, yaitu menyontek atau meniru bahkan mengakui karya orang lain tanpa ijin. Menurut Kamus Besar Bahasa Indonesia (KBBI, 1997:775) Plagiarisme atau sering disebut plagiat adalah penjiplakan atau pengambilan karangan, pendapat, dan sebagainya dari orang lain dan menjadikannya seolah karangan dan pendapat sendiri. Nah dari hal tersebutlah muncul ide bagaimana konsep memprogram menggunakan VB 6.0 untuk mendeteksi plagiat. Konsep ini merupakan konsep yang paling sederhana, yaitu menghitung jumlah kata, jumlah kalimat dan mencari jumlah dari setiap huruf atau karakter apapun yang ada dalam suatu teks.

26 May 2010

Skema pengkodean pada Algoritma Genetika (Genetic Algorithm)

Menurut Gen dan Cheng (2000) menyatakan bahwa dalam merepresentasikan suatu solusi ke dalam kromosom terdapat empat (4) cara, yaitu; 1). menggunakan pengkodean secara biner, 2). pengkodean bilangan riil positif, 3). pengkodean bilangan bulat dan 4). struktur data umum. Pada Gambar 1 menjelaskan representasi tiga pengkodean dari empat pengkodean yang ada. Dalam postingan kali ini hanya akan mengimplementasikan pengkodean menggunakan bilangan biner.

Gambar 1. Skema Pengkodean
Berdasarkan Gambar 1(a) terdapat tiga individu x1, x2 dan x3 yang diwakili dengan masing-masing tiga gen dalam panjang kromosom sebanyak sembilan gen. Pada masalah klasifikasi setiap individu ini mewakili parameter yang digunakan dalam pengelompokkan.
Pengkodean bertujuan untuk memperoleh nilai biner dari setiap gen g dengan cara (persamaan 1) jika bilangan acak x [0,1) memiliki nilai x > 0.5 maka gen g=1, demikian juga sebaliknya. Setiap gen g berupa nilai bilangan biner 0 atau 1. Representasi setiap individu dengan jumlah gen tertentu disebut dengan panjang bit.

Pendekodean bertujuan untuk mendapatkan kembali nilai individu x dari bentuk biner dalam rentang nilai tertentu. Jika menggunakan rentang interval tertentu dengan batas atas Ra dan batas bawah Rb, maka untuk pendekodean individu X dengan cara biner dirumuskan dalam persamaan 2.


Referesi:
Gen, M. & Cheng, R., 2000. Genetic Algorithms and Engineering Optimization. s.l.:John Wiley & Sons, Inc.

02 May 2010

Evaluasi Individu dalam Algoritma Genetika untuk kasus klasifikasi

Evaluasi individu bertujuan untuk mengukur nilai performansi (fitness) dari suatu individu x. Pada evolusi alamiah hanya individu yang memiliki nilai fitness yang tinggi yang akan mampu bertahan hidup. Sedangkan yang memiliki nilai rendah akan mati. Secara umum fitness f yang digunakan pada masalah optimasi untuk memaksimalkan nilai fungsi h maka f=h. Tetapi pada masalah klasifikasi yang digunakan adalah meminimalkan jarak, maka fungsi fitness adalah f=1/h dari suatu fungsi. Untuk mengatasi pembagian dengan nol, maka perlu dikalikan dengan bilangan a, yaitu bilangan yang dianggap sangat kecil. Hasil evaluasi individu untuk meminimalkan fungsi dirumuskan dalam persamaan berikut;

Rumusan untuk mendapatkan fitness ini sangat bergantung pada masalah yang akan diselesaikan. Jika rumusan evaluasi untuk mendapatkan fitnes adalah Eval(Vi) untuk setiap individu Vi(i=1,2,...,N), N adalah ukuran populasi, maka nilai fitness dari seluruh individu dalam populasi dirumuskan pada persamaan berikut



09 April 2010

Langkah-Langkah Algoritma Genetika

Langkah-langkah persiapan secara umum yang harus dilakukan pada penggunaan algoritma genetika adalah sebagai berikut;
1.      Menentukan bentuk representasi genetik. Gen dikodekan berdasarkan suatu skema tertentu. Pengkodean gen dapat direpresentasikan menggunakan:
a.    Representasi Bit, allele dari setiap gen hanya dapat memiliki nilai bilangan biner 0 atau 1.
b.    Representasi Floating Point, allele dari setiap gen memiliki nilai bilangan pecahan riil positif.
c.    Representasi Integer, allele dari setiap gen memiliki nilai bilangan bulat yang biasanya positif.
2.      Menentukan cara untuk menciptakan populasi awal.
3.      Menentukan fungsi fitness. Fungsi ini tergantung pada kasus optimasi yang ingin diselesaikan.
4.      Menentukan operasi-operasi genetik yang akan digunakan
5.      Menentukan parameter-parameter pengendali jalannya proses algoritma genetika, yaitu;
a.       Ukuran populasi (UkPop), yaitu banyaknya individu yang terdapat dalam populasi.
b.      Jumlah maksimum generasi (Generasi), yaitu jumlah maksimum iterasi yang akan dijalankan pada algoritma genetik.
c.       Probabilitas crossover (Pc),  yang menentukan besarnya kemungkinan individu untuk melakukan operasi pindah silang.
d.      Probabilitas mutasi (Pm), yang menentukan besarnya kemungkinan individu terkena mutasi.
e.        Probabilitas reproduksi (Pr), yang menentukan besarnya kemungkinan individu untuk melakukan reproduksi.
6.      Menentukan suatu kriteria untuk menghentikan jalannya algoritma, yaitu:
a.       Apabila generasi saat ini telah mencapai jumlah maksimum generasi.
b.       Apabila solusi yang paling optimal telah ditemukan.
7.      Menentukan individu terbaik yang terdapat dalam populasi pada saat kriteria pemberhentian jalannya algoritma terpenuhi.

Setelah melakukan langkah-langkah persiapan secara umum penggunaan algoritma genetika maka langkah-langkah implementasi Algoritma Genetika dalam bentuk yang paling sederhana dan hanya menggunakan operator-operator genetik dasar terdiri dari langkah-langkah berikut (Nurwijaya, 2007):
1.      Bangkitkan populasi awal yang terdiri dari kromosom-kromosom yang masing-masing mewakili sebuah individu. Individu-individu dalam populasi awal tersebut dibangkitkan secara acak.
2.      Langkah-langkah berikut dilakukan secara berulang hingga kondisi terminasi terpenuhi:
a.         Kalkulasi dan simpan nilai fitness masing-masing individu dalam populasi sebagai parameter utama proses seleksi.
b.          Hasilkan populasi baru dengan melakukan operasi-operasi genetik dasar yang dipilih secara probabilistik. Untuk setiap operator genetik diberikan suatu probabilitas tertentu yang menentukan tingkat kemungkinan operator tersebut terjadi. Individu yang akan mengalami operasi genetik dipilih melalui proses seleksi.
                                       i.          Reproduksi, setiap individu memiliki peluang untuk dapat terus berlanjut ke generasi berikutnya, peluang ini sebanding dengan tingkat fitness individu tersebut. Operasi ini dilakukan dengan mereproduksi individu tersebut lalu memasukkannya ke populasi baru.
                                      ii.          Crossover (Kawin Silang), setiap individu memiliki kemungkinan untuk melakukan perkawinan dengan individu lain yang besarnya proporsional dengan nilai fitness. Hasil perkawinan adalah dua offspring yang selajutnya dimasukkan ke populasi baru.
                                     iii.          Mutasi, Operasi ini menghasilkan individu baru dengan cara melakukan perubahan secara acak pada kromosom.
3.      Individu yang memiliki nilai fitness tertinggi dari semua generasi mewakili solusi dari permasalahan optimal yang didapat saat itu.

Referensi:
Nurwijaya, 2007. Analisis Penggunaan Algoritma Genetika Untuk Optimalisasi Jaringan Syaraf Tiruan. Bandung: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.

20 February 2010

Algoritma Genetika

Kemunculan Algoritma Genetika dipengaruhi atau terinspirasi dari teori-teori dalam ilmu biologi. Algoritma genetika dirintis oleh John Holland dan dikembangkan oleh muridnya David Goldberg. Algoritma Genetika adalah algoritma yang dikembangkan dari proses pencarian solusi menggunakan pencarian secara acak dan memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi.
Pada proses evolusi individu secara terus-menerus mengalami perubahan genetik untuk menyesuaikan dengan lingkungan hidupnya. Hanya individu-individu yang memiliki performansi yang baik yang mampu bertahan. Proses seleksi alamiah ini melibatkan perubahan genetik yang terjadi pada individu melalui proses perkembangbiakan. Proses perkembangbiakan ini menjadi proses dasar yang menjadi perhatian utama dengan dasar bagaimana mendapatkan keturunan dari proses perkawinan yang lebih baik.

Prinsip-prinsip dasar

Proses perkembangbiakan yang terjadi dalam algoritma genetika tidak terlepas dari istilah-istilah yang diadopsi dari teori evolusi genetika dalam ilmu biologi. Istilah-istilah yang berasal dari ilmu biologi yang dipakai dalam algoritma genetika.
Genotype (Gen) merupakan  sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan. Setiap gen mempunyai sebuah nilai yang disebut dengan allele dan berada pada posisi tertentu dalam kromosom yang disebut dengan loci/locus. Allele tersebut dapat berupa angka biner (0/1) atau bertipe floating point tergantung dari bentuk representasi genetik yang digunakan. Beberapa bentuk nilai-nilai gen dalam algoritma genetika dapat berupa nilai biner, desimal, bilangan bulat maupun karakter huruf. Lebih lanjut tentang nilai-nilai gen yang akan digunakan dalam penelitian ini dibahas dalam bahasan skema pengkodean.
Chromossom (kromosom), merupakan gabungan gen-gen yang membentuk kesatuan yang mewakili suatu nilai tertentu. Kesatuan kromosom akan membentuk individu menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat. Seringkali individu-individu yang ada dalam populasi disebut dengan kromosom (string) yang mempunyai panjang yang sama. Setiap kromosom terdiri dari gen-gen yang tersusun secara linier.
Sekumpulan individu yang sejenis akan membentuk populasi. Populasi  merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. Setiap proses siklus evolusi dinyatakan dengan istilah generasi. Individu dalam sebuah generasi akan mengalami evaluasi untuk mendapatkan suatu nilai yang dinyatakan dalam istilah fitness. Fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.
Menurut Bandyopadhyay dan Pal (2007) menyatakan bahwa algoritma genetika memiliki karakteristik yang menguntungkan untuk permasalahan sebagai berikut;
1.      Masalah yang tidak atau kurang adaptif terhadap penyelesaian secara analitik matematis.
2.      Masalah yang harus diselesaikan secara paralel.
3.      Solusi yang diharapkan tidak harus paling optimal tetapi dapat diterima.
4.      Dalam keterbatasan waktu, ruang masalah cukup besar, kompleks dan sulit dipahami.

Referensi: 
Bandyopadhyay, S. & Pal, S. K., 2007. Classification and Learning Using Genetic Algorithms: Application in Bioinformatics and Web Intellegence. New York: Springer. 

10 February 2010

Mengurutkan data

Bermain-main array menggunakan bahasa pemrograman visual basic (VB6) khususnya yang diaplikasikan dalam bentuk fungsi atau prosedur sangat menarik. Ni,.. salah satu buktinya, kita buat untuk mengurutkan data dalam bentuk array atau larik satu dimensi. Memang sih sebenarnya terdapat banyak metode atau cara mengurutkan data, disini akan dibuat fungsi untuk pengurutan sederhana (kalau tidak salah biasanya disebut buble sort). Kode fungsinya adalah sebagai berikut:

Posting Popular