Sabtu, 22 Oktober 2011

Membuat belah ketupat spasi menggunakan C

hey request dari maba di jurusan gua untuk post tentang C nih, disini sih gua akan ngebahas looping dan implementasinya di Bahasa pemograman C bahasa pemograman yang merupakan bahasa pemograman paling efisien dari yang lain(kecuali asembeley) wkkwkw. Nah sebelum kita mulai kita bahas dulu apa sih looping itu ?

Looping merupakan suatu teknik pengulangan yang terdapat pada bahasa pemoraman :), di C banyak cara untuk looping

Bisa menggunakan
  • while ()
  • for()
  • do while()

Pada posting saya kali ini saya akan membuat posting dengan for, saya inging membuat bentuk





nah lihat bentuk diatas, bentuk diatas merupakan bentuk segi empat dimana ditenganya terdapat pola belah ketupat yang di bentuk oleh space, nah kalau diperhatikan bahwa bentuk diatas adalah 10 X 7 dengan lebar 10 dan tinggi 7 titik. Nah langsung saja saya upload kodenya


/*
 * File:   main.c
 * Author: root
 *
 * Created on April 8, 2011, 10:03 PM
 */

#include <stdio.h>
#include <stdlib.h>
#define kolom 10
#define baris 7
/*
 *
 */
int main() {
    int i,j,k,m,n;
    k = (baris /2) +1;
    m = kolom /2;
    n = (kolom / 2)+1;

    for (i = 1; i <= baris;i++){
        for (j = 1; j <= kolom;j++){
            if (j >= m && j <= n ){
                printf (" ");

            }
            else
            {
                printf ("*");
            }
          
        }
        if (i < k){
            m--;
            n++;
        }
        else
        {
            m++;
            n--;
        }
         printf ("\n");
    }
    return (EXIT_SUCCESS);
}

Nah perhatikan sorce code diatas saya mendefinisikan constanta kolom 10 dan baris 7 dengan perintah

#define kolom 10 
#define kolom 7

nah trus lakukan pengulangan yang pertama adalah baris dan yang kedua adalah kolom di code 

  for (i = 1; i <= baris;i++){
        for (j = 1; j <= kolom;j++){


jadi akan dibentuk 10 kolom dengan 7 baris, setelah itu maka kita lihat bahwa pola spasi itu dimulai dari titik ke 5 dan ke 6 dan terus melebar hingga baris ke 4 dan mengecil hingga baris terakhir.


Maka kita lakukan kondisi saat kolom lebih besar atau sama dengan 5 dan kolom kurang dari atau sama dengan 6 maka kita print " ";

  if (j >= m && j <= n ){
                printf (" ");

            }

jika tidak maka kita print "*";

else
            {
                printf ("*");
            }


Seperti saya bilang bahwa " " dicetak dengan pola yang berbeda setiap baris (terus membesar) berarti tidak dimulai lagi dari 5 dan diakhiri di 6 tetapi dari 4 dan diakhiri di 7 , dan seterusnya hingga baris ke 4

Otomatis nilai m harus dikurangi dan nilai n harus ditingkatkan 

if (i < k){
            m--;
            n++;
        }

i < k menandakan bahwa jika baris kurang dari k (nilai k (baris/2)+1 = 4), penjelasan 7/2 = 3 (karena int jadi dibulatkan) + 1 = 4

Nah jadi hingga bari ke 4 nilai m akan dikurangi dan n akan ditingkatkan
setelah baris ke empat nilai m akan ditingkatkan dan n akan dikurangi lihat bahwa pola mulai menyusut

 else
        {
            m++;
            n--;
        }
   

nah jadi deh, hhaha gampang kan ? nah sudah deh implementasi looping menggunakan loop di c, silahkan di coba ya 

2 komentar:

  1. nice post gan, looping di C gak jauh beda sama PHP...

    BalasHapus
  2. Ya karena PHP dikembangkan oleh para programmer c jadi pattern di PHP dan Script tidak berbeda jauh

    BalasHapus