TUGAS 8
Disusun Oleh:
Dikumpulkan tanggal :
3 November 2021
UNIVERSITAS PADJADJARAN
2021
Dalam Bahasa C++
1. No. 1 C++
/*
Nama Program : Func.cpp
Anggota Kelompok: Rangga Putra
M. Davio A.
Wildan Hanif M.
Keenan
Deskripsi : OOP Pola Segitiga
*/
#include <iostream>
using namespace std;
class Func
{
private:
int baris;
public:
Func()
{
baris = 4;
}
Func(int brs)
{
baris = brs;
}
int getBaris()
{
return baris;
}
void printBintangFor()
{
for (int i = 0; i < baris; i++)
{
cout << i + 1 << ". ";
for (int j = 0; j < baris; j++)
{
if (i <= j)
{
cout << "*";
}
else
{
cout << " ";
}
}
cout << endl;
}
}
void printBintangWhile()
{
int i = 0;
while (i < baris)
{
cout << i + 1 << ". ";
int j = 0;
while (j < baris)
{
if (j < i)
{
cout << " ";
}
else
{
cout << "*";
}
j++;
}
cout << endl;
i++;
}
}
void inputData()
{
cout << "Input dari dalam class" << endl;
cout << "Masukkan Banyak Baris = ";
cin >> baris;
}
};
/*
Nama Program : Main.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Deskripsi : OOP Pola Segitiga
*/
#include <iostream>
#include "Func.cpp"
using namespace std;
return 0;
}
Output :
2. No. 2 C++
/*
Nama Program : Main.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Keenan
Deskripsi : OOP Matriks
*/
#include <iostream>
using namespace std;
class Matriks
{
private:
int baris;
int kolom;
int Arr[10][10];
void intialArr()
{
for (int i = 0; i < 10; i++)
{
Arr[i][i] = 0;
}
}
public:
Matriks()
{
baris = 0;
kolom = 0;
intialArr();
}
void setNilai()
{
for (int i = 0; i < baris; i++)
{
for (int j = 0; j < kolom; j++)
{
cout << "Masukkan isi indeks baris ke " << i + 1 << " kolom ke
" << j + 1 << " = ";
cin >> Arr[i][j];
}
}
}
void getBentukMatriks()
{
for (int i = 0; i < baris; i++)
{
for (int j = 0; j < kolom; j++)
{
cout << Arr[i][j] << " ";
}
cout << endl;
}
}
void getJumlahBaris()
{
int temp[10] = {0};
for (int i = 0; i < baris; i++)
{
for (int j = 0; j < kolom; j++)
{
temp[i] += Arr[i][j];
}
}
cout << "Jumlah Baris\t: " << endl;
for (int i = 0; i < baris; i++)
{
cout << "Baris " << i + 1 << " : " << temp[i] << endl;
}
}
void getJumlahKolom()
{
int temp[10] = {0};
for (int i = 0; i < kolom; i++)
{
for (int j = 0; j < baris; j++)
{
temp[i] += Arr[j][i];
}
}
cout << "Jumlah Kolom\t: " << endl;
for (int i = 0; i < baris; i++)
{
cout << "Kolom " << i + 1 << ":" << temp[i] << endl;
}
}
void inputData()
{
cout << "Input dari dalam Class" << endl;
cout << "Masukkan Banyak Baris = ";
cin >> baris;
cout << "Masukkan Banyak Kolom = ";
cin >> kolom;
}
};
/*
Nama Program : Main.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Keenan
Deskripsi : OOP Matriks
*/
#include <iostream>
#include "Func.cpp"
using namespace std;
return 0;
}
Output :
3. No.3 C++
/*
Nama Program : Func1.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Keenan
Wildan Hanif M.
Deskripsi : OOP Slip Gaji
*/
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
class Waktu
{
private:
int jam;
int menit;
int detik;
public:
Waktu()
{
jam = 0;
menit = 0;
detik = 0;
}
int getJam()
{
return jam;
}
int getMenit()
{
return menit;
}
int getDetik()
{
return detik;
}
string toString()
{
return to_string(jam) + ":" + to_string(menit) + ":" +
to_string(detik);
}
string printWaktu()
{
return to_string(jam) + " jam " + to_string(menit) + " menit " +
to_string(detik) + " detik";
}
};
/*
Nama Program : Func2.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Keenan
Deskripsi : OOP Slip Gaji
*/
#include <iostream>
#include <cmath>
#include <string>
#include "Func1.cpp"
class SlipGaji
{
private:
int kodePeg;
string namaPeg;
Waktu waktuM;
Waktu waktuP;
Waktu lamaKerja;
int gaji;
bool validasiWaktuPulang(Waktu w)
{
if (w.getJam() < waktuM.getJam())
{
return false;
}
else if (w.getJam() == waktuM.getJam())
{
if (w.getMenit() < waktuM.getMenit())
{
return false;
}
else if (w.getMenit() == waktuM.getMenit())
{
if (w.getDetik() < waktuM.getDetik())
{
return false;
}
}
}
return true;
}
public:
SlipGaji(int kode, string nama)
{
kodePeg = kode;
namaPeg = nama;
}
void setWaktuMasuk(Waktu w)
{
waktuM = w;
}
void setWaktuPulang(Waktu w)
{
if (validasiWaktuPulang(w))
{
waktuP = w;
}
else
{
cout << "Input waktu Pulang salah!";
exit(0);
}
}
void hitungGaji()
{
lamaKerja = Waktu();
if (waktuM.getJam() < 8 && waktuP.getJam() > 16)
{
lamaKerja.setJam(8);
}
else if (waktuM.getJam() < 8 && waktuP.getJam() < 16)
{
lamaKerja = Waktu(8, 0, 0).hitungSelisih(waktuP);
}
else if (waktuM.getJam() > 8 && waktuP.getJam() > 16)
{
lamaKerja = waktuM.hitungSelisih(Waktu(16, 0, 0));
}
else if (waktuM.getJam() > 8 && waktuP.getJam() < 16)
{
lamaKerja = waktuM.hitungSelisih(waktuP);
}
gaji = lamaKerja.getJam() * 50000;
}
void printSlipGaji()
{
cout << "-------------------" << endl;
cout << "---- SLIP GAJI ----" << endl;
cout << "-------------------" << endl;
cout << "KodePegawai\t: " << kodePeg << endl;
cout << "Nama\t\t: " << namaPeg << endl;
cout << "Jam Masuk\t: " << waktuM.toString() << endl;
cout << "Jam Pulang\t: " << waktuP.toString() << endl;
cout << "Lama Kerja\t: " << lamaKerja.toString() << endl;
cout << "Gaji\t\t: Rp." << gaji << endl;
}
};
/*
Nama Program : Main.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Keenan
Deskripsi : OOP Slip Gaji
*/
#include <iostream>
#include <cmath>
#include <string>
#include "Func2.cpp"
using namespace std;
int main()
{
// Masuk sebelum jam 8 + pulang Setelah jam 16
SlipGaji slip1 = SlipGaji(1, "Andi");
slip1.setWaktuMasuk(Waktu(7, 30, 0));
slip1.setWaktuPulang(Waktu(17, 30, 0));
slip1.hitungGaji();
slip1.printSlipGaji();
Output:
4. No. 4 C++
/*
Nama Program : Func.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Keenan
Deskripsi : OOP Koordinat
*/
#include <iostream>
using namespace std;
class Koordinat
{
private:
float x;
float y;
public:
Koordinat()
{
x = 0;
y = 0;
}
Koordinat(float X, float Y)
{
x = X;
y = Y;
}
void setX(float X)
{
x = X;
}
void setY(float Y)
{
y = Y;
}
float getX()
{
return x;
}
float getY()
{
return y;
}
void pencerminanX(Koordinat p)
{
x = p.x;
y = -1 * p.y;
cout << "Pencerminan Sumbu-X\t: (" << x << "," << y << ")" << endl;
}
void pencerminanY(Koordinat p)
{
x = -1 * p.x;
y = p.y;
cout << "Pencerminan Sumbu-Y\t: (" << x << "," << y << ")" << endl;
}
cout << "Titik Tengah \t\t: (" << x << "," << y << ")" << endl;
}
void inputData()
{
cout << "Nilai x\t: ";
cin >> x;
cout << "Nilai y\t: ";
cin >> y;
}
};
/*
Nama Program : Main.cpp
Anggota Kelompok: Rangga Putra
M. Davio K.
Wildan Hanif M.
Keenan
Deskripsi : OOP Koordinat
*/
#include <iostream>
#include "Func.cpp"
using namespace std;
p4.setX(2);
p4.setY(10);
p5.setX(4);
p5.setY(2);
return 0;
}
Output:
Dalam Bahasa Python
1. No. 1 Python
# ---------------------------------- Class
class Func:
# Constructor
def __init__(self, baris):
self.__baris = baris
# Method
def setBaris(self, baris):
self.__baris = baris
def getBaris(self):
return self.__baris
def printBintangFor(self):
for i in range(0, self.__baris):
print(str(i+1) + '.', end='')
for j in range(0, self.__baris):
if(i <= j):
print('*', end='')
else:
print(' ', end='')
print('')
def printBintangWhile(self):
i = 0
while i < self.__baris:
print(str(i+1) + '.', end='')
j = 0
while j < self.__baris:
if(j < i):
print(' ', end='')
else:
print('*', end='')
j += 1
print('')
i += 1
def inputData(self):
self.__baris = int(input("Banyak Baris\t: "))
# ---------------------------------------------- MAIN
# input via construktor
print(".:: Input Constructor ::.")
print("':: ::'")
func1 = Func(4)
print("Bintang Dengan For")
func1.printBintangFor()
print("\nBintang Dengan While")
func1.printBintangWhile()
Output:
2. No.2 Python
class Matriks:
# Construktor
def __init__(self, baris=3, kolom=3, arr=[]):
self.__baris = baris
self.__kolom = kolom
self.__arr = arr
# Method
def setMatriks(self, Arr, Baris, Kolom):
self.__baris = Baris
self.__kolom = Kolom
self.__arr = Arr
def getBaris(self):
return self.__baris
def getKolom(self):
return self.__kolom
def inputArr(self):
for i in range(self.__baris):
row = []
for j in range(self.__kolom):
row.append(
int(input("Masukkan Nilai [" + str(i+1) + "][" + str(j+1)
+ "]\t: ")))
self.__arr.append(row)
def bentukMatriks(self):
for i in self.__arr:
for j in i:
print(str(j) + " ", end='')
print()
def jumlahBaris(self):
temp = []
for i in range(0, self.__baris):
temp.append(0)
for j in range(0, self.__kolom):
temp[i] += self.__arr[i][j]
def jumlahKolom(self):
temp = []
for i in range(0, self.__baris):
temp.append(0)
for j in range(0, self.__kolom):
temp[i] += self.__arr[j][i]
# ---------------------------------------- MAIN
Output:
3. No. 3 Python
class Waktu:
def __init__(self, Jam, Menit, Detik):
if(Jam > 23 or Menit > 59 or Detik > 59):
print("Input Salah!")
self.__jam = Jam
self.__menit = Menit
self.__detik = Detik
self.__jam = Jam
self.__menit = Menit
self.__detik = Detik
def getJam(self):
return self.__jam
def getMenit(self):
return self.__menit
def getDetik(self):
return self.__detik
def inputWaktu(self):
while True:
self.__jam = int(input("Jam\t: "))
self.__menit = int(input("Menit\t: "))
self.__detik = int(input("Detik"))
def konversiKeDetik(self):
return (self.__jam*3600) + (self.__menit*60) + self.__detik
def printWaktu(self):
return str(self.__jam) + ':' + str(self.__menit) + ':' +
str(self.__detik)
def printLamaKerja(self):
return str(self.__jam) + ' jam ' + str(self.__menit) + ' menit ' +
str(self.__detik) + ' detik'
# Nama Program : Func2.py
# Anggota Kelompok: Rangga Putra
# M. Davio A.
# Wildan Hanif M.
# Keen
# Deskripsi : OOP Slip Gaji
class SlipGaji:
def __init__(self, KodePeg, NamaPeg):
self.__kodePeg = KodePeg
self.__namaPeg = NamaPeg
def getWaktuMasuk(self):
return self.__waktuM
def getWaktuPulang(self):
return self.__waktuP
def inputData(self):
while True:
self.__kodePeg = int(input("Kode Pegawai\t: "))
self.__namaPeg = int(input("Nama Pegawai\t: "))
self.__waktuM.inputWaktu()
self.__waktuP.inputWaktu()
elif(self.__waktuP.getJam() == self.__waktuM.getJam):
if(self.__waktuP.getMenit() < self.__waktuM.getMenit()):
print("Waktu pulang harus lebih dari waktu masuk !")
elif(self.__waktuP.getMenit() < self.__waktuM.getMenit()):
if(self.__waktuP.getDetik() < self.__waktuM.getDetik()):
print("Waktu pulang harus lebih dari waktu masuk !")
elif(self.__waktuP.getDetik() >=
self.__waktuM.getDetik()):
break
else:
break
def gaji(self):
self.__lamaKerja = Waktu(0, 0, 0)
if(self.__waktuM.getJam() < 8 and self.__waktuP.getJam() >= 16):
self.__lamaKerja.setJam(8)
elif(self.__waktuM.getJam() < 8 and self.__waktuP.getJam() < 16):
self.__lamaKerja.hitungSelisih(Waktu(8, 0, 0), self.__waktuP)
elif(self.__waktuM.getJam() >= 8 and self.__waktuP.getJam() >= 16):
self.__lamaKerja.hitungSelisih(self.__waktuM, Waktu(16, 0, 0))
elif(self.__waktuM.getJam() >= 8 and self.__waktuP.getJam() < 16):
self.__lamaKerja.hitungSelisih(self.__waktuM, self.__waktuP)
def printGaji(self):
print("Kode Pegawai\t: " + str(self.__kodePeg))
print("Nama Pegawai\t: " + str(self.__namaPeg))
print("Waktu Masuk\t: " + str(self.__waktuM.printWaktu()))
print("Waktu Pulang\t: " + str(self.__waktuP.printWaktu()))
print("Lama Kerja\t: " + str(self.__lamaKerja.printLamaKerja()))
print("Gaji\t\t: Rp." + str(self.__gaji))
# -------------------------------------------------------------------------
MAIN
Output:
4. No. 4 Python
# Class
class Koordinat:
# Constructor
def __init__(self, X, Y):
self.__x = X
self.__y = Y
# Method
def inputKoordinat(self):
self.__x = int(input("Nilai X\t: "))
def getX(self):
return self.__x
def getY(self):
return self.__y
#-----------------------------------------------------------------------------
----- Main
Output:
Bukti saat diskusi pertemuan 1 melalui Gmeet:
Awal :
Akhir:
Awal:
Akhir: