Advertisement
sabdas4869

tubes2

Nov 19th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "os/exec"
  6. "runtime"
  7. )
  8.  
  9. const N = 20192020
  10.  
  11. type data struct {
  12. sekul string
  13. kls string
  14. pel string
  15. smt string
  16. silb string
  17. mat string
  18. status int
  19. }
  20. var tab [N]data
  21. var i , tot int
  22.  
  23. var clear map[string]func() //create a map for storing clear funcs
  24.  
  25. func init() {
  26. clear = make(map[string]func()) //Initialize it
  27. clear["linux"] = func() {
  28. cmd := exec.Command("clear") //Linux example, its tested
  29. cmd.Stdout = os.Stdout
  30. cmd.Run()
  31. }
  32. clear["windows"] = func() {
  33. cmd := exec.Command("cmd", "/c", "cls") //Windows example, its tested
  34. cmd.Stdout = os.Stdout
  35. cmd.Run()
  36. }
  37. }
  38.  
  39. func CallClear() {
  40. value, ok := clear[runtime.GOOS] //runtime.GOOS -> linux, windows, darwin etc.
  41. if ok { //if we defined a clear func for that platform:
  42. value() //we execute it
  43. } else { //unsupported platform
  44. panic("Your platform is unsupported! I can't clear terminal screen :(")
  45. }
  46. }
  47.  
  48. var key string
  49.  
  50. // Function Main
  51. func main(){
  52. fmt.Println("Selamat Datang di aplikasi DARLING 1 ")
  53. menuUtama()
  54. }
  55. // End
  56.  
  57.  
  58. func menuUtama(){
  59. var x int
  60.  
  61. fmt.Print("1.Insert \n2.View \nPilih: ")
  62. fmt.Scan(&x)
  63. CallClear()
  64. if x==1{
  65. insert()
  66. menuUtama()
  67. }else if x==2{
  68. //fmt.Println("Untuk kembali ke menu utama silahkan ketik 0")
  69. fmt.Println("1.Edit \n2.Delete \n3.Cari \n4.Sorting \nPilih : ")
  70. fmt.Scan(&x)
  71. CallClear()
  72. if x==1{
  73. menuEdit()
  74. menuUtama()
  75. }else if x==2{
  76. //menuDelete()
  77. }else if x==3{
  78. menuCari()
  79. menuUtama()
  80. }else if x==4{
  81. //menuSorting()
  82. //}else if x==0{
  83. // menuUtama()
  84.  
  85. }
  86.  
  87. }
  88.  
  89. }
  90.  
  91. func insert() {
  92. var confirm string
  93. i = 0
  94. tot = 0
  95. fmt.Print("Apakah Ingin Input :")
  96. fmt.Scan(&confirm)
  97. for (confirm != "no") && (i < N) {
  98. fmt.Print("Sekolah : ")
  99. fmt.Scan(&tab[i].sekul)
  100. fmt.Print("Kelas : ")
  101. fmt.Scan(&tab[i].kls)
  102. fmt.Print("Pelajaran : ")
  103. fmt.Scan(&tab[i].pel)
  104. fmt.Print("Semester : ")
  105. fmt.Scan(&tab[i].smt)
  106. fmt.Print("Silabus : ")
  107. fmt.Scan(&tab[i].silb)
  108. fmt.Print("Materi : ")
  109. fmt.Scan(&tab[i].mat)
  110. tab[i].status=1
  111. CallClear()
  112. i++
  113. tot++
  114. fmt.Print("Apakah anda ingin input lagi :")
  115. fmt.Scan(&confirm)
  116. }
  117. CallClear()
  118. }
  119.  
  120. func menuCari() {
  121. var K1,K2,K3,K4 string
  122. var found bool
  123.  
  124. found = false
  125. i = 0
  126. fmt.Print("Sekolah : ")
  127. fmt.Scan(&K1)
  128. fmt.Print("Kelas : ")
  129. fmt.Scan(&K2)
  130. fmt.Print("Pelajaran : ")
  131. fmt.Scan(&K3)
  132. fmt.Print("Semester : ")
  133. fmt.Scan(&K4)
  134. for (i < tot) && (found == false) {
  135. if (tab[i].sekul == K1) && (tab[i].kls == K2) && (tab[i].pel == K3) && (tab[i].smt == K4) {
  136. found = true
  137. fmt.Print("Silabus : ")
  138. fmt.Println(tab[i].silb)
  139. fmt.Print("Materi : ")
  140. fmt.Println(tab[i].mat)
  141. }
  142. i++
  143. }
  144. if found == false{
  145. fmt.Println("Tidak Ditemukan")
  146. }
  147. }
  148.  
  149. func menuEdit(){
  150. var key, edit string
  151. var found bool
  152. var n int
  153. found= false
  154. fmt.Print("Silahkan input nama materi yang akan diedit")
  155. fmt.Scan(&key)
  156.  
  157. i=0
  158. for i<=tot && found==false{
  159. if key==tab[i].mat{
  160. found=true
  161. fmt.Println(tab[i])
  162. }
  163. }
  164. if found==true{
  165. fmt.Println("Silahkan pilih apa yang akan diedit ")
  166. fmt.Println("1.Sekolah \n2.Kelas \n3.Pelajaran \n4.Semester \n5.Silabus \n6.Materi \nPilih : ")
  167. fmt.Scan(&n)
  168. if n==1{
  169. fmt.Print("Silahkan diedit: ")
  170. fmt.Scan(&edit)
  171. tab[i].sekul=edit
  172. }else if n==2{
  173. fmt.Print("Silahkan diedit: ")
  174. fmt.Scan(&edit)
  175. tab[i].kls=edit
  176. }else if n==3{
  177. fmt.Print("Silahkan diedit: ")
  178. fmt.Scan(&edit)
  179. tab[i].pel=edit
  180. }else if n==4{
  181. fmt.Print("Silahkan diedit: ")
  182. fmt.Scan(&edit)
  183. tab[i].smt=edit
  184. }else if n==5{
  185. fmt.Print("Silahkan diedit: ")
  186. fmt.Scan(&edit)
  187. tab[i].silb=edit
  188. }else if n==6{
  189. fmt.Print("Silahkan diedit: ")
  190. fmt.Scan(&edit)
  191. tab[i].sekul=edit
  192. }
  193. fmt.Println(tab[i])
  194. return
  195. }else {
  196. fmt.Println("Maaf tidak ditemukan ")
  197.  
  198. }
  199. CallClear()
  200. }
  201.  
  202. func menuDelete(){
  203. var key string
  204. var x int
  205. var found bool
  206. fmt.Print("Input materi yang akan dihapus: ")
  207. fmt.Scan(&key)
  208. found=false
  209. for i<tot && found==false{
  210. if key==tab[i].mat{
  211. found= true
  212. fmt.Println(tab[i], " \nApakah yakin akan menghapus data tersebut? \n1.Ya \n2.Tidak")
  213. fmt.Scan(&x)
  214. if x==1{
  215. tab[i].status=0
  216. fmt.Println("Data berhasil dihapus")
  217. }else{
  218. fmt.Println("Tekan enter untuk kembali ke menu utama")
  219. menuUtama()
  220. }
  221. }
  222. i++
  223. }
  224. CallClear()
  225. if found==false {
  226. fmt.Println("materi tidak ada ")
  227. }
  228. CallClear()
  229. menuUtama()
  230. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement