Showing posts with label Program. Show all posts
Showing posts with label Program. Show all posts

Thursday, December 12, 2019

Contoh program algoritma greedy bahasa c (knapsack problem)

Contoh program algoritma greedy bahasa c (knapsack problem)

contoh program algoritma greedy bahasa c (knapsack problem)

kasus : barang yang akan diangkut pada mobil pengangkut barang

#include <stdio.h>
#include <string.h>

int jumlah = 0;
int kapasitas;

int beratMasuk[20];
char namaMasuk[20][20];
int jumlahMasuk = 0;
void freightCar(char nama[20], int berat, int index){
    kapasitas = kapasitas - berat;
    strcpy(namaMasuk[index],nama);
    beratMasuk[index] = berat;
    jumlahMasuk = jumlahMasuk + 1;
}

int main(){
    printf("kasus : barang yang akan dimasukkan ke mobil pengangkut barang\n");
    printf("Masukkan jumlah Barang (max 20 hehe): ");scanf("%d",&jumlah);
    if(jumlah > 20){
        printf("max 20 yak\n");
        main();
    }
    printf("Masukkan kapasitas penampung : ");scanf("%d",&kapasitas);
    int berat[jumlah];
    char nama[jumlah][20];
    for(int i = 0; i < jumlah;  i++){
        printf("Nama Barang : ");scanf("%s",&nama[i]);
        printf("Berat : ");scanf("%d",&berat[i]);
    }
  
    //shorting
    for (int i = 0; i < jumlah; i++) {
      for (int j = i + 1; j < jumlah; j++) {
         if (berat[i] < berat[j]) {
             int temp = berat[j];
             berat[j] = berat[i];
            berat[i] = temp;
          
            char temp1[20];
            strcpy(temp1,nama[j]);
            strcpy(nama[j],nama[i]);
            strcpy(nama[i],temp1);
         }
      }
   }
 
   //masukkan barang
   int i = 0;
   while(i < jumlah && kapasitas >= berat[i]){
        freightCar(nama[i],berat[i],i);
        i = i+1;
   }
  
    //printout
    printf("==Barang Masuk==\n");
    for(int i = 0; i < jumlahMasuk; i++){
        printf("Nama Barang : %s \n",namaMasuk[i]);
        printf("Berat : %d \n",beratMasuk[i]);
        printf("----------------\n");
    }
    printf("================\n");
    printf("Sisa Kapasitas : %d",kapasitas);
}
Share:

Thursday, December 5, 2019

Contoh stack menggunakan array bahasa c

gambar dari contoh stack menggunakan array bahasa c dengan kasus menyimpan tumpukkan baju

Contoh stack menggunakan array bahasa c

Kasus : Menyimpan tumpukkan baju


#include <iostream>
#include <stdlib.h>
#include <cstring>
#include <windows.h>
#include<conio.h>

using namespace std;

struct {
    int top;
    char baju[5][20];
}tumpukan;

void push(char tempBaju[20]);
void pop();
void awal();
int isEmpty();
int isFull();

int main(){
    int pilih,doHapus;
    char data[20];
    string i;
    awal();
    do{
        system("cls");
        cout<<"================================================="<<endl;
        cout<<"============= Program Tumpukan Baju ============="<<endl;
        cout<<" 1. PUSH (Untuk memasukkan baju ke tumpukkan)    "<<endl;
        cout<<" 2. POP  (Untuk mengeluarkan baju dari tumpukkan)"<<endl;
        cout<<" 3. EXIT                                         "<<endl;
        cout<<"================================================="<<endl;
        cout<<"=========== maximal hanya 5 tumpukan ============"<<endl;
     
        if(!isEmpty()){
            for(int i = tumpukan.top; i >= 0; i--){
                cout<<"["<<tumpukan.baju[i]<<"]"<<endl;
            }
        } else {
            cout<<"[tumpukan baju dalam kondisi kosong]";
        }
        cout<<"\nMasukkan Pilihan : ";cin>>pilih;
        switch(pilih){
            case 1:
                cout<<"Masukkan Baju kedalam tumpukkan [contoh: kemeja] : ";cin>>data;
                push(data);
                break;
            case 2:
                cout<<"Yakin akan mengeluarkan tumpukkan ? (input 1 for yes) : ";cin>>doHapus;
                if(doHapus == 1){
                    pop();
                } else {
                    main();
                }
                break;
            case 3:
                cout<<"Tekan enter untuk keluar :";
                break;
            default:
                cout<<"ERROR!";
                break;
        }
        printf("\nPress any key to continue...");
        getch();
    } while(pilih != 3);
}

