Array adalah variabel Larik atau lebih dikenal dengan ARRAY adalah
adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen
yang mempunyai tipe yang sama. Suatu Array mempunyai jumlah komponen
yang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukan
oleh suatu indek untuk membedakan variabel yang satu dengan variabel
yang lainnya.
Dalam bahasa C, index dari array dimulai dengan 0 (zero).
Variabel array dalam Borland C++, dapat digolongkan menjadi dua buah dimensi :
•Array Berdimensi Satu.
•Array Berdimensi Dua
1. Array Berdimensi Satu
Sebelum
digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara
mendeklarasikan variabel array sama seperti deklarasi variabel yang
lainnya, hanya saja diikuti oleh suatu indek yang menunjukan jumlah
maksimum data yang disediakan.
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[Ukuran];
Keterangan :
•Type Data : Untuk menyatakan type data yang digunakan.
•Ukuran : Untuk menyatakan jumlah maksimum elemen array.
Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang tersebut.
2. Array Berdimensi Dua
Array
dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks
pertama menunjukan baris dan indeks kedua menunjukan kolom. Array
dimensi dua dapat digunakan seperti pendatan penjualan, pendataan nilai
dan lain sebagainya.
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[index-1][index-2];
Keterangan :
•Type Data : Untuk menyatakan type data yang digunakan.
•Index-1 : Untuk menyatakan jumlah baris
•Index-2 : Untuk menyatakan jumlah kolom
contoh pendeklarasian array
a. Inisialisasi Array
Inisialisasi
adalah memberikan nilai awal terhadap suatu variabel. Bentuk
pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe_data nama_array[jml_elemen] = { nilai array };
b. Mengakses Array
Suatu array dapat di akses dengan menggunakan subscript atau indexnya . Bentuk umum pengaksesan dengan bentuk :
3. Sorting Dalam C++
3.a Selection sort
Tehnik pengurutan
dengan cara pemilihan
elemen atau proses
kerja dengan
memilih elemen
data terkecil untuk
kemudian dibandingkan &
ditukarkan dengan
elemen pada data a wal, dst sampai seluruh e lemen shg a kan
menghasilkan pola data
yg telah disort.
Prinsip kerja dari
teknik ini adalah sbb :
1. Pengecekan dimulai data ke-1 sampai dengan
data ke-n
2. Tentuka n bilangan dengan Index terkecil
dari data bilangan tersebut
3. Tukar bilangan de ngan Index terkecil te
rsebut dengan bilangan pertama( I = 1)dari data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilangan
berikutnya ( I= I+1 ) sampai didapatkan urutan yang optimal.
contoh :
#include<stdio.h>
main()
{
int A[100],n,t,i,j;
printf("\nMasukkan jumlah list : ");
scanf("%d",&n);
printf("\nMasukkan elemen-elemen list : ");
for(i=0;i<n;i++)
scanf("%d",&A[i]);
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(A[i]>A[j])
{
t=A[i];
A[i]=A[j];
A[j]=t;
}
}
}
printf("\nList yang sudah diurutkan adalah sebagai berikut : \n");
for(i=0;i<n;i++)
printf(" %d",A[i]);
printf("\n");
}
Implementasi program diatas dengan C++ adalah sebagai berikut:
#include<iostream>
using namespace std;
main()
{
int A[100],n,t,i,j;
cout<<"\nMasukkan jumlah list : ";
cin>>n;
cout"\nMasukkan elemen-elemen list : ";
for(i=0;i<n;i++)
cin>>A[i];
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(A[i]>A[j])
{
t=A[i];
A[i]=A[j];
A[j]=t;
}
}
}
cout<<"\nList yang sudah diurutkan adalah sebagai berikut : \n";
for(i=0;i<n;i++)
cout<<A[i]<<" ";
cout<<endl;
}
3.b Buble sort
Prinsip Kerja dari Bubble
Sort adalah :
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-n dengan data sebelumnya
(n-1)
3. Jika lebih kecil maka pindahkan bilangan
tersebut dengan bilangan yang ada didepannya ( sebelumnya ) satu persatu (n-1,n-2,n-3,....dst)
4. Jika lebih be sar maka tidak terjadi
pemindahan
5. Ulangi langkah 2 dan 3 s/d sort
optimal.
contoh :
#include <stdio.h> #include <conio.h> void main () { int A[5]={3,4,1,2,8},i,j,tampung; printf("Sebelum Sorting :\n"); for (i=0;i<5;i++) { printf("%d",A[i]); } for (i=1;i<5;i++) { for(j=0;j<=i;j++) { if(A[j]>A[j+1]) { tampung=A[j]; A[j]=A[j+1]; A[j+1]=tampung; } } } printf("\n\nSetelah Sorting :\n"); for (i=0;i<5;i++) { printf("%d",A[i]); } getch(); }
HASIL KELUARAN :

3.c insertion sort
Prinsip dasar
Insertion adalah sec ara
berulang-ulang menyisipkan /
memasukan
setiap elemen. ke dlm
posisinya / tempatnya yg benar.
1. Prinsip Kerja Insertion Sort adalah
2. Pengecekan mulai dari data ke-1 sampai data ke-n
3. Bandingkan data ke-I ( I = data ke-2 s/d data ke-n )
4. Bandingkan data ke-I te rsebut dengan data sebelumnya
(I-1), Jika lebih kecil
maka data tersebut dapat
disisipkan ke data awal sesuai dgn posisisi yg
seharusnya
5. Lakukan langkah 2 dan 3 untuk bilangan
berikutnya ( I= I+1 ) sampai didapatkan urutan yg
optimal.
contoh :
#include
<iostream.h>
#include <conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i<=n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}
void main()
{
cout<<"===PROGRAM INSERTION SORT==="<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : ";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" :
";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort();
cout<<"\n\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting Selesai";
getch();
}
HASIL KELUARAN :
LATIHAN HAL. 100
1. Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED CHICKEN” yang telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk membantu kelancaran usahaannya. “GEROBAK FRIED CHICKEN” mempunyai daftar harga ayam sebagai berikut : Kode Jenis Harga ---------------------------------- D Dada Rp. 2500 P Paha Rp. 2000 S Sayap Rp. 1500 ----------------------------------
Buatlah programnya dengan ketentuan: • Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran. • Banyak Jenis, Jenis Potong dan Banyak Beli diinput. • Tampilan yang diinginkan sebagai berikut: Layar Masukkan GEROBAK FRIED CHICKEN --------------------- Kode Jenis Harga -------------------------- D Dada Rp. 2500 P Paha Rp. 2000 S Sayap Rp. 1500 -------------------------- Banyak Jenis : ... <diinput> Jenis Ke - ... <proses counter> Jenis Potong [D/P/S] : ... <diinput> Banyak Potong : ... <diinput> <<Terus berulang tergantung Banyak Jenis>> Layar Keluaran GEROBAK FIRED CHICHEN ------------------------------------------------------------- No. Jenis Harga Bayak Jumlah Potong Satuan Beli Harga ------------------------------------------------------------- ... ....... .... .... Rp .... ... ....... .... .... Rp .... ------------------------------------------------------------ Jumlah Bayar Rp .... Pajak 10% Rp .... Total Bayar Rp ....
JAWAB..!!
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <iomanip.h> #include <string.h> main( ) { int x ,a ,ulangi; char jenis[6] = {'D','d','P','p','S','s'} ,*ket[6]; long bapot[6], jumhar[6] = {0}, hasat[6] = {2500 ,2000 ,1500}; long jumbar[6]= {0}, pajak[6], totba[6]; pesan: clrscr( ); cout<<"\tGEROBAK FRIED CHICKEN\n"; cout<<"\t---------------------\n"; cout<<"\t Kode Jenis Harga\n"; cout<<"\t---------------------\n"; cout<<"\t [D] Dada Rp. 2500\n"; cout<<"\t [P] Paha Rp. 2000\n"; cout<<"\t [S] Sayap Rp. 1500\n\n"; cout<<"\t---------------------\n\n"; cout<<"\tBanyak Jenis : ";cin>>x; jumbar[x] = 0; if (x <= 0) { cout<<"\n\t\tBanyak Jenis Tidak Boleh Null"; goto akhir; } else { for(a = 1 ; a <= x; ++a) { cout<<"\tJenis Ke - "<<a; cout<<"\n\tJenis Potong [D/P/S] : ";cin>>jenis[a]; cout<<"\tBanyak Potongan : ";cin>>bapot[a]; cout<<"\t------------------------\n"; if (jenis[a] == 'D' || jenis[a] == 'd') { ket[a] = "Dada "; hasat[a] = 2500; } else if (jenis[a] == 'P' || jenis[a] == 'p') { ket[a] = "Paha "; hasat[a] = 2000; } else if (jenis[a] == 'S' || jenis[a] == 's') { ket[a] = "Sayap"; hasat[a] = 1500; } else { cout<<"\nAnda Salah Masukan Kode Jenis Potongan."; hasat[a] = 0; } jumhar[a] = hasat[a] * bapot[a]; jumbar [x] = jumbar[x] + hasat[a] * bapot[a]; if (jumbar[x] == 0) { pajak[x] = 0; totba[x] = 0; } else { pajak[x] = jumbar[x] * 0.1; totba[x] = jumbar[x] + pajak[x]; } } } cout<<"\n\n\tGEROBAK FRIED CHICKEN\n"; cout<<"------------------------------------------------\n"; cout<<"No.| Jenis | Harga | Banyak | Jumlah\n"; cout<<" | Potong | Satuan | Beli | Harga\n"; cout<<"================================================\n"; for (a = 1; a <= x; ++a) { cout<<" "<<a<<" | "<<ket[a]<<" | "<<hasat[a]; cout<<" | "<<bapot[a]<<" | Rp. "<<jumhar[a]<<endl; } cout<<"------------------------------------------------\n"; cout<<"\t\t\tJumlah Bayar Rp. "<<jumbar[x]<<endl; cout<<"\t\t\tPajak 10% Rp. "<<pajak[x]<<endl; cout<<"\t\t\tTotal Bayar Rp. "<<totba[x]; cout<<"\n\n\tAnda Ingin Memesan Lagi? [Y/T] = "; ulangi = getche(); if (ulangi == 'Y' || ulangi == 'y') goto pesan; else cout<<"\n\n\t\tTerima Kasih"; akhir: getch( ); }
HASIL KELUARAN :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tidak ada komentar:
Posting Komentar