Vous êtes sur la page 1sur 7

Nama : Luh Putu Diah Tri Cahyani

NIM : 1504505068
Kelas : Algoritma (A)

TUGAS AKHIR
SOAL :
Carilah pengertian dan contoh dari :
-

A.

Program varifikasi algoritma


Metode diagonal
Parallelism
Pengurutan dalam parallelism

Program Verifikasi Algoritma

Verifikasi program algoritma adalah pemeriksaan pada algoritma sebuah program,


apakah terjadi kesalahan/masalah atau tidak. Dengan kata lain, verifikasi dibutuhkan agar
program dapat berjalan dengan baik. Dalam hal ini, yang diverifikasi adalah algoritma
daripada program. Untuk itu, terlebih dahulu kita harus mengetahui masalah pada program
dan cara pemecahannya yang di dalamnya juga menggunakan verifikasi program.
Program
Program adalah instruksi-instruksi untuk komputer, yang mendeskripsikan apa yang harus
dilakukan komputer. Syarat-syarat program adalah :
1. Mengerti permasalahan yang akan diselesaikan.
2. Menganalisa penyelesaian masalah.
3. Membuat algoritma dan flowchart.
4. Menulis program.
5. Melakukan testing.
6. Membuat dokumentasi.
Langkah-Langkah Pemecahan Masalah
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan
komputer adalah:
1) DEFINISIKAN MASALAH

Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya kita
mengetahui bagaimana permasalahan tersebut:
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
2) BUAT ALGORITMA DAN STRUKTUR CARA PENYELESAIAN
Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap penyusunan
algoritma seringkali dimulai dari langkah yang global terlebih dahulu. Langkah global
ini diperhalus sampai menjadi langkah yang lebih rinci atau detail. Cara pendekatan
ini sangat bermanfaat dalam pembuatan algoritma untuk masalah yang kompleks.
Penghalusan langkah dengan cara memecah langkah menjadi beberapa langkah.
Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana.
Penghalusan langkah ini akan terus berlanjut sampai setiap langkah sudah cukup rinci
dan tepat untuk dilaksanakan oleh pemroses.
3) MENULIS PROGRAM
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah
program. Perlu diperhatikan bahwa pemilihan algoritma yang salah akan
menyebabkan program memiliki untuk kerja yang kurang baik. Program yang baik
memiliki standar penilaian:
a. Standar teknik pemecahan masalah
- Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah
suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok
masalah yang lebih kecil. Dari masalah yang kecil tersebut dilakukan analisis.
Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi
subbagiansubbagian dan setelah itu mulai disusun langkah-langkah
penyelesaian yang lebih detail.
- Teknik Bottom-Up
Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan
dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan
program sebagai penyelesaian masalah tersebut.
b. Standar penyusunan program
- Kebenaran logika dan penulisan.
- Waktu minimum untuk penulisan program.
- Kecepatan maksimum eksekusi program.
- Ekspresi penggunaan memori.
- Kemudahan merawat dan mengembangkan program.
- User Friendly.
- Portability.
- Pemrograman modular.
4) MENCARI KESALAHAN
a. Kesalahan sintaks (penulisan program).

b. Kesalahan pelaksanaan: semantik, logika, dan ketelitian.


5) UJI DAN VERIFIKASI PROGRAM
Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak
dapat dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program
dapat dijalankan, maka harus diuji dengan menggunakan data-data yang biasa yaitu
data yang diharapkan oleh sistem. Contoh data ekstrem, misalnya, program
menghendaki masukan jumlah data tetapi user mengisikan bilangan negatif. Program
sebaiknya diuji menggunakan data yang relatif banyak.
6) DOKUMENTASI PROGRAM
Dokumentasi program ada dua macam yaitu dokumentasi internal dan dokumentasi
eksternal. Dokumentasi internal adalah dokumentasi yang dibuat di dalam program
yaitu setiap kita menuliskanbaris program sebaiknya diberi komentar atau keterangan
supaya mempermudah kita untuk mengingat logika yang terdapat di dalam instruksi
tersebut, hal ini sangat bermanfaat ketika suatu saat program tersebut akan
dikembangkan. Dokumentasi eksternal adalah dokumentasi yang dilakukan dari luar
program yaitu membuat userguide atau buku petunjuk aturan atau cara menjalankan
program tersebut.
7) PEMELIHARAAN PROGRAM
a. Memperbaiki kekurangan yang ditemukan kemudian.
b. Memodifikasi, karena perubahan spesifikasi.
Contoh dari verifikasi program adalah bilamana suatu program melalui tahap
verifikasi, program verifikasi akan menampilkan output "ya" jika tidak ada masalah dan
program memberi hasil yang benar. Sebaliknya, program verifikasi akan menampilkan output
"tidak" jika ada algoritma yang gagal atau berakhir dengan hasil yang salah.

B.

Metode Diagonal

Algoritma diagonal sangat berguna bila area pencarian memiliki ukuran yang luas.
Hal ini dikarenakan metode ini memanfaatkan pencarian secara diagonal dengan
memasukkan semua elemen yang berada di garis diagonal dari node akar sampai node akhir
ke dalam antrian, kemudian menghubungkannya secara diagonal. Jika dijelaskan dalam
gambar, akan terlihat sebagai berikut :

Contoh
penggunaan metode diagonal adalah pada prosedur Breadth First Search (BFS). Prosedur
Breadth First Search merupakan pencarian yang dilakukan dengan mengunjungi tiap-tiap
node secara sistematis pada setiap level hingga keadaan tujuan (goal state) ditemukan.
Pada implementasinya, algoritma BFS mempunyai beberapa variasi pencarian. Yang
akan dibahas di sini adalah metode pencarian secara diagonal dan bi-directional. Algoritma
diagonal BFS sangat berguna bila area pencarian memiliki ukuran yang luas. Hal ini
dikarenakan, memanfaatkan pencarian secara diagonal dengan memasukkan semua elemen
yang berada di garis diagonal dari node akar sampai node akhir ke dalam antrian, kemudian
menghubungkannya secara diagonal.

C.

Parallelism

Algoritma parallel merupakan algoritma yang dapat dieksekusi dalam satu waktu pada
banyak perangkat processing yang berbeda, dan pada akhirnya akan digabungkan kembali
untuk mendapatkan hasil yang benar.
Teknik algoritma parallel, sekalipun didukung oleh teknologi prosesor yang
berkembang sangat pesat, komputer sekuensial tetap akan mengalami keterbatasan dalam hal
kecepatan pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (parallelism)
untuk menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang
sangat tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan
aerodinamika dan lain-lain.
Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel,
perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis

algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma
untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu
masalah yang memerlukan kecepatan komputasi yang sangat tinggi.
Control Parallelism :
Penerapan operasi-operasi berbeda terhadap elemen-elemen data yang berbeda secara
bersamaan. Pada control parallelism dapat terjadi aliran data antar proses-proses dan
kemungkinan terjadi aliran data yang kompleks/rumit.
Pipeline merupakan satu kasus khusus dari control parallelism dimana aliran data
membentuk jalur yang sederhana.

w2

w1

SEKUENSIAL

w5 w4 w3 w2 w1

PIPELINED

w4

w1

w5

w2

w6

w3

DATA PARALLELISM

Ilustrasi perbandingan pipelining dengan data parallelism.

[Quinn 1994]
Contoh :
Perhatikan ke-empat taman yang harus dirawat berikut ini :

a. Tanaman Pagar

b. Lapangan rumput

Nama Pekerjaan

Pekerja

1. Merapihkan tanaman pagar

Ali ,

a
b

c. Kebun bunga

Budi ,
Cipto,
Dadang,
Edi
2. Memangkas rumput

Frans,
Gugun

3. Menanam bibit bunga

Heru,
Indra,
Joko

4. Menyiram taman

Ali

Pekerjaan 4 dapat dilakukan jika ketiga pekerjaan 1, 2 dan 3 telah selesai. Pekerjaan 1, 2
dan 3 dapat dilakukan secara bersamaan, sebagai contoh control parallelism. Masing-masing
pekerjaan adalah contoh data parallelism. Sementara pekerjaan 4 dikerjakan pada sebuah
taman, pekerjaan 1, 2 dan 3 dapat dikerjakan pada satu taman yang lain.

D.

Pengurutan dalam Parallelism

Dalam pararelism juga terdapat teknik pengurutan (sorting) dengan cara menyortir
daftar panjang N (misalnya, menempatkan buku telepon campur aduk ke dalam urutan).
Pertama-tama algoritma membagi daftar masukan menjadi dua bagian, menyortir mereka
berdua secara rekursif, dan kemudian menggabungkan bagian yang telah diurutkan.
Penggabungan dicapai dengan berulang kali membandingkan daftar terkecil (diletakkan
pertama) elemen dalam setiap bagian.
Contoh pengurutan dalam parallelism :
1. jika L terdiri dari satu elemen maka diurutkan;
2. bila tidak maka dinyatakan melakukan hal berikut:
a. dibagi menjadi dua bagian L, L1 dan L2;
b. urutkan elemen pada-L1;
c. urutkan elemen pada-L2;
d. gabungan hasil pengurutan ke daftar tunggal-L.

Vous aimerez peut-être aussi