Archive for the 'Pemrograman C++' Category

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.

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 : “ <
}

28
Apr
09

Struktur di C++

a. memudahkan Anda untuk mengumpulkan variabel dengan tipe yang berbeda di dalam satu nama atau mengelompokkan sejumlah data dengan tipe yang berlainan.
b. Kata kunci struct, daftar pernyataan variabel yang disebut anggota, yang terlampir dalam tanda kurung { }.
c. Tiap pernyataan anggota dan struktur harus berakhir dengan semicolon ( ; )
d. Bentuk deklarasi struktur :
struct nama_struct
{
anggota_struktur ;
} ;
e. Apabila suatu struktur telah dideklarasikan, struktur ini dapat digunakan untuk mendefinisikan suatu variabel, misalnya :

nama_struct variabel_struktur;

merupakan pendefinisian variabel variabel_struktur dengan tipe structur nama_struct.
Anggota struktur dapat diakses dengan menggunakan bentuk :

variabel_struktur.anggota;

Perhatikan contoh struktur berikut ini:
struct data_tanggal
{
int tahun;
int bulan;
int tanggal;
};

Penjelasan:
o> Struktur di atas bernama data_tanggal, yang tersusun atas 3 unit penyusunnya yaitu : tahun, tanggal, dan bulan.
o>Setelah dibuat struktur tanggal, selanjutnya struktur tersebut dapat digunakan sebagai tipe data suatu variabel, dalam hal ini disebut tipe data abstrak.

  • contoh program:
    1. Tukar nilai
    #include
    #include
    void main()
    {
    struct aku
    {
    int x;
    int y;
    int z;
    };
    aku nilai;

    cout<>nilai.x;
    cout<>nilai.y;
    //proses pertukaran
    nilai.z=nilai.x;
    nilai.x=nilai.y;
    nilai.y=nilai.z;
    cout<<“Nilai setelah ditukar “<<endl;
    cout<<“Nilai x = “<<nilai.x<<endl;
    cout<<“Nilai y = “<<nilai.y<<endl;
    }

    2. Menu Hitung Luas
    #include
    #include
    void main()
    {
    struct hitung
    {
    int p;
    int l;
    int luas;
    int kell;
    int miring;
    };

    hitung aku;
    int pil;
    char pil1;
    lagi:
    cout<<“\tMENU PILIHAN\t”<<endl;
    cout<<” 1. Menghitung Luas Persegi”<<endl;
    cout<<” 2. Menhitung Luas Segitiga”<<endl;
    cout<>pil;
    cout<<endl<<endl;
    switch(pil)
    {
    case 1:
    cout<<“*** Menghitung Luas Persegi Panjang ***”<<endl;
    cout<>aku.p;
    cout<>aku.l;
    aku.luas=aku.p*aku.l;
    aku.kell=2*(aku.p+aku.l);
    cout<Luas = “<<aku.luas<<endl;
    cout<Kell = “<<aku.kell<<endl;
    break;
    case 2:
    cout<<“*** Menghitung Luas Segitiga ***”<<endl;
    cout<>aku.p;
    cout<>aku.l;
    cout<>aku.miring;
    aku.luas=aku.p*aku.l/2;
    aku.kell=aku.p+aku.l+aku.miring;
    cout<Luas = “<<aku.luas<<endl;
    cout<Kell = “<<aku.kell<<endl;
    break;
    default:
    cout<<“Pilihan yang anda masukkan tidak tersedia”<<endl;
    }
    cout<>pil1;
    switch (pil1)
    {
    case ‘y’:
    goto lagi;
    break;
    case ‘t’:
    cout<<“Terima kasih”<<endl;
    default :
    cout<<“Pilihan yang anda masukkan tidak tersedia”<<endl;
    }
    }

    3.Membuat biodata
    #include
    #include
    void main()
    {
    struct bio
    {
    int NIS;
    char nama[100];
    char jur[100];
    int no_hp;
    };
    bio siswa;
    cout<>siswa.NIS;
    cout<>siswa.nama;
    cout<>siswa.jur;
    cout<>siswa.no_hp;
    }

    4.Selisih angka
    #include
    #include
    void main()
    {
    struct waktu
    {
    int jam1,menit1;
    int jam2,menit2;
    int sel;
    int sel1;
    };
    waktu x;
    int y,z,w;

    cout<>x.jam1;
    cout<>x.menit1;
    cout<<“Waktu 1 yg anda masukkan = “<<x.jam1<<“.”<<x.menit1<<endl;
    cout<>x.jam2;
    cout<>x.menit2;
    cout<<“Waktu 2 yg anda masukkan = “<<x.jam2<<“.”<<x.menit2<<endl;

    if(x.jam1<24 && x.menit1<60)
    {
    if(x.jam2<24 && x.menit2<60)
    {
    y=(x.jam1*60)+x.menit1;
    z=(x.jam2*60)+x.menit2;
    w=z-y;
    cout<<“Selisih = “<<w<<” menit”<<endl;
    }
    }
    }

  • 04
    Apr
    09

    STRING

    String dapat berupa konstanta atau variabel. String sebagai variabel belum diperkenalkan tetapi konstanta string sejak awal sudah diperkenalkan, misalnya pada pernyataan :

    cout<<”Belajar keras biar lulus ujian “<<endl;

    Dalam C++ tipe string diartikan sebagai larik karakter, sehingga dideklarasikan sebagai :
    char nama_variabel [jumlah_maksimal_karakter];

    Contoh dekalrasinya adalah :
    char kata[20];
    Artinya :
    dideklarasikan variabel kata sebagai string yang terdiri dari 20 karakter termasuk karakter null (‘’) yang menyatakan akhir dari string.

    Dalam memasukkan tipe data string, operator << pada cin hanya bisa membaca masukkan hingga terdapat spasi, tab, atau enter.
    Solusi untuk mengatasi masalah tersebut dengan menggunakan fungsi get() dan getline() pada obyek cin dalam bentuk :

    cin.get(nama_variabel_string, jumlah_maksimal_karakter)
    dan
    cin. getline (nama_variabel_string, jumlah_maksimal_karakter),

    contohnya :

    cin. get (kata,20); dapat di cin.get(kata, sizeof(kata));
    cin. getline(kata,20); tulis cin,getline(kata, sizeof(kata));
    Contoh selengkapnya terdapat di bagian PRAKTEK.

    Dalam bahasa C++ terdapat fungsi-fungsi yang berlaku pada string antara lain :
    • gcount() : menghitung jumlah karakter
    • strcpy() : menyalin string
    • strlen() : menghitung panjang string
    • strrev() : membalik isi string
    • strlwr() : merubah ke huruf kecil
    • strupr() : merubah ke huruf capital

    Terdapat juga beberapa makro (semacam fungsi, tetapi didefinisikan dengan #define) yang berbasis karakter, antara lain :
    • islower( ) : hasil benar jika argumennya huruf kecil
    • isupper( ) : hasil benar jika argumennya huruf kapital
    • ispunct( ) : hasil benar jika argumennya berupa tanda baca
    • isspace( ) : hasil benar jika argumennya berupa karakter spasi, tab, dan enter.
    Keseluruhan makro didefinisikan pada file CTYPE.H; sehingga pada program harus dituliskan
    # include

    Contoh script program STRING

    /*PROGRAM PERTAMA */
    #pragma argsused
    #include
    #include
    void main()
    {
    char kalimat[20];
    cout<<“Masukkan kalimat (lebih dari 2 kata) : “<>kalimat;
    cout<<“Kalimat yang tadi dimasukkan adalah : “<<kalimat;
    getch();
    }

    /* PROGRAM KEDUA */
    #pragma argsused
    #include
    #include
    void main()
    {
    char kalimat[20];
    char kalimatku[25];
    cout<<“Masukkan kalimat (lebih dari 2 kata) : “<<endl;
    cin.get(kalimat,sizeof(kalimat));
    cout<<“masukkan kalimat yang lain : “<<endl;
    cin.get(kalimatku,sizeof(kalimatku));
    cout<<“Kalimat pertama yang tadi dimasukkan adalah : “<<kalimat<<endl;
    cout<<“Kalimat kedua yang tadi dimasukkan adalah : “<<kalimatku;
    getch();
    }

    /* PROGRAM KETIGA */
    #pragma argsused
    #include
    #include
    void main()
    {
    char kalimat[20];
    char kalimatku[25];
    cout<<“Masukkan kalimat (lebih dari 2 kata) : “<<endl;
    cin.getline(kalimat, sizeof(kalimat));
    cout<<“masukkan kalimat yang lain : “<<endl;
    cin.getline(kalimatku, sizeof(kalimatku));
    cout<<“Kalimat pertama yang tadi dimasukkan adalah : “<<kalimat<<endl;
    cout<<“Kalimat kedua yang tadi dimasukkan adalah : “<<kalimatku;
    getch();
    }

    /* PROGRAM EMPAT */
    #pragma argsused
    #include
    #include
    #include
    void main()
    {
    char kalimat[100];
    int i, kapital=0, kecil=0,
    spasi=0,tbaca = 0;
    clrscr;
    cout<<“Masukkan kalimat : “<<endl;
    cin.getline(kalimat,sizeof(kalimat));
    for (i=0;kalimat[i];i++)
    {
    if (islower(kalimat[i])) kecil++;
    if (isupper(kalimat[i])) kapital++;
    if (ispunct(kalimat[i])) tbaca++;
    if (isspace(kalimat[i])) spasi++;
    }
    cout<<“Jumlah huruf kapital : “<<kapital<<endl;
    cout<<“Jumlah huruf kecil : “<<kecil<<endl;
    cout<<“Jumlah tanda baca : “<<tbaca<<endl;
    cout<<“Jumlah spasi : “<<spasi<<endl;
    getch();
    }

    04
    Apr
    09

    POINTER

    A. Tujuan Pembelajaran POINTER
    1. Menjelaskan tentang konsep dari variabel pointer
    2. Menjelaskan tentang pointer array
    3. Menjelaskan tentang pointer string
    4. Menjelaskan tentang array pointer
    5. Menjelaskan tentang pointer dalam fungsi
    6. Menjelaskan tentang pointer sebagai parameter fungsi
    7. Menjelaskan tentang pointer yang menunjuk pointer.
    A. Konsep Dasar Pointer
    * Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain
    Variabel pointer berisi alamat dari suatu obyek lain
    * Sebagai contoh, px adalah variabel pointer dan x adalah variabel yang ditunjuk oleh px. Kalau x berada pada alamat memori (alamat awal) 1000, maka px akan berisi 1000
    B. Variabel pointer px menunjuk ke variabel x
    px = &x;

    C. Mendeklarasikan Variabel Pointer
    Bentuk Umum: tipe *nama_variabel
    Contoh:
    int *px;

    D. Mengatur Pointer agar Menunjuk ke Variabel Lain
    px = &x;

    E. Mengakses Isi Suatu Variabel Melalui Pointer
    y = *px;

    F. Mendapatkan alamat variabel pointer
    Untuk mendapatkan alamat memori dari variabel bukan pointer, gunakan operator & didepan nama variabelnya. Pointer dideklarasikan seperti variabel biasa dengan menambahkan tanda * (asterik) di depan nama variabel.
    H. Deklarasi Pointer
    1. Tipe_data *nama_pointer;
    2. Tipe_data * nama_pointer;
    3. Tipe_data* nama_pointer;
    Contoh 1

    #include
    main()‏
    {
    int y, x = 87;
    int *px;
    px = &x;
    y = *px;
    printf(“Alamat x = %p\n”, &x);
    printf(“Isi px = %p\n”, px);
    printf(“Isi x = %d\n”, x);
    printf(“Nilai px = %d\n”, *px);
    printf(“Nilai y = %d\n”, y);
    }

    Analisa dari contoh program di atas
    * Pada program di atas, dua pernyataan
    px = &x;
    y = *px;

    * sebenarnya dapat digantikan dengan sebuah pernyataan berupa
    y = x;

    * Seandainya pada program di atas tidak terdapat pernyataan
    px = &x;

    * namun terdapat pernyataan
    y = *px;
    * mengakibatkan komputer tidak dapat dikendalikan (hang).

    Pointer to Array
    * Hubungan antara pointer dan array pada C sangatlah erat.
    * Ingat bahwa sesungguhnya array secara internal akan diterjemahkan dalam bentuk pointer

    * Deklarasi variabel:
    * int tgl_lahir[3] = { 01, 09, 64 };
    * int *ptgl;
    * Kemudian diberi instruksi:
    * ptgl = &tgl_lahir[0];
    * maka ptgl akan berisi alamat dari elemen array tgl_lahir yang berindeks nol.
    * Instruksi di atas bisa juga ditulis menjadi:
    * ptgl = tgl_lahir;
    * nama array tanpa tanda kurung menyatakan alamat awal dari array.

    Pointer dan String
    * Pointer juga dapat digunakan untuk mendeklarasikan variabel string.
    * Contoh:
    * char *pkota = “surabaya”;
    * Hampir sama dengan:
    * char kota[] = “surabaya”;
    * Tetapi sebenarnya tidak tepat sama.
    * pkota adalah pointer (menyatakan alamat)
    yang menunjuk ke string “SURABAYA”,
    * kota adalah array (array menyatakan
    alamat yang konstan, tak dapatdiubah).

    31
    Mar
    09

    Array in C++

    1.Pengertian
    Array merupakan sekumpulan data yang mempunyai nama dan tipe yang sama,
    Disebut juga variable berindeks
    Nilai suatu data dalam array ditentukan oleh nama dan indeksnya
    Digunakan untuk operasi yang melibatkan data berindeks seperti statistik

    2.Tipe data Array
    Array 1D (1 Dimensi)
    Array 2D (2 Dimensi)
    Array 3D (3 Dimensi)
    Array berdimensi banyak.

    3.Pendeklarasian Array
    a.Array 1D
    *)Tipe_array nama_array[ukuran]
    Ex. Int array_1[10]
    b.Array 2D
    *)Tipe_array nama_array[ukuran][ukuran]
    Ex.Int array_1[10][10]
    c.Array 3D
    *)Tipe_array nama_array[ukuran][ukuran][ukuran]
    Ex. Int array3[10][10][10]
    d.Array berdimensi banyak
    *)Tipe_array nama_array[ukuran][ukuran][ukuran]
    Ex. Int array3[2][10][10]

    Array dalam c++ tidak di mulai dari satu, tetapi dimulai dari angka 0.
    Misal terdapat array 1D, ex; int x[2]
    Berarti : x[0], x[0], x[0]

    3.Memberikan Nilai Pada Array
    Untuk memberi nilai pada array dapat dilakukan dengan mengakses indeksnya,
    Misal ;
    Array1[0]=10;
    Array1[1]=12;

    Selain itu pemberi nilai pada array juga dapat dilakukan dengan menggunakan struktur perulangan for
    Misal
    For (int a=0;a<10<a++)
    {
    X[a]=a ;
    }
    4.Membaca nilai dari Array
    Nilai array dapat langsung di tampilkan
    cout<<array1[0]<<endl;
    cout<<array1[1]<<endl;
    Bila menggunakan perulangan
    for(int i=0;i<10;i++)
    {
    cout<<array[i]<<endl;
    }

    5.Array char
    Array dapat juga bertipe char
    Array char dianggap sebagai sebuah string
    Contoh :
    Char nama[15]=“Sisws”;
    Char alamat[]=”SMKN 2 Singosari”;

    25
    Mar
    09

    MATRIK C++

    Ini adalah script untuk membuat matrik ..

    hehehe…

    silahkan dicoba…!!!!

    #include
    void main()
    {
    int a[3][6]={{1,2,3,4,5,6},{6,5,4,3,2,1},{5,4,6,1,2,3}};
    int b[6][3]={{1,2,3},{4,5,6},{3,2,1},{6,4,5},{0,2,0},{6,8,1}};
    int i,j,d,e,g[3][3],f[3][3]={0};

    cout<<“MATRIK A=”<<endl;
    for(i=0;i<=2;i++)
    {
    for(j=0;j<=5;j++)
    {
    cout<<“\t”<<a[i][j];
    }
    cout<<endl;
    }
    cout<<endl;
    cout<<“MATRIK B=”<<endl;
    for(i=0;i<=5;i++)
    {
    for(j=0;j<=2;j++)
    {
    cout<<“\t”<<b[i][j];
    }
    cout<<endl;
    }

    for(d=0;d<=2;d++)
    {
    for(e=0;e<=2 ;e++)
    {
    for(i=0;i<=5;i++)
    {
    g[d][e]=a[d][i]*b[i][e];
    f[d][e]=g[d][e]+f[d][e];
    }
    }
    }
    cout<<“Hasil perkalian matrik A dan B = C”<<endl;
    cout<<“MATRIK C=”<<endl;
    for(d=0;d<=2;d++)
    {
    for(e=0;e<=2;e++)
    {
    cout<<“\t”<<f[d][e];
    }
    cout<<endl;
    }

    }




    May 2024
    M T W T F S S
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  

    Top Clicks

    • None

    Blog Stats

    • 44,656 hits

    RSS 1

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