Archive for May, 2009

30
May
09

Searching dan Sorting di C++

1. Pengertian Searching
Pencarian (Searching) merupakan proses yang fundamental dalam pemrograman, guna menemukan data (nilai) tertentu di dalam sekumpulan data yang bertipe sama. Fungsi pencarian itu sendiri adalah untuk memvalidasi (mencocokkan) data.

2. Metode pencarian dibagi menjadi 2, yaitu:
1. Metode Pencarian Beruntun
Konsep yang digunakan dalam metode ini adalah membandingkan data-data yang ada dalam kumpulan tersebut, mulai dari elemen pertama sampai elemen ditemukan, atau sampai elemen terakhir.
2. Metode Pencarian Bagi Dua (Binary Search)
Metode ini diterapkan pada sekumpulan data yang sudah terurut (menaik atau menurun). Metode ini lebih cepat dibandingkan metode pencarian beruntun. Data yang sudah terurut menjadi syarat mutlak untuk menggunakan metode ini.
Konsep dasar metode ini adalah membagi 2 jumlah elemennya, dan menentukan apakah data yang berada pada elemen paling tengah bernilai sama, lebih dari atau kurang dari nilai data yang akan dicari. Jika bernilai sama, maka langsung data yang dicari ditemukan. Jika data di elemen terurut naik, maka jika data yang berada di tengah kurang dari data yang dicari, maka pencarian selanjutnya berkisar di elemen tengah ke kanan, dan begitu seterusnya sampai ketemu atau tidak sama sekali. Dan sebaliknya untuk nilai data yang berada di tengah lebih dari data yang dicari, maka pencarian selanjutnya berkisar di elemen tengah ke kiri, dan begitu seterusnya sampai ketemu atau tidak sama sekali. Dan demikian sebaliknya untuk data yang terurut menurun. Dalam hal ini tentukan indeks paling awal dan indeks paling akhir, untuk membagi 2 elemen tersebut.
Indeks awal = i, dimana nilai i, pada awalnya bernilai 0;
Indeks akhir = j, dimana nilai j, pada awalnya bernilai sama dengan jumlah elemen.

contoh script 1:
//#include
#include
#include
//#pragma hdrstop
//#pragma argsused
int main(int argc , char* argv[])
{
int x,i,k;
int l[10]={20,15,22,30,60,28,17,18,21,22};
printf(“Data yang dicari = “); scanf(“%d”,&x);
k=0;
for(i=0;i<9;i++)
{
if(l[i]==x)
{
printf("Data ditemukan di elemen %d\n",i);
k++;
}
}
if(k==0)
{
printf("Data tidak ditemukan\n");
}
printf("Jumlah data yang ditemukan = %d",k);
getch();
return 0;
}
contoh script 2:
//#include
//#include hrdstop
#include
#include

//#pragma argsused
int main(int argc, char* argv[])
{
int X,i,j,k,p;
int L[10]={12,14,15,17,23,25,45,67,68,70};

/*Menentukan apakah terurut menaik atau menurun*/
/*Variabel p digunakan untuk kode, apakah menaik atau menurun*/
/*Jika p=0, maka data terurut menaik*/
/*Jika p=1, maka data terurut menurun*/

if (L[0]<L[9])
{
printf("Data terurut menarik \n");
p=0;
}
else
{
printf("Data terurut menurun \n");
p=1;
}

/*input data X yang akan dicari*/

printf("Data yang dicari="); scanf("%d",&X);

/*Penentuan indeks awal dan akhir semula*/
i=0;
j=9;

/*proses perulangan untuk menentukan nilai tengah k */

do
{
k=(i+j)/2;
if (p==0) //jika data terurut menaik
{
if (L[k]==X)
{
printf ("Data ditemukan di elemen %d",k);
getch();
return 0; //langsung keluar program
}
else if(L[k]X)
{
i=k;
}
else
{
j=k;
}
}
}
while(k!=0); //sampai nilai k=0, iterasi berakhir
printf(“data tida ditemukan!!”);
getch();
return 0;
}

26
May
09

Object Oriented Programming (OOP)

1. Pengertian Object Oriented Programming (OOP)
Object Oriented Programming (OOP) adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya.
Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan)
• Variabel dan method dalam suatu obyek dibungkus agar terlindungi
• Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
• Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
• Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur

– Inheritance (pewarisan)
• Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
• Class yang mewarisi disebut superclass
• Class yang diberi warisan disebut subclass
• Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.

Keuntungan Penggunaan Pewarisan
• Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method).
• Dengan demikian pada pembuatan subclass, programmer bisa menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse.
• Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class.

– Polymorphism (polimorfisme – perbedaan bentuk)
Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu bentuk.

2. Perbedaan Object Oriented Programming (OOP) dengan Procedural Programmming
1. Pemrograman Prosedural Fungsi dan data menjadi satu kesatuan yang disebut obyek sedangkan Pemrograman Prosedural Diselesaikan dalam bentuk prosedur atau fungsi
2.Pemrograman Prosedural Obyek-obyek dalam OOP bersifat aktif sedangkan Pemrograman Prosedural Program merupakan urut-urutan Instruksi
3. Pemrograman Prosedural Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah sedangkan Pemrograman Prosedural Program dipecah-pecah ke dalam sub
program yang lebih sederhana
4. Pemrograman Prosedural Fungsi dan prosedur digunakan untuk memanipulasi data
5. Pemrograman Prosedural Sedangkan data sendiri bersifat pasif

Kesimpulan Perbedaan antara prosedural dan OOP
• Prosedural : Fokus pada bagaimana cara komputer menangani masalah
• OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.
Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.

3. Pengertian class dalam OOP
Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance.
Class memiliki anggota yang disebut Anggota Class (class member).
Anggota Class terdiri dari :
1. atribut
2. method.
Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Contoh pembuatan class:

class BilanganRasional
{
public :
void assign (int,int);
void cetak();
private :
int pembilang, penyebut;
};

Perhatikan contoh di atas. Untuk mendefinisikan sebuah kelas, dipakai kata kunci class, diikuti dengan pendeklarasian nama kelas tersebut. Fungsi assign() dan cetak() disebut member function (member fungsi). Sedangkan variabel pembilang dan penyebut disebut member data (member data atau member variabel). Disebut member karena kesemuanya merupakan anggota dari kelas BilanganRasional.
Perhatikan kata kunci Public dan Private. Member functions pada contoh di atas dideklarasikan sebagai fungsi global, sedangkan member data dideklarasikan sebagai lokal. Perbedaannya, member global dapat diakses dari luar kelas, sedangkan member lokal hanya dapat diakses dari kelas itu sendiri.
4. Apa itu object
Objek adalah sesuatu yang memiliki identitas (informasi tentang dirinya) dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek hewan adalah berjalan, berlari, tidur dll.Dalam pemrograman identitas dapat dikatakan sebagai properties, sebagai contoh membuat program multimedia berupa share video, objeknya berupa video yang mempunyai identitas berupa nama video, size video, format file dan jenis video. Untuk tingkah laku disebut sebagai methode.
• Obyek diciptakan dengan perintah new.
• Misal akan diciptakan obyek baru dari class mobil dengan nama mobilku
• Maka perintah penciptaan obyek mobilku dari class Mobil :
Mobil mobilku = new Mobil();

5. Ciri-ciri object !
• Obyek memiliki status (state) dan tingkah laku (behavior).
• Status (state) disebut juga dengan atribut.
• Contoh obyek : obyek mobil
– Atribut : merek, warna, bahan bakar.
– Method : pindah persnelling, kecepatan bertambah, dll.
• Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method.

26
May
09

Arti Suara (Beep) Saat Booting

Pada saat kita menyalakan komputer maka akan terdengar suara yang keluar dari speaker internal casing yang terhubung ke motherboard. Suara ini biasa dinamai dengan Beep. Suara yang dikeluarkan bisa berbeda-beda tergantung dari kondisi komputer saat itu. Dengan mengetahui arti dari suara (beep) saat booting maka secara otomatis kita dapat mengetahui kondisi komputer. Tapi tahukah anda arti dari suara-suara beep tersebut?

Secara mudahnya suara beep ini ada 2 macam yakni beep panjang dan beep pendek. Berikut penjelasan lengkapnya:

* Beep pendek 1X = Komputer berjalan dengan normal

* Beep pendek berulang-ulang = Ada permasalahan pada Motherboard. Kita bisa memeriksa kondisi motherboard, mengecek perangkat hardware yang terpasang ke motherboard, memeriksa semua kabel data, kabel power dan sebagainya.

* Beep panjang 1X = Ada permasalahan pada Memori. Untuk mengetahui permasalahan seputar memori silahkan baca pada artikel Mengetahui kerusakan seputar memori / RAM

