12 Soal (Essay) Algoritma dan Pemrograman Beserta Jawaban

Kumpulan Soal (Uraian) Materi Algoritma dan Pemrograman


1. Jelaskan yang Anda ketahui tentang sejarah kecerdasan buatan?

Jawaban:  
Berbagai literatur mengenal kecerdasan buatan menyebutkan bahwa ide mengenai kecerdasan buatan diawali pada awal Abad 17 ketika Rene Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Kemudian, Blaise Pascal yang menciptakan mesin pnghitung digital mekanis pertama pada 1642. Selanjutnya pada abad 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat deprogram. Perkembangan terus berlanjut, Bertrand Rusell dan Alfred North Whitehed menerbitkan Principia Mathematica yang merombak logika formal. Warren McCulloch dan Wallter Pitts menerbitkan “Kalkulus Logis Gagasan yang tetap ada dalam Aktivitas” pada 1943 yang meletakkan pondasi awal untuk jaringan syaraf. Tahun 1950-an adalah periode usaha aktif dalam Al. Program Al pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK), dimana sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah kecerdasan buatan pada konferensi pertama pada tahun 1956. Selain itu, dia juga menemukan bahasa pemrograman LISP. Alan Turing memperkenalkan “Turning Test” sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian. Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnose dan terapi medis yang diyakini sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan yang memiliki rintangan secara mandiri.


2. Mengapa sistem AI dapat berpikir seperti manusia (Thinking Humanly)?

Jawaban:   
Thinking Humanly sebagai sistem yang dilakukan dengan cara intropeksi berupa penangkapan pemikiran psikologi manusia pada komputer. Hal ini sering diujikan dengan neuron ke neuron lainnya atau sel otak dengan sel otak lainnya cara pembelajarannya yaitu melalui experiment-experiment. Komputer atau mesin dapat berpikir seperti manusia. Proses berpikir manusia umumnya melewati 2 tahap, pertama dengan cara mencoba untuk menangkap pemahaman atas dirinya sendiri (introspection) serta melalui pengalaman-pengalaman psikologi ketika melalui peristiwa tersebut (pshycological experiment). Di awal tahun 1955 hingga 1965 muncul antusiasme yang sangat tingi terhadap AI dari kalangan peneliti yang kemudian melahirkan GPS (General Problem Solver). GPS merupakan teori bagaimana manusia dapat memecahkan permasalahan dalam bentuk simulasi. GPS ditemukan oleh Newell dan Simon. Pada CPS, program yang diuji tidak terlalu menekankan pada apakah pemecahan masalah yang dilakukan sudah benar namun lebih melihat pada langkah-langkah penalaran yang diambil.


3. Tuliskan fungsi nonvoid (fungsi yang mengembalikan nilai)!

Jawaban:   
Fungsi jenis ini sering disebut function, karena mampu mengembalikan nilai keluaran yang didapat dari fungsi tersebut. Ciri khas dari fungsi nonvoid identic dengan memiliki keyword return, tipe data pada deklarasi fungsi, dan memiliki nilai kembalian


4. Tuliskan lima jenis kecerdasan buatan yang sering kita temui!

Jawaban:   
Lima jenis kecerdasan buatan yang sering kita temui, yaitu sebagi berikut
a. Algoritma Genetik (Genetik Algorithms) biasanya digunakan di bidang kedokteran, missal untuk menganalisis DNA.
b. Jaringan syaraf Buatan (Artificial Neural Networks) merupakan sekelompok jaringan saraf (neuron) buatan yang menggunakan model matematis atau komputasi untuk pemrosesan informasi berdasarkan pendekatan terhubung pada komputasi. Pada kebanyakan kasus, JST merupakan sistem adaptif yang merubah strukturnya berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut.
c. Logika Fuzzy (Fuzzy Logics) adalah salah satu komponen pembentuk soft computing. Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh. Dasar logika fuzzy adalah teori himpunan fuzzy
d. Peramainan Komputer (Games) paling disukai anak-anak, misalnya memainkan game Age of Mythology atau Counter Strike.
e. Robotika (Robotic) banyak digunakan di pabrik. Biasanya dibuat untuk melakukan kegiatan otomatisasi, missal dalam PLC (Programmable Logic Control)


5. Tuliskan hubungan mendasar antara Robotic dengan AI!

Jawaban:   
Robotic atau Robotika merupakan salah satu cabang AI yang menggabungkan cabang-cabang AI yang lain termasuk ketiga cabang di atas untuk membentuk sebuah sistem robotik. Keempat cabang AI tersebut merupakan cabang umum yang banyak dipelajari, masih banyak cabang-cabang AI yang lainnya. Seiring perkembangan riset dalam AI, dapat dimungkinkan akan muncul cabang-cabang baru yang melengkapi unsur AI sehingga AI menjadi sebuah sistem lengkap dan akan mencapai goal-nya yang sampai sekarang masih belum sempurna.


6. Uraikan Neural Network beserta tiap lapisannya!

Jawaban:   
Neural Network mengandung tiga lapisan, yaitu lapisan masukan, lapisan tersembunyi, dan lapisan keluaran. Lapisan-lapisan ini mengandung ribuan, terkadang jutaan, dari simpul-simpul. Informasi dimasukan ke dalam lapisan input. Masukan diberi bobot tertentu, dan simpul yang saling berhubungan melipatgandakan bobot sambungan saat mereka berpergian. Pada dasarnya, jika unit informasi mencapai ambang tertentu, maka ia dapat lolos ke lapisan berikutnya. Belajar dari pengalaman, mesin membandingkan output dari jaringan saraf, kemudian memodifikasi koneksi, bobot, dan ambang berdasarkan perbedaan di antara mereka.


7. Jabarkan tentang proses mengevaluasi dan memilih algoritma berdasarkan teknologi AI dalam e-commerce!

Jawaban:   
Sesuatu dapat digolongan sebagai AI jika bisa meniru fungsi kognitif manusia, seperti mengenali lingkungan sekitarnya, menangkap pola, membuat keputusan, dan pada kasus tertentu bisa melakukan pembelajaran(learning). Dalam hal ini, fungsi Al adalah sebagai solusi terhadap berbagai hal secara lebih cepat dan cerdas. AI tidak harus selalu berbentuk robot seperti di film fiksi-ilmiah. AI bisa juga berupa komputer, perangkat, atau bahkan piranti lunak tanpa wujud. Jika disadari, hal tersebut itu merupakan bentuk kecerdasan buatan yang dibenamkan dalam perangkat keseharian. Namun tidak jarang juga kita sebagai pengguna justru tidak sadar bahwa kecerdasan buatan telah meresap dalam kehidupan. Misalnya iklan produk yang terus-menerus tampil di halaman website yang kita kunjungi. Terkesan seperti mengingatkan apa yang dicari sebelumnya. Hal tersebut merupakan salah satu contoh penerapan AI dalam e-commerce. Terdapat begitu banyak bentuk pengadopsian teknologi AI dalam konteks e-commerce, tetapi yang umum digunakan, yaitu chatbot, layanan pelanggan, serta pemasaran/penjualan.


8. Apa defnisi algoritma dan contohnya !

Jawaban:   
Algoritma adalah urutan langkah langkah logis penyelesaian masalah yang disusun secara sistematis dan logis*. kata logis merupakan kata kunci dalam algoritma. langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks- algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. ertimbangan dalam pemilihan algoritma adalah- pertama- algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma- kalau memberikan keluaran yang salah pastilah algoritma tersebut bukanlah algoritma yang baik.
Untuk contoh algoritma dalam matematika seperti di bawah ini:
Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8
Algoritmanya adalah:
a. Mulai
b. Tentukan nilai x
c. Hitung nilai y = 3x + 8
d. Cetak nilai x dan y
e. Selesai.


9. Apa definisi psedocode dan contohnya !

Jawaban:   
Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code berisikan langkah-langkah untuk menyelesaikansuatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma .
Contohnya :
Pseudocode menghitung luas persegi panjang
{
double luas
double panjang
double lebar
panjang = 10.5
lebar = 2
luas = panjang * lebar
print Luas Persegi Panjang = Luas
}


10. Apa definisi flowchart !

Jawaban:   
Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikansuatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing symbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input,pemrosesan input, dan diakhiri dengan penampilan output.Simbol-simbol Flowchart


11. Tuliskan fungsi void (fungsi yang tidak mengembalikan nilai)!

Jawaban:   
Fungsi jenis ini sering disebut prosedur, karena tidak mengembalikan suatu nilai keluaran yang di dapat dari fungsi tersebut. Ciri khas dari fungsi void adalah tidak memiliki keyword return, tipe data terletak pada deklarasi fungsi, dan tidak dapat ditampilkan langsung.


12. Jelaskan dengan contoh kasus algoritma yang memiliki struktur runtunan !

Jawaban:   
Dibaca waktu tempuh seorang pelari marathon dalam jam-menit-detik (hh:mm:ss). Diminta mengkonversi waktu tempuh tersebut ke dalam detik. Tuliskan algoritmanya.
Ingatlah
1 menit = 60 detik
1 jam = 3600 detik
Misalnya waktu tempuh seorang pelari marathon adalah 1 jam, 5 menit, 40 detik. Dalam detik, waktu tempuh seluruhnya adalah ( 1 x 3600 ) + ( 5 x 60 ) + 40 = 3940 detik.
Penyelesaian :
Algoritma KONVERSI_JAM_KE_DETIK
{ dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu ditampilkan ke piranti keluaran }
DEKLARASI
Type jam : record <hh : integer {0..23}, {jam}
mm : integer {0..59}, {menit}
ss : integer {0..59}, {detik}
>
J : jam
TotalDetik : integer
DESKRIPSI
read(J.hh,J.mm,J.ss))
TotalDetik ← (J.hh*3600) + (J.mm*60) + J.ss
write(TotalDetik)
Jika anda mentranslasikan algoritma KONVERSI_JAM_KE_DETIK ke dalam bahasa pascal, anda harus memperhatikan tipe bilangan bulat yang digunakan. Karena ranah nilai tipe integer terbatas, maka ada kemungkinan hasil pengubahan jam-menit-detik ke total detik bernilai negatif, sebab nilai (J.hh*3600) + (J.mm*60) + J.ss berada di luar rentang tipe integer. Tipe longint yang mempunyai ranah yang lebih besar dapat dipakai untuk masalah ini.
Jadi, program KONVERSI_JAM_KE_DETIK dalam bahasa pascal adalah sebagai berikut :
program KONVERSI_JAM_KE_DETIK;
{ dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu ditampilkan ke piranti keluaran.}
uses wincrt;
(* DEKLARASI *)
type Jam = record
hh : longint; {jam}
mm : longint; {menit}
ss : longint; {detik}
end;
var
J : Jam;
Total Detik : longint;
(* deskripsi *)
begin
write(‘Jam :’); readln(J.hh);
write(‘Menit:’); readln(J.mm);
write(‘Detik:’); readln(J.ss);
TotalDetik:= (J.hh*3600) + (J.mm*60) + J.ss;
writeln(‘Total detik = ‘, TotalDetik);
end