RPL

satuanggara.blogspot.co.id

Wednesday, December 17, 2014

array 1 & 2 dimensi beserta contoh



ARRAY adalah himpunan elemen (variabel) dengan tipe yang sama dan disimpan secara berurutan didalam memory yang ditandai dengan pemberian indeks pada suatu nama variabel. Contohnya, kita dapat menyimpan 5 nilai dengan tipe data int tanpa harus mendeklarasikan 5 identifier variabel yang berbeda. Perhatikan contoh di bawah ini :
0
1
2
3
4






Nil
Bagian kosong diatasmempresentasekan elemen array, dalam kasus ini adalah nilai integer. Angka 0-4 adalah indeks dan selalu dimulai dengan angka 0. Seperti penggunaan variabel pada umumnya, array harus dideklarasikan terlebih dahulu dengan format sbb:
            tipe data nama [element];
Maka contoh array diatas dideklarasikan sbb:
            int budi [5];
Ketika mendeklarasikan variabel lokal (didalam fungsi), jika tidak dibeikan nilai maka isi dari array tidak akan ditentukan (undetermined) sampai nilai diberikan. Jiak pendeklarasian array global (diluar semua fungsi) maka isi dari array akan diinisialisasikan sebagai 0 :
            int budi [5];


Maka setiap elemen array budi akan di-inisialisasikan sebagai 0
0
1
2
3
4
0
0
0
0
0
Nil
Atau dideklarasikan dengan memberikan nilai array yang dituliskan dalm kurung kurawal :
int budi [5] = {16,2, 77, 40, 1207};
Maka elemen array budi berisi :
0
1
2
3
4
0
0
0
0
0
Nil
Nilai array dapat diakses secara individual, dengan format :
            nama [indeks];
Maka dari contoh sebelumnyanama yang di gunakan untuk mengakses masing-masing elemen :
(budi) 0
(budi) 1
(budi) 2
(budi) 3
(budi) 4
0
0
0
0
0
Nil
Misalnya akn di simpan nilai 75 pada elemen ketiga, mak intruksinya :
            budi [2] = 75;
Dan jika nilai elemen ketiga tadi akan di berikan ke variabel a, maka dapat di tuliskan :
            a = budi [2];

contoh :
#include<iostream.h>
#include<conio.h>
void main()
{
int budi [5] ;
budi [0]=76;
budi [1]=65;
budi [2]=87;
budi [3]=43;
budi [4]=25;
cout<<budi[3]<<endl<<budi[2];
getch();
}

Tampilannya :
43
87 

C
. Array sebagai parameter
Adakalanya array diberikan kedalam fungsi parameter. Dalam c++  tidak memungkinkan untuk pass by value satu blok memory sebagai poarameter satu fungsi. Untuk menggunakan array sebagai parameter maka harus dilakukan saat pendeklarasian fungsi yang  merupakan spesifikasi tipe array pada argumen, contoh :
void fungsi (int arg []);
dalam fungsi ini elemen array dapat diakses seperti biasanya. Sedangkan mengirim array kedalam fungsi tersebut, cukup dituliskan nama array yang akan di kirim kedalam parameter fungsi tersebut.
Array berdimensi banyak dapat dikirimkan kedalam fungsi dengan cara yang mirip dengan array satu dimensi, tetapi besar semua dimensi array kecuali dimensi pertama harus dideklarasikan pada parameter fungsi. Contoh : 
Void  fungsi2 (float matrix [][5]
Atau
Void  fungsi2 (float matrix [6][5] )
Bentuk umum :

Tipe nama_var [ukuran];
            Atau
Float nilai_ujian [5];

Contoh :
#include<stdio.h>
#include<conio.h>
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/
/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf("\nPangkat dari %d adalah %d ", k, square[i]);
}
getch();
}
Penjelasan
Dari program diatas anda dapat melihat ada 10 elemen yang masing-masing nilainya dapat dipangkatkan, mulai dari 1 sampai 10. Diman dalam memory sudah di pesam tempat sebanyak 100. Sedangkan apabila array akan dikirimkan kesebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti tanda apapun. 

E
. Array berdimensi dua
Struktur array yang dibahas diatas mempunyai satu dimensi sehingga variabelnya disebut variabel array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut array berdimensi dua.
            Contoh :
#include<iostream.h>
#include<conio.h>
main()
{
int matrix[3][3];
int i,j;

for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
getch();
}

Tampilan listing di atas....
Masukkan angka pada baris ke 0 kolom ke 0 : 6
Masukkan angka pada baris ke 0 kolom ke 1 : 3
Masukkan angka pada baris ke 0 kolom ke 2 : 8

Masukkan angka pada baris ke 1 kolom ke 0 : 2
Masukkan angka pada baris ke 1 kolom ke 1 : 5
Masukkan angka pada baris ke 1 kolom ke 2 : 8

Masukkan angka pada baris ke 2 kolom ke 0 : 1
Masukkan angka pada baris ke 2 kolom ke 1 : 5
Masukkan angka pada baris ke 2 kolom ke 2 : 8

6 3 8
2 5 8
1 5 8 

Saturday, December 13, 2014

RPL bab PBO--ARRAY


TUGAS AKHIR
SEMESTER GANJIL C++



Disusun oleh :
    Anggara aca p
    Anis suryani
    Erwin alviansyah
    Istiqomah
    Uut fatma ariyani


SMK ISLAMIYAH WIDODAREN
TAHUN AJARAN 2014/2015


TUGAS AKHIR
SEMESTER GANJIL C++









Pengampu :
ULLI PURBAYANTI A,Md










I.    Pengertian – Pengertian

A.    PBO
             Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat
B.    C++    
C++  adalah sebuah bahasa pemrograman yang memiliki banyak dialek, seperti bahasa orang yang banyak memiliki dialek.Dalam C++,dialek bukan disebabkan oleh karena si pembicara berasal dari Jepang atau Indonesia, melainkan karena bahasa ini memiliki beberapa kompiler yang berbeda.
   
C.    Header Fungsi
•    Fungsi main membutuhkan header fungsi int main().
•    Header fungsi berperan sebagai antar muka antara fungsi tersebut dengan fungsi yang memanggilnya.
•    Bagian sebelum nama fungsi disebut juga dengan tipe nilai balik fungsi yang menjelaskan aliran informasi dari fungsi tersebut ke fungsi yang memanggilnya.
•    Bagian yang terdapat dalam kurung setelah nama fungsi disebut dengan daftar argumen atau daftar parameter.
Contoh:
1.    INT MAIN ()
•    Menyatakan bahwa fungsi main() menghasilkan nilai balik integer (bilangan bulat)dan memberikannya kepada fungsi yang memanggilnya.
•    Fungsi main tidak memanggil informasi apapun dari fungsi yang memanggilnya.
2.    INT MAIN(VOID)
•    Varian header fungsi ini menggunakan tipe void.
•    Fungsi tidak mengambil argumen apapun.
•    Dalam C++ (bukan C) membiarkan argumen kosong sama saja dengan mengisi dengan tipe void.
3.    INT MAIN()
•    Pemrogram lebih suka menggunakan varian header fungsi ini tanpa memakai nilai balik,hal ini berarti fungsi main tidak menghasilkan suatu nilai apapun.
•    Varian header fungsi seperti ini dapat berjalan normal pada beberapa hardware atau sistem,namun varian ini bukanlah standard C++ karena pada beberapa sistem yang lain akan mengalami kegagalan.
D.    Elemen –Elemen Program
Berikut adalah elemen-elemen yang termasuk dalam kode :
•    Komentar yang di awali dengan prefiks //.
•    Direktif preprosesor #include.
•    Direktif Usingname.
•    Header fungsi int main().
•    Badan fungsi yang di awali dengan { dan di akhiri }.
•    Perintah cout untuk menampilkan pesan.
•    Perintah return untuk memberhentikan fungsi main.
E.    Statemen
    Statement control atau pengendalian digunakan untuk mengambil suatu keputusan atau memilih bagian program yang akan dikerjakan sesuai dengan kondisi atau syarat yang diberikan. Statement - statement diatas memerlukan suatu kondisi atau syarat sebagai dasar pengambilan keputusan. Salah satu kondisi yang umum digunakan adalah berupa keadaan benar atau salah (true or false), ya atau tidak (yes or no), 0 atau 1 (on or off).

Ketika menyelesaikan masalah, tidak hanya satu kasus yang dapat di temui, namun ada banyak, kadang kala menemui beberapa kasus. Ada beberapa format yang berbeda untuk setiap kasus ketika diimplementasikan di algoritma pemrograman.

F.    Komentar-komentar C++
      Komentar adalah catatan untuk pembaca program yang ingin mengidentifikasi seksi suatu program atau menjelaskan beberapa aspek dalam kode compiler C++ mengabaikan komentar-komentar lain.

G.    Token
    Token adalah elemen terkecil yang tak terpisahkan pada baris kode. Beberapa token yang tidak perlu dipisahkan dengan spasi kosong antara lain : titikkoma(;),koma(,),dan kurung().
H.     Cout (<<)
    Cout yaitu operator yang dipakai untuk menyisipkan karakter – karakter dalam aliran informasi untuk ditampilkan.
I.    Cin(>>)
    Cin yaitu operator untuk mengekstrak karakter – karakter dari aliran informasi tersebut (mengekstrak karakter – karakter yang diketikkan dan mengubahnya menjadi bilangan bulat yang di simpan pada lokasi penyimpanan).
J.    Fungsi
    Fungsi merupakan modul – modul yang membentuk program C++  dan sangat penting dalam pemrograman berorientasi objek.Sqrt() disebut sebagai fungsi yang dipanggil,dan fungsi didalamnya memuat pemanggilan fungsi disebut fungsi pemanggil.
•    Mengunakan fungsi yang menggunkan nilai balik
       Suatu fungsi yang memiliki nilai balik menghasilkan suatu nilai yang ditugaskan kepada suatu variable sehingga contoh, pustaka standar c/c++ memuat fungsi sqrt() yang menghasilkan akar kuadrat atas suatu nilai jika anda ingin menghitung akar kuadrat atas 6,25 dan menugaskanya kepada variable x, maka anda menggunakan statemen dibawah ini pada program anda :
X=sqrt(6,25)
Ekspresi sqrt(6,25)
Ekspresi sqrt(6,25)
Fungsi yang dipanggil dan fungsi di dalamnya memuat panggilan fungsi disebut fungsi pemanggil.
K.    Variasi – Variasi Fungsi
•    Fungsi Matematika pow() : fungsi yang memerlukan dua argumen dan memberikan nilai balik sebesar argumen pertama yang dipangkatkan dengan kedua argumen.kedua argumen tersebut memiliki prototipe sebagai berikut:
Double pow(double,double);    //prototipe suatu fungsi dengan dua      argumen.
•    Fungsi Rand() : fungsi yang tidak memerlukan argumen.prototipe fungsi tersebut adalah fungsi berikut:
Int rand(void);    //prototipe suatu fungsi tanpa argumen.
•    Kata kunci (void) menyatakan bahwa fungsi rand() tidak memerlukan argument jika anda menggunakan void dan membiarkanya kosong.
Tebakan:rand();                                    //panggil fungsi tanpa argumen
•    Fungsi yang tidak menghasilkan nilai balik.misalnya fungsi yang bertugas hanya untuk menampilkan suatu nilai pada layar monitor jenis fungsi ini memiliki prototipe dengan kata kunci void.
Void=tampil(double);    //prototipe fungi tanpa menghasilkan nilai balik.
•    Fungsi-fungsi yang didefinisikan sendiri oleh user
    Pustaka c memiliki lebih dari 140 fungsi, jika sesuai dengan kebutuhan anda, anda bias memakainya namun dalam banyak kasus, anda harus membuat fungsi sendiri untuk menyelesaikan masalah komputasi anda.
L.     Objek
    Objek adalah semua benda yang ada didunia, contoh : rumah, mobil, sepeda motor,       gelas, computer, meja, dll
