Selasa, 06 Maret 2018

TUGAS 2 STRUKTUR DATA HALAMAN 144

1. Seorang progammer yang baik harus mengetahui cara pembuatan program yang bagus. Berikan        penjelasan tentang program yang bagus seperti apa!
Jawab : Program yang baik program yang bisa digunakan secara efesien dan efektif yang dpat                           digunakan  membantu pekerjaan secara efektif dan mudah menggunakannya
             Program dikatakan bagus apabila:
             - Program berjalan secara benar
             - Program mudah dibaca dan di mengerti
             - Program mudah di debug
             - Program mudah dilakukan modifikasi
  
             Sebuah program juga harus menghasilkan output yang benar serta berjalan secara efisien

2. Struktur data merupakan suatu cara untuk menyimpan dan mengatur sebuah data supaya dapat
    digunakan secara efektif dan efesien . Sebutkan dan jelaskan jenis jenis struktur data secara umum
Jawab : Secara Umum, struktur data dikelompokan menjadi dua kategori, yaitu struktur data primitif
             (primitive) atau sederhana dan non-primitif(non-primitive) atau majemuk.
             Struktur data primitif adalah  struktur data yang didukung (bawaan) oleh bahasa
             pemrograman. sedangkan struktur data non-primitif adalah struktur data yang dibangun
             menggunakan struktur data primitif.

3. Jelaskan beberapa aplikasi perangkat lunak komputer yang menggunakan struktur data sebagai
    dasar pengembangannya
Jawab : Ios, Android, Windows. kenapa ios lebih smooth dari OS yang lain padahal menggunakan
             RAM(Random Access Memory) yang lebih kecil? Karena pada struktur data nya di buat
             dengan Baik dan lebih Bagus dari perangkat struktur data yang lainnnya

4. Abstract Data Type(ADT) merupakan cara untuk melihat struktur data, dengan fokus pada apa
    yang dilakukan dan mengabaikan proses yang terdapat didalamnya saat menjalankan
    eksekusi . Buatlah algoritma yang menganalogikan abstraksi perangkat elektronik.
Jawab :   Nama tipe data
                tipe_jam

               Domain
               setiap nilai tipe_jam adalah waktu dalam format jam, menit, & detik
              operasi didalamnya
             *Menetapkan waktu
             *Menghasilkan nilai balik berupa waktu
             *Menampilkan waktu
             *Melakukan increment waktu dalam detik
             *Melakukan increment waktu dalam menit
             *Melakukan increment waktu dalam jam
             *Membandingkan dua waktu untuk menguji ekuilitas

5. Berikan penjelasan dan bandingkan beberapa pendekatan yang dapat digunakan untuk merancang
    sebuah algoritma.
Jawab : Terdapat dua pendekatan umum yang bisa digunakan dalam merancang algoritma, yaitu
             pendekatan perancangan secara top-down, dan pendekatan secara bottom- up.
             Pendekatan secara top-down dimulai dengan cara membagi algoritma yang kompleks
             menjadi satu atau lebih dari satu modul. Terbagi menjadi beberapa sub-modul, dan proses
             ini di lakukan berulang-ulang hingga kompleksitas modul yang diinginkan terpenuhi.
             pendekatan perancangan secara bottom-up merupakan kebalikan dari pendekatan  top-down.
             Dimana dalam pendekatan ini dimulai dengan pembuatan modul panggil dasar, kemudian
             dilanjutkan ke perancangan modul tingkat tinggi.

6. Sebuah program dapat memiliki lebih dari satu algoritma. Rancang algoritma untuk program
    kalkulator yang dapat melakukan operasi penjumlahan dan pengurangan.
Jawab :  start
                     angka<==Masukan
                     Hitung jumlah operasi penjumlahan = n+n
                    Tampilkan<==Hasil
              end
          
              start
                  angka<==Masukan
                  Hitung jumlah operasi pengurangan = n-n
                  Tampilkan<==Hasil
               end
7. Ukurlah komplesitas algoritma yang anda rancang menggunakan notasi big O!
Jawab :
            fungsi pangkat akan selalu diselesaikan dalam 2 + y langkah. Melihat bagiamana y akan mempengaruhi jumlah langkah eksekusi, mari kita lihat seberapa banyak pengaruh y terhadap jumlah langkah eksekusi kode: 
YProses PerhitunganJumlah Langkah
12 + 13
102 + 1012
1002 + 100102
10002 + 10001002
100002 + 1000010002

Tidak ada komentar:

Posting Komentar