* Beep panjang 1X yang diikuti dengan beep pendek 3X = Ada permasalahan pada VGA Card / Kartu Grafis. Periksa VGA Card dari beberapa kemungkinan seperti kurang terpasang dengan benar ke soket nya, bagian bawah VGA (yang berwarna keemasan) kotor, mencoba VGA Card milik orang lain ke motherboard kita dan sebagainya.
* Beep 4x berarti kegagalan system timer. Kemungkinana ada kesalahan pada satu atau lebih timer yang digunakan untuk mengontrol fungsi – fungsi pada motherboard.
* Beep 5x berarti kegagalan prosesor. Dapat disebabkan oleh panas yang berleih, atau karena prosesor tidak terpasang dengan benar pada socketnya.
* Beep 6x berarti kegagalan keyboard controller/ gate 20. keyboard controller adalah chip pada motherboard yang mengendalikan keyboard anda.
* Beep 7x berarti kesalahan pada prosesor.

* Beep 8x kegagalan baca / tulis memory display.
* Beep 9 x kerusakan pada BIOS

* Beep 10 x berarti kerusakan pada CMOS.
* Beep 11 x berarti kerusakan pada cache memory.
* Tidak ada suara sama sekali = Tidak dapat dipastikan bagian mana dari perangkat hardware yang mengalami masalah. Jika ini terjadi maka kita bisa memeriksa seluruh bagian dari perangkat hardware, membongkar semua isi casing lalu dipasangkan kembali dengan benar. Alangkah baiknya sebelum dipasang, kita bersihkan dahulu dari debu yang menempel.

Dengan mengetahui arti dari suara beep diatas maka proses pendeteksian dan permasalahan komputer dapat diketahui sejak dini.

22
May
09

VARIABEL, TIPE DATA DAN EKSPRESI PADA C++ IDENTIFIER

Indentifier adalah nama yang diberikan untuk nama objek, nama fungsi, nama
variable, dll ( sifatnya ‘case sensitive’). Identifier pada C++ terdiri dari :
1. huruf ‘A’ sampai ‘Z’
2. huruf ‘a’ sampai ‘z’
3. underscore ( _ )
4. bilangan antara ‘0’ sampai ‘9’
Ketentuan dalam memberi nama identifier dalah C++ adalah :
1. karakter pertama harus huruf atau underscore
2. untuk compiler Borland, panjang maksimum 32 karakter
3. identifier harus tidak sama dengan keyword yang ada di C++
contoh identifier :
– Yang benar : nilai, Nilai_nama, No8
– Yang salah : 1Buah, nomor-data, if

TIPE DATA DI C++
Tipe data diklasifikasikan berdasarkan bagaimana keadaan data disimpan
dalam memori, dan jenis operasi yang dapat dilakukan.

CHAR
Adalah sembarang huruf, angka, tanda baca tunggal. Ada 2 (dua) macam
char, yaitu :
1. signed
mendeklarasikan char bertanda, digunakan untuk nilai negative.
Rentang nilai mulai -128 sampai 127
2. unsigned
mendeklarasikan char tidak bertanda, untuk nilai positif. Rentang nilai
mulai 0 sampai 255

contoh deklarasi char :
char letter = ‘A’ ;
unsigned char number = 245 ;
signed char value = -71 ;

SHORT, INT, LONG
Digunakan untuk menyatakan bilangan bulat. Seperti pada char, perubah tipe
signed dan unsigned dapat ditambahkan.
Rentang nilai short int mulai -32.768 sampai 32.767
Rentang nilai long / int mulai -2.147.483.648 sampai 2.147.483.647
Contoh deklarasi int :
Int nilai, total ; atau
Int nilai = 90 ;

FLOAT, DOUBLE
Menyatakan bilangan pecahan/real, maupun eksponensial. Dalam keadaan
default, bilang floting point dianggap bertipe double.
Rentang nilai float mulai 3,4 E -38 sampai 3,4 E +38
Rentang nilai double mulai 1,7 E -308 sampai 1,7 E +308

ENUMERATION / ENUM
Adalah serangkaian symbol berurutan yang menspesifikasikan konstanta
bertipe integer. Dalam C++ tidak terdapat tipe Bolean, sehingga untuk
merepresentasikan TRUE dengan nilai integer bukan nol ( 1, 2, dst ),
sedangkan FALSE dengan nilai nol ( 0 )
Contoh deklarasi enum :
Enum BOOLEAN { False, True } ; atau
Enum BOOLEAN { Benar = 3, Salah = 0 } ;

VOID
Menyatakan tipe kosong untuk :
1. mendeklarasikan fungsi yang tidak mengembalikan nilai apapun.
2. mendeklarasikan fungsi yang tidak menerima parameter apapun.
3. bila diawali dengan operator *, menyatakan penunjuk terhadap
sembarang tipe data.

Contoh deklarasi void :
Void cctrputs (char*, int ) ; atau
Main (void) ; atau
Void* action ;
Int ivalue = 100 ;
Action = &ivalue ;

PENUNJUK / POINTER
Adalah variable yang berisi nilai alamat suatu lokasi memori tertentu.
Deklarasi penunjuk dilakukan dengan menspesifikasikan *, sebelum nama
varabel / konstanta.

PENUNJUK / POINTER
Adalah sekelompok data bertipe sama yang menduduki lokasi memori yang
berurutan. Jumlah elemen array dinyatakan dengan cara mengapit jumlah
yang di maksud dengan tanda ‘ [ … ] ‘
Bentuk umum : tipe namaArray [ jumlahelemen ] ;
Untuk menyatakan array berdimensi lebih dari 1 (satu), tambahkan tanda
‘[ … ]’ sebanyak dimensi yang diinginkan.
Contoh deklarasi array 2 dimensi :
Int matrix [2][3] ;

STRING
Deretan karakter yang diakhiri dengan sebuah karakter kosong. String ditulis
dengan mengapit string dengan tanda petik dua ( “ …….” )
Contoh deklarasi string :
Char text [ ] = “ C++ “ ;
Puts (text) ;

STRUCT, UNION
Digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe yang
berlainan. Struct : elemennya ada dilokasi memori yang berbeda, dan union :
elemennya ada dilokasi memori yang sama.

Bentuk umum :
Struct tipestruktur
{
Tipeanggota1 namaAnggota1 ;
Tipeanggota2 namaAnggota2 ;
………….
}
namaStruktur ;

DATA OBJEK
Data objek adalah bagian dari memori yang digunakan untuk menampung
nilai dari variable. Variable umumnya digunakan untuk data objek yang
nilainya dapat diubah selama pemrosesan berlangsung.
Contoh deklarasi variable :
Int nilai ; atau int nilai = 80 ;
Dalam C++ pendeklarasian termasuk statemen, sehingga pendeklarasian
dapat diletakkan pada sembarang tempat dalam program.
Konstanta data objek adalah : variable yang nilainya tidak dapat diubah
selama pemrosesan berlangsung.
Contoh deklarasi konstanta :
Const double pi = 3.14 ;

SCOPE IDENTIFIER
Ruang lingkup / scope adalah bagian mana dari program, identifier tersebut
dapat diakses. Scope dari suatu identifier dimulai dari pendeklarasian sampai
dengan akhir dari suatu blok. Scope identifier ada 2, yaitu :
1. local identifier
dideklarasikan di dalam blok ‘ { … } ‘
2. global identifier
dideklarasikan di luar dari blok
Scope relolution operator ( :: ) dapat digunakan untuk mengakses variable
global secara langsung.

Contoh variable global :
Int x ;
F ( )
{
int x ;
:: x = 4 ; // pemberian nilai untuk variable global x
}

OPERATOR DAN EKSPRESI
Ekspresi adalah rangkaian dari operator, operand, dan punctuator ( ; )
contoh :
3 + 4 * 1 ;

OPERATOR ARITMATIKA
Terdiri dari :
– penjumlahan ( + )
– pengurangan ( – )
– sisa bagi / hanya untuk tipe data integer ( % )
– perkalian ( * )
– pembagian ( / )
Jika operator bagi ( / ) diterapkan pada tipe integer, akan menghasilkan
bilangan integer dengan decimal yang dihilangkan.

ASSIGNMENT OPERATOR ( = )
Berfungsi untuk memberi nilai pada variable.
Table kombinasi assignment :
NO. PENYINGKATAN ARTI
1 X += Y X = X + Y
2 X -= Y X = X – Y
3 X *= Y X = X * Y
4 X /= Y X = X / Y
5 X %= Y X = X % Y

