Overview ARRAY/LARIK Pertemuan 05-07 Deskripsi Tujuan Instruksional Array of Char String Array of Number Array Multi Dimensi Jurusan Teknik Informatika 05/06-2 Universitas Widyatama Materi ini mempelajari : String Array Multi Dimensi Array 2 Dimensi (Matriks) Array n Dimensi Deskripsi Tujuan Instruksional Mahasiswa diharapkan dapat : Menjelaskan pengertian dan manfaat Array, serta cara penulisannya Menjelaskan jenis-jenis Array Menjelaskan penggunaan Array 1 dan multi Menggunakan Array 1 dan multi Jurusan Teknik Informatika 05/06-3 Universitas Widyatama Jurusan Teknik Informatika 05/06-4 Universitas Widyatama Array/Larik 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 olehsubsricpt 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
Jenis-Jenis Array String (Array of char) Array 1 Dimensi (non string) Array Multi Array 2 Dimensi (Matriks) Array 3 Dimensi Array n Dimensi ARRAY 1 DIMENSI Jurusan Teknik Informatika 05/06-7 Universitas Widyatama STRING (array of Char) Kata atau Kalimat Kumpulan dari beberapa karakter (huruf, kata, tanda baca, spasi dst) Suatu jenis array 1 yang berisi data dengan tipe character Jurusan Teknik Informatika 05/06-10 Universitas Widyatama Deklarasi dalam Algoritma Deklarasi dalam C/C++ Nama string[max karakter]: String Ex : Kata[255] : String Nama_Mhs[50]: String Alamat : String char Nama string[max karakter +1] 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 a p e D e h \0 Indeks : 0 1 2 3 4 5 6 7 8 Jurusan Teknik Informatika 05/06-11 Universitas Widyatama Jurusan Teknik Informatika 05/06-12 Universitas Widyatama 2
Konsep Input & Variabel Biasa ex : int Biasa; misalkan kita isi dengan nilai 75 Biasa 75 xxx Variabel String ex : char Kata[4]; misalkan kita isi dengan kata NO Kata 1000 xx10 N O xx21 xx22 \0 xx23? xx24 Jurusan Teknik Informatika 05/06-13 Universitas Widyatama Assignment NamaString <<isi string>> Nama Danang strcpy(namastring, <<isi string>> ) strcpy(nama, Danang ); Input INPUT NamaString gets(nama string); scanf( %s,nama string); cin>> nama string; NamaString puts(nama string); printf( %s,nama string); cout<< nama string; Apa bedanya???? Jurusan Teknik Informatika 05/06-14 Universitas Widyatama 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-15 Universitas Widyatama 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); Jurusan Teknik Informatika 05/06-16 Universitas Widyatama ARRAY 1 DIMENSI (Tipe selain character) : 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 4 0 1 Jurusan Teknik Informatika 05/06-18 Universitas Widyatama 3
Deklarasi dalam Algoritma Deklarasi dalam C/C++ Nama Array: Array [Jumlah Max ] of Tipe Nama Array [Jumlah Max ] : Tipe Jumlah Max : jumlah data yang paling banyak bisa ditampung dalam Nama Array Nilai: Array [5] of Integer atau Nilai[5]: Integer Tipe Nama Array[Jumlah Max ] Jumlah Max : jumlah data yang paling banyak bisa ditampung dalam Nama Array int Nilai[5]; Jurusan Teknik Informatika 05/06-19 Universitas Widyatama Jurusan Teknik Informatika 05/06-20 Universitas Widyatama Konsep Input & Variabel Array 1 Dimensi ex : int 1[4] = {1,2,3,4,5}; int 2[4]; 1 1000 xx10 1 xx20 2 xx21 3 xx22 4 xx23 5 xx24 2 1001 xx10? xx20? xx21? xx22? xx23? xx24 Assignment NamaArray[Indeks] Nilai A[10] 1001 Input INPUT NamaArray[Indeks] INPUT A[10] NamaArray[Indeks] A[10] Nama_Array[indeks] = Nilai; ex : A[10] = 1001; scanf( %format,&nama Array[indeks]); ex : scanf( %d,&a[10]); cin>>nama Array[indeks]; ex: cin>>a[10]; printf( %format,nama Array[indeks]); ex : printf( %d,a[10]); cout<<nama Array[indeks]; ex: cout<<a[10]; Jurusan Teknik Informatika 05/06-21 Universitas Widyatama Jurusan Teknik Informatika 05/06-22 Universitas Widyatama 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
Deklarasi 2 Dimensi dalam Algoritma Deklarasi 2 Dimensi dalam C/C++ Nama Array: Array [Jumlah Baris,Jumlah Kolom] of Tipe Nama Array [Jumlah Baris,Jumlah Kolom] : Tipe 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 Nilai: Array[5,3] of Integer atau Nilai[5,3]: Integer Tipe Nama Array[Max Baris] [Max Kolom] 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-25 Universitas Widyatama Jurusan Teknik Informatika 05/06-26 Universitas Widyatama Input & Deklarasi n Dimensi dalam Algoritma Assignment NamaArray[indeksRow,inde kscol] Nilai A[10] 1001 Input INPUT NamaArray[indekxRow,inde kscol] INPUT A[10,11] NamaArray[indekxRow,inde kscol] A[10,11] Nama_Array[indeksRow] [indekscol] = Nilai; ex : A[10][11] = 1001; scanf( %format,&nama Array[indeksRow][indexCol] ); ex : scanf( %d,&a[10][11]); cin>>nama Array[indeksRow][indexCol]; ex: cin>>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-27 Universitas Widyatama Nama Array: Array [Max Indeks ke-1,, Max Indeks ke-n] of Tipe Nama Array [Max Indeks ke-1,, Max Indeks ke-n] : Tipe 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 Deklarasi n Dimensi Tipe 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 int Matriks[6] [5][4][3] maka array yang terbentuk adalah array 4 dst Jurusan Teknik Informatika 05/06-29 Universitas Widyatama 5