Resume Berpikir Komputasi
1.STRUKTUR DATA
struktur data adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer atau pangkalan data (database) sehingga lebih mudah diakses. Secara teknis, data dalam bentuk angka, huruf, simbol, dan lainnya ini diletakkan dalam kolom-kolom dan susunan tertentu. Contoh struktur data dapat dilihat pada berkas-berkas lembar sebar (spreadsheet), pangkalan data, pengolah kata, citra yang dipampat (compressed image), dan pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang terlihat oleh pengguna ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak terlihat oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan basis data (misalnya untuk keperluan data keuangan) atau untuk pengolah kata yang kolomnya berubah secara dinamis.
2. TREE DATA
Tree dalam bahasa inggris diartikan Pohon. Dalam Struktur Data Konsep Tree mirip seperti pohon yaitu kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layaknya struktur sebuah pohon. Struktur Tree adalah suatu cara merepresentasikan suatu struktur hirarki ( one — to many ) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan — node — node dari atas ke bawah. Konsep Tree Di seuah struktur data yang tidak linier yang menggambarkan hubungan yang hirarkis ( one to many ) dan tidak linier antara elemen — elemennya. Di struktur Data Konsep Tree terbagi menjadi 2 yaitu :
1. Tree Statik
2. Tree Dinamik
Tree Statik adalah konsep struktur pohon yang isi node — nodenya tetap karena bentuk pohonnya sudah ditentukan.
Tree Dinamik adalah konsep struktur pohon yang isi nodenya berubah — ubah karena proses penambahan ( insert ) dan pengurangan / penghapusan ( delete )
Dalam Konsep Tree di sebuah Node ada namanya Node Root. Node Root dalam sebuah tree yang dimaksud adalah suatu node yang memiliki hirarki tertinggi dan dapat juga memiliki node — node anak atau yang disebut child node. jadi semua node yang dapat ditelurusan dari node root tersebut. Node Root dicirikan adalah suatu node khusus yang tercipta pertama kalinya. Sedangkan Node — Node lain dibawah node root saling terhubung satu sama lain disebut sebagai Subtree
Dalam Konsep Tree ini bisa dikorelasikan dalam Contoh kehidupan dunia nyata seperti berikut :
1. Silsilah keluarga
2. Parse Tree (pada compiler)
3. Struktur File
4. Pertandingan
Berikut Salah Satu Contoh Konsep Tree seperti Silsilah Keluarga dalam gambar berikut :
Konsep Tree dalam Struktur data memiliki Istilah Istilah Terminologinya. Berikut Istilah dan Pengertian dari istilah terminologi Tree dalam struktur data dalam gambar berikut :
Jadi Dari Istilah — Istilah Tersebut memiliki Pemahaman yang berbeda — beda. Tentu selain istilah tersebut adanya Konsep Tingkatan dalam Tree di struktur data. Dalam Node di Tree ada konsep binary yang dimana Jumlah maksimum node pada setiap tingkat adalah 2 pangkat n. Sedangkan banyak Node dalam Sebuah Tree berjumlah dari 2 pangkat ( jumlah tingkatan) -1. Berikut Ilustrasi Perhitungan Konsep Tree dalam Tingkatanya dalam bentuk gambar.
Jadi Dari Contoh Diatas untuk tingkat ke 0 hanya dapat membuat 1 Node karena jika diperhatikan dengan Rumus 2 pangkat n maka hasil yang didapat adalah 2 pangkat 0 = 1. Sedangkan pada Tingkat Ke 1 hanya dapat membuat 2 node karena 2 pangkat 1 = 2. Sedangkan untuk mengetahui berapa banyak node dalam sebuah tree dari contoh diatas yaitu ada 3 tingkatan ( 0,1,2) maka bisa didapat jumlah semua node dalam tree yaitu 2 pangkat 3 -1 = 7.
Dari Pemahaman Konsep Tree yang sudah dijelaskan untuk mengimplementasikannya dalam Program, Tree dapat dibuat dengan menggunakan linked list secara rekrusif. Rekrusif adalah sebuah proses yang memanggil dirinya sendiri. Untuk Linked List yang digunakan adalah double linked list yang Non circular. Adapun Proses dari Implementasi Program terkait Konsep Tree seperti berikut :
1. data yang pertama kali masuk akan menjadi Node Root.
2. data yang lebih kecil dari node root akan masuk dan menempati node kiri dari node Root
3. Jika ada Data yang lebih besar dari Node Root maka akan masuk dan menempati node sebelah kanan dari Node Root
Berikut Deklarasi Variabel Terkait Konsep Tree dalam Struktur data dan Contoh Modelnya :
Untuk Operasi Operasi Tree dalam Struktur Data ada beberapa Operasi yaitu :
1. Create()
2. Clear()
3. Empty()
4. Insert()
5. Traverse()
6. PreOrder
7. InOrder
8. PostOrder
Create()
Fungsi ini merupakan fungsi untuk membentuk sebuah tree baru yang kosong biasanya berisi inisialisasi variable tree yang bernilai Null seperti penulisan berikut :
Pohon = NULL;
Clear()
Fungsi ini merupakan fungsi untuk menghapus semua elemen tree dalam implementasinya cukup tambahkan syntax pohon = NULL; dalam fungsi Clear()
Empty()
Fungsi ini mengetahui apakah tree kosong atau tidak di sebuah pemrograman. Untuk Syntax Empty dalam Pemrograman C++ dapat ditulist seperti berikut :
int isEmpty(Tree *pohon){
if(pohon == NULL) return 1;
else return 0;
}
Insert
Fungsi ini merupakan fungsi yang menambah node ke dalam tree secara rekursif. Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika data lebih kecil maka akan diletakkan di node sebelah kiri. Sedangkan untuk data pertama akan menjadi elemen root. Berikut gambar Ilustrasi Insert :
Traverse
Fungsi ini merupakan operasi kunjungan ( mengunjungi data ) terhadap node — node dalam tree yang dimana masing — masing node akan dikunjungi sekali. Adapun Jenis Traverse dalam Konsep Tree seperti berikut :
1. PreOrder
2. InOrder
3. PostOrder
PreOrder
Proses Traverse yang melakukan tahapan cetak node yang dikunjungi, kunjungi left node , kunjungi right node. Berikut Ilustrasi PreOrder dan Algoritma dalam Fungsi Traverse :
InOrder
Proses Traverse yang melakukan tahapan kunjungi left node, cetak node yang dikunjungi, kunjungi right node. Berikut Ilustrasi InOrder dan Algoritma dalam Fungsi Traverse :
PostOrder
Proses Traverse yang melakukan tahapan kunjungi left node, kunjungi right node, cetak node yang dikunjungi. Berikut Ilustrasi PostOrder dan Algoritma dalam Fungsi Traverse :
Dan berikut Full Source Code Konsep Tree dalam Struktur Data di Bahasa Pemrograman Bahasa C++ :
3. GRAPA DATA
Graph adalah jenis struktur data umum yang susunan datanya tidak berdekatan satu sama lain (non-linier). Graph terdiri dari kumpulan simpul berhingga untuk menyimpan data dan antara dua buah simpul terdapat hubungan saling keterkaitan.
Simpul pada graph disebut dengan verteks (V), sedangkan sisi yang menghubungkan antar verteks disebut edge (E). Pasangan (x,y) disebut sebagai edge, yang menyatakan bahwa simpul x terhubung ke simpul y.
4. ALGORITMA
Algoritma adalah metode atau langkah yang direncanakan secara tersusun dan berurutan untuk menyelesaikan atau memecahkan permasalahan dengan sebuah intruksi atau kegiatan
Perkembangan ilmu pengetahuan dan teknologi menjadikan manusia mampu menghasilkan karya-karya yang semakin canggih dan kompleks. Meskipun komputer dapat melakukan perhitungan dengan cepat dibandingkan manusia pada umumnya, namun komputer tidak bisa menyelesaikan masalah begitu saja tanpa diajarkan oleh manusia melalui urutan langkah-langkah (algoritma) penyelesaian yang dide?nisikan terlebih dahulu. Selain digunakan untuk pemecahan masalah menggunakan komputer, algoritma juga dapat diterapkan dalam menyelesaikan permasalahan sehari-hari yang membutuhkan sederet proses atau langkah-langkah prosedural. Agar lebih memahami apa itu algoritma mari kita pelajari pengertiannya dari beberapa sumber.
Pada beberapa sumber buku diperoleh pengertian dari algoritma di antaranya :
1. Algoritma menurut (Kani, 2020, 1.19) adalah suatu upaya dengan urutan operasi yang disusun secara logis dan sistematis untuk menyelesaikan suatu masalah untuk menghasilkan suatu output tertentu.
2. Algoritma berasal dari kata algoris dan ritmis yang pertama kali diperkenalkan oleh Abu Ja’far Muhammad Ibn Musa Al Khwarizmi pada 825 M di dalam buku Al-Jabr Wa-al Muqabla. Dalam bidang pemrograman, algoritma dide?nisikan sebagai metode yang terdiri dari serangkaian langkah yang terstruktur dan sistematis untuk menyelesaikan masalah dengan bantuan komputer (Jando & Nani, 2018, 5).
3. Algoritma menurut (Munir & Lidya, 2016, 5) adalah urutan langkah-langkah untuk menyelesaikan suatu persoalan.
4. Algoritma merupakan sekumpulan instruksi atau langkah-langkah yang dituliskan secara sistematis dan digunakan untuk menyelesaikan masalah / persoalan logika dan matematika dengan bantuan komputer (Sismoro, 2005, 29).
Komentar
Posting Komentar