Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "bufio"
- "os"
- )
- type produk struct{
- id int
- nama string
- stok int
- }
- type akun struct{
- username string
- password string
- }
- //Ulos yang terdaftar secara default
- //{id, nama, stok}
- //{1, bintang ulos, 20), {2, bulan ulos, 30}, {3 matahari ulos}
- //Akun yang terdaftar secara default
- //{username, password}
- //{ditenun, adminditenun}, {admin, admin123}
- var produks []produk = []produk {produk{1, "bintang ulos\n", 20}, produk{2, "bulan ulos\n", 30}, produk{3, "matahari ulos\n", 10}}
- var akuns []akun = []akun{akun{"ditenun", "adminditenun"}, akun{"admin", "admin123"}}
- func main(){
- programditenun()
- }
- func programditenun(){
- fmt.Println("=======Selamat datang di D'tenun=======")
- for !login(){
- fmt.Printf("coba masukkan lagi usename dan passwordnya\n")
- }
- display()
- }
- func display(){
- cs:=10
- for cs != 0{
- fmt.Printf("=======Selamat datang di D'tenun=======\n\n")
- fmt.Println("Main Menu:")
- fmt.Println("1) Tampilkan list produk")
- fmt.Println("2) Tampilkan produk dari id")
- fmt.Println("3) Tambahkan produk")
- fmt.Println("4) Update produk")
- fmt.Println("5) Hapus produk")
- fmt.Println("0) EXIT")
- fmt.Printf("Masukkan pilihan anda => ")
- fmt.Scanf("%d", &cs)
- switch cs{
- case 1: tampilprod()
- break
- case 2: prodid()
- break
- case 3: addproduct()
- break
- case 4: updateprod()
- break
- case 5: deleteprod()
- break
- }
- }
- fmt.Println("Terimakasih telah menggunakan aplikasi ini")
- }
- func addproduct(){
- var p1 produk
- consoleReader := bufio.NewReader(os.Stdin)//reader kasus pake space
- fmt.Printf("ID : ")
- fmt.Scanf("%d", &p1.id)
- fmt.Printf("Nama : ")
- p1.nama,_ = consoleReader.ReadString('\n')
- fmt.Printf("Stok : ")
- fmt.Scanf("%d", &p1.stok)
- produks = append(produks, p1)
- }
- func prodid(){
- var id int
- fmt.Printf("Masukkan id produk yang ingin dilihat: ")
- fmt.Scanf("%d", &id)
- for _,p:=range produks{
- if p.id == id{
- fmt.Printf("ID Produk : %d\n", p.id)
- fmt.Printf("Nama Produk : %s", p.nama)
- fmt.Printf("Stok Produk : %d\n", p.stok)
- }
- }
- }
- func deleteprod(){
- var inp string
- var id int
- fmt.Println("Masukkan id produk yang ingin dihapus: ")
- fmt.Scanf("%d", &id)
- for i,p:=range produks{
- if p.id == id{
- fmt.Printf("ID Produk : %d\n", p.id)
- fmt.Printf("Nama Produk : %s", p.nama)
- fmt.Printf("Stok Produk : %d\n", p.stok)
- fmt.Printf("Yakin ingin menghapus data ini? (Y/N): ")
- fmt.Scanf("%s", &inp)
- if(inp == "Y"){
- produks = append(produks[:i], produks[i+1:]...)
- }else{
- break
- }
- }
- }
- }
- func updateprod(){
- var id, nid, nstok int
- var inp string
- var nnama string
- fmt.Println("Masukkan id produk yang ingin diubah: ")
- fmt.Scanf("%d", &id)
- for i,p:=range produks{
- if p.id == id{
- fmt.Printf("ID Produk : %d\n", p.id)
- fmt.Printf("Nama Produk : %s", p.nama)
- fmt.Printf("Stok Produk : %d\n", p.stok)
- fmt.Printf("Yakin ingin mengganti data ini? (Y/N): ")
- fmt.Scanf("%s", &inp)
- if(inp == "Y"){
- consoleReader := bufio.NewReader(os.Stdin)
- fmt.Printf("ID : ")
- fmt.Scanf("%d", &nid)
- fmt.Printf("Nama : ")
- nnama,_ = consoleReader.ReadString('\n')
- fmt.Printf("Stok : ")
- fmt.Scanf("%d", &nstok)
- produks[i] = produk{nid, nnama, nstok}
- }else{
- break
- }
- }
- }
- }
- func login()bool{
- var username string
- var password string
- var input int
- fmt.Printf("Login(1)/Register(2): ")
- fmt.Scanf("%d", &input)
- if(input == 1){
- fmt.Printf("username: ")
- fmt.Scanf("%s", &username)
- fmt.Printf("password: ")
- fmt.Scanf("%s", &password)
- }else{
- auth()
- return false
- }
- for _,p:=range akuns{
- if(p.username == username && p.password == password){
- return true
- }
- }
- return false
- }
- func auth(){
- var username string
- var password string
- fmt.Printf("Masukkan username baru : ")
- fmt.Scanf("%s", &username)
- fmt.Printf("Masukkan password baru : ")
- fmt.Scanf("%s", &password)
- akuns = append(akuns, akun{username, password})
- }
- func tampilprod(){
- if(len(produks) == 0){
- fmt.Printf("**Produk kosong**\n")
- }else{
- for _,p:=range produks {
- fmt.Printf("ID Produk : %d\n", p.id)
- fmt.Printf("Nama Produk : %s", p.nama)
- fmt.Printf("Stok Produk : %d\n", p.stok)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement