SlideShare a Scribd company logo
1 of 12
Download to read offline
Pangalengge Educations
                                                           ---------------------------------------

                                                     IV. Pengenalan Array (Larik)



Yang dimaksud dengan array (larik), adalah sejumlah data yang bertipe sama dalam
satu kelompok dengan posisi yang berurutan.
Misalkan: string Rina adalah sekelompok data S dengan jenis karakter yang diposisikan
secara berurutan dengan masing-masing elemen:
S[0] = R
S[1] = i
S[2] = n
S[3] = a

Bila mengulas perihal array, Bahasa Pemrograman C++ sangat cocok digunakan dalam
menjelaskan dan mengimplementasikan berbagai teori serta filosofi ini.
Meskipun demikian bukan berarti Bahasa Pemrograman BASIC dan JavaScript tidak
bisa digunakan dalam mengulas tentang array, hanya tidak lebih luwes bila
dibandingkan dengan Bahasa Pemrograman C++.

Contoh. Kasus 3.1 berikut ini:
Sebuah string dengan nilai: pengerjaan akan dilakukan proses perubahan sebagai
berikut:
S[10] = {p,e,n,g,e,r,j,a,a,n}
S[0]=p
S[1]=e
S[2]=n
S[3]=g
S[4]=e
S[5]=r
S[6]=j
S[7]=a
S[8]=a
S[9]=n
Algoritma perubahan:
    S[9] ← S[0]            S[0] ← S[9]
                      ;
    S[8] ← S[1]            S[1] ← S[8]
                      ;
    S[7] ← S[2]            S[2] ← S[7]
                      ;
    S[6] ← S[3]            S[3] ← S[6]
                      ;
    S[5] ← S[4]            S[4] ← S[5]
                      ;
Sehingga didapatkan nanti hasilnya:
S[10] = { n, a, a, j, r, e, g, n, e, p }


kas31.cpp
#include <iostream.h>

void main()
{
  int i;

                                                                                                     IV-1
Pangalengge Educations
                                                                ---------------------------------------

    char smn,s[10]={'p','e','n','g','e','r','j','a','a','n'};

    for(i=0;i<5;i++) {
       smn=s[i];
       s[i]=s[9-i];
       s[9-i]=smn;
    }
    cout << quot;Hasil perubahan: quot;;
    for(i=0;i<10;i++) {
      cout << s[i];
    }
}

kas31.bas


kas31.html
<script language=JavaScript>
 var s=new Array('p','e','n','g','e','r','j','a','a','n');

 for(i=0;i<5;i++) {
   smn=s[i];
   s[i]=s[9-i];
   s[9-i]=smn;
 }
 document.writeln(quot;Hasil perubahan: quot;);
 for(i=0;i<10;i++) {
   document.writeln(s[i]);
 }
</script>


Mengadopsi kasus 3.1, namun string yang akan dimanipulasi berasal dari input
user, dengan batasan panjang string 10 karakter.

kas32.cpp
#include <iostream.h>

void main()
{
  int i;
  char smn,s[10];

    cout << quot;Masukkan string (maks.10 char): quot;;
    cin >> s;

    for(i=0;i<5;i++) {
       smn=s[i];
       s[i]=s[9-i];
       s[9-i]=smn;
    }
    cout << quot;Hasil perubahan: quot;;
    for(i=0;i<10;i++) {
      cout << s[i];
    }

                                                                                                          IV-2
Pangalengge Educations
                                                               ---------------------------------------

}

Berikut untuk mengantisipasi bila user memasukkan string melebihi 10 karakter atau
sama sekali kosong.
kas32a.cpp
#include <iostream.h>
#include <string.h>

void main()
{
  int i,pjg;
  char smn,s[10];

    cout << quot;Masukkan string (maks.10 char): quot;;
    cin >> s;

    pjg=strlen(s);
    if(s==quot;quot;||pjg>10) {
      cout << quot;Maaf, melebihi 10 karakterquot;;
    } else {

    for(i=0;i<5;i++) {
       smn=s[i];
       s[i]=s[9-i];
       s[9-i]=smn;
    }
    cout << quot;Hasil perubahan: quot;;
    for(i=0;i<10;i++) {
      cout << s[i];
    }
    }
}
Semakin jelas ditunjukkan bahwa sebuah string adalah padanan dari kata, bukan
sebuah kalimat.

Berikut dalam JavaScript sebuah prosedur yang digunakan untuk menangkap
sejumlah karakter yang di-input-kan oleh user. Namun ada sebuah prosedur tambahan
yang disisipkan untuk membatasi bahwa user hanya bisa mengetikkan dengan
maksimal 10 karakter saja. Jelas nanti akan terlihat perbedaan penulisan array untuk
‘[‘ , ‘]’ dan ‘(‘, ‘)’.
kas32cc.html
<script language=JavaScript>
 sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;);

    pjg=sa.length;

    if(pjg<=0||pjg>10) {
       document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;);
    } else {

        document.writeln(quot;Hasil perubahan: quot;);
        for(i=0;i<sa.length;i++) {
          document.writeln(sa.charAt(i));
        }
    }
                                                                                                         IV-3
Pangalengge Educations
                                                            ---------------------------------------

</script>

kas32.html
<script language=JavaScript>
 sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;);

 pjg=sa.length;

 if(pjg<=0||pjg>10) {
    document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;);
 } else {

 document.writeln(quot;Hasil perubahan: quot;);
 for(i=0;i<sa.length;i++) {
   document.writeln(sa.charAt(i));
 }
 }
</script>



kas33.html
<script language=JavaScript>
 sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;);

 pjg=sa.length;

 if(pjg<=0||pjg>10) {
    document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;);
 } else {

 document.writeln(quot;Hasil perubahan: quot;);
 for(i=0;i<sa.length;i++) {
   document.writeln(sa.charAt(i));
 }
 }
</script>




Berikut adalah Algoritma Marbulang+7 untuk melakukan proses enkripsi dari
sebuah plaintext dengan panjang maksimal 10 karakter yang di-input-kan oleh user:
   [char]-1, [char]-2, [char]-3,…, [char]-26
   [char]-1 = A atau a,
   [char]-2 = B atau b, … , [char]-26 = Z atau z
   string[i]…?…[char]-1 s.d [char]-26
   string[i]←([char]-j) + 7
           jika string[i] melebihi [char]-26 maka
           lakukan reset ke [char]-1
   i = 0,1,2…9
   j = 1,2,3,…,26
                                                                                                      IV-4
Pangalengge Educations
                                                                 ---------------------------------------

kas34.html
<script language=JavaScript>
  var coding =
'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMabcdefghijklmnopqrstuvwxyzab
cdefghijklm';
  var sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;);
  pjg=sa.length;

 if(pjg<=0||pjg>10) {
    document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;);
 } else {

  for (var text = '',i=0;i<pjg;i++) {
     character = sa.charAt(i);
     position = coding.indexOf(character);
     if (position > -1)
     character = coding.charAt(position + 7);
     text += character;
   }
   document.writeln(quot;Hasil enkripsi menggunakan Algoritma Marbulang+7: <b>quot; +
text+quot;</b>quot;);
 }
</script>
Kasus berikut menyajikan daftar karakter alphabetikal untuk huruf kecil dan besar.

kas35.cpp
#include <iostream.h>

void main()
{
  cout << quot;Tabel Alphabetikal A s.d Znquot;;
  cout << quot;==========================nquot;;
  cout << quot;No. Abjad Huruf Besar Abjad Huruf Kecilnquot;;
  for(int i=0;i<26;i++) {
    cout.width(2);
    cout << i+1 << quot; quot; << char(i+65) << quot;    quot; << char(i+97) << endl;
  }
}

kas35.bas
CLS
PRINT quot;Tabel Alphabetikal A s.d Zquot;
FOR i = 1 TO 26
 PRINT i; quot; quot;; CHR$(i + 64); quot; quot;; CHR$(i + 96)
NEXT i

Untuk lebih interaktif, dapat ditulis kembali sebagai berikut:
kas35a.bas
CLS
PRINT quot;Tabel Alphabetikal A s.d Zquot;
INPUT quot;Masukkan batas atas: quot;; a
INPUT quot;Masukkan batas bawah: quot;; b
FOR i = a TO b
 PRINT i; quot; quot;; CHR$(i + 64); quot; quot;; CHR$(i + 96)
NEXT i
                                                                                                           IV-5
Pangalengge Educations
                                                        ---------------------------------------


kas35.html
<script language=JavaScript>
  alert(quot;Alphabetikal A s.d Zquot;);
  document.writeln(quot;<table border=1><tr><td>No.</td><td>Abjad Huruf
Besar</td><td>Abjad Huruf Kecil</td></tr>quot;);
     for(i=0;i<26;i++) {
       document.writeln(quot;<tr><td align=right>quot;+[i+1]+quot;</td><td
align=center>quot;+String.fromCharCode(i+65)+quot;</td><td
align=center>quot;+String.fromCharCode(i+97)+quot;</td></tr>quot;);
     }
  document.writeln(quot;</table>quot;);
</script>




Kasus 3.6, menyajikan sebuah string dengan panjang 8 karakter dimanipulasi dengan
batasan, setiap karakter akan dipindahkan 2 posisi ke depan dari tempat semula.
Misalkan: string: selamat1, jika dimanipulasi dengan batasan tersebut akan
mendapatkan string baru: t1selama.
String asli disebut: plaintext, dan string hasil perubahan disebut: ciphertext,
sedangkan batasan yang ditetapkan untuk melakukan perubahan disebut: key.

kas36.cpp
#include <iostream.h>

void main()
{
  int i;
  char smk,smn,kara[8];

    cout << quot;Masukkan kata maks.8 karakter: quot;;
    cin >> kara;
    cout << quot;Plaintext: quot; << kara << endl;
    cout << quot;Ciphertext: quot;;
    smn=kara[2];
    kara[2]=kara[0];
    kara[0]=kara[6];
    smk=kara[4];
    kara[4]=smn;
    kara[6]=smk;
    smn=kara[1];
    kara[1]=kara[7];
    smk=kara[3];
    kara[3]=smn;
    smn=kara[5];
    kara[5]=smk;
    kara[7]=smn;
    for(i=0;i<8;i++) {
      cout << kara[i];
    }
}



                                                                                                  IV-6
Pangalengge Educations
                                                               ---------------------------------------


Kasus 3.7 berikut bertujuan mendapatkan selisih waktu dari input awal dan akhir dari
user. Namun hal yang harus dibatasi adalah kemungkinan menit akhir bernilai lebih
kecil dibandingkan dengan menit awal.
kas37.cpp
#include <iostream.h>

void main()
{
  int jam2,jam1,menit2,menit1,resultJ,resultM;

    cout << quot;Jam mulai: quot;;
    cin >> jam1;
    cout << quot;Menit mulai: quot;;
    cin >> menit1;
    cout << quot;Jam selesai quot;;
    cin >> jam2;
    cout << quot;Menit selesai: quot;;
    cin >> menit2;

     if(menit2<menit1) {
       resultJ=jam2-jam1;
       resultM=menit2-menit1+60;
     } else {
         resultJ=jam2-jam1;
         resultM=menit2-menit1;
       }

    cout << quot;Lamanya waktu = quot; << resultJ << quot;.quot; << resultM << quot; jamquot;;
}

Array bisa diterapkan pada kasus 3.7 sebelumnya, misalkan kas37.cpp dapat
dilakukan perubahan sebagai berikut:
kas37a.cpp
#include <iostream.h>

void main()
{
  int jam[2],menit[2],resultJ,resultM;

    cout << quot;Jam mulai: quot;;
    cin >> jam[0];
    cout << quot;Menit mulai: quot;;
    cin >> menit[0];
    cout << quot;Jam selesai quot;;
    cin >> jam[1];
    cout << quot;Menit selesai: quot;;
    cin >> menit[1];

     if(menit[1]<menit[0]) {
       resultJ=jam[1]-jam[0];
       resultM=menit[1]-menit[0]+60;
     } else {
        resultJ=jam[1]-jam[0];
        resultM=menit[1]-menit[0];

                                                                                                         IV-7
Pangalengge Educations
                                                               ---------------------------------------

      }

    cout << quot;Lamanya waktu = quot; << resultJ << quot;.quot; << resultM << quot; jamquot;;
}


kas37.bas
CLS
INPUT quot;Jam mulai: quot;; j1
INPUT quot;Menit mulai: quot;; m1
INPUT quot;Jam selesai: quot;; j2
INPUT quot;Menit selesai: quot;; m2
IF m2 < m1 THEN
 resultJ = j2 - j1
 resultM = m2 - m1 + 60
ELSE
 resultJ = j2 - j1
 resultM = m2 - m1
END IF
PRINT quot;Lamanya waktu quot;; resultJ; quot;.quot;; resultM; quot; jamquot;

kas37.html
<html>
<head><title>.:Selisih Waktu:.</title>
<script language=JavaScript>
 function HitungAwal()
 {
   var jjam2=document.data.jam2.value;
   var jjam1=document.data.jam1.value;
   var mmenit2=document.data.menit2.value;
   var mmenit1=document.data.menit1.value;

     if(mmenit2<mmenit1) {
       resultJ=jjam2-jjam1;
       resultM=mmenit2-mmenit1+60;
     } else {
         resultJ=jjam2-jjam1;
         resultM=mmenit2-mmenit1;
       }

   document.writeln(quot;<br>Lamanya waktu = quot;+resultJ+quot;.quot;+resultM+quot; jamquot;);
   document.writeln(quot;<br><br>Klik <a href=waktu.html>di sini</a> untuk mengulang
kembaliquot;);
 }
</script>
</head>
<body>
<form name=data><table border=1>
<tr><td>Jam mulai:</td><td><input type=text name=jam1></td></tr>
<tr><td>Menit mulai:</td><td><input type=text name=menit1></td></tr>
<tr><td>Jam selesai:</td><td><input type=text name=jam2></td></tr>
<tr><td>Menit selesai:</td><td><input type=text name=menit2></td></tr>
</table>
<input type=button value=Hitung! onClick=HitungAwal()><input type=reset
value=Hapus>
                                                                                                         IV-8
Pangalengge Educations
                                                            ---------------------------------------

</form>
</body>
</html>




Umumnya sebuah bahasa pemrograman mendukung array sekelompok bilangan pada
variabel yang diurutkan. Misalkan 20 bilangan dikelompokkan pada satu buah
himpunan, S, dengan masing-masing nilai sebagai berikut:
S[0] = -7        S[5] = -537       S[10] = 27            S[15] = 77
S[1] = -47       S[6] = 67         S[11] = 57            S[16] = 471
S[2] = 71        S[7] = 70         S[12] = 72            S[17] = -78
S[3] = 75        S[8] = -375       S[13] = 37            S[18] = -17
S[4] = 17        S[9] = 170        S[14] = 87            S[19] = 67
S[20] = {-7,-47,71,75,17,-537,67,70,-375,170,27,57,72,37,87,77,471,-78,-17,67}

Salah satu kelebihan array adalah, mampu menampilkan urutan ke-i yang diminta oleh
user. Hal ini bermanfaat bila array tidak dideklarasikan pada badan program, namun
langsung ditampung sementara pada ruang memory.
Misalkan 5 kali kesempatan user untuk memberi input nilai numerik. Lalu diminta input
di urutan ke-berapa, tidak boleh urutan pertama, yang akan ditambahkan dengan suatu
konstanta; lalu konstanta berapa yang akan diinginkan oleh user; lalu hasil penjumlahan
ini dikalikan dengan hasil pengurangan antara bilangan di urutan ke-5 dengan nilai di
urutan ke-k, dimana k adalah urutan ke-i yang ditentukan user tadi dikurangi 1.
User selalu memiliki keterbatasan dalam mengingat alphanumerik dibandingkan
alphabetikal.

kas38.cpp
#include <iostream.h>

void main()
{
  int i,j,konst,urut=1;
  float urutan[5],hasl,result,hsl;

    for(i=0;i<5;i++) {
      cout << quot;Bilangan ke-quot; << i+1 << quot;: quot;;
      cin >> urutan[i];
    }
    cout << quot;Urutan keberapa? (!=1): quot;;
    cin >> j;
    cout << quot;Masukkan konstanta: quot;;
    cin >> konst;

    hsl=urutan[j-1]+konst;
    hasl=urutan[4]-urutan[j-1-urut];
    result=hsl*hasl;
    cout << quot;Hasilnya = quot; << result;
}

Perhatikan, urutan array oleh compiler dimulai pada urut ke-0, sehingga jika misalkan 5
array ditetapkan sebagai berikut:

                                                                                                      IV-9
Pangalengge Educations
                                                        ---------------------------------------

urutan[5] = {4,-3,12,6,2}
diuraikan sebagai berikut:
    urutan[0] = 4
    urutan[1] = -3
    urutan[2] = 12
    urutan[3] = 6
    urutan[4] = 2
dan user menginginkan urutan ke-2 ditampilkan, maka jika i adalah urutan array, i
harus di-increment-kan agar mendapatkan urutan ke-2.
Artinya, user mengurutkan array tersebut sebagai berikut:
    urutan[1] = 4
    urutan[2] = -3
    urutan[3] = 12
    urutan[4] = 6
    urutan[5] = 2
Kembali ke kas38.cpp, misalkan user menginginkan urutan ke-2 dengan konstanta
bernilai 2, maka hasilnya = 2.
Mengapa setiap variabel hasil operasi ditetapkan dalam tipe data float, alasannya
agar bisa menampung hasil operasi arithmatika untuk perkalian dan pembagian bila
mendapatkan nilai pecahan (tidak bulat).

kas38a.cpp
#include <iostream.h>

void main()
{
  int j,i,shar[5];

    for(i=0;i<5;i++) {
      cout << quot;Bilangan ke-quot; << i+1 << quot;: quot;;
      cin >> shar[i];
    }
    cout << quot;Pilihan bilangan ke-berapa?: quot;;
    cin >> j;
    cout << quot;Anda memilih bilangan ke-quot; << j;
    cout << quot; bernilai: quot; << shar[j-1];
}

kas38b.cpp
#include <iostream.h>

void main()
{
  int j,i,shar[5];
  float hasl;

    for(i=0;i<5;i++) {
      cout << quot;Bilangan ke-quot; << i+1 << quot;: quot;;
      cin >> shar[i];
    }
    cout << quot;Pilihan bilangan ke-berapa?: quot;;
    cin >> j;
    cout << quot;Anda memilih bilangan ke-quot; << j;
    cout << quot; bernilai: quot; << shar[j-1];
                                                                                                  IV-10
Pangalengge Educations
                                                                ---------------------------------------

     hasl=shar[j-1]+2;
    cout << quot;nJika bilangan yang Anda pilih ditambah dengan 2 = quot; << hasl;
}

kas38.bas
CLS
urut = 1
FOR i = 1 TO 5
  PRINT quot;Masukkan nilai-quot;; i; quot;: quot;;
  INPUT a(i)
NEXT i
INPUT quot;Pilih urutan ke berapa(!=1):quot;; j
INPUT quot;Tentukan konstanta:quot;; konst
hsl = a(j) + konst
hasl = a(5) - a(j - urut)
result = hsl * hasl
PRINT quot;Hasilnya = quot;; result

