1.) Membuat program untuk menginputkan sebuah bilangan, kemudian mencetak kelayar bilangan tersebut ganjil atau genap.
Pada penyelesaian kasus seperti ini, kita perlu menggunakan perintah scanf() sebagai perintah memasukkan langsung dari keyboard kedalam program saat program sementara running. Kemudian selain menggunakan scanf() untuk menerima input langsung, kita menggunakan penerapan operator mod untuk mendeteksi bilangan yang di inputkan (ganjil atau genal).
Fungsi Utama yang menjadi pokok pembahasan kita dan pusat perhatian kita adalah pada baris ke-11 sampai 20. Yaitu penerapan fungsi if … else sebagai fungsi pengambilan keputusan berdasarkan kondisi yang ada.
Berikut ini adalah contoh program yang dapat anda buat.
Adapun untuk kode yang mendetailnya dapat dilihat dari gambar dibawah ini.]
Yang menjadi titik perhatian kita Bersama, dapat dilihat pada baris ke-7 adalah penerapan dari fungsi scanf() untuk menerima masukan dari keyboard. Dan pada baris ke-10, kita dapat memperhatikan ada kode diatas saya menggunakan operas mod sehuingga jika input yang diberikan habits dibagi dengan 2 maka pada program kesimpulan if (bars ke-11 sampai bars ke-14 maka akan menghasilkan keluaran berupa pernyataan sebagai berikut :
Nilai yang anda masukkan adalah : (input keyboard)
Bilangan tersebut adalah bilangan genap
Namun jika ternyata input yang kita masukkan tidak habis dibagi dua, maka system kita akan melakukan perintah else sebagai opsi lainnya karena syarat pertama pada if tersebut tidak memenuhi. Seingga akan tampil kalimat sebagai berikut jika fungsi else yang memenuhi kondisi program.
Nilai yang anda masukkan adalah : (input keyboard)
Bilangan tersebut adalah bilangan ganjil
Jika kita me-running program diatas maka akan tampil sebagai berikut
2.) Membuat program menggunakan pernyataan if adalah untuk menentukan besarnay potongan harga yang diterima oleh seorang pembeli, berdasarkan kriteria:
– Tidak ada potongan harga jika total pembelian kurang dari Rp. 100.000(dalam potongan harga diinilisasi dengan nol).
– Bila total pembelian lebih dari atau sama dengan Rp.100.000, potongan harga yang diterima diubah menjadi sebesar 5% dari total pembelian.
Penyelesaian
Dalam permasalahan diatas, Kita juga menggunakan fungsi pemilihan kejadian (keputusan). Sehuingga kita akan menerapkan fungsi if.. else sebagai parameter pembanding dua kejadian yang berlainan tersebut.
List program diatas dapat kita respesentasikan kedalam program berikut ini.
Untuk detail dari kode program diatas dapat kita lihat pada gambar dibawah ini.
Pada program diatas, saya mendeklarasikan dua variabel yaitu Harga dan Total . Pada baris yang ke-7 kita hanya memerintahkan untuk menerima masukan untuk variable Harga dari keyboard menggunakan perintah scanf(). Dan pada baris ke-8 kita mencari kalkulasi jika mendapatkan potongan harga yang akan dimuat oleh variable Total.
Pada baris ke-10 hingga ke-22 adalah penerapan if…else… untuk kedua kondisi berbeda diatas. Pada baris ke 10 sampai baris ke-14 adalah pengambilan keputusan jika Harga total pembelian adalah lebih dari Rp. 100.000. Selanjutanya pada baris ke-16 sampai ke-22 adalah program yang akan dijalankan jika kondisi sebelumnya tidak terpenuhi.
Jika kita mencoba running program diatas, dapat kita lihat contoh sample runningnya.
3.) Ulangi soak nomor 2. Output diganti dengan :
Total pembelian adalah Rp.50.000
Anda tidak mendapat diskon
Penyelesaian
Pengerjaan masalah seperti ini dapat dikerjakan seperti pada nomor 2. Namun kita hanya perlu sedikit memodifikasi pada baris output untuk kedua kondisi tersebut. Sehingga kita dapat menuliskan kode program tersebut sebagai berikut.
Adapun rincian kode diatas dapat dilihat pada gambar dibawah ini.
Pada program diatas saya hanya melakukan perubahan pada beberapa elemen yang diperlukan namun secara garis besar memiliki struktur yang sama seperti program pada masalah di nomor 2.
Jika kita running code diatas, akan diperoleh contoh sample sebagai berikut.
4.) Gunakan pernyataan if…else untuk menentukan sebuah bilangan masukan adalah bilangan prima atau bukan.
Penyelesaian
Pada masalah tersebut, kita perlu memahami konsep dari bilangan prima itu sendiri. Bilangan prima adalah bilangan yang hanya dapat dibagi oleh bilangan 1 atau bilangan itu sendiri . Namun kita dapat memperlebar defenisi tersebut berdasarkan konsep pemahaman kit.
Baiklah sekarang saya akan sedikit membahas konsep program untuk bilangan prima agar mudah dalam menyatakannya dalam bentuk kode program.
Jika kita mengacu pada defenisi awal dari bilangan prima maka kita akan kesusahan menuangkannya dalam bentuk kode program Bahasa C. Untuk itu, kita perlu menggagas ulang konsep pemahaman tersebut agar program yang kita buat dapat efektif dalam kinerja dan efisien dalam tempat penulisan kode.
Kita hanya perlu mengambil sample angka 2, 3 dan 5 untuk mengetahui suatu bilangan adalah prima atau bukan. Mengapa dengan ketiga bilangan tersebut ??
Alasannya adalah karena ketiga bilangan tersebut adalah pembagi terkecil yang paling mungkin untuk mengidentifikasi suatu bilangan diluar pembagi 1. Pembagi 1 tidak dapat digunakan karena membagi dengan 1 sama halnya dengan tidak membagi bilangan tersebut. Jadi, dapat dipastikan jika suatu bilangan habis dibagi oleh bilangan 2, 3, dan 5 maka dapat dipastikan bahwa bilangan tersebut adalah bukan bilangan prima.
Jika program ini kita buatkan Flowchart diatas, maka akan terlihat sebagai berikut :
Jika flowchart diatas kurang jelas, saya menyediakan dokumen asli pada link dibawah ini.
https://drive.google.com/file/d/1Xk0jk_06F8eoFF_CCdF9UVvmxJm-C4HM/view?usp=sharing
Anda dapat melihat kode program untuk masalah ini seperti gambar berikut.
Untuk rincian kode diatas dapat dilihat pada gambar dibawah ini.
Jika kita ingin menambahkan padakan kondisi pada program diatas agar mengantisipasi kondisi client yang mencari bilangan prima pada deret bilangan minus, maka kita dapat menambahkan / mendaftarkan kondisi tersebut pada program.
Let’s check our code
1.) Pada baris ke-5 kita mengidentifikasi tiap variable yang kita akan gunakan. Pilih nama variabel sesuka anda namun mohon untuk mengingat nama variable.
2.) Pada baris ke 7 adalah fungsi untuk perintah menginput / mengisi variable Bilangan mealui masukan keyboard.
3.) Pada baris ke-8 sampai ke 11 adalah proses penentuan sample atau penentuan tolak ukur selama proses berlangsung.
4.) Pada baris ke 12 sampai pada baris ke 14 adalah proses perhitungan sisa hasil bagi untuk setiap sample terhadap bilangan Utama. Hal ini untuk mengidentifikasi hasil bagi yang memungkinkan menghasilkan 0 atau tidak.
5.) Pada kondisi baris ke-15 sampai ke 27 adalah perintah untuk kondisi jika bilangan yang di inputkan lebih besar dari 1 dan lebih kecil atau sama dengan 5, yang akan di identifikasi lagi menjadi dua cabang yaitu jika bisa dibagi 2 atau tidak. Jika bisa dibagi 2 maka itu bukanlah bilangan prima dalam deret antara 3 sampai sama dengan 5
6.) Pada baris ke-28 sampai baris ke-37 adalah perintah yang dijalankan jika bilangan yang diinputkan lebih besar dari 3, yang kemudian akan dibagi lagi menjadi dua opsi yaitu jika ada salahsatu hasil bagi dengan 2 atau 3 atau lima menghasilkan 0 maka akan didefenisikan sebagai bukan bilangan prima. dan jika diluar dari itu adalah bilangan prima.
7.) Pada baris ke-39 sampai baris ke-48 adalah baris opsi perintah jika client memasukkan nilai kurang atau sama dengan 2. Dan terbagi lagi jika kondisi input adalah 2 maka yang tertulis Bilangan tersebut adalah prima. Tetapi jika mencapai angka minus maka akan menambahkan keterangan bahwa angka tersebut minus dan tidak ada bilangan prima pada basis minus.
Jika kode diatas kita coba running pada text editor, maka program diatas akan dapat berkerja sebagaimana mestinya untuk mengidentifikasi bilangan prima atau bukan. Dan berikut adalah sample running code diatas.
5.) Mengunakan pernyataan if .. else… untuk membuat program yang menerima 2 buah bilangan bulat masukan. Menampilkan hasil dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal.
Jawab
Pada kasus ini, kita menggunakan tipe variabel float / pecahan sebab yang kita gunakan baik input maupun output adalah bilangan desimal. Pada soal ini kita masih tetap menggunakan scanf() sebagai perintah untuk memasukkan input.
Untuk pembagian kondisi, kita membagi kedalam 2 kondisi saja. Jika Bilangan kedua bernilai 0 dan kondisi jika kedua variabel berisi angka yang bukan 0.
Untuk detail code diatas dapat dilihat pada gambar dibawah ini.
Dari kode diatas, dapat diketahui bahwa pada baris ke-10 dan baris ke-21 kita membatasi jumlah digit angka yang akan ditampilkan. Sesuiai dengan permintaan soal, kita hanya memerlukan tingkat ketelitian hingga 3 digit angka saja dibelakang koma.
Pada baris ke-12 hingga 16 adaalah perintah jika konsisi dimana bilangan yang kedua adalah bilangan 0. Dan pada baris selanjutnya adalah perintah untuk kondisi lainnya jika bilangan ke-2 bukanlah 0.
Perbedaan if… Dengan if…else…
if dan if…else… dapat di ilustrasikan dengan suatu perintah yang sama namun berbeda.
Contoh penggunan if…
Izin / larangan dalam meemakai jaket. Kalimat kondisi “Pakailah jaket jika kamu sedang kedinginan”. Dari pernyataan tersebut, dapat diartikan bahwa kita memakai jaket jika kita sedang kedinginan. Jika kita tidak merasa kedinginan, kita dapat tidak memakai jaket.
Untuk ketiga flowchart dibawah ini, lakukan tracing untuk menemukan outputnya, jika input yang diberikan adalah :
(1) Num = 10
(2) Num = -10
(3) Num = 0
Jawab
Dalam flowchart tersebut, dapat diartikan bahwa jika syarat kondisi Num > 0 maka program dari flowchart tersebut akan menampilkan Category A. Dan jika tidak terpenuhi syarat kondisi tersebut maka program akan langsung diselesaikan tanpa adanya proses mencetak apapun lagi.
Pada kasus diatas kita dapat merumuskan program tersebut dengan kode seperti gambar berikut.
Jika kita mencoba running dengan memberikan input dengan 3 input yang berbeda akan diperoleh :
a.) Untuk Num = 10
b.) Untuk Num = -10
c.) Untuk Num = 0
Dri bebrapa percobaan input diatas diketahui bahwa pernyataan hanya akan ditampilkan jika nilai Variabel Num lebih besar daripada 0. Dan program tidak merespon / mengabaikan jika nilai yang kita berikan adalah sama dengan 0 atau lebih kecil daripada 0. Mengapa hal demikian terjadi ????. Karena kita hanya menggunakan perintah if untuk satu keadaan saja. Dan kita tidak merancang untuk keadaan lainnya. Sehingga jika terdapat keadaan lainnya maka system akan secara langsung untuk mengabaikan dan mengakhiri atau lanjut pada perintah berikutnya.
Flowchart diatas akan menampilkan setiap kalimat yang berbeda untuk setiap kondisi yang berbeda. Jika kondisi Num > 0 terpenuhi maka program akan mencetak Category A. Dan jikasyarat kondisi tersebut tidak terpenuhi maka program akan mencetak Category B.
Flowchart diatas dapat dinyatakan dalam bentuk program sederhana sebagai berikut.
Jika kita mencoba running dengan memberikan input dengan 3 input yang berbeda akan diperoleh :
a.) Untuk Num = 10
b.) Untuk Num = 0
c.) Untuk Num = -10
Pada program diatas, setiap input yang kita masukkan akan memproses suatu pernyataan untuk ditampilkan karena kita telah menyediakan 2 jenis kondisi yang berbeda. Kita telah menambahkan kondisi jika Num tidak lebih besar daripada 0.
Flowchart diatas akan menampilkan kalimat yang berbeda namun terdapat kalimat yang akan ditampilkan bersamaan untuk kedua kondisi yang berbeda. Jika kondisi Num > 0 terpenuhi maka program akan mencetak Category A. Dan jikasyarat kondisi tersebut tidak terpenuhi maka program akan mencetak Category A dan Category B secara bersamaan.
Flowchart diatas dapat dinyatakan dalam bentuk program sederhana sebagai berikut.
Jika kita mencoba running dengan memberikan input dengan 3 input yang berbeda akan diperoleh :
a.) Untuk Num = 10
b.) Untuk Num = -10
c.) Untuk Num = 0
Recent Comments