Tuesday, December 24, 2019

Logika & Algoritma Tugas Pertemuan 13

SEMESTER 1
LOGIKA & ALGORITMA
TUGAS TELOMPOK PERTEMUAN 13

# KELOMPOK SILENT TEAM #
1. HARIS SYAEFUL AMRI      [NIM : 13190183]
2. PATAR SAMUEL                 [NIM : 13190497]
3. IKHWAN HAFIZH                [NIM : 13190090]
4. MULYANSYAH YUSUF       [NIM : 13190088]
5. SOLIKIN                              [NIM : 13190515]
KELAS           : 13.1B.07
JURUSAN      : TEKNIK KOMPUTER

1. Terdapat sebuah kapal dengan kapasitas 180 Ton, akan memuat  6buah barang masing-masing adalah : Gula Pasir 50 Ton dengan harga 100 Juta,Gula Merah 60 Ton dengan harga 80 Juta, dan Gula Batu 70 Ton dengan harga 90 Juta,Beras 50 Ton dengan harga 150 Juta, Terigu 20 Ton dengan harga 40 Juta,Minyak Goreng 60 Ton dengan harga 200 Juta. 

Dengan metode algoritma Greedy tentukan barang apa saja yang dimuat truk dengan harga yang paling mahal



Jawaban  :
Diketahui M=180
N = 6 buah
(Berat   Wi ) W1 W2 W3 W4  W5 W6          = 50, 60, 70,  50,  20,  60
(Profit  Pi )  P1 P2 P3  P4  P5  P6                = 100, 80, 90, 150 , 40, 200
Gula Pasir         => P1 /W1 => 100/50   = 2        = menjadi urutan 4
Gula Merah       => P2 /W2 =>  80/60    = 1,3     = menjadi urutan 5
Gula Batu          => P3 /W3 =>  90/70    = 1,28   = menjadi urutan 6
Beras                 => P4 /W4 => 150/50   = 3        = menjadi urutan 2
Terigu                => P5 /W5 =>  40/20     = 2       = menjadi urutan 3
Minyak goreng  => P6 /W6 => 200/60    = 3,3     = menjadi urutan 1
Menjadi :
(Berat  Wi ) W1 W2 W3 W4  W5 W6       = 60,50,20,50,60,70
(Profit  Pi )  P1 P2 P3  P4  P5  P6           = 200,150,40,100,80,90

Logika & Algoritma Tugas Pertemuan 12

SEMESTER 1
LOGIKA & ALGORITMA
TUGAS TELOMPOK PERTEMUAN 12

# KELOMPOK SILENT TEAM #
1. HARIS SYAEFUL AMRI      [NIM : 13190183]
2. PATAR SAMUEL                 [NIM : 13190497]
3. IKHWAN HAFIZH                [NIM : 13190090]
4. MULYANSYAH YUSUF       [NIM : 13190088]
5. SOLIKIN                              [NIM : 13190515]
KELAS           : 13.1B.07
JURUSAN      : TEKNIK KOMPUTER

1. Terdapat 7 Buah Program (N=7) yang masingmasing mempunya panjang program

(L1=10 , L2=3 , L3=9 , L4= 12 , L5=20 , L6=7 , L7=11),
Dengan metoda Optimal Storage Ontapes Problem, tentukan Order yang paling optimal

Jawaban  :
Optmal Storage Ontapes Problem
L5=20 L4=12 L7=11 L1=10 L3=9 L6=7 L2=3

2. Terdapat sebuah truk dengan kapasitas 80 Ton, Akan memuat 3 buah barang masing-masing adalah : Gula pasir 50 Ton dengan harga 100 Juta, Gula merah 60 Ton dengan harga 80 Juta dan Gula batu 70 Ton dengan harga 90 Juta.

Dengan metoda Greedy Tentukan barang apa saja yang dimuat truk dengan harga yang paling mahal


Jawaban  :
Berdasarkan Provit Maksimal
P1 = 100.000.000       W1 = Gula pasir = 50
P2 = 90.000.000         W2 = Gula Batu = 70
P3 = 80.000.000         W3 = Gula merah= 60
M = 80 ton
-  P1 = 100.000.000, W1 = 50
   50 > 80 , tidak maka X1 = 1
   80-50 30
   M=30
-  P2 = 90.000.000, W2 = 70
   70>30, ya Maka X2= 3/7
   M = 0
-  P3 = 80.000.000, W3 = 60
   X3 = 0

Jadi, barang yang mampu di muat Truk dalam harga yang paling mahal yaitu Gula Pasir dan Gula Batu.

Logika & Algoritma Tugas Pertemuan 11

SEMESTER 1
LOGIKA & ALGORITMA
TUGAS TELOMPOK PERTEMUAN 11

# KELOMPOK SILENT TEAM #
1. HARIS SYAEFUL AMRI      [NIM : 13190183]
2. PATAR SAMUEL                 [NIM : 13190497]
3. IKHWAN HAFIZH                [NIM : 13190090]
4. MULYANSYAH YUSUF       [NIM : 13190088]
5. SOLIKIN                              [NIM : 13190515]
KELAS           : 13.1B.07
JURUSAN      : TEKNIK KOMPUTER

1. Algoritma untuk mencari elemen  MaxMin :
int i,n, A [n], max,min
max ← min ← A[0]
FOR i ← 1 To n
IF A[i] > max; max ← A[i];
ELSE IF A[i] < min ; min ← A[i] ENDIF
ENDIF
REPEAT


END STRAITMAXMIN

Contoh Soal
Terdapat deret angka : 34,67,12,40,66,18,90
Buat algoritma untuk mencari Nilai Maximal dan Minimal dengan teknik Strait Maxmin dan tentukan
pula Jumlah operasi perbandingannya.

Jawab :
34,67,12,40,66,18,90
Max =Min=34
For i = 2 to 7
1. If A[2]> max
    A[2]>34
    67>34 ? ya max = 67
2. If A[3]> max
    A[3]>67
   12>67 ? tidak, max = 67
3. else If A[3]<min
   12<34 ? ya, min = 12
4. If A[4]>max
    40>67 ? tidak, max =67
5. else If A[4]<min
    40<12 ? tidak, min = 12
6. If A[5]>max
    66>67 ? tidak, max=67
7. else If A[5]<min
    66<12 ? tidak, min=12
8. If A[6]>max
    18>67 ? tidak , max=67
9. else If A[6]<min
    18<12 ? tidak , min=12
10. If A[7]>max
    90>67 ? ya, max=90(pencarian selesai)

Jadi, Max= 90 Min=12 , dan Jumlah operasi
perbandingannya sebanyak 10 kali  

2. Program Menentukan Nilai MAX/MIN Pada Himpunan Array

Tehnik Pencarian MAXMIN Searcing dengan Tehnik STRAITMAXMIN Menentukan / mencari elemen max & min. Pada Himpunan yg berbentuk array linear. Waktu tempuh/time complexity yg digunakan untuk menyelesaikan pencarian hingga mendapatkan solusi yg optimal terbagi atas best case,average case dan worst case.

Program Menggunakan Borland c++ 5.02
Input Script :

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int angka,jmlh,min,max;

clrscr();
cout<<"       # KELOMPOK SILENT TEAM # "<<endl;
cout<<" ===================================="<<endl;
cout<<" |NO| NAMA               | NIM      |"<<endl;
cout<<" ===================================="<<endl;
cout<<" |1 | HARIS SYAEFUL AMRI | 13190183 |"<<endl;
cout<<" |2 | PATAR SAMUEL       | 13190497 |"<<endl;
cout<<" |3 | IKHWAN HAFIZH      | 13190090 |"<<endl;
cout<<" |4 | MULYANSYAH YUSUF   | 13190088 |"<<endl;
cout<<" |5 | SOLIKIN            | 13190515 |"<<endl;
cout<<" ===================================="<<endl;
cout<<" KELAS        : 13.1B.07 "<<endl;
cout<<" JURUSAN      : TEKNIK KOMPUTER "<<endl;
cout<<" TAHUN AJARAN : 2019/2020 "<<endl;
cout<<endl;
cout<<"========================================"<<endl;
cout<<"| PROGRAM C++ MENENTUKAN NILAI MAX/MIN |"<<endl;
cout<<"========================================"<<endl;
cout<<"Masukan Banyak Data : ";
cin>>jmlh;
   cout<<endl;
    for(int i=1;i<=jmlh;i++)
      {
       cout<<"Masukan data ke-"<<i<<"   : ";
        cin>>angka;
          if(i==1)
            {
             min=angka;
             max=angka;
            }
            else if (min>angka)
            {
             min=angka;
            }
            else if (max<angka)
            {
             max=angka;
            }
            else{}
      }

   cout<<endl;
   cout<<"MAX dari data       : "<<max<<endl;
   cout<<"MIN dari data       : "<<min<<endl;
   cout<<endl;
   cout<<"Terima Kasih";
