Algoritma Nested Loop – part 2

18 10 2009

Selanjutnya adalah membuat segitiga terbalik dengan input kolom dari keyboard yang berupa bilangan ganjil.

Input kolom Baris output
7 5
9 6
11 7
13 8
15 9

Pertama mah pasti input dari keyboard dulu lach yach…
Abis itu dicek, kolomnya ganjil ato genap. Klo ganjil lanjutkan!! Klo genap tunggu 5 tahun lagi… Hahaha…
Setelah itu baru dech masuk ke for. For ini akan berhenti jika i <= (((n-7) / 2) + 5)…

Setelah itu seperti biasa dilakukan pengecekan apakah baris tersebut adalah baris pertama atau terakhir. Klo iya semuanya *. Klo ngga kita bahas setelah ini…

Pertama kita cek berapa bintang yang harus kita cetak. Rumusnya bintang = (n-spasi) div 2; Sebelumnya spasi diisi oleh spasi = n-2; Kenapa?? karena spasi yang paling atas itu dikurangi 2 buah bintang di awal dan akhir. Spasi akan terus berkurang 2 setiap pindah baris. Balik lagi ke rumus nentuin bintang. Kenapa harus di div 2. Soalnya kita bagi 2 buat di awal dan akhir. Intinya mah sama kaya yang bikin belah ketupat.
AlgoSegitiga
Klo pengen lebih jelas lagi silahkan download aja filenya di sini…

http://www.4shared.com/file/141656447/27707ad7/LoopSegitiga.html

Thnx… Semoga bermanfaat…





Algoritma Nested Loop – part 1

18 10 2009

Alo… Belajar algoritma itu menyenangkan loh… Serasa memecahkan masalah or maen teka-teki… Hehe… Logika aja sich intinya mah… Cm kasian orang yang lagi jatuh cinta… Secara cinta itu ga ada logika… Pasti susah mikir ala algoritma tuch… Makax buat yang lagi belajar algoritma, lupakan sejenak masalah cinta2annya… Wkwkwkwk…

Aku dapet 2 buah tugas algoritma… Yang pertama bikin belah ketupat yang statis pake nested loop… (Loop di dalem loop)… Trus yang kedua bikin Segitiga kebalik dengan input berupa baris dan bilangan ganjil.

Kita bahas satu-satu dulu aja yach… Hehe… Pertama mulai dari soal yang belah ketupat statis dulu…
Penjelasannya gini… Pertama yang perlu kita lakukan adalah membelah belah ketupat tersebut menjadi beberapa bagian. Klo saya sich membaginya menjadi seperti di bawah ini…
BelahKetupat
Sebenarnya pada akhirnya saya membagi belah ketupat tersebut menjadi dua buah for besar yang masing-masing di dalamnya terdapat 4 buah for.
Alurnya seperti ini… Kita mulai dari for besar yang pertama yang nantinya akan membuat baris 1 hingga ke 4.
Yang dilakukan pertama kali oleh program adalah mengecek apakah baris tersebut adalah baris pertama atau bukan. Jika ya maka program akan mencetak bintang. Jika bukan maka akan ada beberapa tahap pengecekan lagi. Pertama program akan memeriksa jumlah spasi dengan rumus ((i-1)*2)-1; Mengapa rumus tersebut?? Karena di sini pola spasinya adalah bilangan ganjil yang dimulai dari angka 1 pada baris 2.

Nilai i Hasil rumus
2 1
3 3
4 5

Setelah itu program akan mencetak bintang sebanyak (7-spasi) div 2 — Karena sisa dari spasi harus dibagi 2. Yang pertama untuk bintang sebelah kiri lalu sisanya untuk bintang sebelah kanan.
Selesai mencetak bintang, program akan mencetak spasi sebanyak spasi lalu mencetak bintang sisanya. Pindah baris dan begitu seterusnya sampai program akan berhenti di baris ke-empat.
Setelah itu, kita akan masuk ke for besar yang kedua…

For ini pada prinsipnya sama saja dengan for di atas. Bedanya di sini spasi yang dicetak adalah dari besar ke kecil.
AlgoBelahKetupat
Untuk source lebih detail dapat anda download di URL ini………………..

http://www.4shared.com/file/141653829/a856f900/LoopSegitiga2.html

Terima kasih…








Follow

Get every new post delivered to your Inbox.