Pengenalan Struktur Data dan Algoritma - IDS Digital College

Pengenalan Struktur Data dan Algoritma

Pemilihan struktur data dan algoritma yang kurang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Struktur data dan algoritma digunakan untuk memecahkan masalah kemungkinan bisa lebih dari satu.

Struktur Data adalah cara mengumpulkan dan mengatur data sedemikian rupa sehingga kita dapat melakukan operasi pada sebuah data dengan cara yang efektif. Struktur Data adalah tentang merender elemen data dalam beberapa hubungan, untuk organisasi dan penyimpanan yang lebih baik. Sebagai contoh, kami memiliki beberapa data yang memiliki, nama pemain “Virat” dan usia 26. Di sini “Virat” adalah tipe data String dan 26 adalah tipe data integer.

Kami dapat mengatur data ini sebagai catatan seperti catatan Pemain, yang akan memiliki nama dan usia pemain di dalamnya. Sekarang kita dapat mengumpulkan dan menyimpan catatan pemain dalam file atau database sebagai struktur data. Misalnya: “Dhoni” 30, “Gambhir” 31, “Sehwag” 33

Jika Kamu mengetahui konsep pemrograman Berorientasi Objek, maka Class juga melakukan hal yang sama, ia mengumpulkan berbagai jenis data di bawah satu entitas tunggal. Satu-satunya perbedaan adalah, struktur data menyediakan teknik untuk mengakses dan memanipulasi data secara efisien.

Dalam bahasa sederhana, Struktur Data adalah struktur yang diprogram untuk menyimpan data yang dipesan, sehingga berbagai operasi dapat dilakukan dengan mudah. Ini mewakili pengetahuan tentang data yang akan diatur dalam memori. Ini harus dirancang dan diimplementasikan sedemikian rupa sehingga mengurangi kompleksitas dan meningkatkan efisiensi.

Tipe Dasar Struktur Data

Seperti yang telah kita bahas di atas, segala sesuatu yang dapat menyimpan data dapat disebut struktur data, maka Integer, Float, Boolean, Char dll, semuanya adalah struktur data. Mereka dikenal sebagai Struktur Data Primitif.

Kemudian kami juga memiliki beberapa Struktur Data yang kompleks, yang digunakan untuk menyimpan data yang besar dan terhubung. Beberapa contoh Struktur Data Abstrak adalah :

  • Linked List
  • Tree
  • Graph
  • Stack, Queue dll.

struktur data

Semua struktur data ini memungkinkan kita untuk melakukan operasi yang berbeda pada data. Kami memilih struktur data ini berdasarkan jenis operasi yang diperlukan. Kita akan melihat struktur data ini secara lebih rinci dalam pelajaran kita selanjutnya.

Struktur data juga dapat diklasifikasikan berdasarkan karakteristik berikut:

Karakteristik Deskripsi
Linear Dalam struktur data Linear, item data disusun dalam urutan linier. Contoh: Array
Non-Linear Dalam struktur data Non-Linear, item data tidak berurutan. Contoh: Pohon, Grafik
Homogen Dalam struktur data homogen, semua elemen bertipe sama. Contoh: Array
Non-Homogen Dalam struktur data Non-Homogen, elemen mungkin bertipe sama atau tidak. Contoh: Struktur
Statis data statis adalah struktur yang ukuran dan strukturnya terkait lokasi memori tetap, pada waktu kompilasi. Contoh: Array
Dinamis Struktur dinamis adalah yang mengembang atau mengecil tergantung pada kebutuhan program dan eksekusinya. Juga, lokasi memori terkaitnya berubah. Contoh: Daftar Tertaut dibuat menggunakan pointer

Apa itu Algoritma?

algoritma

Algoritma adalah seperangkat instruksi atau logika yang terbatas, ditulis dalam rangka, untuk menyelesaikan tugas tertentu yang telah ditentukan sebelumnya. Algoritma bukanlah kode atau program yang lengkap, itu hanya logika inti (solusi) dari suatu masalah, yang dapat dinyatakan baik sebagai deskripsi tingkat tinggi informal sebagai kode semu atau menggunakan diagram alur.

Setiap Algoritma harus memenuhi properti berikut:

  • Input- Harus ada 0 atau lebih input yang dipasok secara eksternal ke algoritma.
  • Output- Harus ada minimal 1 output yang diperoleh.
  • Definiteness- Setiap langkah dari algoritma harus jelas dan terdefinisi dengan baik.
  • Keterbatasan- Algoritma harus memiliki jumlah langkah yang terbatas.
  • Kebenaran- Setiap langkah dari algoritma harus menghasilkan output yang benar.

Suatu algoritma dikatakan efisien dan cepat, jika membutuhkan waktu lebih sedikit untuk mengeksekusi dan mengkonsumsi lebih sedikit ruang memori. Kinerja suatu algoritma diukur berdasarkan properti berikut:

KompleksitasĀ 

  • Kompleksitas Ruang
  • Kompleksitas Waktu
  1. Kompleksitas Ruang

Jumlah ruang memori yang dibutuhkan oleh algoritme, selama eksekusinya. Kompleksitas ruang harus dianggap serius untuk sistem multi-pengguna dan dalam situasi di mana memori terbatas tersedia.

Sebuah algoritma umumnya membutuhkan ruang untuk komponen berikut:

  • Ruang Instruksi: Ini adalah ruang yang dibutuhkan untuk menyimpan versi program yang dapat dieksekusi. Ruang ini tetap, tetapi bervariasi tergantung pada jumlah baris kode dalam program.
  • Ruang Data: Ini adalah ruang yang diperlukan untuk menyimpan semua nilai konstanta dan variabel (termasuk variabel sementara).
  • Ruang Lingkungan: Ini adalah ruang yang diperlukan untuk menyimpan informasi lingkungan yang diperlukan untuk melanjutkan fungsi yang ditangguhkan.

Untuk mempelajari tentang Kompleksitas Ruang secara mendetail, lompat ke tutorial Kompleksitas Ruang.

  1. Kompleksitas Waktu

Kompleksitas Waktu adalah cara untuk mewakili jumlah waktu yang dibutuhkan oleh program untuk berjalan sampai selesai. Biasanya merupakan praktik yang baik untuk mencoba menjaga waktu yang diperlukan minimum, sehingga algoritme kami menyelesaikan eksekusinya dalam waktu seminimal mungkin. Kami akan mempelajari tentang Kompleksitas Waktu secara rinci di bagian selanjutnya.

CATATAN: Sebelum masuk jauh ke dalam struktur data, Anda harus memiliki pengetahuan yang baik tentang pemrograman baik dalam C atau C++ atau Java atau Python dll.

Posted in: News



    WhatsApp chat