getch();
}

Output Program :



















       

Logika & Algoritma Tugas Pertemuan 9

SEMESTER 1
LOGIKA & ALGORITMA
TUGAS TELOMPOK PERTEMUAN 9

# KELOMPOK SILENT TEAM #
1. HARIS SYAEFUL AMRI      [NIM : 13190183]
2. PATAR SAMUEL                 [NIM : 13190497]
3. IKHWAN HAFIZH                [NIM : 13190090]
4. MULYANSYAH YUSUF       [NIM : 13190088]
5. SOLIKIN                              [NIM : 13190515]
KELAS           : 13.1B.07
JURUSAN      : TEKNIK KOMPUTER

Buatlah program dengan menggunakan C++

1. Penjumlahan dua buah matriks
2. Pengurangan dua buah matriks
    Ket :
    • Masing-masing kelompok dapat memilih salah satu dari program di atas.
    • Listing program & output dicetak
    • Nama, Nim dan Kelas dicetak di listing program

1. Program Penjumlahan dua buah matriks

Program Menggunakan Borland c++ 5.02
Input Script :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int i, j, baris, kolom, m1[10][10], m2[10][10], hasil[10][10];
void main()
{
  clrscr();
  cout<<"       # KELOMPOK SILENT TEAM # "<<endl;
  cout<<" ===================================="<<endl;
  cout<<" |NO| NAMA               | NIM      |"<<endl;
  cout<<" ===================================="<<endl;
  cout<<" |1 | HARIS SYAEFUL AMRI | 13190183 |"<<endl;
  cout<<" |2 | PATAR SAMUEL       | 13190497 |"<<endl;
  cout<<" |3 | IKHWAN HAFIZH      | 13190090 |"<<endl;
  cout<<" |4 | MULYANSYAH YUSUF   | 13190088 |"<<endl;
  cout<<" |5 | SOLIKIN            | 13190515 |"<<endl;
  cout<<" ===================================="<<endl;
  cout<<" KELAS        : 13.1B.07 "<<endl;
  cout<<" JURUSAN      : TEKNIK KOMPUTER "<<endl;
  cout<<" TAHUN AJARAN : 2019/2020 "<<endl;
  cout<<endl;
  cout << "=================================="<<endl;
  cout << "Operasi Penjumlahan Matrix\n";
  cout << "=================================="<<endl;
  do
  {
   cout << "Jumlah Baris = "; cin>>baris;
   cout << "Jumlah Kolom = "; cin>>kolom;
  }
  while((baris>10)||(kolom>10));
/*  do
  while(kolom>10);*/
  cout << "\nMatrix A" << endl;
  for(i=0;i<baris;i++)
   for(j=0;j<kolom;j++)
    {
     cout <<"data [" << i << "," << j << "] = ";
     cin>>m1[i][j];
    }
  cout << "\nMatrix B" << endl;
  for(i=0;i<baris;i++)
   for(j=0;j<kolom;j++)
    {
     cout <<"data [" << i << "," << j << "] = ";
     cin>>m2[i][j];
    }
  for(i=0; i<baris;i++)
    for(j=0; j<kolom; j++)
      hasil[i][j] = m1[i][j] + m2[i][j];
  cout << "\nHasilnya..." << endl;
  cout << "Matrix A  +  Matrix B  =  Matrix C";
  for(i=0; i< baris; i++)
   {
    cout<<'\n';
    for(j=0; j<kolom; j++)
     cout << setw(4) << m1[i][j];
     cout << "     ";
    for(j=0; j<kolom; j++)
     cout << setw(4) << m2[i][j];
     cout << "     ";
    for(j=0; j<kolom; j++)
     cout << setw(4) << hasil[i][j];
    cout << endl;
   }

  getch();

Output Program :























2. Program Pengurangan dua buah matriks

Program Menggunakan Borland c++ 5.02
Input Script :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int i, j, baris, kolom, m1[10][10], m2[10][10], hasil[10][10];
void main()
{
  clrscr();
  cout<<"       # KELOMPOK SILENT TEAM # "<<endl;
  cout<<" ===================================="<<endl;
  cout<<" |NO| NAMA               | NIM      |"<<endl;
  cout<<" ===================================="<<endl;
  cout<<" |1 | HARIS SYAEFUL AMRI | 13190183 |"<<endl;
  cout<<" |2 | PATAR SAMUEL       | 13190497 |"<<endl;
  cout<<" |3 | IKHWAN HAFIZH      | 13190090 |"<<endl;
  cout<<" |4 | MULYANSYAH YUSUF   | 13190088 |"<<endl;
  cout<<" |5 | SOLIKIN            | 13190515 |"<<endl;
  cout<<" ===================================="<<endl;
  cout<<" KELAS        : 13.1B.07 "<<endl;
  cout<<" JURUSAN      : TEKNIK KOMPUTER "<<endl;
  cout<<" TAHUN AJARAN : 2019/2020 "<<endl;
  cout<<endl;
  cout << "=================================="<<endl;
  cout << "Operasi Pengurangan Matrix\n";
  cout << "=================================="<<endl;
  do
  {
   cout << "Jumlah Baris = "; cin>>baris;
   cout << "Jumlah Kolom = "; cin>>kolom;
  }
  while((baris>10)||(kolom>10));
/*  do
  while(kolom>10);*/
  cout << "\nMatrix A" << endl;
  for(i=0;i<baris;i++)
   for(j=0;j<kolom;j++)
    {
     cout <<"data [" << i << "," << j << "] = ";
     cin>>m1[i][j];
    }
  cout << "\nMatrix B" << endl;
  for(i=0;i<baris;i++)
   for(j=0;j<kolom;j++)
    {
     cout <<"data [" << i << "," << j << "] = ";
     cin>>m2[i][j];
    }
  for(i=0; i<baris;i++)
    for(j=0; j<kolom; j++)
      hasil[i][j] = m1[i][j] - m2[i][j];
  cout << "\nHasilnya..." << endl;
  cout << "Matrix A  -  Matrix B  =  Matrix C";
  for(i=0; i< baris; i++)
   {
    cout<<'\n';
    for(j=0; j<kolom; j++)
     cout << setw(4) << m1[i][j];
     cout << "     ";
    for(j=0; j<kolom; j++)
     cout << setw(4) << m2[i][j];
     cout << "     ";
    for(j=0; j<kolom; j++)
     cout << setw(4) << hasil[i][j];
    cout << endl;
   }
  getch();

}

Output Program :





Logika & Algoritma Tugas Pertemuan 1

SEMESTER 1
LOGIKA & ALGORITMA
TUGAS  PERTEMUAN 1
PERORANGAN

NIM             : 13190183
NAMA         : HARIS SYAEFUL AMRI
KELAS       : 13.1B.07
JURUSAN  : TEKNIK KOMPUTER


Algoritma Mengirimkan email kepada teman dengan asumsi sudah mempunyai alamat email.
1. Mengetahui alamat email teman.
2. Menghidupkan komputer dan menghubungkan ke Internet.
3. Membuka aplikasi browser dan mengetikkan url website penyedia    akun email saya.
4. Log in dengan akun saya.
5. Membuat pesan email baru dengan tujuan email teman tadi,    mengetikan subject, dan mengetikkan body atau isi pesan
6. Mengirimkan pesan, klik "kirim"
7. Notifikasi pengiriman berhasil "pesan telah terkirim".

Algoritma meminjam buku di perpustakaan
1. Datang ke perpus.
2. Mendaftar jadi anggota sebagai syarat untuk meminjam buku.
3. Setelah mendaftar akan dibagi kartu keanggotaan.
4. Pilih beberapa buku yang dibutuhkan.
5. Kemudian bawa buku tersebut ke pengurus perpustakaan.
6. Tunjukan kartu keanggotaan.
7. Pengurus perpus akan mendata buku buku yang akan kita pinjam.
8. Setelah semua pendataan sudah beres, buku sudah bisa di bawa pulang.

Algoritma pada saat membeli buku di toko buku
1. Datang ke toko buku.
2. Mencari dan menyerahkan buku yang sudah kita dipilih ke kasir.
3. Kasir meng input data data buku yang kita pilih sampai muncul "Total Bayar" di monitor pc kasir.
4. Kita bayar sesuai dengan "Total Bayar".
5. Kasir membungkus buku yang sudah kita bayar kemudian menyerahkan struk dan bukunya ke kita
6. Buku kita bawa pulang.