Kamis, 20 Maret 2014

Kasus 4.8 dengan B adalah bilangan negatif



Kasus 4.8 Hitunglah axb dengan metode penjumlahan
·         Masalah:
Menghitung axb dengan metode penjumlahan dengan b adalah bilangan negatif
·         Analisis:
Input     : a dan b adalah bilangan integer
Proses  : axb= a + a+ a + ... + a (sebanyak b kali)
Output : Hasil perkalian a dan (-b).
·         Algoritma
{Diberi masukan a dan b, dihitung nilai dari a kali b}
·         Deklarasi
a, b, i     : Integer {input}
jumlah  :integer {output}
·         Deskripsi
read(a, b)
jumlah ß 0
for i ß 1 to b do
                jumlah ß jumlah +(-1* a)
endfor
write(jumlah)
·         C++
using namespace std;
class negatif{
      private:
              int a;
              int b;
              int i;
              int jumlah;
      public:
             negatif();
             void hasil();
             };
negatif::negatif(){
                   cout<<"Menghitung a x b dengan penjumlahan\n\n";
                   }
void negatif::hasil(){
     cout<<"Masukkan a: ";
     cin>>a;
     cout<<"Masukkan b: ";
     cin>>b;
     jumlah=0;
     for (i=0;i>b;i--){
      jumlah=jumlah+(-a);
     }
     cout<<"hasil "<<a<<" x ("<<b<<")  = "<<jumlah<<endl;
     }
int main(int argc, char *argv[])
{
    negatif x;
    x.hasil();

hasilnya:

 

·         Flowchart





Tugas 17 Maret 2014

Rabu, 19 Maret 2014

Kasus 4.7 Pangkat Positif

Kasus 4.7 Hitunglah nilai dari x^y dengan x bilangan real dan y bilangan bulat.
·         Masalah:
Menghitung nilai dari x^y bilangan real dan y bilangan bulat.
·         Analisis:
Input     : x dan y
Proses  : x^y= x . x . x .  x . .... x (sebanyak y kali)
Output : hasil x pangkat y.
·         Algoritma
{diberikan masukan x dan y, dihitung nilai dari x pangkat y}
·         Deklarasi
x, y, i      : integer {input}
pangkat                : integer {output}
·         Deskripsi
read(x,y)
pangkat ß 1
for i ß 1 to y do
                pangkat ß pangkat * x
enfor
write(pangkat)
·         C++
using namespace std;
class positif{
      private:
              float x;
              float y;
              float i;
              float pangkat;
      public:
             positif();
             void input();
             void Pangkat();
             };
positif::positif(){
                   cout<<"Menghitung pangkat positif\n\n";
                   }
void positif::input(){
    
     cout<<"Angka utama ";
     cin>>x;
     cout<<"Pangkatnya ";
     cin>>y;
     }
void positif::Pangkat(){
     pangkat=1;
   
     for (i=1;i<=y;i++){
         pangkat=x*pangkat;
     }
     cout<<"hasilnya "<<pangkat<<endl;
    
     }
    

int main(int argc, char *argv[])
{
    positif ame;
    ame.input();
    ame.Pangkat();
   
hasilnya:


·         Flowchart



 Tugas 17 Maret 2014

Selasa, 18 Maret 2014

Kasus 4.2 Mencetak bilangan ganjil dari 0 – 10


·         Masalah:
Mencetak bilangan ganjil dari 0 hingga 10.
·         Analisis:
Input     : 10 sebagai batasan
Proses  : i ß 0
                 for ß i to 10 do
                if (i mod 2 = 1)
then
write(i)
endif
                endfor
Output : cetak (i) bilangan ganjil.
·         Algoritma
{Mencetak bilangan ganjil dari 0 sampai 10 ke piranti keluaran}
·         Deklarasi:
i               : integer
·         Deskripsi:
for i ß 0 to 10 do
if (i mod 2 = 1)
then
write(i)
endif
endfor
·         C++
using namespace std;
class ganjil{
      private:
              int i;
      public:
             ganjil();
             void hitung();
             };
ganjil::ganjil(){
                 cout<<"Mencetak bilangan ganjil\n\n";
                 }
void ganjil::hitung(){
     for(i=0;i<=10;i++){
     if (i%2==1)
     cout<<i<<" adalah bilangan ganjil"<<endl;
     }
     }

int main(int argc, char *argv[])
{
    ganjil x;
    x.hitung();

hasilnya:




·         Flowchart



(17 Maret 2014)

Senin, 17 Maret 2014

Kasus 4.1 Mencetak bilangan 1-4



·         Masalah:
Mencetak bilangan 1-4
·         Analisis:
Input     : 4 sebagai masukan dan batas akhir, i adalah integer nilai awal
Proses  : perulangan hingga batas akhir
Output : mencetak (i)
·         Algoritma Mencetak bilangan 1-4
{Mencetak angka 1, 2, ... , 4 ke piranti keluaran}
·         Deklarasi
i               : integer
·         Deskripsi
read(i)
for(i=1;i<=4;i++)
write(1, 2, 3, 4)
·         C++

Flowchart




(17 maret 2014)

Refleksi ALPRO minggu ke-4

Yogyakarta, 17 Maret 2014

Senin pagi, jam 6, dimulai dengan battle sokoban dalam 1 kelas. Lalu ketika memasuki jam 7 teng. Masuklah pada materi yang aka kita bahas pagi ini, yaitu tentang LOOPING.

Yang saya dapat hari ini adalah bagian-bagian loop yaitu:
1.       Ada awal atau harga awal atau kalo di raptoor itu disebut inisialisasi.
2.       Ada akhir, atau batas akhir, atau sederhananya sih sampai kapan sih mengulang kerjaan itu.
3.       Ada aksi, yaitu kerjaannya, apa sih yang harus di kerjakan dalam perulangannya, dan
4.       Ada perubahan yang di sebabkan oleh perulangan.

Kesulitan tentang materi ini, sepertinya belum saya temukan, tapi sampai saat ini saya terus berlatih membuat raptor dan C++ menggunakan class.

Di akhir pertemuan seperti biasa, dosen memberi tugas yang WOW sekali... :D dan pertemuan berikutnya akan di adakan kuis.

Sekian dan trimakasii... ^ ^

Sabtu, 15 Maret 2014

Kasus 3.5. Konversi Hari

Kasus 3.5. Konversi Hari

·         Masalah:
Buatlah algoritma, flowchart, dan program untuk mengkonversi hari ke-1 adalah hari Senin sampai dengan hari ke-7 adalah Minggu.
Misalkan dimasukkan nilai 5, outputnya adalah hari Jum’at.
·         Analisis:
Input     : hari ke- (x)
Proses  : Pemilihan hari
Output : nama hari
·         Algoritma konversi nilai:
(Masukkan integer 1 – 7, akan di tentukan hari apa yang sesuai)
·         Deklarasi:
Hari_ke                : integer
Hari        : string
·         Deskripsi:
read(hari_ke)
pilih (hari ke) untuk
1 : hari ß ‘Senin’
2 : hari ß ‘Selasa’;
3 : hari ß ‘Rabu’;
4 : hari ß ‘Kamis’;
5 : hari ß ‘Jumat’;
6 : hari ß ‘Sabtu’;
else hari ß ‘Minggu’;
end {pilih}
write(hari)
·         C++:

using namespace std;
class Hari{
      private:
              int hari_ke;
              char *hari;
      public:
             Hari();
             void hariku();
             };
Hari::Hari(){
             cout<<"Konversi Hari\n\n";
             }
void Hari::hariku(){
     cout<<"Masukkan Hari ke - ";
     cin>>hari_ke;
     switch (hari_ke)
     {
            case 1:
                 {
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Senin\n";
                     }break;
            case 2:{
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Selasa\n";
                     }break;
            case 3:{
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Rabu\n";
                     }break;    
            case 4:{
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Kamis\n";
                     }break;        
            case 5:{
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Jumat\n";
                     }break;
            case 6:{
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Sabtu\n";
                     }break;
            default:{
                     cout<<"Hari ke- "<<hari_ke<<" adalah hari Minggu\n";
                     }break;
            }
            }
   

int main(int argc, char *argv[])
{
    Hari x;
    x.hariku();

hasilnya 




·         Flowchart:



Tugas (10 maret 2014)

Kasus 3.4 Konversi nilai

Kasus 3.4 Konversi Nilai

·         Masalah:
Konversikan Nilai angka menjjadi nilai huruf dengan ketentuan, nilai 0 – 20 adalah E, 21 – 40 adalah D, 41 – 60 adalah C, 61 – 80 adalah B dan 81 – 100 adalah A.
·         Analisis:
Input     : nilai adalah integer dan sebagai nilai angka
Proses  : jika nilai<=20 à “E”
                21<=nilai<=40 à “D”
                41<=nilai<=60à “C”
                61<=nilai<=80à “B”
Selain itu “A”
Output : nilai huruf
·         Algoritma konversi nilai:
(Mengkonversikan nilai angka denagn huruf)
·         Deklarasi:
Nilai (integer)
Nilai huruf (char)
·         Deskripsi:
read(nilai)
if(nilai > 0) and (nilai <=20) then nilai huruf ß ‘E’
else if(nilai > 21) and (nilai <=40) then nilai huruf ß ‘D’
else if(nilai > 40) and (nilai <=60) then nilai huruf ß ‘C’
else if(nilai > 60) and (nilai <=80) then nilai huruf ß ‘B’
else nilai huruf ß ‘A’
end if
write(nilai_huruf)
·         C++:

#include <cstdlib>
#include <iostream>

using namespace std;
class Nilai{
      private:
              int nilai;
              char nilai_huruf;
      public:
             Nilai();
             void nilaiku();
             };
Nilai::Nilai(){
               cout<<"Mengkonversikan angka ke dalam huruf\n\n";
               }
void Nilai::nilaiku(){
     cout<<"Masukkan Nilai= ";
     cin>>nilai;
     if(nilai<=20){
                   cout<<"Nilai E\n";
                   }
     else if (21<=nilai<=40){
          cout<<"Nilai D\n";
          }
     else if (41<=nilai<=60){
          cout<<"Nilai C\n";
          }
     else if (61<=nilai<=80){
          cout<<"Nilai B\n";
          }
     else
         cout<<"Nilai A\n";
        
         }

int main(int argc, char *argv[])
{
    Nilai ujian;
    ujian.nilaiku();
    system("PAUSE");
    return EXIT_SUCCESS;
}

hasilnya 


·         Flowchart:



Tugas (10 maret '14)