Program pencari hari


  • Buatlah sebuah program untuk mencari hari (menentukan hari) di bulan september tahun 2012 berdasarkan sebuah tanggal yang diinputkan oleh user.
         Jadi misal diinputkan tanggal = 10 ,  maka akan muncul hari = Senin.
    Berdasarkan soal diatas maka kita perlu melihat kalender dan mengetahui bahwa tanggal 1 adalah hari sabtu, tanggal 2 adalah hari Minggu, dan seterusnya hingga tanggal 7 adalah hari Sabtu. Lalu berulang lagi mulai tanggal 8 adalah hari Sabtu dan seterusnya.
      Jika kita hanya menggunakan pernyataan if saja, maka kita memerlukan banyak sekali if karena kemungkinan tanggal yang dimasukkan ada 31 yaitu mulai tanggal 1 hingga tanggal 31, padahal kemungkinan hari yang muncul Hanya 7 yaitu Senin hingga Minggu.
        Perhatikan hari untuk
          tanggal 1 sama dengan tanggal 8, 15, 22, 29.
            dan
              tanggal 2 sama dengan tanggal 9, 16, 23, 30.
                Hal yang serupa juga terjadi pada tanggal lainnya. Jika melihat pola diatas, untuk hari yang sama,
                  hasil modulus 7 dari tanggal tersebut juga sama.
                    Maksudnya, tanggal 1, 8, 15, 22, 29 jika di modulus 7 hasil sama yaitu 1.
                      Perhatikan pasangan tanggal yang lain yaitu
                        tanggal 9, 16, 23, 30 jika di modulus 7, maka hasilnya sama yaitu 2.
                          Kesimpulannya kita bisa menggunakan bantuan operator Modulus/Mod . Tanggal yang diinputkan oleh user kita modulus dengan 7 lalu cek hasilnya. Jika hasil modulus sama dengan 1, maka hari adalah Minggu, jika hasil modulus sama dengan 2 maka hari adalah Senin, dan seterusnya. Nah untuk lebih jelas, silahkan perhatikan program C++ untuk mencari hari dibawah ini :


                            #include <iostream.h>
                            #include <conio.h>
                            #include <string.h>

                            void main()

                            {

                               clrscr();

                               int tanggal;

                               int sisa;

                               cout<<"Program Mencari Hari di Bulan September 2012"<<endl;

                               cout<<endl;

                               cout<<"Masukkan Tanggal : ";

                               cin>>tanggal;



                               if(tanggal<1 || tanggal>31)

                               {

                                  cout<<"Maaf tanggal yang anda input tidak valid";

                               }

                               else

                               {

                                  cout<<"Tanggal "<<tanggal<<" = ";

                                  sisa = tanggal % 7;

                                  if(sisa==0)

                                  {

                                     cout<<"jumat";

                                  }

                                  else if(sisa==1)

                                  {

                                     cout<<"sabtu";

                                  }

                                  else if(sisa==2)

                                  {

                                     cout<<"minggu";

                                  }

                                  else if(sisa==3)
                                  {

                                      cout<<"Senin";

                                  }

                                  else if(sisa==4)

                                  {

                                      cout<<"selasa";

                                  }

                                  else if(sisa==5)

                                  {

                                      cout<<"rabu";
                                  }

                                  else if(sisa==6)
                                  {

                                      cout<<"kamis";

                                  }

                               }

                               getch();

                            }

                            No comments:

                            Post a Comment