Welcome To My Blog

Sabtu, 17 Juni 2017

Mencari Query Dengan Struct

Diberikan data dalam bentuk table yang meliputi Mata Kuliah, Dosen, Mengampu, Ambil Mata Kuliah dan Mahasiswa.

Program yang saya buat dalam bentuk statis ini akan mencari nama dosen dan outputnya adalah nama mata kuliah dosen tersebut dan nama mahasiswa yang mengambil mata kuliah dari dosen tersebut.
Berikut adalah source code dalam bahasa C++ dalam bentuk struct statis.

#include <iostream>
#include <string.h>
using namespace std;

struct MataKuliah{
 char kode[5];
 char nama[30];
};

struct Dosen{
 char NIK[5];
 char nama[30];
};

struct Mengampu{
 char NIK[5];
 char kode[5];
};

struct AmbilMatkul{
 char NIM[11];
 char kode[5];
};

struct Mahasiswa{
 char NIM[11];
 char nama[30];
};

int main(){
 MataKuliah matkul[25];
 Dosen dos[25];
 Mengampu ampu[25];
 AmbilMatkul AM[25];
 Mahasiswa Mhs[25];

 strcpy(matkul[0].kode, "K001");
 strcpy(matkul[0].nama, "Algoritma Pemrograman");
 strcpy(matkul[1].kode, "K002");
 strcpy(matkul[1].nama, "Dasar-Dasar Pemrograman");
 strcpy(matkul[2].kode, "K003");
 strcpy(matkul[2].nama, "Matematika Diskret");
 strcpy(matkul[3].kode, "K004");
 strcpy(matkul[3].nama, "Arsitektur Komputer");
 strcpy(matkul[4].kode, "K005");
 strcpy(matkul[4].nama, "Logika Informatika");

 strcpy(dos[0].NIK, "D001");
 strcpy(dos[0].nama, "Wahyu");
 strcpy(dos[1].NIK, "D002");
 strcpy(dos[1].nama, "Yana");
 strcpy(dos[2].NIK, "D003");
 strcpy(dos[2].nama, "Imam");
 strcpy(dos[3].NIK, "D004");
 strcpy(dos[3].nama, "Aziz");

 strcpy(ampu[0].NIK, "D001");
 strcpy(ampu[0].kode, "K001");
 strcpy(ampu[1].NIK, "D001");
 strcpy(ampu[1].kode, "K002");
 strcpy(ampu[2].NIK, "D002");
 strcpy(ampu[2].kode, "K003");
 strcpy(ampu[3].NIK, "D003");
 strcpy(ampu[3].kode, "K004");
 strcpy(ampu[4].NIK, "D004");
 strcpy(ampu[4].kode, "K005");


 strcpy(AM[0].NIM, "1600018001");
 strcpy(AM[0].kode, "K001");
 strcpy(AM[1].NIM, "1600018002");
 strcpy(AM[1].kode, "K002");
 strcpy(AM[2].NIM, "1600018003");
 strcpy(AM[2].kode, "K003");
 strcpy(AM[3].NIM, "1600018004");
 strcpy(AM[3].kode, "K005");

 strcpy(Mhs[0].NIM, "1600018001");
 strcpy(Mhs[0].nama, "Micheal");
 strcpy(Mhs[1].NIM, "1600018002");
 strcpy(Mhs[1].nama, "John");
 strcpy(Mhs[2].NIM, "1600018003");
 strcpy(Mhs[2].nama, "Harry");
 strcpy(Mhs[3].NIM, "1600018004");
 strcpy(Mhs[3].nama, "Potter");

 char cari[20];
 cout<<"Masukan Nama Dosen : "; cin.getline(cari, sizeof(cari));

 bool ketemu = false;
 int indexKetemu;

 for(int i=0; i<5; i++){
 if(strcmp(cari,dos[i].nama) == 0){
 ketemu = true;
 indexKetemu = i;
 break;
 }
 }

 if(ketemu){
 for(int i=0; i<5; i++){
 if(strcmp(dos[indexKetemu].NIK, ampu[i].NIK) == 0){
 for(int j=0; j<5; j++){
 if(strcmp(ampu[i].kode, matkul[j].kode) == 0){
 cout<<"\nMata Kuliah : "<<matkul[j].nama<<endl;
 for(int k=0; k<5; k++){
 if(strcmp(matkul[j].kode, AM[k].kode) == 0){
 for(int l=0; l<5; l++){
 if(strcmp(AM[k].NIM, Mhs[l].NIM) == 0){
 cout<<"\t ="<<"Nama Mahasiswa : "<<Mhs[l].nama<<endl;;
 }
 }
 }
 }
 }
 }
 cout<<endl;
 }
 }
 }else{
 cout<<"Dosen "<< cari << " Tidak Ditemukan" << endl;
 }

 return 0;
}

Dan hasilnya setelah di compile:

 

Tugas 8 Algoritma Pemrograman membahas Searching dan Sorting.

Disini saya akan menjelaskan Tugas 8 Algoritma Pemrograma. Pada tugas ini akan membahas Searching dan Sorting. Langsung saja...
Kasus 8.1 function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer
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


Ini Flowchartnya :  



 

 

Ini Source Code C++ nya :

#include <iostream>
#define UKURAN 100

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

using namespace std;

int pencarianLinier(int array[], int kunci, int ukuran){
   int i;
  
   for (i=0; i<=ukuran-1; ++i)
   if (array[i] == kunci)
   return i;
   return -1;
}

int main(int argc, char** argv) {

    int a[UKURAN], x, kunciPencarian, elemen;
   
    for (x=0; x<=UKURAN-1; x++) a[x] = 2*x;
    cout<<"Bilangan yang mau dicari : ";
    cin>>kunciPencarian;
    elemen = pencarianLinier(a,kunciPencarian,UKURAN);
    if (elemen != -1)
    cout<<kunciPencarian<<" Ditemukan pada posisi elemen ke " << elemen;
    else
    cout<<kunciPencarian<<" Tidak ada.";
   
    return 0;


 

Evaluasi Diri Minggu #6

1.Apa saja macam kegiatan belajar kalian?

Minggu ini pembelajaran Algoritma Pemrograman masih seputar tentang fungsi rekrusif dan fungsi iteratif

2.Berapa menit total belajar anda dalam seminggu?

Minggu ini saya belajar materi dari Diktat maupun Praktikum kurang lebih 750 menit.

3.Apa rencana anda bila ada materi yang belum dipahami?

Untuk materi fungsi rekrusif dan fungsi iteratif ini saya masih harus banyak belajar karena saya masih kurang memahami bab ini.

Program Menghitung Faktorial

ANALISIS:

Menghitung bilangan faktorial (n!) dengan menggunakan Rekrusif.
Rumus Faktorial:
n! = 1 x 2 x 3 x … x n
Misal kita masukan n = 5
5! = 1 x 2 x 3 x 4 x 5
5! = 120

FLOWCHART RAPTOR:


OOP PADA C++:



HASIL:


Lihat juga di blog partner kelompok saya https://fadhfaiz.wordpress.com/ dan http://dalangefajar.blogspot.co.id/
 
 

 

Menghitung Nilai Rata-Rata

Kasus 5.3 : Carilah nilai rata-rata dari n bilangan positif

ANALISIS:

Misal batas pilihan user = 4
angka pertama = 2
angka kedua = 4
angka ketiga = 6
angka keempat = 8
maka nilai rata-rata = jumlah total bilangan / jumlah bilangan batas
rata-rata = 2 + 4 + 6 + 8 / (4) => 20 / 4 => 5

ALGORITMA:

hitung rata_rata (user diminta memasukan batas, lalu memasukan nilai sesuai batas kemudian pogram akan menjumlah dan membagi nya sehingga rata-rata akan terhitung.

DEKLARASI:

  • x, i, n : integer
  • jumlah, rata : float

DESKRIPSI:

START
  • read (n)
  • jumlah ← 0
  • i ← 1

END

FLOWCHART PADA RAPTOR:


PROGRAM C STYLE:

  

PROGRAM OOP STYLE:

HASIL:



Lihat juga di blog partner kelompok saya https://fadhfaiz.wordpress.com/ dan http://dalangefajar.blogspot.co.id/
 

 

Evaluasi Diri Minggu #5

1.Apa saja macam kegiatan belajar kalian?

Minggu ini saya mempelajari tentang perulangan dengan menggunakan for, while dan do while.

2.Berapa menit total belajar anda dalam seminggu?

Total waktu belajar Algoritma Pemrograman saya minggu ini kurang lebih sudah 800 menit.

3.Apa rencana anda bila ada materi yang belum dipahami?

Dalam kasus perulangan ini masih banyak yang belum saya pahami, jadi akan saya ulang jika ada waktu luang.

Comments system

Disqus Shortname