ANGGA RIZKI EKAYANA

“Dikala semua orang bicara tentang manfaat dan guna tapi aku bicara padamu tentang cinta dan keindahan”

Robo Soccer With Microsoft visual C# .net

Ditulis oleh anggarizkiekayana di/pada Desember 7, 2008

Description:

Lab ini ditujukan untuk memberi pengalaman menggunakan Microsoft Robotics Studio dengan memanfaatkan Visual Studio dan .NET Framework. Dengan memahami labs ini, maka anda akan segera memahami cara memanfaatkan MSRS untuk pengembangan aplikasi Robot.

Microsoft Robotics Studio memberikan desain re-usable untuk menulis service. Desain ini memungkinkan Anda untuk menulis sebuah service untuk spesifikasi hardware yang umum dan kemudian menggunakan service tersebut untuk hardware robot yang berbeda platform.

Dalam tutorial ini, Anda akan belajar bagaimana membuat service dan dengan berdasarkan dari file konfigurasi (manifest file), service tersebut akan digunakan pada saat runtime untuk implementasi yang spesifik (berdasarkan manifest file tersebut).

Hardware Requirements:

Anda membutuhkan sebuah Lego NXT yang berbentuk Tribot dengan modifikasi pada motor port 1 dengan deskripsi pada gambar berikut ini:

Sofware Requirements:

Tutorial ini didesain untuk menggunakan Visual C#. Anda dapat menggunakan tools berikut ini:

1. Microsoft Visual C# 2005 Express Edition.

2. Microsoft Visual Studio Standard Edition.

3. Microsoft Visual Studio Professional Edition.

4. Atau Microsoft Visual Studio Team System.

Anda juga membutuhkan sebuah web browser (Internet Explorer atau Firefox) dan Microsoft Robotics Studio 1.5 (CTP May 2007).

Part 1 : Memulai

Kita tidak akan membuat service dari awal, akan tetapi kita akan menggunakan service yang sudah ada dan kemudian melakukan beberapa modifikasi. Service yang akan kita gunakan adalah RoboticsTutorial4. Aplikasi ini akan memberikan layanan kontrol robot tribot dengan menggunakan windows form. Kontrol yang didukung meliputi pergerakan robot ke 4 arah (maju, mundur, kanan, kiri). Dalam tutorial ini, kita akan menambahkan kontrol baru, yaitu menendang dan navigasi dengan menggunakan keyboard.

Membuka file RoboticsTutorial4

1. Pastikan Microsoft Robotics Studio 1.5 (CTP May 2007) telah terinstalasi dengan benar pada komputer Anda.

2. Pastikan komputer Anda memiliki sebuah perangkat bluetooth yang telah terkoneksi (paired) dengan NXT robot.

3. Bukalah Windows Explorer lalu navigasi pada “C:\Microsoft Robotics Studio 1.5 (CTP May 2007)\samples\RoboticsTutorials\Tutorial4

4. Pada folder Tutorial4, lakukan copy and paste pada folder CSharp dan ubahlah namanya menjadi “RoboSoccer”.

5. Folder “RoboSoccer” terdapat pada C:\Microsoft Robotics Studio 1.5 (CTP May 2007)\samples\RoboticsTutorials\Tutorial4\RoboSoccer

6. Bukalah folder RoboSoccer dan buka file RoboticsTutorial4.sln

7. Anda akan masuk ke lingkungan pemrograman Visual Studio dan akan menemukan tampilan berikut :

8. Buka file RoboticsTutorial4Types.cs

Mendefinisikan Service Operations

RoboticsTutorial4Types.cs mendefinisikan operasi yang dimiliki oleh sebuah service. 
Sedangkan kelas RoboticsTutorial4Operations mendefinisikan lima operasi yang dibuat oleh DssNewService 
yaitu: Stop, Forward, Backward, TurnLeft, TurnRight. Oleh karena itu kita akan menambahkan tiga operasi.

Part 2 : Memodifikasi Operation Service

9.     Tiga operasi baru yang ditambahkan adalah: Kick, UnKick, dan StopKick.

public class RoboticsTutorial4Operations: PortSet<

DsspDefaultLookup,

DsspDefaultDrop,

Get,

Replace,

Stop,

Forward,

Backward,

TurnLeft,

TurnRight,

Kick,

StopKick,

UnKick> { }

Setiap operasi tersebut memiliki sebuah kelas yang mendefinisikan setiap operasi dan sebuah kelas yang mendefinisikan message body type. Tinjaulah kode berikut ini:

public class Stop : Submit<StopRequest, PortSet<DefaultSubmitResponseType, Fault>>

{

public Stop()

: base(new StopRequest())

{

}

}

[DataContract]

public class StopRequest { }

Kode tersebut mendefinisikan sebuah Operation dari kelas Stop yang diturunkan dari generic type Submit<TBody, TResponse>, memiliki sebuah body type StopRequest. Dengan cara yang sama Stop didefinisikan, file tersebut juga mengandung definisi untuk Forward, Backward, TurnLeft dan TurnRight. Service memberikan respon kepada operasi tersebut dengan mengirimkan perintah ke drive partner. Karena kita telah menambahkan tiga operasi baru, maka kita juga harus membuat kelas yang mendefinisikan operasi dan kelas yang mendefinisikan message body type dari setiap operasi tersebut.

10.                  Tambahkan kode berikut ini dalam file RoboticsTutorial4Types.cs

public class Kick : Submit<KickRequest, PortSet<DefaultSubmitResponseType, Fault>>

{

public Kick()

: base(new KickRequest())

{

}

}

[DataContract]

public class KickRequest { }

public class StopKick : Submit<StopKickRequest, PortSet<DefaultSubmitResponseType, Fault>>

{

public StopKick()

: base(new StopKickRequest())

{

}

}

[DataContract]

public class StopKickRequest { }

public class UnKick : Submit<UnKickRequest, PortSet<DefaultSubmitResponseType, Fault>>

{

public UnKick()

: base(new UnKickRequest())

{

}

}

[DataContract]

    public class UnKickRequest { }

Setiap operasi tersebut memiliki sebuah handler dalam kelas implementasi utama, RoboticsTutorial4, dalam file RoboticsTutorial4.cs. Handler untuk operasi Forward adalah ForwardHandler

Part 3 : Menambahkan Event Handler

11.                  Tambahkan kode berikut ini dalam file RoboticsTutorial4.cs

using motor = Microsoft.Robotics.Services.Motor.Proxy;

12.                  Kemudian tambahkan kode berikut ini dalam kelas RoboticsTutorial4
13.                  Untuk menjalankan Kick, UnKick, dan StopKick kita harus menambahkan Handler dan untuk konstruksi 
	SetDrivePowerRequest dan posting dengan menggunakan _motorAPort menggunakan fungsi pembantu SetDrivePower.
14.                  Tambahkan kode berikut ini dalam kelas RoboticsTutorial4

[ServiceHandler(ServiceHandlerBehavior.Concurrent)]

public virtual IEnumerator<ITask> KickHandler(Kick forward)

{

if (!_state.MotorEnabled)

{

yield return EnableMotor();

}

motor.SetMotorPowerRequest request =

new motor.SetMotorPowerRequest();

request.TargetPower = -0.8;

yield return Arbiter.Choice(

_motorAPort.SetMotorPower(request),

delegate(DefaultUpdateResponseType response) { },

delegate(Fault fault)

{

LogError(null, “Unable to Kick the Ball”, fault);

}

);

}

[ServiceHandler(ServiceHandlerBehavior.Concurrent)]

public virtual IEnumerator<ITask> UnKickHandler(UnKick forward)

{

if (!_state.MotorEnabled)

{

yield return EnableMotor();

}

motor.SetMotorPowerRequest request =

new motor.SetMotorPowerRequest();

request.TargetPower = 0.1;

yield return Arbiter.Choice(

_motorAPort.SetMotorPower(request),

delegate(DefaultUpdateResponseType response) { },

delegate(Fault fault)

{

LogError(null, “Unable to UnKick the Ball”, fault);

}

);

}

[ServiceHandler(ServiceHandlerBehavior.Concurrent)]

public virtual IEnumerator<ITask> StopKickHandler(StopKick forward)

{

if (!_state.MotorEnabled)

{

yield return EnableMotor();

}

motor.SetMotorPowerRequest request =

new motor.SetMotorPowerRequest();

request.TargetPower = 0;

yield return Arbiter.Choice(

_motorAPort.SetMotorPower(request),

delegate(DefaultUpdateResponseType response) { },

delegate(Fault fault)

{

LogError(null, “Unable to Stop Kick the Ball”, fault);

}

);

}

Part 4 : Memodifikasi Windows Form

15.                  Kemudian bukalah file RoboticsTutorial4Form[Design] dan tambahkan dua buah button menjadi seperti berikut ini:
16.                  Kemudian bukalah file RoboticsTutorial4Form.cs dan tambahkan dua event handler untuk kedua button tersebut:

private void btnKick_Click(object sender, EventArgs e)

{

_mainPort.Post(new Kick());

System.Threading.Thread.Sleep(250);

_mainPort.Post(new StopKick());

}

private void btnUnKick_Click(object sender, EventArgs e)

{

_mainPort.Post(new UnKick());

System.Threading.Thread.Sleep(250);

_mainPort.Post(new StopKick());

        }

17.                  Kemudian bukalah property dari RoboticsTutorial4Form dan ubahlah property KeyPreview menjadi true.
18.                  Kemudian tambahkan event handler Key_Down dan Key_Up:

private void RoboticsTutorial4Form_KeyDown(object sender, KeyEventArgs e)

{

switch (e.KeyCode)

{

case Keys.W:

_mainPort.Post(new Forward());

break;

case Keys.S:

_mainPort.Post(new Backward());

break;

case Keys.A:

_mainPort.Post(new TurnLeft());

break;

case Keys.D:

_mainPort.Post(new TurnRight());

break;

case Keys.Space:

_mainPort.Post(new Kick());

System.Threading.Thread.Sleep(250);

_mainPort.Post(new StopKick());

break;

case Keys.B:

_mainPort.Post(new UnKick());

System.Threading.Thread.Sleep(250);

_mainPort.Post(new StopKick());

break;

default:

_mainPort.Post(new Stop());

break;

}

e.Handled = true;

}

private void RoboticsTutorial4Form_KeyUp(object sender, KeyEventArgs e)

{

_mainPort.Post(new Stop());

e.Handled = true;

}

19.                  Kemudian bukalah property dari RoboticsTutorial4Form dan ubahlah property KeyPreview menjadi true.

Part 5 : Menggunakan Manifest File

Anda telah selesai menambahkan fungsionalitas Kick pada robot. Anda dapat menggunakan manifest file Lego.NXT.TribotSoccer.manifest.xml. File tersebut sebenarnya merupakan modifikasi dari Lego.NXT.Tribot.manifest.xml. Modifikasi yang dilakukan adalah dengan menambahkan partner baru yang disebut dengan MotorA. 

<!– Start Lego Motor A –>

<ServiceRecordType>

<dssp:Contract>http://schemas.microsoft.com/2006/06/legonxtmotor.html

</dssp:Contract>

<dssp:PartnerList>

<dssp:Partner>

<dssp:Service>LEGO.NXT.MotorA.Config.xml</dssp:Service>

<dssp:Name>dssp:StateService</dssp:Name>

</dssp:Partner>

<dssp:Partner>

<dssp:Name>lego:Brick</dssp:Name>

</dssp:Partner>

</dssp:PartnerList>

<Name>motor:MotorA</Name>

</ServiceRecordType>

Definisi dari MotorA terdapat pada file Lego.NXT.MotorA.Config.xml. Oleh karena itu, Anda harus menambahkan file Lego.NXT.TribotSoccer.manifest.xml dan Lego.NXT.MotorA.Config.xml. Dalam folder “C:\Microsoft Robotics Studio 1.5 (CTP May 2007)\samples\Config”.

Part 6 : Menjalankan aplikasi

Untuk menjalankan aplikasi ini, Anda harus melakukan perubahan terhadap manifest yang digunakan.

Ditulis dalam IT | Leave a Comment »

Program Pengenalan Ekspresi Foto Melalui Ukuran Mata Ditampilkan dengan Musik menggunakan Integral Projection

Ditulis oleh anggarizkiekayana di/pada Desember 7, 2008

2.2.1.1Clustering

Untuk face detection ini dilakukan dengan beberapa tahap. Tahap yang pertama yaitu pencarian daerah warna kulit. Untuk pemrosesan pencarian warna kulit, dari gambar yang kita tangkap akan kita lakukan normalisasi. Kita akan mencari sample dari kulit yang kemudian kita normalisasi sebelum kita proses. Warna kulit manusia pada umumnya berwarna coklat atatu sawo matang. Untuk proses clustering ini kita akan ambil beberapa sample wajah yang kemudian kita olah. Sample wajahnya pertama akan kita cari nilai rata-rata R,G dan B yang kemudian akan kita normalisasi dengan rumus sebagai berikut:

R = R / ( R + G + B)

G = G / ( R + G + B)

B = B / ( R + G + B)

2.2.1.2 Mahalanobis Distance

Dalam gambar yang akan diproses terdapat banyak objek yang terdapat didalamnya dan semua memiliki nilai RGB. Metode Mahalanobis Distance ini digunakan untuk memilih warna yang kita kehendaki yaitu warna kulit. Dalam kasus ini untuk memilih daerah warna kulit yang bagus kita harus melakukan percobaan dari rumus Mahalanobis yang sudah disinggung diatas. Percobaan disini kemungkinan akan merubah rumus yang sudah ada, karena untuk mendapatkan daerah warna kulit yang tepat, jika menggunakan rumus yang diatas tidak akan bisa menemukan dan memberi tampilan yang bagus untuk hasilnya. Maka dari itu dalam tugas ini untuk percobaannya menggunakan rumus sebagai berikut:

Perbandingan antara RGB dari gambar asli dengan RGB rata-rata dari sample kulit:

Setelah kita masukkan rumusnya kita buat lebih dari satu cluster, yaitu dengan membandingkan antar cluster sehingga kita benar-benar menemukan daerah kulitnya.

2.2.1.3 Integral Projection

Seperti yang telah dijelaskan di bab sebelumnya, metode ini akan sangat membantu saat kita mencari lokasi object yang kita perlukan. Metode ini akan menjumlahkan pixel per baris dan per kolomnya.

Jadi tiap pixel x kita jumlahkan sepanjang width dan sebanyak high-nya, begitu juga dengan penjumlahan pixel y-nya. Dalam pencarian face localization ini, kita akan mencari batas-batas clusternya. Dari penjumlahan pixel akan kita dapat nilai yang tingi dari prubahan nilai tinggi ke rendah atau sebaliknya rendah ketinggi ini akan kita cari batasnya. Pertama kita integrasikan semua gambar ke arah sumbu y sepanjang sumbu x (lebar gambar), kemudian kita treshold dengan nilai rata-rata hasil dari integral projectionnya, kita buat nilai jika lebih dari nilai rata-rata maka kita beri nilai 1 dan jika tidak maka nilainya akan 0, dari hasil ini maka nilainya akan berupa 0 dan 1 yang nantinya akan kita gunakan untuk nilai batas. Setelah kita treshold dengan rata-rata yang kita 0 dan 1-kan nilainya,kemudian kita filter agar agar daerah yang banyak nilai 0-nya dan diantara nilai 0 tersebut terdapat satu nilai bernilai 1 maka setelah kita filter akan ikut 0, berikut adalah gambarannya:

Gb 3. Proses Integral projection, filter dan seleksi

Setelah kita treshold kemudian kita cari batasnya untuk memperoleh batas clustering, pertama kita cari batas untuk ke arah sumbu y yang ditandai dengan awal dan akhir. Awal yaitu perubahan dari rendah ke tinggi dan akhir yaitu dari tinggi ke rendah, begitu juga dengan batas x, gambarannya sebagai berikut:

Gb 4. Pencarian batas dalam Integral Projection

2.2.2 Feature Detection

Setelah memperoleh face location lalu kita lakukan edge detection pada hasil tersebut. Tetapi sebelumnya dilakukan scaling agar hasil face location tersebut tidak terlalu besar ataupun sebaliknya.

2.2.2.1 Edge Detection

Sebelum kita lakukan operasi edge detection dengan konvolusi, image kita proses menjadi grayscale dulu, yaitu dengan kita jumlahkan R,G dan B nya kemudian kita bagi dengan 3. Setelah kita grey-kan image-nya maka kita laukan operasi edge detection dengan convolusi, yaitu dengan mengalikan pixel dengan kernelnya. Dalam edge detection ini kita gunakan Sobel filter. Dan setelah proses edge dilakukan maka untuk hasil yang lebih bagus, dilakukan filtering dengan menggunakan filter gaussian.

Metode Sobel merupakan pengembangan metode robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi.

2.2.2.2 Integral Projection

Setelah kita peroleh lokasi wajahnya dan kemudian kita proses seperti penjelasan diatas, maka akan kita lakukan tahap selanjutnya yaitu pencarian fitur wajah. Dalam pencarian fitur wajah ini juga akan kita lakukan dengan integral projection. Pemrosesannya kita lakukan pada gambar hasil edge detectionnya.

