Rabu, 23 Mei 2012
Kamis, 17 Mei 2012
Problem SPOJ 2178 OFFSIDE
SPOJ
2178. He is offside!
link soal : http://www.spoj.pl/problems/OFFSIDE/
/*Author : Angga Eka P*/
#include<stdio.h>
#include<stdlib.h>
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{int A,D,a[10000],d[10000],i,j;
while(1)
{
scanf("%d %d",&A,&D);
if(A==0 && D==0)
return 0;
for(i=0;i<A;i++)
{ scanf("%d",&a[i]);
}
for(j=0;j<D;j++)
{scanf("%d",&d[j]);
}
qsort(a,A,sizeof(int),compare);
qsort(d,D,sizeof(int),compare);
i=0;
j=0;
if(a[i]<d[j+1])
printf("Y\n");
else
printf("N\n");
}
return 0;
}
2178. He is offside!
link soal : http://www.spoj.pl/problems/OFFSIDE/
/*Author : Angga Eka P*/
#include<stdio.h>
#include<stdlib.h>
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{int A,D,a[10000],d[10000],i,j;
while(1)
{
scanf("%d %d",&A,&D);
if(A==0 && D==0)
return 0;
for(i=0;i<A;i++)
{ scanf("%d",&a[i]);
}
for(j=0;j<D;j++)
{scanf("%d",&d[j]);
}
qsort(a,A,sizeof(int),compare);
qsort(d,D,sizeof(int),compare);
i=0;
j=0;
if(a[i]<d[j+1])
printf("Y\n");
else
printf("N\n");
}
return 0;
}
Pelajaran Baru , "qsort vs sort "
Barusan ngerjain soal SPOJ OFFSIDE,ada poin penting yang didapet yaitu sort dan qsort dalam C++.
Sort dan qsort berguna untuk nyortir bilangan,dari yang terkecil ke yang terbesar atau sebaliknya.
Perbedaan yang gue tangkep di antara keduanya,yaitu pada ;
1. Memori
Sort : lebih banyak makan memori,walaupun cara panggilnya singkat
qsort : lebih sedikit makan memori dibanding q sort
2. Bentuk umum/rumusnya,perhatikan baik-baik contoh programnya :
/*sort*/
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int Array[5]={55,4,33,19,23}; //array yang udah diinisialisasi
int i;
sort(&Array[0],&Array[5]); //bentuknya : sort(&array indeks awal,&array indeks akhir)
for(i=0;i<5;i++)
printf("%d ",Array[i]);
system("pause");
return 0;
}
outputnya : 4 19 23 33 55
Catatan ; untuk pake sort
a. jangan lupa pake header file csstdio/stdio.h dan algorithm
b. using namespace std; juga jangan lupa
/*qsort*/
#include<stdio.h>
#include<stdlib.h>
int Array[5]={44,33,2,5,39}; //variable global
int compare(const void * a,const void * b)
{
return (*(int*)a-*(int*)b);
}
int main()
{
int i;
qsort(Array,5,sizeof(int),compare); //qsortnya main disini
for(i=0;i<5;i++) //bentuk umum qsort(namaArray,counter,sizeof(tp data),compare)
printf("%d ",Array[i]);
system("pause");
return 0;
}
Sort dan qsort berguna untuk nyortir bilangan,dari yang terkecil ke yang terbesar atau sebaliknya.
Perbedaan yang gue tangkep di antara keduanya,yaitu pada ;
1. Memori
Sort : lebih banyak makan memori,walaupun cara panggilnya singkat
qsort : lebih sedikit makan memori dibanding q sort
2. Bentuk umum/rumusnya,perhatikan baik-baik contoh programnya :
/*sort*/
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int Array[5]={55,4,33,19,23}; //array yang udah diinisialisasi
int i;
sort(&Array[0],&Array[5]); //bentuknya : sort(&array indeks awal,&array indeks akhir)
for(i=0;i<5;i++)
printf("%d ",Array[i]);
system("pause");
return 0;
}
outputnya : 4 19 23 33 55
Catatan ; untuk pake sort
a. jangan lupa pake header file csstdio/stdio.h dan algorithm
b. using namespace std; juga jangan lupa
/*qsort*/
#include<stdio.h>
#include<stdlib.h>
int Array[5]={44,33,2,5,39}; //variable global
int compare(const void * a,const void * b)
{
return (*(int*)a-*(int*)b);
}
int main()
{
int i;
qsort(Array,5,sizeof(int),compare); //qsortnya main disini
for(i=0;i<5;i++) //bentuk umum qsort(namaArray,counter,sizeof(tp data),compare)
printf("%d ",Array[i]);
system("pause");
return 0;
}
Outputnya : 2 5 33 39 44
Catatan : jangan lupa pake stdlib.h buat pake qsort
Jenis Parameter
Kita lanjut lagi pembahasan kita tentang Parameter. Parameter,dalam dunia pemrograman ada tiga jenis. Parameter masukan,parameter keluaran,dan parameter masukan atau keluaran. Kita akan kupas satu per satu .
So,check these out...
1. Parameter Masukan
Parameter yang befungsi sebagai tempat penampung nilai/data yang akan diinput ke fungsi
contoh program ;
#include<stdio.h>
#define phi 3.14159
/*Definisi fungsi dengan parameter masukan*/
double HitungKelilingCircle(int radius)
{
double k;
K=2*phi*radius;
return K;
}
int main()
{int R;
printf("Masukkan jari-jari lingkaran : ");
scanf("%d",R);
double Keliling = HitungKelilingCircle(R);
printf("Keliling lingkaran dengan jari-jari %d adalah %d",R,Keliling);
return 0;
}
Output :
masukkan nilai jari-jari lingkaran : 4
Keliling lingkaran dengan jari-jari 4 adalah 25.132720
Dari contoh di atas,yang berfungsi sebagai parameter masukan adalah R
So,check these out...
1. Parameter Masukan
Parameter yang befungsi sebagai tempat penampung nilai/data yang akan diinput ke fungsi
contoh program ;
#include<stdio.h>
#define phi 3.14159
/*Definisi fungsi dengan parameter masukan*/
double HitungKelilingCircle(int radius)
{
double k;
K=2*phi*radius;
return K;
}
int main()
{int R;
printf("Masukkan jari-jari lingkaran : ");
scanf("%d",R);
double Keliling = HitungKelilingCircle(R);
printf("Keliling lingkaran dengan jari-jari %d adalah %d",R,Keliling);
return 0;
}
Output :
masukkan nilai jari-jari lingkaran : 4
Keliling lingkaran dengan jari-jari 4 adalah 25.132720
Dari contoh di atas,yang berfungsi sebagai parameter masukan adalah R
Fungsi dengan Parameter
Oke,sekarang kita masuk ke bahasan fungsi yang berikutnya. Judulnya fungsi dengan parameter. Sebelumnya,gue mau jelasin apa itu parameter. Parameter itu adalah variabel yang berguna untuk menampung
nilai yang akan dikirimkan kedalam fungsi. (Inget-inget lagi bagian dari fungsi yang ada di dalam kurung,setelah nama fungsinya). Parameter ada dua,formar dan aktual . Parameter formal terdapat pada pendefinisan fungsi,sedangkan aktual terdapat pada pemanggilan fungsi.
Contoh ; Parameter Formal
int TambahSatu(int x)
{
return x++;
}
Contoh Parameter Aktual
int main()
{
int a=9;
hasil=TambahSatu(a);
return 0;
}
nilai yang akan dikirimkan kedalam fungsi. (Inget-inget lagi bagian dari fungsi yang ada di dalam kurung,setelah nama fungsinya). Parameter ada dua,formar dan aktual . Parameter formal terdapat pada pendefinisan fungsi,sedangkan aktual terdapat pada pemanggilan fungsi.
Contoh ; Parameter Formal
int TambahSatu(int x)
{
return x++;
}
Contoh Parameter Aktual
int main()
{
int a=9;
hasil=TambahSatu(a);
return 0;
}
Fungsi dengan Nilai Balik
Oke,berbeda sama bahasan fungsi yang lalu,kalau kemarin kita pake fungsi yang gak return value,sekarang kita coba pahami fungsi yang return value.
Bentuk umum fungsi ini :
tipe_data nama_fungsi(parameter 1,parameter 2)
{
statement yang dieksekusi;
......
return nilai_balik;
}
Contoh programnya :
#include<stdio.h>
int HitungLuasSegi4(int sisi)
{int L;
L=sisi*sisi;
return L;
}
int main(void)
{
int S,Luas;
scanf("%d",&S);
Luas=HitungLuasSegi4(S);
printf("Luas segi 4 dengan sisi %d adalah %d",S,Luas);
return 0;
}
Bentuk umum fungsi ini :
tipe_data nama_fungsi(parameter 1,parameter 2)
{
statement yang dieksekusi;
......
return nilai_balik;
}
Contoh programnya :
#include<stdio.h>
int HitungLuasSegi4(int sisi)
{int L;
L=sisi*sisi;
return L;
}
int main(void)
{
int S,Luas;
scanf("%d",&S);
Luas=HitungLuasSegi4(S);
printf("Luas segi 4 dengan sisi %d adalah %d",S,Luas);
return 0;
}
Fungsi Tanpa Nilai Balikan(dalam bahasa C)
Rabu,16 mei 2012 <4.41 pm>
Ok,sore ini ane mau sharing tentang fungsi dalam bahasa C. Sebelum kita masuk lebih jauh,biasanya ada beberapa istilah yang bakal lu sering denger. Diantaranya :
-void
-passing by value
-passing by reference
-parameter
-prototype fungsi
-rekursi
-fungsi faktorial
oke,itu tadi beberapa istilah yang musti lu pahami,,
Mulai dari definisinya,fungsi tu apa sih???
Fungsi adalah suatu blog program yang dipake untuk melakukan proses-proses tertentu. Contoh sederhananya fungsi main(). Ciri dari suatu fungsi biasanya ada tanda kurungnya (). Dengan adanya fungsi ini,kita bisa membagi sebuah program menjadi modular(jadi beberapa bagian yang kecil). Nah,di bahasa C fungsi itu ada 2. Fungsi yang return value sama yang gak return value. Ribet yak??tenang disini nanti bakal gue kasih contoh-contohnya.. Keep reading okay.....
1. Fungsi tanpa Nilai Balik
Maksudnya fungsi itu gak akan ngreturn nilai apapun. contoh fungsi ini biasanya tentang pengulangan dan pengesetan nilai. tipe kembaliannya akan diisi dengan nilai void.
template standarnya kayak gini :
void nama_fungsi(parameter 1,parameter 2){
statement yang dieksekusi
}
#include<stdio.h>
void TulisSepuluhKali(void)
{int j;
for(j=0;j<10;j++)
{printf("Cuma kamu yang ku mau");}
}
int main(void)
{
TulisSepuluhKali();
return 0;
}
Ok,sore ini ane mau sharing tentang fungsi dalam bahasa C. Sebelum kita masuk lebih jauh,biasanya ada beberapa istilah yang bakal lu sering denger. Diantaranya :
-void
-passing by value
-passing by reference
-parameter
-prototype fungsi
-rekursi
-fungsi faktorial
oke,itu tadi beberapa istilah yang musti lu pahami,,
Mulai dari definisinya,fungsi tu apa sih???
Fungsi adalah suatu blog program yang dipake untuk melakukan proses-proses tertentu. Contoh sederhananya fungsi main(). Ciri dari suatu fungsi biasanya ada tanda kurungnya (). Dengan adanya fungsi ini,kita bisa membagi sebuah program menjadi modular(jadi beberapa bagian yang kecil). Nah,di bahasa C fungsi itu ada 2. Fungsi yang return value sama yang gak return value. Ribet yak??tenang disini nanti bakal gue kasih contoh-contohnya.. Keep reading okay.....
1. Fungsi tanpa Nilai Balik
Maksudnya fungsi itu gak akan ngreturn nilai apapun. contoh fungsi ini biasanya tentang pengulangan dan pengesetan nilai. tipe kembaliannya akan diisi dengan nilai void.
template standarnya kayak gini :
void nama_fungsi(parameter 1,parameter 2){
statement yang dieksekusi
}
#include<stdio.h>
void TulisSepuluhKali(void)
{int j;
for(j=0;j<10;j++)
{printf("Cuma kamu yang ku mau");}
}
int main(void)
{
TulisSepuluhKali();
return 0;
}
Rabu, 16 Mei 2012
Google Anecdote
Teacher : Google is a girl or a boy ?
.
.
.
.
.
.
.
.
.
Student: Google is a Girl, because it won't let u
complete the whole sentence and start guessing & suggesting!!...
And you ask only one question.. but get hundreds of irrelevant
answers in seconds.
.
.
.
.
.
.
.
.
.
Student: Google is a Girl, because it won't let u
complete the whole sentence and start guessing & suggesting!!...
And you ask only one question.. but get hundreds of irrelevant
answers in seconds.
Selasa, 15 Mei 2012
Jumat, 11 Mei 2012
Kuliah bersama Pak Profesor
20.19
1 comment
Jum'at,11 Mei 2012
Pagi ini,tim proyek Electronic Medical Record ada janji ketemuan dengan seorang Profesor di ruangannya. Bodohnya,anak-anak pada kesiangan bangun. Bodohnya anak-anak pada telat. Zonk...
Profesor malah suruh nunggu(dengan datang telat tadi). Akhirnya Pak prof marah juga. Saya masih inget beliau bilang "Kalian ini masih kecil udah telatan. Gimana nanti gedenya ?". "Budaya telat ini harus dihilangkan kalau Indonesia mau maju". Jujur aja,itu peringatan keras bagi kami. Setelah itu beliau ngajak kita untuk masuk ke kelasnya. Ternyata beliau ngajar kelas Mas-Mas dan mbak-mbak senior 2009. Beliau mengawali kelasnya dengan bertanya,"Apa alasan yang mendorong kalian masuk informatika ITS?"
"Mana yang karena seneng komputer?" ,"Mana yang karena disuruh orang tua?" Kemudian beliau bercerita tentang masa sekolahnya dulu,hingga beliau bisa masuk di Elektro ITB. Tapi ada hal-hal yang paling menancap di hati dan itu memang benar menurut saya. Beliau berkata bahwa,tak ada yang bisa menjamin masa depan kita. Apakah karena kita di jurusan IT kemudian kita pasti mudah memiliki "kepribadian". (Kepribadian--> mobil pribadi,rumah pribadi,dengan nada guyon). Tak ada yang bisa menjamin. Sesungguhnya masa depan di IT itu suram. Udah kuliahnya susah lagi. Di Universitas Toronto,waktu beliau mengajar disana. Kelas Computer Science itu semua orang non kanada. Seandainya kelas itu tidak ada mereka,udah pasti kosong tu kelas. Beliau juga bilang"Banyak kan negara2 yang ngasih beasiswa Computer Science,Jepang misalnya,sampai datang2 ke Indonesia,baik kan mereka???"
Ya,itu karena mereka kehabisan orang yang menggarap masalah IT,programmer contohnya. Jadi Alasan mereka ngasih beasiswa juga nyari TKP sebenernya. Tenaga Kerja Programmer. Job Market di bidang IT ini akan mengalami masa suram . Masa dimana server tidak lagi banyak dibutuhkan. Masa dimana hanya orang-orang jagoan yang memegang 100 server untuk seluruh dunia. Hanya orang yang bisa survive,
yang akan bisa bertahan di dunia IT. Kita harus banyak mengaudit diri kita sendiri ,sudah sejauh mana kemampuan kita saat ini untuk survive di dunia IT. Selain itu kita juga harus liat ke masa depan, issu IT apa yang kira-kira akan menjadi tren di masa depan. Jangan kita sekarang sibuk mempelajari hal yang itu-itu saja,tapi 5 tahun kemudian ternyata apa yang kita pelajari itu udah nggak kepake lagi,mana udah susah-susah belajarnya.
Nah dari apa yang Pak Prof sampaikan hari ini ada beberapa poin penting yang ane tangkep disini.
1. Jangan budayakan telat,bisa2 anda kehilangan kepercayaan dan akhirnya kehilangan kesempatan
2. Bener apa yang kurenungkan akhir-akhir ini .bahwa semua ini tak ada yang pasti,kita tak tau masa
depan nanti seperti apa,dan jadi apa kita,makanya persiapkan dengan baik dari sekarang
3. Selalu upgrade kemampuan diri,banyak baca,selidiki hal-hal yang baru,khususnya di dunia IT
4. Apa yang kamu pelajari di kampus saat ini ,yang rasanya hampir membuat kepala pecah,sebenarnya
itu hanya dasar untuk menuju tingkat berikutnya,jadi kalau baru sampai level bawah aja udah nyerah
udah males baca buku,gimana mau ngejar level atas,harus cepet bergerak untuk tuntaskan level atas
5. harus punya banyak jaringan kenalan yang pernah study di luar negeri biar tau apa aja yang udah berkembang disana
6. Saya juga punya pikiran untuk menguatkan tekad keluar negeri untuk tahu dan menyelidiki lebih jauh perkembangan IT disana
7. Banyakin porsi untuk ngoprek hal-hal baru diluar materi kuliah,,,,,,tentunya setelah materi kuliah udah tercover...untuk itu harus gerak cepat
Pagi ini,tim proyek Electronic Medical Record ada janji ketemuan dengan seorang Profesor di ruangannya. Bodohnya,anak-anak pada kesiangan bangun. Bodohnya anak-anak pada telat. Zonk...
Profesor malah suruh nunggu(dengan datang telat tadi). Akhirnya Pak prof marah juga. Saya masih inget beliau bilang "Kalian ini masih kecil udah telatan. Gimana nanti gedenya ?". "Budaya telat ini harus dihilangkan kalau Indonesia mau maju". Jujur aja,itu peringatan keras bagi kami. Setelah itu beliau ngajak kita untuk masuk ke kelasnya. Ternyata beliau ngajar kelas Mas-Mas dan mbak-mbak senior 2009. Beliau mengawali kelasnya dengan bertanya,"Apa alasan yang mendorong kalian masuk informatika ITS?"
"Mana yang karena seneng komputer?" ,"Mana yang karena disuruh orang tua?" Kemudian beliau bercerita tentang masa sekolahnya dulu,hingga beliau bisa masuk di Elektro ITB. Tapi ada hal-hal yang paling menancap di hati dan itu memang benar menurut saya. Beliau berkata bahwa,tak ada yang bisa menjamin masa depan kita. Apakah karena kita di jurusan IT kemudian kita pasti mudah memiliki "kepribadian". (Kepribadian--> mobil pribadi,rumah pribadi,dengan nada guyon). Tak ada yang bisa menjamin. Sesungguhnya masa depan di IT itu suram. Udah kuliahnya susah lagi. Di Universitas Toronto,waktu beliau mengajar disana. Kelas Computer Science itu semua orang non kanada. Seandainya kelas itu tidak ada mereka,udah pasti kosong tu kelas. Beliau juga bilang"Banyak kan negara2 yang ngasih beasiswa Computer Science,Jepang misalnya,sampai datang2 ke Indonesia,baik kan mereka???"
Ya,itu karena mereka kehabisan orang yang menggarap masalah IT,programmer contohnya. Jadi Alasan mereka ngasih beasiswa juga nyari TKP sebenernya. Tenaga Kerja Programmer. Job Market di bidang IT ini akan mengalami masa suram . Masa dimana server tidak lagi banyak dibutuhkan. Masa dimana hanya orang-orang jagoan yang memegang 100 server untuk seluruh dunia. Hanya orang yang bisa survive,
yang akan bisa bertahan di dunia IT. Kita harus banyak mengaudit diri kita sendiri ,sudah sejauh mana kemampuan kita saat ini untuk survive di dunia IT. Selain itu kita juga harus liat ke masa depan, issu IT apa yang kira-kira akan menjadi tren di masa depan. Jangan kita sekarang sibuk mempelajari hal yang itu-itu saja,tapi 5 tahun kemudian ternyata apa yang kita pelajari itu udah nggak kepake lagi,mana udah susah-susah belajarnya.
Nah dari apa yang Pak Prof sampaikan hari ini ada beberapa poin penting yang ane tangkep disini.
1. Jangan budayakan telat,bisa2 anda kehilangan kepercayaan dan akhirnya kehilangan kesempatan
2. Bener apa yang kurenungkan akhir-akhir ini .bahwa semua ini tak ada yang pasti,kita tak tau masa
depan nanti seperti apa,dan jadi apa kita,makanya persiapkan dengan baik dari sekarang
3. Selalu upgrade kemampuan diri,banyak baca,selidiki hal-hal yang baru,khususnya di dunia IT
4. Apa yang kamu pelajari di kampus saat ini ,yang rasanya hampir membuat kepala pecah,sebenarnya
itu hanya dasar untuk menuju tingkat berikutnya,jadi kalau baru sampai level bawah aja udah nyerah
udah males baca buku,gimana mau ngejar level atas,harus cepet bergerak untuk tuntaskan level atas
5. harus punya banyak jaringan kenalan yang pernah study di luar negeri biar tau apa aja yang udah berkembang disana
6. Saya juga punya pikiran untuk menguatkan tekad keluar negeri untuk tahu dan menyelidiki lebih jauh perkembangan IT disana
7. Banyakin porsi untuk ngoprek hal-hal baru diluar materi kuliah,,,,,,tentunya setelah materi kuliah udah tercover...untuk itu harus gerak cepat
"Facing a Dinamic World"
19.30
No comments
Senin, 7 Mei 2012
Time 8.30 a.m
Hari ini ,ada seminar oleh Alumni Teknik Elektro ITS 91' Ir.Pak Susilo Baskoroyang telah berkarir di Schlumberger selama 20 tahun. Seminar berlangsung menarik,dihadiri pula oleh PR1 ITS Prof.Herman Sasongko,Pak Hamdani(mantan Kahima Tek.kim),yang bertempat di Aula BG Munaf FTK ITS. Beliau sendiri,Ir.Susilo Baskoro juga orang yang aktif di organisasi. Beliau pernah menjabat sebagai Kahima Teknik Elektro,juga aktif di Pramuka dan Karate.
Langganan:
Postingan (Atom)