Selasa, 06 Maret 2018

Penjelasan Struktur Data - Tugas 2

Penjelasan Struktur Data

1. Cara Mengetahui Program yang Baik dan Bagus
1. Tingkat Kepercayaan TInggi ( Realibility ), Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
2. Pemrosesan yang efisien ( Cost rendah ), Pemrosesan harus diselesaikan secepat mungking dan frekuensi kalkulasi yang sependek mungkin.
3. Sifatnya General, Bukan sesuatu yang hanya menyelesaikan kasus saja, tapi juga untuk kasus yang lain yang lebih general.
4. Bisa dikembangkan ( Expandable ), Haruslah sesuatu yang dapat kita kembangkan. lebih jauh berdasarkan perubahan ( Requirement ) yang ada.
5. Mudah dimengerti, Siapapun yang melihat dia akan bisa memahami algoritma anda. susah dimengerti suatu program akan membuat dikelola.
6. Bisa dengan mudah diimplementasikan diberbagai platform komputer.
7. Efektive, Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemrosesnya. yang akan menjalankannya dan tidak boleh ada instruksi yang Ambigu / ganda.

2. Jenis-Jenis Struktur Data Secara Umum
  • Struktur Data Sederhana
Array (Larik)
Adalah struktur data statik yang menyimpan sekumpulan elemen bertipe sama.
Setiap elemen diakses secara langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan, misalnya: integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain. Nama lain dari Array adalah Larik, tabel, atau vektor.

Record (Catatan)
adalah kumpulan data yang terdiri dari beberapa field(isian) dengan berbagai macam tipe data.
  • Struktur Data Majemuk
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.

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.


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.

3. Aplikasi Komputer yang Menggunakan Struktur Data Sebagai Dasar Pengembangannya

Code Blocks
Code::Blocks atau Code Blocks adalah IDE (Integrated Development Environment) untuk bahasa pemrograman C, C++ dan Fortran. Dengan menggunakan Code::Blocks, kita sudah mendapati aplikasi teks editor, compiler, linker dan debugger untuk bahasa pemrograman C dalam sekali install, sehingga bisa langsung digunakan. Code::Blocks sendiri merupakan aplikasi Open Source yang bisa didapat dengan gratis. IDE ini juga tersedia untuk sistem operasi Linux, Mac, dan Windows.

Dev C++
Dev C++ adalah salah satu software yang paling banyak digunakan oleh para mahasiswa/i dalam dunia IT yang dimana mereka sering kali menggunakannya untuk membuat sebuah aplikasi atau program dengan source code tertentu yang memang sudah mereka buat atau pelajari. Software ini terbilang gratis dan juga Open Source, sehingga kalian tidak membutuhkan aktivator lainnya.


4. Algoritma dengan Menganalogikan Perangkat Elektronik

- Terdapat AC  beserta remotenya.
- Remote akan mengendalikan AC dari jarak jauh, yang terdapat pilihan untuk pengaturannya.
- Di remote ada beberapa pilihan pengaturan seperti.
  - On/Off : Menghidupkan dan mematikan AC
  - Temperatur : Menambahkan dan menurunkan suhu ruangan
  - Timer : Mengatur ac agar hidup dan mati secara otomatis sesuai waktu yang diinginkan.
  - Air swing : Mengatur arah swing agar udara dapat terarah pada bagian yang diinginkan.
- Sesuai fungsinya kita pilih temperatur untuk mendinginkan ruangan.
- Pilih tombol plus atau arah keatas untuk menurunkan suhu.
- Semakin kecil angka maka semakin dingin ruangan.

5. Pendekatan yang Digunakan Merancang Algoritma
  • Top Down
Pendekatan 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-modul 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 secarabertahap menambah modul lain yang dipanggil. Oleh karena itu, pendekatan top-down dimulai dari desain abstrak, dan desain ini disempurnakan menjadi tingkat lebih konkret pada setiap langkah hingga tercapai suatu level yang tidak mermerlukan perbaikan lebih lanjut.
  • Bottom Up
Pendekatan secara 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 tingkat lebih tinggi diimplementasikan menggunakan operasi yang dilakukakan oleh modul tingkat lebih rendah. Dengan demikian, sub modul pada pendekatan ini dikelompokkan secara bersama untuk membentuk tingkat modul yang lebih tinggi.

6. Rancangan Algoritma untuk Program Kalkulator
Algoritma Kalkulator

Referensi :
https://www.duniailkom.com/tutorial-belajar-c-cara-mendownload-dan-menginstall-code-blocks/
http://nirvana-net.blogspot.co.id/2011/12/syarat-algoritma-baik.html
http://rahmadadhita.blogspot.co.id/2010/11/algoritma-kalkulator.html
 




0 komentar:

Posting Komentar