Senin, 25 Juni 2012

Array dan Structure


BAB IV
ARRAY DAN STRUCTURE
1. Array
            Array merupakan sekumpulan data yang yang mempunyai nama dan tipe yang sama, Array disebut juga variabel berindeks. Nilai suatu data dalam Array ditentukan oleh nama dan indeksnya. Array banyak digunakan pada oprasi yang melibatkan indeks seperti pada statisik. Tipe data Array dapat berupa Array satu dimensi(1D), dua dimensi (2D), tiga dimensi (3D) atau banyak dimensi. Cara pendeklarasiannya dalam bahasa C++, yaitu:
a). Array satu dimensi :
Tipe_Array nama_Array[ukuran] Contoh: double Array_1[10]
b). Array dua dimensi :
Tipe_Array nama_Array[ukuran1] [ukuran2] Contoh:int Array_2[10][10]
c). Array tiga dimensi :
Tipe_Arraynama_Array[ukuran1][ukuran2][ukuran3] Contoh: float Array_3[10][10][10]
            Array dalam bahasa C++ tidak dimulai dari indeks satu, teteapi dimulai dari indeks 0(nol). Misalnya dideklarasikan suatu Array satu dimensi: int x[3] berarti Array yang terjadi adalah: x[0], x[1], x[3].
Untuk member nilai pada Array dapat dilakukan dengan mengakses indeksnya, missal:
Array_1[0] = 10.0;
Array_1[1] = 20.0;
            Selain itu, member nilai pada Array juga dapat dilakukan dengan menggunakan struktur perulangan for yang mana jumlah perulangan yang terjadi disesuaikan dengan ukuran Array. Misal:

for (int i=0;i<10;i++)
{
x[i]= I;
}
Membaca Nilai Dari Array
Nilai Array dapat langsung ditampilkan misalnya:
cout<<Array_1[0]<<endl;
cout<<Array_1[0]<<endl;
Atau dapat juga dengan bantuan struktur for, misalnya:
for (int=0;i<10;i++)
{
cout<<x[1];
}
            Selain bertipe numeric, Array dapat juga bertipe char. Array char dapat dianggap sebagai sebuah string. Contoh:
Char nama[17]= “INFORMATIKA UNSIL”;
Char alamat[]=”JL.SILIWANGI NO.24”;
Untuk member nilai pada suatu string, tidak diperbolehkan menggunakan operator penguasaan(=). Untuk member nilai string dapat menggunakan tiga cara yaitu dengan inisialisasi, diambil dari papan ketik atau menggunakan fungsi stcrpy (). Contoh penerapan array sebagai berikut:




//program guided 1
#include "iostream.h"
#include "conio.h"
void main()
{
int data[5];
//input data ke array
for (int k=0; k<5; k++)
{
cout<<"Masukkan data]"<<k<<"] = ";
cin>>data[k];
}
//tampil data array
for (int j=0; j<5; j++)
{
cout<<"data["<<j<<"] = "<<data[j]<<endl;
}
getch();
}
//program guided 2
#include "iostream.h"
#include "conio.h"
void main()
{
int data[5];
int rata, total = 0;
//input data ke array
for (int k=0; k<5; k++)
{
cout<<"Masukkan data["<<k<<"] = ";
cin>>data[k];
}
//menghitung total nilai pada array
for (int j=0; j<5; j++)
{
total = total+data[j];
}
//menghitung rata-rata
rata = total/5;
cout<<"rata-rata data pada array = "<<rata<<endl;
getch();
}












//program guided 3
#include "iostream.h"
#include "conio.h"
void main()
{
int data[3][3];
int rata, total = 0;
//input data ke array
for (int k=0; k<3; k++)
{
for (int j=0; j<3; j++)
{
cout<<"Masukkan data["<<k<<"]["<<j<<"] = ";
cin>>data[k][j];
}
}
//menghitung total nilai pada array
for (int m=0; m<3; m++)
{
for (int n=0; n<3; n++)
{
cout<<data[m][n]<<" ";
total = total+data[m][n];
}
cout<<""<<endl;
}
//menghitung rata-rata
rata = total/3;
cout<<"rata-rata data pada array = "<<rata<<endl;
getch();
}
//program guided 4
#include "iostream.h"
#include "conio.h"
#include "checks.h"
void main()
{
char nama[] = "UNIVERSITAS SILIWANGI";
int nomor;
char alamat[15], alamat_lain[15];
cout<<"Masukkan data tentang : "<<endl;
cout<<"Masukkan nomor : ";
cin>>nomor;
cout<<"Masukkan alamat : ";
cin>>alamat;
//cara memberi nilai pada string
strcpy(alamat_lain, alamat);
cout<<"Data yang dimasukkan :"<<endl;
cout<<"Nama : "<<nama<<endl;
cout<<"nomor : "<<nomor<<endl;
cout<<"alamat : "<<alamat<<endl;
cout<<"alamat lain : "<<alamat_lain<<endl;
getch();
}









Guided 1
Analisa : Program diatas adalah salah satu program yang menggunakan Array. Array merupakan sekumpulan data yang mempunyai nama dan tipe data yang sama tipe data array diatas ialah array satu dimensi. dengan bantuan struktur for nilai dari array dapat dibaca. array diatas bertipe numerik. Dapat dilihat programnya diatas.
Guided 2
Analisa : Program diatas adalah salah satu program yang menggunakan Array. Array merupakan sekumpulan data yang mempunyai nama dan tipe data yang sama tipe data array diatas ialah array satu dimensi. dengan bantuan struktur for nilai dari array dapat dibaca setelah nilainya terbaca lalu dicari rata rata pada nilai array yang diinputkan. array diatas bertipe numerik. Dapat dilihat programnya diatas.



Guided 3
Analisa : Program diatas adalah salah satu program yang menggunakan Array. Array merupakan sekumpulan data yang mempunyai nama dan tipe data yang sama tipe data array diatas ialah array dua dimensi. dengan bantuan struktur for nilai dari array dapat dibaca lalu mengurutkan array tersebut dan dihitung nilai rata-ratanya. array diatas bertipe numerik. Dapat dilihat programnya diatas.
Guided 4
Analisa : Program diatas adalah salah satu program yang menggunakan Array. Array merupakan sekumpulan data yang mempunyai nama dan tipe data yang sama tipe data array diatas ialah array satu dimensi. array juga dapat bertipe char. Array char dapat dianggap sebuah string. Dapat dilihat programnya diatas.
2. Structure
Dalam C++, tipe data struktur yang dideklarasikan dengan kata kunci struct, dapat mempunyai komponen dengan sembarang tipe data, baik tipe data dasar maupun tipe data turunan, termasuk fungsi. Dengan kemampuan ini tipe data struktur menjadi sangat berdaya guna. Misalnya kita ingin membentuk tipe data struktur yang namanya kotak. Maka dapat dideklarasikan sebagai berikut:
Struct tkotak
{
Double panjang;
Double lebar;
};
Tkotak;
Untuk member nilai ukuran kotak tersebut, kita dapat menggunakan perintah-perintah ini:
Kotak.panjang= 10;
Kotak.lebar= 7;
Untuk member nilai panjang dan lebar kotak, salah satu caranya adalah seperti di atas. Cara lain untuk member nilai panjang dan lebar adalah dengan membentuk suatu fungsi. Karena fungsi ini hanya digunakan untuk member nilai data panjang dan lebar suatu kotak, tentunya fungsi ini khusus milik objek kotak, sehingga harus dianggap sebagai anggota struktur kotak. C++ sebagai bahasa pemrograman dapat mendefinisikan anggota tipe struktur yang berupa fungsi. Dengan menambah fungsi tersebut, maka struktur kotak menjadi lebih jelas bentuknya.
Struct tkotak
{
Double panjang;
Double lebar;
Void SetUkuran(double pj, double lb)
{
Panjang= pj;
Lebar= lb;
};
};
Tkotak kotak;
     Dengan tipe struktur kotak seperti itu, untuk member nilai panjang dan lebar hanya dengan memanggil fungsi SetUkuran() kotak.SetUkuran(10,7);
