Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu
identifier (pengenal).
Masing-masing elemen larik diakses menggunakan indeks (subscript) dari nol sampai n-1 (n
menyatakan jumlah elemen larik).
Pengolahan data larik harus per elemen. Elemen larik dapat diakses langsung (acak), maksudnya
untuk memanipulasi elemen keempat tidak harus melalui elemen kesatu, kedua dan ketiga.
Berdasarkan banyaknya indeks larik dibagi menjadi satu dimensi dan multi dimensi (dua
dimensi, tiga dimensi).
Larik Satu Dimensi
Bentuk umum larik satu dimensi dideklarasikan dengan
tipe_data menyatakan jenis elemen larik (int, float, char, unsigned, dan lain-lain), tidak
boleh jenis void.
nama_larik adalah nama larik, harus memenuhi ketentuan pengenal.
ukuran menyatakan jumlah maksimal elemen larik, normalnya lebih besar dari satu.
Contoh:
int nilai[4];
? ? ? ?
nilai[0] nilai[1] nilai[2] nilai[3]
untuk memberi nilai ke elemen larik dengan cara
1. memberikan nilai langsung (assignment)
nilai[2] ← 5 (nilai[2]=5;), artinya kita memberikan nilai 5 ke elemen larik yang berindeks
2;
2. memasukkan nilai melalui papan ketik (keyboard)
cin>> nilai[2]; atau scanf(“%d”, &nilai[2]);
untuk mengakses (membaca) elemen larik dengan cara akses berikut.
nama_larik[indeks];
contoh: nilai[2];
atau
cout<<nilai[2]; atau printf(“%d”,nilai[2]);
Elemen larik dapat juga langsung diberi nilai awal waktu larik dideklarasikan. Dalam hal ini
ukuran larik boleh dituliskan atau dikosongkan.
tipe_data nama_larik[ ]= {konstanta_1, konstanta_2,…,konstanta_n};
konstanta_1, konstanta_2,…,konstanta_n adalah nilai awal elemen larik dan harus setipe.
Contoh deklarasi larik
char huruf[] = {‘a’, ‘b’, ‘c’};
‘a’ ‘b’ ‘c’
huruf[0] huruf[1] huruf[2]
maksudnya huruf[0] = ‘a’; huruf[1]=’b’; huruf[2]=’c’;
Menghitung Jumlah Elemen Array
Karena fungsi sizeof() mengembalikan jumlah byte yang sesuai dengan
argumennya, maka operator tersebut dapat digunakan untuk menemukan jumlah
elemen array, misalnya:
#include <stdio.h>
#include <conio.h>
void main()
{
int bil[7], i;
clrscr();
printf("elemen pertama ? "); scanf("%d", &bil[0]);
bil[1] = 5;
bil[2] = bil[1] + 20;
for (i = 4; i < 7; i++) bil[i] = i * 10;
bil[3] = bil[bil[1]];
for (i = 0; i < 7; i++)
printf("bil[%d] = %d \n", i, bil[i]);
}
Menghitung Jumlah Elemen Array
Karena fungsi sizeof() mengembalikan jumlah byte yang sesuai dengan
argumennya, maka operator tersebut dapat digunakan untuk menemukan jumlah
elemen array, misalnya:
nt array[ ] = {26,7,82,166};
cout<<sizeof(array)/sizeof(int);
akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki array.
Melewatkan Array Sebagai Argumen Fungsi
Array dapat dikirim dan dikembalikan oleh fungsi pada saat array dikirim ke dalam
fungsi, nilai aktualnya dapat dimanipulasi.
Contoh :
#include <iostream.h>
void ubah(int x[]);
void main()
{
int ujian[] = {90,95,78,85};
ubah(ujian);
cout<<" Elemen kedua dari array ujian adalah "<<ujian[1]<<endl;
}
void ubah(int x[])
{
x[1] = 100;
}
Keluarannya : Elemen kedua dari array ujian adalah 100
Larik Dua Dimensi (Matriks)
Matriks adalah sekumpulan informasi yang setiap individu elemennya diacu dengan
menggunakan dua buah indeks (yang biasanya dikonotasikan dengan baris dan kolom).
Konsep umum larik berlaku juga pada Matriks, yaitu:
1. kumpulan elemen bertipe sama;
2. setiap elemen data dapat diakses secara acak, jika indeksnya (baris dan kolom) sudah
diketahui;
3. merupakan struktur data statis, artinya jumlah elemennya sudah ditentukan terlebih
dahulu di dalam kamus dan tidak bisa diubah selama pelaksanaan program.
Deklarasi Matriks
tipe_data nama_matriks[baris] [kolom];
Contoh:
int B[3][4];
tipe_data menyatakan jenis elemen matriks (int, float, char, unsigned, dan lain-lain),
tidak boleh jenis void.
nama_matriks adalah nama matriks, harus memenuhi ketentuan pengenal.
baris menyatakan jumlah maksimal elemen baris matriks,
kolom menyatakan jumlah maksimal elemen kolom matriks.
Untuk memberi nilai matriks:
1. memberikan nilai langsung (assignment)
B[2][1] ← 5 (B[2][1]=5;), artinya kita memberikan nilai 5 ke matriks pada baris 2 dan
kolom 1;
2. memasukkan nilai melalui papan ketik (keyboard)
cin>> B[2][1]; atau scanf(“%d”, &B[2][1]);
untuk mengakses (membaca) elemen matriks dengan cara akses berikut.
nama_larik[baris][kolom]; contoh B[2][1];
atau
cout<<B[2][1]; atau printf(“%d”,B[2][1]);
Contoh program memberi (mengisi) nilai suatu matriks
#include <stdio.h>
#include <conio.h>
void main()
{
int B[3][4],i,j;
clrscr();
for (i=0;i<=2;i++)
{
for (j=0;j<=3;j++)
{
printf("B[%d,%d] = ",i+1,j+1); scanf("%d", &B[i][j]);
}
}
printf("\n");
for (i=0; i<=2;i++)
{
for (j=0; j<=3;j++)
printf("%d ",B[i][j]);
if (j=3) printf("\n");
}
return 0;
}
Inisialisasi Matriks
Dapat dinyatakan dengan perintah berikut ini.
int mat[2][3] = {{1, 2, 3}, {4, 5, 6}};
Menjumlahkan Dua Buah Matriks
Menjumlahkan dua buah matriks A dan B menghasilkan matriks C atau A + B = C
hanya dapat dilakukan bila ukuran matriks A dan ukuran matriks B sama, dan kedua
matriks sudah terdefinisi harganya (elemennya sudah terisi). Matriks C juga berukuran
sama dengan matriks A dan B. Penjumlahan matriks A dan B didefinisikan sebagai
berikut:
C[i,j] = A[i,j] + B[i,j] untuk setiap i dan j.
Prosedur untuk menjumlahkan matriks sebagai berikut.
Kamus
const min_baris : integer = 1
const maks_baris : integer = 3
const min_kolom : integer = 1
const maks_kolom : integer = 3
type matriks : matrix[min_baris..maks_baris, min_kolom..maks_kolom] of integer
Kamus
const int maks_baris = 3
const int maks_kolom = 3
int matriks [maks_baris] [maks_kolom] Algoritma dan Pemrograman II (3 SKS) Larik (Array)
procedure Jumlah_matriks(input A : matriks, input B : matriks, output C : matriks)
{menjumlahkan matriks A dan B, yaitu A + B = C
K.Awal : matriks A dan B sudah terdefinisi elemen-elemennya
K.Akhir : elemen matriks C berisi penjumlahan A dan B}
Kamus
i : integer {indeks baris}
j : integer {indeks kolom}
Algoritma
for i ← min_baris to mak_baris do
for j ← min_kolom to mak_kolom do
C[i,j] ← A[i,j] + B[i,j]
endfor
endfor
void Jumlah_matriks(input A : matriks, input B : matriks, output C : matriks)
{menjumlahkan matriks A dan B, yaitu A + B = C
K.Awal : matriks A dan B sudah terdefinisi elemen-elemennya
K.Akhir : elemen matriks C berisi penjumlahan A dan B}
Kamus
int i {indeks baris}
int j {indeks kolom}
Algoritma
for (i ← min_baris; i ≤ mak_baris; i++)
for (j ← min_kolom; j ≤ mak_kolom; j++)
C[i,j] ← A[i,j] + B[i,j]
endfor
endfor
Itulah pengertian dan beberapa contoh dari ARRAY.
Semoga bermanfaat.
Sabtu, 23 Februari 2013
Tipe data algoritma
Penentuan tipe data berguna untuk memberi pengenal pada isi data yang
akan diakses, oleh variabel.
a. Tipe Data Numerik
Tipe data ini digunakan untuk menyatakan bilangan yang tidak
mempunyai angka desimal. Tipe Integer terdiri dari beberapa tipe lagi,
yang sebagian berbeda rentang nilai dan ukuran memorinya.
* Bilangan bulat memiliki 2 tipe yaitu Integer dan Long
* Bilangan real memiliki 2 tipe yaitu Single dan Double
b. Tipe Real
Tipe real digunakan untuk menyatakan bilangan yang mempunyai
angka desimal. Tipe data real ini terdiri dari beberapa tipe lagi, yang
sebagian rentang nilai dan ukuran penggunaan memorinya.
c. Tipe Boolean
Tipe data boolean untuk menyatakan data logika, yaitu True ( benar) dan False (salah). Tipe ini memiliki 2 jenis yaitu True dan False. Operator pembanding digunakan untuk membandingkan dua buah operand. Misalnya : Yang dibandingkan dalam string ialah nilai ASCII dari string tersebut.
Disarankan penggunaan tipe logika menggunakan tipe Boolean. Untuk ByteBool, WordBool, dan LongBool sebaiknya hanya digunakan untuk menjaga kompabilitas, yaitu jika program akan dihubungkan dengan program bahasa lain.
d. Tipe Character
Tipe data character digunakan untuk menyatakan karakter satu huruf.
e. Tipe String
Tipe data string digunakan untuk menyatakan sederetan
karakter yang membentuk satu kesatuan, misalnya nama,
alamat dan sebagainya.Tipe ShortString disediakan hanya untuk menjaga kompabilitas
dengan versi sebelumnya. AnsiString untuk menyimpan karakter
ANSI dan WideString dapat menyimpan karakter Unicode.
String
adalah semua karakter yang ada dalam tabel ASCII, contoh :
‘a’…’z’…’0′…’9′. Operasi yang bisa dilakukan hanya operasi perbandingan
saja. Tipe String ialah gabungan dari karakter, tipe string digunakan
untuk menyimpan data yang berupa untaian karakter.
f. Tipe Record
Tipe record digunakan untuk menyimpan sekumpulan data yang
mungkin tipenya berbeda, tetapi saling berhubungan.h. Tipe Terenumerasi dan Subrange
Tipe data terenumerasi dan tipe data subrange dipakai untuk
menyatakan data berurutan yang bertipe sama.
Bagian-bagian Algoritma
Kali ini saya akan membahas mengenai bagian-bagian Algoritma, dimana terdapat 3 bagian yaitu :
1. Judul (Header)
2. Pembentukan Wadah (Deklarasi)
3. Bagian Inti (Deskripsi)
Bagian Judul (Header)
Judul
adalah bagian yang terdiri atas nama program dan penjelasan
(spesifikasi) tentang program tersebut. Judul diawali dengan kata kunci PROGRAM dan nama program X.
Contoh :
PROGRAM HelloWorld
{
Program untuk mencetak "Hello, world"
Masukan program ini tidak ada. Keluarannya adalah tulisan 'Hello, world' tercetak di layar
}
Bagian Pembentukan Wadah (Deklarasi)
Bagian
ini digunakan untuk mengumumkan semua nama yang dipakai di dalam
algoritma beserta propertinya (misalnya type). Nama tersebut bisa berupa
nama konstanta, nama peubah, nama tipe, nama prosedur dan nama fungsi.
Semua nama yang dipakai di dalam algoritma harus dikenali sebelum mereka
digunakan.
Contoh : (untuk Program Fahrenheit Celcius)
DEKLARASI
F,C : real
x,y, step : integer
F,C,x,y,
dan step adalah nama-nama perubah yang digunakan di dalam bagian
algoritma. Nama-nama peubah ini berserta tipenya harus diumumkan di
bagian deklarasi sebelum mereka digunakan.
Bagian Inti (Deskripsi)
Inilah bagian inti dari sebuah program. Bagian ini berisi instruksi-instruksi pemecahan masalah dalam notasi pseudo-code.
Program HelloWorld mengandung bagian algoritma yang hanya berisi satu baris instruksi saja :
ALGORITMA
write("Hello, world")
Program FahrenheitCelcius mengandung bagian algoritma yang berisi beberapa baris instruksi :
ALGORITMA
read(x,y,step)
F <- x
while F <= y do
C=5/9 * (F-32)
write(F,C)
F <- F + step
endwhile
Itulah merupakan bagian-bagian dari Algoritma.
Pseudocode dan Flowchart
Pseudocode
adalah deskripsi dari algoritma pemrograman computer yang menggunakan
struktur sederhana dari beberapa bahasa pemograman tetapi bahasa
tersebut hanya ditujukan agar dapat dibaca manusia. Biasanya yang
ditulis dari pseudocode adalah variabel dan fungsi. Tujuan penggunaan
utama dari pseudocode adalah untuk memudahkan manusia dalam memahami
prinsip-prinsip dari suatu algoritma. Penggunaan pseudocode umumnya
banyak kita temukan di buku-buku dan artikel-artikel tentang pemrograman
yang membahas tentang algoritma tertentu. Kadang pula pseudocode kita
temukan dalam merencanakan pengembangan suatu program komputer.
Dalam pseudocode, tidak ada syntax standar yang resmi. Karena itu, pseudocode ini dapat kita terapkan dalam berbagai bahasa pemograman. Tentu saja harus kita sesuaikan setiap tahap dengan bahasa pemograman yang kita gunakan.
Fungsi dari pseudocode mungkin sama dengan Flowchart. Perbedaannya terletak pada cara penyampaiannya. Pseudocode menggunakan kata-kata untuk menjelaskan suatu algoritma, sedangkan Flowchart menggunakan gambar.
Berikut adalah contoh pseudocode fungsi untuk menentukan nilai minimal dari dua bilangan:
function min(x,y)
if x > y then
return y
else
return x
end if
Dalam pseudocode, tidak ada syntax standar yang resmi. Karena itu, pseudocode ini dapat kita terapkan dalam berbagai bahasa pemograman. Tentu saja harus kita sesuaikan setiap tahap dengan bahasa pemograman yang kita gunakan.
Fungsi dari pseudocode mungkin sama dengan Flowchart. Perbedaannya terletak pada cara penyampaiannya. Pseudocode menggunakan kata-kata untuk menjelaskan suatu algoritma, sedangkan Flowchart menggunakan gambar.
Berikut adalah contoh pseudocode fungsi untuk menentukan nilai minimal dari dua bilangan:
function min(x,y)
if x > y then
return y
else
return x
end if
Berikut adalah contoh dari flowchart di atas
Langganan:
Postingan (Atom)