diff --git a/cmd2/main.go b/cmd2/main.go new file mode 100644 index 0000000..730d509 --- /dev/null +++ b/cmd2/main.go @@ -0,0 +1,58 @@ +package main + +import ( + "fmt" + "git.proximination.com/pclatihan/wstempl/model" + "github.com/brianvoe/gofakeit/v7" +) + +type Makhlukhidup interface { + Getnama() string + Getumur() int + Getberat() int + Gettinggi() int + Gethobi() string + Getwarna() string +} + +func FakeMurid() model.Murid { + gofakeit.Seed(0) + return model.NewMurid( + gofakeit.Name(), + gofakeit.Number(10, 18), + gofakeit.Number(40, 100), + gofakeit.Number(145, 200), + gofakeit.Hobby(), + gofakeit.Color(), + ) +} + +func FakeGuru() model.Guru { + gofakeit.Seed(0) + return model.NewGuru( + gofakeit.Name(), + gofakeit.Number(10, 18), + gofakeit.Number(40, 100), + gofakeit.Number(145, 200), + gofakeit.Hobby(), + gofakeit.Color(), + ) +} + +func cetak(m Makhlukhidup) { + fmt.Println("Nama :", m.Getnama()) + fmt.Println("Umur :", m.Getumur()) + fmt.Println("Berat :", m.Getberat()) + fmt.Println("Tinggi :", m.Gettinggi()) + fmt.Println("Hobi :", m.Gethobi()) + fmt.Println("Warna :", m.Getwarna()) +} + +func main() { + m := FakeMurid() + g := FakeGuru() + + cetak(m) + fmt.Println() + cetak(g) +} diff --git a/model/guru.go b/model/guru.go new file mode 100644 index 0000000..6474022 --- /dev/null +++ b/model/guru.go @@ -0,0 +1,43 @@ +package model + +type Guru struct { + Nama string + Umur int + Berat int + Tinggi int + Hobi string + Warnafavorit string +} + +func NewGuru(nama string, umur int, tinggi int, berat int, hobi string, warnafavorit string) Guru { + return Guru{ + Nama: nama, + Umur: umur, + Berat: berat, + Tinggi: tinggi, + Hobi: hobi, + Warnafavorit: warnafavorit, + } +} + +func (g Guru) Getnama() string { + return g.Nama +} +func (g Guru) Getumur() int { + return g.Umur +} + +func (g Guru) Getberat() int { + return g.Berat +} + +func (g Guru) Gettinggi() int { + return g.Tinggi +} +func (g Guru) Gethobi() string { + return g.Hobi +} + +func (g Guru) Getwarna() string { + return g.Warnafavorit +} \ No newline at end of file diff --git a/model/murid.go b/model/murid.go new file mode 100644 index 0000000..48451db --- /dev/null +++ b/model/murid.go @@ -0,0 +1,44 @@ +package model + +type Murid struct { + Nama string + Umur int + Berat int + Tinggi int + Hobi string + Warnafavorit string +} + +func NewMurid(nama string, umur int, berat int, tinggi int, hobi string, warnafavorit string) Murid { + return Murid{ + Nama: nama, + Umur: umur, + Berat: berat, + Tinggi: tinggi, + Hobi: hobi, + Warnafavorit: warnafavorit, + } +} + +func (m Murid) Getnama() string { + return m.Nama +} + +func (m Murid) Getumur() int { + return m.Umur +} + +func (m Murid) Getberat() int { + return m.Berat +} + +func (m Murid) Gettinggi() int { + return m.Tinggi +} +func (m Murid) Gethobi() string { + return m.Hobi +} + +func (m Murid) Getwarna() string { + return m.Warnafavorit +}