ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

ARRAY 1 DIMENSI Array 1 dimensi
Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman I
Array.
ARRAY STATIS DAN DINAMIS
ARRAY ??.
MODUL 13 STRING 13.1 Pendahuluan String merupakan suatu kumpulan
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
Teknik Informatika Universitas Pembangunan Jaya
STRUKTUR DATA (2) searching array
Algoritma dan Pemrograman
STRUKTUR DATA (D3) - Review array - Searching (Sequential & Binary)
POINTER
Pemrogramman Terstruktur
Pemrograman Berorientasi Obyek
ARRAY Dr. Lily Wulandari.
Teknik Pemrograman Terstruktur 2
ARRAY (LARIK)
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
PERTEMUAN VI POINTER LANJUT
Pemrograman Berbasis Obyek Oleh Tita Karlita
ARRAY 2 Dimensi.
ARRAY.
Array dan String Array dan String.
ARRAY Suatu array (larik) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen ini disebut dengan.
Array variabel Merupakan jenis data yang memresentasikan suatu kumpulan data dengan tipe yang sama dengan menempatkannya dalam bentuk larik Antara satu.
PERTEMUAN IV STRING JURUSAN TELEKOMUNIKASI
Pointer Yuliana Setiowati.
POINTER (VAR.PENUNJUK)
Algoritma dan Struktur Data
LARIK ( ARRAY ).
PART 7 Array DOSEN : AHMAD APANDI, ST.
Array dan String.
Struktur Data Array dan Mapping Array
POINTER.
STRUKTUR DATA (2) searching array
Teknik Pemrog. Terstruktur 2
Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman
Bab 6 ARRAY Riyanto Sigit Dasar Array  Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah.
DASAR STRING PEMROGRAMAN SISTEM.
PEMROGRAMAN SISTEM DASAR STRING Pertemuan VIII
Castaka Agus Sugianto, M.Kom., M.CS
Algoritma dan Pemrograman
Pemrograman Terstruktur
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
ALGORITMA PEMROGRAMAN 2A
Universitas Respati Yogyakarta
Bahasa Pemprograman Dasar Pertemuan 9
Pointer TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
Array By Serdiwansyah N. A..
Array Multidimensi.
Array.
Struktur Data (Data Structure) – IS 2313
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
ARRAY.
MULTIDIMENSI ARRAY Struktur Data
Array.
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
Array (Larik)‏ Struktur Data 1 1.
Praktikum KBP 2 Array.
KONSEP DASAR STRUKTUR DATA
ARRAY (LARIK) MINGGU VI.
Algoritma dan Pemrograman
ALGORITMA & STRUKTUR DATA C Programming
Algoritma Pemrograman
Bab VI Array dan String.
ARRAY.
Transcript presentasi:

ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt

ARRAY/LARIK Array adalah kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Nilai-nilai data itu disebut dengan elemen. Letak atau urutan dari suatu elemen array ditunjukkan oleh suatu index/subscript. Untuk bahasa C, elemen pertama dari suatu array dimulai dari indeks nol. Suatu array dapat ber-dimensi satu atau lebih.

ARRAY 1 DIMENSI Bentuk umum deklarasi array 1 dimensi: tipe_data nama_variabel[n]; Dimana n adalah jumlah elemen atau ukuran array Contoh: int x[3]={5,3,7}; Artinya Array x bertipe integer, mempunyai 3 elemen yaitu x[0], x[1] dan x[2] x[0] bernilai 5, x[1] bernilai 3, x[2] bernilai 7

Beda array dengan varibel biasa: Sebuah larik/array dapat mempunyai sejumlah nilai, sedang sebuah varibel biasa hanya dihubungkan dengan sebuah nilai saja Dengan array Dengan variabel biasa

ARRAY 2 DIMENSI Mempunyai elemen BARIS & KOLOM Dapat dipakai untuk representasi sebuah MATRIK Struktur data untuk rekapitulasi informasi berdasar baris dan kolom  TABEL, misal: penjualan barang Memakai NESTED LOOPING dalam operasinya

ARRAY 2 DIMENSI Bentuk umum penulisan tipe_data variabel[i] [j]; Dimana i dan j adalah ukuran dari array. i menunjukkan jml baris, j menunjukkan jml kolom Jumlah data yang bisa disimpan oleh array 2 dimensi adalah i x j. Contoh: int x[2][4]={8,5,9,8,8,2,1,0};  merepresentsikan matriks dengan 2 baris dan 4 kolom x= 8 5 9 8 8 2 1 0

Array Berdimensi Banyak Bentuk umum deklarasi array dimensi satu: tipe_data nama_var[i][j]..[n]; dimana i, j, n adalah ukuran dari array. Contoh deklarasi: int nilai[4][2][7][21];

Array Tak Berukuran Array dapat dideklarasikan tanpa memberi ukuran (jumlah data dalam array). Dengan syarat: Harus langsung diinisialisasi. Hanya elemen pertama yang boleh tidak berukuran. Contoh: int x[] = {32, 45, 67,21}; int x[][2]={{9,7},{4,2},{8,3}};

STRING

STRING String merupakan bentuk data yang digunakan untuk menampung dan memanipulasi data teks. Pada C, string bukan merupakan satu tipe data tersendiri, melainkan merupakan array dari karakter. Contoh: char mystring[35]; char myname[] = “Hello World”;

Konstanta String Konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda. Contoh: #define abjad “ABeCe” #define judul “Stringku”

Penggunaan Memory Komposisi penyimpanan string dalam memori: Setiap karakter akan menempati memori sebesar 1 byte Byte terakhir otomatis akan berisi karakter NULL (\0)

Variable String Variabel string adalah variabel yang dipakai utuk menyimpan nilai string. Variabel string sebenarnya merupakan variabel array bertipe data char. string = array of char Contoh: char nama[35]; char alamat[60];

Inisialisasi Variabel String Seperti halnya variabel tipe lain, suatu variabel string dapat diinisialisasi dengan elemen terakhirnya berupa karakter NULL. Contoh: char name[]={‘J',’o',‘y',’\0’}; char name[]= “Joy”; Penugasan atau pemberian nilai ke variabel string seperti dibawah ini tidak diperkenankan name = “RINI”;

Array String suatu string dapat dibentuk dari array karakter berdimensi satu Dengan cara yang sama, berarti array string dimensi satu dapat dibentuk dari array karakter dimensi dua. Array string dimensi dua dapat dibentuk dari array karakter dimensi tiga dan seterusnya.

Array String Contoh berikut menunjukkan deklarasi suatu Array string dimensi satu yang dibentuk dari array karakter dimensi dua. (perhatikan bahwa deklarasi ini menggunakan tipe char) #include <stdio.h> main() { int i,j; char Hari[7][10]={"Minggu","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu"}; for(i=0;i<7;i++) { for(j=0;j<10;j++) printf("%c",Hari[i][j]); printf("\n"); }

Output String Untuk menampilkan isi variabel string ke layar monitor bisa menggunakan perintah puts() atau printf(). Fungsi puts() akan menampilkan isi dari var_string dan secara otomatis menambahkan karakter '\n' di akhir string Sedangkan fungsi printf() akan menampilkan isi variabel string tanpa memberikan tambahan '\n‘. Contoh: puts(nama); printf (“%s”, nama);

Input String Untuk memberikan nilai string dari keyboard dapat menggunakan perintah gets() atau scanf(). Contoh: gets(nama); scanf(“%s”, nama); Keterangan: nama adalah variabel bertipe array of char. Didepan nama tidak perlu ada tanda & (operator alamat). Kalau memakai scanf(), data string masukan tidak boleh mengandung spasi.

Contoh #1 #include <stdio.h> main() { char nama[35], kota[15]; printf("Masukkan nama Anda : "); gets(nama); printf("Masukkan kota Anda: "); scanf("%s", kota); printf("\nHallo "); puts(nama); printf("Rumahmu %s ya...\n“,kota); printf("Bye.. Bye..\n"); }

Mengakses String Variabel string merupakan bentuk khusus dari array bertipe char Elemen dari variabel string dapat diakses seperti halnya pengaksesan elemen pada array. Contoh: printf(“%c”, nama[2]);

Fungsi-Fungsi Pada String strcpy(): untuk menyalin nilai string. strlen(): untuk mengetahui panjang nilai string. strcmp(): untuk membandingkan dua nilai string. strcat(): untuk menggabung nilai string. strchr(): untuk mencari nilai karakter dalam string.

Contoh #2 #include <stdio.h> main() { char str01[] = "Piala"; char str02[] = "Pialang"; char str03[20]; printf("Panjang str01 = %d karakter.\n", strlen(str01)); strcpy(str03, "Ini string ke 3"); printf("Isi dari str03 = %s.\n", str03); printf("str01 VS str02 = %d\n", strcmp(str01, str02)); strcat(str01, str02); printf("Isi str01 sekarang = %s.\n", str01); }

STRUCT

STRUCT DEFINISI User defined data type Berisi beberapa variabel yang bisa berbeda tipenya  masing-masing disebut elemen Mempunyai nama yang sama Mirip representasi sebuah object beserta properties-nya. Contoh: struct MHS punya elemen untuk NPM, Nama dan Alamat.

STRUCT DEKLARASI Syntax: struct nama_struct { tipe_data_1 nama_var_1; …… }; Contoh: struct barang { char Kode[5]; char Nama[30]; int Unit; float Harga; }

STRUCT CARA PENGAKSESAN Untuk mengakses tiap elemen di dalam sebuah struct digunakan operator titik (.) Syntax: nama_var_struct . nama_var_elemen; Contoh:

NESTED STRUCT Sebuah kondisi dimana di dalam sebuah struct terdapat tipe data berupa struct lagi. Contoh

STRUCT OF ARRAY Sebuah struct yang di dalamnya terdapat variable/ elemen yang bertipe array.

ARRAY OF STRUCT Sebuah array yang setiap data elemennya bertipe struct. Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang, dsb.

POINTER

POINTER Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Sebagai contoh, px adalah variabel pointer dan x adalah variabel yang ditunjuk oleh px. Kalau x berada pada alamat memori 1000, maka px akan berisi 1000.

Contoh ‘J’ FFDB FFDC FFDD FFDE FFDD Alamat_X #include <stdio.h> Main() { char *Alamat_X, X; X=‘J’; Alamat_X=&X; printf(“Nilai varibel X, berada di alamat &p, Alamat_X); } Alamat Memori Nilai yg disimpan FFDB FFDC FFDD FFDE ‘J’ FFDD Alamat_X

Deklarasi Pointer Contoh pertama menyatakan bahwa px adalah variabel pointer yang menunjuk ke suatu data bertipe int, sedangkan contoh kedua masing pch1 dan pch2 adalah variabel pointer yang menunjuk ke data bertipe char.

Operator pointer Operator Pointer ada dua, yaitu : Operator & · Operator & bersifat unary (hanya memerlukan satu operand saja). · Operator & menghasilkan alamat dari operandnya. Operator * · Operator * bersifat unary (hanya memerlukan satu operand saja). · Operator * menghasilkan nilai yang berada pada sebuah alamat.

Mengakses Isi Suatu Variabel Melalui Pointer Jika suatu variabel sudah ditunjuk oleh pointer, variabel yang ditunjuk oleh pointer tersebut dapat diakses melalui variabel itu sendiri (pengaksesan langsung) ataupun melalui pointer (pengaksesan tak langsung). Pengaksesan tak langsung dilakukan dengan menggunakan operator indirection (tak langsung) berupa simbol *(bersifat unary). Contoh penerapan operator * yaitu : *px yang menyatakan “isi atau nilai variabel/data yang ditunjuk oleh pointer px” . Sebagai contoh jika y bertipe int, maka sesudah dua pernyataan berikut px = &x; y = *px;

Contoh penggunaan operator *

Pada program di atas, dua pernyataan px = &x; y = *px; Output Alamat x = 0012FF78 Isi px = 0012FF78 Isi x = 87 Nilai yang ditunjuk oleh px = 87 Nilai y = 87 Pada program di atas, dua pernyataan px = &x; y = *px; sebenarnya dapat digantikan dengan sebuah pernyataan berupa y = x; Seandainya pada program di atas tidak terdapat pernyataan namun terdapat pernyataan maka y tidaklah berisi nilai x, sebab px belum diatur agar menunjuk ke variabel x. Hal seperti ini harap diperhatikan. Kalau program melibatkan pointer, dan pointer belum diinisialisasi, ada kemungkinan akan terjadi masalah yang dinamakan “bug” yang bisa mengakibatkan komputer tidak dapat dikendalikan (hang). Selain itu tipe variabel pointer dan tipe data yang ditunjuk harus sejenis. Bila tidak sejenis maka akan terjadi hasil yang tidak diinginkan.

Contoh lain #include <stdio.h> main() { int *pu; int nu; int u = 1234; pu = &u; nu = *pu; printf("Alamat dari u = %p\n", &u); printf("Isi pu = %p\n", pu); printf("Isi u = %d\n", u); printf("Nilai yang ditunjuk oleh pu = %d\n", *pu); printf("Nilai nu = %d\n", nu); }

Pada contoh di atas, saat penugasan pu = &u; maka pu akan menunjuk data berukuran 4 byte (tipe float) sekalipun u berukuran 2 byte (tipe int). Oleh karena itu, pernyataan nu = *pu; tidak akan membuat nu berisi nilai u.