Anda di halaman 1dari 35

PEMROGRAMAN BERORIENTASI OBJEK

TUGAS 8

Disusun Oleh:

Rangga Putra 140810200007

M. Keenan Febriansyah 140810200017

Wildan Hanif Musyaffa 140810200051

M. Davio Athallah 140810200063

Dikumpulkan tanggal :
3 November 2021

UNIVERSITAS PADJADJARAN

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

Program Studi Teknik Informatika

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;
}

void setBaris(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;

int main(int argc, char const *argv[])


{
// input via Constructor
cout << ".:: Input Constructor ::." << endl;
cout << "':: ::'" << endl;
Func f1(5);
cout << "Pola degan For" << endl;
f1.printBintangFor();
cout << endl;

cout << "Pola degan While" << endl;


f1.printBintangWhile();

// input via setClass


cout << "\n.:: Input setClass ::." << endl;
cout << "':: ::'" << endl;
Func f2;
f2.setBaris(3);
cout << "Pola dengan For" << endl;
f2.printBintangFor();
cout << "\nPola dengan While" << endl;
f2.printBintangWhile();

// input dari dalam class


cout << "\n.:: Input di dalam Class ::." << endl;
cout << "':: ::'" << endl;
Func f3;
f3.inputData();
f3.printBintangFor();
f3.printBintangWhile();

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();
}

Matriks(int brs, int klm)


{
baris = brs;
kolom = klm;
intialArr();
}

void setBaris(int brs)


{
baris = brs;
}

void setKolom(int klm)


{
kolom = klm;
}

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;

int main(int argc, char const *argv[])


{
// input via constructor
cout << "==============================" << endl;
cout << " Input Constructor " << endl;
cout << "==============================" << endl;
Matriks arr1(3, 3);
arr1.setNilai();
cout << "Bentuk Matriks\t: " << endl;
arr1.getBentukMatriks();
cout << endl;
arr1.getJumlahBaris();
cout << endl;
arr1.getJumlahKolom();

// input via setClass


cout << "\n==============================" << endl;
cout << " Input setClass " << endl;
cout << "==============================" << endl;
Matriks arr2;
arr2.setBaris(2);
arr2.setKolom(1);
arr2.setNilai();
cout << "Bentuk Matriks\t: " << endl;
arr2.getBentukMatriks();
cout << endl;
arr2.getJumlahBaris();
cout << endl;
arr2.getJumlahKolom();

// input dari dalam class


cout << "\n==============================" << endl;
cout << " Input di dalam Class " << endl;
cout << "==============================" << endl;
Matriks arr3;
arr3.inputData();
arr3.setNilai();
arr3.getBentukMatriks();
arr3.getJumlahBaris();
arr3.getJumlahKolom();

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;
}

Waktu(int Jam, int Menit, int Detik)


{
if (Jam > 23 || Menit > 59 || Detik > 59)
{
cout << "Input Salah!";
exit(0);
}
jam = Jam;
menit = Menit;
detik = Detik;
}

void setJam(int Jam)


{
if (Jam > 23)
{
cout << "Input Salah!";
exit(0);
}
jam = Jam;
}

void setMenit(int Menit)


{
if (Menit > 59)
{
cout << "Input Salah!";
exit(0);
}
menit = Menit;
}

void setDetik(int Detik)


{
if (Detik > 59)
{
cout << "Input Salah!";
exit(0);
}
detik = Detik;
}

int getJam()
{
return jam;
}

int getMenit()
{
return menit;
}

int getDetik()
{
return detik;
}

Waktu hitungSelisih(Waktu akhir)


{
Waktu temp;
temp.jam = akhir.jam - jam;
temp.menit = akhir.menit - menit;
if (temp.menit < 0)
{
temp.menit = 60 + temp.menit;
temp.jam--;
}
temp.detik = akhir.detik - detik;
if (temp.detik < 0)
{
temp.detik = abs(temp.detik);
temp.menit--;
if (temp.menit < 0)
{
temp.menit = 60 + temp.menit;
temp.jam--;
}
}
return temp;
}

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"

using namespace std;

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();

cout << '\n';

// Masuk sebelum jam 8 + pulang Sebelum jam 16


SlipGaji slip2 = SlipGaji(2, "Budi");
slip2.setWaktuMasuk(Waktu(6, 30, 0));
slip2.setWaktuPulang(Waktu(15, 30, 0));
slip2.hitungGaji();
slip2.printSlipGaji();

cout << '\n';

// Masuk setelah jam 8 + pulang Setelah jam 16


SlipGaji slip3 = SlipGaji(3, "Chandra");
slip3.setWaktuMasuk(Waktu(9, 30, 0));
slip3.setWaktuPulang(Waktu(17, 30, 0));
slip3.hitungGaji();
slip3.printSlipGaji();

cout << '\n';

// Masuk setelah jam 8 + pulang sebelum jam 16


SlipGaji slip4 = SlipGaji(4, "Deni");
slip4.setWaktuMasuk(Waktu(11, 45, 0));
slip4.setWaktuPulang(Waktu(15, 30, 0));
slip4.hitungGaji();
slip4.printSlipGaji();

cout << '\n';


}

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;
}

void titikTengah(Koordinat p1, Koordinat p2)


{
x = (p1.x + p2.x) / 2;
y = (p1.y + p2.y) / 2;

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;

int main(int argc, char const *argv[])


{
// Input via construktor
Koordinat p1(2, 4);
Koordinat p2(1, 2);
Koordinat p3;

cout << "-----------" << endl;


cout << "Titik 1 & 2" << endl;
cout << "-----------" << endl;
cout << "Titik 1\t\t\t: (" << p1.getX() << "," << p1.getY() << ")" <<
endl;
cout << "Titik 2\t\t\t: (" << p2.getX() << "," << p2.getY() << ")" <<
endl;
p3.titikTengah(p1, p2);
cout << "-------------------\n";
cout << "Pencerminan Titik 1" << endl;
p1.pencerminanX(p1);

cout << "-------------------\n";


cout << "Pencerminan Titik 2" << endl;
p2.pencerminanY(p2);

// Input via setClass


Koordinat p4;
Koordinat p5;
Koordinat p6;

p4.setX(2);
p4.setY(10);

p5.setX(4);
p5.setY(2);

cout << "\n\n-----------" << endl;


cout << "Titik 3 & 4" << endl;
cout << "-----------" << endl;
cout << "Titik 3\t\t\t: (" << p4.getX() << "," << p4.getY() << ")" <<
endl;
cout << "Titik 4\t\t\t: (" << p5.getX() << "," << p5.getY() << ")" <<
endl;
p6.titikTengah(p4, p5);
cout << "-------------------\n";
cout << "Pencerminan Titik 3" << endl;
p4.pencerminanY(p4);

cout << "-------------------\n";


cout << "Pencerminan Titik 4" << endl;
p5.pencerminanX(p5);

// Input didalam Class


Koordinat p7;
Koordinat p8;
Koordinat p9;

cout << "\n\n-----------" << endl;


cout << "Titik 5 & 6" << endl;
cout << "-----------" << endl;
cout << "Input Titik 5" << endl;
p7.inputData();
cout << "-------------------\n";
cout << "Input Titik 6" << endl;
p8.inputData();
cout << "-------------------\n";
cout << "Titik 5\t\t\t: (" << p7.getX() << "," << p7.getY() << ")" <<
endl;
cout << "Titik 6\t\t\t: (" << p8.getX() << "," << p8.getY() << ")" <<
endl;
p9.titikTengah(p7, p8);
cout << "-------------------\n";
cout << "Pencerminan Titik 5" << endl;
p7.pencerminanX(p7);

cout << "-------------------\n";


cout << "Pencerminan Titik 6" << endl;
p8.pencerminanY(p8);

return 0;
}

Output:
Dalam Bahasa Python

1. No. 1 Python

# Nama Program : Func.py


# Anggota Kelompok: Rangga Putra
# M. Davio A.
# Wildan Hanif M.
# Keenan
# Deskripsi : OOP Pola

# ---------------------------------- 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: "))

# Nama Program : Main.py


# Anggota Kelompok: Rangga Putra
# M. Davio A.
# Wildan Hanif M.
# Keenan
# Deskripsi : OOP Pola

from Func import Func

# ---------------------------------------------- MAIN
# input via construktor
print(".:: Input Constructor ::.")
print("':: ::'")
func1 = Func(4)
print("Bintang Dengan For")
func1.printBintangFor()
print("\nBintang Dengan While")
func1.printBintangWhile()

# input via setClass


print("\n.:: Input setClass ::.")
print("':: ::'")
func2 = Func(0)
print("Bintang Dengan For")
func2.setBaris(3)
func2.printBintangFor()
print("\nBintang Dengan While")
func2.printBintangWhile()

# input didalam class


print("\n.:: Input di dalam Class ::.")
print("':: ::'")
func3 = Func(0)
func3.inputData()
print("Bintang Dengan For")
func3.printBintangFor()
print("\nBintang Dengan While")
func3.printBintangWhile()

Output:
2. No.2 Python

# Nama Program : Func.py


# Anggota Kelompok: Rangga Putra
# M. Davio K.
# Wildan Hanif M.
# Keen
# Deskripsi : OOP Matriks

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 setBaris(self, Baris):


self.__baris = Baris

def setKolom(self, Kolom):


self.__kolom = Kolom

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]

for i in range(0, self.__baris):


print("Baris " + str(i+1) + ":\t " + str(temp[i]))

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]

for i in range(0, self.__kolom):


print("Kolom " + str(i+1) + ":\t " + str(temp[i]))

# Nama Program : Main.py


# Anggota Kelompok: Rangga Putra
# M. Davio A.
# Wildan Hanif M.
# Keen
# Deskripsi : OOP Matriks
from Func import Matriks

# ---------------------------------------- MAIN

# input via Construktor


m1 = Matriks(3, 3)
m1.inputArr()
print("\nOutput")
m1.bentukMatriks()
print("Jumlah Baris > ")
m1.jumlahBaris()
print("Jumlah Kolom > ")
m1.jumlahKolom()

Output:
3. No. 3 Python

# Nama Program : Func1.py


# Anggota Kelompok: Rangga Putra
# M. Davio A.
# Wildan Hanif M.
# Keen
# Deskripsi : OOP Slip Gaji

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

def setJam(self, Jam):


if(Jam > 23):
print("Input Salah!")

self.__jam = Jam

def setMenit(self, Menit):


if(Menit > 59):
print("Input Salah!")

self.__menit = Menit

def setDetik(self, Detik):


if(Detik > 59):
print("Input Salah!")

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"))

if (self.__jam >= 24 and ((self.__menit > 0 or self.__menit < 0)


or (self.__detik > 0 or self.__detik < 0))):
print("error!")
elif (self.__jam < 24 and ((self.__menit < 0 or self.__menit > 60)
or (self.__detik < 0 or self.__detik > 60))):
print("error!")
elif (self.__jam < 0):
print("error!")
else:
break

def konversiKeDetik(self):
return (self.__jam*3600) + (self.__menit*60) + self.__detik

def hitungSelisih(self, waktuM, waktuP):


selisih = (waktuP.konversiKeDetik() - waktuM.konversiKeDetik())
self.__jam = selisih // 3600
self.__menit = selisih % 3600 // 60
self.__detik = selisih % 60

return Waktu(self.__jam, self.__menit, 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

from Func1 import Waktu

class SlipGaji:
def __init__(self, KodePeg, NamaPeg):
self.__kodePeg = KodePeg
self.__namaPeg = NamaPeg

def setWaktuMasuk(self, WaktuM):


self.__waktuM = WaktuM

def setWaktuPulang(self, WaktuP):


self.__waktuP = WaktuP

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()

if(self.__waktuP.getJam() < self.__waktuM.getJam()):


print("Waktu pulang harus lebih dari waktu masuk !")

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)

self.__gaji = self.__lamaKerja.getJam() * 50000

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))

# Nama Program : Main.py


# Anggota Kelompok: Rangga Putra
# M. Davio A.
# Wildan Hanif M.
# Keen
# Deskripsi : OOP Slip Gaji

from Func2 import SlipGaji


from Func1 import Waktu

# -------------------------------------------------------------------------
MAIN

# Input via Construktor


pegawai1 = SlipGaji(140810200001, "Rhommel Malik Kusnadi")
pegawai1.setWaktuMasuk(Waktu(7, 30, 0))
pegawai1.setWaktuPulang(Waktu(17, 30, 0))
pegawai1.gaji()
pegawai1.printGaji()
pegawai2 = SlipGaji(140810200007, "Rangga Putra")
pegawai2.setWaktuMasuk(Waktu(6, 30, 0))
pegawai2.setWaktuPulang(Waktu(15, 30, 0))
pegawai2.gaji()
pegawai2.printGaji()

pegawai3 = SlipGaji(140810200061, "Kentung Putra")


pegawai3.setWaktuMasuk(Waktu(9, 30, 0))
pegawai3.setWaktuPulang(Waktu(17, 30, 0))
pegawai3.gaji()
pegawai3.printGaji()

pegawai4 = SlipGaji(140810200051, "Wildan Putra")


pegawai4.setWaktuMasuk(Waktu(11, 45, 0))
pegawai4.setWaktuPulang(Waktu(15, 30, 0))
pegawai4.gaji()
pegawai4.printGaji()

Output:

4. No. 4 Python

# Nama Program : Main.py


# Anggota Kelompok: Rangga Putra
# M. Davio K.
# Wildan Hanif M.
# Keenan
# Deskripsi : OOP Koordinat

# 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: "))

self.__y = int(input("NIlai Y\t: "))

def setX(self, X):


self.__x = X

def setY(self, Y):


self.__y = Y

def getX(self):
return self.__x

def getY(self):
return self.__y

def titikTengah(self, x1, x2, y1, y2):


self.__x = (x1 + x2)/2
self.__y = (y1 + y2)/2

print("Titik Tengah\t: (" + str(self.__x) + "," + str(self.__y) + ")")

def pencerMinanX(self, p):


self.__x = p.x
self.__y = -1*p.y

print("Pencerminan Sumbu-X\t: (" + self.__x + "," + self.__y + ")")

def pencerminanY(self, p):


self.__x = -1*p.x
self.__y = p.y

#-----------------------------------------------------------------------------
----- Main

# Input via Constructor


func1 = Koordinat(1, 2)
func2 = Koordinat(3, 4)
func3 = Koordinat(0, 0)
func3.titikTengah(func1.getX(), func2.getX(), func1.getY(), func2.getY())

# Input via setClass


func4 = Koordinat(0, 0)
func5 = Koordinat(0, 0)
func6 = Koordinat(0, 0)
func4.setX(3)
func4.setY(5)
func5.setX(10)
func5.setY(12)
func6.titikTengah(func4.getX(), func5.getX(), func4.getY(), func5.getY())

# Input didalam Class


func7 = Koordinat(0, 0)
func8 = Koordinat(0, 0)
func9 = Koordinat(0, 0)
func7.inputKoordinat()
func8.inputKoordinat()
func9.titikTengah(func7.getX(), func8.getX(), func7.getY(), func8.getY())

Output:
Bukti saat diskusi pertemuan 1 melalui Gmeet:

Awal :

Akhir:

Bukti saat diskusi pertemuan 2 melalui Gmeet:

Awal:
Akhir:

Anda mungkin juga menyukai