Laporan Pratikum 7 algoritma pemograman


LAPORAN PRAKTEK 7 ( PERTEMUAN KE-8)
TUGAS 7
ALGORITMA PEMOGRAMAN

Disusun Oleh : Syafri Wardian
18214046

Mata Kuliah Praktek :
ARRAY (LARIK)
Dosen Pembimbing :
Sri Nofri Wihandri ,S.Pd,M.Pd.T

Program Studi :
Teknik Elektronika

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiX6WaBbYGYxqKY-O0_8EkUS9f07yGyZItI9ZXsX3_zUlzg2xe1dg8XK0OZEOKuPb83Dg1sQdoWM-59F6nz_BO70A_fKuwsJgXjrKm9DUieuLWjKAGdsial1iLtOEpu-aCILAMbPEyVvo/s1600/aknp.png

Akademi Komunitas Negeri Padang Pariaman
PDDF Universitas Negeri Padang
Tahun 2018



ARRAY (LARIK)
BAB 1
1. PENDAHULUAN
Bab ini memiliki kompetensi dasar untuk mendefinisikan dan menggunakan tipe data array. Tipe data array adalah salah satu tipe terstruktur dalam pemrograman. Tipe data array ini dapat dipakai untuk salah stu contohnya adalah perhitungan matriks dalam matematika (bahasan matriks akan diperdalam pada kuliah algoritma pemrograman 2).
*      Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah nilai dengan tipe
*      data tertentu.
*      Misalnya : int a1, a2, a3, a4, a5;
*      Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer dimana masingmasing
*      variabel diberi nama a1, a2, a3, a4, dan a5.
*      Jika kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin kita
*      proses tidak kita ketahui atau bersifat dinamis? Kita tidak mungkin menggunakan
*      variabel seperti diatas.
*      Di dalam C dan pemrograman yang lain, terdapat suatu fasilitas untuk menyimpan
o   data-data yang bertipe data sama dengan suatu nama tertentu.
BAB 2
   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: 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpQXWywTr4BSImVGAcHTkIzedI-Nfu2LL2JB3lCEgrof4OYFGNQ31Jc43hs4LCMNOF9RopfJYwEWhpyCmhCT56hJDrcaZMLAu8b4ELuB-LRyusTui44oKSKp6M5QWgggJok-V6J_oO4TY/s1600/a.PNG 
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:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOY29turIaJMsMDPCGlWgjeZLLOrxEgvuY-A0jVTCnSi0Jp14ceVNV7YlwZMWmZYXhohg86RwrKqGbiBn4LwFKro7f2ObrSd6YA8qVwMycuwa7OAK66QdGD1IR9Kyu0llQyyaDH0TM2Fo/s1600/v.PNG

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 comtoh 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.
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik disebut dengan elemen-elemen larik.
Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.

Menurut dimensinya, array dapat dibedakan menjadi :

1. Array satu dimensi
Setiap elemen array dapat diakses melalui index
Index array secara default dimulai dari 0
Deklarasi array :
Tipe_array nama_array[ukuran]
2. Array dua dimensi
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
Tipe_array nama_array [baris][kolom]

3.Array multidimensi

Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
Perbedaan array dengan tipe data lain :
Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja.
Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja.
Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.
Array juga dapat digunakan sebagai parameter. Jenisnya :
a. Array dimensi satu sebagai parameter :
-Pengiriman parameter berupa array dimensi satu merupakan pengiriman secara acuan/referensi, karena yang dikirimkan adalah alamat dari elemen pertama arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya.
b.Array dua dimensi sebagai parameter :
-Pengiriman parameter berupa array dua dimensi hampir sama dengan pengiriman parameter array satu dimensi, hanya saja perbedaannya adalah dalam array dua dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut, mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman parameter array dua dimensi dan pada saat pengiriman parameter formal array dua dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variabel array di memori.

Latihan
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:
o   untuk menyimpan nilai yang akan disimpan di arrayànilaiàint
o   untuk menyimpan nilai iàiàint
o   untuk menyimpan nilai jumlah siswaànàint
o   untuk menyimpan nilai jumlah nilai siswaàjumlahàint
Ø  proses:
ü  aritmatik (formula):
v  + menghitung jumlah nilai:
o   jumlahßnilai1 + nilai2 + .. + nilain
ü  logika(keputusan)
v  + menentukan proses aritmatika akan dijalankan jika: i = 0 dan i < n
o   Flowchart 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyFq5qAzxNbxLCajdAMLy8dGwokVKRC65-R-jTvxn3KKAhphW4ACt1n4YzZTV2tsTYC0bYPr_ePQv04PjHOpWraarTe7r6DPYgRZBwRQbfI8pL0dPBOhM3lmoWb7FByBfCCWrrErXZV6s/s1600/flow.jpg

Berikut programnya menggunakan DevC++
v  Berikut ini adalah C program utuk menentukan jumlah nilai siswa melalui program Array
-          Jalankan aplikasi DevC++
-          Klik File>New>Source File atau tekan Ctrl+N
-          Lalu ketikkan source code seperti gambar dibawah ini ;

 -          Setelah selesai simpan source codenya dengan menambahkan “.c” tanpa tanda kutip dikahir nama source filenya, lalu klik tombol Compile & Run pada aplikasi DevC++ atau tekan F11 untuk menjalankan program ,

 
 jalankan semua perintah yang muncul pada program . Maka , akan muncul tampilan seperti gambar dibawah ini ;


Berikut Beberapa Program Lain Yang Menggunakan Array

v  Program pembaca dan menghitung rata-rata nilai siswa menggunakan aplikasi DevC++
-          Jalankan aplikasi DevC++
-          Klik File>New>Source File atau tekan Ctrl+N
-          Lalu ketikkan source code seperti gambar dibawah ini ;

 
-          Setelah selesai simpan source codenya dengan menambahkan “.c” tanpa tanda kutip dikahir nama source filenya, lalu klik tombol Compile & Run pada aplikasi DevC++ atau tekan F11 untuk menjalankan program ,

 jalankan semua perintah yang muncul pada program . Maka , akan muncul tampilan seperti gambar dibawah ini ;



v  Program pembaca dan penghitung nilai rata-rata siswa menggunakan struct array pada aplikasi DevC++

Struct adalah tipe data bentukan
-          Jalankan aplikasi DevC++
-          Klik File>New>Source File atau tekan Ctrl+N
-          Lalu ketikkan source code seperti gambar dibawah ini ;




 
-          Setelah selesai simpan source codenya dengan menambahkan “.c” tanpa tanda kutip dikahir nama source filenya, lalu klik tombol Compile & Run pada aplikasi DevC++ atau tekan F11 untuk menjalankan program ,

 
jalankan semua perintah yang muncul pada program . Maka , akan muncul tampilan seperti gambar dibawah ini ;

 NB : “ Apabila terjadi error pada saat menekan Compile & Run/F11 yang mengakibatkan program tidak berjalan , ataupun program tidak sesuai dengan perintah yang diinginkan , dan terjadi auto close program . Harap periksa kembali pengetikkan source code anda . Karena program akan terus gagal jika ada satu format yang terlupakan atau salah dalam pengetikkannya. Jika, masi mengalami error atau program tidak berjalan coba simpan source file tanpa menambahkan '.c' pada akhir nama source filenya “.

Komentar

Meta Data

Laporan pratikum 2 algoritma pemograman

Jobsheet 1 PBO SMT2

Laporan Pratikum 3 algoritma pemograman

Laporan Pratikum 4 algoritma pemograman

Laporan Pratikum 5 algoritma pemograman

Jobsheet 3 PBO SMT2