Lokasi wajah pada edge kita integrasikan dengan menjumlahkan pixel ke arah X, maka kita akan temukan daerah-daerah yang memiliki nilai besar yaitu, daerah alis, mata, lubang hidung dan daerah bibir. Proses pencarian fitur wajah ini kita lakukan seperti saat kita mencari lokasi objek yang akan kita olah yaitu wajah, dengan kita mencari batas-batasnya. Dan barulah dilakukan penjumlahan ke arah Y untuk mendapatkan koordinat dari feature yang dicari.

Ditulis dalam IT | 1 Komentar »

IMPLEMENTASI SISTEM PENGENALAN SUARA DENGAN SAPI & DELPHI

Ditulis oleh anggarizkiekayana di/pada Desember 7, 2008

Pada pengenalan pembicaraan terdapat bagian proses yang menentukan jenis kata yang diucapkan. Proses ini menggunakan grammar untuk menentukan kata tersebut jika grammar tersedia. SAPI 5.1 mendefinisikan format untuk grammar dalam bentuk XML. Pada diktasi, grammar digunakan untuk mengidentifikasi beberapa kata khusus yang sering digunakan. Grammar tidak dapat digunakan untuk menganalisa keseluruhan kata pada diktasi karena tidak mungkin untuk mendaftar seluruh kata yang dipergunakan dalam percakapan ke dalam grammar. Biasanya sistem akan menggunakan metode tertentu serta context analysis untuk melakukan pengenalan kata pada diktasi. Dan hasil proses ini akan lebih akurat dengan menggunakan tambahan grammar yang telah didefinisikan.

Untuk memulai pembuatan aplikasi, maka digunakan komponen TspSharedReco Context. Sedangkan TspSharedRecognizer akan dibuat secara otomatis oleh recognizer, sehingga komponen tersebut tidak perlu digunakan secara eksplisit, kecuali jika hendak menggunakan metode yang terdapat pada komponen tersebut secara langsung. Langkah berikutnya adalah mendefinisikan grammar yang akan digunakan pada aplikasi dengan menuliskan kode berikut pada saat aplikasi pertama kali dijalankan :

SpSharedRecoContext1.EventInterests := SREAllEvents;

MyGrammar := SpSharedRecoContext1.CreateGrammar(0);

MyGrammar.DictationSetState(SGDSActive);

Pada saat terjadi notifikasi pada aplikasi seperti permulaan suara, akhir suara, permulaan frasa, akhir frasa dan lain-lain, maka akan terjadi pemanggilan pada standard even Delphi, dimana pada even tersebut bisa ditambahkan kode yang diperlukan seperti penampilan status. Even yang paling penting adalah OnRecognition, dimana even ini terjadi setelah sistem selesai melakukan pengenalan pada sebuah kata. Hasil dari OnRecognition ini akan dikirimkan melalui sebuah parameter yang berupa obyek ISpeechRecoResult. Untuk mengambil hasil dari pengenalan dapat dilihat pada kode berikut :

procedure

TMainForm.SpSharedRecoContext1Recogn

ition(Sender: TObject;

StreamNumber: Integer; StreamPosition:

OleVariant;

RecognitionType: TOleEnum; var Result:

OleVariant);

var

RecogText: ISpeechRecoResult;

FMDIChild: TMDIChild;

begin

RecogText := IDispatch(Result) as

ISpeechRecoResult;

FMDIChild := MainForm.ActiveMDIChild as

TMDIChild;

if FMDIChild <> nil then

FMDIChild.Memo1.SelText :=

RecogText.PhraseInfo.GetText(0, -1, True)

+ ‘ ‘;

end;

Hasil dari pengenalan pembicaraan ini diimplementasikan untuk menambahkan kata pada TMemo, dimana TMemo tersebut lebih lanjut dapat disimpan sebagai file teks.

Ditulis dalam IT | Leave a Comment »

Security Communication mobile dengan Modular square root method

Ditulis oleh anggarizkiekayana di/pada Desember 7, 2008

Baru baru ini kemajuan teknologi dalam komunikasi mobile telah menyediakan fasilitas kepada masyarakat umum untuk mengambil bagian dalam pemilihan non kritis(seperti memutuskan pemain yang sangat berharga dalam kejuaraan olah raga) dengan low power, low cost, dan peralatan komunikasi portable yang berukuran kecil. Bagaimanapun beberapa pemilihan kritis(seperti pemilihan dalam bidang politik) belum tersedia dalam lingkungan komunikasi mobile, sebagian besar karena faktor keamanan, komunikasi dan batasan komputasi dari peralatan komunikasi portable. Kita akan tampil dengan skema pemilihan elektronik yang aman dalam lingkungan komunikasi mobile dengan completeness, soundness, privacy, unreusability, eligibility, verifiability, dan fairness. Skema yang kita bahas saat ini berbasis pada blind signature dan komputasi yang rendah dalam peralatan komunikasi portable. Modular square root merupakan metode security yang berbasis mobile communication yang dapat diimplementasikan dengan teknologi Java J2mE. Modular square root algoritm :

Skema pemilihan eletronik dalam lingkungan komunikasi mobile, dengan calon pengguna suara mobile, pada umumnya melibatkan 6 pihak sebagai berikut :

1. Certification authority (CA) – Pihak ketiga terpercaya yang mengeluarkan sertifikat rahasia kepada pengguna mobile.

2. Administrator (A) – Pihak yang mengeluarkan surat suara kepada mobile voters..

3. Counter (C) – Pihak yang menerima dan melakukan perhitungan jumlah surat suara dari mobile voters.

4. Base station (B) – Pihak yang menyediakan komunikasi wireless ke pengguna mobile.

5. Voters (V) – Pengguna mobile yang berpartisipasi dalam pemilihan.

6. Election commissioner (EC) – Pihak yang objektif yang memonitoring semua komplain dan mengambil aksi sesuai dengan permasalahan.

Skema pemilihan elektronik kita dalam lingkungan komunikasi mobile adalah disusun dalam 6 tahap :

1. Setup : Certificate authority, administrator, counter, dan base station mengeset paramater publik dan private.

2. Registration : Certificate authority mengeluarkan sertifikat rahasia kepada pengguna mobile.

3. Ballots application : Mobile voters memakai surat suara dalam administrator melalui base station.

4. Ballots cast : Mobile voters melempar surat suara ke counter melalui base station.

5. Tallying : Counter menjumlahkan surat suara dan mempublikasikan daftar dari surat suara.

Conformation : Mobile voters mengecek apakah surat suara tetentu adalah dalam daftar atau tidak

Ditulis dalam IT | Leave a Comment »

MARHABAN YA RAMADHAN

Ditulis oleh anggarizkiekayana di/pada September 1, 2008

wahai dikau…renungkanlah engkau akan nasib diri
wahai qalbu…sedarkah engkau akan gerak hati
wahai akal…terfikirkah engkau akan apa yang bakal terjadi

tatkala usia bernoktah di penghujung kehidupan duniawi
apabila tiba saat tepat seperti yang dijanji Ilahi,
kematian…adalah sesuatu yang pasti

andai kau tahu ini Ramadhan terakhir,
tentu malammu bakal kau hiasi dengan dzikir dan lantunan syair rindu
mendayu..merayu…kepada-NYA Tuhan yang satu
menangisi kecurangan janji

marhaban ya ramadhan…

Ditulis dalam Catatan SI ANGGA | Leave a Comment »

Socket programming in c# .net server side

Ditulis oleh anggarizkiekayana di/pada Agustus 8, 2008

Server Side Code: using System; using System.Net.Sockets; public class AsynchIOServer { public static void Main() { TCPListener tcpListener = new TCPListener(10); tcpListener.Start(); Socket socketForClient = tcpListener.Accept(); if (socketForClient.Connected) { Console.WriteLine(“Client connected”); NetworkStream networkStream = new NetworkStream(socketForClient); System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(networkStream); System.IO.StreamReader streamReader = new System.IO.StreamReader(networkStream); string theString = “Sending”; streamWriter.WriteLine(theString); Console.WriteLine(theString); streamWriter.Flush(); theString = streamReader.ReadLine(); Console.WriteLine(theString); streamReader.Close(); networkStream.Close(); streamWriter.Close(); } socketForClient.Close(); Console.WriteLine(“Exiting…”); } } Client Code: using System; using System.Net.Sockets; public class Client { static public void Main( string[] Args ) { TCPClient socketForServer; try { socketForServer = new TCPClient(“localHost”, 10); } catch { Console.WriteLine( “Failed to connect to server at {0}:999″, “localhost”); return; } NetworkStream networkStream = socketForServer.GetStream(); System.IO.StreamReader streamReader = new System.IO.StreamReader(networkStream); System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(networkStream); try { string outputString; // read the data from the host and display it { outputString = streamReader.ReadLine(); Console.WriteLine(outputString); streamWriter.WriteLine(“Client Message”); Console.WriteLine(“Client Message”); streamWriter.Flush(); } } catch { Console.WriteLine(“Exception reading from Server”); } // tidy up networkStream.Close(); } }

Ditulis dalam IT | Leave a Comment »

Pendakian MAHAMERU 15 – 18 agustus 2008

Ditulis oleh anggarizkiekayana di/pada Agustus 4, 2008

Rute dari Malang ke Gunung Semeru

Rute

Jarak (km)

kendaraan

jalan

1

Malang – Tumpang

18 km

45 mnt

2

Tumpang – Gubugklakah (Pos Pendaftaran)

12 km

45 mnt

3

gubugklakah – Ranu Pani (Base Camp) 2200 mdpl

17 km

90 mnt

4 jam

4

Ranu Pani – Watu Rejeng

7 km

1,5 jam

5

Watu Rejeng – Ranu kumbolo 2400 mdpl

6 km

1,5 jam

6

Ranu Kumbolo – Oro oro Ombo

11,5 km

1 jam

7

Oro-oro Ombo – Cemoro Kandang

1 Jam

8

Cemoro Kandang – Kalimati 3210 mdpl

1 Jam

9

Kalimati – Arcopodo 3600 mdpl

1 km

1 jam

10

Arcopodo – Puncak Semeru 3676 mdpl

1,32 km

3 jam

Meneriakkan Subhanallah, Alhamdulillah, Walaailaahaillallah, Allahuakbar 3x…. itulah misi pribadi saya saat berada di puncak jawa mahameru 3676 mdpl.
disamping misi bersama yaitu merayakan 17 agustus 1945 di puncak tertinggi pulau jawa mahameru 3676mdpl yang agung….maha besar ALLAH atas ciptaannya….perjalanan kita dimulai dari surabaya start b’da jumatan karena paginya aku secara mendadak ikut tes PT. PLN (Persero) setelah tes kelar aku langsung telfon papa untuk diantar ke rumah satria bawa ransel yg seabrek juga barang2 yg banyak.  setelah sampai ke rumah satria langsung menuju tumpang malang n makan Soto di terminal tumpang, lalu dengan naek jeep menuju ranu pani sampai pukul 19:45 malam an lah…kira2 segituan jam e. he7x…. dengan membawa makanan manis, mie, air, yg jgn lupa bawa madu rasa yg saset aja 1 pak per orang kalo bisa itu trik agar badan ttp fit. start pendakian kita mulai jam 20:00 tgl 15 agustus dari ranu pani menuju ranu kumbolo sebagai base camp awal. menuju ranu kumbolo perjalanan malam n sepi pendaki meski ada beberapa aja karena semua dah pada start kira2 tgl 15 pagi tp gk apalah…ttp semangat…. perjalan menuju ranu kumbolo gk seberapa sulit sih tp pas nyampej watu rejeng kira2 2,5 jam dari ranu pani jalanan agak berbatu n jurang agak berbahaya jadi rekan2 hati2 tp gk sulit2 amat kok asal hati2x….trus setelah sampai watu rejeng menuju ranu kumbolo ada tnjakan terakhir yg agak terjal n bahaya disana harus berhati hati….. setelah berjalan kira2x… 2,5 jam an akhirnya sampai ranu kumbolo dengan kilau cahaya bulan nan indah di ketinggian 2400 mdpl an lahhh….he7x….base camp pertama kita nih… trus tgl 16 pagi nya kira2 jam 10 pagi an kita menuju kalimati niate sih….melewati tanjakan cinta agak beratz tp aku ingin membuktikan mitos tanjakan cinta katanya sih kalo kita menanjak tnjakan cinta tanpa berhenti konon cita2 cinta kita akan tercapai….huahuahuaha entah bener or gk stlh 1 mgu aku turun semeru beneran ada ce nembak bookkkkkk….mimpi apa aku…tp aku dah punya cinta rek jadi ya aku gk bisa terima dia…he7x…<tp gk ah cuma kebetuulan kaleeee>…..kembali ke topik…lha setelah puncak dari tanjakan cinta kita langsung dihamparkan oleh padang rumput luas yg disebut oro oro ombo sekitar jam 11 siang….terus aja n di depan terlihat gunung kepolo yg dibelakange tersembunyi mahameru nan indah yang lagi bernynyi riang dengan harum nafasnya….setelah ke oro2 ombo kita menuju ke cemoro kandang disini medan gampang aja tp jauh puollll he7x… banyak terdapat pohon cemara… setelah itu sampai kalimati sekitar jam 4 sorean lah…. n kita masak mie n nasi yg gosong gosong dan gosong terus nasie…hahuahuahuahauhau… tp gk apa kita jadi tau kalo masak tuh angellll bgt. he7x….trus kita beber tenda tp gk buat nginep tp buat taruh barang n mengelabuhi org dengan stel mp4 player agar dikira ada org dlm tenda. he7x…tp berhasil lho…. setelah semua siap tenda n barang2 kita tiggal dengan mp4 player yg masih menyala untuk menuju puncak mahameru jam 11 malam…. kita melakukan perjalanan malan jam 11 tgl 16 agustus agar harapan kita jam 7 pagi tgl 17 agustus kita bisa pas di puncak….. setelah perjalanan demi perjlanan dari kalimati menuju arcapada jalanan curam n terjal agak sulit tp ttp semngat…. setelah sampai arcpada di kanan kita terlihat gunung anjasmoro dan arjuna seolah lebih pendek dari kita tp mmg iya sih coz ketinggian kita di arcpada sekitar 3600 mdpl sedangkan arjuna sekitar 3300 mdpl an…. setelah itu kit lnjut lagi. setelah lepas arcapada menuju cemoro tunggal jalanan dah gk ada satupun pohon karena hanya pasir dengan sudut sekitar 45 derajat. langkah demi lngkah kit lalui dengan semangat… rasa capek manusiawi tp rasa capek ku tk balut dengan tasbih, tahmid, takdim, takbir kepada ALLAH…..setelah perjalanan kita sampai di cemoro tunggal disana dingin angin kenceng dan disanalah dicky sudah gk kuat untuk melanjutkan perjalanan dan hipoterm akhirnya setelah rapat ber 3 memutuskan untuk turun ke kalimati lagi…sebenarnya eman tp mungkin ada yg lebih penting dari ego kita untuk menuju puncak yaitu pershabtn yg lebih penting…..akhirnya kita bertiga turun ke kalimati saat itu aku di paling depan kedua dicky ketiga satria… setelah sampai di arcapada aku bertemu dengan pak tua yang kebetulan sama sama gk kuat muncak dan dia duduk istirahat di bawah pohon cemara…aku masih inget ma dia. akhirnya aku di tegur ma dia…”lho mas kenapa kok turun gk kuat ta??? aku jawab teman saya gk kuat pak dan kita memutuskan untuk turun mengantr ke tenda di kalimati” akhirnya pak tua tersebut memutuskan untuk membantu mengantar dicky sampai kalimati…. akhirnya aku n satria melanjutkan perjalanan naek lagi menuju mahameru saat itu gerhna bulan indah bgt tk lupa juga saat itu lagi badai pasir jadi angin kenceng banget juga pasir pada beterbangan, sebenarnya sih ada kaca mata tapi saat itu kaca mataku pecah karena tumpukan ransel….dengan perjuangan akstra dan membawa ransel bergantian aku berhasil muncak ke mahameru jam 7 pagi PAS tgl 17 agustus
…. hal pertama yg keluar dari mulutku yaitu “subhanallah, alhamdulillah, walailahailallah, allahuakbar 3x…” mahabesar ALLAH
inilah puncak jawa…. aku merasa jadi orang paling tinggi di jawa, menaklukan pulau jawa 3676 Mdpl. 15 menit kemudian satria sampai puncak. kita berdua bersalaman n merayakan kesuksekan kita dengan bersulang dengan FANTA MERAH. sayang dicky tidak ikut….. tp dia tk bawakan video n foto dari puncak mahameru. di puncak aku n satria ber foto2 ria dengan beberapa petilasan / monumen peringatan pendaki yg gugur di puncak mahameru seperti “soe hok gie dan idhan lubis”. belum puas foto2 para petugas tim sar dari TNBTS menyuruh untuk turun ke arcapada karena saat itu angin super kenceng kyk puting beliung gt, sampek saat tertentu kita semua gk bisa berdiri jadi duduk or tiarap biar gk terbawa angin. setelah itu kita turun ke arcapada kyk ski salju gt deh kalo di eropa. hehehehe…. jadi kyk “slurutan” klo orang surabaya bilang. saat turun tuh badan dan ancur bgt coz kita istilahnya pendaki tuh ngetrack dari ranu kumbolo, kalimati, arcopodo sampek puncak n turun ke arcopodo n kalimati tanpa camp paling berhenti untuk makan mie saja. tapi seru bisa jadi cerita. aku n satria turun dari puncak menuju arcopodo dah setengah nyawa istilahnya coz dah capek bgt. akhirnya dengan perjuangan extra kita sampai di cemoro tunggal n istirahat sejenak tp sayang saat itu kondisi badan dan capek jadi untuk foto aja dah sulit berdiri. ehhehehee… akhirnya kita foto2 dengan capeknya jadi gambar gk bagus. terus lanjut ke arcopodo n sampai kita berjalan pelan2 menuju kalimati, saat itu ada seorang cewek pingsan n di angkat tandu sama tim sar. sampek arcopodo banyak para pendaki yg menggunakan jasa porter(pembawa barang kita) untuk menuju ranu pane lagi. tapi aku satria n dicky memutuskan untuk gk pake porter. akhirnya sampai juga di kalimati n disambut oleh dicky. setelah sampai kali mati 17 agustus jam 11 siang an kita istirahat sejenak n masak mie n packing untuk lanjut ke ranu pane. dari kalimati kita menuju ke ranu pane lewat cemoro kandang, saat sampai perbatasan antara cemoro kandang dan oro oro ombo kita masak mie lagi dan buat teh hangat di tengah hutan belantara yang gelap saat itu mungkin sekitar malam jam 7 / 8 an. setelah itu kita lanjut menuju ranu kumbolo n kebetulan yg terdepan aku. saat itu ada banyak pendaki lain yg ngajak bareng n berada di belakang kita ber 3. akhirnya sampek juga ke ranu kumbolo, saat sampai ranu kumbolo kita bingung karena ada 2 opsi : camp di kumbolo or lanjut sampai kalimati ?? akhirnya kita putusin untuk langsung ke kalimati. dari ranu kumbolo langsung ke kalimati lewat watu rejeng yg banyak batu2 taja, setelah jalan mengarungi malam kita berhasil sampai ranu pane jam 02:30 dini hari. sampai sana kita langsung gelar tenda n tidur n bangun pagi hari n cari jeep menuju tumpang lagi. sebelum pulang kita tidak lupa untuk berdoa n bersyukur kepada ALLOH karena kita diberi kesempatan untuk bisa melihat keagungan ciptaannya. tk lupa lagi aku menyebut subhanallah, alhamdulillah, walaailaahaillallah, allahuakbar 3x… akhirnya kita naek jeep menuju tumpang, sampek tumpang kita makan bakso di terminal. setelah itu kita menuju ke terminal arjosari naek angkot, aku mabuk saat itu … wakakakak mklum aku klo naek angkot pasti mabuk. bersama tmn2 pendaki dari jakarta kita bareng semua. setelah sampai ke arjosari kita lanjut naek bus menuju surabaya. sampai di surabaya terminal bungurasih kita berdoa lagi bersyukur kepada ALLOH. n aku dijemput ma adek untuk pulang kerumah. waktu sampai rumah ada karnaval 17 agustusan. hehehe… mungkin kalo boleh bilang itu merupakan salah 1 kisah tk terlupakan seumur hidupku. suatu saat aku akan mendakimu lagi mahameru !!!!….. bersama dicky n satria lagi……… sekarang aku kerja di PT. PLN (Persero) jakarta. klo ingat2 masa2 lalu n lihat gunung aku selalu sms tmn2 di surabaya. sukses sahabat2ku semoga kita semua bisa bertemu di kemudian hari dengan mimpi yg terjadi. di PUNCAK MAHAMERU suatu saat nanti….

Ditulis dalam NATURE | 12 Komentar »

Linux mandriva vs mandriva axioo version

Ditulis oleh anggarizkiekayana di/pada Juli 31, 2008

Mungkin para teman2 dah pada tau neh apa sih linux itu n bagaimana ??? he7x… ini aku mencoba untuk memberi sedikit pengalaman ttg linux mandriva versi axioo vs versi biasa independent…saat pertama kali install versi axioo tuh aku agak bingung coz gk da yg namae partis hardisk tp yg ada adalah linux akan secara otomatis untuk melakukan reset partisi hardisk dan format semua isi hardisk. jadi mmg agak aneh tp mmg gitu kenyataanya. jadi sebelum memulai instalasi lebih baek lakukan back up seluruh data karena hardisk akan direset secara total dan akan dibuat 2 partisi baru yaitu pertama type partisi ext3 sebesar 14gb dan linux swap sekitar 2 gb. jadi jika teman2 ingin menjadikan dual booting maka teman2 harus g diinstall linux dulu jadi bukan windows dulu. setelah linux di install maka windows diletakkan pada partisi setelah linux swap jadi kalo di gambar skema partisi hardisk sebelah kanan dari partisi linux swap. bikin partisi baru dan letakkan pada partisi ketiga tp saat install windows maka linux akan hilang tp tenang benere gk hilang tp hanya grub loader nya tertimpa ma windows jadi ada caranya. masuk linux mandriva n pilih configure computer dan pilih boot. setelah itu add linux grub dengan windows pada /dev/sda3….setelah itu restart maka dual booting akan berhasil. tapi kalo mandriva versi independent non axioo instalasi biasa seperti linux yang lain jadi instal windows dulu gpp n letakkan pertisi linux pada partisi yg kosong….dengan hanya menentukan swap partisinya…

Ditulis dalam IT | 1 Komentar »

Kisah seorang sahabat…

Ditulis oleh anggarizkiekayana di/pada Juli 7, 2008

Hari ini tanggal 8 juli 2008 jam 00:17 am

Cerita ini kudapat dari kisah seorang teman yang baru aja curhat ke aku lewat telfon. Terus terang aja aku sangat tersentuh dan juga terenyuh dengan cerita ini. Aku punya teman lama, dia temanku SMU sekaligus mantan tetanggaku juga di SMU sebut saja “mr.X”. cerita ini berawal saat kita sama sama duduk di bangku kuliah di UNAIR tetapi kami lain fakultas. temanku itu mempunyai pacar yang sebut saja “Miss Y”, selama perjalanan cinta antara keduanya mereka terlihat mesra dan saling mencintai. Aku sebagai teman aja sampai merasa bangga n seneng sekaligus heran ternyata ada aja pasangan yang sebahagia seperti mereka. Mereka itu saling setia antara keduanya, saling mencintai dan juga saling menyayangi…. Kalau melihat mereka bersama aku sampai terharu dan aku berdoa agar suatu saat cinta mereka itu suci dan abadi. Kemana mana bareng, kalo kuliah selesai pulang bareng, makan bareng, nonton bareng. Pokok kemana mana selalu bersama deh….. J salut deh pokoke buat mereka berdua…. Bahkan antara keluarga kedua belah pihak telah sepakat untuk menentukan hari tunangan dan juga pernikahan untuk tahun depan yaitu 2009. Tetapi saat kami semua lulus begitu juga mereka berdua. Si cewek diterima di Perusahaan BUMN di surabaya, terus temenku si cowok juga kerja juga di salah satu perusahaan pelayaran skala nasional. Kebahagiaan tertanam sangat mesra di muka berdua dikala mereka planning ttg masa depan mereka. Mereka merencanakan untuk membeli rumah bahkan si cowok sudah mengajak si cewek untuk survey melihat keadaan tanah perumahan yang hendak dibangun oleh mereka berdua. Mereka sangat bahagia deh pokoke sampek aku sebagai sahabat sangat seneng juga n terharu oleh planning demi planning yang mereka susun. Mereka hobby banget dengan acara nge date nonton bioskop. Suatu hari mereka merencanakan untuk nonton bioskop di bioskop sutos. Kebahagiaan tampak jelas di muka mereka sampai pada akhirnya kejadian tragis yang mengejutkan terjadi dan sebenarnya tidak diduga, pada saat pulang si cewek mengajak bubaran tanpa alasan jelas. Akhirnya setelah di analisis ternyata penyebabnya adalah dengan diterimanya si cewek di BUMN di surabaya tersebut membuat hubungan mereka makin tambah renggang, Nikmat itu berubah menjadi buruk terutama dari pihak orang tua dari si cewek. Orang tua si cewek menurut pandanganku terlalu “jual mahalkan” anaknya. Karena si orang tua cewek menganggap bahwa putrinya kerja di BUMN tersebut sementara si cowok kerjanya hanya karyawan swasta di salah satu perusahaan pelayaran skala nasional. Setelah itu banyak sekali sesuatu yang sengaja di buat oleh orang tua si cewek agar putrinya berpisah dengan si cowok nya. Akhirnya suatu ketika atas tuntutan dari orang tua si cewek akhirnya mereka berdua berpisah. Dan keadaan yang mengharuskan mereka untuk berpisah….. akhirnya mereka berdua sepakat untuk berpisah dan berteman biasa. Tetapi temenku cowok sangat tersiksa sekali, hingga sekarang jam 00:43 am mungkin dia sekarang lagi memandangi foto si cewek dengan hiasan air mata cinta sejati yang menurutku tidak akan padam sampai kapanpun.”YA ALLAH ” sebagai teman yangmenulis inipun aku aja merinding…masih ada cinta yang seperti itu di jaman sekarang… semoga aja temenku tersebut diberikan masa depan yang lebih baik lagi…. Dia bisa kerja yang lebih hebat dari si cewek sehingga si cewek dan juga ortu si cewek menyesal atas keutusannya…..

mungkin dari cerita ini banyak sekali hikmah yang dapat kita ambil mulai dari arti cinta, pengorbanan, masa depan, cita cita, hadapi dengan senyum, ikhlas, dan “MENYERAH UNTUK MENANG”…. Hadapi dengan senyuman OK !!!…. untuk tmn2 yang puny kisah kyk tulisanku ini jangan berkecil hati rek… hidup masih panjang kok, ALLAH pasti memberikan sesuatu pasti ada hikmahnya kok. ALLAH pasti memberikan sesuatu yang terbaik buat hambanya yang taat kepadanya. N masa depan itu dah ada garisnya rek. Kita tinggal mencari jalan untuk menuju garis jalan tersebut yang sekarang masih tertutup oleh semak belukar lika liku dunia. Tetap kejar masa depan mu dengan usaha dan doa mu….HIDUP ADALAH PERJUANGAN…… wass wr.wb

Ditulis dalam Catatan SI ANGGA | 2 Komentar »

Flow Programming with visual basic Or .net framework

Ditulis oleh anggarizkiekayana di/pada Juli 2, 2008

Flow programming yaitu suatu metode yang membuat suatu program aplikasi yang berbabasis flow. jadi hasil dari running program yang kita buat berbentuk interaktif seperti visio. ada suatu gambar disebelah kiri layar dimana kita bisa memilih dan menempatkan pada area kerja kita… komponen untuk itu yaitu menggunakan shape dan untuk hubungan antara shape tersebt menggunakan line…

Ditulis dalam IT | Leave a Comment »