Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- type identitasmahasiswa struct {
- nama string
- kelas string
- nim string
- judul string
- pemb string
- peng string
- }
- var menu int
- var data []identitasmahasiswa
- func main (){
- menu = 99
- for menu != 0 {
- fmt.Print("(INPUT 0 UNTUK KELUAR MENU)\nAplikasi Repositori Data Tugas Besar Mahasiswa\nInsert(1) View(2)\n--> ")
- menuF()
- if menu == 1 {
- ins()
- } else if menu == 2 {
- fmt.Print("Edit(1) Delete(2) Find(3) Sort(4)\n--> ")
- view()
- switch menu {
- case 1 : edit()
- case 2 : del()
- case 3 : find()
- case 4 : sort()
- }
- }
- fmt.Println("END PROGRAM")
- }
- }
- func ins (){
- var nam, kls, nom, jud, pem, pen string
- fmt.Print("Nim\n --> ")
- fmt.Scan(&nom)
- for i, _:=range data {
- if data[i].nim == nom {
- fmt.Println("Nim sudah terdaftar")
- return
- }
- }
- fmt.Print("Input data Mahasiswa baru\nInput Nama Mahasiswa\n--> ") //Diminta satu satu agar tidak salah input
- fmt.Scan(&nam)
- fmt.Print("Kelas\n--> ")
- fmt.Scan(&kls)
- fmt.Print("Judul_Tugas\n--> ")
- fmt.Scan(&jud)
- fmt.Print("Nama_Pembimbing\n--> ")
- fmt.Scan(&pem)
- fmt.Print("Nama_Penguji\n--> ")
- fmt.Scan(&pen)
- x:=identitasmahasiswa{nama:nam,kelas:kls,nim:nom,judul:jud,pemb:pem,peng:pen}
- data = append(data, x)
- fmt.Printf("Mahasiswa %v berhasil dimasukan\n", nam)
- return
- }
- func menuF () {
- fmt.Scan(&menu)
- if menu == 1 || menu == 2 || menu == 0 {
- return
- } else {
- fmt.Print("Input salah\n--> ")
- menuF()
- }
- }
- func view () {
- fmt.Scan(&menu)
- if menu == 1 || menu == 2 || menu == 3 || menu == 4 || menu == 0 {
- return
- } else {
- fmt.Print("Input salah\n--> ")
- view()
- }
- }
- func edit () {
- var nom, ubah string
- var x int
- var cek bool
- fmt.Print("Input NIM data mahasiswa yang ingin diubah\n")
- fmt.Scan(&nom)
- for i, _:=range data {
- if data[i].nim == nom {cek = true}
- }
- if cek == true {
- fmt.Printf("Data yang ingin diubah dari %v\nNama(1) Kelas(2) Nim(3) Judul(4) Pembimbing(5) Penguji(6) --> ", nom)
- fmt.Scan(&x)
- switch x {
- case 1 : {
- fmt.Print("Input nama baru --> ")
- fmt.Scan(&ubah)
- for i, _:= range data {
- if nom == data[i].nim {
- data[i].nama=ubah
- }
- }
- fmt.Println("Nama berhasil diubah")
- }
- case 2 : {
- fmt.Print("Input Kelas baru --> ")
- fmt.Scan(&ubah)
- for i, _:= range data {
- if nom == data[i].nim {
- data[i].kelas=ubah
- }
- }
- fmt.Println("Kelas berhasil diubah")
- }
- case 3 : {
- for i, _:= range data {
- if nom == data[i].nim {
- data[i].nim=nom
- }
- }
- fmt.Println("Nim berhasil diubah")
- }
- case 4 : {
- fmt.Print("Input Judul baru --> ")
- fmt.Scan(&ubah)
- for i, _:= range data {
- if nom == data[i].nim {
- data[i].judul=ubah
- }
- }
- fmt.Println("Judul berhasil diubah")
- }
- case 5 : {
- fmt.Print("Input nama Pembimbing baru --> ")
- fmt.Scan(&ubah)
- for i, _:= range data {
- if nom == data[i].nim {
- data[i].pemb=ubah
- }
- }
- fmt.Println("Pembimbing berhasil diubah")
- }
- case 6 : {
- fmt.Print("Input nama Penguji baru --> ")
- fmt.Scan(&ubah)
- for i, _:= range data {
- if nom == data[i].nim {
- data[i].peng=ubah
- }
- }
- fmt.Println("Penguji berhasil diubah")
- }
- }
- } else {
- fmt.Println("Data tidak ditemukan")
- }
- return
- }
- func del () {
- var nom string
- fmt.Print("Input NIM Mahasiswa yang ingin dihapus --> ")
- fmt.Scan(&nom)
- for i, _:= range data {
- if data[i].nim == nom {
- data = append(data[:i], data[i+1:]...)
- }
- }
- fmt.Printf("Data '%v' berhasil dihapus\n", nom)
- return
- }
- func find () {
- var nom string
- var cek bool
- cek = false
- fmt.Print("Input NIM Mahasiswa yang ingin dicari --> ")
- fmt.Scan(&nom)
- for i, _:= range data {
- if data[i].nim == nom {
- cek = true
- fmt.Printf("Data mahasiswa '%v' :\n", nom)
- fmt.Print(data[i],"\n")
- }
- }
- if cek == false {
- fmt.Println("Data tidak ditemukan\n")
- }
- return
- }
- func sort() {
- var inp int
- var n string
- datasort := data
- fmt.Print("Sort by Kelas(1) Pembimbing(2) Penguji(3) --> ")
- fmt.Scan(&inp)
- switch inp {
- case 1 : {
- for i, _:= range datasort {
- n=data[i].kelas
- if n == datasort[i].kelas {
- fmt.Println(data[i])
- }
- }
- }
- case 2 : {
- for i, _:= range datasort {
- n=data[i].pemb
- if n == datasort[i].pemb {
- fmt.Println(data[i])
- }
- }
- }
- case 3 : {
- for i, _:= range datasort {
- n=data[i].peng
- if n == datasort[i].peng {
- fmt.Println(data[i])
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement