List Berkait/Linked List Sederhana (Tambah & Tampilkan Data)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <stdlib.h>
 
#define CLS system("cls");
#define PAUSE {printf("\n"); system("pause");}
 
int main()
{
    struct list {
        char npm[16];
        char nama[64];
        float nilai;
        struct list *next;
    };
    
    struct list *awal, *akhir, *p, *baru;
    
    awal = akhir = NULL;
    
    int pilihan = 1;
    do {
        switch (pilihan) {
            case 1: // tambah data kedalam list
                CLS;
                baru = (struct list *) malloc(sizeof(struct list)); // alokasikan list baru
                if (baru == NULL) {
                    CLS;
                    printf("\nMemori tidak cukup.");
                    PAUSE;
                    break;
                }
                printf("\nNPM   : "); scanf("%s", baru->npm); getchar();
                printf("Nama  : "); scanf("%[^\n]", baru->nama);
                printf("Nilai : "); scanf("%f", &baru->nilai);
                if (awal == NULL) {
                    awal = baru;
                    akhir = baru;
                } else { 
                    // tambah di akhir list
                    akhir->next = baru; 
                    akhir = baru;
                }
                baru->next = NULL;
                PAUSE;
                break;
            
            case 2: // tampilkan list
                CLS;
            
                p = awal;
                printf("\n------------------------------------------\n");
                while (p != NULL) {
                    printf("\nNPM   : %s", p->npm);
                    printf("\nNama  : %s", p->nama);
                    printf("\nNilai : %.2f", p->nilai);
                    printf("\n------------------------------------------\n");
                    p = p->next;
                }
                printf("\n");
                PAUSE;
                break;
                
            case 0: break;
            
            default:
                printf("\nPilihan salah !\n");
                break;
        }
    
        CLS;
        printf("\n1. Tambahkan data kedalam list\n2. Tampilkan list\n0. Keluar\n\n");
        printf("Pilihan Anda : ");
        scanf("%d", &pilihan);
    } while (pilihan > 0);
 
    
 
    return 0;
}
#include <stdio.h>
#include <stdlib.h>

#define CLS system("cls");
#define PAUSE {printf("\n"); system("pause");}

int main()
{
	struct list {
		char npm[16];
		char nama[64];
		float nilai;
		struct list *next;
	};
	
	struct list *awal, *akhir, *p, *baru;
	
	awal = akhir = NULL;
	
	int pilihan = 1;
	do {
		switch (pilihan) {
			case 1: // tambah data kedalam list
				CLS;
				baru = (struct list *) malloc(sizeof(struct list)); // alokasikan list baru
				if (baru == NULL) {
					CLS;
					printf("\nMemori tidak cukup.");
					PAUSE;
					break;
				}
				printf("\nNPM   : "); scanf("%s", baru->npm); getchar();
				printf("Nama  : "); scanf("%[^\n]", baru->nama);
				printf("Nilai : "); scanf("%f", &baru->nilai);
				if (awal == NULL) {
					awal = baru;
					akhir = baru;
				} else { 
					// tambah di akhir list
					akhir->next = baru; 
					akhir = baru;
				}
				baru->next = NULL;
				PAUSE;
				break;
			
			case 2: // tampilkan list
				CLS;
			
				p = awal;
				printf("\n------------------------------------------\n");
				while (p != NULL) {
					printf("\nNPM   : %s", p->npm);
					printf("\nNama  : %s", p->nama);
					printf("\nNilai : %.2f", p->nilai);
					printf("\n------------------------------------------\n");
					p = p->next;
				}
				printf("\n");
				PAUSE;
				break;
				
			case 0: break;
			
			default:
				printf("\nPilihan salah !\n");
				break;
		}
	
		CLS;
		printf("\n1. Tambahkan data kedalam list\n2. Tampilkan list\n0. Keluar\n\n");
		printf("Pilihan Anda : ");
		scanf("%d", &pilihan);
	} while (pilihan > 0);

	

	return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">