Sabtu, 24 Desember 2011

Program Konverter Bilangan Biner, Oktal, Desimal dalam Bahasa C

Kalau sebelumnya pernah di postingkan beberapa program konverter bilangan desimal ke biner dan biner ke desimal,,kali ini sama program konverter bilangan juga tapi digabung dari beberapa program konverter sebelumnya,,


#include<stdio.h>
#include<conio.h>
//-------------------------------------------------------
void tekan();
void salah();
//-------------------------------------------------------
void main()
{

    int pilihan,pilih;

    menu:
    clrscr();
    printf("********************************");
    printf("\n-------PROGRAM KONVERTER--------");
    printf("\n********************************");
    printf("\n\n1. Biner ke Desimal");
    printf("\n2. Oktal ke Desimal");
    printf("\n3. Desimal ke Oktal\n");
    printf("\nMasukkan pilihan anda: ");
    scanf("%d",&pilihan);
    switch(pilihan)
    {
        case(1):
        {
            clrscr();
            int bil,bbil,des=0,base=1,temp;
            printf("Masukkan bilangan biner(kombinasi 1 dan 0) : ");
            scanf("%d",&bil);
            bbil=bil;
            while(bil>0)
            {
                temp=bil%10;
                des=des+(temp*base);
                bil=bil/10;
                base=base*2;
            }
            printf("Desimal dari %d adalah : %d",bbil,des);
            tekan();
            goto exit;
        }

        case(2):
        {
            clrscr();
            int oktal;
            printf("Masukkan bilangan oktal(kombinasi 0,1,2,3,4,5,6,7) : ");
            scanf("%o",&oktal);
            printf("Desimal dari %o adalah : %d",oktal,oktal);
            tekan();
            goto exit;
        }

        case(3):
        {
            clrscr();
            int des;
            printf("Masukkan bilangan desimal : ");
            scanf("%d",&des);
            printf("Oktal dari %d adalah : %o",des,des);
            tekan();
            goto exit;
        }
        default:
        {
         clrscr();
         salah();
         goto menu;
        }
    }


exit:
clrscr();
printf("Apakah anda ingin menghitung lagi");
printf("\n[1] YA [2] TIDAK: ");
scanf("%d",&pilih);
if(pilih==1)
{
    goto menu;
}
if(pilih==2)
{
    clrscr();
    printf("Thanks For your Attention");
}
if(pilih==3)
{
     salah();
     goto exit;
}
}


//-----------------------------------------------------------
void tekan()
{
    printf("\n<<<<<TEKAN ENTER>>>>>");
    getch();
}

void salah()
{
    printf("Masukkan hanya sesuai nomor pilihan\n");
    printf("<<<<<TEKAN ENTER>>>>>");
    getch();
}

Sabtu, 17 Desember 2011

Program Konverter Bilangan Desimal ke Biner dalam Bahasa C

Nah,,kalau sebelumnya program konverter bilangan biner ke desimal yang kali ini kebalikannya,,program konverter desimal ke biner,,langsung aja ya,,

#include<stdio.h>
void main()
{
    long bil,bbil,temp,base=1,bin=0;
    printf("Masukkan bilangan desimal : ");
    scanf("%li",&bil);
    bbil=bil;
    while(bil>0)
    {
        temp=bil%2;
        bin=bin+(temp*base);
        bil=bil/2;
        base=base*10;
    }
    printf("biner dari %li adalah : %li",bbil,bin);
}

Program Konverter Bilangan Biner ke Desimal dalam Bahasa C

#include<stdio.h>
void main()
{
    int bil,bbil,des=0,base=1,temp;
    printf("Masukkan bilangan biner : ");
    scanf("%d",&bil);
    bbil=bil;
    while(bil>0)
    {
        temp=bil%10;
        des=des+(temp*base);
        bil=bil/10;
        base=base*2;
    }
    printf("Desimal dari %d adalah : %d",bbil,des);
}

Program Konverter Suhu dalam Bahasa C

Tak pandai merangkai kata,,so bagi yang butuh dan ingin belajar copas aja langsung,,hehehe
mungkin cuma program sederhana dan mudah bagi yang master program,tapi niat cuma ingin berbagi meskipun apa adanya,,:D

#include<stdio.h>
#include<conio.h>
void main()

{     int c,k,f,r,pilihan;
    menu:
    gotoxy(27,1);printf("Program Konversi Suhu\n");
    gotoxy(26,2);printf("***********************\n\n\n\n");
    printf("Masukkan suhu dalam celcius: ");
    scanf("%d",&c);
    clrscr();
    printf("Mau anda konversikan ke dalam suhu:");
    printf("\n1. Kelvin");
    printf("\n2. Reamur");
    printf("\n3. Fahrenheit");
    printf("\nMasukkan pilihan anda (1-3) : ");
    scanf("\n\n%d",&pilihan);

    switch(pilihan)
    {
    case (1):
    { k=c+273;
    printf("\n\nDalam Kelvin adalah %d",k);
    printf(" derajat");
    break; }
    case (2):
    { r=c*80/100;
    printf("\n\nDalam Reamur adalah %d",r);
    printf(" derajat");
    break;}
    case (3):
    { f=(c*180+3200)/100;
    printf("\n\nDalam Fahrenheit adalah %d",f);
    printf(" derajat");
    break;}
    default:
    { printf("\n\nPilihan yang anda masukkan salah");
    break;}
    }
    pilihan:
    getch();
    clrscr();
    printf("Mau hitung lagi???\n");
    printf("[1] Ya [2] Tidak\n");
    printf("\nMasukkan Pilihan: ");
    scanf("%d",&pilihan);
    switch (pilihan)
    {
    case (2):
    {  clrscr();
        printf("Thank for using my program\n");
        printf("By: Agustriadi SK'09");
        break;    }
    case (1):
    {    clrscr();
        goto menu;
        break;    }
    default:
    {printf("\nPilihan yang anda masukkan salah");
    goto pilihan;
    break; }
    }
}

Subnetting

Pengertian Subnetting
Subnetting adalah suatu metode untuk memperbanyak network ID dari suatu network ID yang telahanda miliki. Contoh kasus diperiukannya subnetting: Sebuah perusahaan memperoleh IP address network kelas C 192.168.0.0. Dengan IP network tersebut maka akan didapatkan sebanyak 254 (28-2) alamat IP address yang dapat kita pasang pada komputer yang terkoneksi ke jaringan. Yang menjadi masalah adalah bagaimana mengelola jaringan dengan jumlah komputer lebih dari 254 tersebut. Tentu tidak mungkin jika anda harus menempatkan komputer sebanyak itu dalam satu lokasi. Jika anda hanya menggunakan 30 komputer dalam satu kantor, maka ada 224 IP address yang tidak akan terpakai. Untuk mensiasati jumlah IP address yang tidak terpakai tersebut dengan jalan membagi IP network menjadi beberapa network yang lebih kecil yang disebut subnet.
Rumus untuk menghitung jumlah subnet adalah: 2n -2 n adalah jumlah bit yang diselubungi
Rumus untuk menghitung jumlah host per subnet = 2N – 2 N adalah jumlah bit yang masih tersisa untuk host ID
Fungsi Subnetting
fungsi subnetting antara lain sbb:
  1. Mengurangi lalu-lintas jaringan, sehingga data yang lewat di perusahaan tidak akan bertabrakan (collision) atau macet.
  2. Teroptimasinya unjuk kerja jaringan.
  3. Pengelolaan yang disederhanakan.
  4. Membantu pengembangan jaringan ke arah jarak geografis yang menjauh,
Untuk contohnya kita bisa ambil kasus sbb : WAN yang menggunakan jaringan antar kota yang berbeda. lebih optimpal jaringan tersebut dengan subnetting.
 Proses Subnetting
untuk melakukan proses subnetting kita akan melakukan beberapa proses antara lain :
  • Menentukan jumlah subnet yang dihasilkan oleh subnet mask
  • Menentukan jumlah host per subnet
  • Menentukan subnet yang valid
  • Menentukan alamat broadcast untuk tiap subnet
  • Menentukan host – host yang valid untuk tiap subnet

Minggu, 17 April 2011

Managemen Memory

1. Terangkan dengan singkat, pasangan konsep berikut ini. Terangkan pula perbedaan atau/dan persamaan pasangan konsep tersebut:
• Address Space: ”Logical” vs. ”Physical”.
• Virtual Memory Allocation Strategy: ”Global” vs. ”Local Replacement”.
Jawab:
• Address space logical adalah Kumpulan alamat logika yang dibuat oleh program.
Address space Physical sdalah Kumpulan alamat fisik yang berkorespondensi dengan alamat logika.
Persamaan :
pada Waktu kompilasi dan waktu pemanggilan menghasilkan daerah dimana alamat logika dan alamat fisik sama.
Perbedaannya:
pada waktu eksekusi menghasilkan alamat fisik dan logika yang berbeda.
• Masalah pada algoritma Penggantian Global adalah bahwa sebuah proses tidak bisa mengontrol kesalahan halaman-nya sendiri. Halaman-halaman dalam memori untuk sebuah proses tidak hanya tergantung pada prilaku penghalamanan dari proses tersebut, tetapi juga pada prilaku penghalamanan dari proses lain. Karena itu, proses yang sama dapat tampil berbeda.
Dengan Penggantian Global, ada kemungkinan sebuah proses hanya menyeleksi frame-frame yang teralokasi pada proses lain, sehingga meningkatkan jumlah frame yang teralokasi pada proses itu sendiri (asumsi bahwa proses lain tidak memilih frame proses tersebut untuk penggantian.
Pada Pergantian global juga memperbolehkan sebuah proses mencari frame pengganti dari semua frame-frame yang ada, walaupun frame tersebut sedang dialokasikan untuk proses yang lain. Hal ini memang efisien. Tetapi ada kemungkinan proses lain tidak mendapatkan frame karena framenya terambil oleh proses lain.
Penggantian lokal memberi aturan bahwa setiap proses hanya boleh memilih frame pengganti dari frame-frame yang memang dialokasikan untuk proses itu sendiri.Dalam penggantian lokal, jumlah frame yang teralokasi tidak berubah. Dalam Penggantian Lokal, halaman-halaman dalam memori untuk sebuah proses hanya dipengaruhi prilaku penghalamanan proses itu sendiri. Penggantian Lokal dapat menyembunyikan sebuah proses dengan membuatnya tidak tersedia bagi proses lain, menggunakan halaman yang lebih sedikit pada memori. Jadi, secara umum Penggantian Global menghasilkan sistem throughput yang lebih bagus, maka itu artinya metode yang paling sering digunakan.

2. Jelaskan tahapan-tahapan agar suatu proses bisa masuk ke dalam memori!
Jawab:
a. Suatu proses harus menunggu di sebuah input queue,
b. Setelah itu barulah mereka akan diberikan alamat pada memori.
c. Pemberian alamat dapat dilakukan pada waktu compile, waktu pemanggilan,
dan waktu eksekusi.

3. Jelaskan apa yang dimaksud dengan alamat logika dan alamat fisik!
Jawab:
Alamat Logika adalah alamat yang dibentuk di CPU, disebut juga alamat virtual.
Alamat fisik adalah alamat yang telihat oleh memori.

4. Jelaskan apa yang dimaksud dengan pemanggilan dinamis beserta kegunaannya!
Jawab:
Pemanggilan Dinamis adalah suatu proses yang berlangsung dengan tidak memerlukan bantuan sistem operasi ,untuk mendapatkan utilisasi ruang memory yang baik,dengan pemanggilan dinamis,sebuah rutin tidak akan dipanggil sampai diperlukan.
Kegunaan dari metode ini :
a. Untuk kode dalam jumlah banyak, ketika muncul kasus-kasus yang tidak lazim,seperti rutin yang salah. Dalam kode yang besar, walaupun ukuran kode besar, tapi yang dipanggil dapat jauh lebih kecil.
b. Rutin yang tidak diperlukan tidak akan dipanggil.

5. Apakah kegunaan dari overlays?
Jawab:
Overlays berguna untuk memasukkan suatu proses yang membutuhkan memori lebih besar dari
yang tersedia.
Idenya untuk menjaga agar di dalam memori berisi hanya instruksi dan data yang dibutuhkan dalam satuan waktu. Rutinnya dimasukkan ke memori secara bergantian.

blog.unsri.ac.id/agustriadi

Sabtu, 02 April 2011

Ptoteksi Memory

Proteksi Memory

Proteksi Memori adalah cara untuk mengontrol hak akses memori pada komputer, dan merupakan bagian dari paling modern sistem operasi . Tujuan utama dari proteksi memori adalah untuk mencegah proses mengakses memori yang belum dialokasikan untuk itu. Hal ini untuk mencegah bug dalam suatu proses dari yang mempengaruhi proses lainnya, atau sistem operasi itu sendiri.perlindungan Memori adalah perilaku yang berbeda dari ASLR dan NX bit.