SHARE
TWEET

Iba Tubes

sabdas4869 Nov 17th, 2019 89 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top