My Binusian Story

Just another Binusian blog site

Soal Ao No.8

September13

soal5Soal2

 

Penjelasan Untuk Soal Ini :

Untuk Soal no 8 ini kita menampilkan bilangan prima dalam bentuk segitiga siku-siku yang diputar 180derajat dari segitiga siku-siku yang ada di nomor 7.
Unutk menghasilkan bilangan prima ada aturannya yaitu angka yang habis/tak bersisa saat di modulus(%) oleh angka 2,3,5,7 merupakan bilangan prima, angka 1 bukan bilangan prima, dan yang memodulus itu sendiri adalah angka prima (2,3,4,5,7).
Untuk memudahkan menampilkan bilangan prima, bilangan yang sudah di modulus akan di simpan terlebih dahulu di dalam array yang sudah di sediakan (f[100]).
*Seperti soal lain, awalnya akan ada pendeklarasian lalu akan menggunakan fungsi scanf untuk menginput data.

*Baris 7-26 adalah looping untuk menghasilkan bilangan prima sekaligus di simpan dalam array f.

*Pada for yang pertama tidak ada bagian decrement dan increment tetapi incre dan decrenya berada di dalam fungsi kondisi (if), ini di lakukan agar looping tidak berhenti jika belum di dapatkan hasil yang di butuhkan user yaitu bilangan prima.

*Baris 9-25 itu adalah if,else if,dan else yaitu pengecekan menggunakan kondisi.

*Baris 9-11 adalah if, akan membuang angka 1 karena 1 bukan bilangan prima juga tidak di simpan dalam array f. Setelah itu pada baris ke 25 C di tambah 1.

*Baris 12-16 adalah else if, akan menyimpan c yang bernilai sama dengan 2,3,5,7 ke dalam array karena merupakan bilangan prima. Bila else if berjalan maka b akan di tambah 1.

*Baris 17-19 adalah else if juga, berguna untuk menyortir angka yang apabila di modulus dengan 2,3,5,7 sama dengan 0 dan tidak di masukan dalam array.

*Baris 20-24 adalah else atau akhir dari if dan else if, digunakan untuk memasukan semua angka yang tidak habis saat di modulus dengan 2,3,5,7 ke dalam array sebagai bilangan prima. Kalau else berjalan maka b akan di tambah 1 juga.

*Jika else if pertama dan else berjalan maka b akan di tambah 1 agai looping dengan fungsi for di baris 7 akan berjalan.

*Baris 27-38 untuk melakukan looping memunculkan bilangan prima yang sudah di simpan dalam array serta spasi untuk membuat segitiga.

*Baris 29-32 untuk memunculkan spasi sesuai loopingnya.

*Baris 33-37 untuk memunculkan bilangan prima yang sudah disimpan dalam array f.

*Sehingga setelah di eksekusi maka hasilnya akan sesuai dengan yang di gambar.

Soal2

 

#SocsBinus #KevinTanzil #1901474870

posted under Soal AO | No Comments »

Soal Ao No.7

September13

Soal2Soal2

 

Penjelasan Untuk Soal Ini :

Untuk soal no 7 ini kita akan membuat deret bilangan yang sering disebut Fibonacci atau deret yang di hasilkan dari pernjumlahan 2 bilangan sebelumnya, kemudian di bntuk dengan segitiga siku-siku.
*Seperti soal lain, awalnya akan ada pendeklarasian lalu akan menggunakan fungsi scanf untuk menginput data.

*Baris 7-18 untuk melakukan looping yang berada di baris 9-17. Untuk for pertama akan di looping sebanyak input yang di minta sebagai tinggi dan alas dari segitiga siku-siku itu.

*Baris 9 ada memberikan nilai ke dalam variabel.

*Baris 10-16 adalah looping untuk mengeluarkan angka-angka Fibonacci. Jika fungsi for jalan maka di dalam {} akan di kerjakan. Fibonacci dimulai dari 1 lalu 1 lalu 2 dan seterusnya berdasarkan penjumlahan dari 2 angka sebelumnya. Maka dapat menggunakan rumus f(angka fibonacci yang di inginkan)=d(angka 2 sebelum)+e(angka 1 sebelum). Sehingga jika di input 5 maka muncul (1 1 2 3 5).

*Semua tergantung yang di input berapa oleh user. Bisa dilihat pada gambar hasil eksekusi.

Soal2

#SoCSBinus #KevinTanzil #1901474870

 

 

posted under Soal AO | No Comments »

Soal Ao No.6

September13

soal6soal6_1

 

Penjelasan Untuk Soal Ini :

Untuk soal no 6 ini kita akan menapilkan bentuk X ke samping sebanyak terisi 80 ke kanan dan juga 24 ke bawah. Masih seperti soal lainya, soal ini juga dikerjakan menggunakan fungsi looping dan perbandingan.
*Seperti soal lain, awalnya akan ada pendeklarasian lalu akan menggunakan fungsi scanf untuk menginput data.

*Baris 8-13 adalah bagian yang digunkana untuk menanyakan kembali kepada user untuk memasukan input karena untuk soal ini yang harus diinput adalah bilangan ganjil dan tidak boleh bilangan genap, maka di buatlah menggunakan fungsi while itu dimana jika yang di input di modulus dengan dua dan hasilnya habis artinya program akan menanyakan kembali ke user untuk memasukan bilangan ganjil.

*Baris 17-43 logika untuk menghasilkan bntuk X dan ke samping sebanyak 80 karakter.

*Untuk membuat X itu digunakan logika bahwa akan di print * jika nilai dari f sama dengan nilai g(baris 24-35). Jadi pada baris 24 dan 25 di deklarasikan bahwa f=nilai b dan g=nilai c. Awalnya nilai b adalah -a(yang di input di jadikan negatif) tetapi sblmya di baris 14 di katakan bahwa a=a/2 berarti saat di input nilai a itu langsung di bagi dengan 2 baru msk ke dalam for. Maka bila di input 5, a yang sebenarnya menjadi a/2=2.5 tetapi karena integer maka hanya 2 saja. Sama halnya juga dengan nilai c yaitu -2 juga. Nah f=b berarti f=-2 dan g=c berari g=-2. Di baris 26-27 dberi statement apabila nilai g dan nilai f di bawah 0 atau negatif maka nilai f akan di kali dengan -1 yang artinya menjadi mutlak positif.
Nah setelah itu msk dalam baris 28-35 dengan statement jika nilai f sama dengan nilai g maka akan di print ‘*’ dan jika tidak sama maka di buat spasi.
Maka logikanya saat f dan g -2 kemudian dimutlakkan dengan printah baris 26-27 maka baris 28 benar dan di printlah * itu, tapi setelah itu di print spasi karena apa? karena jika if di baris 28 di kerjakan makan C akan di incrementkan menjadi -1 sedangkan b masih berupakan -2 maka karena tidak benar bahwa f==g maka di print spasi.
Akan terus seperti itu di check hingga nanti f==g lagi maka di print ‘*’ lagi. Berhenti saat for di baris 20 sudah salah statementnya.

*Lalu kenapa dia dapat kessamping sebanyak 80 karakter? karena di baris 19 sudah di deklarasikan bahwa h=79 yang artinya dapat disini 79 baris ke samping kanan. Kenapa tidak h=80? karena jika 80 makan hasil eksekusinya jadi aneh.
Nah untuk dibuat ke sampingnya juga menggunakan ketentuan menggunakan fungsi If. Pada baris 22 itu adalah statement untuk memberhentikan pencetakan ke arah kanan jika h sudah sama dengan 0 maka berhenti. Dan jangan lupa pada baris 36 itu juga ada h– agar nilai h juga bisa menjadi sama dengan 0 dan berhenti pencetkan ke kanan.
Jangan lupa untuk memberikan printf(“\n”); seperti pada baris 42 itu agar setelah di print ke kanan 80 karakter maka akan ke baris baru lagi sehingga bentuk Xnya muncul seperti di gambar.

*Nah yang terakhir adalah for pada baris 17 itu. Itu adalah fungsi yang digunakan untuk menglooping bntuk Xnya ke bawah sebanyak sesuai statement di fornya. Nah sebelumnya pada baris 7 di deklarasikan x=a kenapa? agar saat masuk ke baris 15 itu kita masih menggunakan nilai input asli tanpa di bagi dua seperti saat membuat bentuk X.
Nah logikanya karena hanya dapat 24 karakter ke bawah maka 24 karakter kebawah itu di bagi dengan input dari user(i<=24/x), x itu sudah sama dengan a yang asli di input user. Maka jika di input 5, maka hanya akan di looping ke bawah sebanyak 24/5=4.8 karena integer maka hanya 4 saja maka hanya di looping 4 kali ke bawah.

Kalau sudah begitu semua di atas maka hasilnya akan seperti pada gambar di bawah. Selamat mencoba ^^.

soal6_1

 

#SoCSBinus #KevinTanzil #1901474870

 

posted under Soal AO | No Comments »

Soal Ao No.5

September13

Soal3Soal2

 

Penjelasan Untuk Soal Ini :