INCREMENT DAN DECREMENT OPERATOR
Increment adalah penambahan suatu variable dengan nilai 1, dan
decrement adalah pengurangan suatu variabel dengan nilai 1.
Tabelnya :
INCREMENT DECREMENT
++X ; – -X ;
X += 1 ; X -= 1 ;
X = X + 1 X = X – 1 ;
Operator increment dan decrement dapat diletakkan pada awal atau akhir
variable, seperti dibawah ini :
++X , nilai variable X dinaikkan dahulu sebelum diproses
X++ , nilai variable X diproses dahulu sebelum dinaikkan
Contoh program increment :
# include
main ( )
{
int X = 5 ;
cout << “ Nilai X = ” <
cout << “ Nilai X++ = “ <
cout << “ X = “ <
X = 5 ;
cout << “ Nilai X = ” <
cout << “ Nilai ++X = “ << ++X << ‘ \n ‘ ;
cout << “ X = “ <
return 0 ;
}
Outputnya :
Nilai X = 5
Nilai X++ = 5
X = 6
Nilai X = 5
Nilai ++X = 6
X = 6

EQUALITY, RELATIONAL, LOGIKA OPERATOR
Equality digunakan untuk menentukan apakah 2 buah variable memiliki nilai
yang sama atau tidak.
= = , sama dengan, contoh : 5 = = 5
! = , tidak sama dengan , contoh : 5 ! = 4
Relational operator digunakan untuk menentukan apakah suatu variable
memiliki nilai lebih besar atau sama dengan lebih besar, lebih kecil atau lebih
kecil sama dengan.
Operatornya : < , , > =
Logika operator adalah : (penulisan dibawah ini berdasarkan prioritas
operator yang akan diproses terlebih dahulu )
1. ! ( not )
2. && ( and )
3. || ( or )

EKSPRESI CONDITIONAL
Bentuk umumnya :
Ekspresi C ? ekspresi T : ekspresi S ;
Keterangan :
– ekspresi C = kondisi yang akan diproses lebih dahulu
– ekspresi T = jika kondisi ekspresi C nilainya TRUE, akan dijalankan
– ekspresi S = jika kondisi ekspresi C nilainya FALSE, akan dijalankan
contoh program :
# include
void main ( )
{
double nilai ;
cout <> nilai ;
Nilai = (nilai
cout << “nilai absolutnya =” <
return 0 ;
}

FORMAT OUTPUT PADA BILANGAN REAL
Beberapa format yang dapat dilakukan :
1. derajat ketelitian, dengan fungsi : precision.
2. lebar output dapat diubah dengan fungsi : width.
3. format bilangan real diubah dengan fungsi : setf diikuti argument : ios
:: scientific atau ios :: fixed
4. aligment (rata kiri/kanan) dengan fungsi : setf atau unsetf diikuti
argument : ios :: left atau ios :: right
5. karakter pengisi dengan fungsi : fill diikuti argument karakter
6. tampilan tanda ‘+’ diubah dengan fungsi : setf atau unsetf diikuti
argument : ios :: showpos
7. tampilan tanda ‘.’ (titik) bila ada angka dibelakang koma diubah dengan
fungsi : setf atau unsetf diikuti argument ios :: showpoint
contoh program :
# include
# pragma hdrstop
void main ( )
{
Double y = 1234.56789 ;
Cout << “menuliskan bilangan real dengan presisi berbeda’ ;
cout << “ \n Presisi 3 = “ ;
cout.precision (3) ;
cout.width (15) ;
cout <“<<endl;
cout << “ \n Presisi 7 = “ ;
cout.precision (7) ;
cout.width (15) ;
cout <“<<endl;
cout << “ \n \n Menggunakan notasi scientific / fixed “ ;
Cout.setf (ios :: scientific | ios :: showpos) ;
cout << “ \n Scientific = “ <
cout.setf (ios :: fixed) ;
cout << “ \n Fixed = ‘ <
cout.unsetf (ios :: scientific | ios :: fixed | ios :: showpos) ;
cout << “ \n \n Menggunakan shompoint “ ;
double z = 123 ;
out.setf (ios :: showpoint) ;
out << “ \n Showpoint aktif = “ <
out.unsetf (ios :: showpoint) ;
out << “\n Showpoint non aktif : “ <
}




May 2009
M T W T F S S
 123
45678910
11121314151617
18192021222324
25262728293031

Top Clicks

  • None

Blog Stats

  • 44,656 hits

RSS 1

  • An error has occurred; the feed is probably down. Try again later.