Sabtu, 03 Maret 2018

Soal Dan Jawaban Algoritma dan Struktur Data dalam Bahasa C/C++

   ALGORITMA DAN STRUKTUR DATA
      














Assalamualaikum wr wb.


   

Soal Dan Jawaban Algoritma & Struktur Data dalam Bahasa C/C++ 






(1).Seorang progammer yang baik harus mengetahui cara membuat program yang bagus.Berikan            penjelasan tentang program yang bagus itu seperti apa?

        Jawaban:

program berjalan dengan baik
  Program mudah dibaca dan mudah dimengerti
  Program mudah didebug
  Program mudah dilakukan modifikasi
Selain itu,Sebuah program juga harus menghasilkan output yang benar serta berjalan secara efisien.Dikatakan efisien jika dalam menjalankan eksekusi program memiliki durasi waktu yang singkat dan hanya memerlukan ruang memori yang kecil.dengan demikian, untuk menulis program yang efisien maka perlu mengaplikasikan konsep manajemen data yang pasti.                                                                
     Suatu program yang baik dibutuhkan suatu standar sehingga akan memudahkan pemrogram dalam merancang dan merawat program, yaitu ;
1. Pemecahan Masalah, terdiri dari :
     a. Teknik TOP-DOWN
         Suatu masalah yang besar atau komplek akan dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil dan dianalisa sehingga apabila masih memungkinkan untuk dibagi lagi akan dijadikan subbagian lalu disusun langkah-langkah untuk menyelesaikan masalah secara detail
      b. Teknik BOTTOM-UP
     Pemecahan masalah dilakukan dengan menggabungkan prosedur-prosedur yang menjadi suatu kesatuan program guna menyelesaikan masalah tersebut


2. Penyusunan Program, kriteria yang harus diperhatikan yaitu :
     a. Kebenaran Logika dan Penyusunan
     Program yang disusun harus memiliki kebenaran logika dalam pemecahan masalah dan penulisan. Program harus memiliki ketepatan, ketelitian dan kebenaran sehingga hasilnya dapat dipercaya.

     b. Waktu Penulisan dan Eksekusi Program
    Program harus menentukan batas waktu minimum dalam penulisan program, dari awal hingga siap dioperasikan. Yg harus diperhatikan adalah bahasa pemrograman yang dipilih, algoritma yang disusun dan perangkat keras yang digunakan.

    c. Perawatan dan Pengembangan Program
    Penyusunan program harus mempunyai sifat dasar yaitu kesederhanaan dan kejelasan dari program yang nantinya akan dikembangkan.

    d.  Portabilitas
   Bahasa pemrograman yang baik haruslah bisa dipakai pada berbagai tipe komputer yang berbeda-beda dan berbagai jenis sistem operasi

3.Algoritma Pemrograman yang baik, dengan ciri-ciri :
    a.  Memiliki logika perhitungan atau metode yang tepat dalam memecahkan masalah 
    b.  Menghasilkan output yang tepat dan benar dalam waktu yang singkat
    c. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak memiliki arti ganda
    d. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa                                           pemrograman
    e. Semua operasi yang dibutuhkan terdefinisi dengan jelas
    f. Semua proses harus selalu berakhir setelah sejumlah langkah dilakukan

   Untuk membuat suatu program yang besar dan kompleks, pemrogram membutuhkan       beberapa tahapan-tahapan yang sistematis dan terpadu, yaitu :
   1.    Definisi Masalah
   2.    Analisis Kebutuhan
   3.    Desain Algoritma
   4.    Pengkodean
   5.    Bahasa Pemrograman
   6.    Testing dan Debugging
   7.    Dokumentasi
   8.    Pemeliharaan

Keterangan :
1.       Definisi Masalah
   Pendefinisian masalah untuk mendapatkan pemahaman tentang permasalahan yang ada, sehingga akan diperoleh asumsi yang benar untuk memecahkan masalah dan menentukan batasan agar masalah menjadi tak terbatas.

2.    Analisis Kebutuhan
   Digunakan untuk menentukan spesifikasi fungsi, kemampuan dan fasilitas program dari program yang akan dibuat, yang bermanfaat sebagai dasar dari evaluasi setelah pembuatan program selesai.

3.     Desain Algoritma
         Desain algoritma dibuat dengan tujuan untuk menyelesaikan permasalahan. Algoritma yang
   dibuat tidak langsung jadi dan harus dikaji terus menerus sehingga diperoleh algoritma yang     
   paling lengkap, tepat, benar dan relevan. Algoritma harus memiliki kebenaran secara logika
   sebelum siap untuk diimplementasikan dalam bentuk program

4.   Pengkodean
Pengkodean menekan pada kesederhanaan dan kejelasan, meliputi :
     a.    Dokumentasi Kode
     b.    Deklarasi Data
     c.    Penyusunan Perintah
     d.    Input atau Output
     e.    Efisiensi

5.      Bahasa pemrograman
  Dalam menterjemahkan desain ke dalam bahasa pemrograman aktual, sebagian besar  kesulitan telah harus sudah terpecahkan pada tahap sebelumnya sehingga pemrogram bebasuntuk mencurahkan perhatian penuh pada pembuatan program.
  Karakteristik dari bahasa pemrograman mempunyai pengaruh yang penting terhadap berhasil tidaknya suatu program yang akan di buat. Tahap selanjutnya adalah pemilihan bahasa pemrograman yang berfungsi sebagai media untuk membuat program dan memahami serta sebagai alat komunikasi antara pemrogram dan komputer.

Kriteria yang digunakan untuk mengevaluasi pemilihannya adalah :
       a.    Bidang aplikasi yang sedang dikerjakan
       b.    Kekomplekskan algoritma dan perhitungan
       c.    Lingkungan dimana perangkat lunak akan diterapkan
       d.    Pengetahuan staf akan bahasa pemrograman
       e.    Ketersediaan kompiler yang baik

6.   Testing dan Debugging 
        Testing adalah menguji program sampai dipenuhi  bebas error lewat bermacam-macam kondisi atau dengan input yang hasilnya dapat diprediksi. Testing tidak dapat secara absolut bisa yakin bahwa program adalah benar karena untuk program besar bisa jadi setelah dipakai sekian lama baru ditemukan error.

Debugging adalah mengoreksi error yang terdeteksi meliputi menetapkan lokasi kode yang error dan mengoreksinya.

7.    Dokumentasi
Merupakan informasi dan gambaran tambahan yang sangat membantu untuk memahami sebuah kode yang diberikan dengan tujuan untuk menjadi pedoman dan penjelasan bagi pemakai.

Dokumentasi terbagi menjadi :
       a. Dokumentasi internal, merupakan bagian kode dan merupakan sebuah eksplanasi dari berbagai
            aspek lewat komentar
       b. Dokumentasi eksternal, dalam bentuk manual dan catatan-catatan penting tentang program

Sebuah perangkat lunak yang akan digunakan diharapkan mempunyai jangka hidup yang panjang dan benar-benar memerlukan dokumentasi yang intensif jika perangkat lunak berubah maka dokumentasi juga harus direvisi agar dapat merefleksikan modifikasi yang dibuat.

8.   Pemeliharaan
Digunakan untuk menjabarkan aktivitas dan analisis sistem pada saat perangkat lunak telah dipergunakan oleh pemakai.

Aktivitas yang terjadi pada fase pemeliharaan antara lain :
       a. Penambahan atau peningkatan atau juga perbaikan untuk perangkat lunak
       b.Adaptasi perangkat lunak dengan lingkungan mesin yang baru
       c. Perbaikan permasalahan yang timbul, meliputi aktivitas pembenaran kesalahan yang timbul setelah perangkat lunak digunakan oleh pemakai.


Aktivitas pemeliharaan biasanya akan menghabiskan biaya yang besar dari seluruh anggaran pengembangan atau pembuatan perangkat lunak sehingga perangkat lunak yang dihasilkan dapat diandalkan dan mudah dalam pemeliharaannya.

Pemeliharaan perangkat lunak dapat dibedakan menjadi :
a.Corrective Maintenance  
      Terjadi pada saat perangkat lunak dipakai dan hasil yang didapat oleh pemakai tidak sesuai,
   biasanya timbul pada saat keluaran yang tidak sesuai
b.Adaptive Maintenance 
      Terjadi karena adanya perkembangan dari perangkat lunak atau perangkat keras sehingga
   memerlukan modifikasi dari perangkat lunak yang telah dibuat
c.Prefective Maintenance
      Terjadi pada saat perangkat lunak yang telah dibuat, dilakukan pengujian dan kemudian   
   digunakan oleh pemakai lalu timbul permintaan tambahan fungsi sesuai dengan keinginan
   pemakai
d.Preventive Maintenance
     Terjadi seiring dengan perkembangan dari perangkat lunak atau perangkat keras di masa  
   mendatang,  misalnya saja penambahan fungsi-fungsi atau melengkapi fungsi yang ada



(2).Struktur data merupakan suatu cara menyimpan dan mengatur sebuah data supaya dapat                       digunakan secara efektif dan efesien.Sebutkan dan jelaskan jenis-jenis struktur data secara                   umum?

         Jawaban:

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).Jelaskan beberapa aplikasi perangkat lunak komputer yang menggunakan struktur               data sebagai pengembangannya?

Jawaban:

    Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap.
Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, extream programmingwaterfall serta agile.
Pengembangan perangkat lunak (juga disebut pengembangan aplikasi, desain perangkat lunak, merancang perangkat lunak, pengembangan aplikasi perangkat lunak,pengembangan aplikasi perusahaan, atau pengembangan platform) adalah pengembangan suatu produk perangkat lunak. Istilah “pengembangan perangkat lunak” bisa dipakai untuk menyebut aktivitas pemrograman komputer, yaitu proses menulis dan mengelola kode sumber, namun dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak, idealnya dalam proses yang terencana dan terstruktur. Karena itu, pengembangan perangkat lunak bisa mencakup penelitian, pengembangan baru, purwarupa, modifikasi, pemakaian kembali, rekayasa ulang, pengelolaan, atau aktivitas lain yang menghasilkan produk perangkat lunak.
Berikut penjelasan lebih detail dari model pengembangan perangkar lunak.

1. Linear Sequential Model

waterfall

Linear sequential model (atau disebut juga “classic life cycle” atau “waterfall model”) adalah metode pengembangan perangkat lunak dengan pendekatan sekuensial dengan cakupan aktivitas :
 1.       Rekayasa sistem dan Analisis (Sistem Engineering and Analysis)
Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data
 2.      Analisis kebutuhan perangkat lunak (Software Requirements Analysis)
Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi:
Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Hasilnya harus didokumentasi dan direview ke pelanggan
 3.      Perancangan (Design)
Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak, Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum dimulai penulisan program. Desain ini harus terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat lunak.
 4.      Pembuatan kode (Coding)
Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman
 5.      Pengujian (Testing)
Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal dan mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan.
6.      Pemeliharaan (Maintenance)
Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan :
 • Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan
 • Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya sistem operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahanprinter driver
 • Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.


Berikut merupakan keuntungan dan kerugian penggunaan model water fall :

Keuntungan:
·  Terstruktur
·  Tiap tahap memiliki metode untuk menghasilkan suatu dokumen yang bisa diserahkan ke pemakai
·  Dokumen yang dihasilkan tiap tahap bisa di spesifikasikan secara jelas dan mendetail

Kerugian:
·  Linear, tidak ada umpan balik (feedback)
·  Sumber daya dan penjadwalan harus di perkirakan pada awal proyek
·  Tahap terisolasi, kurang terjalin transisi ke tahap berikutnya.  Akibat paling besar terasa pada tahap requirement
·  Pemakai tidak bisa melihat produk perangkat lunak sampai akhir proyek
·  Penekanan terbesar pada dokumen

Model waterfall ini cocok untuk produksi suatu aplikasi tunggal yang biayanya rendah dengan menggunakan:
·  Dekomposisi fungsi top-down
·  3GL konvensional untuk implementasinya




2. Agile Process Model

 Agile Processmerupakan sekelompok aktifitas pembangunan perangkat lunak secara iteratif yang menekankan pada aktifitas konstruksi (desain dan koding). Agile Process mengeliminasi sebagian besar waktu untuk melakukan perencanaan sistem dan berusaha sebisa mungkin mematuhi jadwal deliver sistem yang telah dijanjikan.Requirements yang dibutuhkan secara langsung di-drive oleh pelanggan itu sendiri, dan apabila terjadi perubahan terhadaprequirements tersebut, pengembang dituntut mampu beradaptasi dengan perubahan yang terjadi.
Secara mendasar, aktifitas-aktifitas umum dalam kerangka kerja agile antara lain: komunikasi dengan pelanggan, perencanaan, pemodelan, konstruksi, pengiriman (delivery), dan melakukan evaluasi. Kemudian aktifitas akan berulang, terutama untuk perencanaan deliver berikutnya. Semua aktifitas tersebut di buat seminimal mungkin, lebih memfokuskan dan konsentrasi pada konstruksi serta delivery.
Kemudian, seperti apa saja sih bentuk dari pendekatan Agile ini ? Terdapat banyak model pendekatan yang tergolong dalam Agile Process, namun tidak semua model saya bahas pada tulisan ini, saya hanya menjelaskan dua model yaitu: Extreme Programming(XP), dan Adaptive Software Development (ASD).

Extreme Programming (XP)

    XP merupakan suatu model yang tergolong dalam pendekatanagile yang diusulkan oleh Kent Back. Menurut penjelasan dia, definisi XP adalah sebagai berikut: “Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software“. Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, danTesting. 
    Pada saat perencanaan, dimulai dengan membuat semacam “user strories” yang ditempatkan index cardUser Story (cerita) merupakan deskripsi fitur-fitur fungsional yang akan disediakan perangkat lunak yang akan dibuat. Dari cerita-cerita yang telah dibuat, pelanggan memberikan semacam nilai (misalnya: prioritas). Kemudian tim XP mengkaji semua cerita tadi dan menentukan rincian biaya serta memperkirakan waktu yang dibutuhkan untuk membangun sistem.
    Apabila waktu yang dibutuhkan untuk mengimplementasikan cerita tersebut lebih dari tiga minggu, maka tim XP meminta pelanggan memecah cerita tersebut menjadi cakupan yang lebih kecil. Cerita-cerita yang telah dibuat dikelompokkan, sehingga dapat diperkirakan untuk melakukan deliverable increments. Meskipun telah dikelompokkan dan proses pembangunan perangkat lunak telah dimulai, pelanggan masih bisa menambah, merubah, memecah dan menghapus cerita-cerita tersebut, namun tentunya harus sesuai dengan persetujuan bersama.Keuntungan dari model XP antara lain adalah:
 Pertama, dapat merepresentasikan situasi nyata yang sering terjadi, sehingga sistem yang akan dibuat mendukung sebagian besar operasional pengguna.

Kedua, memudahkan pengguna memahami dan memberikan masukan terhadap cerita tersebut.
Ketiga, dapat merepresentasikan fitur-fitur fungsional secara bertahap (incremental).


xp

 

Adaptive Software Development (ASD)


ASD merupakan suatu model yang tergolong dalam pendekatanagile yang diusulkan oleh Jim Highsmith. ASD menekankan pada pengorganisasian tim secara mandiri, kolaborasi antar-perseorangan, dan terus belajar, baik secara individu maupun secara tim. ASD menggunakan tools yang disebut “time-boxing” – yaitu berupa aktifitas yang menentukan jangka waktu tertentu yang dialokasikan untuk menyelesaikan berbagai macam tugas. Apabila waktu yang ditentukan tersebut selesai, maka pembangunan sistem akan pindah ke tugas berikutnya, dengan harapan bahwa sebagian besar dari critical work telah berhasil diselesaikan sebelum waktu keseluruhan tugas berakhir. Terdapat tiga tahapan pada model ASD, yaitu: SpeculationCollaboration, dan Learning.

Pada tahap Speculation, proyek dimulai dan adaptive cycle planning diselenggarakan. Pada tahapan ini, didefinisikan visi dan misi pengguna terhadap sistem yang akan dibuat, selanjutnya mendefinisikan project constraints, misalnya: waktu deliver. dan selanjutnya mendefinisikan satu set dari requirements yang akan dikerjakan dalam suatu cycle. Pada tahap Collaboration, pada tahap ini diorganisasikan tim kerja untuk membangun sistem. Direkomendasikan menggunakan model Joint Application Development (JAD). Pada tahap Learning, terdapat tiga aktifitas yaitu: pelanggan atau end-user menyediakan feedback terhadap hasil incremental delivery, tim ASD melakukan review terhadap komponen perangkat lunak untuk memperbaiki dan meningkatkan kualitas perangkat lunak yang sedang dibuat.


asd



(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 program algoritma yang menganalogikan abstraksi perangkat elektronik?

       Jawaban:

Cara menghidupkan komputer
•Pasangkan kabel ke stopkontak.
•Tekan tombol ON (Stabilizer),CPU,dan monitor.
•Tunggulah beberapa saat hingga komputer melakukan proses booting.
•Setelah proses Booting selesai, di layar muncul kotak dialog untuk mengisi Username dan Password. (jika          menggunakan password).
•Setelah selesai muncul desktop, komputer siap digunakan.

Cara mematikan komputer

•Pastikan semua aplikasi yang telah anda gunakan sudah ditutup.
•Pada menu start, klik shutdown-Ok atau Turn Off.
•Tekan tombol Off pada monitor dan stabilizer.

(5).Berikan penjelasan dan bandingkan beberapa pendekatan yang dapat digunakan untuk                         merancang sebuah algoritma?

        Jawaban:

    Terdapat dua pendekatan umum yang bisa digunakan untuk merancang sebuah algoritma, yaitu dengan pendekatan perancangan top-down dan juga pendekatan perancangan secara bottom-up. Pendekatan perancangan secara top-down merupakan perancangan yang dimulai dari desain abstrak, dan disain ini disempurnakan menjadi lebih kongkret disetiap langkah hingga tercapai suatu level yang tidak memerlukan perbaikan yang lebih lanjut. Sedangkan pendekatan perancangan secara bottom-up merupakan kebalikan dari pendekatan perancangan secara top-down, dimana dalam pendekatan ini dimulai dari modul paling dasar, kemudian dilanjutkan ke perancangan modul ke tingkat yang lebih tinggi. Modul yang mempunyai tingkat lebih tinggi diimplementasikan menggunakan modul yang mempunyai tingkat lebih rendah.






(6).Sebuah program dapat memiliki lebih dari satu algoritma.Rancang algoritma untuk program               kalkulator yang dapat melakukan operasi penjumlahan,pengurangan,perkalian dan pembagian?

         Jawaban:


1.       Mulai
2.       Definisi variabel angka1, angka2
3.       Definisi operator jumlah
4.       Masukan angka1
5.       Masukan angka2
6.       Tampilkan hasil jumlah
7.       Definis operator kurang
8.       Masukan angka1
9.       Masukan angka2
10.   Tampilkan hasil kurang

11.   End

  

 (7).Ukurlah komplektsitas algoritma yang anda rancang menggunakan notasi Big O? 

          Jawaban:



                i:=0;
while i<N do
begin
  i:=i+1;
  j:=0;
  while j<N do
  begin
     j:=j+1;
     k:=0;
     while k<N do
     begin
        k:=k+1;
        //statement;
     end;
  end;
end;

code diatas mempunyai kompleksitas O(N3) karena program diatas memiliki triple looping.

Daftar pustaka

1.http://rizky-rafsamjani.blogspot.co.id/2014/11/standar-program-yang-baik.html
2.http://s1tik.blogspot.co.id/2015/07/jenis-struktur-data.html
3.https://wisnuramadhaniway.wordpress.com/2013/09/27/proses-pengembangan-perangkat-lunak/
4.http://darczwing.blogspot.co.id/2014/03/merancang-dan-mendesain-program-dengan.html?m=1
5.https://bayubayyz.blogspot.co.id/2014/03/program-kalkulator-sederhana.html
6.http://gilang11018035.blogspot.co.id/2012/03/cara-menghidupkan-komputer-pasangkan.html

Tidak ada komentar:

Posting Komentar