Friday, October 11, 2013

cara buat game TETRIS in C#

  

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tetris
{
    public partial class Form1 : Form
    {
        public lurus2 tetris;
        public Form1()
        {
            InitializeComponent();
        }


        private void btnRandom_Click(object sender, EventArgs e)
        {
            lurus2 tetris = new lurus2();
            tetris.buat(gbLayar);
        }

        class lurus2
        {
            int xawal = 100;
            int yawal = 50;

            Button kotak = new Button();
            Button kotak2 = new Button();
            Button kotak3 = new Button();

            public void buat(GroupBox layar)
            {
                kotak.Size = new Size(20, 20);
                kotak.Left = kotak.Left + xawal;
                kotak.Top = kotak.Top + yawal;
                layar.Controls.Add(kotak);

                kotak2.Size = new Size(20, 20);
                kotak2.Left = kotak.Left + 20;
                kotak2.Top = kotak.Top;
                layar.Controls.Add(kotak2);

                kotak3.Size = new Size(20, 20);
                kotak3.Left = kotak2.Left + 20;
                kotak3.Top = kotak2.Top;
                layar.Controls.Add(kotak3);
            }



            public void geser_kiri()
            {
                kotak.Left = kotak.Left + 20;
                kotak2.Left = kotak2.Left + 20;

            }




            /*void lurus()
            {
                Button kotak = new Button();
                Button kotak2 = new Button();
                Button kotak3 = new Button();
                kotak.Size = new Size(20, 20);

                gbLayar.Controls.Add(kotak);
                kotak.Left = 100;
                kotak.Top = 150;
                kotak2.Left = kotak.Left + 20;
                kotak2.Size = new Size(20, 20);
                kotak2.Top = kotak.Top;
                gbLayar.Controls.Add(kotak2);
                kotak3.Left = kotak2.Left + 20;
                kotak3.Top = kotak.Top;
                kotak3.Size = new Size(20, 20);
                gbLayar.Controls.Add(kotak3);
            }*/

            private void btnKiri_Click(object sender, EventArgs e)
            {

            }

        }

        private void btnKiri_Click(object sender, EventArgs e)
        {
            tetris.geser_kiri();
        }
    }
}

Pemrograman WEB


PEMROGRAMAN BERORIENTASI OBJEK_ C#



//Program menghitung hambatan
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MenghitungHambatan
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            float r1 = Convert.ToSingle(txtR1.Text);
            float r2 = Convert.ToSingle(txtR2.Text);
            float r3 = Convert.ToSingle(txtR3.Text);
            float r4 = Convert.ToSingle(txtR4.Text);

            if (optSeri.Checked) {
            txtHasil.Text= Convert.ToString(seri(r1,r2,r3,r4));
            }
            if (optParalel.Checked) {
                txtHasil.Text = Convert.ToString(paralel(r1,r2,r3,r4));
            }
        }
        //bebas membuat fungsi
        float seri(float r1, float r2, float r3, float r4) {
            return r1 + r2 + r3 + r4;
        }
        float paralel(float r1, float r2, float r3, float r4) {
            return (1 / r1) + (1 / r2) + (1 / r3) + (1 / r4);
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {

        }
    }
}


perancangan basis data 3


Perancangan Basis data - 2


perancangan basis data


Thursday, April 4, 2013

operasi didalam LINKED LIST

Operasi-Operasi yang ada pada Linked List

Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.
IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.
Find First
Fungsi ini mencari elemen pertama dari linked list
Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now
Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.

Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu
Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus
adalah elemen pertama dari linked list (head), head akan berpindah ke
elemen berikut.
Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen
sesudahnya.
Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan
bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda
melakukannya, data-data yang dialokasikan ke memori pada program
sebelumnya akan tetap tertinggal di dalam memori.

Operasi Penghapusan
Penghapusan node dilakukan dengan memutus rantai node
kemudian menghapus node. Jika node berada di tengah rangkaian,
rangkaian yang terputus perlu disambung kembali. Untuk
memudahkan penghapusan simpul dibutuhkan dua cursor sebagai
simpul bantu. Selain cursor juga dibutuhkan simpul head sebagai
acuan awal simpul dalam rangkaian.

Berikut langkah langkah untuk menghapus simpul dalam
rangkaian:
Buat cursor bantu yang menunjuk ke awal node(simpul).
Pindahkan cursor ke node berikutnya
Putus sambungan awal node dengan node berikutnya.
Hapus rangkaian
Jika berada di akhir rangkaian, putuskan dari rangkaian
sebelumnya
Jika di tengah rangkaian, pindahkan penunjukan node berikutnya,
atau di akhir, atau setelah node yang akan dihapus

Pengertian:
Node : rangkaian beberapa simpul
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar


C++ LINKED list

setelah saya membuat coding LINKED list, inilah tampilan hasil dari coding setelah kita tekan 'F5'

1. MEMASUKAN DATA


2. MENGHAPUS DATA
    dalam menghpaus data kita beri perintah pada komputer untuk menghapus data yang akan kita hapus 
    dengan menekan tombol pada pilihan no.2 nanti data akan keluar pada pilihan nama/npm yang mau 
    dihapus seperti yang anda bisa lihat pada gambar



3. PENCARIAN DATA
    fungsinya adalah untuk memudahkan kita mencari data yang ada dengan cepat, disini program akan 
    memberi perintah untuk memasukan nama/npm yang ingin kita cari, setelah itu akan muncul data siswa dan 
    nilai yang ingin di tampilkan, seperti pada gambar dibawah berikut ini;



4. MENAMPILKAN DATA LIST
    fungsinya adalah menampilkan semua jumlah data mahasiswa dan nilai yang tercantum hingga bisa 
    mengetahui data-data mahasiswa yang sudah masuk atau tersimpan








linked list C++ (penambahan, pencarian, penghapusan data)

kali ini saya akan membuat program Linked List didalam Microsoft Visual Studio C++, sedikit penambahan, Linkes list yang saya buat ini berguna untuk mencari, memasukan, dan menghapus suatu data
karya : VANNY MONIAGA
jurusan : Ilmu Komputer
Universitas International Batam
matakuliah : Algoritma
Dosen: Yuniansyah, S.kom, M.kom

Berikut coding-coding dibawah ini :


#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

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

// membandingkan dua buah string (ignore case)


int _tmain(int argc, _TCHAR* argv[])
{
}
int compare(char *str1, char *str2) {
    int len = strlen(str1);
    int beda = 0;

    for (int i=0; i<len; i++) {
        if (str1[i] >= 'A' && str1[i] <= 'Z') str1[i] += 32;
        if (str2[i] >= 'A' && str2[i] <= 'Z') str2[i] += 32;

        if (str1[i] != str2[i]) beda++;
        if (str2[i] == 'beda') {
            beda++;
                return beda;
        }
    }

    if (strlen(str2) < len) {
        beda += strlen(str2) - len;
    }

    return beda;
}

int main()
{
    struct list {
        char npm[16];
        char nama[64];
        float nilai;
        struct list *next;
    };

    struct list *awal, *akhir, *p, *Psbl, *baru;

    awal = akhir = NULL;

    int pilihan = 1, posisi, posisi_sekarang,posisi_data;
    char cari[64], konfirmasi;
    do {
        switch (pilihan) {
            case 1: // tambah data kedalam list
                CLS;
                baru = (struct list *) malloc(sizeof(struct list)); // alokasikan list baru di memori
                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) {
                    baru->next = NULL;
                    awal = baru;
                    akhir = baru;
                } else {
                    printf("\nTambahkan Data di (Default = akhir) : \n");
                    printf("1. Awal\n2. Tengah\n3. Akhir\n\nPilihan Anda : ");
                    scanf("%d", &posisi);
                    switch(posisi) {
                        case 1:
                            // tambah data di awal list
                            baru->next = awal;
                            awal = baru;
                            PAUSE;
                            break;

                        case 2:
                            printf("Masukan posisi data : "); scanf("%d", &posisi_data);
                            p = awal;
                            Psbl = NULL;
                            posisi_sekarang = 1;
                            while (p != NULL && posisi_sekarang < posisi_data) {
                                //Psbl = p;
                                p = p->next;
                                posisi_sekarang++;
                            }
                            if (p != NULL) {
                                // tambahkan data di tengah (posisi_data)
                                Psbl = p;
                                baru->next = p->next;
                                Psbl->next = baru;
                            }
                            break;

                        case 3:
                        default:
                            // tambah data di akhir list
                            akhir->next = baru;
                            akhir = baru;
                            baru->next = NULL;
                            PAUSE;
                            break;
                    }
                }

                break;

            case 2:
                CLS;
                p = awal;
                printf("\n------------------------------------------\n");
                if (p == NULL) {
                    printf("\n List Kosong\n");
                    printf("\n------------------------------------------\n");
                    break;
                } else {
                    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");
                printf("Masukan NPM/Nama dari data yang ingin dihapus : ");
                scanf("%s", cari);
                CLS;
                Psbl = NULL;
                p = awal;
                while (p != NULL) {
                    if (compare(p->npm, cari) == 0 || compare(p->nama, cari) == 0) {
                        printf("\n\n------------------------------------------\n");

                        printf("\nNPM   : %s", p->npm);
                        printf("\nNama  : %s", p->nama);
                        printf("\nNilai : %.2f", p->nilai);
                        printf("\n------------------------------------------\n");

                        printf("\nIngin menghapus data di atas (y/n) : ");
                        scanf("%s", &konfirmasi);
                        if (konfirmasi == 'y' || konfirmasi == 'Y') {
                            if (awal->next == NULL) {
                                awal = NULL;
                                akhir = awal;
                            } else if (p == awal) {
                                // hapus di awal
                                Psbl = awal;
                                awal = Psbl->next;
                            } else if (p == akhir) {
                                // hapus di akhir
                                Psbl->next = NULL;
                                akhir = Psbl;
                            }
                            else {
                                // hapus di tengah
                                Psbl->next = p->next;
                            }

                            printf("\nData berhasil dihapus.\n\n");
                        } else {
                            printf("\nData tidak jadi dihapus.\n\n");
                        }

                        break;
                    }
                    Psbl = p;

                    p = p->next;
                }

                if (p == NULL) {
                    printf("\n\nNPM/Nama tidak ditemukan !\n\n");
                }
                PAUSE;
                break;

            case 3:
                CLS;
                printf("\nMasukan NPM/Nama yang di cari : ");
                scanf("%s", cari);

                p = awal;
                while (p != NULL) {
                    if (compare(p->npm, cari) == 0 || compare(p->nama, cari) == 0) {
                        printf("\n\n------------------------------------------\n");

                        printf("\nNPM   : %s", p->npm);
                        printf("\nNama  : %s", p->nama);
                        printf("\nNilai : %.2f", p->nilai);
                        printf("\n------------------------------------------\n");

                        PAUSE;
                        break;
                    }
                    p = p->next;
                }
                if (p == NULL) {
                    printf("\nData tidak ditemukan ! \n\n");
                    PAUSE;
                }
                break;

            case 4: // tampilkan list
                CLS;

                p = awal;
                printf("\n------------------------------------------\n");
                if (p == NULL) {
                    printf("\n List Kosong\n");
                    printf("\n------------------------------------------\n");
                } else {
                    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\n"
                 "2. Hapus data\n"
                 "3. Pencarian data\n"
                 "4. Tampilkan list\n"
                 "0. Keluar\n\n");
        printf("Pilihan Anda : ");
        scanf("%d", &pilihan);
    } while (pilihan > 0);

    return 0;
}

LINKED LIST


DEFINISI
Linked list (list bertaut) adalah salah satu struktur data dasar yang
sangat fundamental dalam bidang ilmu komputer. Dengan
menggunakan linked list maka programmer dapat menimpan datanya
kapanpun dibutuhkan. Linked list mirip dangan array, kecuali pada
linked list data yang ingin disimpan dapat dialokasikan secara dinamis
pada saat pengoperasian program (run-time).
Linked List sering disebut juga Senarai Berantai Linked List saling
terhubung dengan bantuan variabel pointer Masing-masing data dalam
Linked List disebut dengan node (simpul) yang menempati alokasi
memori secara dinamis dan biasanya


CATATAN :
- Ada dua hal yang menjadi kerugian dengan representasi suatu data dengan
linked list ini,
  yaitu :
  1. Diperlukan ruang tambahan untuk menyatakan/tempat field pointer.
  2. Diperlukan waktu yang lebih banyak untuk mencari suatu node dalam linked
       list.
- Sedangkan keuntungannya adalah :
  1. Jenis data yang berbeda dapat di-link.
  2. Operasi REMOVE atau INSERT hanya dilakukan dengan mengubah pointer-nya saja.