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: | Y | Proses Perhitungan | Jumlah Langkah |
|---|---|---|
| 1 | 2 + 1 | 3 |
| 10 | 2 + 10 | 12 |
| 100 | 2 + 100 | 102 |
| 1000 | 2 + 1000 | 1002 |
| 10000 | 2 + 10000 | 10002 |
Tidak ada komentar:
Posting Komentar