Advertisement
Guest User

Untitled

a guest
Mar 15th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "bufio"
  6. "os"
  7. )
  8.  
  9. type produk struct{
  10. id int
  11. nama string
  12. stok int
  13. }
  14.  
  15. type akun struct{
  16. username string
  17. password string
  18. }
  19.  
  20. //Ulos yang terdaftar secara default
  21. //{id, nama, stok}
  22. //{1, bintang ulos, 20), {2, bulan ulos, 30}, {3 matahari ulos}
  23.  
  24. //Akun yang terdaftar secara default
  25. //{username, password}
  26. //{ditenun, adminditenun}, {admin, admin123}
  27.  
  28. var produks []produk = []produk {produk{1, "bintang ulos\n", 20}, produk{2, "bulan ulos\n", 30}, produk{3, "matahari ulos\n", 10}}
  29. var akuns []akun = []akun{akun{"ditenun", "adminditenun"}, akun{"admin", "admin123"}}
  30.  
  31. func main(){
  32.  
  33. programditenun()
  34.  
  35. }
  36.  
  37. func programditenun(){
  38.  
  39. fmt.Println("=======Selamat datang di D'tenun=======")
  40.  
  41. for !login(){
  42. fmt.Printf("coba masukkan lagi usename dan passwordnya\n")
  43. }
  44. display()
  45. }
  46.  
  47. func display(){
  48. cs:=10
  49.  
  50. for cs != 0{
  51.  
  52. fmt.Printf("=======Selamat datang di D'tenun=======\n\n")
  53. fmt.Println("Main Menu:")
  54. fmt.Println("1) Tampilkan list produk")
  55. fmt.Println("2) Tampilkan produk dari id")
  56. fmt.Println("3) Tambahkan produk")
  57. fmt.Println("4) Update produk")
  58. fmt.Println("5) Hapus produk")
  59. fmt.Println("0) EXIT")
  60. fmt.Printf("Masukkan pilihan anda => ")
  61. fmt.Scanf("%d", &cs)
  62.  
  63. switch cs{
  64. case 1: tampilprod()
  65. break
  66. case 2: prodid()
  67. break
  68. case 3: addproduct()
  69. break
  70. case 4: updateprod()
  71. break
  72. case 5: deleteprod()
  73. break
  74. }
  75. }
  76.  
  77. fmt.Println("Terimakasih telah menggunakan aplikasi ini")
  78. }
  79.  
  80.  
  81. func addproduct(){
  82. var p1 produk
  83. consoleReader := bufio.NewReader(os.Stdin)//reader kasus pake space
  84. fmt.Printf("ID : ")
  85. fmt.Scanf("%d", &p1.id)
  86. fmt.Printf("Nama : ")
  87. p1.nama,_ = consoleReader.ReadString('\n')
  88. fmt.Printf("Stok : ")
  89. fmt.Scanf("%d", &p1.stok)
  90.  
  91. produks = append(produks, p1)
  92.  
  93. }
  94.  
  95. func prodid(){
  96. var id int
  97.  
  98. fmt.Printf("Masukkan id produk yang ingin dilihat: ")
  99. fmt.Scanf("%d", &id)
  100.  
  101. for _,p:=range produks{
  102. if p.id == id{
  103. fmt.Printf("ID Produk : %d\n", p.id)
  104. fmt.Printf("Nama Produk : %s", p.nama)
  105. fmt.Printf("Stok Produk : %d\n", p.stok)
  106. }
  107. }
  108. }
  109.  
  110. func deleteprod(){
  111. var inp string
  112. var id int
  113. fmt.Println("Masukkan id produk yang ingin dihapus: ")
  114. fmt.Scanf("%d", &id)
  115.  
  116. for i,p:=range produks{
  117. if p.id == id{
  118. fmt.Printf("ID Produk : %d\n", p.id)
  119. fmt.Printf("Nama Produk : %s", p.nama)
  120. fmt.Printf("Stok Produk : %d\n", p.stok)
  121.  
  122. fmt.Printf("Yakin ingin menghapus data ini? (Y/N): ")
  123. fmt.Scanf("%s", &inp)
  124. if(inp == "Y"){
  125. produks = append(produks[:i], produks[i+1:]...)
  126. }else{
  127. break
  128. }
  129. }
  130. }
  131. }
  132.  
  133. func updateprod(){
  134. var id, nid, nstok int
  135. var inp string
  136. var nnama string
  137. fmt.Println("Masukkan id produk yang ingin diubah: ")
  138. fmt.Scanf("%d", &id)
  139.  
  140. for i,p:=range produks{
  141. if p.id == id{
  142. fmt.Printf("ID Produk : %d\n", p.id)
  143. fmt.Printf("Nama Produk : %s", p.nama)
  144. fmt.Printf("Stok Produk : %d\n", p.stok)
  145.  
  146. fmt.Printf("Yakin ingin mengganti data ini? (Y/N): ")
  147. fmt.Scanf("%s", &inp)
  148. if(inp == "Y"){
  149. consoleReader := bufio.NewReader(os.Stdin)
  150. fmt.Printf("ID : ")
  151. fmt.Scanf("%d", &nid)
  152. fmt.Printf("Nama : ")
  153. nnama,_ = consoleReader.ReadString('\n')
  154. fmt.Printf("Stok : ")
  155. fmt.Scanf("%d", &nstok)
  156. produks[i] = produk{nid, nnama, nstok}
  157. }else{
  158. break
  159. }
  160. }
  161. }
  162.  
  163. }
  164.  
  165. func login()bool{
  166. var username string
  167. var password string
  168. var input int
  169. fmt.Printf("Login(1)/Register(2): ")
  170. fmt.Scanf("%d", &input)
  171. if(input == 1){
  172. fmt.Printf("username: ")
  173. fmt.Scanf("%s", &username)
  174. fmt.Printf("password: ")
  175. fmt.Scanf("%s", &password)
  176. }else{
  177. auth()
  178. return false
  179. }
  180.  
  181. for _,p:=range akuns{
  182. if(p.username == username && p.password == password){
  183. return true
  184. }
  185. }
  186. return false
  187. }
  188.  
  189. func auth(){
  190. var username string
  191. var password string
  192. fmt.Printf("Masukkan username baru : ")
  193. fmt.Scanf("%s", &username)
  194. fmt.Printf("Masukkan password baru : ")
  195. fmt.Scanf("%s", &password)
  196. akuns = append(akuns, akun{username, password})
  197. }
  198.  
  199.  
  200. func tampilprod(){
  201.  
  202. if(len(produks) == 0){
  203. fmt.Printf("**Produk kosong**\n")
  204. }else{
  205. for _,p:=range produks {
  206. fmt.Printf("ID Produk : %d\n", p.id)
  207. fmt.Printf("Nama Produk : %s", p.nama)
  208. fmt.Printf("Stok Produk : %d\n", p.stok)
  209. }
  210. }
  211. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement