Object Library pada VB

February 23, 2009

Apa itu Object Library ???
- Adalah sebuah library untuk berhubungan dengan object-object Windows
- Aplikasi Office (Word, Excel, dll)
- Disimpan dalam file *.olb

Penggunaannya ???
- Mengontrol aplikasi dengan menggunakan program
- Contoh untuk aplikasi MS Word
Menulis sesuatu
Menyimpan
Membuka file
Mengatur Font
Menonaktifkan window
Dan lain-lain

Caranya???
- Tambahkan Object library dalam reference project
- Klik Project –> References..
1

- Akan terbuka window yang terdapat list semua reference yang bisa digunakan
- Pilih object library yang akan dipakai
- Tekan “OK”

21

- Kemudian deklarasikan sebuah variabel yang menyatakan object library tersebut
- Contoh:
Dim myWORD As new Word.Application
- Dengan menggunakan variabel myWORD, maka VB bisa mengontrol MS Word, yaitu dengan jalan mengeset property-property yang ada pada variabel myWORD tadi
- Untuk memanipulasi dokument yang sedang terbuka, gunakan property ActiveDocument
- Contoh:
myWORD.ActiveDocument.Content.Italic
myWORD.ActiveDocument.SpellingChecked
myWORD.ActiveDocument.Content.Text
myWORD.ActiveDocument.Content.Bold

Contoh???
- Alur logika
Membuat sebuah sub yang berfungsi membuka MS word
Membuat dokument baru
Kemudian membuat tulisan beserta formattingnya
code :
Private Sub Command1_Click()
myWORD.Visible = True
myWORD.Documents.Add
myWORD.ActiveDocument.Content.Bold = True
myWORD.ActiveDocument.Content.Italic = True
myWORD.ActiveDocument.Content.Text = “testing object library”
End Sub

3

Pemrograman API

by Henning T.C.


Ketika Komputer Hang atau Sering Muncul Layar Biru

February 16, 2009

Gejala ini seringkali muncul ketika komputer yang anda gunakan mengalami overheat pada processor. Langkah untuk memperbaiki gejala komputer macam ini adalah dengan memeriksa apakah heatsink kompter anda kotor sehingga menyebabkan terhambatnya aliran angin dari kipas ke arah processor, jika benar maka cukup bersihkan heatsink tersebut dengan penyedot debu agar kotoran-kotoran pada heatsink bisa terangkat dan membuka kembali jalur heatsink yang tersumbat. Jika kemungkinan pertama tidak terjadi, maka kemungkinan kedua adalah isolator pada pembatas heatsink dengan processor mengalami kekeringan, cara untuk mengatasinya yaitu dengan membuka heatsink processor dan membersihkan pasta (krim kental yang menjadi isolator antara heatsink dengan permukaan processor) yang telah mengering dan memberi pasta yang baru. Pasta yang kering pada heatsink sangat berpengaruh, karena selain mampu meredam panas yang dihasilkan oleh heatsink ketika rpm pada kipas tidak bisa berputar lebih cepat untuk mendinginkan teperatur processor.


SOFTWARE DEVELOPMENT LIFE CICLE

March 1, 2008

Rad Model

(Rapid Application Development) RAD Model lebih cocok untuk dikategorikan ke dalam kategori incremental model. Hal ini beralasan karena RAD model walaupun pada awalnya mempunyai bentuk sekuensial model akan tetapi dimodifikasi agar proses development-nya dapat dipercepat dengan menggunakan component based yang merupakan ciri dari incremental model. Maksud dari component based pada RAD ini adalah agar proses pengerjaan dapat dipercepat dengan cara membagi program menjadi bagian-bagian terkecil yang tiap bagian tersebut ada tim tersendiri yang bertanggung jawab.
Ilustrasi dari RAD model dapat dilihat pada gambar 1.

rad.jpg

 gambar 1

Untuk lebih jelasnya pendekatan langkah-langkah dari RAD adalah :

1.    Business Modelling
Pada proses ini akan dikonsentrasikan dalam merancang dan menentukan seluk beluk informasi-informasi yang akan diproses oleh aplikasi yang akan dibuat secara mendasar. Biasanya proses ini digunakan untuk menjawab pertanyaan jenis informasi apa yang dipakai dalam aplikasi tersebut, siapa yang menciptakan informasi tesebut, siapakah yang memproses informasi tersebut dan lain sebagainya.

2.    Data Modelling
Informasi-informasi yang telah didefinisikan oleh langkah pertama akan diklasifikasikan ke dalam objek-objek yang dibutuhkan. Selain itu, objek-objek yang ada juga harus ditetapkan atribut-atribut yang ada di dalamnya dan juga menetapkan hubungan di antara objek-objek tersebut.

3.    Process Modelling
Objek-objek yang dihasilkan oleh langkah sebelumnya akan dibentuk agar dapat menghasilkan informasi yang dibutuhkan agar proses bisnis atau tujuan aplikasi dapat berjalan.

4.    Application Generation
Pada tahap ini pengimplementasian aplikasi dalam bentuk pemrograman dimulai. Pada tahap ini idealnya pengimplementasian dari tahap ini adalah dengan menggunakan teknik generasi keempat. Dalam banyak kasus penggunaan tools amat membantu. Dalam RAD model banyak dari komponen-komponen program merupakan komponen yang sudah ada sehingga hanya tinggal memakai saja ataupun mengubah yang dianggap perlu.

5.    Testing & Turnover
Pada tahap ini proses pengecekan kesalahan dimulai. Apabila dalam langakh sebelumnya banyak menggunakan komponen-komponen yang sudah ada maka proses testing dapat lebih cepat karena komponen yang sudah ada tersebut sudah pernah di uji cobakan pada proses sebelumnya sehingga lebih menghemat waktu pada tahap ini.

Concurent Development Model

Model perkembangan konkuren atau disebut juga rekayasa konkuren digambarkan oleh Davis dan Sitaram.

 concurent.jpg

Model  proses yang konkuren dapat disajikan secara skematis sebagai sederetan aktivitas teknis mayor, tugas-tugas, dan keadaannya yang lain. Contohnnya aktivitas rekayasa yang dibatasi untuk model spiral dipenuhi dengan melakukan tugas-tugas sebagai berikut : prototiping, dan atau permodelan analisis, spesifikasi kebutuhan, dan rancangan.
Gambar di atas memberikan representasi skematis dari aktivitas di dalam model proses yang konkuren. Aktifitas analisis bisa berada dalam salah satu dari keadaan-keadaan yang dicatat pada saat tertentu. Dengan cara yang sama, aktivitas yang lain (desain atau komunikasi pelanggan) dapat direpresentasikan dalam sebuah sikap yang analog(menunjukkan persamaan). Semua aktifitas ada secara konkuren(bersamaan) tetapi dia tinggal di dalam keadaan yang berbeda. Contohnya, di awal proyek, aktivitas komunikasi pelanggan telah melengkapi iterasi pertamanya dan berada di dalam keadaan menunggu perubahan. Aktifitas analisis (Yang ada di dalam non state sementara komunikasi pelanggan inisial dilengkapi) sekarang membuat sebuah transisi ke dalam keadaan di bawah perkembangan. Tetapi,  jika pelanggan menunjukkan bahwa perubahan kebutuhan harus dibuat, maka aktifitas analisis bergerak dari keadaan di dalam perkembangan ke dalam keadaan menunggu perubahan.

 

Win Win Spiral Model

Win-win sipral model merupakan bentuk modifikasi dari spiral model  yang biasa. Modifikasi ini dianggap perlu karena pada spiral model yang biasa proses pemerolehan requirement dianggap hanya sekali dan klien dianggap dapat memberikan detail-detail yang diperlukan sebagai landasan dari aplikasi yang diminta secara searah. Akan tetapi, pada kenyataanya perlu adanya negosiasi antara developer dan klien agar dapat dicapai kesepakatan mengenai harga dan tenggat waktu pengerjaan sehingga dapat seimbang dengan performa, fungsi dan karakteristik dari aplikasi yang akan dibuat.
Kata win-win pada model ini lebih mengacu pada proses negosiasinya. Dan seperti halnya spiral model biasa, proses negosiasi ini dilakukan setiap awal iterasi dari spiral. Ilustrasi dari win-win spiral model dapat dilihat pada gambar 2.

 win-win.jpg

gambar 2

Perbedaan mendasar pada spiral model dengan win-win spiral model adalah pada metode kesepakatan awalnya. Pada spiral model biasa proses komunikasi dari konsumen dilakukan secara searah, maksudnya developer hanya menerima order dari klien dengan asumsi bahwa konsumen telah mempunyai tawaran yang tidak dapat diganggu gugat. Akan tetapi pada win-win spiral model proses komunikasi di awal iterasi dilakukan secara negosiasi sehingga pihak klien dan developer mendapat kesepakatan yang tidak berat sebelah.

Perbedaan iteratif dan incremental model

Pada model iteratif proses pengembangan software dilakukan secara berulang dengan catatan perulangan setelahnya merupakan pengembangan dari perulangan sebelumnya sehingga diharapkan dapat menghasilkan produk yang lebih baik. Bentuk dasar dari iteratif model diilustrasikan oleh gambar 3.

 iteratif.jpg

gambar 3

Sedangkan pada model incremental proses pengembangan software dipercepat dengan cara membagi aplikasi menjadi bagian-bagian tertentu yang akhirnya dikerjakan secara modular oleh tim-tim yang telah dibentuk. Tiap tim bertanggung jawab terhadap bagian yang diberikan kepada tim tersebut. Bentuk dasar dari incrementasl model diilustrasikan pada gambar 4.

incremental1.jpg

gambar 4


Menghilangkan atribut Hidden dan Super Hidden

February 20, 2008
Ni sebenarnya juga g penting buat yang sudah tau, tapi apa salahnya diulang-ulang biar yang g tau bisa ngerti apa yangharus mereka perbuat. Tips lain untuk menghilangkan atribut hidden dan superhidden pada drive harddisk ataupun flashdisk. Lakukan pada CommandPrompt dan tujukan perintah pada drive yang akan dikembalikan file atau folder yang yang ter-hidden. Lakukan perintah “attrib –s –h /s /d” kemudian tekan enter.

attrib.jpg

PETUNJUK UNTUK MENGEMBALIKAN SETTING FOLDER OPTION PADA REGISTRY

February 20, 2008
Sebenarnya, saya sudah memosting petunjuk ini pada beberapa bulan yang lalu. Namun masih saja banyak orang awam yang sampai saat ini sangat kebingungan apabila registry windows-nya berantakan setelah terkena virus Trojan dan semacamnya. Ini hanya trik untuk menormalkan kembali setting registry ketika folder-folder secara default terhidden dan ketika folder option dikembalikan ke keadaan semula akan kembali pada default don’t show hidden file and folder ataupun hide protected operating system files. Hal ini bias dikembalikan dengan sedikit sentuhan pada registry. Caranya, kembalikan setting nilai default pada registry. Silakan buka menu regedit pada system, dengan cara buka run pada start menu, kemudian tekan button run, setelah itu tulis text ‘regedit’ dan kemudian akan muncul window “Registry Editor”. Secara berturut-turut buka HKEY_LOKAL_MACHINE => SOFTWARE => Microsoft => Windows => CurrentVersion => Explorer => Advanced => Folder. Kemudian buka satu persatu, Hidden => NOHIDDEN, setting kembali value nya, pertama bagian CheckedValuepastikan bernilai 2, kemudian DefaultValue pastikan bernilai 2.

nohidden.jpg
Kemudian setiing padabagian SHOWALL dengan menyetting kembali nilai CheckedValue, pastikan bernilai 1, sedangangkan DefaultValue pastikan bernilai 0.

showall.jpg
Kemudian buka bagian HideFileExt untuk menyetting default value file extention. Setting bagian CheckedValue, pastikan bernilai 0. Kemudian DefaultValue, pastikan bernilai 0. Dan pada UncheckedValue, pastikan bernilai 1.

hidefileext.jpg
Kemudian yang terakhir, kita akan mengembalikan kondisi system file. Setting pada bagian SuperHidden. Lakukan setting dengan nilai seperti HideFile Ext, dimana pada CheckedValue bernilai 0, DefaultValue bernilai 0 dan pada UncheckedValue bernilai 1.

superhidden.jpg
Cukup simple dan mudah-mudahan berguna. Setting folder option anda akan kembali seperti semula.

Contoh source code gauss.c

December 12, 2007

Ini adalah contoh program eliminasi Gauss dalam bahasa C.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>

#define MAX 20

void gauss2(double a[MAX][MAX], double b[MAX], int, int, double x[MAX]);
void cetak(double a[MAX][MAX], double b[MAX], int);
void hasil(double a[MAX][MAX], double b[MAX], int);

main(){
double a[MAX][MAX], b[MAX], x[MAX];
int dimensi, baris, kolom, flag;
char z;
do{
system(“cls”);
printf(“Masukkan dimensi : “);
scanf(“%d”, &dimensi);

printf(“masukkan koefisien matriks :\n”);
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom<=dimensi; kolom++){
printf(“a(baris[%d],kolom[%d]) : “, baris, kolom);
scanf(“%lf”, &a[baris][kolom]);
}
}

printf(“\nmasukkan vektor hasil :\n”);
for(baris=1; baris<=dimensi; baris++){
printf(“b(baris[%d]) : “, baris);
scanf(“%lf”, &b[baris]);
}
cetak(a, b, dimensi);
printf(“\nTekan sembarang tombol untuk memulai perhitungan\n”);
getch();
gauss2(a, b, dimensi, flag, x);
if(flag!=0){
printf(“\nTekan sembarang tombol untuk memulai perhitungan nilai x\n”);
getch();
hasil(a, b, dimensi);
}
printf(“\n\nNgulangi lagi ?(y/t) >”);
z=getch();
printf(“\n\n”);
}while(z==’y'||z==’Y');
}

void gauss2(double a[MAX][MAX], double b[MAX], int dimensi, int flag, double x[MAX]){
double pivot1, pivot2;
int pos, baris, kolom;
flag = 1;

for(pos=1; pos<=dimensi; pos++){
pivot1 = a[pos][pos];
if(pivot1 == 0){
flag=0;
printf(“pivot pada a[%d][%d] bernilai nol, tidak ada penyelesaian”, pos, pos);
break;
}
else{
for(kolom=1; kolom<=dimensi; kolom++)
a[pos][kolom]=a[pos][kolom]/pivot1;
b[pos]=b[pos]/pivot1;
cetak(a, b, dimensi);
for(baris=pos; baris<=dimensi; baris++){
if(baris+1<=dimensi){
pivot2 = a[baris+1][pos];
for(kolom=1; kolom<=dimensi; kolom++)
a[baris+1][kolom]=a[pos][kolom]*(-pivot2)+a[baris+1][kolom];
b[baris+1]=b[pos]*(-pivot2)+b[baris+1];
cetak(a, b, dimensi);
}
}
}
}
}

void cetak(double a[MAX][MAX], double b[MAX], int dimensi){
int baris, kolom;
printf(“\n”);
for(kolom=1; kolom<=dimensi; kolom++)
printf(” a%d “, kolom);
printf(” b \n”);
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom<=dimensi; kolom++)
printf(“%6.2lf”, a[baris][kolom]);
printf(“%6.2lf\n”, b[baris]);
}
}

void hasil(double a[MAX][MAX], double b[MAX], int dimensi){
int pos, kolom, i;
double x[MAX], temp;
x[dimensi]=b[dimensi]/a[dimensi][dimensi];

for (pos=dimensi-1;pos>=1;pos–){
temp=b[pos];
for(kolom=pos+1;kolom<=dimensi;kolom++)
temp=temp-a[pos][kolom]*x[kolom];
x[pos]=temp/a[pos][pos];
}
printf(“\n\nHASILNYA ADALAH\n”);
printf(“——————————\n”);
printf(“| I | X(I) |\n”);
printf(“——————————\n”);
for (i=1;i<=dimensi;i++)
{
printf(“|”);
printf(“%5d”, i);
printf(“\t |”);
printf(“%15lf |\n”, x[i]);
}
printf(“——————————\n”);
}

Berikut adalah hasil compile-annya.

gauss1.jpggauss2.jpg


Contoh source code forklift.c

December 12, 2007

Berikut ini adalah contoh source code untuk penyelesain algoritma forklift menggunakan C.

#include <stdio.h>
#include <conio.h>

void cariterbesar(int input[], int, int, int kanan[]);
void pindahkan(int input[], int, int, int, int kanan[]);

int main(){
int indeks=0, a, i, j, k, banyak, input[20], terbesar, ke, kanan[20];

printf(“Berapa Inputan : “);
scanf(“%d”, &banyak);
printf(“Masukkan inputan satu persatu : \n”);
for(i=0; i<banyak; i++){
printf(“Input ke %d : “, i+1);
scanf(“%d”, &input[i]);
}

printf(“\nInput :”);
for(i=0; i<banyak; i++){
printf(“%d “, input[i]);
}

cariterbesar(input, banyak, indeks, kanan);

getch();
return 0;
}

void cariterbesar(int input[], int banyak, int indeks, int kanan[]){
int j, terbesar, ke;
terbesar = input[0];
for(j=0; j<banyak; j++)
if(input[j]>=terbesar){
terbesar=input[j];
ke = j;
}

//printf(“\nTerbesar input ke %d : %d\n”, ke+1, terbesar);
pindahkan(input, ke, banyak, indeks, kanan);
}

void pindahkan(int input[], int ke, int banyak, int indeks, int kanan[]){
int y=0, l=0, w=0;

int baru = banyak;
int bykkn = banyak-ke;

printf(“\n\t\t==> “);
while(w<bykkn){
kanan[indeks+w]=input[ke+w];
printf(“%d “, kanan[indeks+w]);
w++;
}
printf(“==>”);

printf(“\n\t\t\t\thasil pindahan :”);
for(int x=0; x<indeks; x++)
printf(“%d “, kanan[x]);

while(y<bykkn){
kanan[indeks+y]=input[ke+y];
printf(“%d “, kanan[indeks+y]);
y++;
}

baru = baru-1;

while(l<baru){
input[l+ke]=input[l+ke+1];
l++;
}

printf(“\n\t\t<== “);
for(int t=ke; t<baru; t++){
printf(“%d “, input[t]);
}
printf(“<==”);

if(baru>0){
printf(“\nInput :”);
}

for(int i=0; i<baru; i++){
printf(“%d “, input[i]);
}

if(baru!=0){
indeks++;
cariterbesar(input, baru, indeks, kanan);
}
}

Berikut ini adalah hasil compile-annya

compile1.jpg