Terlihat pada kas38.bas, karena looping di-set mulai urutan ke-1, maka untuk statement hsl
dan hasl tidak dilakukan decrement 1; berbeda pada kas38.cpp dan kas38.html

Berikut sepintas program BASIC untuk mendapatkan 5 nilai array yang di-input-kan user, dan
ditampung sementara pada variabel a yang dilakukan secara looping 5 kali. Perhatikan, 5 nilai
numerik ini dikelompok dalam sebuah array, a[5].
kas38a.bas
CLS
FOR i = 1 TO 5
   INPUT a(i)
   PRINT quot;Nilai ke-quot;; i; quot; = quot;; a(i)
NEXT i

Perhatikan sintaks BASIC berikut ini:
kas38b1.bas
CLS
FOR i = 1 TO 5
  INPUT quot;Masukkan nilai[quot;; i; quot;]: quot;;a (i)
NEXT i
FOR i = 1 TO 5
  PRINT quot;Nilai ke-quot;; i; quot; = quot;; a(i)
NEXT i

Terjadi kesalahan saat proses interpretasi dilakukan, sehingga dilakukan editing yang
menghasilkan sebagai berikut
kas38b2.bas
CLS
FOR i = 1 TO 5
  PRINT quot;Masukkan nilai[quot;; i; quot;]: quot;;
  INPUT a(i)
NEXT i
FOR i = 1 TO 5
  PRINT quot;Nilai ke-quot;; i; quot; = quot;; a(i)
NEXT i



                                                                                                          IV-11
Pangalengge Educations
                                                              ---------------------------------------

Bisa disimpulkan, sebuah bahasa pemrograman harus memiliki stream untuk
menampilkan sebuah statement, dan menerima sebuah value dari user.

kas38.html
<script language=JavaScript>
 urutan=new Array();
 for(i=0;i<5;i++) {
    urutan[i]=window.prompt(quot;Ketikkan bilangan:quot;,quot;0quot;);
    urutan[i]=parseInt(urutan[i]);
 }
 document.writeln(quot;Bilangan yang Anda ketikkan:<br>quot;);
 for(i=0;i<5;i++) {
   document.writeln(quot;Bilangan ke-quot;+[i+1]+quot;: quot;+urutan[i],quot;<br>quot;);
 }
 j=window.prompt(quot;Urutan keberapa?:quot;,quot;tidak boleh 1quot;);
 kkonst=window.prompt(quot;Masukkan konstanta:quot;,quot;0quot;);
 konst=parseInt(kkonst);
 urut=1;
 hsl = konst + urutan[j-1];
 hasl=urutan[4]-urutan[j-1-urut];
 result=hsl*hasl;
 document.writeln(quot;Hasilnya = quot;, result);
</script>




Ringkasan
   Array biasa digunakan untuk mendeklarasikan sejumlah data yang ber-tipe sama
   untuk mewakilkan sekumpulan data yang dipanggil secara beruntun/berurutan.
   Biasanya dalam deklarasi array dan menjalankannya dibantu logical-structure
   for…i (perulangan for).
   Untuk masing-masing Bahasa Pemrograman C++, BASIC, dan JavaScript
   memiliki kekhasan dalam mendeklarasikan sebuah array.




                                                                                                        IV-12

More Related Content

Similar to about array

Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10Menny SN
 
Pascal
Pascal Pascal
Pascal Dwi A
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPrasetyo Adi
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd555560
 
Pascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfPascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfJurnal IT
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanTri Retna
 
Part 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan WritelnPart 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan WritelnSyaiful Ahdan
 
Part 13: Penggunaan Tipe Data Real
Part 13: Penggunaan Tipe Data RealPart 13: Penggunaan Tipe Data Real
Part 13: Penggunaan Tipe Data RealSyaiful Ahdan
 
Pertemuan ARRAY.pptx
Pertemuan ARRAY.pptxPertemuan ARRAY.pptx
Pertemuan ARRAY.pptxMenny SN
 
Makalah kelompok Presentasi Strukur data versi pdf
Makalah kelompok Presentasi Strukur data  versi pdfMakalah kelompok Presentasi Strukur data  versi pdf
Makalah kelompok Presentasi Strukur data versi pdfBina Sarana Informatika
 
Pascal - Record.txt - Notepad.pdf
Pascal - Record.txt - Notepad.pdfPascal - Record.txt - Notepad.pdf
Pascal - Record.txt - Notepad.pdfJurnal IT
 

Similar to about array (20)

Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10
 
Pascal
Pascal Pascal
Pascal
 
PerlTeX
PerlTeXPerlTeX
PerlTeX
 
Algoritma with pascal
Algoritma with pascalAlgoritma with pascal
Algoritma with pascal
 
modul algoritma Bab 6
modul algoritma Bab  6modul algoritma Bab  6
modul algoritma Bab 6
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
 
Pertemuan 6 Fungsi String
Pertemuan 6 Fungsi StringPertemuan 6 Fungsi String
Pertemuan 6 Fungsi String
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd
 
Pascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfPascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdf
 
03 i-o
03 i-o03 i-o
03 i-o
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & Pemrograman
 
Part 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan WritelnPart 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan Writeln
 
Latihan individu no 3
Latihan individu no 3Latihan individu no 3
Latihan individu no 3
 
Latihan individu no 3
Latihan individu no 3Latihan individu no 3
Latihan individu no 3
 
Part 13: Penggunaan Tipe Data Real
Part 13: Penggunaan Tipe Data RealPart 13: Penggunaan Tipe Data Real
Part 13: Penggunaan Tipe Data Real
 
Pertemuan ARRAY.pptx
Pertemuan ARRAY.pptxPertemuan ARRAY.pptx
Pertemuan ARRAY.pptx
 
Makalah kelompok Presentasi Strukur data versi pdf
Makalah kelompok Presentasi Strukur data  versi pdfMakalah kelompok Presentasi Strukur data  versi pdf
Makalah kelompok Presentasi Strukur data versi pdf
 
Array
ArrayArray
Array
 
Pascal - Record.txt - Notepad.pdf
Pascal - Record.txt - Notepad.pdfPascal - Record.txt - Notepad.pdf
Pascal - Record.txt - Notepad.pdf
 
Alwin pascal-02
Alwin pascal-02Alwin pascal-02
Alwin pascal-02
 

More from S N M P Simamora

Algoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statementAlgoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statementS N M P Simamora
 
konsep mnemonic-instruction
konsep mnemonic-instructionkonsep mnemonic-instruction
konsep mnemonic-instructionS N M P Simamora
 
Organisasi Komputer bhn kuliah m10 r1
Organisasi Komputer bhn kuliah m10 r1Organisasi Komputer bhn kuliah m10 r1
Organisasi Komputer bhn kuliah m10 r1S N M P Simamora
 
sns_paper complement_r010110
sns_paper complement_r010110sns_paper complement_r010110
sns_paper complement_r010110S N M P Simamora
 
Cover paper Algoritma Symboolon
Cover paper Algoritma SymboolonCover paper Algoritma Symboolon
Cover paper Algoritma SymboolonS N M P Simamora
 
Silabus TIK-2303 Arsitektur & Organisasi Komputer
Silabus TIK-2303 Arsitektur & Organisasi KomputerSilabus TIK-2303 Arsitektur & Organisasi Komputer
Silabus TIK-2303 Arsitektur & Organisasi KomputerS N M P Simamora
 
Konsep Process dalam Sistem Komputer
Konsep Process dalam Sistem KomputerKonsep Process dalam Sistem Komputer
Konsep Process dalam Sistem KomputerS N M P Simamora
 
Silabus TIK-3601 Sistem Operasi
Silabus TIK-3601 Sistem OperasiSilabus TIK-3601 Sistem Operasi
Silabus TIK-3601 Sistem OperasiS N M P Simamora
 
Teknologi Wireless dan Karakteristiknya
Teknologi Wireless dan KarakteristiknyaTeknologi Wireless dan Karakteristiknya
Teknologi Wireless dan KarakteristiknyaS N M P Simamora
 
Model Eksponensial dan Logaritma
Model Eksponensial dan LogaritmaModel Eksponensial dan Logaritma
Model Eksponensial dan LogaritmaS N M P Simamora
 
Konsep dan Terapan Matriks
Konsep dan Terapan MatriksKonsep dan Terapan Matriks
Konsep dan Terapan MatriksS N M P Simamora
 
Telekomunikasi dan Teknologi Informasi
Telekomunikasi dan Teknologi InformasiTelekomunikasi dan Teknologi Informasi
Telekomunikasi dan Teknologi InformasiS N M P Simamora
 
Bahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptBahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptS N M P Simamora
 
Bahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptBahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptS N M P Simamora
 

More from S N M P Simamora (20)

Power over-ethernet
Power over-ethernetPower over-ethernet
Power over-ethernet
 
Algoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statementAlgoritma dan Pemrograman-I_konsep_statement
Algoritma dan Pemrograman-I_konsep_statement
 
konsep mnemonic-instruction
konsep mnemonic-instructionkonsep mnemonic-instruction
konsep mnemonic-instruction
 
Organisasi Komputer bhn kuliah m10 r1
Organisasi Komputer bhn kuliah m10 r1Organisasi Komputer bhn kuliah m10 r1
Organisasi Komputer bhn kuliah m10 r1
 
sns_paper complement_r010110
sns_paper complement_r010110sns_paper complement_r010110
sns_paper complement_r010110
 
Cover paper Algoritma Symboolon
Cover paper Algoritma SymboolonCover paper Algoritma Symboolon
Cover paper Algoritma Symboolon
 
Algoritma Symboolon
Algoritma SymboolonAlgoritma Symboolon
Algoritma Symboolon
 
Silabus TIK-2303 Arsitektur & Organisasi Komputer
Silabus TIK-2303 Arsitektur & Organisasi KomputerSilabus TIK-2303 Arsitektur & Organisasi Komputer
Silabus TIK-2303 Arsitektur & Organisasi Komputer
 
Wireless Sensor Network
Wireless Sensor NetworkWireless Sensor Network
Wireless Sensor Network
 
Konsep Process dalam Sistem Komputer
Konsep Process dalam Sistem KomputerKonsep Process dalam Sistem Komputer
Konsep Process dalam Sistem Komputer
 
ADICT 2012 Presentation
ADICT 2012 PresentationADICT 2012 Presentation
ADICT 2012 Presentation
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Silabus TIK-3601 Sistem Operasi
Silabus TIK-3601 Sistem OperasiSilabus TIK-3601 Sistem Operasi
Silabus TIK-3601 Sistem Operasi
 
Teknologi Wireless dan Karakteristiknya
Teknologi Wireless dan KarakteristiknyaTeknologi Wireless dan Karakteristiknya
Teknologi Wireless dan Karakteristiknya
 
Model Eksponensial dan Logaritma
Model Eksponensial dan LogaritmaModel Eksponensial dan Logaritma
Model Eksponensial dan Logaritma
 
Formula Matematika
Formula MatematikaFormula Matematika
Formula Matematika
 
Konsep dan Terapan Matriks
Konsep dan Terapan MatriksKonsep dan Terapan Matriks
Konsep dan Terapan Matriks
 
Telekomunikasi dan Teknologi Informasi
Telekomunikasi dan Teknologi InformasiTelekomunikasi dan Teknologi Informasi
Telekomunikasi dan Teknologi Informasi
 
Bahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptBahasa Pemrograman dan Script
Bahasa Pemrograman dan Script
 
Bahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptBahasa Pemrograman dan Script
Bahasa Pemrograman dan Script
 

about array

  • 1. Pangalengge Educations --------------------------------------- IV. Pengenalan Array (Larik) Yang dimaksud dengan array (larik), adalah sejumlah data yang bertipe sama dalam satu kelompok dengan posisi yang berurutan. Misalkan: string Rina adalah sekelompok data S dengan jenis karakter yang diposisikan secara berurutan dengan masing-masing elemen: S[0] = R S[1] = i S[2] = n S[3] = a Bila mengulas perihal array, Bahasa Pemrograman C++ sangat cocok digunakan dalam menjelaskan dan mengimplementasikan berbagai teori serta filosofi ini. Meskipun demikian bukan berarti Bahasa Pemrograman BASIC dan JavaScript tidak bisa digunakan dalam mengulas tentang array, hanya tidak lebih luwes bila dibandingkan dengan Bahasa Pemrograman C++. Contoh. Kasus 3.1 berikut ini: Sebuah string dengan nilai: pengerjaan akan dilakukan proses perubahan sebagai berikut: S[10] = {p,e,n,g,e,r,j,a,a,n} S[0]=p S[1]=e S[2]=n S[3]=g S[4]=e S[5]=r S[6]=j S[7]=a S[8]=a S[9]=n Algoritma perubahan: S[9] ← S[0] S[0] ← S[9] ; S[8] ← S[1] S[1] ← S[8] ; S[7] ← S[2] S[2] ← S[7] ; S[6] ← S[3] S[3] ← S[6] ; S[5] ← S[4] S[4] ← S[5] ; Sehingga didapatkan nanti hasilnya: S[10] = { n, a, a, j, r, e, g, n, e, p } kas31.cpp #include <iostream.h> void main() { int i; IV-1
  • 2. Pangalengge Educations --------------------------------------- char smn,s[10]={'p','e','n','g','e','r','j','a','a','n'}; for(i=0;i<5;i++) { smn=s[i]; s[i]=s[9-i]; s[9-i]=smn; } cout << quot;Hasil perubahan: quot;; for(i=0;i<10;i++) { cout << s[i]; } } kas31.bas kas31.html <script language=JavaScript> var s=new Array('p','e','n','g','e','r','j','a','a','n'); for(i=0;i<5;i++) { smn=s[i]; s[i]=s[9-i]; s[9-i]=smn; } document.writeln(quot;Hasil perubahan: quot;); for(i=0;i<10;i++) { document.writeln(s[i]); } </script> Mengadopsi kasus 3.1, namun string yang akan dimanipulasi berasal dari input user, dengan batasan panjang string 10 karakter. kas32.cpp #include <iostream.h> void main() { int i; char smn,s[10]; cout << quot;Masukkan string (maks.10 char): quot;; cin >> s; for(i=0;i<5;i++) { smn=s[i]; s[i]=s[9-i]; s[9-i]=smn; } cout << quot;Hasil perubahan: quot;; for(i=0;i<10;i++) { cout << s[i]; } IV-2
  • 3. Pangalengge Educations --------------------------------------- } Berikut untuk mengantisipasi bila user memasukkan string melebihi 10 karakter atau sama sekali kosong. kas32a.cpp #include <iostream.h> #include <string.h> void main() { int i,pjg; char smn,s[10]; cout << quot;Masukkan string (maks.10 char): quot;; cin >> s; pjg=strlen(s); if(s==quot;quot;||pjg>10) { cout << quot;Maaf, melebihi 10 karakterquot;; } else { for(i=0;i<5;i++) { smn=s[i]; s[i]=s[9-i]; s[9-i]=smn; } cout << quot;Hasil perubahan: quot;; for(i=0;i<10;i++) { cout << s[i]; } } } Semakin jelas ditunjukkan bahwa sebuah string adalah padanan dari kata, bukan sebuah kalimat. Berikut dalam JavaScript sebuah prosedur yang digunakan untuk menangkap sejumlah karakter yang di-input-kan oleh user. Namun ada sebuah prosedur tambahan yang disisipkan untuk membatasi bahwa user hanya bisa mengetikkan dengan maksimal 10 karakter saja. Jelas nanti akan terlihat perbedaan penulisan array untuk ‘[‘ , ‘]’ dan ‘(‘, ‘)’. kas32cc.html <script language=JavaScript> sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;); pjg=sa.length; if(pjg<=0||pjg>10) { document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;); } else { document.writeln(quot;Hasil perubahan: quot;); for(i=0;i<sa.length;i++) { document.writeln(sa.charAt(i)); } } IV-3
  • 4. Pangalengge Educations --------------------------------------- </script> kas32.html <script language=JavaScript> sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;); pjg=sa.length; if(pjg<=0||pjg>10) { document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;); } else { document.writeln(quot;Hasil perubahan: quot;); for(i=0;i<sa.length;i++) { document.writeln(sa.charAt(i)); } } </script> kas33.html <script language=JavaScript> sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;); pjg=sa.length; if(pjg<=0||pjg>10) { document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;); } else { document.writeln(quot;Hasil perubahan: quot;); for(i=0;i<sa.length;i++) { document.writeln(sa.charAt(i)); } } </script> Berikut adalah Algoritma Marbulang+7 untuk melakukan proses enkripsi dari sebuah plaintext dengan panjang maksimal 10 karakter yang di-input-kan oleh user: [char]-1, [char]-2, [char]-3,…, [char]-26 [char]-1 = A atau a, [char]-2 = B atau b, … , [char]-26 = Z atau z string[i]…?…[char]-1 s.d [char]-26 string[i]←([char]-j) + 7 jika string[i] melebihi [char]-26 maka lakukan reset ke [char]-1 i = 0,1,2…9 j = 1,2,3,…,26 IV-4
  • 5. Pangalengge Educations --------------------------------------- kas34.html <script language=JavaScript> var coding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMabcdefghijklmnopqrstuvwxyzab cdefghijklm'; var sa=window.prompt(quot;Masukkan string (maks.10 karakter):quot;,quot;0quot;); pjg=sa.length; if(pjg<=0||pjg>10) { document.writeln(quot;Maaf, kosong atau melebihi 10 karakterquot;); } else { for (var text = '',i=0;i<pjg;i++) { character = sa.charAt(i); position = coding.indexOf(character); if (position > -1) character = coding.charAt(position + 7); text += character; } document.writeln(quot;Hasil enkripsi menggunakan Algoritma Marbulang+7: <b>quot; + text+quot;</b>quot;); } </script> Kasus berikut menyajikan daftar karakter alphabetikal untuk huruf kecil dan besar. kas35.cpp #include <iostream.h> void main() { cout << quot;Tabel Alphabetikal A s.d Znquot;; cout << quot;==========================nquot;; cout << quot;No. Abjad Huruf Besar Abjad Huruf Kecilnquot;; for(int i=0;i<26;i++) { cout.width(2); cout << i+1 << quot; quot; << char(i+65) << quot; quot; << char(i+97) << endl; } } kas35.bas CLS PRINT quot;Tabel Alphabetikal A s.d Zquot; FOR i = 1 TO 26 PRINT i; quot; quot;; CHR$(i + 64); quot; quot;; CHR$(i + 96) NEXT i Untuk lebih interaktif, dapat ditulis kembali sebagai berikut: kas35a.bas CLS PRINT quot;Tabel Alphabetikal A s.d Zquot; INPUT quot;Masukkan batas atas: quot;; a INPUT quot;Masukkan batas bawah: quot;; b FOR i = a TO b PRINT i; quot; quot;; CHR$(i + 64); quot; quot;; CHR$(i + 96) NEXT i IV-5
  • 6. Pangalengge Educations --------------------------------------- kas35.html <script language=JavaScript> alert(quot;Alphabetikal A s.d Zquot;); document.writeln(quot;<table border=1><tr><td>No.</td><td>Abjad Huruf Besar</td><td>Abjad Huruf Kecil</td></tr>quot;); for(i=0;i<26;i++) { document.writeln(quot;<tr><td align=right>quot;+[i+1]+quot;</td><td align=center>quot;+String.fromCharCode(i+65)+quot;</td><td align=center>quot;+String.fromCharCode(i+97)+quot;</td></tr>quot;); } document.writeln(quot;</table>quot;); </script> Kasus 3.6, menyajikan sebuah string dengan panjang 8 karakter dimanipulasi dengan batasan, setiap karakter akan dipindahkan 2 posisi ke depan dari tempat semula. Misalkan: string: selamat1, jika dimanipulasi dengan batasan tersebut akan mendapatkan string baru: t1selama. String asli disebut: plaintext, dan string hasil perubahan disebut: ciphertext, sedangkan batasan yang ditetapkan untuk melakukan perubahan disebut: key. kas36.cpp #include <iostream.h> void main() { int i; char smk,smn,kara[8]; cout << quot;Masukkan kata maks.8 karakter: quot;; cin >> kara; cout << quot;Plaintext: quot; << kara << endl; cout << quot;Ciphertext: quot;; smn=kara[2]; kara[2]=kara[0]; kara[0]=kara[6]; smk=kara[4]; kara[4]=smn; kara[6]=smk; smn=kara[1]; kara[1]=kara[7]; smk=kara[3]; kara[3]=smn; smn=kara[5]; kara[5]=smk; kara[7]=smn; for(i=0;i<8;i++) { cout << kara[i]; } } IV-6
  • 7. Pangalengge Educations --------------------------------------- Kasus 3.7 berikut bertujuan mendapatkan selisih waktu dari input awal dan akhir dari user. Namun hal yang harus dibatasi adalah kemungkinan menit akhir bernilai lebih kecil dibandingkan dengan menit awal. kas37.cpp #include <iostream.h> void main() { int jam2,jam1,menit2,menit1,resultJ,resultM; cout << quot;Jam mulai: quot;; cin >> jam1; cout << quot;Menit mulai: quot;; cin >> menit1; cout << quot;Jam selesai quot;; cin >> jam2; cout << quot;Menit selesai: quot;; cin >> menit2; if(menit2<menit1) { resultJ=jam2-jam1; resultM=menit2-menit1+60; } else { resultJ=jam2-jam1; resultM=menit2-menit1; } cout << quot;Lamanya waktu = quot; << resultJ << quot;.quot; << resultM << quot; jamquot;; } Array bisa diterapkan pada kasus 3.7 sebelumnya, misalkan kas37.cpp dapat dilakukan perubahan sebagai berikut: kas37a.cpp #include <iostream.h> void main() { int jam[2],menit[2],resultJ,resultM; cout << quot;Jam mulai: quot;; cin >> jam[0]; cout << quot;Menit mulai: quot;; cin >> menit[0]; cout << quot;Jam selesai quot;; cin >> jam[1]; cout << quot;Menit selesai: quot;; cin >> menit[1]; if(menit[1]<menit[0]) { resultJ=jam[1]-jam[0]; resultM=menit[1]-menit[0]+60; } else { resultJ=jam[1]-jam[0]; resultM=menit[1]-menit[0]; IV-7
  • 8. Pangalengge Educations --------------------------------------- } cout << quot;Lamanya waktu = quot; << resultJ << quot;.quot; << resultM << quot; jamquot;; } kas37.bas CLS INPUT quot;Jam mulai: quot;; j1 INPUT quot;Menit mulai: quot;; m1 INPUT quot;Jam selesai: quot;; j2 INPUT quot;Menit selesai: quot;; m2 IF m2 < m1 THEN resultJ = j2 - j1 resultM = m2 - m1 + 60 ELSE resultJ = j2 - j1 resultM = m2 - m1 END IF PRINT quot;Lamanya waktu quot;; resultJ; quot;.quot;; resultM; quot; jamquot; kas37.html <html> <head><title>.:Selisih Waktu:.</title> <script language=JavaScript> function HitungAwal() { var jjam2=document.data.jam2.value; var jjam1=document.data.jam1.value; var mmenit2=document.data.menit2.value; var mmenit1=document.data.menit1.value; if(mmenit2<mmenit1) { resultJ=jjam2-jjam1; resultM=mmenit2-mmenit1+60; } else { resultJ=jjam2-jjam1; resultM=mmenit2-mmenit1; } document.writeln(quot;<br>Lamanya waktu = quot;+resultJ+quot;.quot;+resultM+quot; jamquot;); document.writeln(quot;<br><br>Klik <a href=waktu.html>di sini</a> untuk mengulang kembaliquot;); } </script> </head> <body> <form name=data><table border=1> <tr><td>Jam mulai:</td><td><input type=text name=jam1></td></tr> <tr><td>Menit mulai:</td><td><input type=text name=menit1></td></tr> <tr><td>Jam selesai:</td><td><input type=text name=jam2></td></tr> <tr><td>Menit selesai:</td><td><input type=text name=menit2></td></tr> </table> <input type=button value=Hitung! onClick=HitungAwal()><input type=reset value=Hapus> IV-8
  • 9. Pangalengge Educations --------------------------------------- </form> </body> </html> Umumnya sebuah bahasa pemrograman mendukung array sekelompok bilangan pada variabel yang diurutkan. Misalkan 20 bilangan dikelompokkan pada satu buah himpunan, S, dengan masing-masing nilai sebagai berikut: S[0] = -7 S[5] = -537 S[10] = 27 S[15] = 77 S[1] = -47 S[6] = 67 S[11] = 57 S[16] = 471 S[2] = 71 S[7] = 70 S[12] = 72 S[17] = -78 S[3] = 75 S[8] = -375 S[13] = 37 S[18] = -17 S[4] = 17 S[9] = 170 S[14] = 87 S[19] = 67 S[20] = {-7,-47,71,75,17,-537,67,70,-375,170,27,57,72,37,87,77,471,-78,-17,67} Salah satu kelebihan array adalah, mampu menampilkan urutan ke-i yang diminta oleh user. Hal ini bermanfaat bila array tidak dideklarasikan pada badan program, namun langsung ditampung sementara pada ruang memory. Misalkan 5 kali kesempatan user untuk memberi input nilai numerik. Lalu diminta input di urutan ke-berapa, tidak boleh urutan pertama, yang akan ditambahkan dengan suatu konstanta; lalu konstanta berapa yang akan diinginkan oleh user; lalu hasil penjumlahan ini dikalikan dengan hasil pengurangan antara bilangan di urutan ke-5 dengan nilai di urutan ke-k, dimana k adalah urutan ke-i yang ditentukan user tadi dikurangi 1. User selalu memiliki keterbatasan dalam mengingat alphanumerik dibandingkan alphabetikal. kas38.cpp #include <iostream.h> void main() { int i,j,konst,urut=1; float urutan[5],hasl,result,hsl; for(i=0;i<5;i++) { cout << quot;Bilangan ke-quot; << i+1 << quot;: quot;; cin >> urutan[i]; } cout << quot;Urutan keberapa? (!=1): quot;; cin >> j; cout << quot;Masukkan konstanta: quot;; cin >> konst; hsl=urutan[j-1]+konst; hasl=urutan[4]-urutan[j-1-urut]; result=hsl*hasl; cout << quot;Hasilnya = quot; << result; } Perhatikan, urutan array oleh compiler dimulai pada urut ke-0, sehingga jika misalkan 5 array ditetapkan sebagai berikut: IV-9
  • 10. Pangalengge Educations --------------------------------------- urutan[5] = {4,-3,12,6,2} diuraikan sebagai berikut: urutan[0] = 4 urutan[1] = -3 urutan[2] = 12 urutan[3] = 6 urutan[4] = 2 dan user menginginkan urutan ke-2 ditampilkan, maka jika i adalah urutan array, i harus di-increment-kan agar mendapatkan urutan ke-2. Artinya, user mengurutkan array tersebut sebagai berikut: urutan[1] = 4 urutan[2] = -3 urutan[3] = 12 urutan[4] = 6 urutan[5] = 2 Kembali ke kas38.cpp, misalkan user menginginkan urutan ke-2 dengan konstanta bernilai 2, maka hasilnya = 2. Mengapa setiap variabel hasil operasi ditetapkan dalam tipe data float, alasannya agar bisa menampung hasil operasi arithmatika untuk perkalian dan pembagian bila mendapatkan nilai pecahan (tidak bulat). kas38a.cpp #include <iostream.h> void main() { int j,i,shar[5]; for(i=0;i<5;i++) { cout << quot;Bilangan ke-quot; << i+1 << quot;: quot;; cin >> shar[i]; } cout << quot;Pilihan bilangan ke-berapa?: quot;; cin >> j; cout << quot;Anda memilih bilangan ke-quot; << j; cout << quot; bernilai: quot; << shar[j-1]; } kas38b.cpp #include <iostream.h> void main() { int j,i,shar[5]; float hasl; for(i=0;i<5;i++) { cout << quot;Bilangan ke-quot; << i+1 << quot;: quot;; cin >> shar[i]; } cout << quot;Pilihan bilangan ke-berapa?: quot;; cin >> j; cout << quot;Anda memilih bilangan ke-quot; << j; cout << quot; bernilai: quot; << shar[j-1]; IV-10
  • 11. Pangalengge Educations --------------------------------------- hasl=shar[j-1]+2; cout << quot;nJika bilangan yang Anda pilih ditambah dengan 2 = quot; << hasl; } kas38.bas CLS urut = 1 FOR i = 1 TO 5 PRINT quot;Masukkan nilai-quot;; i; quot;: quot;; INPUT a(i) NEXT i INPUT quot;Pilih urutan ke berapa(!=1):quot;; j INPUT quot;Tentukan konstanta:quot;; konst hsl = a(j) + konst hasl = a(5) - a(j - urut) result = hsl * hasl PRINT quot;Hasilnya = quot;; result Terlihat pada kas38.bas, karena looping di-set mulai urutan ke-1, maka untuk statement hsl dan hasl tidak dilakukan decrement 1; berbeda pada kas38.cpp dan kas38.html Berikut sepintas program BASIC untuk mendapatkan 5 nilai array yang di-input-kan user, dan ditampung sementara pada variabel a yang dilakukan secara looping 5 kali. Perhatikan, 5 nilai numerik ini dikelompok dalam sebuah array, a[5]. kas38a.bas CLS FOR i = 1 TO 5 INPUT a(i) PRINT quot;Nilai ke-quot;; i; quot; = quot;; a(i) NEXT i Perhatikan sintaks BASIC berikut ini: kas38b1.bas CLS FOR i = 1 TO 5 INPUT quot;Masukkan nilai[quot;; i; quot;]: quot;;a (i) NEXT i FOR i = 1 TO 5 PRINT quot;Nilai ke-quot;; i; quot; = quot;; a(i) NEXT i Terjadi kesalahan saat proses interpretasi dilakukan, sehingga dilakukan editing yang menghasilkan sebagai berikut kas38b2.bas CLS FOR i = 1 TO 5 PRINT quot;Masukkan nilai[quot;; i; quot;]: quot;; INPUT a(i) NEXT i FOR i = 1 TO 5 PRINT quot;Nilai ke-quot;; i; quot; = quot;; a(i) NEXT i IV-11
  • 12. Pangalengge Educations --------------------------------------- Bisa disimpulkan, sebuah bahasa pemrograman harus memiliki stream untuk menampilkan sebuah statement, dan menerima sebuah value dari user. kas38.html <script language=JavaScript> urutan=new Array(); for(i=0;i<5;i++) { urutan[i]=window.prompt(quot;Ketikkan bilangan:quot;,quot;0quot;); urutan[i]=parseInt(urutan[i]); } document.writeln(quot;Bilangan yang Anda ketikkan:<br>quot;); for(i=0;i<5;i++) { document.writeln(quot;Bilangan ke-quot;+[i+1]+quot;: quot;+urutan[i],quot;<br>quot;); } j=window.prompt(quot;Urutan keberapa?:quot;,quot;tidak boleh 1quot;); kkonst=window.prompt(quot;Masukkan konstanta:quot;,quot;0quot;); konst=parseInt(kkonst); urut=1; hsl = konst + urutan[j-1]; hasl=urutan[4]-urutan[j-1-urut]; result=hsl*hasl; document.writeln(quot;Hasilnya = quot;, result); </script> Ringkasan Array biasa digunakan untuk mendeklarasikan sejumlah data yang ber-tipe sama untuk mewakilkan sekumpulan data yang dipanggil secara beruntun/berurutan. Biasanya dalam deklarasi array dan menjalankannya dibantu logical-structure for…i (perulangan for). Untuk masing-masing Bahasa Pemrograman C++, BASIC, dan JavaScript memiliki kekhasan dalam mendeklarasikan sebuah array. IV-12