Bahan Ujian Komprehensif Sidang Sarjana

  Bahan Ujian Komprehensif Sidang Sarjana Mata ujian : Algoritma dan Pemrograman Koordinator : Dr. Bambang Wahyudi, SKom., MMSI

  1. Pertanyaan: Apa definisi dari “algoritma” ? Jawaban: Algoritma adalah “urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.”

  2. Pertanyaan: Apa saja pertimbangan dalam menyusun sebuah algoritma ? Jawaban:

  a. Algoritma harus benar (hasilnya sesuai dengan keinginan pemecahan masalahnya);

  b. Algoritma harus mampu memberikan hasil terbaiknya (dari beberapa kemungkinan hasil lain); c. Algoritma harus efisien dalam penggunaan waktu dan memori.

  3. Pertanyaan: Apa beda algoritma dengan program ? Jawaban: Program adalah kumpulan pernyataan (perintah untuk) komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman, sehingga bisa disebut bahwa program adalah implementasi bahasa pemrograman.

  4. Pertanyaan: Apa yang disebut dengan “pseudocode” ? Jawaban:

  Pseudocode adalah tulisan (notasi) algoritma yang mendekati perintah dalam bahasa pemrograman.

  5. Pertanyaan: Apa beda compiler dan interpreter ? Jawaban:

  Compiler adalah penerjemah yang bekerja memeriksa program sekaligus seluruhnya, dan interpreter adalah penerjemah yang bekerja memeriksa program baris demi baris.

  6. Pertanyaan: Apa yang disebut dengan “bahasa pemrograman tingkat tinggi” dan “bahasa pemrograman tingkat rendah” ? Jawaban: Bahasa tingkat tinggi adalah bahasa pemrograman yang ditulis dengan orientasi bahasa manusia (khususnya bahasa Inggris), sedangkan bahasa tingkat rendah adalah bahasa pemrograman yang ditulis mendekati bahasa mesin yang setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator).

  7. Pertanyaan: Bagaimana cara menyajikan algoritma ? Jawaban: Penyajian algoritma secara garis besar bisa dalam dua bentuk penyajian yaitu tulisan dan gambar. Tulisan bisa dalam bahasa umum manusia (Indonesia, Inggris, dan sebagainya), maupun bahasa yang mendekati bahasa pemrograman (pseudocode). Sedangkan penyajian dengan gambar umumnya menggunakan flowchart.

  8. Pertanyaan: Apa beda flowchart sistem dan flowchart program ? Jawaban:

  Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan

  prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Sedangkan flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.

  9. Pertanyaan: Apa saja langkah-langkah pemecahan masalah dalam pembuatan program ? Jawaban:

  1. Mendefinisikan masalah

  2. Membuat Algoritma dan Struktur Cara Penyelesaian

  3. Menulis Program

  4. Mencari Kesalahan

  5. Menguji dan Memverifikasi Program

  6. Mendokumentasi Program

  7. Pemeliharaan Program

  10 Pertanyaan: . Apa yang dilakukan dalam menguji program ?

  Jawaban:

  1. Melakukan kompilasi hingga program bersifat error free

  2. Menguji dengan proses (perhitungan) manual, hasilnya harus tepat

  3. Menguji dengan banyak data agar dipastikan kevalidan program

  11. Pertanyaan: Apa keperluan dilakukannya dokumentasi program ? Jawaban: Tujuan dokumentasi adalah untuk mengingat kembali (khususnya alur kerja atau logika) dari program tersebut agar mudah jika harus melakukan perubahan atau penambahan sesuatu dalam programnya.

  12 Pertanyaan: . Jelaskan pengelompokkan struktur proses dalam algoritma !

  Jawaban:

  • Proses urutan (sequence) – Prosedur proses dalam algoritma yang dilakukan secara urut langkah demi langkah.
    • – Sebuah urutan terdiri dari satu atau lebih instruksi. Tiap instruksi dilaksanakan secara berurutan sesuai dengan urutan pelaksanaan, artinya suatu instruksi akan dilaksanakan setelah instruksi sebelumnya telah selesai dilaksanakan.

  • Proses penyeleksian (selection)
    • – Suatu instruksi dikerjakan jika suatu kondisi tertentu dipenuhi. Dengan adanya proses ini maka ada kemungkinan beberapa jalur aksi yang berbeda berdasarkan kondisi yang ada.

  • Proses pengulangan (looping)
    • – Suatu proses melakukan eksekusi suatu program secara berulang-ulang pada suatu blok instruksi tertentu yang terkendali.

  13 Pertanyaan: . Apa kekurangan menuliskan algoritma dengan bahasa natural (bahasa manusia) ?

  Jawaban: Kelemahan penulisan yang menggunakan bahasa natural antara lain (1) hanya dimengerti oleh orang yang memiliki pengetahuan bahasa tersebut, (2) bisa menghasilkan arti yang berbeda (ambiguous), (3) kadang sulit merangkainya secara terstruktur (harus menjelaskan dengan panjang lebar), apalagi jika harus dilakukan algoritma yang memiliki pengulangan proses (loop), atau yang bersifat rekursif.

  14 Pertanyaan: . Apa kriteria algoritma yang baik menurut Donald E. Knuth ?

  Jawaban: 1. bisa menerima input dari luar, bukan hanya ada di dalam program, 2. memiliki sedikitnya sebuah hasil atau output, 3. memiliki kepastian (definiteness) pada setiap instruksinya atau tidak memiliki arti yang bias

  (tidak bersifat ambigu), 4. memiliki batas (finiteness) atau memiliki titik henti (stopping role), dan 5. bersifat efektif (effectiveness).

  15 Pertanyaan: . Buat contoh algoritma untuk menghasilkan apakah sebuah angka yang dimasukkan adalah angka ganjil atau genap ! Jawaban: input a if a/2 = int(a/2) write “genap” else write “ganjil” endif atau: input a if mod(a/2) = 0 write “genap” else write “ganjil” endif

  16 Pertanyaan: . Sebutkan tiga jenis kesalahan ketika menjalankan program !

  Jawaban:

  1. Syntax errors

  2. Run-time errors

  3. Logic errors

  17 Pertanyaan: . Berapa banyak kondisi yang bisa digambarkan pada sebuah lambang decision pada flowchart ?

  Jawaban: Tiga

  18 Pertanyaan: . Apa perbedaan teknik looping yang menggunakan “repeat-until” dengan “for-next” ?

  Jawaban: Kondisi pengulangan (iterasi banyaknya pengulangan) pada for-next terletak di posisi paling atas (ada di for), sedangkan pada repeat-until berada di bawah (di until).

  19 Pertanyaan: . Gambarkan lambang konektor pada flowchart yang digunakan untuk menyatakan bahwa gambar proses atau prosedur berikutnya (sambungannya) berada di halaman yang sama atau berada di halaman yang berbeda ? Jawaban:

  “on-page reference” rangkaian (proses atau prosedur) berikutnya berada di halaman yang sama, sedangkan ”off-page reference” rangkaian (proses atau prosedur) berikutnya berada di halaman yang lain.

  20 Pertanyaan: . Apa beda cara pembacaan untuk file yang bersifat sequential dan file yang bersifat direct ?

  Jawaban:

  File yang bersifat sequential, hanya dapat dibaca secara berutan, yaitu sebuah record akan dibaca

  setelah record sebelumnya selesai dibaca. Sedangkan file yang bersifat direct, record dapat dibaca berurutan maupun langsung (ke nomor record tertentu tanpa harus membaca record sebelumnya).

  21 Pertanyaan: . Bagaimana lambang dalam flowchart yang menandai bahwa file yang disimpan secara

  sequential atau secara direct ?

  Jawaban: lambang magnetic tape, untuk penyimpanan maupun pembacaan sequential data lambang disk storage, untuk penyimpanan maupun pembacaan direct data

  . Apa yang Saudara ketahui tentang kartu berlubang (punch card) yang di dalam flowchart dilambangkan dengan Jawaban: Untuk menuliskan program atau memberi data yang akan digunakan komputer, kita harus melubangi kartu khusus yang didesain untuk itu yang disebut punch card dengan alat pelubang yang mirip dengan mesin ketik. Sebagai contoh, jika kita menuliskan program sebanyak 20 baris, maka kita butuh 20 kartu yang kita lubangi sesuai perintah per barisnya. Selanjutnya kartu-kartu itu disusun sesuai urutan baris program yang kemudian akan dibaca oleh card reader dan untuk selanjutnya diolah oleh komputer.

  23 Pertanyaan: . Sebutkan lambang-lambang dalam flowchart yang digunakan untuk menampung hasil olah komputer (alat output)

  Jawaban: “document” yaitu hasil olahan dicetak melalui printer atau plotter dan sejenisnya; “stored data” yaitu penyimpan hasil olahan ke dalam file; “display” yaitu penampil hasil olahan ke monitor; “card” yaitu output yang dihasilkan melalui puch card.

  “paper tape” yaitu output yang dihasilkan melalui pita kertas

  24 Pertanyaan: . Sebutkan lambang-lambang dalam flowchart yang digunakan untuk memberikan data ke komputer (alat input)

  Jawaban: “manual input” yaitu input yang diberikan orang secara manual (misalkan melalui

  keyboard) “sequential data” yaitu input yang diberikan melalui file yang bersifat sequential.

  “direct data” yaitu input yang diberikan melalui file yang bersifat direct.

  “card” yaitu input yang diberikan melalui puch card. “paper tape” yaitu input yang diberikan melalui pita kertas.

  25 Pertanyaan: . Jelaskan keuntungan menuliskan program menggunakan modul, sub-program, atau sub-routine ?

  Jawaban:

  1. Memudahkan dalam penulisan atau pembacaan program;

  2. Memudahkan dalam menelusuri kesalahan (error) bila itu terjadi; 3. Programmer bisa lebih berkonsentrasi di modul yang sedang dikerjakannya.

  26 Pertanyaan: . Sebutkan nilai angka seperti apa yang lebih cocok ditampung ke dalam variabel string ?

  Jawaban: Nilai angka yang tidak diproses secara numerik (matematis), seperti nomor telepon.

  27 Pertanyaan: . Apa saja kelemahan menyajikan algoritma dengan flowchart ?

  Jawaban: Untuk masalah yang besar atau rumit, penggambarannya sulit dilakukan atau sulit dibaca (ditelusuri) karena banyaknya.

  Catatan: Soal bisa dikembangkan dari jawaban yang dilontarkan peserta sidang.