Lompat ke konten Lompat ke sidebar Lompat ke footer

Perbandingan Dua Program Looping Bahasa C

Diberikan dua buah contoh program yang akan memperlihatkan segmentasi kecepatan ketika kedua program persebut dijalankan, dengan asumsi bahwa kompilator tidak melakukan optimisasi kecepatan pada kedua program yang sedang dijalankan tersebut.


Perbanding Dua Program Looping Bahasa C
Looping Bahasa C

Sebelum memahami lebih dalam materi tentang Perbandingan Dua Program Looping Bahasa C, terlebih dahulu pelajari materi tentang: Penggunaan Keyword For dan While Pada Bahasa C [klik], Tipe Data Label Menggunakan Statement Switch Bahasa C [klik], dan Memeriksa Karakter Alfabet dan Angka Bahasa C Menggunakan ISALPHA dan ISDIGIT [klik].

Contoh:
/* FIRST */
for(i = 0; i < 10; i++)
for(j = 0; j < 100; j++)
//do something


Contoh:
/* SECOND */
for(i=0;i<100;i++)
for(j=0;j<10;j++)
//do something


Kedua segmentasi kode menyediakan fungsi yang sama dalam pengoperasiannya, dan di dalam kedua kode tersebut nilai looping akan dieksekusi dengan nilai angka yang sama setiap kali kedua program tersebut dijalankan. JIka dilihat secara lebih seksama, maka dapat diperhatikan bahwa contoh program kedua memiliki tahapan pengoperasian yang lebih banyak daripada program satu, dimana program kedua mengeksekusi semua bagian dari partisi program yang meliputi bagian penugasa, bagian perbandingan, dan bagian inkrementasi dari program, sehingga membutuhkan proses looping yang lebih banyak dari pada program yang pertama.


Penjelasan:
  • Program kedua akan mengeksekusi operasi penugasan dimana j = 0 atau i = 0, sebanyak 101 kali looping, dimana program pertama hanya perlu melakukan 11 looping saja.
  • Program kedua kemudia akan melakukan perbandingan nilai 101 dan 1100 berupa nilai i < 100 atau j < 10, dimana pada program pertama proses perbandingan yang dilakukan adalah i < 10 atau j < 100 saja.
  • Program kedua akan mengeksekusi proses inkrementasi sebanyak 1100 operasi berupa i++ atau j++, dimana program pertama hanya melakukan 1010 kali proses inkrementasi.

Contoh: berikut adalah ilustrasi kode program untuk menghitung nilai angka dari operasi inkrementasi yang akan dieksekusi pada program pertama dan kedua, dan kemudian akan mencetak nilai yang telah dihitung tersebut pada layar monitor.

// Program Bahasa C untuk

// menghitung angka dari

// operasi inkrementasi pada

// perintah FIRST dan SECOND.

#include<stdio.h>


int main()

{


int c1 = 0, c2 = 0;


/* FIRST */

for(int i=0;i<10;i++,c1++)

for(int j=0;j<100;j++, c1++);


/* SECOND */

for(int i=0; i<100; i++, c2++)

for(int j=0; j<10; j++, c2++);


printf("Count in FIRST = %d\n",&c1);

printf("Count in SECOND = %d\n",&c2);


getchar();


return 0;

}

Output:
Count in FIRST = 1010
Count in SECOND = 1100


Berikut adalah ilustrasi program kedua dari penghitungan eksekusi perbandingan dari program pertama dan program kedua.

Contoh:

// Program Bahasa C untuk

// menghitung angka dari

// eksekusi operasi

// perbandingan antara FIRST

// dan SECOND.

#include<stdio.h>


int main()

{


int c1 = 0, c2 = 0;


/* FIRST */

for(int i=0; ++c1&&i<10; i++)

for(int j=0; ++c1&&j<100;j++);


/* SECOND */

for(int i=0; ++c2&&i<100; i++)

for(int j=0; ++c2&&j<10; j++);


printf("Count in FIRST = %d\n",&c1);

printf("Count in SECOND = %d\n",&c2);


getchar();


return 0;

}

Output:
Count for FIRST 1021
Count for SECOND 1201

5 komentar untuk "Perbandingan Dua Program Looping Bahasa C"

  1. Kenapa dua contoh looping tersebut harus dibandingkan pada Bahasa C?

    BalasHapus
    Balasan
    1. Untuk mengetahui mana proses looping yang lebih efektif dan efisien penggunaannya.

      Hapus
    2. Klo gamau dibandingkan gapapasih serah ente aja.

      Hapus
  2. Setelah diketahui hasil dari proses perbandingan looping tersebut, maka apakah setiap proses membuat program harus menggunakan aturan yang telah dilakukan pengujian tersebut?

    BalasHapus
    Balasan
    1. Semua bergantung pada pertimbangan pembuatan aplikasi, baik dari segi sumber daya pengembang, waktu pelaksanaan, dan tingkat kebutuhan aplikasi.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -