Selasa, 07 Juni 2016

Membuat program menghitung KHS menggunakan STRUCT

asallamualaikum Wr.Wb nah kali ini saya akan membuat program bagaimana cara menghitung IPK semoga dapat membantu ya.
sebelum saya tunjukan program saya akan menunjukan algoritmanya

Algoritma :

Deklarasi : char
nama[50] : char
nim[15] : char
jurusan[50] : char
makul[20] : char
sks : integer
i,jml,x : integer

Deskripsi

struct biodata
{ char nama[50],nim[15],jurusan[50];
  }mhs;
struct nilai
{char makul[20];
 float tugas,kuis,mid,uas,bobot;
 int sks;
 float na;
 } nil[100];

for(i=0;i<jml;i++)
if (nil[i].na>=85)  = A          then  nil[i].bobot=4*nil[i].sks
else if (nil[i].na>70 && nil[i].na<=85) then  nil[i].bobot=3*nil[i].sks
else if (nil[i].na>55 && nil[i].na<=70) then  nil[i].bobot=2*nil[i].sks
else if (nil[i].na>40 && nil[i].na<=55) then  nil[i].bobot=1*nil[i].sks
else if (nil[i].na<=40)         then  nil[i].bobot=0*nil[i].sks
end if
end for
jsks=jsks+nil[i].sks
ipk+=nil[i].bobot
for(i=0;i<jml;i++)
nil[i].sks
nil[i].na
end for

nah di atas itu adalah algoritma dari program yang akan saya tumkukan.
progam yang akan saya tunjukan ber basis C++ ceck it dot.

Program


#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <iomanip>
using namespace std;


struct biodata
{ char nama[50],nim[15],jurusan[50];
  }mhs;


struct nilai
{char makul[20];
 float tugas,kuis,mid,uas,bobot;
 int sks;
 float na;
 } nil[100];


main()
{
int i,jml,x;
float ipk,jsks=0;

cout<<"===============================================================\n";
cout<<"\t\t       KHS MHASISWA \n";
cout<<"===============================================================\n";
cout<<"Nama \t\t: "; gets(mhs.nama);
cout<<"NIM  \t\t: "; gets(mhs.nim);
cout<<"Jurusan \t: ";gets(mhs.jurusan);

cout<<"\n________________________________________________________________";
input:
cout<<"\nBanyak Mata Kuliah = ";cin>>jml;
cout<<endl;
cout<<"\n_________________________________________________________________";

      for(i=0;i<jml;i++)
                {
                                 cout<<"\nMATA KULIAH "<<i+1<<" \t: ";gets(nil[i].makul);
          cout<<"\nSKS \t\t: ";cin>>nil[i].sks;
          cout<<"\nNilai TUGAS \t: ";cin>>nil[i].tugas;
          cout<<"\nNilai KUIS \t: ";cin>>nil[i].kuis;
          cout<<"\nNilai MID \t: ";cin>>nil[i].mid;
          cout<<"\nNilai UAS \t: ";cin>>nil[i].uas;

          nil[i].na=(0.1*nil[i].tugas)+(0.2*nil[i].kuis)+(0.3*nil[i].mid)+
                                                (0.4*nil[i].uas);


          cout<<"_____________________________";
          cout<<"\nNilai Akhir \t: "<<nil[i].na;
          cout<<"\nNilai Huruf \t: ";
                if (nil[i].na>=85)
                                                {cout<<"A";
               nil[i].bobot=4*nil[i].sks;}
                                                else if (nil[i].na>70 && nil[i].na<=85)
                                                {cout<<"B";
                                                                nil[i].bobot=3*nil[i].sks;}
                                                else if (nil[i].na>55 && nil[i].na<=70)
                                                {cout<<"C";
                                                                nil[i].bobot=2*nil[i].sks;}
                                                else if (nil[i].na>40 && nil[i].na<=55)
            {cout<<"D";
                                                                nil[i].bobot=1*nil[i].sks;}
                                                else if (nil[i].na<=40)
            {cout<<"E";
                                                                nil[i].bobot=0*nil[i].sks;}

                jsks=jsks+nil[i].sks;
                ipk+=nil[i].bobot;
          cout<<endl;
          cout<<"_____________________________\n";
      }
     
 cout<<"\n___________________________________________________________________";
cout<<endl;
cout<<"_______________________________________________________________"<<endl;

  cout<<"|          Mata kuliah                  SKS    NILAI    MUTU  |"<<endl;

  cout<<"|_____________________________________________________________|"<<endl;
 
   for(i=0;i<jml;i++)
                {

  cout<<"| Matakuliah "<<i<<"                          "<<"      "<< nil[i].sks<<"        "<< nil[i].na<<"    |"<<endl;

    }

  cout<<"|_____________________________________________________________|"<<endl;

  cout<<"|            Jumlah :                   "<<jsks<<"               "<<"    |"<<endl;

  cout<<"|_____________________________________________________________|"<<endl;




cout<<"\n\t\tNama Mahasiswa \t: "<<mhs.nama;
cout<<"\n\t\tNIM            \t: "<<mhs.nim;
cout<<"\n\t\tJurusan \t: "<<mhs.jurusan;
cout<<"\n\t\tJumlah SKS \t: "<<jsks;
cout<<"\n\t\tIPK anda \t: "<<ipk/jsks;
cout<<endl;
cout<<"\n___________________________________________________________________";
cout<<endl;


getch();}

hasil runningan:



Senin, 16 Mei 2016

Tugas Insertion Sort

- Permasalahan
Bagaimana cara kita supaya dapat mengurutkan angka dengan menggunakan cara insertion sort. Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan.

- Analisi
 Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan.
 
contoh pengerjaan :
 
4  7  6  5  8
4  9  7  6  5  8
4  7  9  6  5  8
4  6  7  9  5  8
4  5  6  7  9  8
4  5  6  7  8  9

- Input dan Output

    input = 9  4  7  6  5  8
    output = 4  5  6  7  8  9
- Algoritma
Deklarasi
a,c,d, e, f, g        : integer
temp                   : integer
data[]                  : integer
Deskripsi
 
for(f=1;f<=a;f++)
temp <= data[f]
 g <= f-1
while(data[g]>temp && g>=0)
data[j+1] <- data[ j ]
data[j+1] <- temp
end while
end for
end
 
 
- Program
 

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

using namespace std;

int data[10],data2[10];
int a;
void ganti(int c, int d){
int e;
e=data[d];
data[d]=data[c];
data[c]=e;}
void sort(){
int temp,f,g;
for(f=1;f<=a;f++){
temp = data[f];
g = f -1;
while(data[g]>temp && g>=0){
data[g+1] = data[g];
g--;}
data[g+1] = temp;}
}
int main(){
cout<<"  "<<endl;
cout<<"banyak data : ";cin>>a;
cout<<"inputkan angka  "<<endl;
for(int f=1;f<=a;f++){
cout<<"input "<<f<<" : ";
cin>>data[f];
data2[f]=data[f];
}
sort();
cout<<"Data Inserting Sort : ";
for(int f=1; f<=a; f++){
cout<<" "<<data[f];}
getch();
return 0;
}

Blog Ahmad Rizaldo
 
Blog Awang Ginanjar
 

Kasus 8.7 Alpro

Algoritma :
Deklarasi
       i, j, p : integer
Deskripsi
       p <-- data[(L+R) div 2]
       i <-- L
      j <--R
     { mulai membuat partisi }
      while (i<=j) do
               while (data[i] < p) do i <-- i+1 endwhile
               while (data[j] > p) do j <-- j -1 endwhile
         if (i<=j) then
              tukar(data[i], data[j])
              i <-- i+1
              j <-- j-1
        endif
     endwhile
     if (L < j) then quick_sort(data,L,j) endif
     if (i < R) then quick_sort(data,i,R) endif

Kasus 8.5 Alpro

Algoritma :
Deklarasi
       i, t : integer
Deskripsi
      for i <-- 1 to n do
            minimum(A, i, n, t);
            tukar(A[i], A[t]); {tukar tempat elemen saat ini j dengan elemen terkecil yang ditemukan t}
    endfor

Kasus 8.4 Alpro

