Selasa, 06 Maret 2018

Berhubungan dengan struktur data

Berhubungan dengan struktur data

Nama: Amira Najma
NIM   : A710170046
Kelas : B
Smtr  : 2 



1.http://wa2n.staff.uns.ac.id/2008/09/14/tahapan-membuat-program-dengan-baik/

Untuk bisa menghasilkan program yang baik memerlukan analisis yang baik pula, baik itu analisis sistem, stuktur data maupun analisis requirement, selin itu juga dipelukan persiapan-persiapan yang matang. Hal ini berlaku bagi siapapun, bahkan seorang programmer professional sekalipun.  Sedangkan tahapan apas aja untuk membuat program yang baik akan saya jelaskan dibawah.

Program memang sudah menjadi kebutuhan pokok bagi masyarakat IT. karena segala sesuatu yang dilakukan di dalam IT pastilah memerlukan program. Program yang paling sederhana sekalipun setidaknya memiliki 3 bagian:

Input – Masukan data.
Proses – pemrosesan input.
Output – keluaran program, kebutuhan yang kita harapkan.

Dalam membuat program, pemrograman adalah pokok dari proses pembuatan program itu sendiri namun pemrograman bergantung dari pemahaman persoalan, analisis sistem, perencanaan-perencanaan  dalam mendesain program itu sendiri.




2.http://s1tik.blogspot.co.id/2015/07/jenis-struktur-data.html


Jenis Struktur Data
1. Struktur Data Sederhana

a. 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.

b. Record (catatan)

adalah kumpulan data yang terdiri dari beberapa field(isian) dengan berbagai macam tipe data.

2. 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.http://belajar-ilmu-informatik.blogspot.co.id/

Penjelasan penggunaan Struktur data pada perangkat lunak :
Dalam teknik pemograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) maupun kolom yang digunakan untuk keperluan pemograman yang tidak tampak oleh pengguna.

Analisis & Desain Model
Analisis terhadap kebutuhan dapat menggunakan beberapa alat seperti :
1. Data Flow Diagram (DFD)
2. Entity Relationship Diagram (ERD)
3. State Transition Diagram (STD)

untuk menganalisis kebutuhan dibutuhkan suatu bekal dapat memudahkan penganalisisan suatu kebutuhan, bekal yang dibutuhkan ialah Data Dictionary.
Data Dictionary berisi gambaran objek data yang diperlukan dan akan dihasilkan oleh software. Diagram-diagram diatas mempunyai karakteristik masing masing.
DFD memberi gambaran bagaimana data berubah dalam sistem. ERD menggambarkan relasi antara objek data. STD menggambarkan bagaimana kerja sistem melalui kondisi dan kejadian yang menyebabkan data berubah, STD juga menggambarkan proses yang dilakukan karena kejadian tertentu.
Hasil  yang diperoleh dari proses penganalisian adalah model analisis yang kemudian menjadi bekal untuk melakukan desain.


4.https://stackoverflow.com/questions/15768669/data-layer-abstraction-for-windows-phone-and-windows-8-modern-apps
https://softwareengineering.stackexchange.com/questions/273590/abstraction-in-algorithms

Analogi abstaction pada windows phone.
Saya telah menetapkan bahwa memiliki perakitan "inti" per platform untuk kode portabel (viewmodel, pembantu, dll.) Dan perakitan terpisah per basis data / toko penyimpanan (SqlCe, Sqlite, dll.) Bahwa rakitan inti spesifik platform nampaknya bekerja Ini berarti kelas model saya masih didefinisikan dalam majelis DAL, namun setidaknya saya bisa menyediakan antarmuka umum sederhana (yang didefinisikan di setiap majelis DAL, sayangnya, karena kelas model DAL) yang masih memberi saya dukungan IQueryable.

Berkat "copy as link" dalam Visual Studio, menyiapkan majelis inti dan memastikan bahwa antarmuka layanan database umum sama untuk setiap perakitan DAL cukup mudah. Dengan # ifdef saya bahkan dapat menggunakan kembali banyak file kelas model DAL dan mengkompilasi atribut secara bersyarat, kode khusus database, dll. Yang memungkinkan saya untuk menggunakan "copy as link" untuk mereka juga.

public interface IDataService
{
IQueryable<ModelType1> ModelType1 { get; }
IQueryable<ModelType2> ModelType2 { get; }

void AddModelType1(ModelType1 item);
void RemoveModelType1(ModelType1 item);

void AddModelType2(ModelType2 item);
void RemoveModelType2(ModelType2 item);

void CreateDatabase();
void ResetDatabase();
}
The resulting map of references is kind of like this:

System.Data.Linq -> App.Data.SqlCe -> App.Core.WP -> App.WP
/               /
(some shared code)  (all shared code)
/                /
Sqlite -> App.Data.Sqlite -> App.Core.Win8 -> App.Win8
Tempat itu sama bersihnya seperti yang kuinginkan, tapi setidaknya sepertinya berhasil.



5.Hal 136

Terdapat dua pendekatan Umum yang bisa digunakan dalam merancang algoritma, yaitu pendekatan perancangan top down dan bottom-up,  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 duraikan 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 secara bertahap menambah modul lain yang dipanggil.
Untuk pendekatan secara bottom-up, merupakan kebalikan dari top down.  Dimana modul ini dimulai dengan pembuatan modul paling dasar, kemudian dilanjutkan ke perancangan modul tingkat yang lebih tinggi.
Dari kedua pendekatan diatas, yaitu  top-down dan bottom-up, apakah strategi top down / bottom-up,  tentu tergantung pada aplikasi yang ditangani. Pendekatan top-down  mengkuti perbaikan secara bertahap dengan menguraikan algoritma ke dalam modul secara terkelola. Sementara pendekatan bottom-up mendefinisikan modul terlebih dahulu baru kemudian mengelompokan beberapa , modul secara bersama untuk membentuk modul baru tingkat lebih tinggi. Pendekatan top-down sangat bagus dalam hal kemudahan membuat dokumentasi modul, menghasilkan uji kasus, implementasi kode, dan debugging.  Namun, terdaopat kekurangan karena sub-modul dianalisis dalam sebuah isolasi tanpa memperhatikan komuikasi dengan modul lain sehingga mengabaikan konsep penyembunyian informasi.




6.Algoritma :

Inisialisaikan bil1, bil2, oprs, hasil
Input nilai a, b
Pilih salah satu operasi dari (+),(-),(x),(:)
Jika anda memilih operasi (+), maka hasil = a + b
Jika anda memilih operasi (-), maka hasil = a - b
Jika anda memilih operasi (x), maka hasil = a * b
Jika anda memilih operasi (:), maka hasil = a / b
Cetak hasil

Flowchart




7.https://azisnurc.wordpress.com/2014/12/28/penggunaan-notasi-big-o-untuk-menganalisa-efisiensi-algoritma/

Notasi

Pernyataan “f(x) adalah O(g(x))” sebagaimana didefinisikan sebelumnya, biasa ditulis f(x) = O(g(x)) Pernyataan ini adalah penyalahgunaan notasi. Persamaan dari dua buah fungsi tidak dinyatakan. Properti O(g(x)) tidaklah simetrik: Karena alasan ini, beberapa penulis lebih memilih menggunakan notasi himpunan dan menulis Menganggap O(g) sebagai himpunan dari fungsi fungsi yang didominasi oleh g. Dalam penggunaan yang lebih rumit, , O( ) dapat muncul pada tempat yang berbeda di dalam sebuah persamaan, bahkan beberapa kali untuk masing-masing sisi.

Misalnya, pernyataan berikut benar untuk (n + 1)2 = n2 + O(n) nO(1) = O(en)

Maksud dari pernyataan diatas adalah :

Untuk setiap fungsi yang memenuhi untuk setiap O( ) pada sisi kiri, terdapat fungsi-fungsi yang memenuhi masing-masing O( ) pada sisi kanan, melakukan substitusi untuk semua fungsi-fungsi ini ke dalam persamaan menyebabkan kedua sisi menjadi sama. Misalnya, persamaan ke-3 diatas berarti: “Untuk setiap fungsi f(n) = O(1), terdapat fungsi-fungsi g(n) = O(en) sehingga nf(n) = g(n)”

Tidak ada komentar:

Posting Komentar