Selain punya ukuran panjang dan lebar, kotak juga mempunyai keliling dan luas. Dengan demikian, kita dapat memasukkan fungsi untuk menghitung keliling dan luas kedalam struktur kotak. Sebagai catatan, bahwa definisi fungsi yang menjadi anggota struktur dapat ditempatkan diluar tubuh struktur. Contohpenerapan struktur kotak dapat dilihat dalam program berikut:
#include<iostream.h>
#include<conio.h>
struct tkotak
{
      double panjang;
      double lebar;
      void SetUkuran(double pj, double lb);
      double Keliling();
      double Luas();
};
void main()
{
      tkotak kotak;
      kotak.SetUkuran(10,7);
      cout<<"Panjang : "<<kotak.panjang<<endl;
      cout<<"Lebar : "<<kotak.lebar<<endl;
      cout<<"Keliling : "<<kotak.Keliling()<<endl;
      cout<<"Luas : "<<kotak.Luas()<<endl;
      getch();
}
void tkotak::SetUkuran(double pj, double lb)
{
      panjang = pj;
      lebar = lb;
}
double tkotak::Keliling()
      {
            return 2*(panjang+lebar);
      }
      double tkotak::Luas()
      {
            return panjang*lebar;
      }

Analisa : Diatas merupakan salah satu contoh program yang menggunakan tipe data struktur yang dideklarasikan dengan kata kunci struct, yang dapat mempunyai komponen sembarang tipe data. pendeklarasian tipe data struktur dengan nama kotak (struct tkotak), void tkotak::SetUkuran(double pj, double lb) adalah fungsi yang hanya digunkan untuk memberikan nialai data panjang dan lebar suatu kotak, fungsi ini khusus hanya dimiliki objek kotak. Dapat dilihat programnya diatas.
String dan File
1. String
Dalam pemrograman C++, karena string merupakan kumpulan dari karakter maka untuk inisialisasi string, dapat dilakukan dengan cara sebagai berikut:
Char namaku[20];
Maka dari pernyataan di atas, dapa digunakan sebagai deklarasi sebuah variabel string(array dari karakter) dengan panjang hingga 20 karakter, termasuk diakhiri dengan karakter null.
Inisialisasi String
Untuk inisialisasi string(pemberian nilai kepada variabel string), dapat dilakukan dengan beberapa cara :
Char namaku[20] = {‘R’,’a’,’c’,’h’,’m’,’a’,’t’,’\0};
Atau
char namaku[20];
namaku[0] = ’R’;
namaku[1] = ‘a’;
namaku[2] = ‘c’;
namaku[3] = ‘h’;
namaku[4] = ‘m’;
namaku[5] = ‘a’;
namaku[6] = ‘t’;
namaku[7] = ‘\0’;
Atau
Char namaku[20] = “Rachmat”;
Perbedaan disini adalah pada tanda(‘) yang berarti menginputkan nilai berupa karakter kedalam variabel string sedangkan tanda (“) berarti menginputkan sebuah nilai string kedalam variabel string.
Fungsi-fungsi untuk manipulasi string.
·         Strcpy, yaitu fungsi untuk mengkopi isi suatu nilai string ke dalam variabel string lainnya.
Contoh program
//penggunaan strcpy
#include<iostream.h>
#include<conio.h>
#include<checks.h>
void main()
{
char namaku[20];
strcpy(namaku,"Erwan Ramdani");
cout<<namaku;
getch();
}
Analisa : Diatas merupakan salah satu contoh program yang menggunakan fungsi manipulasi string, tanda (“) berarti menginputkan sebuah nilai ke string kedalam variable string. strcpy yaitu fungsi untuk mengcopy isi suatu nilai string ke dalam variable string lainnya. sebelum menggunakan fungssi strcpy kita harus mendeklarasiikan terlebih dahulu header string.h. Dapat dilihat programnya diatas.
·         Untuk memberikan nilai kepada seluruh variabel string, biasanya digunakan perintah input stream(cin) dan diikuti oleh metode getline.
//penggunaan cin untuk input string
#include<iostream.h>
#include<conio.h>
void main()
{
char namaku[20];
cout<<"Inputkan data nama : ";
cin.getline(namaku,20);
cout<<"Nama anda adalah : ";
cout<<namaku;
getch();
}
Analisa : Diatas merupakan salah satu contoh program yang menggunakan fungsi manipulasi string, tanda (“) berarti menginputkan sebuah nilai ke string kedalam variable string. untuk memberikan nilai kepada sebuah variable string, digunakan perintah input stream (cin) dan diikuti oleh metode getline. Dapat dilihat programnya diatas.
2.File
Operasi dasar pada file pada dasarnya terbagi menjadi tiga tahap, yaitu : membuka atau mengaktifkan file, melaksanakan perosesan file dan menutup file.
2.1 Membuka File
Sebelum suatu file dapat diproses, file harus dibuka terlebih dahulu. Sebelum file dibuka, terlebih dahulu obyek file harus didefinisikan. Sintaknya :
Ofstream nama_obyek;
Perintah ofstream dapat dijalankan dengan perintah menyertakan file header fstream.h. setelah itu, suatu file dapat dibuka dengan perinah nama_obyek.open(“nama file dan path”);
Dua pernyataan diatas dapat disederhanakan dengan cara ofstream file_keluaran(“Siliwangi,txt”);
2.2 Menulis ke File
Salah satu jenis pemrosesan pada file adalah menulis atau merekan data ke file. Sintaknya : nama_obyek<<”Praktikum Algoritma Dan Struktur Data\n”;
2.3 Menutup File
Setelah pemrosesan file selesai, file dapat ditutup menggunakan perintah nama_obyek.close();
Contoh program:
#include<iostream.h>
#include<conio.h>
#include<fstream.h>//ofstream
void main()
{
      ofstream file_keluaran;
      file_keluaran.open("Siliwangi.txt");
      cout<<"Proses merekam sedang berlangsung...\n";
      file_keluaran<<"Kelas :C-2010\n";
      file_keluaran<<"Nama : Erwan Ramdani\n";
      file_keluaran<<"NPM : 107006115\n";
      file_keluaran.close();
getch();
}
Analisa : Program diatas merupakan salah satu contoh program yang menggunakan operasi file, #include<fstream.h> ialah header yang mempunyai fungsi untuk membuka, melakasanakan pemrosesan file dan menutup file.  ofstream file_keluaran; ialah pendefinisian untuk membuka sebuah file. lalu data data filenya ditulis atau direkam terlebih dahulu. file_keluaran.close(); digunakan untuk menutup file setelah pemrosesan file selesai. Dapat dilihat programnya diatas.
2.4 Membac File
Apabila bermaksud membaca sebuah file, pertama-tama yang harus dilakukan adalah menciptakan obyek berkelas ifstream. Contoh: ifstream file_masukkan; setelah obyek file_masukkan diciptakan, file dapat dibuka dengan cara memanggil fungsi anggota open();  file_masukkan.open(“Siliwangi.txt”)
Dua pernyataan di atas dapat disederhanakan denagn cara file_masukkan(“Siliwangi.txt”)
Apabila data bertipe maka data dapat dibaca dengan menggunakan getline();
file_masukkan.getline(isi,100);
contoh program:
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{    
char isi[100];
ifstream file_masukkan("Siliwangi.txt");
while(file_masukkan)
{
file_masukkan.getline(isi,100);
cout<<isi<<endl;
}
file_masukkan.close();
getch();
}
Analisa : Program diatas merupakan salah satu contoh program yang menggunakan operasi file, #include<fstream.h> ialah header yang mempunyai fungsi untuk membuka, melakasanakan pemrosesan file dan menutup file.  ifstream file_masukan; ialah objek berkelas yang digunakan untuk membaca sebuah file. karena data bertipe maka dapat dibaca dengan menggunakangetline();(file_masukkan.getline(isi,100)). file_keluaran.close(); digunakan untuk menutup file setelah pemrosesan file selesai. Dapat dilihat programnya diatas.
2.5 Menambah Data
Agar data yang ada pada file tidak terhapus, pada bagian open() perlu ditambahkan argument kedua berupa : ios::app;
Misalnya: ofstream file_keluaran(“Siliwangi.txt”,ios::app);
Atau  
file_keluaran.open(“Siliwangi.txt”,ios::app);

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
void main()
{
ofstream file_keluaran("Siliwangi.txt",ios::app);
cout<<"Proses tambah data ";
file_keluaran<<"jurusan Teknik Informatika \n";
file_keluaran<<"Universitas Siliwangi\n";
file_keluaran.close();
getch();
}

Analisa : Program diatas merupakan salah satu contoh program yang menggunakan operasi file, #include<fstream.h> ialah header yang mempunyai fungsi untuk membuka, melakasanakan pemrosesan file dan menutup file.  iosapp; ialah argument yang ditambahkan pada bagian open() agar data pada file tidak terhapus. lalu data data filenya ditulis atau direkam terlebih dahulu. file_keluaran.close(); digunakan untuk menutup file setelah pemrosesan file selesai. Dapat dilihat programnya diatas. 
Tampilan setelah data ditambahkan:

1 komentar: