180 likes | 397 Views
TEL 2112 Dasar Komputer & Pemograman Larik ( Array ). Dosen: Abdillah, MIT Email: abdill01@gmail.com Website: http://abdill01.wordpress.com. Tujuan. Mahasiswa mampu menggunakan larik untuk memecahkan masalah dan mentranslasikannya ke dalam program. Apa itu Larik ?.
E N D
TEL 2112Dasar Komputer & PemogramanLarik (Array) Dosen: Abdillah, MIT Email: abdill01@gmail.com Website: http://abdill01.wordpress.com
Tujuan Mahasiswa mampu menggunakan larik untuk memecahkan masalah dan mentranslasikannya ke dalam program.
Apa itu Larik? • Larik adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. • Setiap elemen mempunyai indeks yang bertipe data berurutan (integer atau karakter). Contoh: Larik A berukuran 5 buah elemen 0 1 2 3 4 A[0], A[1], A[2], A[3] dan A[4].
Kapan Menggunakan Larik? • Larik digunakan jika kita memiliki sejumlah data yang bertipe sama dan kita perlu menyimpan sementara data itu untuk selanjutnya data itu dimanipulasi. • Selama pelaksanaan program, larik tetap menyimpan nilai-nilai. • Dengan menggunakan larik kita menghindari penggunaan nama peubah yang banyak.
Mendeklarasikan Larik • Sebelum digunakan larik harus dideklarasikan dengan cara mendefinisikan ukuran larik dan tipe elemen larik. • Ukuran larik dapat didefinisikan langsung atau dideklarasikan sebagai sebuah konstanta • Elemen larik dapat berupa tipe dasar atau tipe bentukan.
Mendeklarasikan Larik Contoh deklarasi larik bertipe dasar: • A adalah larik berukuran 100 buah elemen yang bertipe integer. • NamaMhs adalah larik berukuran 10 buah elemen yang bertipe string yang panjangnya 25 karakter. /* DEKLARASI */ int A [100]; char NamaMhs [10] [25];
Mendeklarasikan Larik Contoh deklarasi larik bertipe bentukan: • LarikInt adalah nama sebuah tipe baru untuk larik yang bertipe integer dan berukuran 100 elemen. • String adalah nama sebuah tipe baru untuk larik yang bertipe karakter dan berukuran 25 elemen. /* DEKLARASI */ typedef int LarikInt [100]; LarikInt A; typedef char String [25]; String NamaMhs [10];
Mendeklarasikan Larik Contoh deklarasi ukuran larik sebagai konstanta: • Nmaks adalah nama sebuah konstanta untuk ukuran tipe bentukan LarikInt yang bertipe integer. /* DEKLARASI */ const int Nmaks = 100; typedef int LarikInt [Nmaks]; LarikInt A;
Mendeklarasikan Larik Contoh deklarasi larik bertipe terstruktur: /* DEKLARASI */ const int Nmaks = 100; typedef struct { int NIM; char NamaMhs [25]; float IPK; } Mahasiswa typedef Mahasiswa TabMhs [Nmaks]; TabMhs Mhs;
Cara Mengacu Elemen Larik Elemen larik diacu melalui indeksnya. Nilai indeks harus terdefinisi, seperti contoh berikut: A[4] ← 10 NamaMhs[2] ← ‘Ahmad’
Pemrosesan Larik Pemrosesan beruntun pada larik adalah pemrosesan yang dimulai dari elemen pertama larik, berturut-turut pada elemen berikutnya, sampai elemen terakhir dicapai, yaitu elemen dengan indeks terbesar.
Menginisialisasi Larik • Menginisialisasi larik adalah memberikan nilai awal untuk seluruh/sebagian elemen larik. • Untuk larik bertipe numerik, inisialisasi berupa pengisian elemen larik dengan nol atau nilai lainnya. • Sedangkan pada larik karakter, inisialisasi berupa pengisian elemen larik dengan spasi atau karakter kosong (null).
Larik Karakter (String) • String adalah larik karakter dengan panjang dinamis, artinya ukuran larik baru ditentukan pada saat program dieksekusi. • Larik karater diakhiri dengan null (‘\0’). • String kosong adalah larik yang panjangnya 0 dan isinya hanya karakter ‘\0’.
Latihan Buatlah algoritma dan program C yang membaca N buah data integer dari papan ketik,menyimpannya dalam sebuah array, dan menentukan bilangan terbesar dari N buah data integer tsb. Nilai N ditentukan maksimum 20.
Algoritma Program Utama PROGRAMCari_Maximum {Menentukan bilangan terbesar dari N buah data integer} DEKLARASI N = 20, bil[N], nmax, jml, i : integer function Max (inputX[ ],k : integer) → integer ALGORITMA: read (jml) for i 0 to jml do read ( bil[i] ) endfor nmax Max(bil,jml) write (nmax)
Algoritma Fungsi Max function Max (inputX[ ],k : integer) → integer { Mengembalikan nilai maximum } DEKLARASI maximum : integer ALGORITMA: maximum← X[0] for i 0 to k do if X[i] > maximum then maximum← X[i] endif endfor return (maximum)
Program Cari_Maximum #include <stdio.h> #define N 20 int Max(int X[],int k); int i; main() { int jml, nmax, bil[N]; printf("Jumlah bilangan (maks 20) : "); scanf("%d",&jml); for (i=0;i<jml;i++) { printf("Bilangan ke %d : ",i+1); scanf("%d",&bil[i]); } nmax = Max(bil,jml); printf("Nilai maximum adalah : %d", nmax); }
Program Fungsi Max int Max(int X[],int k) { int maximum = X[0]; for (i=1;i<k;i++) { if (X[i] > maximum) maximum = X[i]; } return maximum; }