ARRAY/LARIK ARRAY/LARIK ARRAY/LARIK ARRAY/LARIK
Pertemuan 05-07
Jurusan Teknik Informatika 05/06 - 2 Universitas Widyatama Algoritma & Pemrograman I
Overview
• Deskripsi
• Tujuan Instruksional
• Array 1 Dimensi – Array of Char String – Array of Number
• Array Multi Dimensi
Jurusan Teknik Informatika 05/06 - 3 Universitas Widyatama Algoritma & Pemrograman I
Deskripsi
Materi ini mempelajari :
• String
• Array 1 Dimensi
• Array Multi Dimensi – Array 2 Dimensi (Matriks) – Array n Dimensi
Jurusan Teknik Informatika 05/06 - 4 Universitas Widyatama Algoritma & Pemrograman I
Tujuan Instruksional
Mahasiswa diharapkan dapat :
• Menjelaskan pengertian dan manfaat Array, serta cara penulisannya
• Menjelaskan jenis-jenis Array
• Menjelaskan penggunaan Array 1 dimensi dan multi dimensi
• Menggunakan Array 1 dimensi dan multi dimensi
Jurusan Teknik Informatika 05/06 - 5 Universitas Widyatama Algoritma & Pemrograman I
Definisi Array/Larik
• Struktur data yang mengacu pada sebuah atau sekumpulan elemen melalui indeksnya
• Tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing- masing komponen dalam larik dinyatakan sebagai nomor indeks.
• Suatu urutan lokasi yang berdampingan (contiguous) yang dapat diakses dengan satu nama tunggal dan diikuti subskrip integer (index array).
• Suatu Variabel Jamak (lebih dari satu lokasi penyimpanan) dengan indeks yang digunakan sebagai penunjuk urutan data.
• Struktur data yang menyimpan sekumpulan elemen yang bertipe sama, dimana setiap elemen diakses secara langsung melalui indeksnya.
Jurusan Teknik Informatika 05/06 - 6 Universitas Widyatama Algoritma & Pemrograman I
Definisi Array/Larik
• Kumpulan dari nilai-nilai data (elemen array/larik) yang bertipe sama dalam urutan tertentu (ditunjukan oleh subsricpt atau indeks) yang menggunakan sebuah nama yang sama.
• Tiap elemen larik menyatakan sebuah tempat di memori. Memori adalah tempat penyimpanan sementara (temporer), maka isi larik akan hilang begitu komputer dimatikan.
• Larik adalah struktur data yang statis, artinya, jumlah elemen larik harus sudah diketahui sebelumnya.
Jumlah elemen larik tidak bisa diubah, ditambah, dikurangi selama running program.
• Mendefinisikan banyak elemen larik berarti memesan sejumlah tempat di memori dan memori akan mengalokasikan sejumlah lokasi memori sebanyak elemen larik bersangkutan.
• Indeks array dalam C/C++ selalu dimulai dari 0 (nol)
Jurusan Teknik Informatika 05/06 - 7 Universitas Widyatama Algoritma & Pemrograman I
Jenis-Jenis Array
• Array 1 Dimensi – String (Array of char) – Array 1 Dimensi (non string)
• Array Multi dimensi – Array 2 Dimensi (Matriks) – Array 3 Dimensi
– …
– Array n Dimensi
ARRAY 1 DIMENSI ARRAY 1 DIMENSI ARRAY 1 DIMENSI ARRAY 1 DIMENSI
STRING STRING STRING STRING (array of Char) (array of Char) (array of Char) (array of Char)
Jurusan Teknik Informatika 05/06 - 10 Universitas Widyatama Algoritma & Pemrograman I
Definisi
• Kata atau Kalimat
• Kumpulan dari beberapa karakter (huruf, kata, tanda baca, spasi dst)
• Suatu jenis array 1 dimensi yang berisi data dengan tipe character
Algoritma & Pemrograman I
Deklarasi dalam Algoritma
Nama string [ Max karakter ]: String Ex :
• Kata[255] : String
• Nama_Mhs[50]: String
• Alamat : String
Algoritma & Pemrograman I
Deklarasi dalam C/C++
char Nama string[Max karakter +1]
Dimana :
• Max karakter : jumlah karakter yang paling banyak bisa ditampung dalam Nama string dan
• +1 untuk menyimpan karakter penanda (/0 atau NULL) untuk keperluan fungsi-fungsi string.
Karakter ini akan diisikan secara otomatis pada saat proses input ke dalam string di posisi paling akhir dari suatu kata atau kalimat.
Ex : Indeks :
C a p e D e h \0
0 1 2 3 4 5 6 7 8
Jurusan Teknik Informatika 05/06 - 13 Universitas Widyatama Algoritma & Pemrograman I
Konsep
• Variabel Biasa
ex : int Biasa; misalkan kita isi dengan nilai 75
• Variabel String
ex : char Kata[4]; misalkan kita isi dengan kata “NO”
Nama Nilai Alamat
Biasa 75 xxx
Nama Nilai Alamat
Kata 1000 xx10
‘N’ xx21
‘O’ xx22
\0 xx23
? xx24
Jurusan Teknik Informatika 05/06 - 14 Universitas Widyatama Algoritma & Pemrograman I
Input & Output
Operasi Algoritma Program
Assignment NamaString
“<<isi string>>”
Ex: Nama
“Danang”
strcpy(NamaString,
“<<isi string>>”) Ex:
strcpy(Nama,”Danang”);
Input INPUT NamaString • gets(nama string);
• scanf(“%s”,nama string);
• cin>> nama string;
Output OUTPUT
NamaString
• puts(nama string);
• printf(“%s”,nama string);
• cout<< nama string;
Apa bedanya????
Jurusan Teknik Informatika 05/06 - 15 Universitas Widyatama Algoritma & Pemrograman I
Manipulasi dalam C/C++ (1)
• Library Header : string.h
• Manipulasi : – Copy String
strcpy(String Tujuan,String Asal) ex : strcpy(Kata,”Saya”); or
strcpy(Kata1,Kata2);
– Panjang String
Nama_Panjang_String = strlen(Nama String) ex : Ukuran =strlen(Kata);
– Membalik Urutan String strrev(Nama String) ex : strlen(Kata);
Jurusan Teknik Informatika 05/06 - 16 Universitas Widyatama Algoritma & Pemrograman I
Manipulasi dalam C/C++ (2)
• Manipulasi (lanjutan) : – Ubah ke Huruf Kapital
strupr(Nama String) ex : strupr(Kata);
– Ubah Ke Huruf Kecil strlwr(Nama String) ex : strlwr(Kata);
– Penggabungan String strcat(String Tujuan,String Asal) ex : strcat(Kata1, Kata2);
– Perbandingan String status = strcmp(String1,String2)
• status bernilai 0 jika String1 = String2
• status bernilai positif jika String1 > String2
• status bernilai negatif jika String1 < String2 ex : status = strcmp(Kata1,Kata2);
ARRAY 1 DIMENSI ARRAY 1 DIMENSI ARRAY 1 DIMENSI ARRAY 1 DIMENSI (Tipe selain character) (Tipe selain character) (Tipe selain character) (Tipe selain character)
Jurusan Teknik Informatika 05/06 - 18 Universitas Widyatama Algoritma & Pemrograman I
Definisi
• Array 1 Dimensi : array yang berisi data dengan tipe selain karakter (terdiri hanya dari 1 baris data atau hanya 1 kolom data)
Ex : Indeks
Indeks :
1 3 5 7 9 …
2 4
…
0 1 2 3 4 … 0
1
…
Jurusan Teknik Informatika 05/06 - 19 Universitas Widyatama Algoritma & Pemrograman I
Deklarasi dalam Algoritma
Nama Array: Array [Jumlah Max Data] of Tipe Data
Atau
Nama Array [Jumlah Max Data] : Tipe Data Dimana :
• Jumlah Max Data : jumlah data yang paling banyak bisa ditampung dalam Nama Array Ex:
Nilai: Array [5] of Integer atau Nilai[5]: Integer
Jurusan Teknik Informatika 05/06 - 20 Universitas Widyatama Algoritma & Pemrograman I
Deklarasi dalam C/C++
Tipe Data Nama Array[Jumlah Max Data]
Dimana :
• Jumlah Max Data : jumlah data yang paling banyak bisa ditampung dalam Nama Array
Ex:
int Nilai[5];
Jurusan Teknik Informatika 05/06 - 21 Universitas Widyatama Algoritma & Pemrograman I
Konsep
• Variabel Array 1 Dimensi ex : int Data1[4] = {1,2,3,4,5};
int Data2[4];
Nama Nilai Alamat
Data1 1000 xx10
1 xx20
2 xx21
3 xx22
4 xx23
5 xx24
Nama Nilai Alamat
Data2 1001 xx10
? xx20
? xx21
? xx22
? xx23
? xx24
Jurusan Teknik Informatika 05/06 - 22 Universitas Widyatama Algoritma & Pemrograman I
Input & Output
Operasi Algoritma Program
Assignment NamaArray[Indeks] Nilai
Ex: A[10] 1001
Nama_Array[indeks] = Nilai;
ex : A[10] = 1001;
Input INPUT NamaArray[Indeks]
Ex: INPUT A[10]
• scanf(“%format”,&Nama Array[indeks]);
ex : scanf(“%d”,&A[10]);
• cin>>Nama Array[indeks];
ex: cin>>A[10];
Output OUTPUT
NamaArray[Indeks]
Ex: OUTPUT A[10]
• printf(“%format”,Nama Array[indeks]);
ex : printf(“%d”,A[10]);
• cout<<Nama Array[indeks];
ex: cout<<A[10];
ARRAY MULTI DIMENSI ARRAY MULTI DIMENSI ARRAY MULTI DIMENSI ARRAY MULTI DIMENSI
Algoritma & Pemrograman I
Definisi
• Array 2 Dimensi : array yang berisi data dengan tipe selain karakter (terdiri dari 1 baris data dan 1 kolom data)
Ex :
• Array n Dimensi
Index 1 2 … n
1 ? ? … ?
2 ? ? … ?
… … … … …
n ? ? … ?
Jurusan Teknik Informatika 05/06 - 25 Universitas Widyatama Algoritma & Pemrograman I
Deklarasi 2 Dimensi dalam Algoritma
Nama Array: Array [Jumlah Baris,Jumlah Kolom] of Tipe Data
Atau
Nama Array [Jumlah Baris,Jumlah Kolom] : Tipe Data Dimana :
• Jumlah Baris : jumlah data yang paling banyak bisa ditampung per baris dalam Nama Array
• Jumlah Kolom : jumlah data yang paling banyak bisa ditampung per kolom dalam Nama Array
Ex:
Nilai: Array [5,3] of Integer atau Nilai[5,3]: Integer
Jurusan Teknik Informatika 05/06 - 26 Universitas Widyatama Algoritma & Pemrograman I
Deklarasi 2 Dimensi dalam C/C++
Tipe Data Nama Array[Max Baris] [Max Kolom]
Dimana :
• Max Baris : jumlah baris yang paling banyak bisa ditampung dalam Nama Array
• Max Kolom : jumlah kolom yang paling banyak bisa ditampung dalam Nama Array
Ex : int Matriks[3] [4], maka array yang terbentuk adalah
Index 1 2 3 4
1 ? ? ? ?
2 ? ? ? ?
3 ? ? ? ?
Jurusan Teknik Informatika 05/06 - 27 Universitas Widyatama Algoritma & Pemrograman I
Input & Output
Operasi Algoritma Program
Assignment NamaArray[indeksRow,inde ksCol] Nilai Ex: A[10] 1001
Nama_Array[indeksRow]
[indeksCol] = Nilai;
ex : A[10][11] = 1001;
Input INPUT
NamaArray[indekxRow,inde ksCol]
Ex: INPUT A[10,11]
• scanf(“%format”,&Nama Array[indeksRow][indexCol]
);
ex : scanf(“%d”,&A[10][11]);
• cin>>Nama
Array[indeksRow][indexCol];
ex: cin>>A[10][11];
Output OUTPUT
NamaArray[indekxRow,inde ksCol]
Ex: OUTPUT A[10,11]
• printf(“%format”,Nama Array[indeksRow]
[indexCol]);
ex : printf(“%d”,A[10][11]);
• cout<<Nama
Array[indeksRow][indexCol];
ex: cout<<A[10][11];
Jurusan Teknik Informatika 05/06 - 28 Universitas Widyatama Algoritma & Pemrograman I
Deklarasi n Dimensi dalam Algoritma
Nama Array: Array [Max Indeks ke-1,…, Max Indeks ke-n] of Tipe Data
Atau
Nama Array [Max Indeks ke-1,…, Max Indeks ke-n] : Tipe Data
Ex:
Nilai: Array [5,4,3] of Integer //Array 3 Dimensi Nilai[5,4,3]: Integer
Nilai: Array [6,5,4,3] of Real//Array 4 Dimensi Nilai[6,5,4,3]: Real
dst
Jurusan Teknik Informatika 05/06 - 29 Universitas Widyatama Algoritma & Pemrograman I