Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I.

Presentasi serupa


Presentasi berjudul: "Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I."— Transcript presentasi:

1 Larik/Array ALGORITMA DAN PEMROGRAMAN [IS611010 2] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I

2 Sub-CapaianPembelajaranMK “Mahasiswa mampu menerapkan konsep larik dalam program.”

3 PetaPetaCapaianPembelajaranMK !!! We Are Here Mid Test

4 Agenda Pendahuluan Mendeklarasikan Larik Cara Mengacu Elemen Larik Pemrosesan Larik Inisialisasi Larik Contoh Persoalan Larik

5 Pendahuluan Larik adalah struktur data di memori yangterdiri dari sekumpulan elemen bertipe sama, setiap elemen di dalam larik langsung melalui indeksnya. Misalnya sebuah larik yang bernama A dengan enam diacu secara buah elemen dapat dibayangkan sebagai sekumpulan kotak tersusun secara vertikal atau horizontal) A[1], A[2], A[3], A[4], A[5], A[6] yangyangterurut(baik(baik 1212 3434 5656

6 Pendahuluan Setiap elemen larik menyimpan sebuah nilai. Karena seluruh elemen larik betipe sama, maka nilai harus bertipe sama. yangyangdisimpanoleholehsetiapelemenjuga 1212 3434 5656 158 157 162 169 170

7 Mendeklarasikan Larik Larik adalah struktur data yang static, artinya jumlah elemen larik harus sudah terdefinisi di dalam program. Jumlah elemen larik tidak dapatdapatdiubah,ditambah,ataudikurangiselama pelaksanaan program. DEKLARASI NamaLarik: array[idx_awal…idx_akhir] of tipe

8 Mendeklarasikan Larik (2) A.Sebagai Peubah DEKLARASI N NamaMhs NilUjian P :::::::: array[1..100] of integer array[1..12] of string array[0..74] of real array[1..100] of Titik B.Sebagai Tipe Bentukan DEKLARASI type LarikInt N Sebagai Konstanta : array[1..100] of integer : LarikInt C. const Nmaks = type LarikInt N 100 : array [1..Nmaks] of integer : LarikInt

9 Cara Mengacu Elemen Larik A[4] NamaMhs[2] A[i] {mengacu elemen keempat dari larik A} {mengacu elemen kedua dari larik NamaMhs} {mengacu elemen ke-i dari larik A, asalkan i sudah terisi nilainya} {mengacu elemen ke-i+1 dari larik A, asalkan i sudah terisi nilainya} {mengacu absis-x pada titik P ke-k} NamaMhs[i+1] P[k].x Contoh-contoh memanipulasi atau menggunakan elemen larik: A[4]  10 {mengisi elemen keempat dari larik A dengan nilai 10} NamaMhs[i]  ‘Achmad’ {mengisi elemen ke-i dari larik NamaMhs dengan string ‘Achmad’ Read(A[i]){membaca elemen ke-i dari larik A}

10 Kapan Menggunakan Larik? Larik digunakan bila kita mempunyai sejumlah data yang sejenis dan bertipe sama dan kita perlu menyimpan sementara data tersebut untuk selanjutnya data tersebut kita proses. Dengan menggunakanlarikkitadapatdapatmenghindaripenggunaan nama-nama peubah yang banyak.

11 Contoh Perhitungan Rata-Rata Konvensional {Programyang membaca6buahdata,mencetaknya,danmenghitungrata u:real Sumber: Algoritma&Pemrograman, Rinaldi Munir&Leony Widya OGRAM HitungRerata_ TanpaLarik ratanya. Tanpa menggunakan larik} DEIClARASI D,r.2, X3, X4, XS, x6 : integer

12 i Wl ContohPerhitungan Rata-RataMenggunakanLarik ratanya. Tanpa menggunalcan larik } i: integer for i..- 1 to6do. 'll. te. 1:xCiD.-1to6do for u Sumber: Algoritma&Pemrograman, Rinaldi Munir&Leony Widya PROGRAM HitungRerata denganlarilc ( Program yang membaca 6 buah data, mencetaknya, dan menghitung DEKI..ARASI x: array(1.. 6] of integer jumlah, u: real ALGORITMA: { Baca 6 buah nilai integer, simpan di xlil, i = 1, 2,,6 } rad(x(i]) end for ( Cdak setiap nilai x[i}, i = 1, a,..., 6} { ldtung nilai rata-rata} jumlah..-o 1..-1to6do jumlah... jumlah + %(11 u }umlah/6

13 Ukuran Efektif Larik Meskipun kita mendefinisikan jumlah elemen larik di dalam bagian deklarasi,seringkali kitatidaktidakmenggunakansemuanyadidalamdalam program. Bila larik A didefinisikan 100 elemen, mungkin tidak seratus elemen tersebut yang dipakai. Mungkin saja hanya 15, 40, atau 70 elemen. Banyaknya larik yang dipakai disebut sebagai ukuran efektif larik.

14 Pemrosesan larik Elemen larik tersusun secara beruntun, sehingga elemen-elemen larik diproses secara beruntun melalui indeksnya yang terurut Misalkan larik A berukuran N elemen (N sudah terdefinisi nilainya), maka skema umum algoritma dalam memproses larik A adalah: i  1 While i≤N do pemrosesan i  i+1 end while {i > Nmaks} terhadapA[i] Atau for i  1 to N do pemrosesan terhadap end for A[i]

15 Menginisialisasi Larik a. Menginisialisasi elemen-elemen ALGORITMA read(N) larik dengan nilai 0 i1i1 fortoN0N0 do A[i]  for end 1212 3434 5656 0 0 0 0 0 0

16 Menginisialisasi Larik b. Menginisialisasi setiap elemen larik ke-i dengan nilai i ALGORITMA read(N) i  1 A[i] for to  N do i end 1212 3434 5656 1 2 3 4 5 6

17 Menginisialisasi Larik c. Menginisialisasi setiap elemen larik dengan pembacaan ALGORITMA read(N) i1i1 fortoNdo read(A[i]) for end 1212 Misalkan dibaca: 6,6,8,3,2,1 3434 5656 6 6 8 3 2 1

18 Mencetak Elemen-Elemen Larik Untuk dalam mencetak elemen-elemen larik, maka kita menuliskan nilai-nilai di setiap elemen larik ke piranti keluaran, misalnya ke layar komputer. DalamDalamhal ini, elemen larik dicetak satu per satumulai untuk elemen pertama sampai elemen ke-N PROGRAM CetakLarik {Program untuk mencetak DEKLARASI i: integer A: array [1..N] of ALGORITMA read(N) fori  1 to N do write(A[i]) end for larik} integer

19 8 Mencari Nilai Maksimum Larik Nilai maksimum pada larik integer/real adalah elemen mempunyai nilai terbesar di antara elemen larik lainnya. larikyang 1212 3434 Nilai Maksimum 5656 Untukmenentukannilaimaksimumkitadapat melakukan pendekatan dengan cara menentukan nilai maksimum sementara terlebih dahulu. 6 6 8 3 2 1

20 MencariNilai Maksimum Larik Asumsi maks = A[1] A[2] > maks? Tidak A[3] > maks? Ya A[4] > maks? Tidak A[5] > maks? Tidak A[6] > maks? Tidak Proses perbandingan (Nilai maksimum sementara=6) maks tidak berubah maks  A[3] = 8 maks tidak berubah maks tidak berubah maks tidak berubah selesai. 1212 Nilai Maksimum sementara 3434 5656 Kesimpulan: maks = 8 (nilai maksimum larik) Bagaimana Pseudocode nya?? 6 6 8 3 2 1

21 Pseudocode Mencari Nilai Maksimum Larik PROGRAM CariMaksimumLarik {Program untuk mencari elemen A[i..N] terbesardidalamlarik DEKLARASI A: array [1..N] of integer i: integer ALGORITMA maks  A[1] read(N) for i  2 to N do if A[i] > maks then maks  i end if end for

22 Menyalin Larik Diberikansebuahsebuahlarik integerAyangsudahterdefinisielemen- elemennya. Ukuran larik adalah N elemen. Kita ingin menyalin(copy)(copy) elemen-elemenlarik A kedalam larik yang lain misalnya B. A B 1212 3434 5656 BagaimanaBagaimanaPseudocodenya?? 6 6 8 3 2 1 6 6 8 3 2 1

23 Pseudocode MenyalinLarik PROGRAM {Program ke B} SalinLarik untukmenyalinelemendididalamlarikA DEKLARASI A,B:array[1..n] ofinteger i:integer ALGORITMA read(n) i  for1tondo B[i]  for A[i] end

24 Larik Bertipe Terstruktur Contoh-contoh algoritma yang dibahas sebelum ini menggunakan larik dengan elemen yang bertipe sederhana. Elemen larik juga dapat bertipe terstruktur. SebagaiSebagaicontoh,contoh,misalkan setiap kitaakan mengolahdatadata100orang nama seperti mahasiswa. mahasiswa, berikut ini: DatamahasiswaterdiriterdiridaridariNIM, dandanIPK.IPK.StrukturlojikdaridarilarikMhsditunjukkan 1 2 3. 100 NIM NamaMhs IPK 129801 Panji Bonar 3.04 129804 Ki Jambrong 2.80 … … … 129880 Roy Suryo 2.00 Bagaimana Deklarasi-nya??

25 Deklarasi Larik Bertipe Terstruktur DEKLARASI const Nmaks = 100 typeMahasiswa: record <NIM: string, NamaMhs: string, IPK: real> TabelMhs: array[1..Nmaks] of Mahasiswa TabelMhs type Mhs: Cara mengacu elemen Mhs: Mhs[2] Mhs[2].NIM Mhs[2].IPK {elemen kedua dari larik Mhs} {mengacu field NIM dari elemen kedua larik} {mengacu field IPK dari elemen kedua larik} Untuk mencetak kita tidak dapat melakukan elemen larik seperti di bawah ini: write(Mhs[i]) Namun harus seperti berikut ini: write(Mhs[i].NIM,Mhs[i].IPK,Mhs[i].NamaMhs)

26 Latihan Soal Diberikan nilai ujian n orang mahasiswa telah disimpan di dalam larik NilUjian.KitaKitaakanmenghitungnilai indeks (A/B/C/D/E)daridari mahasiswa tersebut dan menyimpan nilai indeks tersebut larik Indeks. Indeks nilai ujian ditentukan sebagai berikut: didalamdalam  Indeks Nilai = A  Indeks nilai = B  Indeks nilai = C  Indeks nilai = D  Indeks nilai = E NilUjian[i] ≥ 80 70 ≤ NilUjian[i] 55 ≤ NilUjian[i] 45 ≤ NilUjian[i] NilUjian[i] < 45 < 80 < 70 < 55

27 Pembahasan PROGRAM HitungNilaiMHS {Program Untuk menghitung nilaiMHS} DEKLARASI i,N: integer NilUjian: array [1..N] of real Indeks: array [1..N] of char ALGORITMA read (N) for i  1 to N do if NilUjian[i] ≥ 80 then Indeks[i]  ’A’ else if (NilUjian[i]≥70) and (NilUjian[i]<80) Indeks[i]  ’B’ dst….. then

28 ..A y ) U I ~ "·. z.z. c- :?:i z Lii L :z ii " e n 11NGIC1 men ~z~I~z~I C ow.ni YAQHANYE --A~"""-:.- TASHAKKUR AT GRACIASti K...... a = i5 -,. = SH = U · KURIA -=' ; ARIGAT01·1w :- 1 1 1 S., GOZAIMASII TA EFCHARISTO -..,..... - ~ "~ BOLZiNMER ci


Download ppt "Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I."

Presentasi serupa


Iklan oleh Google