Senin, 19 September 2016

Refleksi 3 Sdata

20 September 2016
adalah pertemuan minggu ketiga Sdata. Pada pertemuan ini membahas materi tentang fungsi rekursif dan iteratif. Dosen memberikan waktu kepada mahasiswa untuk berdiskusi bersama kelompok. Lalu dosen menjelaskan materi dan mahasiswa mempresentasikan hasil diskusinya. dan mengumpulkn hasil kesimpulan.

Refleksi 2 Sdata

Rabu 14 September 2016
adalah pertemuan pengganti minggu ke dua. Pada pertemuan ini kelas C bergabung dengan kelas A. Pada pertemuan ini membahas materi struct dan class. Dosen meminta kemompok belajar mahasiswa bergabung dengan kelompok lainnya untuk berbagi ilmu dan mempresentasikannyaa ke depan. Namun karena sebagian mahasiswa klas C bentrok dengan praktikum, maka Sebagian mahasiswa hanya mengikuti perkuliahan selama 30 menit.

Refleksi 1 Sdata

selasa 6 september 2016
adalah pertemuan pertama Sdata yang diampu oleh pak wahyu pujiyono. Pada pertemuan ini dosen meminta mahasswa meembentuk kelompok beljar sebanyak 3 mahasiswa. setelah itu osen eminta mahasiswa untuk mendownload materi yang sudah di share di grup fb.. Lalu dosen menerangkan materi  Dasar2 Pemrograman yang isinya tentang Parameter dan template.

Selasa, 14 Juni 2016

REFLEKSI MINGGU 14

Rabu , 15 Juni 2016 adalah pertemuan terakhir algoritma pemrograman. Pada pertemuan ini dosen meminta mahasiswa untuk membuka materi yang telah di upload di grup facebook. lalu dosen meminta mahasiswa untuk menuli ulang pada selembar kertas. Mengapa harus ditulis ulang? karna ini materi penting untuk UAS. Lalu dosen mulai menjelakan satu persatu kisi kisi UAS.

Menghitung Ipk

1. Analisi Masalah
   Mengitung IPK mahasiswa

2. Analisis

    - Input jumlah sks dan nilai dalam bentuk huruf [A-E]

    - Output nilai IPK berdasarkan jumlah sks dan nilai huruf

3. Algoritma

Procedure IPK (input/output matkul[50] ::char , jmk :: integer, bsks::integer)
Deklarasi
                x -> integer
                bernilai[100]->integer
                mutu[100]->integer
Deskripsi
                for(x=1;x<=jmk;x++):
                read(matkul[i]);
                if (matkul[i]=='A') then bnilai[i]=4;
                else if (matkul[i]=='B') then bernilai[i]=3;
                else if (matkul[i]=='C') then bernilai[i]=2;
                else if (matkul[i]=='D') then bernilai[i]=1;
                else if (matkul[i]=='E') then bernilai[i]=0;
                endif
                read(bsks[x]);
                if(bsks[x]>=1 && bsks[x]<=4) then bsks[x]= bsks[x];
                endif
                mutu[x]=bernilai[x]*bsks[x];
                endfor

                float tmutu=0, tbobot=0;
                for(y=1; y<=jmk; y++):
                tmutu+=mutu[y];
                tbobot+=bsks[y];
                           endfor
                           float ipk;
                            ipk=tmutu/tbobot;
                            write(ipk).

4. Program C++

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

using namespace std;
class mahasiswa{
public:
int masuk ();
int element();
private:
int semua;
};
struct mhs{
char nama[20];
char nim[10];
char fakultas[25];
char prodi[20];
char alamat[40];
};

class makul{
public:
int input();
private:
int id[10];
string kuliah[50];
char wp[5];
int sks[10];
string nilai[5];
};
int mahasiswa :: masuk (){
mhs daftar;
cout<<"Nama : "; cin>>daftar.nama;
cout<<"Nim : "; cin>>daftar.nim;
cout<<"Fakultas : "; cin>>daftar.fakultas;
cout<<"Prodi : "; cin>>daftar.prodi;
cout<<"Alamat : "; cin>>daftar.alamat;
}

int makul::input(){
cout<<endl;
cout<<"===============MASUKKAN HASIL STUDI================"<<endl<<endl;
int semua;
cout<<"Masukkan jumlah matakuliah : "; cin>>semua;

string A,a,B,b,C,c,D,d,E,e;
int kali,jumlah=0,jumsks=0;
int x=0;
while(x<semua){
cout<<"Kode : ";cin>>id[x];
cout<<"matakuliah : "; cin>>kuliah[x];
cout<<"W/P : "; cin>>wp[x];
cout<<"SKS : "; cin>>sks[x];
cout<<"nilai: "; cin>>nilai[x];
cout<<endl;

if(nilai[x]=="A"||nilai[x]=="a"){
kali=4*sks[x];
}else if(nilai[x]=="B"||nilai[x]=="b"){
kali=3*sks[x];
}else if(nilai[x]=="C"||nilai[x]=="c"){
kali=2*sks[x];
}else if(nilai[x]=="D"||nilai[x]=="d"){
kali=1*sks[x];
}else if(nilai[x]=="E"||nilai[x]=="e"){
kali=0*sks[x];
}else{
cout<<"Nilai hanya sampai A-E"<<endl;
break;
}

kali=kali+kali;
jumsks=jumsks+sks[x];
x++;
}
float ipk=kali/jumsks;
cout<<endl;
cout<<"******************"<<endl;
cout<<"jumlah sks yang diambil :"<<jumsks<<endl;
cout<<"jumlah mata kuliah yang diambil : "<<semua<<endl;
cout<<"IPK : "<<endl;
cout<<"*******************";
}
int main(){
mahasiswa panggil;
panggil.masuk();

makul data;
data.input();
return 0;
}

6. Eksekusi

REFLEKSI MINGGU 13

Rabu, 8 juni 2016 adalah pertemuan k 13 algoritma pemrograman. Pada pertmemuan ini membahas Cara menghitung IPK mulai dari membuat rekontruksi data, menghitung IPK, dan algoritma IPK.Tugas ini dikerjagan tiap kelompok dan etiap anggota nya megerjakan 1 soal.

Selasa, 07 Juni 2016

Refleksi Minggu 12



Rabu 01 juni 2016 adalah pertemuan ke 12 algoritma pemrograman. Pada pertemuan ini membahas tentang record. Diawal pertemuan dosen memberikan kuis. Lalu dilanjutkan dengan membahas materi dan membahas tugas proyek.
Soal kuis :
1.       Perbedaan array dan record
Array merupakan tipe data tersetruktur dimana di dalamnya terdiri dari komponen–komponen yang mempunyai tipe data yang sama.
Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu.
2.       Perbedaan antara Class dan Struct:
Class adalah sesuatu yang mempunyai data (sifat) dan fungsi (kelakuan) untuk mendeskripsikan suatu objek.
 Struct mendefinisikan tipe data dan memberitahukan kepada Visual C++ untuk memperlakukan koleksi tipe data dasar sebagai satu kesatuan tipe data, yang darinya dapat mendefinisikan variabel dan array variabel.
Contoh record :
1.       Presensi kuliah
2.       Ktp
Nomor
NIM
Nama
Tanggal
37
15000…….
Ghaida hayati




38
15000…..
Avinny meidiana





Nim dan nama => Field
Baris => Array
Struct tanggal {
Int tgl;
Int bulan;
Int thn;
};
Class penduduk {
Int no;
Char nim[10];
Char nama[30];
Tanggal tgl hadir;
};

Sabtu, 28 Mei 2016

Diktat bab 10



1. Identifikasi masalah
    "Program modifikasi struktur data dari algoritma 9.1. dan algoritma 9.2. sehingga sesuai dengan  tabel di bawah ini dengan menggunakan link list.#include <iostream>"
2. Menentukan input dan output
    input   = 
    output =
3. Membuat algoritma atau flowchart
    Algoritma = "Program modifikasilah struktur data dari algoritma 9.1. dan algoritma 9.2. sehingga sesuai dengan tabel di bawah ini dengan menggunakan linklist.#include <iostream>"
    Prosedur   = Buat_berikut_list()
    Deklarasi  = 
                         Nama[20]   = karakter
                         Nim[10]     =  karakter
                         Nilai           = integer
    Deskripsi  =
    while when lagi=='Y' then lagi=='y'
    while (cetak !=NULL)
    if when cetak->Nilai>=0 and cetak->Nilai<20
       E
       else if when cetak->Nilai>=20 and cetak->Nilai<40
       D
       else if when cetak->Nilai>=40 and cetak->Nilai<60
      C
       else if when cetak->Nilai>=60 and cetak->Nilai<80
      B
      else
      A
      cetak=cetak->berikut
    end if
    end while
    end while
4. Test menggunakan data
     input   =
     output =
5. Implementasi dengan C++
#include <conio.h>
#include <windows.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Mhs{
public:
void Buat_berikut_list();
char Nama[20];
char Nim[10];
int Nilai;
Mhs *berikut;
};
void Mhs::Buat_berikut_list(){
Mhs *Ptr_Kepala = NULL;
Mhs *Ptr_Baru;
char lagi;
do{
Ptr_Baru= new Mhs;
cout<<"\nNama Mahasiswa : ";
cin>>Ptr_Baru->Nama;
cout<<"Nim Mahasiswa : ";
cin>>Ptr_Baru->Nim;
cout<<"Nilai Mahasiswa : ";
cin>>Ptr_Baru->Nilai;
Ptr_Baru->berikut=Ptr_Kepala;
Ptr_Kepala=Ptr_Baru;
cout<<"Tambah (y/t) : ";
cin>>lagi;
} while (lagi=='Y' || lagi=='y');
system("cls");
cout<<"\nAnda telah memasukkan data : "<<endl;
Mhs *cetak= Ptr_Kepala;
cout<<"Nama \t\t Nim \t\t Nilai Angka \t\t Nilai Huruf"<<endl;
while (cetak !=NULL){
cout<<cetak->Nama<<" \t\t"<<cetak->Nim<<" \t\t"<<cetak->Nilai<<" \t\t";
if (cetak->Nilai>=0&&cetak->Nilai<20)
cout<<"E"<<endl;
else if(cetak->Nilai>=20&&cetak->Nilai<40)
cout<<"D"<<endl;
else if(cetak->Nilai>=40&&cetak->Nilai<60)
cout<<"C"<<endl;
else if(cetak->Nilai>=60&&cetak->Nilai<80)
cout<<"B"<<endl;
else
cout<<"A"<<endl;
cetak=cetak->berikut;
}
}
int main(int argc, char** argv) {
Mhs *simpul;
simpul->Buat_berikut_list();
getch();

}

Rabu, 25 Mei 2016

Perkalian vektor (2 elemen) dengan matriks berukuran 2x3 dan vektor (3 elemen)



1.      Identifikasi masalah

Mengalikan vektor 2 elemen dan matrik 2 x 3 sekaligus vektor 3 elemenn.

2.      Menentukan input dan output

     input   : matrik[2][3]={1,2,3,2,3,4}.

                    vektor[3]={1,2,3}.
                    vek[2]={1,2,}     output : hasil[2].

3.       Membuat flowchart/ Algoritma

     Deklarasi :
     matrik[2][3] = {1,2,3,2,3,4} <- integer
    vektor[2]        = {1,2,3} <- integer
    vek[2]              = {1,2} <- integer
    hasil[2]           = {0} <- integer
   Deklarasi :
   for i<-0 to i<-2 do
          for j<-0 to j<-3 do
                 hasil[i]=hasil[i]+(matrik [i][j]*vektor[j]);
                 write hasil[i];
        end for
endfor
for i<-0 toi<-2 do
  hasil[i]=hasil[i]*vek[i];
  write hasil[i];
endfor
end

4. Test Menggunakan Data.

data vektor(2 elemen), matrik(ordo 2x3) dan vektor(3 elemen)
           j=0                       j=0  j=1  j=2                        j=0
A i=0|1|             B i=0| 1       2      3  |           C i=0| 1 |
    i=1|2|                 i=1| 2       3      4  |              i=1 | 2 |
                                                                             i=2 | 3 |
Perkalian antara matrik B sama vektor C
             j=0  j=1  j=2                            j=0
D i=0|  1       4     9 |     =        D i=0| 14|
    i=1 |  2      6     12|    =             i=1 |20|
Setelah dapat hasil dari matrik B sama vektor C maka di kalikan lagi dengan vektor A
             j=0                    j=0                          j=0
D i=0|14|       A i=0| 1 |      =       E i=0|14|
     i=1|20|           i=1| 2 |      =           i=1 |20|

5. Implementasi C++

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void kali(int matrik[2][3],int vektor[3],int hasil[2]){
 cout<<"matrik 2x3 : \n";
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   hasil[i]=hasil[i]+(matrik[i][j]*vektor[j]);
 }
}
void cetakm(int hasil[][3]){
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   cout<<hasil[i][j]<<" ";
   cout<<endl;
 }
}
void cetakv(int vektor[]){
 cout<<"vektor 3 elemen : \n";
 for(int i=0;i<3;i++){
  cout<<vektor[i]<<endl;
 }
}

void cetak(int hasil[]){
 cout<<"hasil matrik 2x3 dan vektor 3 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<hasil[i]<<endl;
 }
}
void cetakb(int vek[]){
 cout<<"vektor 2 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<vek[i]<<endl;
 }
}

void cetaka(int vek[2],int hasil[]){
 cout<<"hasil akhir : \n";
   for(int i=0;i<2;i++){
 hasil[i]=hasil[i]*vek[i];
 cout<<hasil[i]<<endl;
}
}
int main(int argc, char** argv) {
 int matrik[2][3]={1,2,3,2,3,4}, vektor[3]={1,2,3},vek[2]={1,2},hasil[2]={0};
 kali(matrik,vektor,hasil);
 cetakm(matrik);
 cetakv(vektor);
 cetak(hasil);
 cetakb(vek);
cetaka(vek,hasil);
return 0;
}
 
6.esekusi