Algoritma & Pemrograman I
Overview • Deskripsi • Tujuan Instruksional • Array 1 Dimensi
ARRAY/LARIK Pertemuan 05-07
– Array of Char String – Array of Number
• Array Multi Dimensi
Jurusan Teknik Informatika
Algoritma & Pemrograman I
05/06 - 2
Universitas Widyatama
Algoritma & Pemrograman I
Deskripsi
Mahasiswa diharapkan dapat :
Materi ini mempelajari : • String • Array 1 Dimensi • Array Multi Dimensi
• 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
– Array 2 Dimensi (Matriks) – Array n Dimensi
Jurusan Teknik Informatika
05/06 - 3
Tujuan Instruksional
Universitas Widyatama
Algoritma & Pemrograman I
Jurusan Teknik Informatika
05/06 - 4
Universitas Widyatama
Algoritma & Pemrograman I
Definisi Array/Larik
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 masingmasing 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.
• 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 - 5
Universitas Widyatama
Jurusan Teknik Informatika
05/06 - 6
Universitas Widyatama
1
Algoritma & Pemrograman I
Jenis-Jenis Array • Array 1 Dimensi
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
Jurusan Teknik Informatika
05/06 - 7
Universitas Widyatama
Algoritma & Pemrograman I
Definisi
STRING (array of Char)
• Kata atau Kalimat • Kumpulan dari beberapa karakter (huruf, kata, tanda baca, spasi dst) • Suatu jenis array 1 dimensi yang berisi data dengan tipe character
Jurusan Teknik Informatika
Algoritma & Pemrograman I
05/06 - 10
Universitas Widyatama
Algoritma & Pemrograman I
Deklarasi dalam Algoritma Nama string[Max karakter]: String Ex : • Kata[255] : String • Nama_Mhs[50]: String • Alamat : String
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 : C Indeks : 0 Jurusan Teknik Informatika
05/06 - 11
Universitas Widyatama
a
p
e
1
2
3
Jurusan Teknik Informatika
D
e
h
\0
5
6
7
8
4 05/06 - 12
Universitas Widyatama
2
Algoritma & Pemrograman I
Algoritma & Pemrograman I
Konsep • Variabel Biasa ex : int Biasa;
Input & Output Operasi
misalkan kita isi dengan nilai 75
Nama
Nilai
Alamat
Biasa
75
xxx
• Variabel String ex : char Kata[4]; misalkan kita isi dengan kata “NO” Nama
Nilai
Alamat
Kata
1000
xx10
‘N’
xx21
‘O’
xx22
\0
xx23
?
xx24
Jurusan Teknik Informatika
Algoritma
Assignment NamaString “<
>” Ex: Nama “Danang”
Program strcpy(NamaString, “<>”) 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???? 05/06 - 13
Universitas Widyatama
Algoritma & Pemrograman I
Jurusan Teknik Informatika
05/06 - 14
Universitas Widyatama
Algoritma & Pemrograman I
Manipulasi dalam C/C++ (1)
Manipulasi dalam C/C++ (2) • Manipulasi (lanjutan) :
• Library Header : string.h • Manipulasi :
– Ubah ke Huruf Kapital strupr(Nama String) ex : strupr(Kata);
– Copy String
– Ubah Ke Huruf Kecil
strcpy(String Tujuan,String Asal)
strlwr(Nama String)
ex : strcpy(Kata,”Saya”); or
ex : strlwr(Kata);
strcpy(Kata1,Kata2);
– Penggabungan String
– Panjang String
strcat(String Tujuan,String Asal)
Nama_Panjang_String = strlen(Nama String)
ex : strcat(Kata1, Kata2);
– Perbandingan String
ex : Ukuran =strlen(Kata);
status = strcmp(String1,String2)
– Membalik Urutan String
• status bernilai 0 jika String1 = String2 • status bernilai positif jika String1 > String2 • status bernilai negatif jika String1 < String2
strrev(Nama String) ex : strlen(Kata); Jurusan Teknik Informatika
ex : status = strcmp(Kata1,Kata2); 05/06 - 15
Universitas Widyatama
Jurusan Teknik Informatika
05/06 - 16
Universitas Widyatama
Algoritma & Pemrograman I
Definisi
ARRAY 1 DIMENSI (Tipe selain character)
• Array 1 Dimensi : array yang berisi data dengan tipe selain karakter (terdiri hanya dari 1 baris data atau hanya 1 kolom data) Ex : 1 3 5 7 9 … Indeks Indeks : 0 1 2 3 4 … 2 0 4 1 … …
Jurusan Teknik Informatika
05/06 - 18
Universitas Widyatama
3
Algoritma & Pemrograman I
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:
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];
Nilai: Array [5] of Integer atau Nilai[5]: Integer
Jurusan Teknik Informatika
05/06 - 19
Universitas Widyatama
Algoritma & Pemrograman I
Jurusan Teknik Informatika
05/06 - 20
Universitas Widyatama
Algoritma & Pemrograman I
Konsep Operasi
• Variabel Array 1 Dimensi ex : int Data1[4] = {1,2,3,4,5}; int Data2[4]; Nilai
Alamat
Nama
Nilai
Alamat
Data1
1000
xx10
Data2
1001
xx10
1
xx20
?
xx20
2
xx21
?
xx21
3
xx22
?
xx22
4
xx23
?
xx23
5
xx24
?
xx24
05/06 - 21
Algoritma
Program
Assignment NamaArray[Indeks] Nilai Ex: A[10] 1001
Nama
Jurusan Teknik Informatika
Input & Output
Nama_Array[indeks] = Nilai; ex : A[10] = 1001;
Input
INPUT NamaArray[Indeks] • scanf(“%format”,&Nama Array[indeks]); Ex: INPUT A[10] ex : scanf(“%d”,&A[10]); • cin>>Nama Array[indeks]; ex: cin>>A[10];
Output
OUTPUT NamaArray[Indeks] Ex: OUTPUT A[10]
Universitas Widyatama
• printf(“%format”,Nama Array[indeks]); ex : printf(“%d”,A[10]); • cout<
Jurusan Teknik Informatika
05/06 - 22
Universitas Widyatama
Algoritma & Pemrograman I
Definisi
ARRAY MULTI DIMENSI
• Array 2 Dimensi : array yang berisi data dengan tipe selain karakter (terdiri dari 1 baris data dan 1 kolom data) Ex : Index 1 2 … n 1
?
?
…
2
?
?
…
? ?
…
…
…
…
…
n
?
?
…
?
• Array n Dimensi
Jurusan Teknik Informatika
05/06 - 24
Universitas Widyatama
4
Algoritma & Pemrograman I
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:
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
?
?
?
?
Nilai: Array [5,3] of Integer atau Nilai[5,3]: Integer
Jurusan Teknik Informatika
05/06 - 25
Universitas Widyatama
Algoritma & Pemrograman I
Jurusan Teknik Informatika
Universitas Widyatama
Algoritma & Pemrograman I
Deklarasi n Dimensi dalam Algoritma
Input & Output Operasi
Algoritma
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 NamaArray[indekxRow,inde ksCol] Ex: OUTPUT A[10,11]
• printf(“%format”,Nama Array[indeksRow] [indexCol]); ex : printf(“%d”,A[10][11]); • cout<
Output
05/06 - 26
Jurusan Teknik Informatika
Program
05/06 - 27
Universitas Widyatama
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 - 28
Universitas Widyatama
Algoritma & Pemrograman I
Deklarasi n Dimensi Tipe Data Nama Array[Max Indeks ke-1] [Max Indeks ke-2] … [Max Indeks ke-n] Ex : • int Matriks[5] [4][3] maka array yang terbentuk adalah array 3 dimensi • int Matriks[6] [5][4][3] maka array yang terbentuk adalah array 4 dimensi • dst
Jurusan Teknik Informatika
05/06 - 29
Universitas Widyatama
5