Copyright © Muhammad Abdan Syakuran
Design by Dzignine
Minggu, 27 November 2016

Pemrograman Berbasis Blok

Blok adalah suatu fungsi yang melakukan tugas tertentu atau instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan pembuatan blok/fungsi adalah :
  • Memudahkan dalam pembuatan program.
  • Menghemat ukuran program.
  • Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
  • Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
  • Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
  • Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek.
  • Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat.
  • Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
Pada bahasa pemrograman C++ dibutuhkan data dan fungsi/blok untuk dikombinasikan menjadi kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Bahasa C++ merupakan bahasa pemograman yang berasal dari bahasa awal C yang melalui proses penyempurnaan. Bahasa C++ dikenal sebagai bahasa yang rumit dan panjang di bandingkan dengan bahasa pemograman lainnya. Namun Bahasa C++ merupakan bahasa pemrograman yang cocok untuk pembuatan sebuah program, software, game yang berfokus pada performa.

Jenis-jenis blok fungsi pada C++
1. Void (Fungi tanpa nilai balik)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
  • Tidak adanya keyword return.
  • Tidak adanya tipe data di dalam deklarasi fungsi.
  • Menggunakan keyword void.
  • Tidak dapat langsung ditampilkan hasilnya.
  • Tidak memiliki nilai kembalian fungsi
Contoh fungsi void :
#include <iostream.h>
#include <conio.h>
void volume(int &vol, int p, int l, int t)
{ vol = p*l*t; }
main(){
int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"\nVolume = "<<hsl;
getch();
}











2. Non Void (Fungsi dengan nilai balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut.
Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:
  • Ada keyword return
  • Ada tipe data yang mengawali fungsi
  • Tidak ada keyword void
  • Memiliki nilai kembalian.
  • Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya
Contoh fungsi non void :

#include <iostream.h>
#include <conio.h>
int volume(int p, int l, int t)
{ int vol;
vol = p*l*t;
return vol; }
main(){
int pj,lb,hsl,tg;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
hsl=volume(pj,lb,tg);
cout<<"\nLuasnya = "<<hsl;
getch();
}











Kamis, 17 November 2016

LATIHAN SOAL SOD

  1. Diskusikan hambatan-hambatan yang harus dipertimbangkan dalam merancang sebuah indek Inversi untuk Multi-key file.
  2. Diskusikan hambatan-hambatan yang harus dipertimbangkan dalam merancang sebuah indek untuk Multi-list file.
  3. Mengapa kebanyakan implementasi dari struktur alternate-key indek sequential menggunakan pendekatan inverted dibanding pendekatan multi-list ?
  4. Jelaskan permintaan (request) yang dapat dilayani oleh indeknya sendiri dalam sebuah inverted file ?
  5. Pada beberapa Multi-list file, setiap indek entry mencakup panjang dari linked list yang berkaitan. Jenis permintaan apa yang menguntungkan dengan informasi yang tersedia ini. 
  6. Diskusikan keuntungan dan kerugian dalam memberikan tanggung jawab kepada programmer aplikasi untuk merancang file yang digunakan untuk programmnya, dibanding memberikan tanggung jawab kepada orang lain.
Jawab
  1. Semakin banyak file maka akan banyak pula key untuk menunjukkan tiap ID ke key lain. Misal, file yang kita punya ada 5 dan akan dihubungkan dengan indek inversi, dan tiap file mempunyai 5 record, maka kita harus membuat 5 key sebagai primary dan 5 key lagi sebagai secondary. Maka dengan begitu total key yang kita harus dibuat ada 50 termasuk primary dan secondary, dan bagaimana bila ada 1000 record, akan semakin banyak pula key yang perlu dibuat.
  2. Multi-list file hanya mempunyai sebuah penunjuk untuk data record pertama dengan nilai key. Data record mempunyai penunjuk data record selanjutnya dengan nilai key dan seterusnya. Maka terdapat sebuah linked-list dari data record untuk setiap nilai dari secondary key. Hambatannya yaitu untuk sebuah penunjuk yang menunjuk ke alamat dimana data disimpan maka dibutuhkan banyak kunci, maka di tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
  3. Karena pendekatan inverted penggunaannya lebih mudah dan sederhana dibentuk sebagai sebuah file karena sebuah key pada indek inversi mempunyai semua nilai key dan masing-masing nilai key mempunyai petunjuk ke record yang bersangkutan. Sedangkan pendekatan multi list membutuhkan banyak kunci dimana tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
  4. Indek inversi mempunyai semua nilai key, masing-masing nilai key mempunyai penunjuk ke record yang diminta. Misal, sebuah indek inversi dengan nilai key SOCNO untuk sebuah relatif file dengan nilai key ID akan memberikan sebuah file yang dapat diakses oleh sebuah ID atau SOCNO secara langsung atau direct.
  5. Sebuah nilai key hanya mempunyai sebuah petunjuk untuk data record pertama dengan nilai key. Maka pada multi list file terdapat sebuah linked-list dari data record untuk setiap nilai dari seconary key, misal dalam pencarian sequential membutuhkan 5 data akses berarti memiliki 5 nilai keynya masing-masing.
  6. Keuntungannya yaitu programmer dapat lebih mengerti bagaimana rancangan file yang dibuat dan akan lebih mudah untuk pengaplikasiannya  kedalam sebuah program.Sedangkan kerugiannya yaitu, pekerjaan programmer akan terhambat karena terlalu banyak tugas yang harus dikerjakan.