Archive for 2014
Cara Mengganti Background dan Font Facebook
By : Unknown
Assalamu alaikum,,
Di postingan sebelumnya Admin share trik facebook tentang cara otomatis menambahkan anggota grup faceebok dan cara mendapatkan banyak like di status facebook. Sekarang Admin share lagi trik facebook yaitu bagaimana mengganti background dan font/teks facebook di Google Chrome (trik ini hanya work di browser chrome), jika belum punya browser crhome silahkan install dulu.
Berikut screenshot facebook saya di browser chrome.
Berikut screenshot facebook saya di browser chrome.
Ok ! bagi yang berminat langsung saja baca persiapan alat tempurnya dibawah :
- Buka browser Chrome Anda
- Install Ekstensi Fabulous for Facebook di Chrome
- Setelah proses pemasangan selesai maka di sudut kanan atas browser Anda akan terlihat tombol Fabulous for Facebook
- Login ke facebook Anda, kemudian klik tombol fabulous, setelah klik akan muncul jendela baru untuk mulai mengatur tampilan facebook. seperti pada gambar dibawah ini.Yang bertanda On berarti pengaturannya diaktifkanAd Blocker, aktifkan jika ingin memyembunyikan iklan facebook.Notification Sentry, nada pemberitahuan, klik tombol panah untuk melihat pilihan dana.Font Styler, untuk mengubah font atau jenis teks, klik tanda panah untuk melihat opsi fontColorizer, untuk merubah background dan bar facebook, klik tombol panah untuk melihat opsi.Rounder, untuk merubah tampilan foto profil menjadi bulat.
- Untuk mengubah background facebok silahkan aktifkan pengaturan Colorizer kemudian klik tombol panah untuk membuka opsi pengaturannya. perhatikan gambar dibawah utnuk penjelasan. klik gambar untuk memperbesar.Untuk mengganti background dengan gambar, sisipkan alamat URL fota Anda pada kolom no 3 seperti gambar diatas. Untuk medapatkan alamat URL foto, silahkan buka daftar album di facebook. Kemudian klik kanan di atas foto yang ingin dijadikan background, pilih salin url gambar dan pastekan seperti contoh gambar diatas.
SEKIAN,, mudah-mudahan trik diatas dapat Anda jalankan dengan baik, mohon maaf jika penjelasan saya kurang di mengerti. salam sainy ahmad
Tag :
computer,
belajar cepat C++
By : Unknown Tulisan ini mungkin sebaiknya menjadi
tulisan awal pada BLOG ini. Namun secara tidak sengaja tulisan ini
terlupakan karena saya pikir tanpa membaca tulisan ini pun, banyak
diantara kita sudah punya alasan sendiri-sendiri untuk memulai belajar
C++, salah satunya adalah karena pemrograman C++ umumnya harus
dipelajari oleh teman-teman yang mengambil jurusan seperti Sistem
informasi, Teknologi Informasi dan Komputerisasi Akuntansi. Bahasa ini
menjadi bahasa pengantar untuk pengenalan dunia pemrograman. Dulu
sewaktu memulai belajar pemrograman, alasan utama saya juga karena kami
diharuskan menggunakan bahasa pemrograman C/C++ untuk
mengimplementasikan teori Algoritma dan Struktur Data (ASD).
Tulisan tentang “Mari Belatih Bahasa C++” adalah seri belajar bahasa pemrograman C++ dari awal yang ditujukkan untuk teman-teman yang baru belajar pemrograman. Harapannya adalah denganmengikuti seri ini, teman-teman akan belajar menggunakan pengetahuan yang sudah dipelajari di bangku kuliah atau pelajari lewat materi yang disediakan di website ini, untuk menyelesaikan persoalan mulai dari yang tingkat dasar sampai dengan tingkat lanjut. Dengan berlatih, mudah-mudahan kemampuan pemrograman teman-teman akan bisa semakin baik.
Download Artikel dan Contoh Source Code
Pengenalan Bahasa C++ (Bagian 1)
Pada tulisan ini, kita akan belajar tentang :
* Bagaimana instalasi IDE Dev-C++
* Menulis dan memahami program “Halo Dunia”
* Memahami struktur program, Namespace, cout, cin, parameter pada fungsi main
Download Artikel
Pengenalan Bahasa C++ (Bagian 2)
Pada bagian ini kita akan belajar lebih dalam lagi tentang struktur dasar dari program C/C++. Topik pembahasan meliputi:
* Penjelasan maksud dari setiap bagian pada struktur dasar
* Pesan kesalahan apa yang terjadi jika kita tidak mengikuti struktur dasar ini.
* Contoh program yang mengikuti struktur dasar ini, membuat sendiri fungsi faktorial dan tambah (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 3)
Pada bagian ini khusus membahas tentang konsep variabel. Pembahasan meliputi:
* Apa itu variabel
* Tipe data dari variabel
* Aturan pemberian nama variabel
* Bagaimana mendeklarasikan variabel
* Memahami variabel sebagai pointer
* Bagaimana mendeklarasikan dan menggunakan variabel sebagai pointer
* Program untuk menampilkan nilai bilangan genap
* Program menggunakan pointer
Download Source Code
Download Artikel
Pengenalan Bahasa C++ (Bagian 4)
Pada pembahasan ini kita akan belajar tentang Array. Pembahasan meliputi:
* Konsep Array
* Mendeklarasikan Array berdimensi 1, 2, dan N-dimensi
* Memberikan nilai ke Array
* Menampilkan isi Array
* Contoh program Input Output menggunakan Array. Pada program ini user bisa menentukan jumlah data yang bisa disimpan ke dalam Array, menentukan isi dari Array dan program akan
menampilkan semua isi Array tersebut ke layar (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 5)
Di dalam bahasa C++ terdapat 3 (tiga) metode yang bisa digunakan untuk membuat perulangan yaitu, for, while atau dengan do … while. Ketiga perulangan ini membutuhkan pengontrol jalannya
perulangan yang disebut kondisi. Selama kondisi benar, perulangan akan terus dikerjakan.
Tulisan ini membahas dengan detail aspek penting yang perlu diperhatikan dalam membuat perulangan. Berikut ini adalah garis besar topik yang dibahas:
* Konsep kondisi
* Mengenal operator logika
* perulangan dengan for
* perulangan dengan while
* perulangan dengan do … while
* perbedaan antara perulangan dengan while dan do … while
Download Artikel
Pengenalan Bahasa C++ (Bagian 6)
Di dalam kehidupan ini seringkali kita diperhadapkan dengan pengambilan keputusan. Dan setiap keputusan selalu dihadapkan dengan konsekuensi. Jika saya memutuskan untuk melakukan ‘A’ maka
konsekuensinya adalah nasib saya akan menjadi ‘B’ namun jika saya melakukan C maka nasib saya akan menjadi ‘B+’ .
Di dalam struktur pemrograman bahasa C/C++, ilustrasi di atas dapat dituliskan sebagai berikut:
jika (saya melakukan A) maka
{
…..nasib_saya = B
} namun
jika (saya melakukan C) maka
{
…..nasib_saya = B+
}
Konsep inilah yang dikenal dengan istilah percabangan.
Pembahasan di dalam tulisan ini meliputi:
1. Percangan dengan if tanpa else
2. Percabangan dengan if dengan else
3. Percabangan dengan switch
4. Konsep Scope. Konsep ini sangat penting untuk memahami konsep lokalitas dari sebuah variabel.
5. Contoh Program, dimana penjelasan diawali dengan menjelaskan permasalahan yang hendak dipecahkan, algoritma yang digunakan dan diakhiri dengan penyelesaian.
Download Artikel
Pengenalan Bahasa C++ (Bagian 7)
Pada tulisan ini akan dibahas khusus tentang fungsi dan merupakan pelengkap penjelasan dari tulisan Pengenalan Bahasa C++ (bagian 2). Penjelasan disertai dengan ilustrasi berupa gambar dengan
penekanan pada bagian-bagian penting yang perlu diperhatikan saat mengimplementasikan prototipe sebuah fungsi.
Download Materi
Pengenalan Bahasa C++ (Bagian 8)
Operasi file adalah operasi yang berhubungan dengan file. Pada tulisan ini akan diberikan penjelasan tentang bagaimana membaca file (per baris dan per kata), membuat file baru, dan membuat duplikasi
dari sebuah file.
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 9)
Pengantar
Salah satu keunggulan C++ dibandingkan C adalah dukungan yang baik akan Object Oriented Programming (OOP). Saat bekerja dengan OOP, kita pasti akan berhadapan dengan yang dinamakan class
karena merupakan template / cetakan dari sebuah objek. Di Ambon, makanan khas kami adalah Sagu. Untuk membuat sagu kami biasanya menggunakan porna. Sagu yang masih mentah, disebut Sagu
manta, akan dimasukkan ke dalam porna ini untuk kemudian dibakar. Dari sebuah porna kita bisa memperoleh beberapa buah sagu. Setelah sagu menjadi masak dan disiap dimakan, porna yang sudah
dipakai bisa dipakai lagi untuk membuat sagu yang lain. Untuk itu porna bisa juga kita pahami sebagai template / cetakan untuk membuat objek yang disebut Sagu bakar.
Bentuk Umum Sebuah Class
class nama_kelas
{
};
Berikut ini adalah beberapa catatan penting yang perlu diperhatikan dari bentuk umum ini:
* kata kunci class, menunjukkan bahwa kita hendak membuat sebuah kelas dan harus ditulis menggunakan huruf kecil.
* nama_kelas adalah nama dari kelas yang hendak kita buat. Sebaiknya nama ini bisa melukiskan fungsi dari kelas tersebut. Sebagai contoh, kita hendak membuat kelas untuk menyimpan data diri dari
seorang mahasiswa, maka sebaiknya nama kelas yang digunakan adalah Mahasiswa atau DataMahasiswa. Perlu juga untuk diperhatikan aturan pemberian nama kelas: (1) Selalu dimulai dengan huruf
Besar, misal Mahasiswa (2) Jika terdapat lebih dari satu suku kata maka setiap suku kata selalu dimulai dengan huruf besar, misal DataMahasiswa.
* Jangan melupakan tanda titik koma ‘;’ untuk mengakhiri deklarasi dari sebuah kelas.
Posisi Penulisan Class dan Fungsi Utama
Andaikan kita akan mendeklarasikan kelas di dalam sebuah file yang terdapat fungsi utama, maka struktur program kita adalah sebagai berikut:
#include< …>
#include
using namespace std;
class Mahasiswa
{
};
class Dosen
{
};
…
int main()
{
//body fungsi utama
return 0;
}
Class Sebagai Tipe Data
Selama ini kita sudah mengenal beberapa macam tipe data seperti int, float, double dll. Kelas juga bisa digunakan sebagai tipe data dari sebuah variable. Sebagai contoh, andaikan kita mempunyai kelas
dengan nama Mahasiswa dan kita hendak mendeklarasikan sebuah variabel bertipe Mahasiswa maka penulisannya adalah sebagai berikut:
Mahasiswa mhs;
Pendeklarasian sebuah variabel yang memiliki tipe kelas tertentu bisa juga dipahami sebagai proses pembuatan objek. Pada contoh di atas kita memiliki sebuah objek dengan nama mhs.
Membuat Objek
Pembuatan objek bisa dilakukan dengan mendeklarasikan sebuah varibel bertipe kelas tertentu seperti yang sudah dijelaskan di atas. Bisa juga dilakukan dengan menggunakan pointer, seperti berikut:
Mahasiswa *mhs1 = new Mahasiswa();
Keunggulan menggunakan pointer adalah kita bisa membuat objek pada saat program dijalankan – runtime. Penting untuk diingat setiap objek yang sudah diciptakan (menggunakan pointer) harus dihapus
jika sudah tidak dibutuhkan lagi menggunakan perintah delete.
delete (mhs);
Membuat Sebuah Class
Sebuah kelas bisa memiliki variabel/attribute dan fungsi/method. Setiap variabel dan fungsi ini memiliki beberapa sifat seperti private, protected dan public. Ketiga sifat ini disebuh access specifiers dan
digunakan untuk menentukan siapa yang berhak mengakses variabel dan fungsi.
Berikut ini adalah bentuk umum sebuah kelas yang berisi variabel, fungsi dan access specifiers:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
…
};
Mengenal Konstruktor dan Destruktor
Di dalam sebuah kelas terdapat dua buah fungsi/method spesial. Disebut spesial karena kita tidak akan pernah memanggil fungsi tersebut secara langsung namun fungsi ini akan dijalankan secara otomatis.
Fungsi Konstruktor (constructor) adalah fungsi yang dipanggil pada saat pembuatan sebuah objek. Sedangkan fungsi Destruktor (destructor) adalah fungsi yang dipanggil pada saat penghancuran sebuah
objek.
Pertanyaan yang menarik bagi kita adalah “kapan sih sebuah objek dihancurkan” ? Jawabannya adalah saat objek itu sudah tidak lagi digunakan. Untuk objek yang dibuat menggunakan pointer, objek ini
akan dihancurkan hanya pada saat kita memanggil perintah delete. Sedangkan untuk objek yang dibuat tanpa menggunakan pointer, objek tersebut akan dihancurkan jika keluar dari scope objek / variabel
tersebut. Pembahasan tentang scope sudah pernah dibahas sebelumnya. Agar lebih memahami cobalah memahami source code yang disertakan pada tulisan ini.
Sifat spesial yang lain dari kedua fungsi ini adalah nama. Kedua fungsi memiliki nama yang sama dengan nama kelas. Namun yang membedakan, untuk fungsi Destruktor ditambahkan tanda ‘cacing’
didepan nama fungsi. Sebagai contoh, jika kita mempunyai kelas dengan nama Mahasiswa maka nama fungsi konstruktor dari kelas ini adalah Mahasiswa() sedangkan nama fungsi destruktor dari kelas ini
adalah ~Mahasiswa(). Kedua fungsi ini biasanya bersifat public.
Dengan demikian bentuk umum dari sebuah kelas adalah sebagai berikut:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
Mahasiswa()
{
//body dari konstruktor
}
~Mahasiswa()
{
//body dari destruktor
}
};
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 10)
Tulisan kali ini akan membahas lebih lanjut bagaimana membuat konstruktor dari sebuah kelas. Akan dibahas pula lebih mendalam tentang perbedaan access specifier seperti private, public, protected.
Pembahasan disertai juga dengan source code yang menunjukkan bagaimana membuat proses inheritance (pewarisan) dan bagaimana pengaruh access specifier ini di dalam proses tersebut.
Download Artikel + Source Code
Pengenalan Bahasa C++ (Bagian 11)
Di dalam pemrograman berorientasi objek (PBO) umumnya semua variabel/atribut diletakan pada bagian private.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
Hal ini berarti variabel-variabel ini hanya bisa diakses dari dalam kelas itu sendiri. Misalnya dari dalam salah satu method/fungsi yang berada di dalam kelas.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
penggunaan variabel ini dari luar kelas, misal memanggil dari fungsi main, tidak bisa dilakukan.
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
Untuk bisa menggunakan (mengubah atau melihat) sebuah variabel yang bersifat private di dalam sebuah kelas, biasanya dilakukan menggunakan fungsi setter dan getter.
Artikel Selengkapnya + Source Code
Mari Berlatih Bahasa C++ (Bagian 1)
Program membalikan kata adalah salah satu tugas yang saya dapatkan di lab, ketika mulai belajar C/C++. Tugas ini sangat bagus untuk mengetahui sebaik mana pengetahuan kita tentang ARRAY, dalam
hal ini STRING. Untuk bisa menyelesaikan tugas ini, pemahaman tentang VARIABEL, PERULANGAN dan INPUT-OUPUT dengan C++ sangat dibutuhkan.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk dan Source Code
Mari Berlatih Bahasa C++ (Bagian 2)
Saat bekerja dengan ARRAY, hal yang perlu diperhatikan adalah jangan sampai memberikan data ke dalam ARRAY melebihi kapasitas yang disediakan. Jika hal ini dilanggar maka masalah yang dihadapi
adalah buffer overflow. Tujuan dari tugas kali ini adalah membuat suatu sistem “Input Kalimat” di mana user hanya bisa menyimpan data ke dalam ARRAY sebanyak tempat yang sudah ditentukan
sebelumnya.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Mari Berlatih Bahasa C++ (Bagian 3)
Tugas kali ini merupakan pengembangan dari tugas sebelumnya, Input Kalimat, dengan penekanan pada pembuatan fungsi. Disarankan teman-teman untuk membaca artikel tentang fungsi, pengenalan
bahasa C++ (bagian 7).
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Implementasi Array dengan Vector
Pengantar
Array adalah variabel dengan sifat khusus yaitu mampu menyimpan nilai lebih dari satu dalam waktu yang bersamaan. Setiap nilai ini disimpan pada alamat tertentu yang biasa disebut indeks. Ingat indeks
selalu dimulai dari 0 (nol). Membuat program menggunakan array sudah pernah dijelaskan sebelumnya, namun kelamahan dari pendekatan ini adalah kita harus sangat memperhatikan berapa jumlah data
yang disimpan ke dalam array. Jika data yang dimasukkan ke dalam array melebihi kemampuan yang disediakan maka akan menimbulkan masalah buffer overflow.
Pada tulisan ini diperkenalkan bagaimana membuat array menggunakan salah satu tipe data yang disebut vector. Dengan menggunakan tipe data ini, jumlah data yang dimasukkan sangat fleksibel,
tergantung dari keinginan kita. Kita tidak perlu mendeklarasikan secara eksplisit berapa jumlah data yang bisa disimpan ke dalam array. Tipe data ini menyediakan sebuah fungsi yang bisa dipakai untuk
mengetahui sebarapa banyak jumlah data yang telah tersimpan, disebut size(). Terdapat juga fungsi yang digunakan untuk menambahkan data ke dalam array, disebut push_back().
Lebih Jauh Tentang Vector
Secara formal, Vector dikenal sebagai container / wadah dan diperkenalkan dalam C++. Kita tidak akan menemukan Vector di dalam bahasa C. Vector adalah wadah yang bisa menampung semua jenis
tipe data, sehingga yang perlu kita lakukan hanyalah menentukan tipe data apa yang hendak disimpan sedangkan cara untuk bekerja dengan data tersebut adalah sama untuk semua tipe data.
Untuk bisa menggunakan vector, kita perlu memberitahukan compiler bahwa kita menggunakan pustaka vector
#include<vector>
Contoh kita ingin bekerja dengan tipe data int, maka yang perlu kita lakukan adalah mendefinisikan variabel yang bertipe vector of int, seperti berikut:
vector<int> myVariable;
Jika ingin bekerja dengan tipe data float maka definisinya seperti berikut:
vector<float> myVariable;
Kita juga bisa bekerja dengan class (ingat class juga bisa digunakan sebagai tipe data) maka definisinya seperti berikut:
vector<nama_class> myVariable;
Untuk mengetahui jumlah data yang disimpan, kita bisa menggunakan fungsi size() seperti berikut:
myVariable.size();
Andaikan kita bekerja dengan tipe data int, maka cara menambahkan data ke dalam vector adalah seperti berikut:
myVariable.push_back(5);
atau bisa juga seperti berikut:
int data = 10;
myVariable.push_back(data);
atau bisa juga seperti berikut:
int data_baru = 0;
cout << “Input data baru : “;
cin >> data_baru;
myVariable.push_back(data_baru);
Untuk mengakses data tertentu yang tersimpan, cara yang digunakan sama persis dengan penggunaan array. Misal untuk menampilkan data pada indeks ke-5 (ingat indeks selalu dimulai dari 0);
cout << myVariable[5];
Pada source code yang diberikan, terdapat contoh sederhana bagaimana menyimpan data ke dalam array menggunakan cara yang sudah kita kenal dan bagaimana caranya jika hal tersebut kita buat
menggunakan vector.
Download Artikel & Source Code
Mengenal Fungsi Swap
Pengantar
Fungsi swap adalah fungsi yang digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting). Pada pemrograman C++, fungsi
ini sudah tersedia dengan fleksibilitas yang tinggi. Artinya bisa digunakan untuk menukar dua buah nilai dengan tipe data yang bermacam-macam. Walaupun sudah tersedia dan tinggal pakai, tidak ada
salahnya kita belajar bersama-sama bagaimana membuat fungsi ini. Contoh penggunaan fungsi swap yang sudah tersedia juga akan tersedia pada source code yang diberikan.
Sekilas Tentang Pointer
Pointer sudah pernah dibahas pada tulisan, pengenalan bahasa C++ (bagian 3). Pada bagian ini akan dijelaskan secara singkat penggunaan sederhana dari pointer.
Konsep penting yang perlu diingat adalah, pointer biasanya digunakan untuk menunjuk ke variabel yang lain. Untuk itu pointer membutuhkan alamat dari variabel yang ditunjuk. Setelah mengetahui alamat,
dengan menggunakan pointer kita bisa mengubah nilai dari variabel yang ditunjuk.
Kita sudah tahu bahwa untuk membuat sebuah variabel, kita perlu menentukan tipe dari variabel dan kita juga perlu memperhatikan aturan pemberian nama dari variabel tersebut. Misal kita akan membuat
variabel dengan nama data dan bertipe int, maka kita dapat menulisnya sebagai berikut:
int data;
Jika kita hendak membuat pointer. Kita cukup mendambahkan tanda bintang setelah tipe data.
int* myPointer;
pada deklarasi ini, kita membuat sebuah pointer dengan nama myPointer. Pointer ini hanya bisa menunjuk ke variabel yang bertipe int.
Seperti yang sudah dijelaskan sebelumnya, untuk menunjuk sebuah variabel, pointer membutuhkan alamat dari variabel yang hendak ditunjuk. Dengan menggunakan tanda ‘&’ kita bisa mendapatkan
alamat dari sebuah variabel. Berikut ini ditunjukkan bagaimana caranya myPointer bisa menunjuk ke alamat dari data.
myPointer = &data;
Variabel sebenarnya hanya merupakan nama lain dari alamat dimemori. Kita tentu akan lebih mudah mengingat nama seperti data dari pada sebuah alamat dimemori, 0x22ff5c.
Sekarang diandaikan kita memberikan nilai 10 (sepuluh) pada variabel data
data = 10;
pernyataan tersebut sebenarnya, kita menyimpan nilai 10 ke alamat tertentu dimemori yang diwakili dengan nama data. Karena myPointer telah menunjuk ke alamat dari data, ini berarti myPointer juga
menunjuk ke nilai 10.
Untuk mengakses (misal membaca) nilai yang ditunjuk oleh pointer, kita bisa menggunakan tanda ‘*’ didepan nama dari pointer.
cout<< *myPointer ;
Keluaran dari pernyataan ini adalah angka 10 akan tercetak ke layar. Keluaran ini akan sama jika kita menampilkan nilai dari variabel data.
cout<< data;
Kita juga bisa mengubah nilai yang ditunjuk oleh pointer, seperti berikut:
*myPointer = 15;
Setelah pernyataan diatas maka keluaran dari kedua pernyataan berikut akan sama persis yaitu menampilkan angka 15.
cout << data;
cout << *myPointer;
Membuat Fungsi Swap
Untuk membuat sebuah fungsi, kita bisa memulai dengan membayangkan bagaimana caranya kita memanggil fungsi yang akan kita pakai. Sebagai contoh fungsi swap yang akan kita buat dipanggil
dengan cara sebagai berikut:
int a = 5;
int b= 7;
mySwap(&a,&b);
cout << a; // harapannya tertampil 7
cout << b; // harapannya tertampil 5
berangkat dari skenario di atas, tampak bahwa fungsi swap memiliki dua buah parameter pointer dengan tipe int. Untuk itu bentuk fungsi kita kira-kira seperti berikut:
void mySwap (int* x, int* y)
{
//body dari swap
…
}
pada kasus ini kita tidak membutuhkan nilai kembalian sehingga tipe data dari return value dibuat void. Kenapa tidak butuh ? Silahkan melihat lagi skenario yang kita buat di atas.
Karena fungsi kita hendak menukarkan nilai x dan nilai y (ingat x dan y adalah pointer, sehingga kita butuh tanda * untuk mengubah nilai), maka kita membutuhkan sebuah penampung (variabel
tambahan) untuk melakukan proses penukaran ini.
Buf = *x;// buf bernilai x
*x = *y; // x bernilai y
*y = buf;// y bernilai x
pada contoh diatas, penampung yang kita pakai adalah Buf. Karena Buf dipakai untuk menampung nilai bertipe int, maka Buf juga harus dideklarasikan bertipe int.
int Buf;
Dengan demikian bentuk fungsi kita selengkapnya, kira-kira seperti berikut:
void swap (int* x, int* y)
{
//body dari swap
int Buf;
Buf = *x;
*x = *y;
*y = Buf;
}
Pemanggilan fungsi dengan cara mengirimkan alamat dari variabel, dikenal dengan istilah passing parameter by reference.
Di dalam bahasa C++, diperkenalkan teknik baru untuk pengiriman parameter berupa reference dengan menggunakan tanda ‘&’. Dengan menggunakan teknik ini, cara pemanggilan fungsi swap bisa
diskenariokan sebagai berikut:
int a = 5;
int b= 7;
swap(a,b); // perhatikan tanda & dihilangkan
cout << a;
cout << b;
Perubahan juga perlu dilakukan pada fungsi kita sebagai berikut:
void swap (int& x, int& y) //perhatikan tanda &
{
//body dari swap
int Buf;
Buf = x;// tanda * juga dihilangkan
x = y;
y = Buf;
}
Download Article & Source Code
Membangkitkan Bilangan Acak
Terdapat dua fungsi yang dibutuhkan untuk membangkitkan bilangan acak srand() dan rand(). Fungsi srand() dibutuhkan untuk menentukan “bibit” dari bilangan acak yang akan dibangkitkan. Sama seperti
kalau kita menanam tumbuhan, bibit yang berbeda tentu akan menghasilkan tambuhan dewasa yang berbeda pula. Sedangkan fungsi rand() digunakan untuk menampilkan bilangan acak yang dihasilkan
dari “bibit” yang diberikan ke fungsi srand().
Bentuk umum dari fungsi srand() adalah:
view plainprint?
1. srand(bibit);
view plainprint?
1. srand(bibit);
Sebagai Contoh:
view plainprint?
1. srand(4);
view plainprint?
1. srand(4);
Bentuk umum dari fungsi rand() adalah:
view plainprint?
1. rand() % n;
view plainprint?
1. rand() % n;
Bilangan acak yang dihasilkan oleh fungsi rand() adalah dari 0 s/d (n-1).
Sebagai contoh:
view plainprint?
1. rand() % 10;
view plainprint?
1. rand() % 10;
Perintah di atas akan menghasilkan bilangan antara 0 s/d 9.
Seperti yang sudah dijelaskan sebelumnya, jika kita menggunakan “bibit” yang sama maka hasil yang diperoleh dari bibit ini pastilah sama. Untuk membuktikan, cobalah menjalankan program berikut
berkali-kali dan perhatikan tampilan dilayar:
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Agar bisa membangkitkan bilangan yang benar-benar acak, kita harus memberikan “bibit” yang berbeda-beda pula kepada fungsi srand(). Salah satu cara yang bisa dilakukan adalah memberikan “bibit”
menggunakan fungsi time(), seperti berikut:
view plainprint?
1. srand(time(NULL));
view plainprint?
1. srand(time(NULL));
Sekarang, cobalah jalankan program berikut beberapa kali, dan perhatikan keluaran yang ditampilkan ke layar.
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Fungsi rand() umumnya digunakan untuk membangkitkan bilangan acak yang bertipe bilangan bulat. Cobalah mencari solusi bagaimana membuat bilangan acak “pecahan” antara 0 dan 1 ?
Menampilkan Tabel ASCII
Perhatikan program berikut:
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
Program diatas akan menampilkan angka dari 0 s/d 9. Ide dibalik program sederhana di atas adalah menampilkan informasi yang bernilai desimal (48 s/d 57) dalam bentuk karakter ke layar.
Representasi desimal dalam bentuk karakter bisa dilihat pada tabel ASCII.
Program berikut akan menampilkan semua isi tabel ASCII.
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
#include
/* membuat linked list */
typedef struct myLinkedList {
char nim[10];
char nama[35];
int nilai;
myLinkedList *next;
};
myLinkedList *head;
/* keadaan awal */
void init() {
head = NULL;
}
/* fungsi untuk mengecek linked list
* apakah kosong atau tidak
* jika kosong maka bernilai 1
* jika tidak kosong maka bernilai 0
*/
int paKosong() {
if (head == NULL) return 1;
else return 0;
}
/**
* fungsi untuk menambahkan data dari depan node
*/
void tambahDepan() {
myLinkedList *baru;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
baru->next = head;
head = baru;
}
}
/**
* fungsu untuk menambahkan data dari depan node
*/
void tambahBelakang() {
myLinkedList *baru, *bantu;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
bantu = head;
while (bantu->next != NULL) {
bantu = bantu->next;
}
bantu->next = baru;
}
}
/**
* fungsi untuk menghapus dari depan node
*/
void hapusDepan() {
myLinkedList *hapus;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
hapus = head;
data = hapus->nim;
head = head->next;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
/**
* fungsi untuk menghapus dari belakang node
*/
void hapusBelakang() {
myLinkedList *hapus, *bantu;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
bantu = head;
while(bantu->next->next != NULL) {
bantu = bantu->next;
}
hapus = bantu->next;
data = hapus->nim;
bantu->next = NULL;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
cout << “Tekan Enter untuk kembali ke Menu!”; getch(); }
/**
* fungsi untuk menampilkan data linked list
*/
void tampilData() {
int no = 1;
myLinkedList *bantu;
bantu = head;
if (paKosong() == 0) {
while (bantu != NULL) {
cout << “No. : ” <<>nim <<>nama <<>nilai <<>
no++;
bantu = bantu->next;
}
cout <<>
} else {
cout << “Data masih kosong ” <<>
/**
* fungsi Menu, Untuk menentukan linked list mana
* yang dipilih
*/
int menu() {
int pilihan;
cout << “+———————-+\n”; cout << “| MENU PILIHAN |\n”; cout << “+———————-+\n”; cout << “| 1. Tambah Depan |\n”; cout << “| 2. Tambah Belakang |\n”; cout << “| 3. Hapus Depan |\n”; cout << “| 4. Hapus Belakang |\n”; cout << “| 5. Tambah Tengah |\n”; cout << “| 6. Hapus Tengah |\n”; cout << “| 7. TampilData |\n”; cout << “| 8. Keluar |\n”; cout << “+———————-+\n”; cout << “| PILIHAN ANDA ? [ ] |\n”; cout << “+———————-+\n”;
cin >> pilihan;
return pilihan;
}
/**
* fungsi operasi data
*/
void operasiData() {
int pilih;
do {
pilih = menu();
switch (pilih) {
case 1 :
tambahDepan();
break;
case 2 :
tambahBelakang();
break;
case 3 :
hapusDepan();
break;
case 4 :
hapusBelakang();
break;
case 5 :
tampilData();
break;
case 6:
cout << “Terima kasih coy!!!”; break; } } while (pilih != 6); }
// ROGRAM UTAMA
void main() {
init();
operasiData();
Bahasa Pemrograman Mana Yang Harus Saya Pelajari ?
Sekarang saya belajar C++ dan saya juga
akan mulai belajar bahasa pemrograman yang lain seperti Java, Delphi,
Visual Basic dan mulai berpikir bahasa pemrograman mana yang sebaiknya
saya kuasai agar mempermudah saya dalam mencari pekerjaan setelah lulus
nanti. Pada saat ini pemrograman Java sedang menjadi Idola. Bagi yang
menguasai pemrograman satu ini bisa dipastikan akan mudah mendapatkan
pekerjaan. Dalam dunia pemrograman kita dituntut untuk bisa belajar
pemrograman sesuai dengan tuntutan proyek. “Jika konsumen
menginginkan Java maka kita harus pakai java, jika konsumen
menginginkan Visual Basic maka kita juga harus menggunakan Visual Basic
walaupun sebelumnya kami tidak mempunyai pengalaman dengan Visual
Basic“, ungkapan seorang progremer.
Saya menyimpulkan bahwa sebaiknya kita benar menguasai betul
konsep pemrograman dan logikanya, karena dengan demikian kita akan bisa
belajar dengan cepat bahasa pemrograman yang lain.
Apakah bahasa C/C++ bisa dibutuhkan juga dalam dunia kerja ?
Jawabannya adalah Ya. Teman-teman bisa browsing dan cari informasi
tentang lowongan kerja sebagai programmer C++, tentu teman-teman akan
menemukan. Di Jerman misalnya, perusahaan yang bergerak dibidang
embedded system umumnya mencari programmer C++ dan gaji yang ditawarkan
juga tidak tanggung-tanggung. Menurut saya hal ini sangat beralasan,
karena untuk membuat program pada embedded system, dibutuhkan
orang-orang yang betul-betul menguasai bagaimana memanajemen program
sehingga bisa berjalan dengan cepat dan juga bisa menggunakan memori
yang tersedia dengan baik. Jika hal ini tidak diperhatikan, error yang
akan muncul adalah runtime error yang sulit dimengerti jika dibandingkan dengan compiletime error.
Apakah program C/C++ digunakan juga untuk membuat aplikasi canggih yang ada saat ini?
Jawabannya lagi-lagi IYA. Saya yakin teman-teman tahu tentang aplikasi google earth, skype. Aplikasi ini dibuat menggunakan QT yang menggunakan C++ sebagai modul intinya.
Belajarlah dengan giat dan jangan mudah putus asa, perbanyak latihan dan baca buku
Mari Berlatih Bahasa C++Tulisan tentang “Mari Belatih Bahasa C++” adalah seri belajar bahasa pemrograman C++ dari awal yang ditujukkan untuk teman-teman yang baru belajar pemrograman. Harapannya adalah denganmengikuti seri ini, teman-teman akan belajar menggunakan pengetahuan yang sudah dipelajari di bangku kuliah atau pelajari lewat materi yang disediakan di website ini, untuk menyelesaikan persoalan mulai dari yang tingkat dasar sampai dengan tingkat lanjut. Dengan berlatih, mudah-mudahan kemampuan pemrograman teman-teman akan bisa semakin baik.
Download Artikel dan Contoh Source Code
Pengenalan Bahasa C++ (Bagian 1)
Pada tulisan ini, kita akan belajar tentang :
* Bagaimana instalasi IDE Dev-C++
* Menulis dan memahami program “Halo Dunia”
* Memahami struktur program, Namespace, cout, cin, parameter pada fungsi main
Download Artikel
Pengenalan Bahasa C++ (Bagian 2)
Pada bagian ini kita akan belajar lebih dalam lagi tentang struktur dasar dari program C/C++. Topik pembahasan meliputi:
* Penjelasan maksud dari setiap bagian pada struktur dasar
* Pesan kesalahan apa yang terjadi jika kita tidak mengikuti struktur dasar ini.
* Contoh program yang mengikuti struktur dasar ini, membuat sendiri fungsi faktorial dan tambah (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 3)
Pada bagian ini khusus membahas tentang konsep variabel. Pembahasan meliputi:
* Apa itu variabel
* Tipe data dari variabel
* Aturan pemberian nama variabel
* Bagaimana mendeklarasikan variabel
* Memahami variabel sebagai pointer
* Bagaimana mendeklarasikan dan menggunakan variabel sebagai pointer
* Program untuk menampilkan nilai bilangan genap
* Program menggunakan pointer
Download Source Code
Download Artikel
Pengenalan Bahasa C++ (Bagian 4)
Pada pembahasan ini kita akan belajar tentang Array. Pembahasan meliputi:
* Konsep Array
* Mendeklarasikan Array berdimensi 1, 2, dan N-dimensi
* Memberikan nilai ke Array
* Menampilkan isi Array
* Contoh program Input Output menggunakan Array. Pada program ini user bisa menentukan jumlah data yang bisa disimpan ke dalam Array, menentukan isi dari Array dan program akan
menampilkan semua isi Array tersebut ke layar (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 5)
Di dalam bahasa C++ terdapat 3 (tiga) metode yang bisa digunakan untuk membuat perulangan yaitu, for, while atau dengan do … while. Ketiga perulangan ini membutuhkan pengontrol jalannya
perulangan yang disebut kondisi. Selama kondisi benar, perulangan akan terus dikerjakan.
Tulisan ini membahas dengan detail aspek penting yang perlu diperhatikan dalam membuat perulangan. Berikut ini adalah garis besar topik yang dibahas:
* Konsep kondisi
* Mengenal operator logika
* perulangan dengan for
* perulangan dengan while
* perulangan dengan do … while
* perbedaan antara perulangan dengan while dan do … while
Download Artikel
Pengenalan Bahasa C++ (Bagian 6)
Di dalam kehidupan ini seringkali kita diperhadapkan dengan pengambilan keputusan. Dan setiap keputusan selalu dihadapkan dengan konsekuensi. Jika saya memutuskan untuk melakukan ‘A’ maka
konsekuensinya adalah nasib saya akan menjadi ‘B’ namun jika saya melakukan C maka nasib saya akan menjadi ‘B+’ .
Di dalam struktur pemrograman bahasa C/C++, ilustrasi di atas dapat dituliskan sebagai berikut:
jika (saya melakukan A) maka
{
…..nasib_saya = B
} namun
jika (saya melakukan C) maka
{
…..nasib_saya = B+
}
Konsep inilah yang dikenal dengan istilah percabangan.
Pembahasan di dalam tulisan ini meliputi:
1. Percangan dengan if tanpa else
2. Percabangan dengan if dengan else
3. Percabangan dengan switch
4. Konsep Scope. Konsep ini sangat penting untuk memahami konsep lokalitas dari sebuah variabel.
5. Contoh Program, dimana penjelasan diawali dengan menjelaskan permasalahan yang hendak dipecahkan, algoritma yang digunakan dan diakhiri dengan penyelesaian.
Download Artikel
Pengenalan Bahasa C++ (Bagian 7)
Pada tulisan ini akan dibahas khusus tentang fungsi dan merupakan pelengkap penjelasan dari tulisan Pengenalan Bahasa C++ (bagian 2). Penjelasan disertai dengan ilustrasi berupa gambar dengan
penekanan pada bagian-bagian penting yang perlu diperhatikan saat mengimplementasikan prototipe sebuah fungsi.
Download Materi
Pengenalan Bahasa C++ (Bagian 8)
Operasi file adalah operasi yang berhubungan dengan file. Pada tulisan ini akan diberikan penjelasan tentang bagaimana membaca file (per baris dan per kata), membuat file baru, dan membuat duplikasi
dari sebuah file.
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 9)
Pengantar
Salah satu keunggulan C++ dibandingkan C adalah dukungan yang baik akan Object Oriented Programming (OOP). Saat bekerja dengan OOP, kita pasti akan berhadapan dengan yang dinamakan class
karena merupakan template / cetakan dari sebuah objek. Di Ambon, makanan khas kami adalah Sagu. Untuk membuat sagu kami biasanya menggunakan porna. Sagu yang masih mentah, disebut Sagu
manta, akan dimasukkan ke dalam porna ini untuk kemudian dibakar. Dari sebuah porna kita bisa memperoleh beberapa buah sagu. Setelah sagu menjadi masak dan disiap dimakan, porna yang sudah
dipakai bisa dipakai lagi untuk membuat sagu yang lain. Untuk itu porna bisa juga kita pahami sebagai template / cetakan untuk membuat objek yang disebut Sagu bakar.
Bentuk Umum Sebuah Class
class nama_kelas
{
};
Berikut ini adalah beberapa catatan penting yang perlu diperhatikan dari bentuk umum ini:
* kata kunci class, menunjukkan bahwa kita hendak membuat sebuah kelas dan harus ditulis menggunakan huruf kecil.
* nama_kelas adalah nama dari kelas yang hendak kita buat. Sebaiknya nama ini bisa melukiskan fungsi dari kelas tersebut. Sebagai contoh, kita hendak membuat kelas untuk menyimpan data diri dari
seorang mahasiswa, maka sebaiknya nama kelas yang digunakan adalah Mahasiswa atau DataMahasiswa. Perlu juga untuk diperhatikan aturan pemberian nama kelas: (1) Selalu dimulai dengan huruf
Besar, misal Mahasiswa (2) Jika terdapat lebih dari satu suku kata maka setiap suku kata selalu dimulai dengan huruf besar, misal DataMahasiswa.
* Jangan melupakan tanda titik koma ‘;’ untuk mengakhiri deklarasi dari sebuah kelas.
Posisi Penulisan Class dan Fungsi Utama
Andaikan kita akan mendeklarasikan kelas di dalam sebuah file yang terdapat fungsi utama, maka struktur program kita adalah sebagai berikut:
#include< …>
#include
using namespace std;
class Mahasiswa
{
};
class Dosen
{
};
…
int main()
{
//body fungsi utama
return 0;
}
Class Sebagai Tipe Data
Selama ini kita sudah mengenal beberapa macam tipe data seperti int, float, double dll. Kelas juga bisa digunakan sebagai tipe data dari sebuah variable. Sebagai contoh, andaikan kita mempunyai kelas
dengan nama Mahasiswa dan kita hendak mendeklarasikan sebuah variabel bertipe Mahasiswa maka penulisannya adalah sebagai berikut:
Mahasiswa mhs;
Pendeklarasian sebuah variabel yang memiliki tipe kelas tertentu bisa juga dipahami sebagai proses pembuatan objek. Pada contoh di atas kita memiliki sebuah objek dengan nama mhs.
Membuat Objek
Pembuatan objek bisa dilakukan dengan mendeklarasikan sebuah varibel bertipe kelas tertentu seperti yang sudah dijelaskan di atas. Bisa juga dilakukan dengan menggunakan pointer, seperti berikut:
Mahasiswa *mhs1 = new Mahasiswa();
Keunggulan menggunakan pointer adalah kita bisa membuat objek pada saat program dijalankan – runtime. Penting untuk diingat setiap objek yang sudah diciptakan (menggunakan pointer) harus dihapus
jika sudah tidak dibutuhkan lagi menggunakan perintah delete.
delete (mhs);
Membuat Sebuah Class
Sebuah kelas bisa memiliki variabel/attribute dan fungsi/method. Setiap variabel dan fungsi ini memiliki beberapa sifat seperti private, protected dan public. Ketiga sifat ini disebuh access specifiers dan
digunakan untuk menentukan siapa yang berhak mengakses variabel dan fungsi.
Berikut ini adalah bentuk umum sebuah kelas yang berisi variabel, fungsi dan access specifiers:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
…
};
Mengenal Konstruktor dan Destruktor
Di dalam sebuah kelas terdapat dua buah fungsi/method spesial. Disebut spesial karena kita tidak akan pernah memanggil fungsi tersebut secara langsung namun fungsi ini akan dijalankan secara otomatis.
Fungsi Konstruktor (constructor) adalah fungsi yang dipanggil pada saat pembuatan sebuah objek. Sedangkan fungsi Destruktor (destructor) adalah fungsi yang dipanggil pada saat penghancuran sebuah
objek.
Pertanyaan yang menarik bagi kita adalah “kapan sih sebuah objek dihancurkan” ? Jawabannya adalah saat objek itu sudah tidak lagi digunakan. Untuk objek yang dibuat menggunakan pointer, objek ini
akan dihancurkan hanya pada saat kita memanggil perintah delete. Sedangkan untuk objek yang dibuat tanpa menggunakan pointer, objek tersebut akan dihancurkan jika keluar dari scope objek / variabel
tersebut. Pembahasan tentang scope sudah pernah dibahas sebelumnya. Agar lebih memahami cobalah memahami source code yang disertakan pada tulisan ini.
Sifat spesial yang lain dari kedua fungsi ini adalah nama. Kedua fungsi memiliki nama yang sama dengan nama kelas. Namun yang membedakan, untuk fungsi Destruktor ditambahkan tanda ‘cacing’
didepan nama fungsi. Sebagai contoh, jika kita mempunyai kelas dengan nama Mahasiswa maka nama fungsi konstruktor dari kelas ini adalah Mahasiswa() sedangkan nama fungsi destruktor dari kelas ini
adalah ~Mahasiswa(). Kedua fungsi ini biasanya bersifat public.
Dengan demikian bentuk umum dari sebuah kelas adalah sebagai berikut:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
Mahasiswa()
{
//body dari konstruktor
}
~Mahasiswa()
{
//body dari destruktor
}
};
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 10)
Tulisan kali ini akan membahas lebih lanjut bagaimana membuat konstruktor dari sebuah kelas. Akan dibahas pula lebih mendalam tentang perbedaan access specifier seperti private, public, protected.
Pembahasan disertai juga dengan source code yang menunjukkan bagaimana membuat proses inheritance (pewarisan) dan bagaimana pengaruh access specifier ini di dalam proses tersebut.
Download Artikel + Source Code
Pengenalan Bahasa C++ (Bagian 11)
Di dalam pemrograman berorientasi objek (PBO) umumnya semua variabel/atribut diletakan pada bagian private.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
Hal ini berarti variabel-variabel ini hanya bisa diakses dari dalam kelas itu sendiri. Misalnya dari dalam salah satu method/fungsi yang berada di dalam kelas.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
penggunaan variabel ini dari luar kelas, misal memanggil dari fungsi main, tidak bisa dilakukan.
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
Untuk bisa menggunakan (mengubah atau melihat) sebuah variabel yang bersifat private di dalam sebuah kelas, biasanya dilakukan menggunakan fungsi setter dan getter.
Artikel Selengkapnya + Source Code
Mari Berlatih Bahasa C++ (Bagian 1)
Program membalikan kata adalah salah satu tugas yang saya dapatkan di lab, ketika mulai belajar C/C++. Tugas ini sangat bagus untuk mengetahui sebaik mana pengetahuan kita tentang ARRAY, dalam
hal ini STRING. Untuk bisa menyelesaikan tugas ini, pemahaman tentang VARIABEL, PERULANGAN dan INPUT-OUPUT dengan C++ sangat dibutuhkan.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk dan Source Code
Mari Berlatih Bahasa C++ (Bagian 2)
Saat bekerja dengan ARRAY, hal yang perlu diperhatikan adalah jangan sampai memberikan data ke dalam ARRAY melebihi kapasitas yang disediakan. Jika hal ini dilanggar maka masalah yang dihadapi
adalah buffer overflow. Tujuan dari tugas kali ini adalah membuat suatu sistem “Input Kalimat” di mana user hanya bisa menyimpan data ke dalam ARRAY sebanyak tempat yang sudah ditentukan
sebelumnya.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Mari Berlatih Bahasa C++ (Bagian 3)
Tugas kali ini merupakan pengembangan dari tugas sebelumnya, Input Kalimat, dengan penekanan pada pembuatan fungsi. Disarankan teman-teman untuk membaca artikel tentang fungsi, pengenalan
bahasa C++ (bagian 7).
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Implementasi Array dengan Vector
Pengantar
Array adalah variabel dengan sifat khusus yaitu mampu menyimpan nilai lebih dari satu dalam waktu yang bersamaan. Setiap nilai ini disimpan pada alamat tertentu yang biasa disebut indeks. Ingat indeks
selalu dimulai dari 0 (nol). Membuat program menggunakan array sudah pernah dijelaskan sebelumnya, namun kelamahan dari pendekatan ini adalah kita harus sangat memperhatikan berapa jumlah data
yang disimpan ke dalam array. Jika data yang dimasukkan ke dalam array melebihi kemampuan yang disediakan maka akan menimbulkan masalah buffer overflow.
Pada tulisan ini diperkenalkan bagaimana membuat array menggunakan salah satu tipe data yang disebut vector. Dengan menggunakan tipe data ini, jumlah data yang dimasukkan sangat fleksibel,
tergantung dari keinginan kita. Kita tidak perlu mendeklarasikan secara eksplisit berapa jumlah data yang bisa disimpan ke dalam array. Tipe data ini menyediakan sebuah fungsi yang bisa dipakai untuk
mengetahui sebarapa banyak jumlah data yang telah tersimpan, disebut size(). Terdapat juga fungsi yang digunakan untuk menambahkan data ke dalam array, disebut push_back().
Lebih Jauh Tentang Vector
Secara formal, Vector dikenal sebagai container / wadah dan diperkenalkan dalam C++. Kita tidak akan menemukan Vector di dalam bahasa C. Vector adalah wadah yang bisa menampung semua jenis
tipe data, sehingga yang perlu kita lakukan hanyalah menentukan tipe data apa yang hendak disimpan sedangkan cara untuk bekerja dengan data tersebut adalah sama untuk semua tipe data.
Untuk bisa menggunakan vector, kita perlu memberitahukan compiler bahwa kita menggunakan pustaka vector
#include<vector>
Contoh kita ingin bekerja dengan tipe data int, maka yang perlu kita lakukan adalah mendefinisikan variabel yang bertipe vector of int, seperti berikut:
vector<int> myVariable;
Jika ingin bekerja dengan tipe data float maka definisinya seperti berikut:
vector<float> myVariable;
Kita juga bisa bekerja dengan class (ingat class juga bisa digunakan sebagai tipe data) maka definisinya seperti berikut:
vector<nama_class> myVariable;
Untuk mengetahui jumlah data yang disimpan, kita bisa menggunakan fungsi size() seperti berikut:
myVariable.size();
Andaikan kita bekerja dengan tipe data int, maka cara menambahkan data ke dalam vector adalah seperti berikut:
myVariable.push_back(5);
atau bisa juga seperti berikut:
int data = 10;
myVariable.push_back(data);
atau bisa juga seperti berikut:
int data_baru = 0;
cout << “Input data baru : “;
cin >> data_baru;
myVariable.push_back(data_baru);
Untuk mengakses data tertentu yang tersimpan, cara yang digunakan sama persis dengan penggunaan array. Misal untuk menampilkan data pada indeks ke-5 (ingat indeks selalu dimulai dari 0);
cout << myVariable[5];
Pada source code yang diberikan, terdapat contoh sederhana bagaimana menyimpan data ke dalam array menggunakan cara yang sudah kita kenal dan bagaimana caranya jika hal tersebut kita buat
menggunakan vector.
Download Artikel & Source Code
Mengenal Fungsi Swap
Pengantar
Fungsi swap adalah fungsi yang digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting). Pada pemrograman C++, fungsi
ini sudah tersedia dengan fleksibilitas yang tinggi. Artinya bisa digunakan untuk menukar dua buah nilai dengan tipe data yang bermacam-macam. Walaupun sudah tersedia dan tinggal pakai, tidak ada
salahnya kita belajar bersama-sama bagaimana membuat fungsi ini. Contoh penggunaan fungsi swap yang sudah tersedia juga akan tersedia pada source code yang diberikan.
Sekilas Tentang Pointer
Pointer sudah pernah dibahas pada tulisan, pengenalan bahasa C++ (bagian 3). Pada bagian ini akan dijelaskan secara singkat penggunaan sederhana dari pointer.
Konsep penting yang perlu diingat adalah, pointer biasanya digunakan untuk menunjuk ke variabel yang lain. Untuk itu pointer membutuhkan alamat dari variabel yang ditunjuk. Setelah mengetahui alamat,
dengan menggunakan pointer kita bisa mengubah nilai dari variabel yang ditunjuk.
Kita sudah tahu bahwa untuk membuat sebuah variabel, kita perlu menentukan tipe dari variabel dan kita juga perlu memperhatikan aturan pemberian nama dari variabel tersebut. Misal kita akan membuat
variabel dengan nama data dan bertipe int, maka kita dapat menulisnya sebagai berikut:
int data;
Jika kita hendak membuat pointer. Kita cukup mendambahkan tanda bintang setelah tipe data.
int* myPointer;
pada deklarasi ini, kita membuat sebuah pointer dengan nama myPointer. Pointer ini hanya bisa menunjuk ke variabel yang bertipe int.
Seperti yang sudah dijelaskan sebelumnya, untuk menunjuk sebuah variabel, pointer membutuhkan alamat dari variabel yang hendak ditunjuk. Dengan menggunakan tanda ‘&’ kita bisa mendapatkan
alamat dari sebuah variabel. Berikut ini ditunjukkan bagaimana caranya myPointer bisa menunjuk ke alamat dari data.
myPointer = &data;
Variabel sebenarnya hanya merupakan nama lain dari alamat dimemori. Kita tentu akan lebih mudah mengingat nama seperti data dari pada sebuah alamat dimemori, 0x22ff5c.
Sekarang diandaikan kita memberikan nilai 10 (sepuluh) pada variabel data
data = 10;
pernyataan tersebut sebenarnya, kita menyimpan nilai 10 ke alamat tertentu dimemori yang diwakili dengan nama data. Karena myPointer telah menunjuk ke alamat dari data, ini berarti myPointer juga
menunjuk ke nilai 10.
Untuk mengakses (misal membaca) nilai yang ditunjuk oleh pointer, kita bisa menggunakan tanda ‘*’ didepan nama dari pointer.
cout<< *myPointer ;
Keluaran dari pernyataan ini adalah angka 10 akan tercetak ke layar. Keluaran ini akan sama jika kita menampilkan nilai dari variabel data.
cout<< data;
Kita juga bisa mengubah nilai yang ditunjuk oleh pointer, seperti berikut:
*myPointer = 15;
Setelah pernyataan diatas maka keluaran dari kedua pernyataan berikut akan sama persis yaitu menampilkan angka 15.
cout << data;
cout << *myPointer;
Membuat Fungsi Swap
Untuk membuat sebuah fungsi, kita bisa memulai dengan membayangkan bagaimana caranya kita memanggil fungsi yang akan kita pakai. Sebagai contoh fungsi swap yang akan kita buat dipanggil
dengan cara sebagai berikut:
int a = 5;
int b= 7;
mySwap(&a,&b);
cout << a; // harapannya tertampil 7
cout << b; // harapannya tertampil 5
berangkat dari skenario di atas, tampak bahwa fungsi swap memiliki dua buah parameter pointer dengan tipe int. Untuk itu bentuk fungsi kita kira-kira seperti berikut:
void mySwap (int* x, int* y)
{
//body dari swap
…
}
pada kasus ini kita tidak membutuhkan nilai kembalian sehingga tipe data dari return value dibuat void. Kenapa tidak butuh ? Silahkan melihat lagi skenario yang kita buat di atas.
Karena fungsi kita hendak menukarkan nilai x dan nilai y (ingat x dan y adalah pointer, sehingga kita butuh tanda * untuk mengubah nilai), maka kita membutuhkan sebuah penampung (variabel
tambahan) untuk melakukan proses penukaran ini.
Buf = *x;// buf bernilai x
*x = *y; // x bernilai y
*y = buf;// y bernilai x
pada contoh diatas, penampung yang kita pakai adalah Buf. Karena Buf dipakai untuk menampung nilai bertipe int, maka Buf juga harus dideklarasikan bertipe int.
int Buf;
Dengan demikian bentuk fungsi kita selengkapnya, kira-kira seperti berikut:
void swap (int* x, int* y)
{
//body dari swap
int Buf;
Buf = *x;
*x = *y;
*y = Buf;
}
Pemanggilan fungsi dengan cara mengirimkan alamat dari variabel, dikenal dengan istilah passing parameter by reference.
Di dalam bahasa C++, diperkenalkan teknik baru untuk pengiriman parameter berupa reference dengan menggunakan tanda ‘&’. Dengan menggunakan teknik ini, cara pemanggilan fungsi swap bisa
diskenariokan sebagai berikut:
int a = 5;
int b= 7;
swap(a,b); // perhatikan tanda & dihilangkan
cout << a;
cout << b;
Perubahan juga perlu dilakukan pada fungsi kita sebagai berikut:
void swap (int& x, int& y) //perhatikan tanda &
{
//body dari swap
int Buf;
Buf = x;// tanda * juga dihilangkan
x = y;
y = Buf;
}
Download Article & Source Code
Membangkitkan Bilangan Acak
Terdapat dua fungsi yang dibutuhkan untuk membangkitkan bilangan acak srand() dan rand(). Fungsi srand() dibutuhkan untuk menentukan “bibit” dari bilangan acak yang akan dibangkitkan. Sama seperti
kalau kita menanam tumbuhan, bibit yang berbeda tentu akan menghasilkan tambuhan dewasa yang berbeda pula. Sedangkan fungsi rand() digunakan untuk menampilkan bilangan acak yang dihasilkan
dari “bibit” yang diberikan ke fungsi srand().
Bentuk umum dari fungsi srand() adalah:
view plainprint?
1. srand(bibit);
view plainprint?
1. srand(bibit);
Sebagai Contoh:
view plainprint?
1. srand(4);
view plainprint?
1. srand(4);
Bentuk umum dari fungsi rand() adalah:
view plainprint?
1. rand() % n;
view plainprint?
1. rand() % n;
Bilangan acak yang dihasilkan oleh fungsi rand() adalah dari 0 s/d (n-1).
Sebagai contoh:
view plainprint?
1. rand() % 10;
view plainprint?
1. rand() % 10;
Perintah di atas akan menghasilkan bilangan antara 0 s/d 9.
Seperti yang sudah dijelaskan sebelumnya, jika kita menggunakan “bibit” yang sama maka hasil yang diperoleh dari bibit ini pastilah sama. Untuk membuktikan, cobalah menjalankan program berikut
berkali-kali dan perhatikan tampilan dilayar:
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Agar bisa membangkitkan bilangan yang benar-benar acak, kita harus memberikan “bibit” yang berbeda-beda pula kepada fungsi srand(). Salah satu cara yang bisa dilakukan adalah memberikan “bibit”
menggunakan fungsi time(), seperti berikut:
view plainprint?
1. srand(time(NULL));
view plainprint?
1. srand(time(NULL));
Sekarang, cobalah jalankan program berikut beberapa kali, dan perhatikan keluaran yang ditampilkan ke layar.
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Fungsi rand() umumnya digunakan untuk membangkitkan bilangan acak yang bertipe bilangan bulat. Cobalah mencari solusi bagaimana membuat bilangan acak “pecahan” antara 0 dan 1 ?
Menampilkan Tabel ASCII
Perhatikan program berikut:
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
Program diatas akan menampilkan angka dari 0 s/d 9. Ide dibalik program sederhana di atas adalah menampilkan informasi yang bernilai desimal (48 s/d 57) dalam bentuk karakter ke layar.
Representasi desimal dalam bentuk karakter bisa dilihat pada tabel ASCII.
Program berikut akan menampilkan semua isi tabel ASCII.
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
Contoh Coding Stack Dengan Linked List
#include#include
/* membuat linked list */
typedef struct myLinkedList {
char nim[10];
char nama[35];
int nilai;
myLinkedList *next;
};
myLinkedList *head;
/* keadaan awal */
void init() {
head = NULL;
}
/* fungsi untuk mengecek linked list
* apakah kosong atau tidak
* jika kosong maka bernilai 1
* jika tidak kosong maka bernilai 0
*/
int paKosong() {
if (head == NULL) return 1;
else return 0;
}
/**
* fungsi untuk menambahkan data dari depan node
*/
void tambahDepan() {
myLinkedList *baru;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
baru->next = head;
head = baru;
}
}
/**
* fungsu untuk menambahkan data dari depan node
*/
void tambahBelakang() {
myLinkedList *baru, *bantu;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
bantu = head;
while (bantu->next != NULL) {
bantu = bantu->next;
}
bantu->next = baru;
}
}
/**
* fungsi untuk menghapus dari depan node
*/
void hapusDepan() {
myLinkedList *hapus;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
hapus = head;
data = hapus->nim;
head = head->next;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
/**
* fungsi untuk menghapus dari belakang node
*/
void hapusBelakang() {
myLinkedList *hapus, *bantu;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
bantu = head;
while(bantu->next->next != NULL) {
bantu = bantu->next;
}
hapus = bantu->next;
data = hapus->nim;
bantu->next = NULL;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
cout << “Tekan Enter untuk kembali ke Menu!”; getch(); }
/**
* fungsi untuk menampilkan data linked list
*/
void tampilData() {
int no = 1;
myLinkedList *bantu;
bantu = head;
if (paKosong() == 0) {
while (bantu != NULL) {
cout << “No. : ” <<>nim <<>nama <<>nilai <<>
no++;
bantu = bantu->next;
}
cout <<>
} else {
cout << “Data masih kosong ” <<>
/**
* fungsi Menu, Untuk menentukan linked list mana
* yang dipilih
*/
int menu() {
int pilihan;
cout << “+———————-+\n”; cout << “| MENU PILIHAN |\n”; cout << “+———————-+\n”; cout << “| 1. Tambah Depan |\n”; cout << “| 2. Tambah Belakang |\n”; cout << “| 3. Hapus Depan |\n”; cout << “| 4. Hapus Belakang |\n”; cout << “| 5. Tambah Tengah |\n”; cout << “| 6. Hapus Tengah |\n”; cout << “| 7. TampilData |\n”; cout << “| 8. Keluar |\n”; cout << “+———————-+\n”; cout << “| PILIHAN ANDA ? [ ] |\n”; cout << “+———————-+\n”;
cin >> pilihan;
return pilihan;
}
/**
* fungsi operasi data
*/
void operasiData() {
int pilih;
do {
pilih = menu();
switch (pilih) {
case 1 :
tambahDepan();
break;
case 2 :
tambahBelakang();
break;
case 3 :
hapusDepan();
break;
case 4 :
hapusBelakang();
break;
case 5 :
tampilData();
break;
case 6:
cout << “Terima kasih coy!!!”; break; } } while (pilih != 6); }
// ROGRAM UTAMA
void main() {
init();
operasiData();
Tag :
computer,
belajar mudah C++
By : Unknown Tulisan ini mungkin sebaiknya menjadi
tulisan awal pada BLOG ini. Namun secara tidak sengaja tulisan ini
terlupakan karena saya pikir tanpa membaca tulisan ini pun, banyak
diantara kita sudah punya alasan sendiri-sendiri untuk memulai belajar
C++, salah satunya adalah karena pemrograman C++ umumnya harus
dipelajari oleh teman-teman yang mengambil jurusan seperti Sistem
informasi, Teknologi Informasi dan Komputerisasi Akuntansi. Bahasa ini
menjadi bahasa pengantar untuk pengenalan dunia pemrograman. Dulu
sewaktu memulai belajar pemrograman, alasan utama saya juga karena kami
diharuskan menggunakan bahasa pemrograman C/C++ untuk
mengimplementasikan teori Algoritma dan Struktur Data (ASD).
Tulisan tentang “Mari Belatih Bahasa C++” adalah seri belajar bahasa pemrograman C++ dari awal yang ditujukkan untuk teman-teman yang baru belajar pemrograman. Harapannya adalah denganmengikuti seri ini, teman-teman akan belajar menggunakan pengetahuan yang sudah dipelajari di bangku kuliah atau pelajari lewat materi yang disediakan di website ini, untuk menyelesaikan persoalan mulai dari yang tingkat dasar sampai dengan tingkat lanjut. Dengan berlatih, mudah-mudahan kemampuan pemrograman teman-teman akan bisa semakin baik.
Download Artikel dan Contoh Source Code
Pengenalan Bahasa C++ (Bagian 1)
Pada tulisan ini, kita akan belajar tentang :
* Bagaimana instalasi IDE Dev-C++
* Menulis dan memahami program “Halo Dunia”
* Memahami struktur program, Namespace, cout, cin, parameter pada fungsi main
Download Artikel
Pengenalan Bahasa C++ (Bagian 2)
Pada bagian ini kita akan belajar lebih dalam lagi tentang struktur dasar dari program C/C++. Topik pembahasan meliputi:
* Penjelasan maksud dari setiap bagian pada struktur dasar
* Pesan kesalahan apa yang terjadi jika kita tidak mengikuti struktur dasar ini.
* Contoh program yang mengikuti struktur dasar ini, membuat sendiri fungsi faktorial dan tambah (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 3)
Pada bagian ini khusus membahas tentang konsep variabel. Pembahasan meliputi:
* Apa itu variabel
* Tipe data dari variabel
* Aturan pemberian nama variabel
* Bagaimana mendeklarasikan variabel
* Memahami variabel sebagai pointer
* Bagaimana mendeklarasikan dan menggunakan variabel sebagai pointer
* Program untuk menampilkan nilai bilangan genap
* Program menggunakan pointer
Download Source Code
Download Artikel
Pengenalan Bahasa C++ (Bagian 4)
Pada pembahasan ini kita akan belajar tentang Array. Pembahasan meliputi:
* Konsep Array
* Mendeklarasikan Array berdimensi 1, 2, dan N-dimensi
* Memberikan nilai ke Array
* Menampilkan isi Array
* Contoh program Input Output menggunakan Array. Pada program ini user bisa menentukan jumlah data yang bisa disimpan ke dalam Array, menentukan isi dari Array dan program akan
menampilkan semua isi Array tersebut ke layar (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 5)
Di dalam bahasa C++ terdapat 3 (tiga) metode yang bisa digunakan untuk membuat perulangan yaitu, for, while atau dengan do … while. Ketiga perulangan ini membutuhkan pengontrol jalannya
perulangan yang disebut kondisi. Selama kondisi benar, perulangan akan terus dikerjakan.
Tulisan ini membahas dengan detail aspek penting yang perlu diperhatikan dalam membuat perulangan. Berikut ini adalah garis besar topik yang dibahas:
* Konsep kondisi
* Mengenal operator logika
* perulangan dengan for
* perulangan dengan while
* perulangan dengan do … while
* perbedaan antara perulangan dengan while dan do … while
Download Artikel
Pengenalan Bahasa C++ (Bagian 6)
Di dalam kehidupan ini seringkali kita diperhadapkan dengan pengambilan keputusan. Dan setiap keputusan selalu dihadapkan dengan konsekuensi. Jika saya memutuskan untuk melakukan ‘A’ maka
konsekuensinya adalah nasib saya akan menjadi ‘B’ namun jika saya melakukan C maka nasib saya akan menjadi ‘B+’ .
Di dalam struktur pemrograman bahasa C/C++, ilustrasi di atas dapat dituliskan sebagai berikut:
jika (saya melakukan A) maka
{
…..nasib_saya = B
} namun
jika (saya melakukan C) maka
{
…..nasib_saya = B+
}
Konsep inilah yang dikenal dengan istilah percabangan.
Pembahasan di dalam tulisan ini meliputi:
1. Percangan dengan if tanpa else
2. Percabangan dengan if dengan else
3. Percabangan dengan switch
4. Konsep Scope. Konsep ini sangat penting untuk memahami konsep lokalitas dari sebuah variabel.
5. Contoh Program, dimana penjelasan diawali dengan menjelaskan permasalahan yang hendak dipecahkan, algoritma yang digunakan dan diakhiri dengan penyelesaian.
Download Artikel
Pengenalan Bahasa C++ (Bagian 7)
Pada tulisan ini akan dibahas khusus tentang fungsi dan merupakan pelengkap penjelasan dari tulisan Pengenalan Bahasa C++ (bagian 2). Penjelasan disertai dengan ilustrasi berupa gambar dengan
penekanan pada bagian-bagian penting yang perlu diperhatikan saat mengimplementasikan prototipe sebuah fungsi.
Download Materi
Pengenalan Bahasa C++ (Bagian 8)
Operasi file adalah operasi yang berhubungan dengan file. Pada tulisan ini akan diberikan penjelasan tentang bagaimana membaca file (per baris dan per kata), membuat file baru, dan membuat duplikasi
dari sebuah file.
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 9)
Pengantar
Salah satu keunggulan C++ dibandingkan C adalah dukungan yang baik akan Object Oriented Programming (OOP). Saat bekerja dengan OOP, kita pasti akan berhadapan dengan yang dinamakan class
karena merupakan template / cetakan dari sebuah objek. Di Ambon, makanan khas kami adalah Sagu. Untuk membuat sagu kami biasanya menggunakan porna. Sagu yang masih mentah, disebut Sagu
manta, akan dimasukkan ke dalam porna ini untuk kemudian dibakar. Dari sebuah porna kita bisa memperoleh beberapa buah sagu. Setelah sagu menjadi masak dan disiap dimakan, porna yang sudah
dipakai bisa dipakai lagi untuk membuat sagu yang lain. Untuk itu porna bisa juga kita pahami sebagai template / cetakan untuk membuat objek yang disebut Sagu bakar.
Bentuk Umum Sebuah Class
class nama_kelas
{
};
Berikut ini adalah beberapa catatan penting yang perlu diperhatikan dari bentuk umum ini:
* kata kunci class, menunjukkan bahwa kita hendak membuat sebuah kelas dan harus ditulis menggunakan huruf kecil.
* nama_kelas adalah nama dari kelas yang hendak kita buat. Sebaiknya nama ini bisa melukiskan fungsi dari kelas tersebut. Sebagai contoh, kita hendak membuat kelas untuk menyimpan data diri dari
seorang mahasiswa, maka sebaiknya nama kelas yang digunakan adalah Mahasiswa atau DataMahasiswa. Perlu juga untuk diperhatikan aturan pemberian nama kelas: (1) Selalu dimulai dengan huruf
Besar, misal Mahasiswa (2) Jika terdapat lebih dari satu suku kata maka setiap suku kata selalu dimulai dengan huruf besar, misal DataMahasiswa.
* Jangan melupakan tanda titik koma ‘;’ untuk mengakhiri deklarasi dari sebuah kelas.
Posisi Penulisan Class dan Fungsi Utama
Andaikan kita akan mendeklarasikan kelas di dalam sebuah file yang terdapat fungsi utama, maka struktur program kita adalah sebagai berikut:
#include< …>
#include
using namespace std;
class Mahasiswa
{
};
class Dosen
{
};
…
int main()
{
//body fungsi utama
return 0;
}
Class Sebagai Tipe Data
Selama ini kita sudah mengenal beberapa macam tipe data seperti int, float, double dll. Kelas juga bisa digunakan sebagai tipe data dari sebuah variable. Sebagai contoh, andaikan kita mempunyai kelas
dengan nama Mahasiswa dan kita hendak mendeklarasikan sebuah variabel bertipe Mahasiswa maka penulisannya adalah sebagai berikut:
Mahasiswa mhs;
Pendeklarasian sebuah variabel yang memiliki tipe kelas tertentu bisa juga dipahami sebagai proses pembuatan objek. Pada contoh di atas kita memiliki sebuah objek dengan nama mhs.
Membuat Objek
Pembuatan objek bisa dilakukan dengan mendeklarasikan sebuah varibel bertipe kelas tertentu seperti yang sudah dijelaskan di atas. Bisa juga dilakukan dengan menggunakan pointer, seperti berikut:
Mahasiswa *mhs1 = new Mahasiswa();
Keunggulan menggunakan pointer adalah kita bisa membuat objek pada saat program dijalankan – runtime. Penting untuk diingat setiap objek yang sudah diciptakan (menggunakan pointer) harus dihapus
jika sudah tidak dibutuhkan lagi menggunakan perintah delete.
delete (mhs);
Membuat Sebuah Class
Sebuah kelas bisa memiliki variabel/attribute dan fungsi/method. Setiap variabel dan fungsi ini memiliki beberapa sifat seperti private, protected dan public. Ketiga sifat ini disebuh access specifiers dan
digunakan untuk menentukan siapa yang berhak mengakses variabel dan fungsi.
Berikut ini adalah bentuk umum sebuah kelas yang berisi variabel, fungsi dan access specifiers:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
…
};
Mengenal Konstruktor dan Destruktor
Di dalam sebuah kelas terdapat dua buah fungsi/method spesial. Disebut spesial karena kita tidak akan pernah memanggil fungsi tersebut secara langsung namun fungsi ini akan dijalankan secara otomatis.
Fungsi Konstruktor (constructor) adalah fungsi yang dipanggil pada saat pembuatan sebuah objek. Sedangkan fungsi Destruktor (destructor) adalah fungsi yang dipanggil pada saat penghancuran sebuah
objek.
Pertanyaan yang menarik bagi kita adalah “kapan sih sebuah objek dihancurkan” ? Jawabannya adalah saat objek itu sudah tidak lagi digunakan. Untuk objek yang dibuat menggunakan pointer, objek ini
akan dihancurkan hanya pada saat kita memanggil perintah delete. Sedangkan untuk objek yang dibuat tanpa menggunakan pointer, objek tersebut akan dihancurkan jika keluar dari scope objek / variabel
tersebut. Pembahasan tentang scope sudah pernah dibahas sebelumnya. Agar lebih memahami cobalah memahami source code yang disertakan pada tulisan ini.
Sifat spesial yang lain dari kedua fungsi ini adalah nama. Kedua fungsi memiliki nama yang sama dengan nama kelas. Namun yang membedakan, untuk fungsi Destruktor ditambahkan tanda ‘cacing’
didepan nama fungsi. Sebagai contoh, jika kita mempunyai kelas dengan nama Mahasiswa maka nama fungsi konstruktor dari kelas ini adalah Mahasiswa() sedangkan nama fungsi destruktor dari kelas ini
adalah ~Mahasiswa(). Kedua fungsi ini biasanya bersifat public.
Dengan demikian bentuk umum dari sebuah kelas adalah sebagai berikut:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
Mahasiswa()
{
//body dari konstruktor
}
~Mahasiswa()
{
//body dari destruktor
}
};
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 10)
Tulisan kali ini akan membahas lebih lanjut bagaimana membuat konstruktor dari sebuah kelas. Akan dibahas pula lebih mendalam tentang perbedaan access specifier seperti private, public, protected.
Pembahasan disertai juga dengan source code yang menunjukkan bagaimana membuat proses inheritance (pewarisan) dan bagaimana pengaruh access specifier ini di dalam proses tersebut.
Download Artikel + Source Code
Pengenalan Bahasa C++ (Bagian 11)
Di dalam pemrograman berorientasi objek (PBO) umumnya semua variabel/atribut diletakan pada bagian private.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
Hal ini berarti variabel-variabel ini hanya bisa diakses dari dalam kelas itu sendiri. Misalnya dari dalam salah satu method/fungsi yang berada di dalam kelas.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
penggunaan variabel ini dari luar kelas, misal memanggil dari fungsi main, tidak bisa dilakukan.
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
Untuk bisa menggunakan (mengubah atau melihat) sebuah variabel yang bersifat private di dalam sebuah kelas, biasanya dilakukan menggunakan fungsi setter dan getter.
Artikel Selengkapnya + Source Code
Mari Berlatih Bahasa C++ (Bagian 1)
Program membalikan kata adalah salah satu tugas yang saya dapatkan di lab, ketika mulai belajar C/C++. Tugas ini sangat bagus untuk mengetahui sebaik mana pengetahuan kita tentang ARRAY, dalam
hal ini STRING. Untuk bisa menyelesaikan tugas ini, pemahaman tentang VARIABEL, PERULANGAN dan INPUT-OUPUT dengan C++ sangat dibutuhkan.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk dan Source Code
Mari Berlatih Bahasa C++ (Bagian 2)
Saat bekerja dengan ARRAY, hal yang perlu diperhatikan adalah jangan sampai memberikan data ke dalam ARRAY melebihi kapasitas yang disediakan. Jika hal ini dilanggar maka masalah yang dihadapi
adalah buffer overflow. Tujuan dari tugas kali ini adalah membuat suatu sistem “Input Kalimat” di mana user hanya bisa menyimpan data ke dalam ARRAY sebanyak tempat yang sudah ditentukan
sebelumnya.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Mari Berlatih Bahasa C++ (Bagian 3)
Tugas kali ini merupakan pengembangan dari tugas sebelumnya, Input Kalimat, dengan penekanan pada pembuatan fungsi. Disarankan teman-teman untuk membaca artikel tentang fungsi, pengenalan
bahasa C++ (bagian 7).
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Implementasi Array dengan Vector
Pengantar
Array adalah variabel dengan sifat khusus yaitu mampu menyimpan nilai lebih dari satu dalam waktu yang bersamaan. Setiap nilai ini disimpan pada alamat tertentu yang biasa disebut indeks. Ingat indeks
selalu dimulai dari 0 (nol). Membuat program menggunakan array sudah pernah dijelaskan sebelumnya, namun kelamahan dari pendekatan ini adalah kita harus sangat memperhatikan berapa jumlah data
yang disimpan ke dalam array. Jika data yang dimasukkan ke dalam array melebihi kemampuan yang disediakan maka akan menimbulkan masalah buffer overflow.
Pada tulisan ini diperkenalkan bagaimana membuat array menggunakan salah satu tipe data yang disebut vector. Dengan menggunakan tipe data ini, jumlah data yang dimasukkan sangat fleksibel,
tergantung dari keinginan kita. Kita tidak perlu mendeklarasikan secara eksplisit berapa jumlah data yang bisa disimpan ke dalam array. Tipe data ini menyediakan sebuah fungsi yang bisa dipakai untuk
mengetahui sebarapa banyak jumlah data yang telah tersimpan, disebut size(). Terdapat juga fungsi yang digunakan untuk menambahkan data ke dalam array, disebut push_back().
Lebih Jauh Tentang Vector
Secara formal, Vector dikenal sebagai container / wadah dan diperkenalkan dalam C++. Kita tidak akan menemukan Vector di dalam bahasa C. Vector adalah wadah yang bisa menampung semua jenis
tipe data, sehingga yang perlu kita lakukan hanyalah menentukan tipe data apa yang hendak disimpan sedangkan cara untuk bekerja dengan data tersebut adalah sama untuk semua tipe data.
Untuk bisa menggunakan vector, kita perlu memberitahukan compiler bahwa kita menggunakan pustaka vector
#include<vector>
Contoh kita ingin bekerja dengan tipe data int, maka yang perlu kita lakukan adalah mendefinisikan variabel yang bertipe vector of int, seperti berikut:
vector<int> myVariable;
Jika ingin bekerja dengan tipe data float maka definisinya seperti berikut:
vector<float> myVariable;
Kita juga bisa bekerja dengan class (ingat class juga bisa digunakan sebagai tipe data) maka definisinya seperti berikut:
vector<nama_class> myVariable;
Untuk mengetahui jumlah data yang disimpan, kita bisa menggunakan fungsi size() seperti berikut:
myVariable.size();
Andaikan kita bekerja dengan tipe data int, maka cara menambahkan data ke dalam vector adalah seperti berikut:
myVariable.push_back(5);
atau bisa juga seperti berikut:
int data = 10;
myVariable.push_back(data);
atau bisa juga seperti berikut:
int data_baru = 0;
cout << “Input data baru : “;
cin >> data_baru;
myVariable.push_back(data_baru);
Untuk mengakses data tertentu yang tersimpan, cara yang digunakan sama persis dengan penggunaan array. Misal untuk menampilkan data pada indeks ke-5 (ingat indeks selalu dimulai dari 0);
cout << myVariable[5];
Pada source code yang diberikan, terdapat contoh sederhana bagaimana menyimpan data ke dalam array menggunakan cara yang sudah kita kenal dan bagaimana caranya jika hal tersebut kita buat
menggunakan vector.
Download Artikel & Source Code
Mengenal Fungsi Swap
Pengantar
Fungsi swap adalah fungsi yang digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting). Pada pemrograman C++, fungsi
ini sudah tersedia dengan fleksibilitas yang tinggi. Artinya bisa digunakan untuk menukar dua buah nilai dengan tipe data yang bermacam-macam. Walaupun sudah tersedia dan tinggal pakai, tidak ada
salahnya kita belajar bersama-sama bagaimana membuat fungsi ini. Contoh penggunaan fungsi swap yang sudah tersedia juga akan tersedia pada source code yang diberikan.
Sekilas Tentang Pointer
Pointer sudah pernah dibahas pada tulisan, pengenalan bahasa C++ (bagian 3). Pada bagian ini akan dijelaskan secara singkat penggunaan sederhana dari pointer.
Konsep penting yang perlu diingat adalah, pointer biasanya digunakan untuk menunjuk ke variabel yang lain. Untuk itu pointer membutuhkan alamat dari variabel yang ditunjuk. Setelah mengetahui alamat,
dengan menggunakan pointer kita bisa mengubah nilai dari variabel yang ditunjuk.
Kita sudah tahu bahwa untuk membuat sebuah variabel, kita perlu menentukan tipe dari variabel dan kita juga perlu memperhatikan aturan pemberian nama dari variabel tersebut. Misal kita akan membuat
variabel dengan nama data dan bertipe int, maka kita dapat menulisnya sebagai berikut:
int data;
Jika kita hendak membuat pointer. Kita cukup mendambahkan tanda bintang setelah tipe data.
int* myPointer;
pada deklarasi ini, kita membuat sebuah pointer dengan nama myPointer. Pointer ini hanya bisa menunjuk ke variabel yang bertipe int.
Seperti yang sudah dijelaskan sebelumnya, untuk menunjuk sebuah variabel, pointer membutuhkan alamat dari variabel yang hendak ditunjuk. Dengan menggunakan tanda ‘&’ kita bisa mendapatkan
alamat dari sebuah variabel. Berikut ini ditunjukkan bagaimana caranya myPointer bisa menunjuk ke alamat dari data.
myPointer = &data;
Variabel sebenarnya hanya merupakan nama lain dari alamat dimemori. Kita tentu akan lebih mudah mengingat nama seperti data dari pada sebuah alamat dimemori, 0x22ff5c.
Sekarang diandaikan kita memberikan nilai 10 (sepuluh) pada variabel data
data = 10;
pernyataan tersebut sebenarnya, kita menyimpan nilai 10 ke alamat tertentu dimemori yang diwakili dengan nama data. Karena myPointer telah menunjuk ke alamat dari data, ini berarti myPointer juga
menunjuk ke nilai 10.
Untuk mengakses (misal membaca) nilai yang ditunjuk oleh pointer, kita bisa menggunakan tanda ‘*’ didepan nama dari pointer.
cout<< *myPointer ;
Keluaran dari pernyataan ini adalah angka 10 akan tercetak ke layar. Keluaran ini akan sama jika kita menampilkan nilai dari variabel data.
cout<< data;
Kita juga bisa mengubah nilai yang ditunjuk oleh pointer, seperti berikut:
*myPointer = 15;
Setelah pernyataan diatas maka keluaran dari kedua pernyataan berikut akan sama persis yaitu menampilkan angka 15.
cout << data;
cout << *myPointer;
Membuat Fungsi Swap
Untuk membuat sebuah fungsi, kita bisa memulai dengan membayangkan bagaimana caranya kita memanggil fungsi yang akan kita pakai. Sebagai contoh fungsi swap yang akan kita buat dipanggil
dengan cara sebagai berikut:
int a = 5;
int b= 7;
mySwap(&a,&b);
cout << a; // harapannya tertampil 7
cout << b; // harapannya tertampil 5
berangkat dari skenario di atas, tampak bahwa fungsi swap memiliki dua buah parameter pointer dengan tipe int. Untuk itu bentuk fungsi kita kira-kira seperti berikut:
void mySwap (int* x, int* y)
{
//body dari swap
…
}
pada kasus ini kita tidak membutuhkan nilai kembalian sehingga tipe data dari return value dibuat void. Kenapa tidak butuh ? Silahkan melihat lagi skenario yang kita buat di atas.
Karena fungsi kita hendak menukarkan nilai x dan nilai y (ingat x dan y adalah pointer, sehingga kita butuh tanda * untuk mengubah nilai), maka kita membutuhkan sebuah penampung (variabel
tambahan) untuk melakukan proses penukaran ini.
Buf = *x;// buf bernilai x
*x = *y; // x bernilai y
*y = buf;// y bernilai x
pada contoh diatas, penampung yang kita pakai adalah Buf. Karena Buf dipakai untuk menampung nilai bertipe int, maka Buf juga harus dideklarasikan bertipe int.
int Buf;
Dengan demikian bentuk fungsi kita selengkapnya, kira-kira seperti berikut:
void swap (int* x, int* y)
{
//body dari swap
int Buf;
Buf = *x;
*x = *y;
*y = Buf;
}
Pemanggilan fungsi dengan cara mengirimkan alamat dari variabel, dikenal dengan istilah passing parameter by reference.
Di dalam bahasa C++, diperkenalkan teknik baru untuk pengiriman parameter berupa reference dengan menggunakan tanda ‘&’. Dengan menggunakan teknik ini, cara pemanggilan fungsi swap bisa
diskenariokan sebagai berikut:
int a = 5;
int b= 7;
swap(a,b); // perhatikan tanda & dihilangkan
cout << a;
cout << b;
Perubahan juga perlu dilakukan pada fungsi kita sebagai berikut:
void swap (int& x, int& y) //perhatikan tanda &
{
//body dari swap
int Buf;
Buf = x;// tanda * juga dihilangkan
x = y;
y = Buf;
}
Download Article & Source Code
Membangkitkan Bilangan Acak
Terdapat dua fungsi yang dibutuhkan untuk membangkitkan bilangan acak srand() dan rand(). Fungsi srand() dibutuhkan untuk menentukan “bibit” dari bilangan acak yang akan dibangkitkan. Sama seperti
kalau kita menanam tumbuhan, bibit yang berbeda tentu akan menghasilkan tambuhan dewasa yang berbeda pula. Sedangkan fungsi rand() digunakan untuk menampilkan bilangan acak yang dihasilkan
dari “bibit” yang diberikan ke fungsi srand().
Bentuk umum dari fungsi srand() adalah:
view plainprint?
1. srand(bibit);
view plainprint?
1. srand(bibit);
Sebagai Contoh:
view plainprint?
1. srand(4);
view plainprint?
1. srand(4);
Bentuk umum dari fungsi rand() adalah:
view plainprint?
1. rand() % n;
view plainprint?
1. rand() % n;
Bilangan acak yang dihasilkan oleh fungsi rand() adalah dari 0 s/d (n-1).
Sebagai contoh:
view plainprint?
1. rand() % 10;
view plainprint?
1. rand() % 10;
Perintah di atas akan menghasilkan bilangan antara 0 s/d 9.
Seperti yang sudah dijelaskan sebelumnya, jika kita menggunakan “bibit” yang sama maka hasil yang diperoleh dari bibit ini pastilah sama. Untuk membuktikan, cobalah menjalankan program berikut
berkali-kali dan perhatikan tampilan dilayar:
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Agar bisa membangkitkan bilangan yang benar-benar acak, kita harus memberikan “bibit” yang berbeda-beda pula kepada fungsi srand(). Salah satu cara yang bisa dilakukan adalah memberikan “bibit”
menggunakan fungsi time(), seperti berikut:
view plainprint?
1. srand(time(NULL));
view plainprint?
1. srand(time(NULL));
Sekarang, cobalah jalankan program berikut beberapa kali, dan perhatikan keluaran yang ditampilkan ke layar.
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Fungsi rand() umumnya digunakan untuk membangkitkan bilangan acak yang bertipe bilangan bulat. Cobalah mencari solusi bagaimana membuat bilangan acak “pecahan” antara 0 dan 1 ?
Menampilkan Tabel ASCII
Perhatikan program berikut:
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
Program diatas akan menampilkan angka dari 0 s/d 9. Ide dibalik program sederhana di atas adalah menampilkan informasi yang bernilai desimal (48 s/d 57) dalam bentuk karakter ke layar.
Representasi desimal dalam bentuk karakter bisa dilihat pada tabel ASCII.
Program berikut akan menampilkan semua isi tabel ASCII.
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
#include
/* membuat linked list */
typedef struct myLinkedList {
char nim[10];
char nama[35];
int nilai;
myLinkedList *next;
};
myLinkedList *head;
/* keadaan awal */
void init() {
head = NULL;
}
/* fungsi untuk mengecek linked list
* apakah kosong atau tidak
* jika kosong maka bernilai 1
* jika tidak kosong maka bernilai 0
*/
int paKosong() {
if (head == NULL) return 1;
else return 0;
}
/**
* fungsi untuk menambahkan data dari depan node
*/
void tambahDepan() {
myLinkedList *baru;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
baru->next = head;
head = baru;
}
}
/**
* fungsu untuk menambahkan data dari depan node
*/
void tambahBelakang() {
myLinkedList *baru, *bantu;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
bantu = head;
while (bantu->next != NULL) {
bantu = bantu->next;
}
bantu->next = baru;
}
}
/**
* fungsi untuk menghapus dari depan node
*/
void hapusDepan() {
myLinkedList *hapus;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
hapus = head;
data = hapus->nim;
head = head->next;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
/**
* fungsi untuk menghapus dari belakang node
*/
void hapusBelakang() {
myLinkedList *hapus, *bantu;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
bantu = head;
while(bantu->next->next != NULL) {
bantu = bantu->next;
}
hapus = bantu->next;
data = hapus->nim;
bantu->next = NULL;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
cout << “Tekan Enter untuk kembali ke Menu!”; getch(); }
/**
* fungsi untuk menampilkan data linked list
*/
void tampilData() {
int no = 1;
myLinkedList *bantu;
bantu = head;
if (paKosong() == 0) {
while (bantu != NULL) {
cout << “No. : ” <<>nim <<>nama <<>nilai <<>
no++;
bantu = bantu->next;
}
cout <<>
} else {
cout << “Data masih kosong ” <<>
/**
* fungsi Menu, Untuk menentukan linked list mana
* yang dipilih
*/
int menu() {
int pilihan;
cout << “+———————-+\n”; cout << “| MENU PILIHAN |\n”; cout << “+———————-+\n”; cout << “| 1. Tambah Depan |\n”; cout << “| 2. Tambah Belakang |\n”; cout << “| 3. Hapus Depan |\n”; cout << “| 4. Hapus Belakang |\n”; cout << “| 5. Tambah Tengah |\n”; cout << “| 6. Hapus Tengah |\n”; cout << “| 7. TampilData |\n”; cout << “| 8. Keluar |\n”; cout << “+———————-+\n”; cout << “| PILIHAN ANDA ? [ ] |\n”; cout << “+———————-+\n”;
cin >> pilihan;
return pilihan;
}
/**
* fungsi operasi data
*/
void operasiData() {
int pilih;
do {
pilih = menu();
switch (pilih) {
case 1 :
tambahDepan();
break;
case 2 :
tambahBelakang();
break;
case 3 :
hapusDepan();
break;
case 4 :
hapusBelakang();
break;
case 5 :
tampilData();
break;
case 6:
cout << “Terima kasih coy!!!”; break; } } while (pilih != 6); }
// ROGRAM UTAMA
void main() {
init();
operasiData();
Bahasa Pemrograman Mana Yang Harus Saya Pelajari ?
Sekarang saya belajar C++ dan saya juga
akan mulai belajar bahasa pemrograman yang lain seperti Java, Delphi,
Visual Basic dan mulai berpikir bahasa pemrograman mana yang sebaiknya
saya kuasai agar mempermudah saya dalam mencari pekerjaan setelah lulus
nanti. Pada saat ini pemrograman Java sedang menjadi Idola. Bagi yang
menguasai pemrograman satu ini bisa dipastikan akan mudah mendapatkan
pekerjaan. Dalam dunia pemrograman kita dituntut untuk bisa belajar
pemrograman sesuai dengan tuntutan proyek. “Jika konsumen
menginginkan Java maka kita harus pakai java, jika konsumen
menginginkan Visual Basic maka kita juga harus menggunakan Visual Basic
walaupun sebelumnya kami tidak mempunyai pengalaman dengan Visual
Basic“, ungkapan seorang progremer.
Saya menyimpulkan bahwa sebaiknya kita benar menguasai betul
konsep pemrograman dan logikanya, karena dengan demikian kita akan bisa
belajar dengan cepat bahasa pemrograman yang lain.
Apakah bahasa C/C++ bisa dibutuhkan juga dalam dunia kerja ?
Jawabannya adalah Ya. Teman-teman bisa browsing dan cari informasi
tentang lowongan kerja sebagai programmer C++, tentu teman-teman akan
menemukan. Di Jerman misalnya, perusahaan yang bergerak dibidang
embedded system umumnya mencari programmer C++ dan gaji yang ditawarkan
juga tidak tanggung-tanggung. Menurut saya hal ini sangat beralasan,
karena untuk membuat program pada embedded system, dibutuhkan
orang-orang yang betul-betul menguasai bagaimana memanajemen program
sehingga bisa berjalan dengan cepat dan juga bisa menggunakan memori
yang tersedia dengan baik. Jika hal ini tidak diperhatikan, error yang
akan muncul adalah runtime error yang sulit dimengerti jika dibandingkan dengan compiletime error.
Apakah program C/C++ digunakan juga untuk membuat aplikasi canggih yang ada saat ini?
Jawabannya lagi-lagi IYA. Saya yakin teman-teman tahu tentang aplikasi google earth, skype. Aplikasi ini dibuat menggunakan QT yang menggunakan C++ sebagai modul intinya.
Belajarlah dengan giat dan jangan mudah putus asa, perbanyak latihan dan baca buku
Mari Berlatih Bahasa C++Tulisan tentang “Mari Belatih Bahasa C++” adalah seri belajar bahasa pemrograman C++ dari awal yang ditujukkan untuk teman-teman yang baru belajar pemrograman. Harapannya adalah denganmengikuti seri ini, teman-teman akan belajar menggunakan pengetahuan yang sudah dipelajari di bangku kuliah atau pelajari lewat materi yang disediakan di website ini, untuk menyelesaikan persoalan mulai dari yang tingkat dasar sampai dengan tingkat lanjut. Dengan berlatih, mudah-mudahan kemampuan pemrograman teman-teman akan bisa semakin baik.
Download Artikel dan Contoh Source Code
Pengenalan Bahasa C++ (Bagian 1)
Pada tulisan ini, kita akan belajar tentang :
* Bagaimana instalasi IDE Dev-C++
* Menulis dan memahami program “Halo Dunia”
* Memahami struktur program, Namespace, cout, cin, parameter pada fungsi main
Download Artikel
Pengenalan Bahasa C++ (Bagian 2)
Pada bagian ini kita akan belajar lebih dalam lagi tentang struktur dasar dari program C/C++. Topik pembahasan meliputi:
* Penjelasan maksud dari setiap bagian pada struktur dasar
* Pesan kesalahan apa yang terjadi jika kita tidak mengikuti struktur dasar ini.
* Contoh program yang mengikuti struktur dasar ini, membuat sendiri fungsi faktorial dan tambah (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 3)
Pada bagian ini khusus membahas tentang konsep variabel. Pembahasan meliputi:
* Apa itu variabel
* Tipe data dari variabel
* Aturan pemberian nama variabel
* Bagaimana mendeklarasikan variabel
* Memahami variabel sebagai pointer
* Bagaimana mendeklarasikan dan menggunakan variabel sebagai pointer
* Program untuk menampilkan nilai bilangan genap
* Program menggunakan pointer
Download Source Code
Download Artikel
Pengenalan Bahasa C++ (Bagian 4)
Pada pembahasan ini kita akan belajar tentang Array. Pembahasan meliputi:
* Konsep Array
* Mendeklarasikan Array berdimensi 1, 2, dan N-dimensi
* Memberikan nilai ke Array
* Menampilkan isi Array
* Contoh program Input Output menggunakan Array. Pada program ini user bisa menentukan jumlah data yang bisa disimpan ke dalam Array, menentukan isi dari Array dan program akan
menampilkan semua isi Array tersebut ke layar (Download Source Code)
Download Artikel
Pengenalan Bahasa C++ (Bagian 5)
Di dalam bahasa C++ terdapat 3 (tiga) metode yang bisa digunakan untuk membuat perulangan yaitu, for, while atau dengan do … while. Ketiga perulangan ini membutuhkan pengontrol jalannya
perulangan yang disebut kondisi. Selama kondisi benar, perulangan akan terus dikerjakan.
Tulisan ini membahas dengan detail aspek penting yang perlu diperhatikan dalam membuat perulangan. Berikut ini adalah garis besar topik yang dibahas:
* Konsep kondisi
* Mengenal operator logika
* perulangan dengan for
* perulangan dengan while
* perulangan dengan do … while
* perbedaan antara perulangan dengan while dan do … while
Download Artikel
Pengenalan Bahasa C++ (Bagian 6)
Di dalam kehidupan ini seringkali kita diperhadapkan dengan pengambilan keputusan. Dan setiap keputusan selalu dihadapkan dengan konsekuensi. Jika saya memutuskan untuk melakukan ‘A’ maka
konsekuensinya adalah nasib saya akan menjadi ‘B’ namun jika saya melakukan C maka nasib saya akan menjadi ‘B+’ .
Di dalam struktur pemrograman bahasa C/C++, ilustrasi di atas dapat dituliskan sebagai berikut:
jika (saya melakukan A) maka
{
…..nasib_saya = B
} namun
jika (saya melakukan C) maka
{
…..nasib_saya = B+
}
Konsep inilah yang dikenal dengan istilah percabangan.
Pembahasan di dalam tulisan ini meliputi:
1. Percangan dengan if tanpa else
2. Percabangan dengan if dengan else
3. Percabangan dengan switch
4. Konsep Scope. Konsep ini sangat penting untuk memahami konsep lokalitas dari sebuah variabel.
5. Contoh Program, dimana penjelasan diawali dengan menjelaskan permasalahan yang hendak dipecahkan, algoritma yang digunakan dan diakhiri dengan penyelesaian.
Download Artikel
Pengenalan Bahasa C++ (Bagian 7)
Pada tulisan ini akan dibahas khusus tentang fungsi dan merupakan pelengkap penjelasan dari tulisan Pengenalan Bahasa C++ (bagian 2). Penjelasan disertai dengan ilustrasi berupa gambar dengan
penekanan pada bagian-bagian penting yang perlu diperhatikan saat mengimplementasikan prototipe sebuah fungsi.
Download Materi
Pengenalan Bahasa C++ (Bagian 8)
Operasi file adalah operasi yang berhubungan dengan file. Pada tulisan ini akan diberikan penjelasan tentang bagaimana membaca file (per baris dan per kata), membuat file baru, dan membuat duplikasi
dari sebuah file.
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 9)
Pengantar
Salah satu keunggulan C++ dibandingkan C adalah dukungan yang baik akan Object Oriented Programming (OOP). Saat bekerja dengan OOP, kita pasti akan berhadapan dengan yang dinamakan class
karena merupakan template / cetakan dari sebuah objek. Di Ambon, makanan khas kami adalah Sagu. Untuk membuat sagu kami biasanya menggunakan porna. Sagu yang masih mentah, disebut Sagu
manta, akan dimasukkan ke dalam porna ini untuk kemudian dibakar. Dari sebuah porna kita bisa memperoleh beberapa buah sagu. Setelah sagu menjadi masak dan disiap dimakan, porna yang sudah
dipakai bisa dipakai lagi untuk membuat sagu yang lain. Untuk itu porna bisa juga kita pahami sebagai template / cetakan untuk membuat objek yang disebut Sagu bakar.
Bentuk Umum Sebuah Class
class nama_kelas
{
};
Berikut ini adalah beberapa catatan penting yang perlu diperhatikan dari bentuk umum ini:
* kata kunci class, menunjukkan bahwa kita hendak membuat sebuah kelas dan harus ditulis menggunakan huruf kecil.
* nama_kelas adalah nama dari kelas yang hendak kita buat. Sebaiknya nama ini bisa melukiskan fungsi dari kelas tersebut. Sebagai contoh, kita hendak membuat kelas untuk menyimpan data diri dari
seorang mahasiswa, maka sebaiknya nama kelas yang digunakan adalah Mahasiswa atau DataMahasiswa. Perlu juga untuk diperhatikan aturan pemberian nama kelas: (1) Selalu dimulai dengan huruf
Besar, misal Mahasiswa (2) Jika terdapat lebih dari satu suku kata maka setiap suku kata selalu dimulai dengan huruf besar, misal DataMahasiswa.
* Jangan melupakan tanda titik koma ‘;’ untuk mengakhiri deklarasi dari sebuah kelas.
Posisi Penulisan Class dan Fungsi Utama
Andaikan kita akan mendeklarasikan kelas di dalam sebuah file yang terdapat fungsi utama, maka struktur program kita adalah sebagai berikut:
#include< …>
#include
using namespace std;
class Mahasiswa
{
};
class Dosen
{
};
…
int main()
{
//body fungsi utama
return 0;
}
Class Sebagai Tipe Data
Selama ini kita sudah mengenal beberapa macam tipe data seperti int, float, double dll. Kelas juga bisa digunakan sebagai tipe data dari sebuah variable. Sebagai contoh, andaikan kita mempunyai kelas
dengan nama Mahasiswa dan kita hendak mendeklarasikan sebuah variabel bertipe Mahasiswa maka penulisannya adalah sebagai berikut:
Mahasiswa mhs;
Pendeklarasian sebuah variabel yang memiliki tipe kelas tertentu bisa juga dipahami sebagai proses pembuatan objek. Pada contoh di atas kita memiliki sebuah objek dengan nama mhs.
Membuat Objek
Pembuatan objek bisa dilakukan dengan mendeklarasikan sebuah varibel bertipe kelas tertentu seperti yang sudah dijelaskan di atas. Bisa juga dilakukan dengan menggunakan pointer, seperti berikut:
Mahasiswa *mhs1 = new Mahasiswa();
Keunggulan menggunakan pointer adalah kita bisa membuat objek pada saat program dijalankan – runtime. Penting untuk diingat setiap objek yang sudah diciptakan (menggunakan pointer) harus dihapus
jika sudah tidak dibutuhkan lagi menggunakan perintah delete.
delete (mhs);
Membuat Sebuah Class
Sebuah kelas bisa memiliki variabel/attribute dan fungsi/method. Setiap variabel dan fungsi ini memiliki beberapa sifat seperti private, protected dan public. Ketiga sifat ini disebuh access specifiers dan
digunakan untuk menentukan siapa yang berhak mengakses variabel dan fungsi.
Berikut ini adalah bentuk umum sebuah kelas yang berisi variabel, fungsi dan access specifiers:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
…
};
Mengenal Konstruktor dan Destruktor
Di dalam sebuah kelas terdapat dua buah fungsi/method spesial. Disebut spesial karena kita tidak akan pernah memanggil fungsi tersebut secara langsung namun fungsi ini akan dijalankan secara otomatis.
Fungsi Konstruktor (constructor) adalah fungsi yang dipanggil pada saat pembuatan sebuah objek. Sedangkan fungsi Destruktor (destructor) adalah fungsi yang dipanggil pada saat penghancuran sebuah
objek.
Pertanyaan yang menarik bagi kita adalah “kapan sih sebuah objek dihancurkan” ? Jawabannya adalah saat objek itu sudah tidak lagi digunakan. Untuk objek yang dibuat menggunakan pointer, objek ini
akan dihancurkan hanya pada saat kita memanggil perintah delete. Sedangkan untuk objek yang dibuat tanpa menggunakan pointer, objek tersebut akan dihancurkan jika keluar dari scope objek / variabel
tersebut. Pembahasan tentang scope sudah pernah dibahas sebelumnya. Agar lebih memahami cobalah memahami source code yang disertakan pada tulisan ini.
Sifat spesial yang lain dari kedua fungsi ini adalah nama. Kedua fungsi memiliki nama yang sama dengan nama kelas. Namun yang membedakan, untuk fungsi Destruktor ditambahkan tanda ‘cacing’
didepan nama fungsi. Sebagai contoh, jika kita mempunyai kelas dengan nama Mahasiswa maka nama fungsi konstruktor dari kelas ini adalah Mahasiswa() sedangkan nama fungsi destruktor dari kelas ini
adalah ~Mahasiswa(). Kedua fungsi ini biasanya bersifat public.
Dengan demikian bentuk umum dari sebuah kelas adalah sebagai berikut:
class Mahasiswa
{
private:
// deklarasi variabel dan fungsi yang bersifat private
…
protected:
//deklarasi variabel dan fungsi yang bersifat protected
…
public:
//deklarasi variabel dan fungsi yang bersifat public
Mahasiswa()
{
//body dari konstruktor
}
~Mahasiswa()
{
//body dari destruktor
}
};
Download Artikel & Source Code
Pengenalan Bahasa C++ (Bagian 10)
Tulisan kali ini akan membahas lebih lanjut bagaimana membuat konstruktor dari sebuah kelas. Akan dibahas pula lebih mendalam tentang perbedaan access specifier seperti private, public, protected.
Pembahasan disertai juga dengan source code yang menunjukkan bagaimana membuat proses inheritance (pewarisan) dan bagaimana pengaruh access specifier ini di dalam proses tersebut.
Download Artikel + Source Code
Pengenalan Bahasa C++ (Bagian 11)
Di dalam pemrograman berorientasi objek (PBO) umumnya semua variabel/atribut diletakan pada bagian private.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
view plainprint?
1. class A
2. {
3. private:
4. int x;
5. };
Hal ini berarti variabel-variabel ini hanya bisa diakses dari dalam kelas itu sendiri. Misalnya dari dalam salah satu method/fungsi yang berada di dalam kelas.
view plainprint?
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
1. class A
2. {
3. private:
4. int x;
5.
6. public:
7. void fungsi()
8. {
9. // variabel x, bersifat private
10. // jadi hanya bisa dipanggil dari dalam
11. // kelas A
12. x = 5;
13. }
14.
15. };
penggunaan variabel ini dari luar kelas, misal memanggil dari fungsi main, tidak bisa dilakukan.
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
1. int main()
2. {
3. A myObjek;
4. // Error. x bersifat private utk kelas A
5. myObjek.x = 6;
6. }
Untuk bisa menggunakan (mengubah atau melihat) sebuah variabel yang bersifat private di dalam sebuah kelas, biasanya dilakukan menggunakan fungsi setter dan getter.
Artikel Selengkapnya + Source Code
Mari Berlatih Bahasa C++ (Bagian 1)
Program membalikan kata adalah salah satu tugas yang saya dapatkan di lab, ketika mulai belajar C/C++. Tugas ini sangat bagus untuk mengetahui sebaik mana pengetahuan kita tentang ARRAY, dalam
hal ini STRING. Untuk bisa menyelesaikan tugas ini, pemahaman tentang VARIABEL, PERULANGAN dan INPUT-OUPUT dengan C++ sangat dibutuhkan.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk dan Source Code
Mari Berlatih Bahasa C++ (Bagian 2)
Saat bekerja dengan ARRAY, hal yang perlu diperhatikan adalah jangan sampai memberikan data ke dalam ARRAY melebihi kapasitas yang disediakan. Jika hal ini dilanggar maka masalah yang dihadapi
adalah buffer overflow. Tujuan dari tugas kali ini adalah membuat suatu sistem “Input Kalimat” di mana user hanya bisa menyimpan data ke dalam ARRAY sebanyak tempat yang sudah ditentukan
sebelumnya.
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Mari Berlatih Bahasa C++ (Bagian 3)
Tugas kali ini merupakan pengembangan dari tugas sebelumnya, Input Kalimat, dengan penekanan pada pembuatan fungsi. Disarankan teman-teman untuk membaca artikel tentang fungsi, pengenalan
bahasa C++ (bagian 7).
Saran:
Jangan melihat dulu source code. Cobalah membaca lagi petunjuk tugas dan menjalankan contoh program yang disediakan. Jika sudah selesai atau mengalami masalah dalam menyelesaikan tugas ini,
silahkan membuka source code.
Download Petunjuk & Source Code
Implementasi Array dengan Vector
Pengantar
Array adalah variabel dengan sifat khusus yaitu mampu menyimpan nilai lebih dari satu dalam waktu yang bersamaan. Setiap nilai ini disimpan pada alamat tertentu yang biasa disebut indeks. Ingat indeks
selalu dimulai dari 0 (nol). Membuat program menggunakan array sudah pernah dijelaskan sebelumnya, namun kelamahan dari pendekatan ini adalah kita harus sangat memperhatikan berapa jumlah data
yang disimpan ke dalam array. Jika data yang dimasukkan ke dalam array melebihi kemampuan yang disediakan maka akan menimbulkan masalah buffer overflow.
Pada tulisan ini diperkenalkan bagaimana membuat array menggunakan salah satu tipe data yang disebut vector. Dengan menggunakan tipe data ini, jumlah data yang dimasukkan sangat fleksibel,
tergantung dari keinginan kita. Kita tidak perlu mendeklarasikan secara eksplisit berapa jumlah data yang bisa disimpan ke dalam array. Tipe data ini menyediakan sebuah fungsi yang bisa dipakai untuk
mengetahui sebarapa banyak jumlah data yang telah tersimpan, disebut size(). Terdapat juga fungsi yang digunakan untuk menambahkan data ke dalam array, disebut push_back().
Lebih Jauh Tentang Vector
Secara formal, Vector dikenal sebagai container / wadah dan diperkenalkan dalam C++. Kita tidak akan menemukan Vector di dalam bahasa C. Vector adalah wadah yang bisa menampung semua jenis
tipe data, sehingga yang perlu kita lakukan hanyalah menentukan tipe data apa yang hendak disimpan sedangkan cara untuk bekerja dengan data tersebut adalah sama untuk semua tipe data.
Untuk bisa menggunakan vector, kita perlu memberitahukan compiler bahwa kita menggunakan pustaka vector
#include<vector>
Contoh kita ingin bekerja dengan tipe data int, maka yang perlu kita lakukan adalah mendefinisikan variabel yang bertipe vector of int, seperti berikut:
vector<int> myVariable;
Jika ingin bekerja dengan tipe data float maka definisinya seperti berikut:
vector<float> myVariable;
Kita juga bisa bekerja dengan class (ingat class juga bisa digunakan sebagai tipe data) maka definisinya seperti berikut:
vector<nama_class> myVariable;
Untuk mengetahui jumlah data yang disimpan, kita bisa menggunakan fungsi size() seperti berikut:
myVariable.size();
Andaikan kita bekerja dengan tipe data int, maka cara menambahkan data ke dalam vector adalah seperti berikut:
myVariable.push_back(5);
atau bisa juga seperti berikut:
int data = 10;
myVariable.push_back(data);
atau bisa juga seperti berikut:
int data_baru = 0;
cout << “Input data baru : “;
cin >> data_baru;
myVariable.push_back(data_baru);
Untuk mengakses data tertentu yang tersimpan, cara yang digunakan sama persis dengan penggunaan array. Misal untuk menampilkan data pada indeks ke-5 (ingat indeks selalu dimulai dari 0);
cout << myVariable[5];
Pada source code yang diberikan, terdapat contoh sederhana bagaimana menyimpan data ke dalam array menggunakan cara yang sudah kita kenal dan bagaimana caranya jika hal tersebut kita buat
menggunakan vector.
Download Artikel & Source Code
Mengenal Fungsi Swap
Pengantar
Fungsi swap adalah fungsi yang digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting). Pada pemrograman C++, fungsi
ini sudah tersedia dengan fleksibilitas yang tinggi. Artinya bisa digunakan untuk menukar dua buah nilai dengan tipe data yang bermacam-macam. Walaupun sudah tersedia dan tinggal pakai, tidak ada
salahnya kita belajar bersama-sama bagaimana membuat fungsi ini. Contoh penggunaan fungsi swap yang sudah tersedia juga akan tersedia pada source code yang diberikan.
Sekilas Tentang Pointer
Pointer sudah pernah dibahas pada tulisan, pengenalan bahasa C++ (bagian 3). Pada bagian ini akan dijelaskan secara singkat penggunaan sederhana dari pointer.
Konsep penting yang perlu diingat adalah, pointer biasanya digunakan untuk menunjuk ke variabel yang lain. Untuk itu pointer membutuhkan alamat dari variabel yang ditunjuk. Setelah mengetahui alamat,
dengan menggunakan pointer kita bisa mengubah nilai dari variabel yang ditunjuk.
Kita sudah tahu bahwa untuk membuat sebuah variabel, kita perlu menentukan tipe dari variabel dan kita juga perlu memperhatikan aturan pemberian nama dari variabel tersebut. Misal kita akan membuat
variabel dengan nama data dan bertipe int, maka kita dapat menulisnya sebagai berikut:
int data;
Jika kita hendak membuat pointer. Kita cukup mendambahkan tanda bintang setelah tipe data.
int* myPointer;
pada deklarasi ini, kita membuat sebuah pointer dengan nama myPointer. Pointer ini hanya bisa menunjuk ke variabel yang bertipe int.
Seperti yang sudah dijelaskan sebelumnya, untuk menunjuk sebuah variabel, pointer membutuhkan alamat dari variabel yang hendak ditunjuk. Dengan menggunakan tanda ‘&’ kita bisa mendapatkan
alamat dari sebuah variabel. Berikut ini ditunjukkan bagaimana caranya myPointer bisa menunjuk ke alamat dari data.
myPointer = &data;
Variabel sebenarnya hanya merupakan nama lain dari alamat dimemori. Kita tentu akan lebih mudah mengingat nama seperti data dari pada sebuah alamat dimemori, 0x22ff5c.
Sekarang diandaikan kita memberikan nilai 10 (sepuluh) pada variabel data
data = 10;
pernyataan tersebut sebenarnya, kita menyimpan nilai 10 ke alamat tertentu dimemori yang diwakili dengan nama data. Karena myPointer telah menunjuk ke alamat dari data, ini berarti myPointer juga
menunjuk ke nilai 10.
Untuk mengakses (misal membaca) nilai yang ditunjuk oleh pointer, kita bisa menggunakan tanda ‘*’ didepan nama dari pointer.
cout<< *myPointer ;
Keluaran dari pernyataan ini adalah angka 10 akan tercetak ke layar. Keluaran ini akan sama jika kita menampilkan nilai dari variabel data.
cout<< data;
Kita juga bisa mengubah nilai yang ditunjuk oleh pointer, seperti berikut:
*myPointer = 15;
Setelah pernyataan diatas maka keluaran dari kedua pernyataan berikut akan sama persis yaitu menampilkan angka 15.
cout << data;
cout << *myPointer;
Membuat Fungsi Swap
Untuk membuat sebuah fungsi, kita bisa memulai dengan membayangkan bagaimana caranya kita memanggil fungsi yang akan kita pakai. Sebagai contoh fungsi swap yang akan kita buat dipanggil
dengan cara sebagai berikut:
int a = 5;
int b= 7;
mySwap(&a,&b);
cout << a; // harapannya tertampil 7
cout << b; // harapannya tertampil 5
berangkat dari skenario di atas, tampak bahwa fungsi swap memiliki dua buah parameter pointer dengan tipe int. Untuk itu bentuk fungsi kita kira-kira seperti berikut:
void mySwap (int* x, int* y)
{
//body dari swap
…
}
pada kasus ini kita tidak membutuhkan nilai kembalian sehingga tipe data dari return value dibuat void. Kenapa tidak butuh ? Silahkan melihat lagi skenario yang kita buat di atas.
Karena fungsi kita hendak menukarkan nilai x dan nilai y (ingat x dan y adalah pointer, sehingga kita butuh tanda * untuk mengubah nilai), maka kita membutuhkan sebuah penampung (variabel
tambahan) untuk melakukan proses penukaran ini.
Buf = *x;// buf bernilai x
*x = *y; // x bernilai y
*y = buf;// y bernilai x
pada contoh diatas, penampung yang kita pakai adalah Buf. Karena Buf dipakai untuk menampung nilai bertipe int, maka Buf juga harus dideklarasikan bertipe int.
int Buf;
Dengan demikian bentuk fungsi kita selengkapnya, kira-kira seperti berikut:
void swap (int* x, int* y)
{
//body dari swap
int Buf;
Buf = *x;
*x = *y;
*y = Buf;
}
Pemanggilan fungsi dengan cara mengirimkan alamat dari variabel, dikenal dengan istilah passing parameter by reference.
Di dalam bahasa C++, diperkenalkan teknik baru untuk pengiriman parameter berupa reference dengan menggunakan tanda ‘&’. Dengan menggunakan teknik ini, cara pemanggilan fungsi swap bisa
diskenariokan sebagai berikut:
int a = 5;
int b= 7;
swap(a,b); // perhatikan tanda & dihilangkan
cout << a;
cout << b;
Perubahan juga perlu dilakukan pada fungsi kita sebagai berikut:
void swap (int& x, int& y) //perhatikan tanda &
{
//body dari swap
int Buf;
Buf = x;// tanda * juga dihilangkan
x = y;
y = Buf;
}
Download Article & Source Code
Membangkitkan Bilangan Acak
Terdapat dua fungsi yang dibutuhkan untuk membangkitkan bilangan acak srand() dan rand(). Fungsi srand() dibutuhkan untuk menentukan “bibit” dari bilangan acak yang akan dibangkitkan. Sama seperti
kalau kita menanam tumbuhan, bibit yang berbeda tentu akan menghasilkan tambuhan dewasa yang berbeda pula. Sedangkan fungsi rand() digunakan untuk menampilkan bilangan acak yang dihasilkan
dari “bibit” yang diberikan ke fungsi srand().
Bentuk umum dari fungsi srand() adalah:
view plainprint?
1. srand(bibit);
view plainprint?
1. srand(bibit);
Sebagai Contoh:
view plainprint?
1. srand(4);
view plainprint?
1. srand(4);
Bentuk umum dari fungsi rand() adalah:
view plainprint?
1. rand() % n;
view plainprint?
1. rand() % n;
Bilangan acak yang dihasilkan oleh fungsi rand() adalah dari 0 s/d (n-1).
Sebagai contoh:
view plainprint?
1. rand() % 10;
view plainprint?
1. rand() % 10;
Perintah di atas akan menghasilkan bilangan antara 0 s/d 9.
Seperti yang sudah dijelaskan sebelumnya, jika kita menggunakan “bibit” yang sama maka hasil yang diperoleh dari bibit ini pastilah sama. Untuk membuktikan, cobalah menjalankan program berikut
berkali-kali dan perhatikan tampilan dilayar:
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(5);
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Agar bisa membangkitkan bilangan yang benar-benar acak, kita harus memberikan “bibit” yang berbeda-beda pula kepada fungsi srand(). Salah satu cara yang bisa dilakukan adalah memberikan “bibit”
menggunakan fungsi time(), seperti berikut:
view plainprint?
1. srand(time(NULL));
view plainprint?
1. srand(time(NULL));
Sekarang, cobalah jalankan program berikut beberapa kali, dan perhatikan keluaran yang ditampilkan ke layar.
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
view plainprint?
1. #include<iostream>
2. using namespace std;
3.
4. int main()
5. {
6. srand(time(NULL));
7. int data = rand() % 10;
8. cout << data << endl;
9. cin.get();
10. }
Fungsi rand() umumnya digunakan untuk membangkitkan bilangan acak yang bertipe bilangan bulat. Cobalah mencari solusi bagaimana membuat bilangan acak “pecahan” antara 0 dan 1 ?
Menampilkan Tabel ASCII
Perhatikan program berikut:
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. int data = 48;
7. for(int i=0;i<=9;i++) {
8. cout << char(data+i) << ” “;
9. }
10. cout << endl;
11. }
Program diatas akan menampilkan angka dari 0 s/d 9. Ide dibalik program sederhana di atas adalah menampilkan informasi yang bernilai desimal (48 s/d 57) dalam bentuk karakter ke layar.
Representasi desimal dalam bentuk karakter bisa dilihat pada tabel ASCII.
Program berikut akan menampilkan semua isi tabel ASCII.
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
view plainprint?
1. #include <iostream>
2. using namespace std;
3.
4. int main()
5. {
6. for(int i=0;i<=255;i++) {
7. cout << char(i) << ” “;
8. if(i%15==0) {
9. cout << endl;
10. }
11. }
12. cout << endl;
13. }
Contoh Coding Stack Dengan Linked List
#include#include
/* membuat linked list */
typedef struct myLinkedList {
char nim[10];
char nama[35];
int nilai;
myLinkedList *next;
};
myLinkedList *head;
/* keadaan awal */
void init() {
head = NULL;
}
/* fungsi untuk mengecek linked list
* apakah kosong atau tidak
* jika kosong maka bernilai 1
* jika tidak kosong maka bernilai 0
*/
int paKosong() {
if (head == NULL) return 1;
else return 0;
}
/**
* fungsi untuk menambahkan data dari depan node
*/
void tambahDepan() {
myLinkedList *baru;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
baru->next = head;
head = baru;
}
}
/**
* fungsu untuk menambahkan data dari depan node
*/
void tambahBelakang() {
myLinkedList *baru, *bantu;
baru = new myLinkedList;
cout << “Masukkan Data lengkap di bawah ini : ” <<>> baru->nim;
cout << “Nama : “; cin >> baru->nama;
cout << “Nilai : “; cin >> baru->nilai;
baru->next = NULL;
if (paKosong() == 1) {
head = baru;
head->next = NULL;
} else {
bantu = head;
while (bantu->next != NULL) {
bantu = bantu->next;
}
bantu->next = baru;
}
}
/**
* fungsi untuk menghapus dari depan node
*/
void hapusDepan() {
myLinkedList *hapus;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
hapus = head;
data = hapus->nim;
head = head->next;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
/**
* fungsi untuk menghapus dari belakang node
*/
void hapusBelakang() {
myLinkedList *hapus, *bantu;
char *data;
if (paKosong() == 0) {
if (head->next != NULL) {
bantu = head;
while(bantu->next->next != NULL) {
bantu = bantu->next;
}
hapus = bantu->next;
data = hapus->nim;
bantu->next = NULL;
delete hapus;
} else {
data = head->nim;
head = NULL;
}
cout <<>
cout << “Tekan Enter untuk kembali ke Menu!”; getch(); }
/**
* fungsi untuk menampilkan data linked list
*/
void tampilData() {
int no = 1;
myLinkedList *bantu;
bantu = head;
if (paKosong() == 0) {
while (bantu != NULL) {
cout << “No. : ” <<>nim <<>nama <<>nilai <<>
no++;
bantu = bantu->next;
}
cout <<>
} else {
cout << “Data masih kosong ” <<>
/**
* fungsi Menu, Untuk menentukan linked list mana
* yang dipilih
*/
int menu() {
int pilihan;
cout << “+———————-+\n”; cout << “| MENU PILIHAN |\n”; cout << “+———————-+\n”; cout << “| 1. Tambah Depan |\n”; cout << “| 2. Tambah Belakang |\n”; cout << “| 3. Hapus Depan |\n”; cout << “| 4. Hapus Belakang |\n”; cout << “| 5. Tambah Tengah |\n”; cout << “| 6. Hapus Tengah |\n”; cout << “| 7. TampilData |\n”; cout << “| 8. Keluar |\n”; cout << “+———————-+\n”; cout << “| PILIHAN ANDA ? [ ] |\n”; cout << “+———————-+\n”;
cin >> pilihan;
return pilihan;
}
/**
* fungsi operasi data
*/
void operasiData() {
int pilih;
do {
pilih = menu();
switch (pilih) {
case 1 :
tambahDepan();
break;
case 2 :
tambahBelakang();
break;
case 3 :
hapusDepan();
break;
case 4 :
hapusBelakang();
break;
case 5 :
tampilData();
break;
case 6:
cout << “Terima kasih coy!!!”; break; } } while (pilih != 6); }
// ROGRAM UTAMA
void main() {
init();
operasiData();
Belajar cepat Ms. PowerPoint
By : UnknownMicrosoft PowerPoint dipergunakan untuk membuat program Slide atau
presentasi tertentu yang akan ditampilkan pada projektor, ataupun dengan
peralatan lainnya. Program Aplikasi ini adalah produk dari Microsoft
Co. yang terpaketkan dalam satu produk bernama Microsoft Office. Hingga
saat ini Microsoft PowerPoint telah mencapai Versi 9 atau yang dikenal
dengan Versi 2000. Penuntun ini bersifat bimbingan ringkas yang
hendaknya dihadapi anda sebagai pembaca pada perangkat komputernya
secara langsung. Ikuti langkah-langkah yang diberikan pada setiap
tahapan yang ada, dan selamat mencoba.
![powerpoint](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vpE2SPSJFkbrvBWWLbtKStvvZDol-yfQjWTC29tjXsDgdKHZu2-T3qS-9isxH0MD8HnrtecO2IDoG3Jz0nuwWEf74u7JGAs3Ls7AkHzSAf0-YigCOwT-mZlhIxAgTa3cttJMhRXDHQs8_2Sisk3Q=s0-d)
I. Memulai Program.
Untuk memulai program Microsoft PowerPoint, langkah-langkah yang harus anda lakukan adalah sebagai berikut :
(1) Klik menu Start F Program F Microsoft PowerPoint
(2) Sehingga anda akan menjumpai kotak dialog berikut :
![Image6](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_t2OpOw6Bww0uNyY4C9u0YLjXRc3FJfqcHs2T1lVQ2cuCdYWX4jEkVP31pulLGYMe12Yi4u9PDPikDRibFbXKNadZuD3I-dOkNxsyWDgnyCONKz05KVmVX3bk1nAPxSIJIg7rO6c_4E1w=s0-d)
(3) Pada kotak dialog tersebut anda dihadapkan pada beberapa pilihan, yaitu : AutoContentWizard (untuk membuat presentasi dengan dibantu oleh program), Design Template (untuk membuat presentasi dengan menggunakan kerangka presentasi yang telah disediakan oleh program), Blank presentation (untuk membuat presentasi kosong atau baru menurut kehendak anda), dan Open an existing presentation (untuk membuka file presentasi yang pernah anda simpan atau anda buat). Pilih salah satu yang anda inginkan, misalnya Blank Presentasion.
(4) Untuk mengakhiri bagian ini maka anda dapat mengklik button OK untuk menyetujui pilihan anda atau button Cancel untuk membatalkan pilihan anda.
![Image7](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sFMypaez5U4imr-0UYo8izgem35KN8NYDY22hVAvm6_kGsXHCNd3FARPBcQao3JJfuq850xf458avEvd_p0iHB27qqx_dEVDTdYJnCppJYAMpIeDRxP7cy7ypF6vUtl0Khy9LrxiNYcKQ=s0-d)
Langkah selanjutnya silahkan anda ikuti petunjuk pada bagian berikutnya dari lembar penuntun ini.
![Image8](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uUUMVlmeg0fKB9r3yBm1qjczkj-9MFs0IuHA3UNxi8ZB2H8c58p9WseRFTXGs9TCegh26kCjWjJhcvHBcX19WPgctEjkmLQiecOioeZez7Rux7ECKvnBROk5q2nEE1m-pgZKSBWr6hvvA=s0-d)
Pada pilihan tersebut tampak ada beberapa pilihan bentuk tampilan Slide yang telah disediakan oleh program, antara lain : Title Slide, Bulleted List, 2 Column Text, Table, Text & Chart, Chart & Text, Organzation Chart, Chart, Text & Clip Art, Clip Art & Text, Title Only, dan Blank. Pilihlah salah satu sesuai dengan bentuk slide presentasi yang anda inginkan, bila telah terpilih maka kliklah button OK. Sebagai contoh kita akan memilih Title Slide sebagai slide awal presentasi kita.
III. Menyisipkan Slide Baru.
Bila kita telah melakukan pembuatan suatu slide, dan kita ingin membuat atau menyisipkan suatu slide baru, maka langkah-langkah pelaksanaannya adalah sebagai berikut :
(1) Klik menu Insert F New Slide, atau menekan tombol keyboard CTRL + M.
(2) Selanjutnya anda kembali akan dihadapkan pada kotak dialog New Slide seperti yang anda lihat pada penjelasan bagian II tadi.
IV. Menyimpan File Presentasi.
Untuk menyimpan file presentasi yang telah anda buatkan slide-slidenya, maka langkah-langkah yang anda laksanakan adalah sebagai berikut :
(1) Klik menu File F Save atau tekan tombol CTRL+S atau klik icon Save
(2) Bila file yang disimpan adalah baru pertama kali atau belum ada namanya, maka pada tahap ini anda ketikan nama filenya, misalnya : Presentasi Harry , lalu anda tekan tombol ENTER.
V. Mengakhiri Program.
Untuk mengakhiri program Microsoft PowerPoint yang sedang aktif, maka langkah-langkah yang anda laksanakan adalah sebagai berikut :
(1) Kliklah menu File F Exit, atau klik icon Close.
(2) Bila anda belum menyimpan file presentasi yang dibuat maka akan muncul kotak dialog seperti berikut. Pada pilihan yang disediakan kliklah button Yes untuk menyimpan file presentasi, atau klik button No untuk tidak menyimpanya, atau Cancel untuk membatalkan proses mengakhiri program Microsoft PowerPoint ini.
![Image9](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_s4mluij0GxdJ4AFP_HWiopkIkWwUZUWgVoubeDV2XonqO4OA-rN67hqaMZ2zrThN1tOAcR1gPJZ9gCYKk1YnITjoLt2j8jdrLrHG2Gd2Bms4p1ov2LoRoxVstMgYOp0saKTj-NV3S_bC0=s0-d)
(1) Kliklah menu File F Open atau tekan tombol CTRL + O atau klik icon Open.
(2) Berikutnya anda klik file presentasi yang ada pada kotak dialog Open, atau ketik nama file presentasinya pada textbox File name.
(3) Klik button Open atau tekan tombol ENTER.
(1) Klik kanan tombol mouse pada posisi pointer dibagian kosong dari slide, sehingga muncul menu pop-up seperti gambar disebelah ini.
(2) Lalu pilihlah pilihan Background, atau tekan tombol Alt + k, sehingga akan muncul kotak dialog seperti berikut ini
(3) Lalu klik combo box yang ada untuk kemudian pilihlah warna yang ada, atau klik pilihan More Colors, atau Fill Effects (untuk menentukan background dengan efek-efek tertentu).
Pada pemilihan efek-efek tertentu maka anda akan menjumpai kotak dialog seperti berikut ini :
![Image10](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_ubPAH3rDOh66bbzg6MSaK-zoC9ECXj91Mxdbe5abMUuRbJDuErC7cbYeAxVfOfoyMEAkH-vF77F_P-25nJsXkwdkfib2rpvme4VI5cUoeEVQ_Rs_O9JvES7lLbVpBHlP5VxYkwzopH8fLs=s0-d)
Pilihlah tabulasi Gradient untuk memberikan warna dengan gaya gradasi warna tertentu, atau pilih tabulasi Texture untuk memilih gambar texture tertentu, atau pilih tabulasi Pattern untuk memilih gaya arsiran tertentu, atau pilih tabulasi Picture untuk memilih file foto atau gambar sebagai gambar latar. Bila sudah terpilih maka kliklah button OK.
(4) Untuk menerapkannya pilihan latar yang dipilih, kliklah button Apply untuk hanya pada slide yang diedit, dan Apply to All untuk semua slide yang dibuat.
VIII. Membuat Animasi pada Obyek.
Untuk membuat animasi pada obyek langkah-langkah yang anda laksanakan adalah sebagai berikut :
![Image11](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_v-A3pAUYJemtjSuP6xzGilsXv46M47PSE-laJisX0Rhe6kilUfb__wBMQ4VTOO_Vb4kKxraunssAw7mQhzm2fxoo8DWkRaHAHdSK5nXnkkf1q_ZM3gPwUqkYRbG83Nkey-ECIetuwU6F21=s0-d)
(1) Klik kanan obyek yang bersangkutan, sehingga akan muncul menu PopUp seperti berikut ini.
(2) Selanjutnya pilihlah pilihan Custom Animation sehingga muncul kotak dialog Custom Animation seperti gambar disebelahnya.
(3) Pada tabulasi Effects yang ada pilihlah efek animasi yang tersedia, dan bila perlu suara yang akan disertakan pada saat efek sedang berfungsi.
(4) Untuk mengotomatiskan atau mengatur waktu penampilan animasi obyek maka pilihlah tabulasi Order & Timing dan tentukan Star Animation-nya.
(5) Untuk menerapkan animasi yang telah terpilih beserta pengaturannya pada obyek tersebut, maka kliklah button OK, tetapi bila ingin melihat dulu bagaimana hasilnya kliklah button Preview.
IX. Mengatur Transisi Antar Slide dan Penayangan Slide.
Untuk mengatur perubahan antar slide (slide transition) ikuti petunjuk berikut :
(1) Pada slide yang muncul, kliklah menu Slide Show.
(2) Selanjutnya pilihlah pilihan Slide Transition….
(3) Berikutnya tentukanlah Efek transisinya, otomatisasi slide dan waktunya, serta Sound atau suara yang menyertai proses perpindahan slide.
(4) Bila akan diterapkan pada hanya satu slide, maka kliklah button Apply. Bila anda akan menerapkan pengaturan transisi pada semua slide kliklah button Apply to All.
Untuk mengatur Penayangan Slide (Set Up Show), maka kliklah menu Slide Show, lalu diikuti dengan mengklik pilihan Set Up Show. Selanjutnya aturlah pilihan pengaturan yang ada, dan bila sudah selesai kliklah button OK.
OK Sampai disini dulu yach….
I. Memulai Program.
Untuk memulai program Microsoft PowerPoint, langkah-langkah yang harus anda lakukan adalah sebagai berikut :
(1) Klik menu Start F Program F Microsoft PowerPoint
(2) Sehingga anda akan menjumpai kotak dialog berikut :
(3) Pada kotak dialog tersebut anda dihadapkan pada beberapa pilihan, yaitu : AutoContentWizard (untuk membuat presentasi dengan dibantu oleh program), Design Template (untuk membuat presentasi dengan menggunakan kerangka presentasi yang telah disediakan oleh program), Blank presentation (untuk membuat presentasi kosong atau baru menurut kehendak anda), dan Open an existing presentation (untuk membuka file presentasi yang pernah anda simpan atau anda buat). Pilih salah satu yang anda inginkan, misalnya Blank Presentasion.
(4) Untuk mengakhiri bagian ini maka anda dapat mengklik button OK untuk menyetujui pilihan anda atau button Cancel untuk membatalkan pilihan anda.
Langkah selanjutnya silahkan anda ikuti petunjuk pada bagian berikutnya dari lembar penuntun ini.
II. Memilih Bentuk Tampilan Slide
Pemilihan bentuk tampilan slide ini hanya akan tampil bila anda memilih pembuatan presentasi baru dengan menggunakan pilihan Blank Presentation seperti yang telah saya sampaikan pada bahasan terdahulu. Adapun tampilan pemilihan bentuk slide tersebut adalah seperti berikut ini :Pada pilihan tersebut tampak ada beberapa pilihan bentuk tampilan Slide yang telah disediakan oleh program, antara lain : Title Slide, Bulleted List, 2 Column Text, Table, Text & Chart, Chart & Text, Organzation Chart, Chart, Text & Clip Art, Clip Art & Text, Title Only, dan Blank. Pilihlah salah satu sesuai dengan bentuk slide presentasi yang anda inginkan, bila telah terpilih maka kliklah button OK. Sebagai contoh kita akan memilih Title Slide sebagai slide awal presentasi kita.
III. Menyisipkan Slide Baru.
Bila kita telah melakukan pembuatan suatu slide, dan kita ingin membuat atau menyisipkan suatu slide baru, maka langkah-langkah pelaksanaannya adalah sebagai berikut :
(1) Klik menu Insert F New Slide, atau menekan tombol keyboard CTRL + M.
(2) Selanjutnya anda kembali akan dihadapkan pada kotak dialog New Slide seperti yang anda lihat pada penjelasan bagian II tadi.
IV. Menyimpan File Presentasi.
Untuk menyimpan file presentasi yang telah anda buatkan slide-slidenya, maka langkah-langkah yang anda laksanakan adalah sebagai berikut :
(1) Klik menu File F Save atau tekan tombol CTRL+S atau klik icon Save
(2) Bila file yang disimpan adalah baru pertama kali atau belum ada namanya, maka pada tahap ini anda ketikan nama filenya, misalnya : Presentasi Harry , lalu anda tekan tombol ENTER.
V. Mengakhiri Program.
Untuk mengakhiri program Microsoft PowerPoint yang sedang aktif, maka langkah-langkah yang anda laksanakan adalah sebagai berikut :
(1) Kliklah menu File F Exit, atau klik icon Close.
(2) Bila anda belum menyimpan file presentasi yang dibuat maka akan muncul kotak dialog seperti berikut. Pada pilihan yang disediakan kliklah button Yes untuk menyimpan file presentasi, atau klik button No untuk tidak menyimpanya, atau Cancel untuk membatalkan proses mengakhiri program Microsoft PowerPoint ini.
VI. Membuka File Presentasi Yang Ada
Untuk membuka file presentasi yang telah anda simpan sebelumnya, langkah-langkah yang anda laksanakan adalah sebagai berikut :(1) Kliklah menu File F Open atau tekan tombol CTRL + O atau klik icon Open.
(2) Berikutnya anda klik file presentasi yang ada pada kotak dialog Open, atau ketik nama file presentasinya pada textbox File name.
(3) Klik button Open atau tekan tombol ENTER.
VII. Membuat Background Slide
Untuk membuat background atau gambar latar dari slide yang dibuat maka langkah-langkahnya adalah sebagai berikut :(1) Klik kanan tombol mouse pada posisi pointer dibagian kosong dari slide, sehingga muncul menu pop-up seperti gambar disebelah ini.
(2) Lalu pilihlah pilihan Background, atau tekan tombol Alt + k, sehingga akan muncul kotak dialog seperti berikut ini
(3) Lalu klik combo box yang ada untuk kemudian pilihlah warna yang ada, atau klik pilihan More Colors, atau Fill Effects (untuk menentukan background dengan efek-efek tertentu).
Pada pemilihan efek-efek tertentu maka anda akan menjumpai kotak dialog seperti berikut ini :
Pilihlah tabulasi Gradient untuk memberikan warna dengan gaya gradasi warna tertentu, atau pilih tabulasi Texture untuk memilih gambar texture tertentu, atau pilih tabulasi Pattern untuk memilih gaya arsiran tertentu, atau pilih tabulasi Picture untuk memilih file foto atau gambar sebagai gambar latar. Bila sudah terpilih maka kliklah button OK.
(4) Untuk menerapkannya pilihan latar yang dipilih, kliklah button Apply untuk hanya pada slide yang diedit, dan Apply to All untuk semua slide yang dibuat.
VIII. Membuat Animasi pada Obyek.
Untuk membuat animasi pada obyek langkah-langkah yang anda laksanakan adalah sebagai berikut :
(1) Klik kanan obyek yang bersangkutan, sehingga akan muncul menu PopUp seperti berikut ini.
(2) Selanjutnya pilihlah pilihan Custom Animation sehingga muncul kotak dialog Custom Animation seperti gambar disebelahnya.
(3) Pada tabulasi Effects yang ada pilihlah efek animasi yang tersedia, dan bila perlu suara yang akan disertakan pada saat efek sedang berfungsi.
(4) Untuk mengotomatiskan atau mengatur waktu penampilan animasi obyek maka pilihlah tabulasi Order & Timing dan tentukan Star Animation-nya.
(5) Untuk menerapkan animasi yang telah terpilih beserta pengaturannya pada obyek tersebut, maka kliklah button OK, tetapi bila ingin melihat dulu bagaimana hasilnya kliklah button Preview.
IX. Mengatur Transisi Antar Slide dan Penayangan Slide.
Untuk mengatur perubahan antar slide (slide transition) ikuti petunjuk berikut :
(1) Pada slide yang muncul, kliklah menu Slide Show.
(2) Selanjutnya pilihlah pilihan Slide Transition….
(3) Berikutnya tentukanlah Efek transisinya, otomatisasi slide dan waktunya, serta Sound atau suara yang menyertai proses perpindahan slide.
(4) Bila akan diterapkan pada hanya satu slide, maka kliklah button Apply. Bila anda akan menerapkan pengaturan transisi pada semua slide kliklah button Apply to All.
Untuk mengatur Penayangan Slide (Set Up Show), maka kliklah menu Slide Show, lalu diikuti dengan mengklik pilihan Set Up Show. Selanjutnya aturlah pilihan pengaturan yang ada, dan bila sudah selesai kliklah button OK.
OK Sampai disini dulu yach….
Tag :
computer,
wallpaper computer
By : UnknownTag :
walpaper,