Sabtu, 31 Mei 2008

belajar c++

Dalam sebuah proses program, biasanya terdapat kode penyeleksian kondisi,
kode pengulangan program, atau kode untuk pengambilan keputusan. Untuk
tujuan tersebut, C++ memberikan berbagai kemudahan dalam sintaknya.
Terdapat sebuah konsep, yakni Blok Instruksi. Sebuah blok dari instruksi
merupakan sekelompok instruksi yang dipisahkan dengan tanda semicolon (;) dan
berada diantara tanda { dan }.
Untuk Blok Instruksi, penggunaan tanda { dan } boleh ditiadakan. Dengan
syarat, hanya pernyataan tunggal yang akan dilaksanakan oleh blok instruksi.
Apabila pernyataan yang dijalankan lebih dari satu, maka tanda { dan } wajib
disertakan.
1. SELEKSI KONDISIONAL ( if …else…)
Format penulisannya :
if (kondisi) pernyataan;
kondisi adalah ekspresi yang akan dibandingkan. Jika kondisi bernilai
benar, maka pernyataan akan dijalankan. Namun, jika kondisi bernilai
salah, maka pernyataan akan diabaikan.
Contoh pernyataan berikut akan menampilkan tulisan x adalah 100 apabila x
bernilai 100:
if (x==100)
cout << “x adalah 100”;
Jika menginginkan lebih dari sebuah pernyataan yang dijalankan, ketika
kondisi terpenuhi maka blok instruksi harus menyertakan tanda { dan }.
if (x==100)
{
cout << “x adalah ”;
cout << x;
}
Bila menginginkan sesuatu dijalankan ketika kondisi tidak terpenuhi, dapat
ditambahkan keyword else.
Sintaknya adalah :
15
if (kondisi)
pernyataan1;
else
pernyataan2;
Contoh :
if (x==100)
cout <<”x adalah 100”;
else
cout <<”x bukan 100”;
Pernyataan if…else… dapat terdiri dari beberapa else. Pada contoh berikut,
program akan memberikan jawaban terhadap inputan data, apakah berupa nilai
positif, negative atau nol :
if (x>0)
cout<<”positive”;
else if (x<0)
cout<<”negative”;
else
cout<<”x adalah 0”;
2. PERULANGAN (loops)
Sebuah atau beberapa pernyataan akan dijalankan secara berulang-ulang,
selama kondisi terpenuhi.
o Perulangan dengan while
Sintaknya adalah :
while (kondisi) pernyataan;
pernyataan akan dijalankan selama ekspresi bernilai true.
Contoh :
16
Di layar akan tampil :
Masukkan angka untuk mulai : 4
4, 3, 2, 1, STOP!
Algoritma untuk perulangan di atas adalah sebagai berikut :
1. User menginputkan sebuah nilai ke variable n.
2. Pernyataan while akan melakukan pengecekan apakah (n>0) ?.
Dalam kondisi ini, terdapat 2 kemungkinan :
a. true : lakukan pernyataan (langkah 3)
b. false : lompati pernyataan (lanjutkan ke langkah 5..)
3. Lakukan perintah :
cout << n << “, “;
--n;
(cetak n ke layar, dan turunkan 1 nilai n)
4. Akhiri blok. Kembali lagi ke langkah 2..
5. Lanjutkan program setelah blok while. Cetak STOP! Dan
akhiri program.
o Perulangan dengan do…while
Sintaknya :
do pernyataan while (kondisi);
//hitungan mundur menggunakan while
#include
int main()
{
int n;
cout<<”Masukkan angka untuk mulai : ”;
cin>>n;
while (n>0)
{
cout << n << “, “;
--n;
}
cout <<”STOP!”;
return 0;
}
17
Konsep do…while mirip dengan while. Namun pernyataan akan
dijalankan terlebih dahulu sebelum pengecekan kondisi. Untuk
lebih jelasnya, perhatikan contoh berikut:
Akan tampil :
Masukkan nomor (tekan 0 untuk mengakhiri) : 67
Anda memasukkan angka : 67
Masukkan nomor (tekan 0 untuk mengakhiri) : 12
Anda memasukkan angka : 12
Masukkan nomor (tekan 0 untuk mengakhiri) : 0
Anda memasukkan angka : 0
o Perulangan dengan for
Sintaknya :
for (inisialisasi; kondisi; counter) pernyataan;
Pernyataan akan diulangi jika kondisi bernilai true. Sama
seperti perulangan dengan while. Namun for menetapkan
inisialisasi dan penaikan berada dalam ( dan ).
//sampai penekanan 0
#include
int main()
{
unsigned long n;
do {
cout << “Masukkan nomor (tekan 0 untuk mengakhiri) : “;
cin>>n;
cout<<”Anda memasukkan angka : ” <} while (n!=0);
return 0;
}
18
Penjelasannya adalah sebagai berikut:
1. Inisialisasi: akan dieksekusi. Biasanya merupakan variable
yang akan dipakai sebagai counter atau pencacah. Bagian ini
akan dieksekusi hanya sekali.
2. Kondisi: akan diperiksa, jika bernilai true maka perulangan
akan dilanjutkan dan jika bernilai false maka perulangan akan
dilewati.
3. Pernyataan: akan dieksekusi. Biasanya dapat terdiri dari
sebuah instruksi atau blok instruksi yang berada di antara { dan
}.
4. Terakhir, apapun perintah dalam counter akan dijalankan dan
kemudian perulangan kembali lagi ke langkah 2.
Contoh :
Hasilnya adalah :
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP!
Inisialisasi dan Counter adalah optional atau dapat ditiadakan.
Namun tidak demikian dengan tanda semicolon (;). Misalnya kita
dapat menuliskan: for(;n<10;) jika tanpa inisialisasi dan tanpa
penaikan, atau for(;n<10;n++) jika tanpa inisialisasi namun tetap
menggunakan penaikan.
// hitungan mundur dengan for
#include
int main()
{
for(int n=10; n>0;n--)
{ cout<}
cout<<”STOP!”;
return 0;
}
19
Nested Loops (Perulangan Bertumpuk)
Perulangan bertumpuk secara sederhana dapat diartikan : terdapat satu atau
lebih loop di dalam sebuah loop. Banyaknya tingkatan perulangan, tergantung dari
kebutuhan.
Biasanya, nested loops digunakan untuk membuat aplikasi matematika yang
menggunakan baris dan kolom. Loop luar, biasanya digunakan untuk
mendefinisikan baris. Sedangkan loop dalam, digunakan untuk mendefinisikan
kolom.
Contoh:
for(int baris = 1; baris <= 4; baris++)
{
for (int kolom = 1; kolom <= 5; kolom++)
{
cout<}
cout<}
Penjelasan program:
Perulangan akan menghasilkan nilai sebagai berikut :
baris =1 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
baris =2 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
20
baris =3 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
baris =4 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
selesai.
Dan di layar akan muncul hasil dengan bentuk matrik sebagai berikut:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Tambahan :
• perintah break
break berfungsi untuk keluar dari loop, walaupun kondisinya belum
seluruhnya terpenuhi. Biasanya, perintah ini digunakan untuk memaksa
program keluar dari loop. Contoh berikut akan berhenti menghitung sebelum
terhenti secara normal.
21
for (int n=10; n>0;n--)
{
cout<if (n==3)
{
cout<<"penghitungan dihentikan !";
break;
}
}
dan di layar akan tampak hasil sebagai berikut :
10, 9, 8, 7, 6, 5, 4, 3, penghitungan dihentikan !
• perintah continue
perintah ini akan melewati satu iterasi yang sesuai dengan syarat tertentu, dan
melanjutkan ke iterasi berikutnya.
Contoh:
for (int n=10; n>0;n--)
{
if (n==5) continue;
cout<}
cout<<"STOP !";
dan di layar akan muncul :
10, 9, 8, 7, 6, 4, 3, 2, 1, STOP !
Struktur Selektif dengan switch
Logika menggunakan switch sama dengan menggunakan perintah if yang telah
dijelaskan sebelumnya.
Sintaknya adalah :
22
switch (pilihan)
{
case nilai1 :
blok pernyataan 1
break;
case nilai2 :
blok pernyataan 2
break;
-
-
-
default :
blok pernyataan default
}
Cara kerjanya:
1. switch akan mengevaluasi pilihan dan apabila isinya sama dengan nilai1,
maka blok pernyataan 1 akan dijalankan sampai menemukan perintah
break untuk kemudian keluar dari blok switch.
2. Bila pilihan tidak sama isinya dengan nilai1, maka akan dicocokkan lagi
dengan nilai2. dan apabila isinya sama dengan nilai2, maka blok
pernyataan 2 akan dijalankan sampai menemukan perintah break untuk
kemudian keluar dari blok switch.
3. Terakhir, apabila isi pilihan tidak sesuai dengan nilai1, nilai2 dan
seterusnya maka secara otomatis yang dijalankan adalah blok pernyataan
default.
Contoh (kedua penggalan program memiliki arti yang sama) :
contoh switch contoh if
switch (x) {
case 1:
cout<<”x adalah 1”;
break;
case 2:
cout<<”x adalah 2”;
break;
default:
cout<<”tidak teridentifikasi”;
}
if (x==1) {
cout<<”x adalah 1”;
}
else if(x==2) {
cout<<”x adalah 2”;
}
else {
cout<<”tidak teridentifikasi”;
}
23
Sedangkan untuk program yang memiliki beberapa nilai pilihan, maka dapat
ditulis seperti contoh berikut:
switch (x) {
case 1:
case 2:
case 3:
cout<<”x = 1, 2 atau 3”;
break;
default:
cout<<”x tidak sama dengan 1, 2 atau 3 ”;
}

buat struktur data

STANDAR KOMPETENSI NASIONAL PROGRAMER KOMPUTER
92
KODE UNIT : TIK.PR02.003.01
JUDUL UNIT : Membuat struktur data
URAIAN UNIT : Unit ini menentukan kompetensi yang diperlukan untuk
mempelajari struktur data yang akan diterapkan pada setiap
pemrograman, tanpa tergantung bahasa pemrograman yang
akan dipakai. Struktur data merupakan materi dasar
kelanjutan dari memahami algoritma pemrograman, dengan
skope pembahasan pada pemanfaatan array dan pointer untuk
kasus kasus yang mendekati kehidupan sehari hari.
ELEMEN KOMPETENSI KRITERIA UNJUK KERJA
1. Menerapkan konsep data dan
struktur Data
1.1 Program dengan berbagai tipe data
dibuat
1.2 Program dengan tipe data array
dan pointer dibuat
2. Menerapkan Array dan Record 2.1 Algoritma program dengan array
dan pengoperasiannya berupa
pencarian dan pengurutan dibuat.
2.2 Algoritma program dengan record
seperti pembuatan/ penambahan,
pengisian, pengubahan, dan
penghapusan record dibuat,
2.3 Algoritma program dengan array
dan record dibuat.
3. Menerapkan Pointer
3.1 Algoritma program dengan tipe
data Pointer dibuat.
3.2 Algoritma program manipulasi data
(penambahan, pengurangan,
pengisian data dsb) tipe pointer
dibuat.
4. Menerapkan List Berkait 4.1 Macam macam List berikat
dijelaskan. List berkait dapat
berupa List tunggal, List yang
tercatat alamat awal dan akhir, list
ganda, dsb.
STANDAR KOMPETENSI NASIONAL PROGRAMER KOMPUTER
93
4.2 Algoritma program dengan operasi
list berkait dibuat. Operasi list
berkait yang diterapkan berupa
pembuatan elemen list, penamahan
data ke dalam elemen list,
penyambungan elemen kedalam
list, pemutusan elemen dari list.
4.3 List berkait dengan tipe array
dibuat. Dengan penggunaan array
sebagai list, maka komponen List
harus tetap direalisasikan.
4.4 List berkait dengan tipe pointer
dibuat. Dengan penggunaan pointer
sebagai list, maka komponen List
harus tetap direalisasikan.
5. Menerapkan List berkait 5.1 List berkait dalam model antrian
(queue) dalam array dan pointer
dibuat. Model antrian
direalisasikan.
5.2 List berkait untuk model
Tumpukan (stack) dibuat. Model
Tumpukan direalisasikan dalam
bentuk array dan pointer.
5.3 List berkait untuk model graf
dibuat. Model graf direalisasikan
dalam bentuk array dan pointer.
5.4 List berkait untuk model pohon
dibuat. Model pohon
direalisasikan dalam bentuk array
dan pointer.
5.5 List berkait untuk model Hash
table dibuat. Model Hash table
direalisasikan dalam bentuk array
dan pointer.
STANDAR KOMPETENSI NASIONAL PROGRAMER KOMPUTER
94
6. Mengoperasian file secara List
berkait
6.1 List berkait untuk pencarian file
index dioperasikan. Penulisan file
berbasis indek banyak digunakan
terutama untuk menyimpan data
yang terorganisasi untuk
mempercepat proses pencarian
dilakukan berdasarkan indek yang
telah disimpan pada List.
BATASAN VARIABEL :
1. Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi.
2. Membuat struktur data bersifat internal pada bidang teknologi informasi
dan komunikasi
PANDUAN PENILAIAN :
1. Pengetahuan dan keterampilan penunjang untuk mendemonstrasikan
kompetensi, diperlukan bukti keterampilan dan pengetahuan dibidang
berikut ini :
1.1 Pengetahuan dasar
1.1.1 Memahami algoritma pemrograman
1.1.2 Menguasahi bahasa pemrograman
1.2 Keterampilan dasar
1.2.1 Mengoperasikan sistem komputer
1.2.2 Mengoperasikan bahasa pemrograman.
2. Konteks Penilaian
Kompetensi harus diujikan di tempat kerja atau di tempat lain secara
praktek dengan kondisi kerja sesuai dengan keadaan normal.
3. Aspek penting penilaian
Aspek yang harus diperhatikan
3.1 Kemampuan membuat algoritma program menggunakan array dan
pointer
3.2 Kemampuan memahami penerapan list berkait sesuai dengan model
yang akan direalisasikan ( queue, stack, graft, tree, atau hash table )
3.3 Kemampuan memahami pengoperasian file dengan menerapkan
model list berkait.
4. Kaitan dengan unit-unit lainnya
4.1 Unit ini didukung oleh pengetahuan dan keterampilan dalam unit-unit
kompetensi yang berkaitan dengan dasar-dasar Teknologi Informasi.
4.1.1 Mengoperasikan PC dan Sistem Operasi
STANDAR KOMPETENSI NASIONAL PROGRAMER KOMPUTER
95
4.1.2 TIK.PR02.001.01 Menggunakan algoritma pemrograman
dasar
4.1.3 TIK.PR02.002.01 Menggunakan algoritma pemrograman
lanjut
4.1.4 TIK.PR02.008.01 Mengoperasikan bahasa pemrograman
terstruktur
4.2 Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini
perlu dilakukan dengan hati-hati. Untuk pelatihan pra-kejuruan
umum, institusi harus menyediakan pelatihan yang mempertimbangan
serangkaian konteks industri seutuhnya tanpa bias terhadap sektor
tertentu. Batasan variabel akan membantu dalam hal ini. Untuk sektor
tertentu/ khusus, pelatihan harus disesuaikan untuk memenuhi
kebutuhan sektor tersebut.
NO KOMPETENSI KUNCI TINGKAT
1. Mengumpulkan, mengorganisasikan, dan menganalisis
informasi
2
2. Mengkomunikasikan ide-ide dan informasi 2
3. Merencanakan dan mengorganisasikan aktivitas-aktivitas 2
4. Bekerja dengan orang lain 1
5. Menggunakan ide-ide dan teknik matematika 2
6. Memecahkan masalah 3
7. Menggunakan teknologi 2