Assalamu'alaikum warahmatullahi wabarakatuh
Postingan ini merupakan lanjutan dari postingan saya yang berjudul "Program C untuk mencari nilai Maksimum & Mininimum"
Nah, postingan ini merupakan logika dari Listing atau Code Program yang ada pada postingan tersebut.
Algoritma Divide and Conquer
merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and
Conquer merupakan algoritma yang berprinsip memecah-mecah permasalahan yang
terlalu besar menjadi beberapa bagian kecil sehingga lebih mudah untuk
diselesaikan. Langkah-langkah umum algoritma Divide and Conquer :
1. Divide
: Membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan
masalah semula namun berukuran lebih kecil ( idealnya berukuran hampir sama ).
2. Conquer
: Memecahkan ( menyelesaikan ) masing-masing upa-masalah ( secara rekursif ).
3. Combine
: Menggabungkan solusi masing-masing upa-masalah sehingga membentuk
solusi masalah semula.
Objek masalah yang di bagi adalah
masukan (input) atau instances yang berukuran n: tabel (larik), matriks, dan
sebagainya, bergantung pada masalahnya. Tiap-tiap upa-masalah mempunyai
karakteristik yang sama (the same type) dengan karakteristik masalah asal,
sehingga metode Divide and Conquer lebih natural diungkapkan dalam skema
rekursif.
peryataan conio.h.
adalah library pada C yang digunakan untuk mengkoneksikan pernyataan clrscr()
dengan program yang kita buat. Tanpa menggunakan library ini, kita tidak bisa
menggunakan fungsi prototype seperti: gotoxy(), clrscr(), clreol().
#include
<stdio.h>
Dalam
c++ jika kita menginginkan penggunaan input dan output, atau bisa diartikan
sebagai standard library yang berfungsi untuk I/O package maksudnya digunakan jika kita ingin
pada program kita menggunakan fungsi standard input atau output bisa dikatakan
seperti portable input/output package. Tanpa menggunakan library ini, kita tidak bisa
menggunakan perintah-perintah input/output pada program kita.
int
a[100];
int
max, min;
Pernyataan
diatas digunakan untuk mendeklarasikan variable. Untuk int a[100] artinya variable a bertipe data integer (bilangan bulat)
array dan memiliki tampungan hingga 100 karakter. Sedangkan untuk int max, min artinya variable max dan
min bertipe data integer (bilangan bulat).
void
maxmin(int i, int j) {
Pernyataan
diatas adalah procedure untuk melakukan penghitungan dengan identitas maxmin dengan variable utamanya integer i dan integer j.
if(i==j)
{... }
Pernyataan
diatas adalah kondisi utama (prioritas) sebuah percabangan dalam suatu program.
else
if(i==j-1) {... }
Pernyataan
diatas adalah kondisi kedua (alternative) sebuah percabangan dalam suatu
program, pernyataan ini akan dieksekusi jika kondisi dalam pernyataan utama
tidak terpenuhi.
else
{... }
Sedangkan
pernyataan diatas adalah kondisi terakhir sebuah percabangan dalam suatu
program, pernyataan ini akan dieksekusi jika kondisi dalam pernyataan utama dan
kedua tidak terpenuhi.
void
main() {
Pernyataan
diatas adalah main procedure (prosedur utama dalam program ini). Fungsinya
sama seperti public.static.void.main(String
args[]) { pada bahasa pemrograman java.
clrscr();
Pernyataan
di atas digunakan untuk membersihkan layar ketika program dieksekusi.
printf("\n\t\t\t Maximum & Minimum \n\n");
Pernyataan
printf di atas digunakan untuk mencetak tulisan yang ada diantara tanda kutip “
”, yaitu Maximum dan Minimum. Pernyataan \n digunakan agar tulisan utama yang
dicetakada jedanya (enter) pada saat program dieksekusi, sedangkan pernyataan
\t digunakan agar tulisan utama yang dicetak menjorok kedalam (tab) pada saat
dieksekusi.
scanf("%d",&num);
Pernyataan
scanf digunakan untuk menyimpan angka yang kita input ketika program
dieksekusi. Disini terdapat %d yang
mengartikan data inputan akan ditampilkan dalam bentuk decimal, dan &num mengartikan data inputan akan
disimpan sementara pada variable num.
for(i=0;i<num;i++)
{ scanf("%d",&a[i]); }
Pernyataan
for di atas digunakan sebagai kondisi perulangan pada program, program akan
mengeksekusi dimulai dari 0 hingga terpenuhi kondisi i<num , dan variable i
akan terus bertambah 1 terpenuhi kondisi i<num.
Hasil dari eksekusi perulangan di atass akan tersimpan kedalam baris pernyataan
scanf(“%d”,&a[ i ]).
getch();
berguna
unutk membaca sebuah karakter, bisa juga membaca tombol, getch() tidak akan
menampilkan karakter dari tombol yang ditekan. Sebuah getch() bisa pula
digunakan untuk menunggu sembarang tombol ditekan. Pada keadaan seperti ini,
hasil dari fungsi ini tidak perlu diletakkan ke variable, atau dipascal dapat
diartikan sebagai readln
Disini saya membuat programnya menggunakan TurboC++,
untuk melihat hasil dari program yang kita buat terlebih dahulu kita harus
menyimpan (save as) dengan format .c atau .cpp, jika telah kita simpan
selanjutnya adalah mengkompile dengan langkah: Project > Compile atau bisa menekan Alt+F9, dan untuk melihat
outputnya: Debug > Run atau bisa
menekan Ctrl+F9.
Semoga postingan ini bermanfaat :)
Wassalamu'alaikum warahmatullahi wabarakatuh
mantap mas bero . ijin sedot mas bero :roll:
ReplyDeletemonggoh..hehe
Deletematur suwun wis mampir di blog saya ya kang mas
mantap gan...keep posting ya gan..
ReplyDeletemampir juga ke Unik Informatika
thanks..:D
kalo ada waktu senggang dan ada materinya insyaAllah ane keep posting :D
Deletesama-sama mas bro, thanks udah mampir + komeng di blog ane :)
kang kalo for(i=2;i<=n;i++)
ReplyDeletemengartikan apa?makasih
@tulisan biasa: itu untuk kondisi perulangan kang
Deletei=2; inisial i bernilai 2, dan i<=n; berarti perulangan akan berhenti jika nilai n sudah terpenuhi, dan untuk pernyataan i++ berarti nilai i dinaikkan 1 tiap dilakukan operasi pada i (i++ increment disebutnya)
CMIIW, semoga pertanyaannya terjawab.
makasih udah mampir dan komen di blog saya :)