20 Juni 2010

BABAK PENYISIHAN PERTAMA KRI 2010 NASIONAL


Babak penyisihan pertama KRI 2010 Nasional di Universitas Muhammadiyah Malang
Nama Tim Skor
Fakubo(ITS) Vs. Nyusun 3P(Politeknik Manufaktur Timah) 80 - 11
Al Casir(Universitas Islam Sultan Agung) Vs. roro Jonggrang 2010(UNDIP) 0 - 7
Blue Rock(Universitas Budi Luhur Jakarta) Vs. Garuda(UGM) 9 - 9 (Pemenang UGM)
Ken Arok(Polteknik Negeri Malang) Vs. New_Soocer( Politeknik Negeri Jakarta) 11 - 0
Mio-rEi(Politeknik Elektronika Negeri Surabaya) Vs. Paraikatte(Universitas Hasanuddin Makasar) 70 - 33
Zhafarul ’10( Universitas Muhammadiyah Malang) Vs. Al-Fatih( UII Yograkarta) 9 - 3
Maestro_X(Universitas Negeri Yogyakarta) Vs. FONNA( Politeknik Aceh) 13 - 0
Amru(Universitas Brawijaya) Vs. o3stad_11k(STIKOM Surabaya) 18 - 7

Hasil Drawing KRI 2010 NASIONAL


Berikut Hasil drawing KRI 2010 di niversitas Muhammadiyah Malang
GRUP
Nama Tim
Institusi
A1
F4KuBo Institut Teknologi Sepuluh Nopember
A2
NYU SUN 3 P Politeknik Manufaktur Timah Bangka
A3
VICI Institut Teknologi Bandung
B1
AL CASIR Universitas Islam Sultan Ageng Semarang
B2
Roro Jonggrang 2010 Universitas Diponegoro
B3
MAT BUILDER Politeknik Negeri Jember
C1
BLUE ROCK Universitas Budi Luhur Jakarta
C2
Garuda Universitas Gajah Mada
C3
AJIB Universitas Tarumanegara
D1
KEN AROK Politeknik Negeri Malang
D2
NEW_SOON TEM Politeknik Negeri Jakarta
D3
Al Faruq Politeknik Negeri Ujung Pandang
E1
Mio_Rei Politeknik Elektronika Negeri Surabaya
E2
Paraikatte Universitas Hasanuddin
E3
TRUI Universitas Indonesia
F1
ZHAFARUL 10 Universitas Muhammadiyah Malang
F2
AL FATIH Universitas Islam Indonesia
F3
AL BANNA Politeknik Caltex Riau
G1
MAESTRO-X Universitas Negeri Yogyakarta
G2 FONNA Politeknik Aceh
G3
ANTS PU STMIK Potensi Utama Medan
H1
AMRU Universitas Brawijaya
H2 O3stad_11k STIKOM Surabaya
H3
In The Moesty Politeknik Negeri Banjarmasin

Putaran I Putaran II Putaran III
F4KuBo Vs. NYU SUN 3 P NYU SUN 3 P Vs. VICI VICI Vs. AL CASIR
AL CASIR Vs. Roro Jonggrang 2010 Roro Jonggrang 2010 Vs. MAT BUILDER AL CASIR Vs. MAT BUILDER
BLUE ROCK Vs. Garuda Garuda Vs. AJIB BLUE ROCK Vs. AJIB
KEN AROK Vs. NEW SOON TEM NEW SOON TEM Vs. Al Faruq KEN AROK Vs. Al Faruq
Mio_Rei Vs. Paraikatte Paraikatte Vs. TRUI Mio_Rei Vs. TRUI
ZHAFARUL 10 Vs. Al FATIH Al FATIH Vs. AL BANNA ZHAFARUL 10 Vs. AL BANNA
MAESTRO-X Vs. FONNA FONNA Vs. ANTS PU MAESTRO-X Vs. ANTS PU
AMRU Vs. O3stad_11k O3stad_11k Vs. In The Moesty AMRU Vs. In The Moesty

Hasil Drawing KRCI BATTLE 2010 NASIONAL


Berikut Hasil drawing KRCI BATTLE 2010 di niversitas Muhammadiyah Malang
GRUP
Nama Tim
Institusi
A1
R2C BATTLE Universitas Kristen Satya Wacana-Salatiga
A2
Baco'_Becce' Universitas Hasanuddin
A3
ELSADHA Universitas Sanata Dharma
B1
H110 Institut Teknologi Telkom
B2
BF170 Politeknik Manufaktur Bandung
B3
El'Safa' Universitas Muhammadiyah Malang
C1
L-F17 Politeknik Elektronika Negeri Surabaya
C2
SANG RUWA JURAI STMIK Teknokrat Bandar Lampung
C3
DEWO Universitas Negeri Surabaya
D1
BUJANG MIAK Politeknik Manufaktur Bandung
D2
GERI Universitas Gajah Mada
D3
SANGKURIANG Institut Teknologi Bandung
E1
Al-Aa'diyat Universitas Negeri Yogyakarta
E2
ARCALA Institut Teknologi Sepuluh Nopember
E3
DRAGON BALL Universitas Semarang
F1
IC_TERU Universitas Tadulako Palu
F2
QONIX Universitas Dian Nuswantoro Semarang
F3
SIKAMBA Universitas Bung Hatta Padang
G1
DU 99-V2 Universitas Komputer Indonesia Bandung
G2 Ball2AN Universitas Katolik Widya Mandala Surabaya
G3
CAPTAIN H Universitas Indonesia
H1
DEVIA STMIK Asia Malang
H2 ABENQ2_PNB Politeknik Bengkalis
H3
BARELANG IV Politeknik Batam

Putaran I Putaran II Putaran III
R2C BATTLE Vs. Baco'_Becce' Baco'_Becce' P Vs. ELSADHA R2C BATTLE Vs. AL ELSADHA
H110 Vs. BF170 BF170 Vs. El'Safa' H110 Vs.El'Safa'
L-F17 Vs. SANG RUWA JURAI SANG RUWA JURAI Vs. DEWO L-F17 Vs. DEWO
BUJANG MIAK Vs. GERI GERI Vs. Al SANGKURIANG BUJANG MIAK Vs. SANGKURIANG
Al-Aa'diyat Vs. ARCALA ARCALA Vs. DRAGON BALL Al-Aa'diyat Vs. DRAGON BALL
IC_TERU 10 Vs. QONIX QONIX Vs. SIKAMBA IC_TERU 10 Vs. AL SIKAMBA
DU 99-V2 Vs. Ball2AN Ball2AN Vs. CAPTAIN H DU 99-V2 Vs. CAPTAIN H
DEVIA Vs. ABENQ2_PNB ABENQ2_PNB Vs. BARELANG IV DEVIA Vs.BARELANG IV

Mengenal berbagai tipe sorting di bahasa c


Malas baca? download materi kuliah sorting di bahasa C
Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Mnurut Microsoft Book-shelf, definisi algoritma pengurutan adalah algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.
Ada dua macam urutan yang biasa digunakan dalam proses pengurutan yaitu
  • urut naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling besar
  • urut turun (descending) yaitu data yang mempunyai nilai paling besar sampai paling kecil.
Contoh : data bilangan 5, 2, 6 dan 4 dapat diurutkan naik menjadi 2, 4, 5, 6 atau diurutkan turun menjadi 6, 5, 4, 2. Pada data yang bertipe char, nilai data dikatakan lebih kecil atau lebih besar dari yang lain didasarkan pada urutan relatif (collating sequence) seperti dinyatakan dalam tabel ASCII (Lampiran)
Keuntungan dari data yang sudah dalam keadaan terurutkan antara lain :
  • data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan, dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita mudah melakukan pengeekan apakah ada data yang hilang
  • melakukan komppilasi program komputer jika tabel-tabel simbol harus dibentuk
  • mempercepat proses pencarian data yang harus dilakukan berulang kali
Data yang diurutkan sangat bervariasi, dalam hal jumlah data maupun jenis data yang akan diurutkan. Tidak ada algoritma terbaik untuk setiap situasi yang kita hadapi, bahkan cukup sulit untuk menentukan algoritma mana yang paling baik untuk situasi tertentu karena ada beberapa faktor yang mempengaruhi efektifitas algoritma pengurutan. Beberapa faktor yang berpengaruh pada efektifitas suatu algoritma pengurutan antara lain:
  • banyak data yang diurutkan
  • kapasitas pengingat apakah mampu menyimpan semua data yang kita miliki
  • tempat penyimpanan data, misalnya piringan, pita atau kartu, atau media penyimpan yang lain.
Pemilihan algoritma sangat ditentukan oleh struktur data yang digunakan. Metode pengurutan yang digunakan dapat diklasifikasikan menjadi dua katagori yaitu :
  • pengurutan internal, yaitu pengurutan dengan menggunakan larik (array). Larik tersimpan dalam memori utama komputer
  • pengurutan eksternal, yaitu pengurutan dengan menggunakan berkas (sequential access file). Berkas tersimpan dalam pengingat luar, misalnya cakram atau pita magnetis.
Untuk menggambarkan pengurutan dengan larik, bisa kita bayangkan semua kartu terletak di hadapan kita sehingga semua kartu terlihat dengan jelas nomornya. Pada penyusunan kartu sebagai sebuah berkas, kita bayangkan semua kartu kita tumpuk sehingga hanya kartu bagian atas saja yang bisa kita lihat nomornya.
Pada bab ini akan dijelaskan beberapa metode pengurutan beserta analisanya.



Metode Penyisipan Langsung (Straight Insertion Sort)

Proses pengurutan dengan metode penyisipan langsung dapat dijelaskan sebagai berikut :
Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu. Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelah kiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai. Algoritma penyisipan langsung dapat dituliskan sebagai berikut :
Metode Penyisipan Biner (Binary Insertion Sort)
Metode ini merupakan pengembangan dari metode penyisipan langsung. Dengan cara penyisipan langsung, perbandingan selalu dimulai dari elemen pertama (data ke-0), sehingga untuk menyisipkan elemen ke i kita harus melakukan perbandingan sebanyak i – 1 kali. Ide dari metode ini didasarkan pada kenyataan bahwa pada saat menggeser data ke-i, data ke 0 s/d i-1 sebenarnya sudah dalam keadaan terurut. Sebagai contoh pada tabel 6.1 diatas, pada saat i=4, data ke 0 s/d 3 sudah dalam keadaan urut : 3, 9, 12, 35.
Dengan demikian posisi dari data ke-i sebenarnya dapat ditentukan dengan pencarian biner.
Metode Seleksi (Selection Sort)

Metode seleksi melakukan pengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering dinamakan pivot.
Proses pengurutan dengan metode seleksi dapat dijelaskan sebagai berikut : langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan.
Metode Gelembung (Bubble sort)

Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu. Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari, metode ini merupakan metode yang paling tidak efisien.
Proses pengurutan metode gelembung ini menggunakan dua kalang. Kalang pertama melakukan pengulangan dari elemen ke 2 sampai dengan elemen ke N-1 (misalnya variable i), sedangkan kalang kedua melakukan pengulangan menurun dari elemen ke N sampai elemen ke i (misalnya variable j). Pada setiap pengulangan, elemen ke j-1 dibandingkan dengan elemen ke j. Apabila data ke j-1 lebih besar daripada data ke j, dilakukan penukaran.
Metode Shell (Shell Sort)

Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment). Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan Metode Shell Sort. Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan penukaran bila diperlukan.
Proses pengurutan dengan metode Shell dapat dijelaskan sebagai berikut :
Pertama-tama adalah menentukan jarak mula-mula dari data yang akan dibandingkan, yaitu N / 2. Data pertama dibandingkan dengan data dengan jarak N / 2. Apabila data pertama lebih besar dari data ke N / 2 tersebut maka kedua data tersebut ditukar. Kemudian data kedua dibandingkan dengan jarak yang sama yaitu N / 2. Demikian seterusnya sampai seluruh data dibandingkan sehingga semua data ke-j selalu lebih kecil daripada data ke-(j + N / 2).
Pada proses berikutnya, digunakan jarak (N / 2) / 2 atau N / 4. Data pertama dibandingkan dengan data dengan jarak N / 4. Apabila data pertama lebih besar dari data ke N / 4 tersebut maka kedua data tersebut ditukar. Kemudian data kedua dibandingkan dengan jarak yang sama yaitu N / 4. Demikian seterusnya sampai seluruh data dibandingkan sehingga semua data ke-j lebih kecil daripada data ke-(j + N / 4).
Pada proses berikutnya, digunakan jarak (N / 4) / 2 atau N / 8. Demikian seterusnya sampai jarak yang digunakan adalah 1.
Metode Quick (Quick Sort)

Metode Quick sering disebut juga metode partisi (partition exchange sort). Metode ini diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1962. Untuk mempertinggi efektifitas dari metode ini, digunakan teknik menukarkan dua elemen dengan jarak yang cukup besar.
Proses penukaran dengan metode quick dapat dijelaskan sebagai berikut.: mula - mula dipilih data tertentu yang disebut pivot, misalnya x. Pivot dipilih untuk mengatur data di sebelah kiri agar lebih kecil daripada pivot dan data di sebelah kanan agar lebih besar daripada pivot. Pivot ini diletakkan pada posisi ke j sedemikian sehingga data antara 1 sampai dengan j-1 lebih kecil daripada x. Sedangkan data pada posisi ke j+1 sampai N lebih besar daripada x. Caranya dengan menukarkan data diantara posisi 1 sampai dengan j-1 yang lebih besar daripada x dengan data diantara posisi j+1 sampai dengan N yang lebih kecil daripada x.
Metode Penggabungan (Merge Sort)

Metode penggabungan biasanya digunakan pada pengurutan berkas. Prinsip dari metode penggabungan sebagai berikut : mula-mula diberikan dua kumpulan data yang sudah dalam keadaan urut. Kedua kumpulan data tersebut harus dijadikan satu table sehingga dalam keadaan urut.
Misalnya kumpulan data pertama (T1) adalah sebagai berikut :
3 11 12 23 31
Sedangkan kumpulan data kedua (T2) adalah sebagai berikut :
9 15 17 20 35
Proses penggabungan ini dapat dijelaskan sebagai berikut : mula-mula diambil data pertama dari T1 yaitu 3 dan data pertama dari T2 yaitu 9. Data ini dibandingkan, kemudian yang lebih kecil diletakkan sebagai data pertama dari hasil pengurutan, misalnya T3. Jadi T3 akan memiliki satu data yaitu 3. Data yang lebih besar yaitu 9 kemudian dibandingkan dengan data kedua dari T1, yaitu 11. Ternyata 9 lebih kecil dari 11, sehingga 9 diletakkan sebagai data kedua dari T3. Demikian seterusnya sehingga didapat hasil sebagai berikut :
3 9 11 12 15 17 20 23 31 35
Itu semua penjelasan singkat yang saya kutip dari buku.
berikut adalah contoh program yang telah saya buat. program berisikan hampir semua tipe sorting dan di urutkan secara ascending dan descending.
#include
#include
#include
#define MAX 100
int data[MAX],a[MAX],n,hasil[MAX];
void copy();
void random();
void tampil();
void insertionsort(int);
void selectionsort(int);
void bubblesort(int);
void shellsort(int);
void merge(int,int,int,int);
void mergesort(int,int,int);
void quicksort(int,int,int);
void tukar(int*,int*);

main(){
int pilih,sort;
char lagi;
printf("masukkan jumlah data = ");
scanf("%d",&n);
random();
do{
copy();
printf("\n===MENU SHORTING===\n");
printf("1.Insertionsort.\n2.Selectionsort.\n3.Bubblesort\n4.Shellsort\n5.Mergesort\n6.Quicksort\n\nPilih menu = ");
scanf("%d",&pilih);
printf("\n1.Ascending\n2.Descending\n\npilih = ");
scanf("%d",&sort);
printf("\nSebelum dilakukan sorting.\n");
tampil(a);
printf("\nSesudah dilakukan sorting.\n");
if(pilih==1)
insertionsort(sort);
else if(pilih==2)
selectionsort(sort);
else if(pilih==3)
bubblesort(sort);
else if(pilih==4)
shellsort(sort);
else if(pilih==5)
mergesort(0,n-1,sort);
else
quicksort(0,n-1,sort);
fflush(stdin);
printf("\nCoba lagi(y/t) = ");
scanf("%c",&lagi);
}while(lagi=='y'||lagi=='Y');
}
void random(){    // memasukkan nilai random 1-100 ke setiap data[array]
int i;
for(i=0;i
srand(time(NULL)*(i+1));
data[i]=rand()%100;
}
}
void copy(){    // menyalin data supaya proses shorting dapat di lakukan lagi
int i;
for(i=0;i
a[i]=data[i];
}
void tampil(){    // menampilkan data setelah di urutkan
int i;
for(i=0;i
printf("%d ",a[i]);
printf("\n");
}
void insertionsort(int sort){    // fungsi sorting dengan cara insertion
int i,temp,j;
for(i=1;i
temp=a[i];
j=i-1;
if(sort==1)
while(j>=0&&a[j]>temp){
a[j+1]=a[j];
j--;
}
else
while(j>=0&&a[j]
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
tampil();
}
}
void selectionsort(int sort){    // fungsi sorting dengan cara selection
int i,j,min;
for(i=0;i
min=i;
j=i+1;
while(j
if(sort==1){
if(a[j]
min=j;
}
else{
if(a[j]>a[min])
min=j;
}
j++;
}
tukar(&a[i],&a[min]);
tampil();
}
}
void bubblesort(int sort){    // fungsi sorting dengan cara bubble
int post_akhir,index;
post_akhir=n-2;
while(post_akhir>=0){
index=0;
while(index<=post_akhir){
if(sort==1){
if(a[index]>a[index+1]){
tukar(&a[index],&a[index+1]);
}
}
else{
if(a[index]
tukar(&a[index],&a[index+1]);
}
}
index++;
}
tampil();
post_akhir--;
}
}
void shellsort(int sort){    // fungsi sorting dengan cara shell
int j,jarak,did_swap;
jarak=n;
while(jarak>1){
jarak=jarak/2;
did_swap=1;
while(did_swap==1){
did_swap=0;
j=0;
while(j<(n-jarak)){
if(sort==1){
if(a[j]>a[j+jarak]){
tukar(&a[j],&a[j+jarak]);
did_swap=1;
}
}
else{
if(a[j]
tukar(&a[j],&a[j+jarak]);
did_swap=1;
}
}
j++;
}
}
tampil();
}
}
void merge(int l, int med, int r,int sort){    // fungsi sorting dengan cara merge
int i,j,kanan1,kanan2,kiri1,kiri2;
kiri1=l;
kanan1=med;
kiri2=med+1;
kanan2=r;
i=l;
while(kiri1<=kanan1 && kiri2<=kanan2){
if(sort==1){
if(a[kiri1]<=a[kiri2]){
hasil[i]=a[kiri1];
kiri1++;
}
else{
hasil[i]=a[kiri2];
kiri2++;
}
}
else{
if(a[kiri1]>=a[kiri2]){
hasil[i]=a[kiri1];
kiri1++;
}
else{
hasil[i]=a[kiri2];
kiri2++;
}
}
i++;
}
while(kiri1<=kanan1){
hasil[i]=a[kiri1];
kiri1++;
i++;
}
while(kiri2<=kanan2){
hasil[i]=a[kiri2];
kiri2++;
i++;
}
j=l;
while(j<=r){
a[j]=hasil[j];
j++;
}
tampil();
}
void mergesort(int l,int r,int sort){
int med;
if(l
med = (l+r)/2;
mergesort(l,med,sort);
mergesort(med+1,r,sort);
merge(l,med,r,sort);
}
}

void quicksort(int p, int r,int sort){    // fungsi sorting dengan cara quick
int x,j,i;
x=a[p];
i=p;
j=r;
while(i<=j){
if(sort==1){
while(a[i]
i++;
while(a[j]>x)
j--;
}else{
while(a[i]>x)
i++;
while(a[j]
j--;
}
if(i<=j)
{
tukar(&a[i],&a[j]);
i++;
j--;
}
}
if(p
quicksort(p,j,sort);
if(i
quicksort(i,r,sort);
tampil();
}

void tukar(int *a,int *b){    // fungsi tukar terhadapat nilai kecil kepada nilai yang lebih besar
int temp;
temp = *a;
*a = *b;
*b = temp;
}
lumayan panjang. silahkan download  materi-nya di sini
#include
#include
#include
#define MAX 100
int data[MAX],a[MAX],n,hasil[MAX];
void copy();
void random();
void tampil();
void insertionsort(int);
void selectionsort(int);
void bubblesort(int);
void shellsort(int);
void merge(int,int,int,int);
void mergesort(int,int,int);
void quicksort(int,int,int);
void tukar(int*,int*); main(){
int pilih,sort;
char lagi;
printf("masukkan jumlah data = ");
scanf("%d",&n);
random();
do{
copy();
printf("\n===MENU SHORTING===\n");
printf("1.Insertionsort.\n2.Selectionsort.\n3.Bubblesort\n4.Shellsort\n5.Mergesort\n6.Quicksort\n\nPilih menu = ");
scanf("%d",&pilih);
printf("\n1.Ascending\n2.Descending\n\npilih = ");
scanf("%d",&sort);
printf("\nSebelum dilakukan sorting.\n");
tampil(a);
printf("\nSesudah dilakukan sorting.\n");
if(pilih==1)
insertionsort(sort);
else if(pilih==2)
selectionsort(sort);
else if(pilih==3)
bubblesort(sort);
else if(pilih==4)
shellsort(sort);
else if(pilih==5)
mergesort(0,n-1,sort);
else
quicksort(0,n-1,sort);
fflush(stdin);
printf("\nCoba lagi(y/t) = ");
scanf("%c",&lagi);
}while(lagi=='y'||lagi=='Y');
}
void random(){    // memasukkan nilai random 1-100 ke setiap data[array]
int i;
for(i=0;i
srand(time(NULL)*(i+1));
data[i]=rand()%100;
}
}
void copy(){    // menyalin data supaya proses shorting dapat di lakukan lagi
int i;
for(i=0;i
a[i]=data[i];
}
void tampil(){    // menampilkan data setelah di urutkan
int i;
for(i=0;i
printf("%d ",a[i]);
printf("\n");
}
void insertionsort(int sort){    // fungsi sorting dengan cara insertion
int i,temp,j;
for(i=1;i
temp=a[i];
j=i-1;
if(sort==1)
while(j>=0&&a[j]>temp){
a[j+1]=a[j];
j--;
}
else
while(j>=0&&a[j]
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
tampil();
}
}
void selectionsort(int sort){    // fungsi sorting dengan cara selection
int i,j,min;
for(i=0;i
min=i;
j=i+1;
while(j
if(sort==1){
if(a[j]
min=j;
}
else{
if(a[j]>a[min])
min=j;
}
j++;
}
tukar(&a[i],&a[min]);
tampil();
}
}
void bubblesort(int sort){    // fungsi sorting dengan cara bubble
int post_akhir,index;
post_akhir=n-2;
while(post_akhir>=0){
index=0;
while(index<=post_akhir){
if(sort==1){
if(a[index]>a[index+1]){
tukar(&a[index],&a[index+1]);
}
}
else{
if(a[index]
tukar(&a[index],&a[index+1]);
}
}
index++;
}
tampil();
post_akhir--;
}
}
void shellsort(int sort){    // fungsi sorting dengan cara shell
int j,jarak,did_swap;
jarak=n;
while(jarak>1){
jarak=jarak/2;
did_swap=1;
while(did_swap==1){
did_swap=0;
j=0;
while(j<(n-jarak)){
if(sort==1){
if(a[j]>a[j+jarak]){
tukar(&a[j],&a[j+jarak]);
did_swap=1;
}
}
else{
if(a[j]
tukar(&a[j],&a[j+jarak]);
did_swap=1;
}
}
j++;
}
}
tampil();
}
}
void merge(int l, int med, int r,int sort){    // fungsi sorting dengan cara merge
int i,j,kanan1,kanan2,kiri1,kiri2;
kiri1=l;
kanan1=med;
kiri2=med+1;
kanan2=r;
i=l;
while(kiri1<=kanan1 && kiri2<=kanan2){
if(sort==1){
if(a[kiri1]<=a[kiri2]){
hasil[i]=a[kiri1];
kiri1++;
}
else{
hasil[i]=a[kiri2];
kiri2++;
}
}
else{
if(a[kiri1]>=a[kiri2]){
hasil[i]=a[kiri1];
kiri1++;
}
else{
hasil[i]=a[kiri2];
kiri2++;
}
}
i++;
}
while(kiri1<=kanan1){
hasil[i]=a[kiri1];
kiri1++;
i++;
}
while(kiri2<=kanan2){
hasil[i]=a[kiri2];
kiri2++;
i++;
}
j=l;
while(j<=r){
a[j]=hasil[j];
j++;
}
tampil();
}
void mergesort(int l,int r,int sort){
int med;
if(l
med = (l+r)/2;
mergesort(l,med,sort);
mergesort(med+1,r,sort);
merge(l,med,r,sort);
}
}

void quicksort(int p, int r,int sort){    // fungsi sorting dengan cara quick
int x,j,i;
x=a[p];
i=p;
j=r;
while(i<=j){
if(sort==1){
while(a[i]
i++;
while(a[j]>x)
j--;
}else{
while(a[i]>x)
i++;
while(a[j]
j--;
}
if(i<=j)
{
tukar(&a[i],&a[j]);
i++;
j--;
}
}
if(p
quicksort(p,j,sort);
if(i
quicksort(i,r,sort);
tampil();
}

void tukar(int *a,int *b){    // fungsi tukar terhadapat nilai kecil kepada nilai yang lebih besar
int temp;
temp = *a;
*a = *b;
*b = temp;
}

download teori/materi kuliah (Konsep pemrograman : PENS-ITS) bahasa pemrograman c


dari pada filenya saya simpan sendiri terus ilang, mending di upload. ini adalah mata kuliah Konsep pemrograman dengan menggunakan bahasa C yang di ajarkan pada semester pertama Politeknik Elektronika Negeri Surabaya - ITS
Dasar-dasar Pemrograman C, berisi pengenalan tentang bahasa C -> download
Pengambilan keputusan C, berisi tentang pencabangan seperti if, nested if -> download
Pengulangan proses C, berisi tentang perulangan atau loop seperti for, while -> download
Fungsi C, membuat fungsi di dalam bahasa C -> download
Array C, membuat array di dalam bahasa C -> download
String C, Tentang string di dalam bahasa C -> download
Pointer C, membuat pointer di dalam bahasa C -> download
Struct C, atau di sebut juga struktur di dalam bahasa C -> download
semoga dapat bermanfaat.

Cara install BackTrack 4 Final


bagi pecinta linux yang pertama belajar install backtrack 4 Final, ini ada sedikit cara mudah yang saya dapatkan dari seniot OSC (Open Source Comunity) PENS-ITS.
pertama masukkan CD Backtrack lalu boot CD.
Setelah masuk pilih menu yang pertama, kedua, atau mana aja yg bisa.BackTrack 4 Finalmaka akan keluar jendela konsole / terminal, ketikkan startx agar keluar jendela GUI.BackTrack 4 Finaldi desktop ada file install.h, silahkan anda klik 2x, lalu continue away. apabila cara tersebut tidak bisa, bukalah terminal dan ketikkan sh ./install.shBackTrack 4 Finalseperti saat menginstall linux lainnya, akan muncul seperti gambar ini.BackTrack 4 FinalBackTrack 4 FinalBackTrack 4 FinalBackTrack 4 Finalsetelah selesai menginstall backtrack 4 Final, sistem akan otomatis restart. pada saat masuk berbeda dengan ubuntu yang mempunyai login windows. di backtrack 4 Final anda masuk melalui terminal. untuk user ketikkan root, dan passwordnya toor. aneh ya? biasanya user dan password sama-sama root. ya begitulah backtrack. setelah login ketikkan kembali startx

Icon di URL Website/Blog Wordpress



anda ingin membuat icon url seperti gambar ini? oke, meskipun tutorial ini sudah sangat amat lama sekali di dunia website dan blog, tetap saja masih banyak yang belum tahu cara membuatnya.

untuk membuat icon url di website anda harus menyediakan sebuah gambar yang berekstensi *.ico/*.jpg/*.png, dll. lalu taruhlah gambar tersebut dalam 1 folder dengan website anda. lalu bukalah file utama website anda misal (index.html/index.php/.dll). sisipkan kode html
<link href='themes/experience/images/z.jpg' rel='shortcut icon'/>
di antara tag .
untuk blog wordpress, anda tidak perlu susah-susah membuat kode html. karena wordpress sudah menyediakan layanan icon url. yang perlu anda sediakan hanyalah sebuah gambar untuk di jadikan icon url.
pada menu pengaturan pilih genaral. di situ sebelah kanan anda tinggal updload gambar yang ingin di jadikan sebagai icon url.
segini aja, g usah banyak-banyak.
happy programing ^_^

Wifi broadcom Ubuntu Lucid 10.04


Kebetulan nih saya juga pake Notebook Compaq Presario CQ40. dulu masalah sama sound di laptop ini pake ubuntu Jaunty 9.04. sekarang masalah wifinya. wah kok masalah terus ini notebook. tenang aja, masalah itu bisa di selesaikan.
ada dua cara untuk mengatasi masalah tersebut. yang pertama anda sambungkan notebook anda ke internet lewat lan/ethernet. lalu masuk sebagai root dan ketikkan

apt-get upgdate
apt-get upgrade
apt-get install --reinstall bcmwl-kernel-source
lalu restart..
tada....
driver wifi anda sudah bisa di gunakan.
kalau tidak terhubung internet gimana?
makanya ada cara kedua. silahkan download drivernya
terus install filenya.

konversi decimal ke biner, octal, dan hexa menggunakan stack dan queue


nih gan abis coba-coba buat konversi dari decimal ke biner, octal, hexa dengan menggunakan stack dan queue
#include
#include
#define MAXQUEUE 10
typedef int itemtype;
typedef struct{
itemtype item[MAXQUEUE];
int count;
}stack;
typedef struct{
int count;
int front;
int rear;
int item[MAXQUEUE];
}queue;
void initializestack(stack *s){
s->count=0;
}
int emptys(stack *s){
return (s->count==0);

}
int fulls(stack *s){
return (s->count==MAXQUEUE);
}
void push(itemtype x, stack *s){
if(fulls(s))
printf("Stack penuh ! Data tidak dapat masuk!");
else{
s->item[s->count]=x;
++(s->count);
}
}
int pop(stack *s){
if(emptys(s))
printf("Stack masih kosong!");
else{
--(s->count);
}
return(s->item[s->count]);
}
void inisialisasi(queue *q)
{
q->front=q->rear=-1;
q->count=0;
}
int full(queue *q){
return(q->count==MAXQUEUE);
}
int empty(queue *q){
return(q->count==0);
}
void enqueue(int x,queue *q){
if(full(q))
printf("Tidak dapat memasukkan data! Queue Penuh!");
else{
if((q->front==-1)&&(q->rear==-1))
q->front=q->rear=0;
else
q->rear=(q->rear+1)%MAXQUEUE;
q->item[q->rear]=x;
++(q->count);
}
}
int dequeue(queue *q){
int n;
if(empty(q))
printf("Tidak dapat mengambil data! Queue kosong!");
else{
n=q->front;
if(q->front==q->rear)
q->front=q->rear=-1;
else
q->front=(q->front+1)%MAXQUEUE;
--(q->count);
return q->item[n];
}
}
void tampil(queue q){
queue d;
inisialisasi(&d);
d=q;
while(d.count>0)
printf("%x",dequeue(&d));
printf("\n");
}
queue konversi(int bil, int basis){
queue q;
stack p;
initializestack(&p);
inisialisasi(&q);
while(bil>0){
push((bil%basis),&p);
bil=bil/basis;
}
while(p.count>0)
enqueue(pop(&p),&q);
printf("Hasil konversi adalah : ");
tampil(q);
return(q);
}
double shift(queue q,int shl, int basis){
int i;
double hasil=0;
for(i=0;i
enqueue(dequeue(&q),&q);
printf("Hasil shift %d kali adalah : ",shl);
tampil(q);
for(i=q.count-1;i>=0;i--){
hasil=hasil+(dequeue(&q)*pow(basis,i));
}
return hasil;
}
void main(){
int bil,pil,shl,basis;
queue q;
printf("Masukkan bilangan desimal yang akan dikonversi = ");
scanf("%d",&bil);
printf("Dikonversi ke bilangan :\n");
printf("1.Biner\n");
printf("2.Oktal\n");
printf("3.Heksa\n");
printf("Pilih salah satu : ");
scanf("%d",&pil);
switch(pil){
case 1:
basis=2;
q=konversi(bil,2);
break;
case 2:
basis=8;
q=konversi(bil,8);
break;
case 3:
basis=16;
q=konversi(bil,16);
break;
}
printf("Berapa kali shift : ");
scanf("%d",&shl);
printf("Bilangan desimalnya : %g\n",shift(q,shl,basis));
}
sory neh buat jelasin kapan-kapan ya,, hehe

Ukuran layar video warcraft / frozen di widescreen


bagi penggemar DotA, yang baru pertama kali jalanin warcraft di layar widescreen pasti gak suka sama tampilan yang kepotong. karena di dalam menu setting video warcraft hanya tersedia ukuran 800 x 600 sampai 1024 x 768, maka kita harus cari jalan lain untuk merubah tampilan warcraft di layar widescreen. mudah kok!
pertama buka regedit. kalau gak tau cari di sepupu google. udah di buka?
terus masuk HKEY_CURRENT_USER -> Software ->  Billizard Entertainment -> Warcraft III -> Viedo

nah di situ kamu buka resheight terus pilih option Decimal, ubah angka 600 ke ukuran layar widescreen kamu. contoh 800. terus buka juga reswidth, pilih option Decimal, ubah nilai angka 800 ke ukuran yang kamu mau, contoh 1280.
selesai.
sekarang coba jalankan warcraft anda.

Merubah tampilan Ubuntu menjadi Windows 7


pasti bosen kan sama tampilan ubuntu yang serba orange dan coklat? mau ubah tampilan ubuntu menjadi seperti windows 7? sebenarnya, di http://gnome-look.org sudah menyediakan berbagai tema, icon, menu, dan masih banyak yang lain. di sana juga di sediakan paket tampilan untuk ubuntu.
di sini saya pilih 2 win7 pack buat ubuntu saya. dan akhirnya terlihat seperti ini.


Tampilan di atas kurang saya suka. kenapa? karena start menu masih terlihat lama. saya sarankan anda download gnome menu yang seperti windows 7 untuk mensempurnakannya.
untuk win2-7 pack download di sini, dan win7 Transformation Pack download di sini
cara installnya, cukup ekstrak filenya. terus buka file install.sh, pilih run with terminal. terus ntar ada pilihan pa saja yang ingin di install

Merubah logon Windows 7


saya bosan dengan Logon Windows 7 yang seiap hari seperti itu. waktu berkunjung ke temen yang ada di UNESA dia ngasih saya tools yang bisa merubah logon Windows 7. di dalamnya sudah tersedia beberapa logon Windows 7. apabila anda tidak tertarik, anda bisa membuatnya sendiri.


Sialakan Download Toolsnya di sini.
kalau ada masalah dengan link atu softwarenya silakan comment.

Sign up for PayPal and start accepting credit card payments 
instantly.

Mengetahui Keyword yang paling banyak di cari dengan google


untuk para blogger pasti ingin menulis artikel yang paling banyak di cari dengan google bukan? nah google sendiri sudah menyediakan layanan tersebut, silakan buka http://www.google.com/insights/search/

Alamat repository ubuntu lucid 10.04


Bagi anda yang ingin upgrade atau install aplikasi ubuntu, ada beberapa repository lokal yang dapat anda gunakan.
1. Repository UGM
deb http://repo.ugm.ac.id/ubuntu/ lucid main restricted universe multiverse
deb http://repo.ugm.ac.id/ubuntu/ lucid-updates main restricted universe multiverse
deb http://repo.ugm.ac.id/ubuntu/ lucid-security main restricted universe multiverse
2. Repository UI (Kambing)
deb http://kambing.ui.edu/ubuntu lucid main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu lucid-updates main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu lucid-security main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu lucid-backports main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu lucid-proposed main restricted universe multiverse

3. Repository Telkom
deb http://dl2.foss-id.web.id/ubuntu lucid main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu lucid-updates main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu lucid-security main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu lucid-backports main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu lucid-proposed main restricted universe multiverse
4. Repository CBN
deb http://ubuntu.cbn.net.id/Ubuntu lucid main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu lucid-updates main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu lucid-security main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu lucid-backports main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu lucid-proposed main restricted universe multiverse
5. Repository ITB
deb ftp://ftp.itb.ac.id/pub/ubuntu lucid main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu lucid-updates main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu lucid-security main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu lucid-backports main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu lucid-proposed main restricted universe multiverse
6. Repository Indika
deb http://ubuntu.indika.net.id/ lucid main restricted universe multiverse
deb http://ubuntu.indika.net.id/ lucid-updates main restricted universe multiverse
deb http://ubuntu.indika.net.id/ lucid-security main restricted universe multiverse
deb http://ubuntu.indika.net.id/ lucid-backports main restricted universe multiverse
deb http://ubuntu.indika.net.id/ lucid-proposed main restricted universe multiverse
7. Repository Komo
deb http://komo.vlsm.org/ubuntu lucid main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu lucid-updates main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu lucid-security main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu lucid-backports main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu lucid-proposed main restricted universe multiverse
8. Repository ITS
deb http://mirror.its.ac.id/ubuntu lucid main restricted universe multiverse
deb http://mirror.its.ac.id/ubuntu lucid-updates main restricted universe multiverse
deb http://mirror.its.ac.id/ubuntu lucid-security main restricted universe multiverse
9. Repository EEPIS-ITS (Kebo)
deb http://kebo.vlsm.org/ubuntu lucid main multiverse restricted universe
Selamat menikmati

19 Juni 2010

menghubungkan ubuntu dengan repository lokal

Sebelumnya blog ini sudah membahas bagaimana upgrade / install aplikasi dari repository lokal. nah, terus bagaimana supaya bisa terhubung dengan repository lokal?
pertama anda harus masuk sebagai root. lalu di console terminal ketikkan :

gedit /etc/apt/source.list
maka jendela text editor akan muncul. nah di dalem situ berisi alamat repository. kamu tambahin alamat repository lokal di bawah sendiri. setelah itu save.
udah di save? ya udah selesai.
coba aja lakukan perintah
ex : sudo apt-get upgrade / apt-get install wine
kalau gak berhasil berarti ada yang salah dengan koneksimu atau alamat reponya.
selain cara di atas kalian juga bisa membuka software source yang ada pada sistem dan memilih salah satu alamat repo indonesia yang tersedia

Membuat kuis dari flash


sebenarnya di adobe flash sudah terdapat fitur untuk membuat kuis. mari kita coba membuatnya.
  • buka flash dan pilih more -> Quiz.
  • di halaman depan, sebelah kiri kuis terdapat Quiz Option silakan anda klik lalu klik window -> component inspector / shift+F7. di situ ada opsi untuk random kuis, berapa banyak kuis yang di munculkan, tampilkan hasil kuis, dan yang lain tidak begitu penting.
  • buka halaman kedua pertama sampai kedua terakhir, karena di situ halaman kuisnya berada
  • klik kanan pada kotak fill in the blank interaction yang ada di sebelah halaman kuis lalu pilih break apart.
  • klik lagi lalu shift+F7 dan di component inspector itu ada opsi untuk mengendit pertanyaan serta jawaban
  • dan terkahir jalankan kuis anda
kalau tidak tertarik anda bisa membuat kuis flash sendiri silakan download di sini

Memasang feedjit di wordprees

dulu pake blogspot juga pake feedjit. tinggal tempel! sekarang pake wordprees, saya coba memasang feedjit di wordpress. loh kok gak bisa?
ternyata, wordprees tidak mau menerima java script!
terus bagaimana?
mudah saja.. cari feedjit yang berupa img/gambar, biar cocok dengan wordpress. ambil di sini feedjit image

How to install windows 7/Vista using Flash drive?

a
It’s very easy install windows 7/vista using flash drive. You don’t need any sofrware. What you have to do just playing some code with command prompt
Step 1 : Format The USB Flash drive
-          You need to open command prompt as administrator

-          Then,  enter your location flash drive (Ex : F:)


-          Find your drive with this step
Diskpart -> list disk

-          Then, format your flash drive
Select disk 1
Clean
Create partition primary
Select partition 1
Active
Format fs = NTFS
Assign
exit

step 2 : make your flashdrive bootable
-          Copy all your windows 7/Vista file into flashdrive
-          With command prompt reenter your flashdrive (Ex : F:)
F :
Cd boot
Bootsect /nt60 f:
Done
Now restart your computer and boot your flashdrive

Pemrograman C/C++ di linux dengan gcc/g++

sedikit berbeda dengan meggunakan Geany atau Anjuta.
gcc/g++ membuat dan mencompile file dengan meggunakan terminal!
pertama yang kalian butuhkan adalah menginstall build-essential "sudo apt-get install build-essential"
pertama tentukan file yang ingin kamu compile "misal coba.c"

untuk melakukan compile ketik command cc -c coba.c
lalu buat file executable dengan perintah cc -o coba coba.c
setelah itu run program dengan perintah ./coba
nah yang di atas itu untuk bahasa C, kalau C++ beda lagi
setalah anda menyimpan file c++, contoh "coba.cpp"
lalu run file.cpp anda dengan perintah g++ coba.cpp -o coba
dan setelah itu jalankan ./coba

Konvert Hexa ke Decimal


konvert hexa ke decimal menggunakan visual C atu GCC di linux gak masalah.
#include
#include
#include
int main(){
char hex[20];

int i,n,dec[20],sum=0,p;
printf("Masukkan nilai Hexa : ");
gets(hex);
n=strlen(hex);
for(i=n-1;i>=0;i--){
p=n-i-1;
if(hex[i]>=65 && hex[i] <= 70)hex[i]-=55;
if(hex[i]>=49 && hex[i] <= 57)hex[i]-=48;
if(hex[i]>=97 && hex[i] <= 102)hex[i]-=87;
dec[i]=hex[i]*pow(16,p);
sum+=dec[i];
printf("\n");
}
printf("Hasil konversi = %d\n",sum);
return 0;
}

Kubuntu-desktop, xubuntu desktop dan edubuntu desktop di Ubuntu

nih caranya biar ubuntu kamu bisa komplit. install Kubuntu-desktop, xubuntu desktop dan edubuntu desktop di Ubuntu
install aplikasi
sudo apt-get install kubuntu-desktop
sudo apt-get install edubuntu-desktop
sudo apt-get install xubuntu-desktop
setelah itu logout dan pilih session

pilih session, kde untuk kubuntu, xface untuk xubuntu, gnome untuk ubuntu. kalo edubuntu itu udah terintegrasi sama ubuntunya. cuma nambah aplikasinya aja


gambar dari : http://www.psychocats.net/ubuntu/kde

Read more di wordpress

saya coba-coba buat read more. saya kira sama dengan blogpost, hehe. ternyata beda
membuat read more di wordpress sangat mudah
  1. setelah anda menulis posting klik menu HTML
  2. klik button more pada text editor untuk memberi batas tulisan yang akan di beri read more
  3. simpan!!! hehe
dah banyak yang tau, tapi kan ada juga yang belum tau^^

mencari bilangan prima sampai ke-n

nih sedikit percobaan saya mencari bilangan prima ke-n dengan menggunakan bahasa c
#include 
int main(){
 int n,count,a,b,cek;
 scanf("%d",&n);
 for(a=2;a<=n;a++){
  count=0;
  for(b=2;b<=a;b++){
   cek=a % b;
   if(cek==0)
    count=count+1;
  }
  if(count<=1)
   printf("%d ",a);
 }
}

mudah kan? kalau mau menentukan bilangan tersebut apakan prima atu bukan tinggal memberi tambahan jika count > 1 maka bukan prima dan sebaliknya