M.     Class
•    Class merupakan tempelate untuk membuat objek merupakan                      prototipe/blue prints yang mendefinisikan variabel – variabel dan method secara umum.
•    objek hasil instalasi dari suatu class disebut Instalation.
•    objek disebut juga Instance.
N.     Attribute
•    Attribut adalah data yang membedakan antara objek satu dengan yang lain.
•    Dalam class attribut disebut dengan Variabel.
•    Intance Variabel adalah attribut untuk tiap objek dari class yang sama.
•    Tiap objek mempunyai dan menyimpan nilai atributnya.
•    Jadi tiap objek dari class yang sama boleh mempunyai nilai yang sama atau beda.
•    Class Variabel adalah attribut untuk semua objek dibuat dari class yang sama.
•    Semua objek mempunyai nilai yang sama.
•    Jadi semua objek dari class yang sama hanya mempunya satu nilai yang value nya sama.
O.     Behavior
•    Behavior/Tingkah Laku adalah hal – hal yang bisa dilakukan oleh objek dari suatu class.
•    Behavior dapat digunakan untuk mengubah nilai attribute suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu task.
•    Dalam class behavior disebut juga sebagai Methods.
•    Methods adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu.
•    Cara objek berkomunikasi dengan ogjek lain adalah dengan menggunakan method.
P.    Konsep Dasar OOP
•    Enkapulasi(Enkapulation) adalah pembungkusan variabel dan method dalam sebuah objek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut.
•    Pewarisan(Inheritance) adalah pewarisan attribut dan method dari sebuah class ke class lainnya.
•    Polimorfinisme(Polymophism) adalah kemampuan suatu objek untuk mempunyai lebih dari satu bentuk.
Q.    Penanganan data
•    Tipe-tipe interger
Berbagai tipe interger yang dimiliki c++ mempunyai jumlah memori yang berbeda untuk menyimpan suatu interger. Suatu blik memori yang lebih vesar mempu mempresentasikan kedua nilai positif dan negative, sedangkan sebagian lainnya (usigned) tidak bias digunakan untuk mewakili nilai negative.
•    Tipe interger short, int, dan long
Short computer;
Int laptop;
Long informasi;
•    Inisilasi
   Inisilasi mengkombinasikan data penugasan dengan deklarasi. Sebagai contoh statemen ;
Int n_int=int_max
•    Tipe usigned
Kode c++ mengilustrasikan penggunaan tipe interger usigned, perhatikan pula penggunaan usigned statemen prosesor #define
•    Konstanta-konstanta interger
R.    Konversi tipe data
    Suatu ekspresi bias mengandung lebih dari 2 operan, jika masing-masing operan berbeda tipe maka c++ akan melakukan konvensi tipe data agar semuanya sama, baru bias dioperasikan
S.    Konstanta
    Mendefinisikan konstanta yang lebih baik dari fungsi counsts, contoh  ;
#include<iostream.h>
 Int main()
T.    Control statemen
      Control statemen ada 2 jenis, yaitu ;
1.    If…..else
2.    Switch case
Symbol dalam if….else:&
U.    Pengulangan
    Ada 4 bentuk pengulangan dalam c++ :
1.    Go to
2.    While
3.    Do….while
4.    For
Perulangan for mempunyai bentuk umum sebagai berikut :
For(inisialisasi awal:kondisi menaikan/menurunkan variable)
•    Kondisi perulangan
Kondisi yang dipakai dalam perulangan mempunyai beberapa aturan supaya tidak menimbulkan kesalahan program :
1.    Variable kondisi perulangan harus bertipe interger atau char
2.    Parameter dapat dihilangkan satu, dua, bahkan semuanya
•    Perulangan bersarang
Perulangan didalam perulangan dapat diperbolehkan pada hamper semua bahasa pemrograman.
V.    Larik (array)
      Larik atau juga disebut sebagai array adalah kumplan memory atau variable yang memiliki tipe data yang sama. Untuk membedakan veriabel satu dengan yang lain, larik menggunakan indek. Dengan kata lain larik adalah variable yang bertipe sama serta letaknya berurutan dalam memori.



II.    Source Code

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