Untuk soal no 5 ini kita akan membuat persegi yang dimana tengahnya kosong. Sama konsepnya dengan yang sebelumnya yaitu sama-sama menggunakan looping juga.
*Seperti soal lain, awalnya akan ada pendeklarasian lalu akan menggunakan fungsi scanf untuk menginput data.

*Baris 7-36 untuk melakukan looping yang berada di baris 9-35. Untuk for pertama ini misal kita input(a)=3 maka di dalam fornya akan menjadi (b=1;1<=3;b++) maka di dalam for akan di jalankan hingga (b=1;4<=3;b++) akan berhenti.

*Baris 9-17 adalah baris while. While adalah salah satu fungsi looping selain for hanya berbeda peletakan statementnya saja. Pada while ini logiknya digunakan 2 pernyataan yaitu (b==1 || b==a). Jika pernyataan itu sama bener atau salah satu aja yang benar maka karena menggunakan ||(or) akan tetap di nyatakan benar sehingga for di dalam while di jalankan. Jika pada logik whileya sudah sama-sama salah maka berhenti dengan perintah pada baris 16 yaitu break;.

*Baris 11-14 untuk melakukan looping print bintang(*). Yang di print bintang hanya bagian pertama dan terakhir.

*baris 18-35 itu adalah while yang di dalamnya ada 2 pernyataan juga (b!=1 && b!=a). Jika keduanya benar maka di jalankan tetapi kalau ada salah satu salah atau keduanya salah maka berhenti karena menggunakan &&(and). Diakhiri dengan break.

*baris 20-32 untuk looping 2 while di dalam for itu.

*baris 22-26 untuk menghasilkan bintang dengan while dengan logika jika c==1 atau c==a(inputan) maka printf di jalankan jika tidak maka berhenti(break).

*baris 27-31 untuk menghasilkan spasi yang nantinya akan di isi sebagai bagian kosong di tengah dengan logika jika c!=(tidak sama dengan)1 dan c!=a maka printf di jalankan jika tidak maka berhenti(break);
Nanti akan muncul sepeti pada gambar.

Soal2

#SoCSBinus #KevinTanzi #1901474870

posted under Soal AO | No Comments »

Soal Ao No.4

September13

Soal1Soal1

 

Penjelasan Untuk Soal Ini :

Untuk soal no 4 ini kita akan membuat piramida dengan angka. Sama konsepnya dengan yang sebelumnya yaitu sama-sama menggunakan looping juga.
*Seperti soal lain, awalnya akan ada pendeklarasian lalu akan menggunakan fungsi scanf untuk menginput data.

*baris 7-18 untuk melakukan looping yang berada di baris 9-17. Untuk for pertama ini misal kita input(a)=3 maka di dalam fornya akan menjadi (b=1;1<=3;b++) maka di dalam for akan di jalankan hingga (b=1;4<=3;b++) akan berhenti.

*baris 9-12 untuk melakukan looping spasi. Untuk for kedua ini misal kita input(a)=3 maka di dalam fornya akan menjadi (c=0;0<3(yang di input;c++) maka printf(“%-2c”,’ ‘); yang di dalam for akan dijalankan hingga statement fornya salah.

*baris 13-16 untuk melakukan looping angka. Untuk for kedua ini statement fornya (d=1;1<=1(b yang awal masih 1 di for pertama);d++) maka printf(“%-3d “,d); akan di jalankan hingga statement fornya salah. For ketiga ini akan menghasilakn deret angka yang berurut seperti di gambar.

*untuk memperindah piramida maka di dalam printf dapat di tambahkan ‘-3’ atau ‘-2’ agar hasil dari eksekusi akan terlihat indah sesuai keinginan user. Sebagai pengatur jarak juga bisa.

Soal1

#SoCSBinus #KevinTanzil #1901474870

posted under Soal AO | No Comments »

Soal Ao No.3

September13

Soal1Soal1

 

Penjelasan Untuk Soal Ini:

Untuk penjelasan perbarisnya mungkin sudah tidak perlu lagi karena sudah di jelaskan berulang di post tugas pertama dan tugas ke 2 karena sama saja fungsi yang digunakan hanya berbeda baris.
Pada tugas ke 3 ini, hasil dari eksekusinya adalah angka yang disusun berderet dengan bentuk segitiga siku-siku terbalik atau berbeda 180derajat dari soal no 1.
*Pengerjaannya akan dilakukan seperti soal sebelumnya yaitu menggunakan looping dimana for pertama akan diisi lagi dengan 2 for lainnya, untuk angka 1 dan untuk spasi juga 1.

*pertama kita akan menginput angka(a) sebagai jarak ke bawah dan ke sampingnya. Yang for pertama menggunakan for(b=0;b<=a;b++) ini untuk looping for yang berada di dalam for pertama. Jika benar di for pertama maka for ke 2 akan di jalankan yaitu, for yang menggunakan statement for(d=0;d<b;d++) for ini digunakan untuk menghasilkan looping spasi agar semua angka yang disusun dapat rata ke kanan. Selain for 2, for yang ke 3 juga akan di jalankan karena berada dalam for yang sama dengan for ke 2 maka untuk for yang ke 3 dengan statement for(c=1;c<=a-b;c++) akan mengeluarkan angka-angka sesuai printf nya. sehingga hasilnya akan sama dengan gambar di bawah.

*Untuk printf yang berada di for ke 2 (printf(“%-3c”,’ ‘);) saat di eksekusi maka yang pertama tidak akan muncul karena saat masuk ke for d=0,d<b(d<0) itu tidak mungkin maka dilanjutkan ke for ke 3. Tetapi jika sudah b sudah mengalami increment maka for ke 2 aka mulai berjalan. Pada printf(“%-3c”,’ ‘); maksudnya yang akan di print nanti saat di eksekusi adalah spasi dengan hitungan 3 karakter termasuk spasi itu sendiri, itu hanya untuk memperindah bentuk segitiganya saat di input lebih dari 9.

*untuk printf yang berada di for ke 3 (printf(“%-3d”,c);) akan mengeluarkan banyak angka berurut sesuai yang di input dan akan berkurang ketika masuk ke dalam for lagi. Seperti pada gambar hasil eksekusi, sehingga berbentuk segitiga.

*Sama seperti printf yang spasi, di sana juga menggunakan peraturan 3 karakter (%-3d) agar terlihat indah saat di eksekusi. Bisa di lihat pada contoh.

Soal1

#SoCSBinus #KevinTanzil #1901474870

 

posted under Soal AO | No Comments »

Soal Ao No.2

September13

Soal1Soal1

 

Penjelasan Untuk Soal Ini :

-untuk baris 1 itu adalah prepocessor directive yang artinya akan membaca <stdio.h>(library untuk standar input dan output).
-untuk baris 2 itu adalah fungsi utama dari sebuah kode bahasa C.
-untuk baris 3 itu adalah tanda awalan sebelum membuat program.
-untuk baris 4 itu adalah pendeklarasian variabel yang nantinya akan di gunakan untuk membuat program. Seperti pada baris 4 brarti variabel d,e,f,g di deklarasikan sebagai int(integer). Beri tanda ‘;’ untuk mengakhiri pendeklarasian.
-untuk baris 5 itu adalah sebuah fungsi yang digunakan untuk meminta user menginput data ke dalam variabel yang sudah di deklarasikan yang kemudian dapat digunakan untuk proses menghasilkan output. Beri tanda ‘;’ untuk mengakhiri.
-untuk baris 6 itu adalah fungsi yang di gunakan untuk menahan enter saat menggunakan fungsi ‘scanf’.
-untuk baris 7-18 itu ada for yaitu fungsi yang digunakan untuk melakukan melakukan ‘loop’ dimana setelah for diletakan 3 statement(yang pertama yaitu pemberian nilai untuk variabel’b=1′, yang kedua yaitu kalimat logika yang menentukan apakah akan di ulang atau tidak,yang ketiga adalah increment dan decrement), jadi misal e=1, e<=3(yang user input) maka logikanya benar sehingga yang di dalam for akan di jalankan(baris 9-17) hingga logikanya salah.
-untuk baris 9-12 itu adalah looping untuk mengeluarkan spasi di depan angka yang akan di print nanti karena kita akan membuat segitiga siku-siku yang berbail arah dengan soal no 1.
-untuk baris 13-16 itu adalah looping untuk mengeluarkan angka tetapi angka yang di keluarkan akan di dahului oleh angka yang bedar seperti pada gambar hasil eksekusi.
-untuk baris 17 itu adalah fungsi print yang menghasilkan enter saat di jalankan.
-untuk baris 19 fungsi untuk mengembalikan ‘int main()’ ke bentuk defaultnya.
-untuk baris 20 itu adalah pasangan dari tanda pada baris 3 yaitu untuk mengakhiri pembuatan program.

*pengerjaannya jadi seperti ini: jika di input 3, maka for pertama akan jalan karena benar 1<=3 makan akan masuk ke dalam for kedua, dan for ke dua benar karena 1<=3 maka printf di dalam for kedua akan di jalankan yaitu mengeluarkan print spasi, setelah itu f++  untuk for ke 2 nilai f menjadi 2 saat masuk ke kalimat logic lagi 2<=3 itu benar maka for 2 di jalankan lagi hingga for 2 kalimat logicnya salah. Dilanjutkan ke for ke 3, dimana g=d-e artinya nilai g sama dengan nilai d di kurang nilai e(g=3-1), g bernilai dua 2<=3 berarti benar berarti printf for ke 3 di jalankan yaitu mengeluarkan angka dari printf dalan for ke 3, setelah itu akan terjadi increment jika tidak memenuhi kalimat logic maka for ke 3 berhenti, dilanjutkan printf(“\n”); dan muncul hasil seperti bentuk yang ada di layar. Semua tinggi dan alasnya sesuai input.

*pada for ke 2 printfnya (“%-3c”,’ ‘); artinya yang di print 3 karakter dihitung dari kiri termasuk spasi.

*pada for ke 3 printfnya (“%-3d”,d-g); artinya yang di print 3 karakter dihitung dari angka paling kiri, jika tidak ada lagi 2 karakter sisa akan di jadikan spasi. Bisa digunakan bisa juga tidak hanya untuk memperindah tampilan saat di input 9 ke atas.

Soal1

#SoCSBinus #KevinTanzil #1901474870

posted under Soal AO | No Comments »

Soal Ao No.1

September13

Soal1 Soal1

 

Penjelasan Untuk Soal Ini :

-untuk baris 1 itu adalah prepocessor directive yang artinya akan membaca <stdio.h>(library untuk standar input dan output).
-untuk baris 2 itu adalah fungsi utama dari sebuah kode bahasa C.
-untuk baris 3 itu adalah tanda awalan sebelum membuat program.
-untuk baris 4 itu adalah pendeklarasian variabel yang nantinya akan di gunakan untuk membuat program. Seperti pada baris 4 brarti variabel a,b,c di deklarasikan sebagai int(integer). Beri tanda ‘;’ untuk mengakhiri pendeklarasian.
-untuk baris 5 itu adalah sebuah fungsi yang digunakan untuk meminta user menginput data ke dalam variabel yang sudah di deklarasikan yang kemudian dapat digunakan untuk proses menghasilkan output. Beri tanda ‘;’ untuk mengakhiri.
-untuk baris 6 itu adalah fungsi yang di gunakan untuk menahan enter saat menggunakan fungsi ‘scanf’. Beri tanda ‘;’ untuk mengakhiri.
-untuk baris 8-14 itu ada for yaitu fungsi yang digunakan untuk melakukan melakukan ‘loop’ dimana setelah for diletakan 3 statement(yang pertama yaitu pemberian nilai untuk variabel’b=1′, yang kedua yaitu kalimat logika yang menentukan apakah akan di ulang atau tidak,yang ketiga adalah increment dan decrement), jadi misal b=1, b<=7(yang user input) maka logikanya benar sehingga yang di dalam for akan di jalankan(baris 9-13) hingga logikanya salah.
-untuk baris 9-12 itu adalah for yang berada dalam for, sama fungsinya dengan for yang sudah dijelaskan tadi hanya beda statment yang diberi ke fornya saja.
-untuk baris 15 itu adalah fungsi untuk mengembalikan ‘int main()’ ke bentuk defaultnya.
-untuk baris 16 itu adalah pasangan dari tanda pada baris 3 yaitu untuk mengakhiri pembuatan program.

*Pengerjaannya jadi seperti ini : jika di input 3, maka for pertama akan jalan karena benar 1<=3 maka akan masuk ke dalam for kedua, dan for kedua juga akan benar karena 1<=1 maka printf di dalam for kedua di jalankan setelah itu c di naikan satu(c++) shingga 2<=1 yang artinya salah berarti keluar dari for ke 2 lanjut pada printf(“\n”); artinya setelah for ke 2 selesai maka akan di beri enter 1x setelah itu kembali ke for pertama lagi dengan b++ dan di test kalimat logikanya lagi. Hal itu berulang hingga for pertama sudah salah atau saat 4<=3. Setelah di eksekusi programnya maka muncullah deret angka dengan bentuk segitiga siku-siku pada gambar. Banyaknya tergantung input dari user.

*Printf pada for kedua itu ada %-3d artinya setelah angka di munculkan maka akan memakan 3 space di layar, angka di hitung 1 sisanya akan berupa spasi tetapi jika tidak mau menggunakannya juga tidak apa-apa tetapi akan tidak bagus bentukanya saat di input lebih dri 9.

Soal1

 

#SoCSBinus #KevinTanzil #1901474870

posted under Soal AO | No Comments »