void push(char data[5]){
    if (!isFull()){
        tumpukan.top = tumpukan.top + 1;
        strcpy(tumpukan.baju[tumpukan.top],data);
        cout<<"Baju berhasil masuk kedalam tumpukkan";
    } else {
        cout<<"Baju dalam tumpukan penuh";
    }
}

void pop(){
    if(!isEmpty()){
        tumpukan.top--;
        cout<<"Baju pada tumpukan ke-"<<tumpukan.top+2<<" sudah diambil";
    } else {
        cout<<"Baju dalam tumpukan kosong";
    }
}

void awal(){
    tumpukan.top = -1;
}

int isEmpty(){
    if(tumpukan.top == -1){
        return 1;
    } else {
        return 0;
    }
}

int isFull(){
    if(tumpukan.top==5-1){
        return 1;
    } else {
        return 0;
    }
}

link terkait :
contoh queue menggunakan linked list bahasa c
contoh stack menggunakan linked list bahasa c
contoh queue menggunakan array bahasa c 
Share:

Wednesday, December 4, 2019

Contoh stack menggunakan linked list bahasa c

gambar dari contoh stack menggunakan linked list bahasa c

Contoh stack menggunakan linked list Bahasa c

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

typedef struct Data {
    int value;
} Data;

typedef struct Elemen {
    struct Data Data;
    struct Elemen *next;
} Elemen;

typedef struct Stack {
    struct Elemen *top;
} Stack;

void display(Stack);
void push(int value, Stack *Stack);
void pop(Stack *Stack);

int main(){
    Elemen *current = (Elemen*) malloc(sizeof(Elemen));;
    int menu;
    char opsi;
    int value;
    Stack Stack;
    Stack.top = NULL;

    do {
        printf("===============menu===============\n");
        printf("1. Push\n");
        printf("2. Pop\n");
        printf("3. Display\n");
        printf("4. Exit\n");
        printf("==================================\n");


        printf("Pilih menu : ");scanf("%d", &menu);
        printf("----------------------------------------\n");

        if (menu == 1){
            printf("Push \n");
            printf("----------------------------------------\n");
            do {
                printf("Value  : ");
                scanf("%d", &value);fflush(stdin);
                push(value, &Stack);
                printf("berhasil !\n");
                printf("Push again ? [Y/N] : ");
                scanf("%c", &opsi);fflush(stdin);
                printf("\n");
            } while (opsi == 'Y' || opsi == 'y');
        } else if (menu == 2){
            printf("Pop \n");
            printf("----------------------------------------\n");
            if (Stack.top == NULL){
                printf("\nData belum ada !\n");
            } else {
                pop(&Stack);
                printf("\n berhasil !\n");
            }
        } else if (menu == 3){
            display(Stack);
        } else if (menu == 4){
            printf("Keluar\n");
        } else {
            printf("Menu tidak tersedia !\n");
        }
    } while (menu != 4);
}

void display(Stack Stack){
    if(Stack.top == NULL){
        printf("\nData Kosong !\n");
    } else {
                printf("-> Isi Data : \n");
                Elemen *current = Stack.top;
                while(current != NULL){
               printf("%d \n",current->Data.value);
               current = current->next;
                                }
    }
}

void push(int value, Stack *Stack){
    Elemen *current = (Elemen*) malloc(sizeof(Elemen));
    current->Data.value = value;

    if(Stack->top == NULL){
        Stack->top = current;
        current->next = NULL;
        current = NULL;
    } else {
        current->next = Stack->top;
        Stack->top = current;
                                current = NULL;
    }
}

void pop(Stack *Stack){
    Elemen *current = (Elemen*) malloc(sizeof(Elemen));
    if(Stack->top->next != NULL){
                    current = Stack->top;
                    Stack->top = current->next;
                } else {
                                Stack->top = NULL;
                }
                free(current);
    current = NULL;
}

link terkait:
contoh queue menggunakan linked list bahasa c
contoh queue menggunakan array bahasa c
contoh stack menggunakan array bahasa c

Share:

Contoh queue menggunakan linked list bahasa c

gambar dari contoh queue menggunakan linked list bahasa c

Contoh queue menggunakan linked list Bahasa c


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

typedef struct Data {
    int value;
} Data;

typedef struct Elemen {
    struct Data Data;
    struct Elemen *next;
} Elemen;

typedef struct Queue {
    struct Elemen *front;
    struct Elemen *rear;
} Queue;

void display(Queue);
void insert(int value, Queue *Queue);
void deleteQueue(Queue *Queue);

int main(){
    Elemen *current = (Elemen*) malloc(sizeof(Elemen));;
    int menu;
    char opsi;
    int value;
    Queue Queue;
    Queue.front = NULL;

    do {
        printf("===============menu===============\n");
        printf("1. Insert\n");
        printf("2. Delete\n");
        printf("3. Display\n");
        printf("4. Exit\n");
        printf("==================================\n");


        printf("Pilih menu : ");scanf("%d", &menu);
        printf("----------------------------------------\n");

        if (menu == 1){
            printf("Insert \n");
            printf("----------------------------------------\n");
            do {
                printf("Value  : ");
                scanf("%d", &value);fflush(stdin);
                insert(value, &Queue);
                printf("berhasil !\n");
                printf("Insert again ? [Y/N] : ");
                scanf("%c", &opsi);fflush(stdin);
                printf("\n");
            } while (opsi == 'Y' || opsi == 'y');
        } else if (menu == 2){
            printf("Delete \n");
            printf("----------------------------------------\n");
            if (Queue.front == NULL){
                printf("\nData belum ada !\n");
            } else {
                deleteQueue(&Queue);
                printf("\n berhasil !\n");
            }
        } else if (menu == 3){
            display(Queue);
        } else if (menu == 4){
            printf("Keluar\n");
        } else {
            printf("Menu tidak tersedia !\n");
        }
    } while (menu != 4);
}

void display(Queue Queue){
    if(Queue.front == NULL){
        printf("\nData Kosong !\n");
    } else {
        printf("-> Isi Data : \n");
        Elemen *current = Queue.front;
        while(current != NULL){
            printf("%d \n",current->Data.value);
            current = current->next;
        }
    }
}

void insert(int value, Queue *Queue){
    Elemen *current = (Elemen*) malloc(sizeof(Elemen));
    current->Data.value = value;

    if(Queue->front == NULL){
        Queue->front = current;
        Queue->rear = current;
        current->next = NULL;
        current = NULL;
    } else {
        Queue->rear->next = current;
        Queue->rear = current;
        current->next = NULL;
        current = NULL;
    }
}

void deleteQueue(Queue *Queue){
    Elemen *current = (Elemen*) malloc(sizeof(Elemen));
    if(Queue->front->next != NULL){
        current = Queue->front;
        Queue->front = current->next;
    } else {
        Queue->front = NULL;
    }
    free(current);
    current = NULL;
}

link terkait:
contoh stack menggunakan array bahasa c
contoh stack menggunakan linked list bahasa c
contoh queue menggunakan array bahasa c 
Share:

Tuesday, December 3, 2019

Contoh queue menggunakan array bahasa c

tampilan awal dari contoh queue menggunakan array bahasa c dengan kasus antrian mobil di gerbang tol

Contoh queue menggunakan array bahasa c

Kasus : antrian mobil di gerbang tol