Algoritma :
Deklarasi
       k, j, temp : integer
Deskripsi
       for k <-- 2 to n do
            temp := data [k];
            j := k-1;
       while (temp <= data [j]) and (j > 1) do
               data [j+1] := data [j];
               j := j-1;
       endwhile
       if (temp >= data [j]) then data [j+1] := temp
       else
             data [j+1] := data [j];
             data [j] := temp;
        endif
   endfor

Kasus 8.3 Alpro

Algoritma :
Deklarasi
       larik = array [1..100] of integer
       i, a : byte
       k : larik
       j, bantu : integer
Deskripsi
       for i <-- 1 to n-1 do
          for j <-- i+1 to n do
             if x[i] > x[j] then
                tukar(x[i], x[j])
             endif
          endfor
      endfor

Kasus 8.2 Alpro

Algoritma :
Deklarasi
       ketemu : boolean
       i, middle : integer
Deskripsi
       ketemu <-- false
       while (low <= high) and (not ketemu) do
           middle <-- (low+high) div 2
           if (kunci = aray[middle]) then ketemu <-- true { data pencarian = data di tengah }
           else if (kunci < aray[middle]) then high <-- middle – 1 {data akan dicari lagi di sebelah kiri}
           else low <-- middle + 1 {data akan dicari lagi di sebelah kanan}
           endif
       endwhile
       if ketemu then pencarianBiner := middle
       else pencarianBiner := -1;
      endif

Kasus 8.1 Alpro

Algoritma :
Deklarasi
       ketemu : boolean
       i, n : integer
Deskripsi
      ketemu <-- false;
      n <-- 1
     while ((n < ukuran) and (not ketemu)) do
         if (aray[n] = kunci) then
             ketemu <-- true { data ketemu }
             i <-- n { pada posisi ke-i }
         endif
         else n <-- n+1 { cek data berikutnya }
     endwhile
     if ketemu then pencarianLinier <-- i { data ketemu pada posisi ke-i }
     else pencarianLinier <-- -1 { data tidak ketemu }
     endif
  end

Sabtu, 26 Maret 2016

Refleksi Pertemuan 4

       Dalam pertemuan 4 ini awal masuk tidak ada kuis yang biasa seperti pertemuan pertemuan sebelumnya jadi agak ringan di pertemuan 4 ini karena tidak pusing pusing di awal pelajaran. Selanjutnya pak Wahyu membahas materi minggu keempat yaitu LOOP sama juga dalam bahasa kerennya PERULANGAN yaitu dimana kita belajar di DEV atau RAPTOR tentang bagaimana kita bisa melakukan perulangan dengan rumus yang di berikan pak Wahyu.

Setelah pak Wahyu menjelaskan kita disuruh mengerjakan kasus 4.1, 4.2, 4.3, 4.4, 4.7,dan  4.8. Kita diberi waktu 15 menit, jika tidak bisa mengerjakan dalam waktu yang sebegitu lama tersebut kita harus menyontek punya kelompok lain dengan membayar Rp 5000,00 per soalnya dan itu membuat saya semangat untuk menyelesaikan kasus tersebut. Tak disangka setelah waktu selesai kelompok ku belom selesai, akhirnya kelompokku nyontek punya kelompok lain tanpa membayar 5000 hahahaaha.

Setelah selesai.... ternyata belom selesai tugasnyaaa. Kita masih disuru presentasi, walaupun kelompokku tidak disuruh maju namun kukira ternyata pertemuan 4 ini tidak ringan juga, aku merasa pertemuan 4 ini pusing juga dan aku tetap merasa senang sekali di pertemuan 4 ini karena.............

Kasus 4.7 Alpro

Dev C++

#include <iostream>

using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
    int a,b,i;
    int pangkat=1;
    cout<<"      Menghitung Hasil Pngkat"<<endl<<endl;
    cout<<"Masukkan bilangan       = "; cin>>a;
    cout<<"Masukkan jumlah pangkat = ";cin>>b;
    for(i=1;i<=b;i++){
        pangkat*=a;
    }cout<<a<<"pangkat"<<b<<"="<<pangkat;
    return 0;
}

Raptor