void main()
{
int n,i,harga,bayar=0,totalbayar,total[100],banyak[100]; //contoh ARRAY
float pajak;
char jenis[100];
cout << "Banyak Jenis  =  ";
cin>>n;
for (i=0;i<n;i++)
{
    cout<<"Jenis ke-"<<(i+1) << endl;
    cout<<"Jenis Potong [D/P/S] : ";
    cin>>jenis[i];
    cout<<"Banyak Potong        : ";
    cin>>banyak[i];
    cout<<endl;
}
clrscr();
cout<<"-------------------------------------------------------------------------------\n";
cout<<"No\tJenis Potong\tHarga Satuan\tBanyak Barang\tJumlah Harga\n";
cout<<"-------------------------------------------------------------------------------\n";
for(i=0;i<n;i++)
{
    cout<<setw(9)<<setiosflags(ios::left)<<(i+1);         //Merapihkan Tampilan
    cout<<setw(17)<< setiosflags(ios::left);
    if(jenis[i]=='D'||jenis[i]=='d')
    {
        cout<<"Dada";
        cout<<setw(17)<< setiosflags(ios::left);
        harga=2500;
        cout<<"2500";
}
else if (jenis[i]=='P'||jenis [i]=='p')
{
    cout<<"Paha";
    cout<<setw(17)<< setiosflags(ios::left);
    harga=2000;
    cout<<"2000";
}
else
{
        cout<<"Sayap";
        cout<<setw(17)<< setiosflags(ios::left);
        harga=1500;
        cout<<"1500";
    }
    cout<<setw(17)<< setiosflags(ios::left)<<banyak[i];
    total[i]=banyak[i]*harga;
    cout<<total[i];
    bayar+=total [i];
    cout<<endl ;
}
cout << endl ;
cout <<"--------------------------------------------------------------------------------\n";
cout<< "\t\t\t\t\tJumlah Bayar  =     "<<bayar<< endl ;
pajak = 0.1*bayar;
cout<< "\t\t\t\t\tPajak         =     "<<pajak<<endl;
totalbayar = bayar+pajak;
cout<< "\t\t\t\t\tToyal Bayar   =     "<<totalbayar<<endl<<endl ;
cout<<"----------------------------------Thank You--------------------------------------\n";
cout<<"WR Program";
}


Contoh yang lain :

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

main ()
{
 int i;
   char nama[5][20];
   float nilai1[5];
   float nilai2 [5];
   float hasil[5];

for (i=1;i<=2;i++)
{
   cout<<"Data Ke - "<<i<<endl;
   cout<<"Nama Siswa  : ";gets(nama[i]);
   cout<<"Nilai MidTest : "; cin>>nilai1[i];
   cout<<"Nilai Final : "; cin>>nilai2[i];
   hasil[i] = (nilai1[i]*0.40)+(nilai2[i]*0.60);
   cout<<endl;
}
cout<<"---------------------------------------";
cout<<"------"<<endl;
cout<<"No Nama Siswa  Nilai  Nilai ";
cout<<"Hasil"<<endl;
cout<<"      MidTest Final ";
cout<<"Ujian"<<endl;
cout<<"--------------------------------------";
cout<<"-------"<<endl;

for (i=1;i<=2;i++)
{
 cout<<setiosflags (ios::left)<<setw(4)<<i;
   cout<<setiosflags (ios::left)<<setw(20)<<nama[i];
   cout<<setprecision(2)<<" "<<nilai1[i];
   cout<<setprecision(2)<<" "<<nilai2[i];
   cout<<setprecision(2)<<" "<<hasil[i]<<endl;
}

cout<<"--------------------------------------";
cout<<"------"<<endl;
getch ();
}




III.    kesimpulan


          tujuan saya dalam mempelajari PBO atau khususnya program software C++ adalah karena ingin mengatahui lebih dalam tentang PBO/C++
          khususnya untuk kelompok 5, karena kami ingin menjadi lebih maju, lebih mengenal banyak tentang IT, bikan hanya memakai dan memanfaatkan kemajuan jaman, tetapi juga bisa membuat programnya, oleh karena itu kami mau dan ingin untuk belajar software
IV.    kritik dan saran

    anggara :
kritik ; jujur saya kurang suka dengan metode pembelajaran yang                                                           diterapkan oleh bu ulli.
Saran ; seharusnya yang belum bisa seperti Erwin, dimas, supri dan yang lain nya harus di beri perhatian yang lebih agar cepat tanggap dalam pembelajaran, tidak hanya yang pandai-pandai saja yang di ajari terus terusan, yang belum bias pun juga ingin bisa, maaf bu ulli.
    Anis :
Kritik ; bu ulli kalau ngajar santai, enak, ada jeda nya, saya suka.
Saran ;  _
    Erwin :
Kritik ; bu ulli kalau ngajar semangat, saya suka, saya suka
Saran ; pertahankan bu
    Istiqomah
Kritik ; jika mendekte jangan terlalu cepat
Saran ; jangan terburu buru dalam menjelaskan pelajaran
    Uut fatma :
Kritik ; bu ulli kalau mengajar santai, enak, tidak terlalu focus dengan pelajaran tapi juga tidak banyak bercanda
Saran ; jangan terlalu cepat dalam mendekte.

Sekian terima kasih.