Skip to main content

3 Rekomendasi Tools Untuk UI/UX Designer Tools Gratis Terbaik 2022

 Tidak dapat dipungkiri bahwa user interface merupakan salah satu komponen penting di dalam sebuah website/aplikasi. Terlepas dari fungsi aplikasinya, sebuah aplikasi harus memiliki tampilan yang baik dan mudah digunakan oleh penggunanya.  Oleh karena itu saat ini banyak perusahaan yang membutuhkan tenaga UI/UX designer untuk menyempurnakan design tampilan pada website/aplikasi mereka. Jika anda berminat untuk menjadi seorang UI/UX designer, berikut rekomendasi UI/UX designer dari saya yang tentunya gratis dan cocok digunakan untuk pemula maupun anda yang sudah lama menggeluti bidang ini. Ga pake lama skuy kita langsung ke rekomendasinya. 1. figma Nah di rekomendasi nomer 1 ini ada figma. Belakangan ini nama figma cukup terkenal di kalangan para UI/UX designer. Figma cukup mudah digunakan bahkan untuk para pemula yang ingin mulai mencoba untuk menggeluti bidang UI/UX designer. Terlebih lagi software ini berbasais web sehinggal anda tidak perlu melakukan instalasi software untu...

Program C Insert Terurut dan Delete Tertentu Dengan Struct

Pada postingan kali ini saya akan memberikan contoh program C sederhana menggunakan struct untuk input data terurut dan delete data tertentu. Ga usah basa-basi lagi langsung aja skuy kita ke code programnya.


#include <stdio.h>
#include <stdlib.h>

typedef struct simpul dnode;
struct simpul{
    int data;
    dnode *next, *prev;
};
dnode *head=NULL, *p;
int choose;

//MENU
void menu();
//URUT
void sortir();
//ALOKASI
void alokasi();
//INSERT
void akhir();
void before(int );
//DELETE
void del_awal();
void del_akhir();
void del_ttt();
void bebas(dnode *b);
//CETAK
void tampil();

int main()
{
    do{
        puts("MENU DLL :");
        puts("1. Insert Terurut");
        puts("2. Delete Tertentu");
        puts("3. Keluar");
        printf("Masukkan pilihan anda : ");
        scanf("%d", &choose);
        fflush(stdin);
        menu();
    }while(choose != 3);
}

void menu(){
        if(choose == 2 && head == NULL){
            puts("SLL masih kosong\n");
            return;
        }
        switch(choose)
        {
            case 1:
                alokasi();
                sortir();
                break;
            case 2:
                del_ttt();
                break;
            case 3:
                exit(0);
                break;
            default:
                printf("Menu %d tidak tersedia coba lagi\n\n", choose);
                return;
        }
        tampil();
        puts("\n");
}

void alokasi(){
    p = (dnode *) malloc(sizeof(dnode));
    if(p==NULL){
        puts("Alokasi gagal dilakukan");
        exit(0);
    }
    else{
        printf("Masukan data: ");
        scanf("%d", &p->data);
        p->next = NULL;
        p->prev = NULL;
    }
}

void sortir()
{
    dnode *sort = head ;

    if(sort != NULL){
        while(sort != NULL){
            if(p->data <= sort->data){
                before(sort->data);
                break;
            }
            sort = sort->next;
        }
    }
    if(sort == NULL)
        akhir();
}

void awal(){
    if(head!=NULL){
        p->next = head;
        head->prev = p;
    }
    head = p;
}

void akhir(){
    dnode *tail = head;

    if(head==NULL)
        head = p;
    else{
        while(tail->next != NULL)
            tail = tail->next;
        tail->next = p;
        p->prev = tail;
    }
}

void before(int k){
    dnode *bef=head;
    if(bef->data >= k){
        awal();
        return;
    }
    while(bef->data!=k){
        if(bef->next==NULL){
            printf("Node %d tidak ada", k);
            return;
            }
        else
            bef=bef->next;
        }
    p->next=bef;
    if(head->next!=NULL){
        p->prev=bef->prev;
        bef->prev->next=p;
    }
    bef->prev=p;
}

void del_awal(){
    dnode *del=head;
    if (head->next != NULL)
    {
        head->next->prev=NULL;
        head = head->next;
    }
    else
        head = NULL;
    bebas(del);
}

void del_akhir(){
    dnode *del = head;

    if(head->next == NULL)
        head=NULL;
    else{
        while(del->next!=NULL)
            del=del->next;
        del->prev->next = NULL;
    }
    bebas(del);
}

void del_ttt(){
    dnode *del=head;
    int k;

    printf("Data yang mau dihapus : ");
    scanf("%d", &k);
    fflush(stdin);

    while(del->data != k){
        if(del->next==NULL){
            printf("Data %d tidak ada dalam DLL\n", k);
            return;
        }
        else
            del=del->next;
    }
    if(del == head)
        del_awal();
    else if(del->next == NULL)
        del_akhir();
    else{
        del->next->prev = del->prev;
        del->prev->next = del->next;
        bebas(del);
    }
}

void bebas(dnode *b){
    free(b);
    b=NULL;
}

void tampil(){
    dnode *baca = head;
    while(baca!=NULL){
        printf("%d\n", baca->data);;
        baca=baca->next;
    }
}

Keterangan:

- int main() merupakan main fungsion atau fungsi yang pertama dijalankan saat program dirun.
- void menu() merupakan fungsi untuk menampilkan menu program saat program dijalankan.
- void alokasi() merupakan fungsi untuk insert data ke dalam struct.
- void sortir() merupakan fungsi untuk melakukan pengecekan yang nantinya akan memanggil insert
awal, before atau akhir supaya data yang dimasukkan nantinya bisa tersimpan secara urut meskipun diinput secara acak.
- void awal() untuk insert data di awal DLL (double linked list).
void before() untuk insert data di tengah-tengah DLL (double linked list).
void akhir() untuk insert data di akhir DLL (double linked list).
- void del_ttt() fungsi yang akan dipanggil ketika user memilik menu delete tertentu, fungsinya untuk delete data tertentu sesuai kehendak user.
- void del_awal() digunakan untuk menghapus data di awal DLL (data linked list).
- void del_akhir() digunakan untuk menghapus data di akhir DLL (data linked list).
- void bebas() digunakan untuk membebaskan pointer dan memori jika user telah menghapus data dari DLL (data linked list).
- void tampil() digunakan untuk menampilkan data yang tersimpan di dalam DLL (data linked list) ke layar user nantinya.

Contoh saat program dirun:








Gambar di atas saya pisah pisah supaya tidak buram hasilnya, karena jika langsung saya upload full tanpa dipisah seperti itu akan buram hasilnya seperti di bawah ini
Sekian dari saya, jika ada kritik/saran silahkan tinggalkan di kolom komentar. Terima kasih telah berkunjung :)








Comments

Popular posts from this blog

Program Konversi Bilangan Dengan OOP JAVA

Pada postingan kali ini saya akan memberikan contoh program konversi mata bilangan dari desimal, biner, oktal dan hexadesimal di java dengan paradigma OOP. Program yang saya berikan ini berbasis GUI sehingga akan kan user dalam menggunakan program/aplikasi ini nantinya. Baik langsung saja kita masuk ke programnya... File-file yang ada di program ini berada dalam 1 package. Konversi_bilangan.java (main class) package konversi_bilangan; import java.util.ArrayList; import javax.swing.table.DefaultTableModel; /**  *  * @author ASIKIN AJ  */ public class Konversi_bilangan extends javax.swing. JFrame {     /**      * Creates new form Konversi_bilangan      */         ArrayList < EntitasData > history = new ArrayList < EntitasData >();     DefaultTableModel tabelModel ;         public Konversi_bilangan () {         initComponents ();   ...

3 Rekomendasi Tools Untuk UI/UX Designer Tools Gratis Terbaik 2022

 Tidak dapat dipungkiri bahwa user interface merupakan salah satu komponen penting di dalam sebuah website/aplikasi. Terlepas dari fungsi aplikasinya, sebuah aplikasi harus memiliki tampilan yang baik dan mudah digunakan oleh penggunanya.  Oleh karena itu saat ini banyak perusahaan yang membutuhkan tenaga UI/UX designer untuk menyempurnakan design tampilan pada website/aplikasi mereka. Jika anda berminat untuk menjadi seorang UI/UX designer, berikut rekomendasi UI/UX designer dari saya yang tentunya gratis dan cocok digunakan untuk pemula maupun anda yang sudah lama menggeluti bidang ini. Ga pake lama skuy kita langsung ke rekomendasinya. 1. figma Nah di rekomendasi nomer 1 ini ada figma. Belakangan ini nama figma cukup terkenal di kalangan para UI/UX designer. Figma cukup mudah digunakan bahkan untuk para pemula yang ingin mulai mencoba untuk menggeluti bidang UI/UX designer. Terlebih lagi software ini berbasais web sehinggal anda tidak perlu melakukan instalasi software untu...