Achmad Yasid Struktur Data
Materi Pengenalan Array dan Record Procedure dan Fungsi Sorting Searching Stack Queue Link List dan variasinya Double link list Tree
Pengertian Struktur Data Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien Data Representasi fakta dari dunia nyata Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol
Tipe Data Tipe data dapat dikategorikan menjadi : 1. Type data sederhana a. Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter b. Type data sederhana majemuk, misalnya String 2. Struktur Data, meliputi a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List dan Multilist Non Linie Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat,sehingga menjadikan program secara keseluruhan lebih efisien dan sederhanar : Pohon Biner dan Graph
Tipe Data Sederhana Bit Hanya mengandung dua nilai. Biasa kita kenal 0 atau 1 atau True atau False. Group/gabungan dari bits lazim disebut word Boolean (logical) Hanya mempunyai dua nilai. True atau False. Operator boolean seperti : And, Or, Not, Xor .
Himpunan character. Misalkan : Bilangan decimal {1,2,3,…,8,9} Huruf besar {A,B,C,….,Y,Z} Integer Bilangan bulat yang mempunyai nilai antara batas bawah dan batas atas. Real atau Floating Point Angka dengan bilangan dibelakang koma
Tipe data pada C++
Array/Larik Array struktur data statik yang menyimpan sekumpulan elemen dengan tipe data yang sama Setiap elemen diakses langsung melaui indeknya Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter
Array Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana,tipe terstruktur atau tipe larik lain. Nama lain array adalah Larik, tabel atau vektor Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
Pendefinisian Array 1. Sebagai Peubah Contoh : L : array[1..25] of integer NamaMhs : array[‘a’..’j’] of string 2. Sebagai tipe baru type LarikInt : array[1..25] of integer P : LarikInt
3. Mendefinisikan ukuran maksimum elemen larik sebagai konstanta Contoh : Const Nmaks = 10 type Larikint : array[1..Nmaks] of integer P : LarikInt Cara menterjemahkan ke bahasa C : #define Nmaks 10 typedef int Larikint[Nmaks+1]; Larikint P;
Array 1 dimensi
Cara Mengacu Elemen Larik Elemen larik diacu melalui indeksnya. Nilai indek harus terdefinisi. Contoh cara mengacu elemen larik adalah : L[4] {mengacu elemen keempat dari larik L } NamaMhs[‘b’] {mengacu elemen kedua dari larik NamaMhs} P[k] {mengacu elemen ke-k dari larik P,asalkan nilai k sudah terdefinisi }
Menginisialisasi Larik menginisialisasi elemen larik adalah memberikan harga awal untuk seluruh elemen larik, misalnya menginisialisasi dengan nilai 0 seperti di bawah ini : Procedure InisDgn0(output A:larik, input N:integer) {menginisialisasi setiap elemen larik A[1..N] dengan nol} {K. Awal : N adalah banyak elemen efektif larik, nilainya terdefinisi} {K. Akhir : seluruh elemen larik A bernilai nol} Deklarasi : K : integer Deskripsi : for k 1 to N do A[k] 0 endfor
Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan seperti contoh di bawah ini : Procedure BacaLarik(output A:larik, input N:integer) {mengisi elemen larik A[1..N] dengan nilai yang dibaca dari piranti masukan} {K. Awal : N adalah jumlah elemen efektif larik, nilainya terdefinisi} {K. Akhir : seluruh elemen larik A berisi nilai-nilai yang dibaca dari piranti masukan} Deklarasi : K : integer Deskripsi : for k 1 to N do read (A[k]) endfor
Listing Program #include <stdio.h> void main() { char data[3]; /* Mengisi elemen array */ data[1]='A'; data[2]='B'; data[3]='C'; /*Menampilkan data dari array */ printf("%c \n",data[1]); printf("%c \n",data[2]); printf("%c \n",data[3]); }
Input Output Array #include <stdio.h> #include <conio.h> void main() { int nilai[5],x; printf("Masukkan nilai :\n"); for (x=0;x<5;x++) printf("Nilai Angka : "); scanf("%d",&nilai[x]); } printf("\n"); printf("Membaca nilai :\n"); printf("Nilai Angka : %d \n",nilai[x]); getch();
#include <stdio. h> #include <conio #include <stdio.h> #include <conio.h> int main() { int bil[7] = {0}; for (int i=0;i<7;i++) { printf("Elemen ke-%i= %d\talamat: %x\n",i,bil[i],&bil[i]); } getch(); return 0;
Tugas Gunakan Bahasa Pemrograman C 1. Buat Array 1 dimensi yang berisi data Nama Mahasiswa dengan maks indek =10 dan inputkan serta tampilkan data nama mahasiswa pada array tersebut. Gunakan Bahasa Pemrograman C