Kamis, 06 Maret 2014

Pengantar

Untuk apa Algoritma dan Struktur data itu?
Sebelum menjawab pertanyaan tentang kegunaan Algoritma dan struktur data, mungkin alangkah baiknya jika dalam bahasan ini dipahamkan terlebih dahulu tentang definisi dari Algoritma dan Strukur data   itu sendiri. Baik, Struktur Data sendiri dalam bahasan ini didefinisikan sebagai suatu susunan data pada memori komputer (atau hard disk). Sedangkan Algoritma sendiri didefinisikan sebagai manipulasi data dalam struktur-struktur data tsb dalam berbagai cara, seperti mencari suatu item data tertentu dan mengurutkan data.

Kemudian setelah mengetahui definisi dari algoritma dan struktur data tsb, lantas apa masalah-masalah yang dapat dipecahkan dari pemahaman topik  ini?  Sebagai pendekatan kasar, disini terdapat tiga macam situasi yang akan bermanfaat dengan memahami struktur data dan algoritma, apa saja ketiga situasi tsb adl sebagai berikut;
  • Penyimpanan data asli/nyata
  • Sebagai alat bantu (tools) programer
  • Pemodelan
Penyimpanan data asli/nyata
Banyak teknik-teknik dan struktur-struktur yang akan didiskusikan dengan bagaimana melakukan penyimpanan data mentah/asli/nyata.  Melalui data asli , maksudnya data yang menjelaskan entitas-entitas fisik nyata ke dalam komputer. Sebagai contoh suatu rekaman yang menjelaskan identitas pelanggan, inventaris rekaman yang mengenai onderdil mobil atau item-item barang di toko grosir dan suatu rekaman transaksi finansial yang menerangkan percakapan, chek tulis aktual untuk membayar tagihan elektronis.

Suatu contoh penyimpanan data asli non komputer adalah suatu tiga tupukan data dari lima indeks kartu. Kartu-kartu tsb dapat digunaka untuk bermacam penyimpanan. Jika setiap kartu memuat nama, alamat dan nomor telepon seorang nasabah, maka hasilnya adalah sebuah buku alamat. Jika setiap kartu memuat nama, lokasi, nilai kepemilikan rumah, maka hasilnya adalah sebuah infentaris rumah. Tentu saja,  indeks kartu tidak secara tepat menyatakan suatu seni. Hampir saat ini segala sesuatu yang dapat dilakukan dengan kartu indeks dapat dilakukan dengan sebuah komputer. Seandaianya diingikan meng update sistem lama kartu indek ke dalam suatu program komputer, bisa jadi akan ditemukan pertanyaan-pertanyaan sbb;

  • Bagaiaman menyimpan data dalam memori komputer?
  • Dapatkah metode yang digunakan bekerja untuk seratus data  kartu indeks? Seribu atau satu juta kartu indeks??
  • Dapatkah metode yang digunakan membolehkan penyisipan data baru dan penghapusan data lama dengan cepat?
  • Dapatkah ini bekerja dengan cepat untuk pencarian data yang  tertentu?
  • Seandainya diingikan menyusun kartu-kartu sesuai urutan abjad, dapatkah metode tsb mengurutkannya?

Oleh karena itu pada penulisan ini akan dibahas struktur data yang memungkinkan untuk digunakan seperti cara yang sama untuk menumpuk suatu kartu indeks. Dan tentu saja, kebanyakan program-program  adalah lebih kompleks daripada kartu-kartu indeks. Bayangkan saja dalam data base departemen kendaraan bermotor, (atau apapun itu) digunakan untuk melacak pemilik SIM, atau suatu sistem pemesanan tiket pesawat yang menyimpan data pembeli dan informasi penerbangan. Dalam sistem-sistem yang mencakup struktur data. Pedesainan sistem kompleks membutuhkan aplikasi software teknik enginering.

Sebagai alat bantu (tools) programer
Tidak semua struktur-struktur penyimpanan data digunakan untuk menyimpan data nyata/asli. Khususnya, data asli diakses banyak atau tidak secara langsung oleh suatu program user. Beberapa penyimpanan data tersruktur, akan tetapi tidak berarti diakses oleh user, melainkan dengan program itu sendiri.  Seorang programmer menggunakan structures demikian sebagai alat (tools) untuk memfasilitasi beberapa operasi yang lain. Penumpukan (stacks), antrian (queues), dan antrian prioritas sering digunakan sebagai tools programmer.

Pemodelan
Beberapa struktur data secara langsung memodelkan situasi dunia nyatanya. Yang paling penting struktur data dari tipe ini adalah graph. Graph dapat digunakan untuk merepresentasikan rute pesawat terbang antar kota atau menubungkan dalam rangkaian listrik atau tugas-tugas dalam suatu proyek. Untuk Graph ini akan dibahas lebih lanjut pada penulisan berikutnya.

Referensi
Lafore Robet, Data structures and algoritms in Java second edition

Tidak ada komentar:

Posting Komentar