Selasa, 03 Juni 2008

Tips Memecahkan Masalah Logika Perulangan

Tips Memecahkan Masalah Logika


Bagi mahasiswa yang berbasis TI, khususnya konsentrasi software. Kita sering menjumpai berbagai macam permasalahan logika. Salah satunya adalah membentuk suatu bangun tertentu dengan deretan-deretan bilangan.

Disini kita akan membahas bagaimana cara memecahkan masalah tersebut.


Persiapan :

  1. Komputer (hehehe………)

  2. Dalam pembahasan kali ini, kita menggunakan bahasa pemrograman C++

  3. Buku-buku algoritma dan pemrograman, C++. Tidak ada juga gak apa-apa kok. Tapi ngomong-ngomong masalah buku… masa’ Mahasiswa TI gak ada referensinya. Harga buku Cuma sekian persen kalo dibandingin sama pengeluaran kita keseluruhan, seperti rokok, main game, …. Hjasda gduddn sasaiaiu kalo masih diterusin pembahasannya kapan yah…..

  4. Sebagai pelengkap kopi susu, teh susu, atau minuman yang lain.., asal bukan minuman keras yah…. Eh… satu lagi kalo merokok, lebih enak juga tuh…


Langkah-langkah:

  1. Tentukan dahulu permasalahannya apa.

Misalnya kita mempunyai soal dari dosen atau teman kita :

9

8 7

6 5 4

3 2 1 0


  1. Nah itu dia soalnya……, bagi yang sudah lancer pasti soal itu udah gampang. Jadi seilmu seguru jagan saling mengganggu….. hiiiiaaaaap Bismillahi Rahmani Rahim

  2. Untuk memecahkan masalah tersebut kita harus lihat deret bilangan yang ada sama bentuk bangunan yang dibentuk

Hal pertama yang kita dapat dari soal diatas adalah :

    1. Bilangannya dari 9 samapi 0

    2. Bangunan yang dibentu adalah segitiga siku-siku, dimana letak siku-sikunya menghadap ke kiri


  1. Dari hasil penerawangan kita diatas, maka untuk poin b kita bisa memberikan sebuah ilustrasi kotak seperti berikut





9



8

7


6

5

4

3

2

1

0


  1. Dari kotak di atas, kita lihat terdapat kotak-kotak yang terisi angka dan tidak terisi angak(bilang saja kosong). Jadi untuk memperoleh bentuk segitiga diatas kita akan menggunakan perulangan 4 x 4 (4 baris dan 4 kolom)

  2. Untuk bisa membentuk segitiganya maka kita akan mengandaikan kotak kosong itu sebagai sebuah karak ter dalam hal ini adalah karakter spasi. Dalam kotak ini kita akan melambangkan spasi dengan tanda *


*

*

*

9

*

*

8

7

*

6

5

4

3

2

1

0


Kayak tampilan game minesweeper yah….(start-game-minesweeper)

Dari tampilan diatas yang kita ambil kesimpulan adalah;

      • Jumlah baris adalah 4 jadi kita akan melakukan perulangan sebanyak 4 kali

      • Pada baris pertama jumlah karakter spasi adalah 3, baris ke dua sebanyak 2 dan baris ke tiga sebanyak 1. jadi perulangan karakter spasi pada baris pertama sebanyak 3 kali, baris kedua sebanyak 2 kali dan baris ketiga sebanyak satu kali. Maka setiap baris perulangan karakter spasi dikurangkan satu kali

      • Pada baris pertama jumlah karakter bilangan adalah 1, baris ke dua sebanyak 2 dan baris ke tiga sebanyak 3 dan baris ke empat sebanyak 4. jadi perulangan karakter spasi pada baris pertama sebanyak 1 kali, baris kedua sebanyak 2 kali , baris ketiga sebanyak 3 kali dan baris keempat sebanyak 4 kali. Maka setiap baris perulangan karakter bilangan ditambahkan satu kali

      • Untuk deret bilangan dimulai dengan 9, maka kita akan memberikan nilai awal 9 dan dilakukan pengurangan disetiap perulangan karakter bilangan.


  1. Hal pertama yang dilakukan setelah menganalisis adalah membuka program C++ nya (Dalam hal ini kita gunakan Borland C++)

  2. Menulis baris program

#include

#include


//Kalo ada yang tidak mengearti tulisan diatas, buka buku C++ nya atau tanyakan //pada orang yang membutuhkan….orang yang mengerti


//Setelah itu tentukan variable yang digunakan. Adapun perincian variable adalah //sebagai berikut :

// variable untuk membentuk 4 baris ke bawah : 1 = i

// variable perulangan untuk mencetak karakter spasi : 2 = j, k

// variable perulangan untuk bilangan : 2 = m, n

// variable yang berisi angka yang akan dicetak : 1 = l

// Jadi jumlah seluruh variable yang digunakan adalah E……..nam


//deklarasi variable

int i, j, k, l, m, n;


//memulai program

void main()

{

//menentukan nilai awal variable

// k = 3 karena jumlah spasi barsi pertama adalah 3

k=3;

//l=9 karean bilangan awal yang akan dicetak adalah 9

l=9;

// n=1 karena jumlah karakter bilangan yang dicetak pada baris pertama adalah satu

n=1;

//perulangan untuk membuat 4 baris ke bawah

for(i=1; i<=4; i++)//jika dibaca lakukan perulangan dimana i=1 selama i lebih kecil dari 4 setiap perulangan I ditambah 1

{

//perulangan untuk mencetak karakter spasi

for(j=1; j<=k;j++)//jika dibaca lakukan perulangan dimana j=1 selama j lebih kecil dari k setiap perulangan j ditambah satu. Nilai awal dari k disini adalah 3 sesuai dengan yang diberikan sebelum perulangan

{

//lakukan pencetakan karakter spasi

cout<<” “;

}

//perulangan untuk mencetak karakter bilangan

for(m=1; m<=n; m++)//jika dibaca lakukan perulangan dimana m=1 selama m lebih kecil dari n setiap perulangan m ditambah satu. Nilai awal dari n disini adalah 1 sesuai dengan yang diberikan sebelum perulangan

{

cout<

l--; // l=l-1 atau setiap perulangan l di kurang 1

}

cout<<"\n"; // pindah baris dilakukan karena baris pertama telah dilaksanakan

n++;// n=n+1 atau setiap perulangan n ditambah 1 dilakukan agar baris angka yang dicetak bertambah 1 disetiap barisnya

k--;// k = k-1 atau setiap perulangan k – 1 dilakukan agar baris karakter spasi yang dicetak berkurang 1 disetiap barisnya


}

getch();//lihat dibuku getch digunakan jika kita menggunakan borland

return;//mengembalikan nilai

}



  1. Silahkan mengcopy listing program diatas pada editor C++ yang anda miliki.

  2. Disetiap baris program memiliki penjelasan masing-masing

  3. Contoh program diatas adalah hasil dari analisa dan pendapat penulis, jadi tidak menutup kemungkinan ada cara lain yang lebih simpel untuk memecahkan masalah ini.


OK….. penjelasannya sampai disini saja, semoga saja dapat dimengerti dengan baik. Untuk lebih mengerti tentang contoh kasus seperti di atas, maka anda harus perbanyak mencari dan memecahkan masalah.


Makassar, 2 mei 2008



1 komentar:

  1. trima ksih, saya sangat terbantu^^

    1 lg bagaimn klw dengan menggunakan pascal?
    menampilkan segitiga utuh dengan menggunakn perulangan. dan inputannya dari user..

    thx b4

    BalasHapus