ALGORITMA DAN STRUKTUR DATA
(BAHASA C)
1.1 Pengertian Struktur Data
Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
Linier :Stack,Queue,sertaListdan Multilist.
Non Linier : Pohon Biner dan Graph.
Non Linier : Pohon Biner dan Graph.
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
1.2 Pengertian Algoritma
Kata Algoritma berasal dari bahasa arab yaitu Algorism yang berarti proses menghitung dengan angka arab. Sedangkan Algorist adalah orang yang menghitung dengan menggunakan angka arab. Sebenarnya, Algoritma itu sendiri berasal dari nama seorang ahli matematika dari Uzbekistan yaitu Abu Abdullah Muhammad Ibn Musa al-Khwarizmi yang dibaca oleh orang barat menjadi Algorism.
2.1 Tipe-Tipe dari Data
Tipe data adalah klasifikasi variabel untuk menentukan bentuk keadaan data yang akan disimpan dalam memori dan jenis operasiapa yang dapat dilakukan oleh variabel tersebut. variabel memiliki 3 jenis tipe data yaitu Variabel Numerik, Variabel Text dan Boolean.
A.Variabel Numerik : Memungkinkan kita untuk menyimpan data dalam bentuk bilangan. Variabel numerik dapat dibagi menjadi beberapa bagian yaitu : Bilangan Bulat (Integer
int
), Bilangan Desimal Berpresisi Tunggal (Floating Point float
). Bilangan Desimal Berpresisi Ganda (Double Precision double
).
B.Variabel Text : memungkinkan kita untuk menyimpan data dalam bentuk Karakter. Bahasa Pemrograman C++ menyediakan beberapa tipe data dasar seperti
char
(Character atau Karakter Tunggal) dan string
(Kumpulan Karakter).
C.Boolean : pada bahasa pemrograman C++ ditulis dengan penulisan
bool
merupakan jenis memori yang dapat mewakili satu nilai dari dua pilihan yaitu 1
(True) atau 0
(False).
3.1 sturktur data pada bahasa C
A.Array
Array adalah kumpulan data bertipe sama yang menggunakan nama sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan di dalam kurung siku.
B.String
String sangat memudahkan tugas pemogram. Dengan menggunakan string, pemogram dapat menampilkan pesan kesalahan, menampilkan prompt bagi masukan keyboard ataupun memberikan informasi pada layar dengan mudah.
Seperti halnya tipe data yang lain, string dapat berupa konstanta atau variabel. Konstanta string sudah biasa anda sertakan pada program. Misalnya pada pernyataan :
cout << “C++”<<endl;
terdapat konstanta string “C++”. Tetapi sejauh ini, variabel string belum diperkenalkan.
C.Pointer
Pointer adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.
D. Struktur
Struktur adalah sekumpulan variabel yang masing-masing dapat berbeda tipe, dan dikelompokkan ke dalam satu nama (menurut Pascal, struktur juga dikenal sebagai record). Struktur membantu mengatur data-data yang rumit, khususnya dalam program yang besar, karena struktur membiarkan sekelompok variabel diperlakukan sebagai satu unit daripada sebagai entity yang terpisah.
Salah satu contoh struktur tradisional adalah record daftar gaji karyawan, dimana karyawan digambarkan dengan susunan lambang seperti nama, alamat, nomor jaminan sosial, gaji dan sebagainya. Beberapa dari lambang tersebut biasanya berupa struktur, nama mempunyai komponen begitu juga alamat dan gaji.
Struktur ini sering digunakan untuk mendefinisikan suatu record data yang disimpan di dalam file. Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type), yang disusun dengan menggunakan obyek tipe lain.
E.Sort (Sorting)
Sort adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu.
Biasanya pengurutan terbagi menjadi 2 yaitu :
Ø Ascending (pengurutan dari karakter / angka kecil ke karakter / angka besar)
Ø Descending (pengurutan dari karakter / angka besar ke karakter / angka kecil)
Ada banyak cara yang dapat dilakukan untuk melakukan proses pengurutan dari paling tinggi ke paling rendah atau sebaliknya. Untuk masalah pengurutan pada array kita tidak dapat langsung menukar isi dari variabel yang ada, tetapi menggunakan metode penukaran (swap).
F.Linked List
Konsep dasar struktur data dinamis adalah alokasi memori yang dilakukan secara dinamis. Pada konsep ini, terdapat suatu struktur yang disebut dengan struktur referensi diri (self-referential structure), mempunyai anggota pointer yang menunjuk ke struktur yang sama dengan dirinya sendiri.
Struktur data dinamis sederhana dapat dibagi menjadi empat jenis, yaitu :
- Linked list
- Stack
- Queue
- Binary tree
G.Stack (Tumpukan)
Stack merupakan bentuk khusus dari suatu struktur data, dimana node yang ditambahkan ke dalam list dan diambil dari list hanya pada kepalanya, atau dengan prinsip pengolahannya adalah last-in first-out (LIFO). Pada struktur ini hanya ada dua fungsi utama, yaitu push (memasukkan node ke dalam stack), dan pop (mengambil node dari stack).
Pengertian Tumpukan
Secara sederhana tumpukan bisa diartikan sebagai kumpulan data yang seolah-olah diletakkan di atas data yang lain. Dalam suatu tumpukan akan dapat dilakukan operasi penambahan (penyisipan) dan pengambilan (penghapusan) data melalui ujung yang sama, ujung ini merupakan ujung atas tumpukan.
H.Queue (Antrian)
Queue (Antrian) adalah suatu kumpulan data yang penambahan elemennya hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan atau pengambilan elemen dilakukan lewat ujung yang lain (disebut dengan sisi depan atau front)
Jika pada tumpukan dikenal dengan menggunakan prinsip LIFO (Last In First Out), maka pada antrian prinsip yang digunakan adalah FIFO (First In First Out).
I.Tree (Pohon)
Struktur pada tree (pohon) tidak linear seperti pada struktur linked list, stack, dan queue. Setiap node pada tree mempunyai tingkatan, yaitu orang tua (parent) dan anak (child). Struktur ini sebenarnya merupakan bentuk khusus dari struktur tree yang lebih umum, setiap orang tua hanya memiliki dua anak sehingga disebut pohon biner (binary tree), yaitu anak kiri dan anak kanan.
ISTILAH DASAR
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree dapat didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut root dan node, disebut sub tree/sub pohon atau cabang.
Sehingga secara sederhana pohon bisa didefinisikan sebagai kumpulan elemen yang salah satu elemennya disebut dengan akar (root) dan elemen yang lainnya (simpul), terpecah menjadi sejumlah himpunan yang saling tidak berhubungan satu dengan yang lainnya.
4.1 Contoh kasus pada bidang teknik elektro
salah satu contoh nya pada pembuatan program pada sebuah sebuah alat atau perangkat yang digunakan seperti arduino untuk memprogram suatu alat yang digunakan pada alat tersebut, dan membuat program sesuai dengan apa yang dinginkan contoh nya pada sebuah alat yang mengatur suhu atau sensor yang menggunakan pemogram pada bahasa c tersebut
salah satu contoh nya pada pembuatan program pada sebuah sebuah alat atau perangkat yang digunakan seperti arduino untuk memprogram suatu alat yang digunakan pada alat tersebut, dan membuat program sesuai dengan apa yang dinginkan contoh nya pada sebuah alat yang mengatur suhu atau sensor yang menggunakan pemogram pada bahasa c tersebut
DAFTAR PUSTAKA ;
http://kedaikode.blogspot.com/2011/07/struktur-data-bahasa-c.html
http://mfachrizal17.blogspot.com/2017/06/makalah-algoritma-dan-struktur-data-1.html