Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "os"
- "os/exec"
- "runtime"
- )
- const N = 20192020
- type data struct {
- sekul string
- kls string
- pel string
- smt string
- silb string
- mat string
- status int
- }
- var tab [N]data
- var i , tot int
- var clear map[string]func() //create a map for storing clear funcs
- func init() {
- clear = make(map[string]func()) //Initialize it
- clear["linux"] = func() {
- cmd := exec.Command("clear") //Linux example, its tested
- cmd.Stdout = os.Stdout
- cmd.Run()
- }
- clear["windows"] = func() {
- cmd := exec.Command("cmd", "/c", "cls") //Windows example, its tested
- cmd.Stdout = os.Stdout
- cmd.Run()
- }
- }
- func CallClear() {
- value, ok := clear[runtime.GOOS] //runtime.GOOS -> linux, windows, darwin etc.
- if ok { //if we defined a clear func for that platform:
- value() //we execute it
- } else { //unsupported platform
- panic("Your platform is unsupported! I can't clear terminal screen :(")
- }
- }
- var key string
- // Function Main
- func main(){
- fmt.Println("Selamat Datang di aplikasi DARLING 1 ")
- menuUtama()
- }
- // End
- func menuUtama(){
- var x int
- fmt.Print("1.Insert \n2.View \nPilih: ")
- fmt.Scan(&x)
- CallClear()
- if x==1{
- insert()
- menuUtama()
- }else if x==2{
- //fmt.Println("Untuk kembali ke menu utama silahkan ketik 0")
- fmt.Println("1.Edit \n2.Delete \n3.Cari \n4.Sorting \nPilih : ")
- fmt.Scan(&x)
- CallClear()
- if x==1{
- menuEdit()
- menuUtama()
- }else if x==2{
- //menuDelete()
- }else if x==3{
- menuCari()
- menuUtama()
- }else if x==4{
- //menuSorting()
- //}else if x==0{
- // menuUtama()
- }
- }
- }
- func insert() {
- var confirm string
- i = 0
- tot = 0
- fmt.Print("Apakah Ingin Input :")
- fmt.Scan(&confirm)
- for (confirm != "no") && (i < N) {
- fmt.Print("Sekolah : ")
- fmt.Scan(&tab[i].sekul)
- fmt.Print("Kelas : ")
- fmt.Scan(&tab[i].kls)
- fmt.Print("Pelajaran : ")
- fmt.Scan(&tab[i].pel)
- fmt.Print("Semester : ")
- fmt.Scan(&tab[i].smt)
- fmt.Print("Silabus : ")
- fmt.Scan(&tab[i].silb)
- fmt.Print("Materi : ")
- fmt.Scan(&tab[i].mat)
- tab[i].status=1
- CallClear()
- i++
- tot++
- fmt.Print("Apakah anda ingin input lagi :")
- fmt.Scan(&confirm)
- }
- CallClear()
- }
- func menuCari() {
- var K1,K2,K3,K4 string
- var found bool
- found = false
- i = 0
- fmt.Print("Sekolah : ")
- fmt.Scan(&K1)
- fmt.Print("Kelas : ")
- fmt.Scan(&K2)
- fmt.Print("Pelajaran : ")
- fmt.Scan(&K3)
- fmt.Print("Semester : ")
- fmt.Scan(&K4)
- for (i < tot) && (found == false) {
- if (tab[i].sekul == K1) && (tab[i].kls == K2) && (tab[i].pel == K3) && (tab[i].smt == K4) {
- found = true
- fmt.Print("Silabus : ")
- fmt.Println(tab[i].silb)
- fmt.Print("Materi : ")
- fmt.Println(tab[i].mat)
- }
- i++
- }
- if found == false{
- fmt.Println("Tidak Ditemukan")
- }
- }
- func menuEdit(){
- var key, edit string
- var found bool
- var n int
- found= false
- fmt.Print("Silahkan input nama materi yang akan diedit")
- fmt.Scan(&key)
- i=0
- for i<=tot && found==false{
- if key==tab[i].mat{
- found=true
- fmt.Println(tab[i])
- }
- }
- if found==true{
- fmt.Println("Silahkan pilih apa yang akan diedit ")
- fmt.Println("1.Sekolah \n2.Kelas \n3.Pelajaran \n4.Semester \n5.Silabus \n6.Materi \nPilih : ")
- fmt.Scan(&n)
- if n==1{
- fmt.Print("Silahkan diedit: ")
- fmt.Scan(&edit)
- tab[i].sekul=edit
- }else if n==2{
- fmt.Print("Silahkan diedit: ")
- fmt.Scan(&edit)
- tab[i].kls=edit
- }else if n==3{
- fmt.Print("Silahkan diedit: ")
- fmt.Scan(&edit)
- tab[i].pel=edit
- }else if n==4{
- fmt.Print("Silahkan diedit: ")
- fmt.Scan(&edit)
- tab[i].smt=edit
- }else if n==5{
- fmt.Print("Silahkan diedit: ")
- fmt.Scan(&edit)
- tab[i].silb=edit
- }else if n==6{
- fmt.Print("Silahkan diedit: ")
- fmt.Scan(&edit)
- tab[i].sekul=edit
- }
- fmt.Println(tab[i])
- return
- }else {
- fmt.Println("Maaf tidak ditemukan ")
- }
- CallClear()
- }
- func menuDelete(){
- var key string
- var x int
- var found bool
- fmt.Print("Input materi yang akan dihapus: ")
- fmt.Scan(&key)
- found=false
- for i<tot && found==false{
- if key==tab[i].mat{
- found= true
- fmt.Println(tab[i], " \nApakah yakin akan menghapus data tersebut? \n1.Ya \n2.Tidak")
- fmt.Scan(&x)
- if x==1{
- tab[i].status=0
- fmt.Println("Data berhasil dihapus")
- }else{
- fmt.Println("Tekan enter untuk kembali ke menu utama")
- menuUtama()
- }
- }
- i++
- }
- CallClear()
- if found==false {
- fmt.Println("materi tidak ada ")
- }
- CallClear()
- menuUtama()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement