RINGKASAN MATERI ALGORITMA DAN STRUKTUR DATA

Belajar Algoritma dan Struktur Data.
Algoritma dan Struktur Data adalah salah satu mata kuliah yang saya pelajari. Matakuliah ini sangat menarik, karena kita ditantang untuk membuat suatu struktur program dengan menggunakqan bahasa yang di mengerti oleh konputer. Salah satunya adalah menggunakan bahasa “C” . C adalah bahasa pemrograman yang dikembangkan oleh Dennis Ritchie pada tahun 1970 untuk pemakaian pada sistem operasi UNIX, dan sampai sekarang bahasa ini telah dipergunakan secara praktis pada hampir semua sistem operasi. Bahasa C merupakan bahasa yang paling populer untuk menulis sistem software, dan aplikasi. serta banyak digunakan dalam pelajaran Komputer Sains. Sebelum mulai melakukan coding program, sebaiknya diingat
bahwa C/C++ bersifat “case sensitive”, yang artinya huruf besar dan
huruf kecil dibedakan .
Contoh program pengcodingan dengan bahasa C
#include
#include
void main()
{
clrscr();
cout<<”Hello World”<<endl;
cout<<”Selamat Belajar C/C++ “;
cout<<”enter my World”;
getch();
}
Penjelasan :
1.# include
Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi
terjadi. Bentuk umumnya :
# include
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu
bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut
menginstrusikan kepada kompiler untuk menyisipkan file lain dalam hal ini file
yang berakhiran .h (file header) yaitu file yang berisi C++ standard library.
contohnya:
- #include :
diperlukan pada program yang melibatkan objek cout dan cin
- #include :
diperlukan bila melibatkan clrscr(), yaitu
perintah untuk membersihkan layar dan fungsi getch() untuk menerima
sembarang input keyboard dari user.
- #include :
diperlukan bila melibatkan setw() yang
bermanfaat untuk mengatur lebar dari suatu tampilan data.
- #include :
diperlukan pada program yang menggunkan operasi
sqrt() yang bermanfaat untuk operasi matematika kuadrat.
2.Fungsi main ()
Program C++ terdiri dari satu atau lebih fungsi, dan di antara salah
ditulis di program.
Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang
tubuh program utama berada didalam fungsi main(). Berarti dalam setiap
pembuatan program utama, maka dapat dipastikan seorang pemrogram
menggunakan minimal sebuah fungsi.
Tanda { dan pada akhir program terdapat tanda }. Tanda { harus ada pada
setiap awal dari sebuah fungsi dan tentu saja harus diakhiri dengan tanda }.
Tanda ini digunakan untuk menunjukkan cakupan(scope) dari sebuah fungsi,
dimana untuk menunjukkan fungsi ini dimulai dan berakhir.
3.TIPE DATA
Terdapat 5 tipe data bawaan dari bahasa C, yaitu : void, integer, float, double, dan char.
4. Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2
jenis komentar, yaitu:
Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa sebaris )
Programmer sering sekali memasukkan komentar di dalam code agar program
lebih mudah dibaca. Komentar juga membantu orang lain untuk membaca dan
mengerti isi dari code. Komentar tidak menyebabkan komputer melakukan suatu
instruksi ketika program dijalankan.
5.Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan.
Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon.
6. Mengenal Input/Output
Pernyataan cout (dibaca C out) merupakan sebuah objek di dalam C++,
yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada
layar). Sedangkan untuk menginputkan data, dapat digunakan cin (dibaca C in).
Berikutnya adalah operator << Operator ini digunakan sebagai penghubung antara stream dengan kalimat. Operator ini disesuaikan dengan
fungsional dari cout. Untuk sementara bayangkan saja operator << sebagai arah
dari aliran data. Jadi karena kita ingin mencetak kalimat ke layar, dan yang
menghubungkan program kita dengan layar dengan cout, otomatis kita harus
mengirimkan kalimat ke cout. Maka operator << digunakan, yang berarti kalimat
dialirkan ke arah cout, dan cout akan mencetaknya ke layar.
Sintaks yang digunakan :
cout <> daftar_masukan
endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan
karakter NewLine atau mengatur pindah baris. Fungsi ini sangat berguna untuk
piranti keluaran berupa file di disk. File header yang harus disertakan adalah file
header iostream.h
Fungsi getch() (get character and echo) dipakai untuk membaca sebuah
karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan
menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan
di layar. File header yang harus disertakan adalah conio.h
POINTER
Definisi Pointer
Pointer merupakan tipe data berukuran 32 bit yang berisi satu nilai yang berpadanan
dengan alamat memori tertentu. Sebagai contoh, sebuah variabel P bertipe pointer
bernilai 0×0015FF4Z, berarti P menunjuk pada alamat memori 0015FF4Z. Pointer
dideklarasikan seperti variabel biasa dengan menambahkan tanda * (asterik) yang
mengawali nama variabel.
Bentuk Umum:
namaVariabel;
Contoh:
float * px;
Statement di atas mendeklarasikan variabel px yang merupakan pointer. Penyebutan
tipe data float berarti bahwa alamat memori yang ditunjuk oleh px dimaksudkan untuk
berisi data bertipe float.
ARRAY
Definisi Array
Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data
yang sama. Elemen-elemen array tersusun secara sekuensial dalam memori komputer.
Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi
(multi dimensi).
Bentuk umum:
NamaArray[n] = {elemen0, elemen1, elemen2,…..,n};
n = jumlah elemen
STRUCTURE
Definisi Structure
Structure (struktur) adalah kumpulan elemen-elemen data yang digabungkan menjadi
satu kesatuan. Masing-masing elemen data tersebut dikenal dengan sebutan field. Field
data tersebut dapat memiliki tipe data yang sama ataupun berbeda. Walaupun fieldfield
tersebut berada dalam satu kesatuan, masing-masing field tersebut tetap dapat
diakses secara individual.
Field-field tersebut digabungkan menjadi satu dengan tujuan untuk kemudahan dalam
operasinya. Misalnya Anda ingin mencatat data-data mahasiswa dan pelajar dalam
sebuah program, Untuk membedakannya Anda dapat membuat sebuah record
mahasiswa yang terdiri dari field nim, nama, alamat dan ipk serta sebuah record pelajar
yang terdiri dari field-field nama, nonurut, alamat dan jumnilai. Dengan demikian akan
lebih mudah untuk membedakan keduanya.
LINKED LIST
Definisi linked list
Pada bab sebelumnya telah dijelaskan mengenai variabel array yang bersifat statis
(ukuran dan urutannya sudah pasti). Selain itu, ruang memori yang dipakai olehnya
tidak dapat dihapus bila array tersebut sudah tidak digunakan lagi pada saat program
dijalankan. Untuk memecahkan masalah di atas, kita dapat menggunakan variabel
pointer. Tipe data pointer bersifat dinamis, variabel akan dialokasikan hanya pada saat
dibutuhkan dan sesudah tidak dibutuhkan dapat direlokasikan kembali.
Setiap ingin menambahkan data, Anda selalu menggunakan variabel pointer yang baru,
akibatnya Anda akan membutuhkan banyak sekali pointer. Oleh karena itu, ada
baiknya jika Anda hanya menggunakan satu variabel pointer saja untuk menyimpan
banyak data dengan metode yang kita sebut Linked List. Linked list adalah sekumpulan
elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya
terdiri dari dua bagian.
STACK
Definisi Stack
Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First
Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang
dikeluarkan dari stack.
QUEUE
Definisi Queue
Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh
aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam
kehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket.
Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah
enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu.
Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue.
Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki
operasi-operasi sebagai berikut :
EnQueue Memasukkan data ke dalam antrian
DeQueue Mengeluarkan data terdepan dari antrian
Clear Menghapus seluruh antrian
IsEmpty Memeriksa apakah antrian kosong
IsFull Memeriksa apakah antrian penuh
TREE
Definisi Tree
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Tree
bias didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut
Root. Notde lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan
satu sama lain (disebut Subtree). Untuk lebih jelasnya, di bawah akan diuraikan istilahistilah
umum dalam tree.
Predecessor Node yang berada di atas node tertentu
Successor Node yang berada dibawah node tertentu
Ancestor Seluruh node yang terletak sebelum node tertentu dan terletak
pada jalur yang sama
Descendant Seluruh node yang terletak sebelum node tertentu dan terletak
pada jalur yang sama
Parent Predecessor satu level di atas suatu node
Child Successor satu level di bawah suatu node
Sibling Node-node yang memiliki parent yang sama dengan suatu
node
Subtree Bagian dari tree yang berupa suatu node beserta descendantnya
dan memiliki semua karakteristik dari tree tersebut.
Size Banyaknya node dalam suatu tree
Height Banyaknya tingkatan / level dalam suatu tree
Root Satu-satunya node khusus dalam tree yang tak punyak
predecessor
Leaf Node-node dalam tree yang tak memiliki successor
Degree Banyaknya child yang dimiliki suatu node

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: