Advertisement
sabdas4869

Iba Tubes

Nov 17th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.53 KB | None | 0 0
  1. package main
  2. import "fmt"
  3.  
  4. type identitasmahasiswa struct {
  5. nama string
  6. kelas string
  7. nim string
  8. judul string
  9. pemb string
  10. peng string
  11. }
  12. var menu int
  13. var data []identitasmahasiswa
  14.  
  15. func main (){
  16. menu = 99
  17. for menu != 0 {
  18. fmt.Print("(INPUT 0 UNTUK KELUAR MENU)\nAplikasi Repositori Data Tugas Besar Mahasiswa\nInsert(1) View(2)\n--> ")
  19. menuF()
  20. if menu == 1 {
  21. ins()
  22. } else if menu == 2 {
  23. fmt.Print("Edit(1) Delete(2) Find(3) Sort(4)\n--> ")
  24. view()
  25. switch menu {
  26. case 1 : edit()
  27. case 2 : del()
  28. case 3 : find()
  29. case 4 : sort()
  30. }
  31. }
  32. fmt.Println("END PROGRAM")
  33. }
  34.  
  35. }
  36.  
  37. func ins (){
  38. var nam, kls, nom, jud, pem, pen string
  39. fmt.Print("Nim\n --> ")
  40. fmt.Scan(&nom)
  41. for i, _:=range data {
  42. if data[i].nim == nom {
  43. fmt.Println("Nim sudah terdaftar")
  44. return
  45. }
  46. }
  47. fmt.Print("Input data Mahasiswa baru\nInput Nama Mahasiswa\n--> ") //Diminta satu satu agar tidak salah input
  48. fmt.Scan(&nam)
  49. fmt.Print("Kelas\n--> ")
  50. fmt.Scan(&kls)
  51. fmt.Print("Judul_Tugas\n--> ")
  52. fmt.Scan(&jud)
  53. fmt.Print("Nama_Pembimbing\n--> ")
  54. fmt.Scan(&pem)
  55. fmt.Print("Nama_Penguji\n--> ")
  56. fmt.Scan(&pen)
  57. x:=identitasmahasiswa{nama:nam,kelas:kls,nim:nom,judul:jud,pemb:pem,peng:pen}
  58. data = append(data, x)
  59. fmt.Printf("Mahasiswa %v berhasil dimasukan\n", nam)
  60. return
  61. }
  62.  
  63. func menuF () {
  64. fmt.Scan(&menu)
  65. if menu == 1 || menu == 2 || menu == 0 {
  66. return
  67. } else {
  68. fmt.Print("Input salah\n--> ")
  69. menuF()
  70. }
  71. }
  72.  
  73. func view () {
  74. fmt.Scan(&menu)
  75. if menu == 1 || menu == 2 || menu == 3 || menu == 4 || menu == 0 {
  76. return
  77. } else {
  78. fmt.Print("Input salah\n--> ")
  79. view()
  80. }
  81. }
  82.  
  83. func edit () {
  84. var nom, ubah string
  85. var x int
  86. var cek bool
  87. fmt.Print("Input NIM data mahasiswa yang ingin diubah\n")
  88. fmt.Scan(&nom)
  89. for i, _:=range data {
  90. if data[i].nim == nom {cek = true}
  91. }
  92. if cek == true {
  93. fmt.Printf("Data yang ingin diubah dari %v\nNama(1) Kelas(2) Nim(3) Judul(4) Pembimbing(5) Penguji(6) --> ", nom)
  94. fmt.Scan(&x)
  95. switch x {
  96. case 1 : {
  97. fmt.Print("Input nama baru --> ")
  98. fmt.Scan(&ubah)
  99. for i, _:= range data {
  100. if nom == data[i].nim {
  101. data[i].nama=ubah
  102. }
  103. }
  104. fmt.Println("Nama berhasil diubah")
  105. }
  106. case 2 : {
  107. fmt.Print("Input Kelas baru --> ")
  108. fmt.Scan(&ubah)
  109. for i, _:= range data {
  110. if nom == data[i].nim {
  111. data[i].kelas=ubah
  112. }
  113. }
  114. fmt.Println("Kelas berhasil diubah")
  115. }
  116. case 3 : {
  117. for i, _:= range data {
  118. if nom == data[i].nim {
  119. data[i].nim=nom
  120. }
  121. }
  122. fmt.Println("Nim berhasil diubah")
  123. }
  124. case 4 : {
  125. fmt.Print("Input Judul baru --> ")
  126. fmt.Scan(&ubah)
  127. for i, _:= range data {
  128. if nom == data[i].nim {
  129. data[i].judul=ubah
  130. }
  131. }
  132. fmt.Println("Judul berhasil diubah")
  133. }
  134. case 5 : {
  135. fmt.Print("Input nama Pembimbing baru --> ")
  136. fmt.Scan(&ubah)
  137. for i, _:= range data {
  138. if nom == data[i].nim {
  139. data[i].pemb=ubah
  140. }
  141. }
  142. fmt.Println("Pembimbing berhasil diubah")
  143. }
  144. case 6 : {
  145. fmt.Print("Input nama Penguji baru --> ")
  146. fmt.Scan(&ubah)
  147. for i, _:= range data {
  148. if nom == data[i].nim {
  149. data[i].peng=ubah
  150. }
  151. }
  152. fmt.Println("Penguji berhasil diubah")
  153. }
  154. }
  155. } else {
  156. fmt.Println("Data tidak ditemukan")
  157. }
  158. return
  159. }
  160.  
  161. func del () {
  162. var nom string
  163. fmt.Print("Input NIM Mahasiswa yang ingin dihapus --> ")
  164. fmt.Scan(&nom)
  165. for i, _:= range data {
  166. if data[i].nim == nom {
  167. data = append(data[:i], data[i+1:]...)
  168. }
  169. }
  170. fmt.Printf("Data '%v' berhasil dihapus\n", nom)
  171. return
  172. }
  173.  
  174. func find () {
  175. var nom string
  176. var cek bool
  177. cek = false
  178. fmt.Print("Input NIM Mahasiswa yang ingin dicari --> ")
  179. fmt.Scan(&nom)
  180. for i, _:= range data {
  181. if data[i].nim == nom {
  182. cek = true
  183. fmt.Printf("Data mahasiswa '%v' :\n", nom)
  184. fmt.Print(data[i],"\n")
  185. }
  186. }
  187. if cek == false {
  188. fmt.Println("Data tidak ditemukan\n")
  189. }
  190. return
  191. }
  192.  
  193. func sort() {
  194. var inp int
  195. var n string
  196. datasort := data
  197. fmt.Print("Sort by Kelas(1) Pembimbing(2) Penguji(3) --> ")
  198. fmt.Scan(&inp)
  199. switch inp {
  200. case 1 : {
  201. for i, _:= range datasort {
  202. n=data[i].kelas
  203. if n == datasort[i].kelas {
  204. fmt.Println(data[i])
  205. }
  206. }
  207. }
  208. case 2 : {
  209. for i, _:= range datasort {
  210. n=data[i].pemb
  211. if n == datasort[i].pemb {
  212. fmt.Println(data[i])
  213. }
  214. }
  215. }
  216.  
  217. case 3 : {
  218. for i, _:= range datasort {
  219. n=data[i].peng
  220. if n == datasort[i].peng {
  221. fmt.Println(data[i])
  222. }
  223. }
  224. }
  225. }
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement