-->

Algorithma dan Pemrograman: Latihan Soal dan Jawaban

Part 1:

1. 5 urutan proses yang benar dalam Flowchart adalah...

a. Input, Loading, Proses, Output, Stop 

b.Start, Read, Proses, Write, Stop

c.Head, Read, Loading, Write, End

d.Head, Input, Proses, Output, End

e.Start, Read, Proses, Output, Stop

Jawaban: Start, Read, Proses, Output, Stop


2. Urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis disebut...

a.Flowchart

b.Konstanta

c.Algoritma

d.Variabel

e.Tipe data

Jawaban: Algoritma


3. Dibawah ini beberapa struktur dasar algoritma...

a.Pemulihan,Urutan, Pemograman

b.Urutan, Pemulihan, Pengulangan

c.Urutan, Pilihan, Pengulangan

d.Perbaikan, Pemulihan, Pengaturan

e.Perbaikan, Pemilihan, Pengulangan

Jawaban: Urutan, Pilihan, Pengulangan


4. Merupakan algoritma yang dinyatakan dalam diagram dengan bentuk-bentuk tertentu, adalah pengertian dari...

a.Pseudocode

b.Konstanta

c.Algoritma

d.Flowchart

e.Array

Jawaban: Flowchart


5. Penulisan algoritma yang menggunakan sintaks (cara penulisan) yang menyerupai bahasa pemrograman disebut...

a.Coding

b.Aplikasi

c.Flowchart

d.Data flow

e.Pseudocode

Jawaban: Pseudocode


Part 2:

1. Tipe data yang cocok untuk menjelaskan data tanggal lahir adalah  menggunakan tipe data...

a. Array

b.Varchar

c.Integer

d.Date time

e.Numeric

Jawaban: Date time


2. Tipe data yang mampu menampung banyak data dengan tipe data yang berbeda-beda adalah...

a.Character

b.Array

c.Record

d.String

e.Subrange

Jawaban: Record


3. Yang dimaksud dengan konstanta adalah...

a.Variabel yang nilainya bersifat tetap dan bisa diubah-ubah

b.Nilai dari suatu variabel

c.Variabel yang nilainya kosong

d.Variabel yang nilainya bersifat tetap dan tidak bisa diubah-ubah

e.Variabel yang selalu membutuhkan masukan/inputan dari user

Jawaban: Variabel yang nilainya bersifat tetap dan bisa diubah-ubah


4. Tipe data yang cocok untuk menjelaskan data nama_siswa adalah...

a.Varchar

b.Integer

c.Date time

d.Array

e.Numeric

Jawaban: Varchar


5. Tempat menampung dan menyimpan satu atau lebih nilai, adalah pengertian dari...

a.String

b.Variabel

c.Boolean

d.Numerik

e.Konstanta

Jawaban: Variabel


P11

Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menjadi urut dan teratur menurut suatu aturan tertentu. Biasanya pengurutan terbagi menjadi 2 yaitu : ascending (pengurutan dari karakter/ angka kecil ke karakter / angka besar ke karakter/ angka kecil)

Ada banyak cara yang dapat dilakukan untuk melakukan proses pengurutan dari paling atas ke paling bawah atau sebaliknya.


Untuk melakukan proses pengurutan dapat menggunakan beberapa metode antara lain :

1. Bubble sort 

Bubble sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. Pembandingan alamatnya dapat dimulai dari data yang paling awal atau yang paling akhir. Apabila elemen yang sekarang (sebelumnya) lebih besar dari elemen berikutnya, maka posisis di tukar, kalau tidak posisinya tetap atau tidak perlu ditukar.

2. Selection sort

Selection sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutanya sampai elemen terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka di catat posisinya dan langsung ditukar.

3. Quick Sort

Quick sort adalah suatu metode pengurutan yang membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunkan sedemikian rupa sehingga elemen yang lain lebih kecil dari pada pivot teletak disebelah kiri pivot sedangkan elemen yang lebih besar dari pivot diletakan disebelah kanan pivot.

4. Merge sort

Merge sort adalah suatu metode pengurutan yang membandingakn elemen satu dengan elemen yang lain, apabila nilainya lebih kecil maka datanya ditampung di elemen yang lain lagi.


Sekarang coba kalian coba masukkan source code berikut ini ke dalam DevC++

#include <iostream.h> 

#include <iomanip.h> 

int main()

{

int NumList[8] = {5, 34, 32, 25, 75, 42, 22, 2};

int Swap;

cout<<"Data sebelum diurutkan: \n"; for(int ctr=0; ctr<8; ctr++)

{

cout<< setw(3) << NumList[ctr];

}

cout<<"\n\n";

for ( int i=0; i<7; i++) for ( int ii=0; ii<7; ii++)

if ( NumList[ii] > NumList [ii +1] )

{

Swap = NumList [ii];

NumList [ ii ] = NumList[ ii +1 ]; NumList [ ii + 1] = Swap;

}

cout<<"Data setelah diurutkan : \n"; for (int iii=0; iii<8; iii++)

cout<< setw (3) << NumList [iii]; cout<<endl <<endl;

}


Catatan :

- iomanip merupakan header untuk membantu memanggil fungsi dari setwegg, dimana setw() adalah sebuah fungsi manipulator yang berguna untuk mengatur lebar dari suatu tampilan data. 

- Kemudian disana ada fungsi swap yang mana fungsi ini digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting).


TOPIK DISKUSI P11

Coba anda masukkan source code berikut kemudian jelaskan hasil akhirnya dengan suatu kalimat pemahaman terhadap isi dari source code dan hasilnya.

#include< stdio.h> 

#include <stdlib.h> 

#include <string.h>

int sort_function (const void *a, const void *b); char list[5][4] = {"cat", "car", "cab", "cap", "can"}; 

int main(void)

{

int x;

qsort (( void *)list, 5, sizeof(list[0]), sort_function); for (x = 0; x< 5; x++)

printf("%s\n", list[x]); return 0;

}

 int sort_function ( const void *a, const void *b)

{

return ( strcmp ((char *) a, (char *)b) );

}



Berlangganan update artikel terbaru via email:

0 Response to "Algorithma dan Pemrograman: Latihan Soal dan Jawaban"

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel