Nama/NIM     : Syahril Ramadhani/ 16214050
Fakultas         : Teknik Elektronika
Grup              : 1P2 
Tugas             : Algoritma dan Pemograman

ARRAY (LARIK)

1.      Pengertian
Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama, setiap elemen diakses langsung melalui indeksnya. Indeks array haruslah tipe data yang menyatakan keterurutan, misalnya integer atau karakter.
Sebuah array yang bernama A dengan delapan buah elemen dapat dibayangkan secara logik sebagai sekumpulan kotak yang terurut (baik tersusun secara vertikal maupun horizontal) seperti yang diperlihatkan pada gambar berikut:
      A
1

2

3

4

5

6

7

8

Tiap kotak pada array tersebut diberi indeks 1, 2, 3, ..., 8. Setiap elemen array ditulis dengan notasi:
A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]
Angka di dalam tanda kurung siku menyatakan indeks array (notasi di atas sama saja dengan penulisan ber-subscript A1, A2, A3, ..., A8 ).
Setiap elemen array menyimpan sebuah nilai. Karena seluruh elemen array bertipe sama, maka nilai yang disimpan oleh setiap elemen juga harus bertipe sama. Gambar berikut ini akan menunjukkan array yang bernama A yang setiap elemennya berisi tinggi badan (dalam centimeter) 8 orang siswa:
      A
1
158
2
157
3
162
4
169
5
172
6
155
7
170
8
163
Tinggi siswa pertama, 158, disimpan di dalam A[1], tinggi siswa kedua, 157, disimpan di dalam A[2], demkian seterusnya.

2.      Mendeklarasikan array
Array adalah struktur yang statis, artinya jumlah elemen array juga harus sudah diketahui sebelum program dieksekusi. Jumlah elemen larik tidak dapat diubah, ditambah, atau dikurangi selama pelaksanaan program. Mendeklarasikan larik di dalam bagian deklarasi berarti:
-          Mendefinisikan banyaknya elemen larik (ukuran larik)
-          Mendefinisikan tipe elemen larik
Mendefinisikan banyaknya elemen larik (atau ukuran larik) berarti memesan sejumlah tempat di memori. Komputer mengalokasikan sejumlah lokasi memori sebanyak elemen larik yang bersangkutan. Mendefinisikan tipe elemen larik berarti menetapkan tipe nilai yang dapat disimpan oleh larik. Tipe elemen larik dapat berupa tipe sederhana (integer, real, char, boolean, string), tipe bentukan (tipe terstruktur sebagai record), atau bahkan bertipe larik yang lain.
Berikut contoh-contoh mendeklarasikan larik di dalam bagian deklarasi:
a.       Sebagai peubah
Misalkan:
-          A adalah larik yang berukuran 50 buah elemen yang bertipe integer. Indeks larik dimulai dari 1.
-          NamaMhs adalah larik yang berukuran 10 buah elemen yang bertipe string. Indeks larik dimulai dari 1.
-          NilUjian adalah peubah larik yang berukuran 75 buah elemen yang bertipe real. Indeks larik dimulai dari 0.
DEKLARASI
A                      : array(1..50) of integer
NamaMhs       : array(1..10) of string
NilUjian          : array(0..74) of real


b.       Sebagai tipe bentukan
Misalkan LarikInt didefinisikan sebagai nama sebuah tipe baru untuk larik yang bertipe integer. Ukuran larik adalah 100 buah elemen. Kita bisa mendeklarasikan sebuah peubah yang bertipe LarikInt, misalnya peubah A.
DEKLARASI
type LarikInt : array(1..100) of integer
A : LarikInt {A adalah sebuah peubah larik integer dengan 100 elemen)



c.       Mendefinisikan ukuran larik sebagai sebuah konstanta
Misalkan LarikInt dideklarasikan sebagai nama sebuah tipe bentukan untuk larik yang bertipe integer. Ukuran maksimum larik adalah 100 buah elemen. Ukuran maksimum larik dinyatakan sebagai konstanta. Kemudian, kita bisa mendeklarasikan sebuah peubah yang bertipe LarikInt, misalnya peubah A.
DEKLARASI
conat Nmaks = 100 {ukuran maksimum elemen}
type LarikInt : array(1..Nmaks) of integer
A : LarikInt {A adalah sebuah peubah larik integer dengan 100 elemen)

Perhatikan bahwa pendeklarasian larik pada Algoritma di atas, sama dengan pendeklarasian larik pada Algoritma pada bagian “b”. Penggunaan konstanta memungkinkan kita mengubah ukuran larik cukup pada konstanta itu saja.
Tetapi, pendeklarasian larik A seperti di bawah ini tidak boleh karena nilai N tidak diketahui di awal program (ingat bahwa larik adalah struktur statis).

3.      Cara Mengacu Elemen Larik
Elemen larik diacu melalui indeksnya. Nilai indeks harus terdefinisi. Dengan mengacu pada larik yang sudah dideklarasikan sebelum ini, berikut diberikan beberapa contoh cara mengacu elemen larik adalah:
A[4]                      {mengacu elemen keempat dari larik A}
NamaMhs[2]       {mengacu elemen kedua dari larik NamaMhs}
A[i]                       {mengacu elemen ke-i dari larik A, asalkan nilai i sudah
                             terdefinisi}
NamaMhs[i+1]    {asalkan nilai i sudah terdefinisi}

Contoh-contoh memanipulasi atau menggunakan elemen larik:
A[4] ß 10                       {mengisi elemen keempat dari larik A dengan nilai 10}
NamaMhs[i] ß ‘Ahmad’            {mengisi elemen ke-i dari larik NamaMhs, dengan string ‘Ahmad’}
read(A[i])             {membaca elemen ke-i dari larik}
if A[i] < 10 then
     A[i] ß A[i] + 10
else
     ... {pernyataan lainnya}

4.      Pemrosesan Larik
Elemen larik tersusun di memori secara beruntun (sekuensial). Karena itu, elemennya diproses secara beruntun melalui indeksnya yang terurut. Memproses larik artinya mengunjungi (traversal) setiap elemen larik dan memanipulasi dinilai di dalamnya. Kunjungan dimulai dari elemen pertama larik, berturut-turut pada elemen berikutnya, sampai elemen terakhir dicapai, yaitu elemen dengan indeks terbesar.
Skema umum algoritma memproses larik terlihat pada algoritma berikut:
PROGRAM PemrosesanLarik
{Skema pemrosesan larik secara beruntun}

DEKLARASI
conat Nmaks = 100 {ukuran maksimum elemen}
type LarikInt : array(1..Nmaks) of integer

A : LarikInt
i : integer (indeks larik}

ALGORITMA
     inisialisasi
     i ß 1        {mulai dari elemen pertama}
     while i < Nmaks do

     pemrosesan terhadap A[i]
     i ß i + 1   {tinjau elemen berikutnya}
endwhile
{i > Nmaks}
Terminasi

Pemrosesan terhadap A[i] adalah aksi spesifik bergantung pada persoalan yang akan dipecahkan, misalnya pengisian nilai, pembacaan, penulisan, komputasi, atau manipulasi lainnya.

Contoh 1:
Buatlah algoritma dan program dalam bahasa C untuk membaca data secara berulang dari keyboard dan meletakkannya ke dalam suatu larik dan menghitung jumlahnya.

Analisis Kebutuhan:
·         variabel:
-          untuk menyimpan nilai yang akan disimpan di arrayànilaiàint
-          untuk menyimpan nilai iàiàint
-          untuk menyimpan nilai jumlah siswaànàint
-          untuk menyimpan nilai jumlah nilai siswaàjumlahàint
·         proses:
-          aritmatik (formula):
+ menghitung jumlah nilai:
   jumlahßnilai1 + nilai2 + .. + nilain
-          logika(keputusan)
+ menentukan proses aritmatika akan dijalankan jika: i = 0 dan i < n

FLOWCHART
LANGKAH PENGERJAAN

1. Jalankan Aplikasi Bahasa Pemograman Dev C++
2. Klik File - New - Source File, maka akan tampil form baru
3. Simpan file dengan Menu: File-Save atau tekan tombol Ctrl-S (atau pilih Menu: File-Save As...untuk Mengganti nama File).
4. dan Masukan pengarah atau tanda dari Bentuk Umum Bahasa Pemograman Dev C++
Seperti Percobaan saya di Bawah ini…!!!
5. Untuk Melihat Hasilnya Cukup klik COMPILE atau COMPILE & RUN
Note #Jangan_sampai_ada_kesalahan…!!! Oke
PROGRAM C untuk menentukan jumlah nilai siswa

-RUNNING PROGRAM

PROGRAM C untuk membaca array, mencetak array dan menghitung nilai rata ratanya

-RUNNING PROGRAM

PROGRAM C untuk membaca array, mencetak array dan menghitung, nilai rata ratanya menggunakan struct

-RUNNING PROGRAM

KESIMPULAN
programmer tidak dapat bertindak sembarangan dalam mendesain algoritma dan manajemen datanya. Proses membuat program bukanlah proses yang sederhana, terutama untuk program yang komplek