TUGAS 2
1. Program yang bagus :
a. Program berjalan dengan benar
b. Program mudah dibaca dan dimengerti
c. Program mudah di debug
d. program mudah dilakukan modifikasi
2. Jenis-jenis struktur data secara umum :
Struktur Data sederhana
a. Array (Larik)
adalah struktur data statik yang menyimpan sekumpulan elemen yang yang bertipe sama. Setiap elemen di akses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan seterurutan misalnya integer atau karakter. Banyak elemen larik yang harus diketahui sebelum program di eksekusi. Tipe elemen larik dapat berupa tipe sederhana , tipr terstruktur , atau tipe larik lain.
b. Record (catatan)
adalah kumpulan data yang terdiri dari beberapa field(isian) dengan berbagai macam tipe data.
Struktur Data Majemuk
a. Linier.
Stack(tumpukan)
adalah list linier yang dikenali berupa elemen puncaknya(top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan "diatas"(top) dan penghapusan selalu dilakukan pada "top"). Karena aturan penyisipan dan penghapusan semacam itu, "top" adalah satu- satunya alamat tempat terjadinya operasi. Elemen yang paling akhir ditambahkan akan menjadi elemen yang akan dihapus. Dapat dikatakan elemen stack akan tersusun secara LIFO(last in first out).
Queue(antrian)
adalah list linier yang dikenali berupa elemen pertama(head) dan elemen terakhir(tail), dimana aturan penyisipan dan penghapusan elemennya didefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama dengan kondisi satu elemen dengan elemen lainnya dapat diakses melalui informasi "next".
List dan Multi-List(Daftar)
adalah sekumpulan list linier yang dengan elemen yang bertype sama, yang memiliki keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian.
b. Non-Linier.
Binary-Tree(Pohon biner)
adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub-pohon kiri(left) dan sub-pohon kanan(right) dari pohon biner tersebut. Pohon biner merupakan type yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul yang paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak.
Istilah- istilah yang digunakan sama dengan istilah pada pohon secara umum.
Graph(graf)
merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antar entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas- entitas data dalam masalah- masalah nyata secara alamiah memiliki keterhubungan langsung(adjacency) secara tak terbatas.
3. Aplikasi perangkat lunak komputer yang menggunakan struktur data :
- Antrian pada kasir pada sebuah bank.
Ketika seorang pelanggan datang, akan menuju ke belakang dari antrian. Setiap pelanggan dilayani, antrian yang berada didepan akan maju. Jika kita ada di antrian kedua, maka kita akan menunggu antrian pertama melakukan prosesnya. Ketika selesai proses dari antrian pertama dia akan pergi, dan giliran kita untuk maju untuk melakukan proses. Begitu juga arti dari antrian dalam bahasan kali ini, jika pengantri pertama datang maka dia juga yang akan keluar pertama kali atau FIFO(First In First Out) dan FCFS (First Come First Serve).
- Pembelian tiket kereta api, tiket pesa1at,
tiket kapal laut, pembayaran
tiket tol, pembayaran listrik, pembayaran air, dan lain sebagainya.
Saat mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakaiseseorang masuk dalam sebuah antrian adalah DeQueue. Dalam suatu antrian, yang datang terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah deQueue.
4. Algoritmayang menganalogikan abstraksi perangkat elektronik :
Program Tiket_Di_Bioskop
Algoritma:
type tiketBioskop: < nama_film : string,
kode_film : string,
jadwal_film : string,
harga_tiket : string,
quota : integer >
T : array [1..4] of tiketBioskop
type datapembeli: < nama_pembeli : string,
kode_pembelian : string >
D : array [1..9999] datapembeli
jumlah_pembeli : integer
pilihan : integer;
procedure lihatBioskop()
procedure beliTiket()
function buatKodePembelian( T : tiketBioskop) -> string
5. Pendekatan Algoritma
Top-Down
pendekatan perancangan secara top-down dimulai dengan cara membagi algoritma yang kompleks menjadi satu atau lebih dari satu modul. Modul yang terbagi ini masih bisa diuraikan lagi menjadi beberapa sub-modal, dan proses ini dilakukan berulang-ulang hingga kompleksitas modul yang diinginkan terpenuhi. Metode perancangan top-down merupakan bentuk perbaikan secara bertahap yang dimulai dengan modul paling atas kemudian secara bertahap menambah modul lain yang dipanggil.
Bottom-up
pendekatan perancangan bottom-up merupakan kebalikan dari pendekatan top-down. Dimana dalam pendekatan ini dimulai dengan pembuatan modul paling dasar, kemudian dilanjutkan ke perancangan modul tingkat yang lebih tinggi. Modul yang memiliki tinggkat lebih tinggi diimplementasikan menggunakan operasi yang dilakukan ikeh modul tingkat lebih rendah. Dengan demikian sub-modul pada pendekatan ini dikelompokkan secara bersama untuk membentuk tingkat modul yang lebih tinggi. Semua modul tingkat yang lebih tinggi dikumpulkan bersama-sama untuk membentuk modul tingkat yang lebih tinggi. Proses ini diulang hingga desain algoritma yang lengkap terpenuhi.
6. Algoritma untuk program kalkulator yang dapat melakukan operasi penjumlahan dan penguranagan :
x,y : integer
hasil : real
operator : char
begin
Input(x)
Input(operator)
Input(y)
if operator = ‘+’ {jika operator adalah +}
then
hasil ← x+y
else
if operator = ‘-‘ {jika operator adalah -}
then
hasil ← x-y
endif
endif
{menampilkan penginputan oleh user}
Output(x,operator,y)
{menampilkan hasil penghitungan}
Output(hasil)
Sumber :
buku paket algoritma dan struktur data
s1tik.blogspot.com/2015/07/jenis-struktur-data.html
https://shae45.blogspot.com › Tugas kuliah