semua tentang kotak pintar

Just another WordPress.com weblog

Tip Membaca pdf di Ebook Reader Desember 20, 2010

Filed under: Uncategorized — imanlhakim @ 1:50 am

HISTORY (you may skip it)

Saya sudah lama tergantung dengan ebook karena sering kali buku yang saya butuhkan belum tersedia di toko buku di Bandung/Jakarta, termasuk belum tersedia di tempat favorite mahasiswa Bandung (Dunia Baru), kalau pesan diluar kelamaan, mahal diongkos kirim dan tidak semua toko buku online mau kirim ke Indonesia.

Biasanya saya membaca pake PDA, tapi penuh penderitaan karena harus scroll horizontal, kebanyakan buku yang saya baca adalah buku komputer yang formatnya PDF, dulu PDF belum support reflow, setelah support pun buku-buku teknis/komputer tidak nyaman untuk dibaca di PDA yang layarnya 3-4in resolusi QVGA. Solusi lain di print, itulah kenapa saya rela memenuhi kamar kos saya yang sempit dengan printer laser segede gaban.

Tahun 2007 saya dengar kabar dimilis sony menjual Libre versi Amerika PRS-500 (support huruf Latin), emang sebelumnya sudah banyak ebook reader kaya gini tapi PRS-500, pertama kali batrenya awet dan harganya lebih terjangkau, jadi tanpa pikir panjang saya cari orang yang mau kirim ke Indonesia, karena sebenarnya benda itu hanya untuk di Jual di Amerika. waktu itu harga aslinya USD 180 tapi untuk sampai saya miliki habis hampir 3jt, termasuk ongkos kirim dan pajak masuk.

Begitu barang itu datang saya dengan antusias langsung memasukan ebook Pdf saya kesitu. Tapi ternyata tidak terlalu nyaman karena layar Diagonal 6 in masih terlalu kecil untuk buku-buku komputer PDF yang disiapkan untuk ukuran A4 (8.3 × 11.7 in). E-reader pun jadi useless waktu itu belum ada calibre, Sampai sekarang pun calibre tidak banyak membantu untuk buku komputer yang formatnya PDF. mengubah buku komputer dari PDF ke format sejenis HTML (mobi, epub, plucker) benar-benar ide buruk, notasi-notasi Matematik, table, gambar, code program ancur semua, jadi solusinya kalau egak dijadikan image ya harus tetap PDF.

TIPS

Tips membaca ebook nyaman adalah mengurangi atau menghilangkan horizontal scroll, kemudian menghilangkan kebutuhan zoom-in/out, untuk itu dibutuhkan layar minimal diagonal 11in, IPAD yang 9,7in pun masih tidak terlalu nyaman, huruf seperti pangkat (superscript/subscript) tetap sulit dibaca. Karena e-reader yang 11in seperti skiff masih susah, maka harus ada cara lain.

Berikut ini cara saya, kalau perhatikan buku pdf itu memiliki banyak space yang tidak terpakai/penting, Margin, header, footer merupakan bagian yang cukup makan space dan tidak telalu penting untuk ebook. margin ditujukan untuk ke indahan yang tidak dibutuhkan di ebook, karena layar sudah punya margin sendiri (casing). Header dan Footer biasanya berisi informasi yang gak penting, seperti title, halaman dan copyright, khusus halaman juga tidak penting, karena halaman yang akan digunakan adalah halaman versi aplikasi bukan yang tercetak di footer/header. perhatikan contoh berikut:


Nah kita bisa menggunakan PDF editor seperti Advanced PDF tools atau Ghostscript untuk membuang margin,header dan footer, berikut cara saya melakukannya dengan Advanced PDF Tool, saya men-zoom content aja, sehingga margin, header dan footer hilang.


hasilnya


sekarang ebook enak dibaca di layar ukuran 9,7in seperti IPAD atau Kindle DX.{ tapi karena ebook reader saya ukurannya 6-7in maka saya memproses lanjut dengan memotong ebook tersebut menjadi 2 perhalaman, dengan setting berikut (menggunakan aplikasi lain khusus sony prs-500)


jadi deh enak dibaca, walau berharap bisa punya yang seperti skiff. Maaf buat penggemar IPAD…setelah saya coba IPAD beberapa hari saya memutuskan tidak merekomendasikan benda itu jika tujuannya untuk baca buku seperti saya.

 

Design Pattern-GRASP Pattern Januari 27, 2010

Filed under: Software Engineering — soshikyu @ 2:46 am

Lagi belajar design pattern nih….so i try to write it so i can remember. Let’s start with GRASP pattern. But first

WHAT IS PATTERN

Pattern atau pola itu adalah sebuah cara untuk menangani masalah-masalah yang umum. Pola atau cara ini akan sama untuk masalah yang umum tadi. Itulah kenapa disebut pola.

ADA BERAPA PATTERN SIH ?

Hmm….banyak sih, misalnya GRASP, Observer, Factory, dll. Untuk saat ini saya akan menuliskan mengenai GRASP pattern

APA ITU GRASP PATTERN?

GRASP merupakan singkatan dari General Responsibility Assignment Software Pattern. GRASP digunakan untuk membantu kita agar kita dapat menentukan atau membuat behaviour yang cocok dalam sebuah class.

Ada beberapa pola di dalam GRASP, yaitu

  1. Expert
  2. Creator
  3. High Cohesion
  4. Low Coupling
  5. Controller


 

Main-main dengan Integer Besar November 2, 2009

Filed under: Uncategorized — imanlhakim @ 2:41 pm

Ada hal yang menarik bagi saya belakangan ini, kisahnya diawali beberapa waktu lalu saya harus membuat sistem berkecepatan tinggi dalam mencari data, karena datanya juga banyak banget saya harus membuat hash yang kapasitasnya besar, yang artinya butuh bermain dengan bilangan integer yang besar pisan, singkat cerita kerjaan saya sudah diaggap selesai….ehhh sebulan terakhir ini ada beberapa mahasiswa yang juga menanyakan tentang bagaimana main2 dengan integer yang besar, yang dimaksud besar disini adalah yang melebihi kapasitas primitive/build-in dari java, C/C++,

saya egak akan membahas dengan detail gimana caranya, tapi berikut ini tipsnya, tips ini tentu untuk yang beginner:

  1. Harus disadari bahawa bilangan interger besar tidak bisa disimpan di tipe data primitive yang disediakan bahasa Java/C/C++, in kenyataan pahit tapi harus diterima, yang artinya kita harus menggunakan tipe data composite, bisa berupa struct atau class. konsekwensinya jangan berharap ada cara mudah&aman mengubah bilangan integer besar kedalam tipe data seperti int, long, int, long long, char, byte, ulong, uint, int32, int64, int128(hanya sistem tertentu). cara paring aman adalah menggunakan array, baik char[] atau String.
  2. Tipe data composite untuk bilangan interger besar library-nya sudah banyak, bahkan untuk embedded system sekalipun, jadi kecuali kurang kerjaan tidak perlu bikin sediri.
  3. Walaupun library sudah banyak lengkap dengan documentasi cara penggunaannya, untuk kasus seperti ini ada baiknya memahami bagaimana tipe data tersebut berkerja. untuk yang menggunakan java.math.BigInteger bisa lihat source code class tersebut di folder <jdk>/src.zip/java/math/BigInteger.java, dalam source code nya ada comment yang lengkap yang sangat membantu memahami bagaimana dia bekerja. bagi yang menggunakan C dan C+ bisa lihat header2 dari library yang digunakan, jika pingin tahu lebih baik bisa pelajari proyek NUMAL, lewat buku http://www.amazon.com/Numerical-Scientists-Engineers-Symbolic-Computation/dp/084937376X/ref=sr_1_1/192-5155796-6635500?ie=UTF8&qid=1257169355&sr=8-1, jika belum terpuaskan mungkin bisa baca buku cohen; Computer Algebra and Symbolic Computation: Mathematical Methods.
  4. Jika sudah berhubungan dengan tipe data seperti ini, mungkin juga saatnya mengupgrade gaya programming, apalagi harus membuat code yang efficient, sebaiknya mulai melupakan programming trial by error, saatnya menganggap programming sebagai engineering, bisa diawali dengan membaca buku Alexander; Elements of Programming , buku alexander ini banyak mereference ke buku yang wajib dimiliki, dibaca dan dipahmi oleh semua yang mengaku programmer, yaitu The Art of Computer Programming karangan Donald E Knuth, bukunya tebal dan menjemukan, terdiri dari 4 volume (jilid), kecuali jilid yang ke 3, buku ini beberapa tahun lalu saya lihat banyak di obral di palasari, jika pintar nawar bisa mendapatkan per jilid 40rb. tips nya tawar sambil pergi pura-pura egak butuh, jangan lupa sambil bilang “itu kan buku komputer yang udah lama banget”. :P .

selamat bertualang di dunia yang aneh tapi dulu terasa menyenangkan bagi saya, sekarang kayanya udah ketuaan jadi saya suka agak sakit kepala kalau main didunia ini, kaya kebanyakan makan sate kambing.

 

OO-concept and it’s implementation Juli 18, 2009

Filed under: Uncategorized — imanlhakim @ 5:40 pm


Beberapa waktu yang lalu saya mengajar Object-Oriented Technique dengan topik “Mapping UML to Code”, karena sibuk dan sudah merasa menguasai materi saya tidak membaca dulu materi (slide yang disediakan kampus). Saya jelaskan slide demi slide sampai saya harus menjelaskan bagaimana mapping aggregation dan composition saya mendapatkan slide sebagai berikut.

Slide Composition

 

Slide Aggregation

Saya bingung bagaimana mejelaskan slide2 tersebut karena menurut pengetahuan saya ada yang salah, jika saya ajarkan sesuai slide2 tersebut saya mengajarkan hal yang salah, jika mengajarkan yg benar menurut saya khawatir nanti jawaban mahasiswa saya jadi dianggap salah karena banyak dosen lain yg menggunakan slide tersebut. waktu itu sulit juga untuk mediskusikan ini dengan dosen lain karena selain saya gak ada kesempatan, sudah terlanjur diajarkan dan konsep slide ini sudah diajarkan cukup lama.

Sok bijaksana saya akhirnya mengajarkan versi slide dan versi saya dengan diakhiri mengatakan diujian nanti jawab sesuai slide karena takut yang periksa ujian bukan saya (kebetulan waktu itu saya belum tahu bagaimana ujian diperiksa. apakah oleh dosen yang mengajar atau di silang dgn dosen lain).

Waktu berlalu saya lupa hal tersebut karena kesibukan lain, kurang-lebih setahun setengah kemudian (juli 2009) saya menjadi pembimbing/penguji beberapa TA disekolah yang serupa tapi tak sama dan saya menyaksikan mahasiswa dibantai (lebay mode = on) oleh penguji lain tentang konsep yang ada dislide diatas dan konsep2 OOP lain yang menurut saya salah-kaprah, salah kaprah ini sebenarnya wajar terjadi karena buku uml yang banyak beredar adalah karangan booch dan teman yang penulisannya menggunakan gaya bahasa dewa/rfc yang sulit dipahami. penasaran apa yang salah?

Pada slide diatas sipenulis berusaha menunjukan perbedaan implementasi aggregation dan composition pada bahasa pemograman java, padahal menurut (Ahmed, 2001) “When working with an implementation language, such as C++, use of aggregation versus composition does map to different code. For example, aggregation implies pass by reference, whereas composition implies pass by value. However, this distinction is not applicable to Java. Hence, the code mapping of aggregation versus composition is the same even though you may still want to model them differently to communicate the intent of the design and highlight elements in an implementation independent fashion.” Maksudnya begini tidak semua bahasa pemograman yang mendukung OOP harus memiliki kemampuan untuk implementasi semua konsep oop. Ada batas minimal suatu bahasa pemrograman bisa disebut mendukung oop, menurut (booch, 1994) batas minimal itu disebut ” four major elements of this model (object model):” yaitu Abstraction, Encapsulation, Modularity, Hierarchy, Terus ditambahkan “By major, we mean that a model without any one of these elements is not object-oriented.” Walaupun yang dimaksud adalah model tapi juga berlaku untuk bahasa pemrograman, suatu bahasa bisa disebut mendukung oop jika bisa 4 hal tersebut. dalam kata lain java memang bahasa OO tapi dengan java “tidak bisa” membedakan aggregation dan composition. Tenang akan saya jelaskan…..

Dalam C++ kita bisa membuat obyek dengan berbagai cara termasuk

 

Representasi dimemori kurang lebih…

k1 disebut local obyek karena semua isi dari obyek
disimpan di stack dimana semua yang ada disini akan segera dihapus jika keluar scope. sedangkan k2 hanya sebuah pointer untuk sebuah obyek yang tersimpan di heap. Berdasar pada konsep diatas di C++ obyek bisa dipass (sebagai parameter) ke sebuah method dengan dua cara by value atau by reference, by value artinya akan ada dua obyek yang berbeda sedangkan by reference artinya hanya ada satu objek yang digunakan oleh dua variable (reference). Konsep tersebut tidak ada di java, untuk mempermudah para pengguna java desainer java memutuskan bahwa semua obyek dijava akan dipass by reference.

Contoh code java di slide composition Obyek Kendaraan dibuat dengan identitas kendaraan dan pada slide aggregation Obyek Kendaraan dibuat anonymous dengan harapan menjadi hanya milik/bisa diakses Tiket tertentu saja, bagaimana kalau kelas Testing diubah jadi

kode diatas akan menampilkan “true” yang artinya bahwa dua tiket memiliki kendaraan yang sama, kamu mungkin berargumen hilangkan method getKendaraan() atau diubah jadi

tapi usaha kamu akan sia2 jika code Testing jadi

Obyek tiket dan anotherTiket memiliki obyek Kendaraan yang sama. Pertahanan terakhir melarang setAccessible() di java security manager, tapi masalah yang selanjutnya akan dihadapi akan lebih sulit, banyak aplikasi java yang egak jalan.

puas? sebenarnya semua kode diatas sudah berlebihan untuk membahas composition dan aggregation karena melibatkan kelas Testing yang tidak ada didesign. Jadi kesimpulannya jangan bingung dengan Booch Stuff jika bahasa pemograman yang digunakan tidak jelas2 mendukung.

sebagai tambahan UML 2.0 sudah tidak membedakan composition dan aggregation. menurut (Amber, 2004) “In UML 1.x you could model both aggregation and composition, but in UML 2.x the notation for aggregation has been dropped. Although this may sound like a good idea because many people got the two concepts confused I suspect that we are going to see aggregation used on UML class diagrams for some time to come because it has been in common practice since 1997 when the UML was first popularized.

Masih banyak yang harus dijelaskan tapi sayang kecepatan ngetik saya belum pulih, mengetik jadi menyebalkan.

 

 

 

 

Lanjutan Computer Security Juli 1, 2009

Filed under: Uncategorized — imanlhakim @ 4:38 am

melanjutkan http://kotakpintar.wordpress.com/2009/06/16/computer-security/

Usaha lain yang dilakukan untuk mengamankan data dijital adalah melakukan enkripsi. dengan pengguaan enkripsi diharapkan data jadi hanya dibisa dibaca oleh orang yang berhak (memiliki sandi/kunci pemecah). para ahli enkripsi dengan kehebatan matematik mereka membuat suatu data yang asalnya mudah dibaca menjadi sulit dibaca sulit untu dipecahkan, para ahli enkipsi percaya bahwa data yang di enkrip akan membutuhkan jutaan bahkan milyaran tahun untuk bisa dibuka dengan cara coba2 (brute forces) walaupun menggunakan komputer tercepat saat ini. tapi sayangnya ini tidak sepenuhnya benar, ahli enkripsi terlalu naif bahwa hacker akan membongkar enkripsi sesuai dengan cara yang ahli enkripsi inginkan, ada fakta yang sering dilupakan bahwa penjahat selalu 2 langkah lebih maju dari polisi, dalam hal ini hacker lebih maju dari ahli enkripsi karena mereka menyadari hal-hal ini, contoh dalam kasus password.

  1. Orang sering kali menggunakan password yang mudah diingat.
  2. Otak manusia memiliki keterbatasan dalam mengigat, dan biasanya yang mudah diingat adalah hal2 yang umum atau memiliki koneksi satu dengan yang lainnya, itulah kenapa ada tool mind map.
  3. Dalam kehidupan sehari2 manusia hanya maksimal menggunakan 5000 (rata2 1500-3000) jenis kata dan tidak lebih dari 15000 sepanjang hidupnya, ini pun tergantung jenis orangnya biasanya hanya orang terpelajar yang menggunakan lebih dari 3000 jenis kata. tidak semua orang sekolah terpelajar lho.
  4. Ada beberapa tips disarankan oleh ahli sekuriti untuk lebih mengamankan data, yaitu menggunakan/menukar abjad dengan angka atau karakter khusus, tapi masalahnya penggantinya juga tidak sulit ditebak, misal A -> 4, S ->5 I -> !, dan lebih parah lagi biasanya yang digunakan hanya karakter ASCII yang muncul di keyboard.

dengan kenyataan tersebut diatas, seberapa pusing para ahli enkripsi mengotak atik rumus, kemungkinan suatu kode terpecahkan menjadi konstan yang artinya waktu yang dibutuhkan jadi konstan, para ahli enkripsi mungkin protes dengan pernyataan saya ini tapi ini adalah salah satu hal yang masuk dalam “what hacker don’t want you to know”. jika saya salah gak akan ada kasus kaya begini.

 

Bagi hacker yang agak gaul mungkin cara mencuri password/data bisa jadi lebih extrime/mudah, dia bisa menggunakan gaya  Kuhn attack , bahkan sekarang makin mudah lagi ada yang bisa melakukannya dari jarak 20 meter walaupun terhalang dinding, coba jika bayang kan antena nya di tempel di atm BCA seharian, berapa pin yang biasa dia dapatkan, dengan semakin popularnya wireless dan optik proses ini jadi lebih mudah lho.

jadi intinya “no such thing likes secure computer system”, yang ada hanya “secure enough for beginner and average hacker”, dan sebagai info tambahan baru2 ini seluruh sistem keamanan komputer di pemerintahan Amerika dirombak abis2an karena terbukti kurang aman (emang pernah aman?).

 

Computer Security Juni 16, 2009

Filed under: Uncategorized — imanlhakim @ 1:31 am

Belakangan ini saya sering berinteraksi dengan beberapa ahli keamanan komputer di Indonesia, karena itu saya juga sering dengar gosip/berita/issue terbaru tentang keamanan komputer dan sekitarnya. isu terbaru mungkin tentang anjuran itu tidak lagi menggunakan SHA-1 yang dipercaya sudah semakin gampang di jebol. selain itu juga kasus Prita Mulyasari vs RS OMNI.

Ada yang lucu tentang kasus Prita vs Omni, dulu komunitas IT mengusulkan dengan gegap gempita akan pentingnya Undang2 tentang IT, eh sekarang mereka pada mencaci-maki dampak dari undang2 yang mereka usulkan…….lucu…..sumpah….ok bukan itu maksud dari tulis ini. Disini saya ingin menjelaskan tentang keamanan komputer dan teman2nya seperti internet.

Sebelum sering berkerja dengan para ahli keamanan komputer belakangan ini saya menganggap bahwa keamanan komputer itu hanya toy yang dijadikan ladang mencari duit aja, setelah kenal mereka pendapat saya tetap sama. Jangan protes dulu… memang keamanan komputer dan jaringannya termasuk internet itu penting, tetapi kadang terlalu dilebih2kan.

Walaupun sejak kecil Kevin Mitnick sudah menjadi salah satu idola saya dalam dunia IT selain Linus, Steve Job, Bill Gates dan Murphy’s Law tentunya :P , tapi komputer security tidak menjadi sangat penting bagi saya. Saya pertama mendapatkan sesuap nasi dari dunia IT sejak 1997 (SMA), tentu saja saya sering mendapat masalah karena keamanan komputer, salah satu yang saya ingat adalah ketika saya memodifikasi virus Dark Avenger, saya waktu itu bermaksud menambahkan effect water fall (effect yang mengakibatkan huruf dilayar berjatuhan dapet dari majalah metrodata), sebelum menempelkan effect tersebut saya beruji coba dulu dengan Interrupt 13 , tanpa sengaja master/code virus tersebut ter-execute di komputer saya dan saya lupa mencabut dulu hardisk (ukurannya 40MB, tapi dulu udah terasa besar banget), biasanya kalau uji coba saya matiin dulu harddisk, akibatnya tugas akhir kakak saya yang terhapus dan beliau sempat jadi orang linglung J, kasus kakak saya linglung ini yang membuat kisah ini jadi enak dikenang, dan banyak lagi kisah lucu lain. tapi semua itu tidak membuat saya paranoid atau terlalu membesar-besarkan keamanan komputer.

Seperti banyak orang yang baru belajar pemograman, saya waktu itu suka pamer dan menceritakan tentang “kejahatan” saya mulai dari bikin virus, hacking dst, tapi egak lebih dari itu dan lama-lama jadi malu melakukan itu semua. Alhamdulliah saya “kejahatan” saya egak pernah sampai merusak atau mengakibatkan kerugian materi. paling stress doang J.

Sekarang ini keamanan komputer ternyata masih suka dibesar2kan, apapun kalau dibesar-besarkan tentu saja tidak baik dan merugikan, padahal keamanan komputer itu sesuatu yang bisa dibikin simple. caranya?

Pertama jangan pernah percaya bahwa komputer itu aman, kalau kita bertemu dengan orang yg mengatakan suatu sistem komputer aman karena menggunakan ini itu, maka sebenarnya dia sedang berhalusinasi, karena tidak ada yang namanya sistem komputer yang aman total, aman banget. ada beberapa hal yg memungkin sistem komputer itu tidak aman, diantaranya adalah format data dijital, komputer yang menyimpan format data dalam dijital memiliki kelemahan yang sangat tidak aman (dalam sisi lain ini justru keunggulan), yaitu bisa dengan mudah digandakan dan pindahkan.

Akibat dari kelemahan data dalam bentuk dijital itu, banyak orang yang merasa dirugikan, seperti kasus video itenas, Beredarnya aib2 para celebritis di internet, dan terbongkarnya rahasia2 penting negara atau perusahaan. solusinya? kalau versi saya, jangan pernah menyimpan informasi top secret dalam bentuk digital, apalagi jika informasi itu ketahuan orang lain bisa mengakibatkan hidup kita acak2an, contoh sederhana foto bermesraan dengan pacar, jika tanpa sengaja foto tersebut ter-upload ke internet (apalagi kalau sengaja), maka akan sangat sulit sekali foto itu dihapus, karena data disuatu server di internet akan digandakan diberbagai komputer yang tidak semuanya kita ketahui keberadaanya. misal kita bisa melihat halaman yang udah dihapus di cache yang dimiliki google. biar lebih seru coba bayangkan jika kita tidak menikah dengan orang yang pernah bermesraan difoto tersebut, dan kebetulan istri/suami kita orangnya mudah cemburu, seumur hidup pasangan kita akan bisa melihat foto kita bermesraan dengan orang lain.

Tapi juga bukan berarti jadi anti kemajuan dan paranoid, saya sendiri senang memanfaatkan kemudahan teknologi yang dihasilkan komputer dan jaringannya, saya suka belanja online menggunakan kartu kredit, kalau belanja saya biasanya menggunakan sejenis paypal, dan saya egak pernah membiarkan nomor kartu saya duduk manis di account paypal saya sepanjang waktu. biasanya saya hanya mengaktifkan account saya hanya saat belanja saja setelah itu saya matikan lagi, dengan harapan tidak menarik perhatian cracker. karena seaman apapun kalau itu menarik cracker pasti bisa mengambil info account saya dengan mudah. jika belanja di internet saya juga hanya menggunakan kartu kredit yang limitnya kecil sehingga tidak menarik hacker. jika nilainya besar >USD 1000 saya biasanya menggunakan wire tranfer. sekali lagi supaya tidak menarik perhatian cracker.

Masih karena format data digital, salah satu masalah dari system komputer menurut Booch dalam buku OOAD yang merupakan bacaan wajib bagi calon oo-programmer/analyst adalah “The Problems of Characterizing the Behavior of Discrete Systems”. Sistem komputer dibuat secara hirarki/berlapis mulai dari hardware, operating system,aplikasi dengan segala library-nya. semua lapisan dan komponen tersebut mengacu pada konsep diskrit yang sama. suatu sistem yang diskrit yang dimana komponennya banyak akan sangat-sangat sulit diatur/control. pada sistem komputer akan ada selalu suatu lubang. bahkan rudal patriot dan pesawat ulak-alik yang hardware dan softwarenya dicontrol dan diuji secara sangat ketat pun tidak bisa lepas dari bug, yang bisa menjadi sarana bagi pengrusakan kemanan sistem.

ngajar dulu…..ah…bersambung

 

javac or java in Mac? Mei 5, 2009

Filed under: Macintosh — soshikyu @ 10:39 am

Bagi programmer Java yang baru menginjakkan kakinya di Mac, mungkin bertanya-tanya, dimanakah letak javac atau java kalau di Mac?

Kalau di Windows, javac dan java biasanya terletak di

C:/Program Files/Java/bin

Nah, kalo di Mac, dimana tuh ya?

Di Mac, javac dan java terletak di

/Library/Java/Home/bin

Sebenarnya, folder Home yang terletak di /Library/Java merupakan symbolic link yang mengacu pada

/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home


Sumber: Java Development Guide for Mac OS X. 2006

PS: Gambarnya ketinggalan. Ntar ya di update lagi hehehe

 

Using JCalendar Mei 4, 2009

Filed under: Macintosh — soshikyu @ 10:25 am

Hi! Ketemu lagi sama Mac! Yup, hari ini kita akan belajar menjalankan kalendar di Java.

Awalnya karena tadi siang ada yang minta bimbingan and nanya kalo nge-set tanggal di Java, caranya seperti apa. Saya kasih contoh, tapi hasilnya muncul di Command Line. Lagi gitu, jadi kepikiran: “Hmm…gimana caranya bikin kalender yang pake dropdown ya?”. Itu lho, yang kaya Combo Box, tapi yang muncul itu kalender lengkap!

Nah, akhirnya cari-cari, ternyata ada yang sudah buat! Dia bikin and ngehasilin komponen atau kalo di Java, komponen itu disebut JavaBean.

Ok, silahkan download source code-nya disini http://in.geocities.com/onlyjava2003/index.html Nah, sekarang kita coba ya!

1. Silahkan unzip dimanapun, sehingga hasilnya adalah sebagai berikut: picture-9

2. Setelah di zip, copy JCalendar4.jar ke System/Library/Java/Extension

Ingat! Harus di copy! Kalo ga, ntar ga jalan! picture-10

3. Buka Terminal (Application/Utilities/Terminal)

4. Masuk ke path, dimana anda meng-unzip file tadi

5. Compile seperti biasa: javac CalendarJava.java picture-11

6. Jalankan dengan menggunakan perintah: Java CalendarJava

picture-7

That’s it! Gampang kan?! Nah, sekarang masalahnya adalah tinggal mempelajari codenya! Silahkan buka codenya di file CalendarTest.java. Lain kali kita bahas deh ;)

Have fun!

 

Microsoft Project for Mac Maret 30, 2009

Filed under: Macintosh — soshikyu @ 10:25 am

Buat pengguna Macintosh, mungkin ada yang nyari software Microsoft Project untuk Mac. Well, this is for YOU!. Anda bisa menggunakan OpenProj and it’s FREE! Anda bisa mengunduh di:

http://sourceforge.net/project/showfiles.php?group_id=199315&package_id=241282&release_id=629971

*test mode

 

Java Test 1 Maret 28, 2009

Filed under: test — imanlhakim @ 3:32 am
  1. Jelaskan bagaimana mengcompile code java dengan kondisi berikut:
    1. Semua source code berada di direktori “<project>/src”, source code dibagi kedalam 3 package project.util, project.main, project.test.
    2. Liblary yang dibutuhkan untuk compile berupa beberapa jar, berada di direktori “<project>/lib”
    3. Output class harus berada di direktori “project/classes”
  2. Berdasarkan pertanyaan pertama, jelaskan bagaimana membuat executable-jar dan harus berada di direktori “project/bin”, class yang executable bernama “project.main.Main.class”.
  3. Jelas bagaimana java (jvm) menemukan dan memuat (loading) kelas-kelas yang dibutuhkan?
  4. Dengan menggunakan java kita bisa membuat 3 jenis variabel, member variable dalam sebuah class (biasa disebut fields), variable in dalam sebuah method atau blok dari kode (biasa disebut local variable), variable dalam deklarasi method (biasa disebut parameter), berikan contoh code 3 jenis variabel diatas dan jelaskan scope dari masing2 variabel?
  5. buat contoh code yang menjelaskan penggunaan keyword “for”, “while”, “if”,”else” ,”do”?
 

 
Ikuti

Get every new post delivered to your Inbox.