== program ==
#include <iostream>
#include <string.h>
#include <string>
#include<conio.h>
#define MAX 5
using namespace std;
struct Queue{
    int front, rear, gerbang[MAX];
} Q;

struct Queue1{
    int front, rear, gerbang[MAX];
} Q1;
int label;

bool isFull(int a){
    if(a == 1){
        return Q.rear == MAX;
    } else if(a == 2){
        return Q1.rear == MAX;
    } else {
        return false;
    }
}

bool isEmpty(int a){
    if(a == 1){
        return Q.rear == 0;
    } else if(a == 2){
        return Q1.rear == 0;
    } else {
        return false;
    }
}

void printQueue(){
    cout << "+--------------------------------------+"<<endl;
    cout << "|   Gerbang Tol 1 Tersedia "<< MAX - Q.rear <<" Antrian   |"<<endl;
    cout << "+======================================+"<<endl;
    if(isEmpty(1)){
        cout << "          Antrian kosong              "<<endl;
    } else {
        for (int i = Q.front; i < Q.rear; i++){
            cout<<"+----+  ";
        }
        cout<<endl;
        for (int i = Q.front; i < Q.rear; i++){
            cout<<"| "<<Q.gerbang[i]<<((Q.gerbang[i] < 10) ? " " : "")<<" |  ";
        }
        cout <<endl;
        for (int i = Q.front; i < Q.rear; i++){
            cout<<"+----+  ";
        }
        cout<< endl;
    }
    cout << "+======================================+"<<endl<<endl;
  
    cout << "+--------------------------------------+"<<endl;
    cout << "|   Gerbang Tol 2 Tersedia "<< MAX - Q1.rear <<" Antrian   |"<<endl;
    cout << "+======================================+"<<endl;
    if(isEmpty(2)){
        cout << "          Antrian kosong              "<<endl;
    } else {
        for (int i = Q1.front; i < Q1.rear; i++){
            cout<<"+----+  ";
        }
        cout<<endl;
        for (int i = Q1.front; i < Q1.rear; i++){
            cout<<"| "<<Q1.gerbang[i]<<((Q1.gerbang[i] < 10) ? " " : "")<<" |  ";
        }
        cout <<endl;
        for (int i = Q1.front; i < Q1.rear; i++){
            cout<<"+----+  ";
        }
        cout<< endl;
    }
    cout << "+======================================+"<<endl;
}

void enqueue(){
    int pilihGerbang;
    cout<<"----------------------\n"
        <<"1. Gerbang Tol 1      \n"
        <<"2. Gerbang Tol 2      \n"
        <<"----------------------\n";
    cout<<"Pilih Gerbang Tol : ";cin>>pilihGerbang;
    switch(pilihGerbang){
        case 1:
            if(isFull(1)){
                cout<<"----------------------\n"
                    <<" Gerbang Tol 1 Penuh  \n"
                    <<"----------------------\n";
            } else {
                label = label + 1;
                Q.gerbang[Q.rear] = label;
                Q.rear++;
                cout<<"----------------------------------\n"
                    <<"Mobil telah masuk ke gerbang tol 1\n"
                    <<"----------------------------------\n";
            }
            break;
        case 2:
            if(isFull(2)){
                cout<<"----------------------\n"
                    <<" Gerbang Tol 2 Penuh  \n"
                    <<"----------------------\n";
            } else {
                label = label + 1;
                Q1.gerbang[Q1.rear] = label;
                Q1.rear++;
                cout<<"----------------------------------\n"
                    <<"Mobil telah masuk ke gerbang tol 2\n"
                    <<"----------------------------------\n";
            }
            break;
        default:
            cout<<"--------------------------\n"
                <<"Gerbang Tol tidak tersedia\n"
                <<"--------------------------\n";
            break;
    }
}

void dequeue(){
    int pilihGerbang;
    cout<<"----------------------\n"
        <<"1. Gerbang Tol 1      \n"
        <<"2. Gerbang Tol 2      \n"
        <<"----------------------\n";
    cout<<"Pilih Gerbang Tol : ";cin>>pilihGerbang;
    switch(pilihGerbang){
        case 1:
            if(isEmpty(1)){
                cout<<"------------------------------------\n"
                    <<" Antrian Gerbang Tol 1 Masih Kosong \n"
                    <<"------------------------------------\n";
            } else {
                cout<<"-------------------------------------------------\n"
                    <<" Mobil Nomor '"<< Q.gerbang[Q.front]<<"' telah selesai dari Gerbang Tol 1\n"
                    <<"-------------------------------------------------\n";
                for(int i = Q.front; i < Q.rear; i++){
                    Q.gerbang[i] = Q.gerbang[i+1];
                }
                Q.rear--;
            }
            break;
        case 2:
            if(isEmpty(2)){
                cout<<"------------------------------------\n"
                    <<" Antrian Gerbang Tol 2 Masih Kosong \n"
                    <<"------------------------------------\n";
            } else {
                cout<<"-------------------------------------------------\n"
                    <<" Mobil Nomor '"<< Q1.gerbang[Q1.front]<<"' telah selesai dari Gerbang Tol 2\n"
                    <<"-------------------------------------------------\n";
                for(int i = Q1.front; i < Q1.rear; i++){
                    Q1.gerbang[i] = Q1.gerbang[i+1];
                }
                Q1.rear--;
            }
            break;
        default:
            cout<<"--------------------------\n"
                <<"Gerbang Tol tidak tersedia\n"
                <<"--------------------------\n";
            break;
    }
}

int main(){
    int choose;
    do{
        system("cls");
        cout<<"----------------------\n"
            <<"     Menu Pilihan     \n"
            <<"----------------------\n"
            <<" [1] Enqueue \n"
            <<" [2] Dequeue \n"
            <<" [3] Keluar \n"
            <<"----------------------\n\n";
            printQueue();
        cout<<"Masukkan pilihan : "; cin >> choose;
     
        switch(choose){
            case 1:
                enqueue();
                break;
            case 2:
                dequeue();
                break;
            case 3:
                cout<<"Keluar...";
                break;
            default:
                cout<<"----------------------\n"
                    <<"Pilihan tidak tersedia\n"
                    <<"----------------------\n";
                break;
        }
        printf("\nPress any key to continue...");
        getch();
    } while(choose != 3);
    return 0;
}

link terkait :
contoh queue menggunakan linked list bahasa c
contoh stack menggunakan linked list bahasa c
contoh stack menggunakan array bahasa c 
Share:

Tuesday, November 12, 2019

C Program For Greedy Algorithm (knapsack problem)

C Program for greedy algorithm
case : knapsack



#include <stdio.h>
#include <string.h>

int amount = 0;
int capacity;

int weightIn[20];
char nameIn[20][20];
int amountIn = 0;
void freightCar(char name[20], int weight, int index){
            capacity = capacity - weight;
            strcpy(nameIn[index],name);
            weightIn[index] = weight;
            amountIn = amountIn + 1;
}

int main(){
            printf("input amount of items (max 20): ");scanf("%d",&amount);
            if(amount > 20){
                        printf("max 20 \n");
                        main();
            }
            printf("input capacity : ");scanf("%d",&capacity);
            int weight[amount];
            char name[amount][20];
            for(int i = 0; i < amount;  i++){
                        printf("name : ");scanf("%s",&name[i]);
                        printf("weight : ");scanf("%d",&weight[i]);
            }
         
            //shorting
            for (int i = 0; i < amount; i++) {
                        for (int j = i + 1; j < amount; j++) {
                                     if (weight[i] < weight[j]) {
                                                int temp = weight[j];
                                                weight[j] = weight[i];
                                                weight[i] = temp;
                                                char temp1[20];
                                                strcpy(temp1,name[j]);
                                                strcpy(name[j],name[i]);
                                                strcpy(name[i],temp1);
                                    }
                        }
            }

            //input
            int i = 0;
            while(i < amount && capacity >= weight[i]){
                        freightCar(name[i],weight[i],i);
                        i = i+1;
           }
         
            //printout
            printf("==List Items==\n");
            for(int i = 0; i < amountIn; i++){
                        printf("name : %s \n",nameIn[i]);
                        printf("weight : %d \n",weightIn[i]);
                        printf("----------------\n");
            }
            printf("================\n");
            printf("Remaining capacity : %d",capacity);
}

Share:

Monday, August 21, 2017

Kalkulator sederhana di vb

Cara Membuat Kalkulator Sederhana di VB

Untuk membuat kalkulator sederhana di vb, pertama-tama kita buka VB. Setelah itu buat tampilan seperti gambar di bawah ini.
kalkulator sederhana di vb
Kalkulator Sederhana di VB



Tampilan di atas terdiri dari 3 label , textbox, dan 5 command button.
untuk label pertama kita beri caption "angka pertama" , label yang kedua "angka kedua" dan yang terakhir "hasil" (tanpa tanda kutip). untuk textbox, textnya di kosongkan seperti tampilan di atas, text1 letakkan di pinggir label dengan caption angka pertama, text2 diletakkan di pinggir label dengan caption angka kedua, dan text yang terakhir disimpan di pinggir label dengan caption hasil. untuk command button yang pertama kita beri caption "+" (tambah), yang kedua "-" (kurang), yang ketiga "X" (kali), yang ke-empat "/" (bagi), dan yang terakhir "^" (pangkat).(tanpa tanda kutip).
untuk memasukkan script penambahan, kita klik di command button yang memiliki caption tambah. untuk pengurangan,kita klik dua kali juga di command button yang memiliki caption pengurangan. dan yang lainnya pun sama.

Script penambahan

double klik button "+" lalu masukkan :
text3.text = val(text1) + val(text2)

Script pengurangan

double klik button "-" lalu masukkan :
text3.text = val(text1) - val(text2)

Script perkalian

double klik button "X" lalu masukkan :
text3.text = val(text1) * val(text2)

Script pembagian

double klik button "/" lalu masukkan :
text3.text = val(text1) / val(text2)

Script perpangkatan

double klik button "^" lalu masukkan :
text3.text = val(text1) ^ val(text2)
Share:

Monday, July 31, 2017

Skrip Dasar PHP (Hypertext Preprocessor) Untuk Pemula

Skrip Dasar PHP

Untuk para pemula yang ingin belajar PHP, kalian bisa simak skrip dasar php di bawah ini. oh iya, sebelum menuliskan skrip php dasar, kalian di haruskan untuk menginstall xampp atau wamp, tapi saya menggunakan xampp. Setelah xampp berhasil di install, kalian bisa coba menuliskan skrip seperti pada gambar 1.0 di bawah ini atau jika ingin meng copy nya kalian bisa copy skrip ini
<?php
echo "hello, ini adalah php pertama saya";
?>
skrip dasar php
gambar 1.0 skrip dasar php



setelah kalian menuliskan skrip seperti gambar 1.0 di atas atau meng copy paste skrip php dasar di atas, kalian simpan file tersebut dengan menekan tombol ctrl + s, dan di simpannya di xampp -> htdcos lalu beri nama "pertama.php" tanpa tanda kutip. Untuk melihat
hasilnya, kalian buka xampp lalu klik start di samping apache dan mySQL seperti yang di lingkari merah di gambar 1.2 di bawah ini.

xampp start
gambar 1.2 memulai xampp

Jika sudah, kalian buka di browser dan ketikkan 127.0.0.1//pertama.php seperti gambar 1.3 di bawah ini.

file pertama php
gambar 1.3 file php pertama
jika tampilannya seperti gambar 1.3 di atas ini, maka program php pertama kalian telah berhasil dan siap untuk melanjutkan ke program selanjutnya.
Share:
Powered by Blogger.

Labels

Pages

Pages

Featured Post

Penulisan Kata dalam Ejaan Bahasa Indonesia

Penulisan Kata dalam Ejaan Bahasa Indonesia Kata Dasar Kata dasar ditulis sebagai satu kesatuan. Contoh: Kantor pajak penuh sesak. Kat...