Tampilkan postingan dengan label Program. Tampilkan semua postingan
Tampilkan postingan dengan label Program. Tampilkan semua postingan

Sabtu, 16 Juni 2012

Perbandingan Python dengan Java


Setiap bahasa pemrograman memiliki kelebihan dan kekurangannya masing-masing, sehingga untuk menjawab apakah bahasa pemrograman Python lebih baik dibandingkan dengan bahasa pemrograman Java, harus ditentukan terlebih dahulu hal atau aspek apa yang menjadi perbandingannya:

1.       Kecepatan mengkompilasi program

Dalam hal kecepatan dalam mengkompilasi program, Java lebih unggul dari Python. Karena pemberian tipe data dilakukan pada saat run time, program Python berjalan lebih lambat ketimbang Java. Contoh: ketika ekspresi a+b dievaluasi, Python memeriksa tipe objek a dan b, yang sebenarnya tidak diketahui pada saat “kompilasi”. Java bisa menetapkan tipe integer dan float secara lebih efisien, walau membutuhkan deklarasi untuk a dan b.

2.       Kemudahan membuat program

Dalam hal kemudahan dalam membuat program, Python lebih unggul dari Java. Dibandingkan dengan bahasa pemrograman Java, secara umum program Python memang lebih lambat ketimbang java, tapi waktu yang diperlukan untuk membuatnya justru lebih cepat. Program Python dapat dikatakan tiga sampai lima kali lebih ringkas dibandingkan Java. Hal ini dikarenakan  Python tidak memerlukan deklarasi tipe data untuk suatu variabel, elemen array yang tipenya bisa beragam, dan dukungan dengan apa yang disebut dictionary.

Sehingga menurut saya pribadi, sebagai pemula dalam mempelajari bahasa pemrograman, bahasa pemrograman Python lah yang lebih baik jika dibandingkan dengan bahasa pemrograman Java. Jika Anda belum pernah belajar bahasa pemrograman mana pun, saya sarankan mulai dengan Python. Desainnya bersih, terdokumentasi dengan baik, dan sangat mudah bagi pemula.  Namun Java juga bahasa yang baik untuk belajar pemrograman. Meskipun lebih sulit dari Python, tapi Java menghasilkan kode yang lebih cepat dan fitur-fitur yang lebih unggul dari Python. Menurut saya Java amat bagus sebagai bahasa kedua dari Python.

Senin, 11 Juni 2012

LaTeX

I.    PENGERTIAN LATEX


LATEX (LaTeX) adalah bahasa markup atau sistem persiapan pembuata dokumen untuk pengetikan sistem TeX, yang dinamakan berdasarkan gaya penulisannya sebagai LaTeX. Nama LaTeX itu sendiri hanya mengacu pada bahasa penulisan yang digunakan pada sebuah dokumen, bukan pada editor yang digunakan untuk menulis dokumen tersebut. Untuk membuat dokumen dalam format LaTeX, sebuah file berformat .tex harus dibuat menggunakan semacam text editor. Walaupun, banyak text editor yang dapat digunakan untuk membuat dokumen LaTeX, beberapa text editor sengaja dibuat khusus untuk menggunakan bahasa LaTex. 


LaTeX sangat banyak digunakan di Institusi-Institusi pendidikan. Sebagai contoh, digunakan untuk menerjemahkan DocBook dan berbagai macam file berekstensi XML ke dalam format PDF, LaTeX digunakan karena kualitasnya yang tinggi dalam typesetting yang dapat dicapai oleh TeX. Sistem typesetting LaTeX menawarkan Desktop Publishing yang Programmable atau dapat di tulis ulang dan fasilitas extensive untuk otomatisasi aspek-aspek dalam typesetting dan desktop publishing, termasuk pemberian nomor, dan referensi silang, tabel dan bingkai, tata letak halaman, dan bibliographies.

LaTeX pertama kali ditlis pada awal tahun 1980 oleh Leslie Lamport di SRI International. Sampai akhirnya, LaTeX menjadi metode yang sangat penting dalam menggunakan sistem TeX. Versi teranyar adalah LaTeX2e. LaTeX didistribusikan dibawah LaTeX Project Public License (LPPL), LaTeX adalah perangkat lunak yang gratis (Free Software).


II.    SEJARAH SINGKAT LaTeX

Untuk dapat memahami sejarah LaTeX, kita perlu mengetahui terlebih dahulu sejarah TeX. LaTeX adalah hasil turunan dari TeX. TeX adalah bahasa pemrograman yang diciptakan khusus dan menjadi bagian utama dari sistem pencetakan (typesetting system) yang akan menghasilkan dokumen (teks, gambar, notasi matematis) yang berkualitas tinggi. TeX diciptakan oleh Prof. Donald Knuth sekitar tahun 1978.

Awalnya Prof. Donald Knuth menciptakan TeX pada akhir tahun 1978 untuk merevisi buku karyanya yaitu The Art of Computer Programming edisi kedua. Buku The Art of Computer Programming memerlukan perbaikan karena banyak simbol matematika yang tidak dapat dicetak dengan sempurna oleh sistem percetakan pada masa itu.
Prof. Donald Knuth berharap program yang dibuatnya akan mampu menghasilkan sistem percetakan dokumen yang berkualitas tinggi, mampu mencetak teks, angka, simbol-simbol matematis dengan sempurna.


 
III.    INSTALASI LaTeX

Konfigurasi komputer minimum untuk menjalankan LaTeX:
ü    Prosessor Pentium atau yang kompatibel.
ü    RAM Minimal 16 MB
ü    OS Windows 98/2000/ME/XP

Untuk melakukan intalasi LaTeX di Windows, dibutuhkan beberapa komponen atau software yang mendukung, yakni:
1.    gs800w32.exe
è APFL Ghostscript 8.00, untuk mendukung ghostview mulai dari display, font dan sebagainya.
2.    gsv43w32.exe
è berfungsi untuk melihat hasil / visualisasi dokumen LaTeX yang telah dibuat dengan format .Pdf (Portable document format) atau .Ps (Postscript).
3.    Total Miktex
è MiKTeX adalah Distribusi TeX Gratis untuk pengguna windows. MiKTeX berisi paket-paket yang bisa digunakan untuk membuat dokumen LaTeX.
4.    WinEdt atau Texnic Center
è adalah editor dokumen LaTeX.


IV.    DOKUMEN LaTeX

4.1.    Dokumen LaTeX
Sebuah dokumen LATEX memiliki struktur yang dicirikan dengan blok yang diapit oleh pasangan perintah \begin dan \end. Untuk menyatakan jenis dokumenyang akan diolah, setiap dokumen harus dimulai dengan perintah \documentclass{...}
Jenis dokumen ini dapat berupa buku, artikel, laporan, transparansi, thesis, dan sebagainya. Badan utama dokumen dituliskan di antara pasangan
\begin{document} dan \end{document}
Contoh:
\documentclass{article}
\begin{document}
Ini adalah contoh sebuah
dokumen\LaTeX.
\end{document}

4.2.    Paragraf
Di dalam dokumen LaTeX paragraph dipisahkan satu dari yang lain oleh satu atau beberapa baris kosong atau perintah \par.Jika dalam sebuah paragraph ada baris yang ingin dimulai dengan Baris baru tanpa memulai paragraph baru,maka paragraph sebelum baris baru ini diakhiri dengan perintah \\ atau \newline.
Untuk memulai halaman baru,gunakan perintah \newpage

4.3.    Kelas Dokumen
Jenis dokumen yang akan diolah ditentukan oleh perintah pertama dalam bentuk \documentclass[option]{class}
Dalam perintah diatas,“class”dapat diganti oleh article, report, book,atau slides untuk menuliskan artikel,laporan,buku,atau transparansi untuk seminar. Sedangkan pada bagian“option” dapat dituliskan satu atau beberapa pilihan berikut:10pt, 11pt, 12pt untuk menyatakan ukuran font utama yang digunakan didalam dokumen a4paper, letterpaper menyatakan ukuran kertas yang digunakan titlepage, notitlepage untuk menyatakan apakah halaman judul akan dibuat terpisah dari badan dokumen atau tidak twocolumn untuk menampilkan dokumen dalam bentuk dua kolom twoside, oneside untuk menyatakan apakah dokumen akan dicetak pada satu sisi atau dua sisi dari kertas.

4.4.    Package
Penyertaan paket kedalam dokumen dilakukan dengan perintah:
\usepackage[option]{nama-paket}
Contoh:
\usepackage[bahasa]{babel}
Keterangan:
paket babel disertakan dengan kata kunci bahasa. Paket ini yang memberikan fasilitas multi lingual sehingga misalnya nama bulan pada perintah \today yang dituliskan pada bagian judulbdokumen ini muncul dalam bahasa Indonesia sebagai“23 Januari2001” bukan sebagai“January 23, 2001”, serta perintah \tableofcontents secara otomatis menuliskan judul“DaftarIsi”.

4.5.    Pengaturan Spasi
Pengaturan spasi pada latex dengan menggunakan paket \usepackage{setspace} di awal dokumen. Kemudian letakkan perintah di bawah ini setelah \begin{document}
•    \singlespacing à untuk mengatur jarak 1 spasi
•    \onehalfspacing à untuk mengatur jarak 1 setengah spasi
•    \doublespacing à untuk mengatur jarak double spasi

4.6.    Bab, Subbab, dan Bagian
Dokumen kelas article memiliki perintah seperti:
\section{...}
\subsection{...}
\subsubsection{...} Memberikan nomor pada nama bagian, Bab dsb..
\paragraph{...}
\subparagraph{...}

4.7.    Judul Dokumen
Judul dokumen serta nama pengarang mengarang dapat dimunculkan melalui perintah
\maketitle
Dengan sebelumnya mendefinisikan judul dan nama pengarang melalui perintah
\title dan \author
Jika nama pengarang lebih dari satu, setiap nama dipisahkan satu dengan lainnya dengan perintah \and
Contoh :
\documentclass[a4paper,12pt,oneside]{article}
\usepackage[bahasa]{babel}
\title{PI Qu}
\author{Palupi}
\begin{document}
\maketitle
\end{document}

4.8.    Environtment
Untuk menuliskan bentuk khusus, LATEX menyediakan sejumlah environment yang dituliskan dalam sturktur blok yang diapit oleh \begin{environment} dan \end{environment}
•    itemize : membuat daftar yang tidak memiliki urutan
•    enumerate : membuat daftar yang memiliki urutan
•    description : membuat daftar yang berisi penjelasan suatu topik
•    quote : membuat kutipan pendek atau rangkaian kutipan pendek yang dipisahkan oleh baris kosong
•    quotation : membuat kutipan yang terdiri dari bebera paparagraf
•    verse : membuat ayat-ayat puisi
•    displaymath : membuat persamaan/ rumus matematika

4.9.    Membuat Footnote
Untuk menuliskan footnot pada latex ketikan perintah
\footnote{isi footnote}

4.10.    Daftar Isi, Gambar, dan Tabel
•    Dengan menggunakan perintah pembagian struktur seperti \part, \chapter, \section, daftar isi dapat secara otomatis dimunculkan dengan perintah \tableofcontents
•    Demikian juga jika dokumen memuat gambar dan table yang dibuat melalui float table dan figure, maka daftar gambar dan table dapat ditampilkan dengan perintah: \listoftables dan \listoffigures

4.10.1.    Daftar Butir
Daftar dapat dibuat dengan menggunakan environtment itemize (Tak bernomor), enumerate (Bernomor), maupun description (Kata kunci penjelas).
4.10.2.    Flushleft, Flushright, Center
Untuk menghasilkan paragraf yang rata kiri, rata kanan, atau rata tengah.

4.11.    Tabel
•    Tabel dibuat dengan menggunakan environment tabular. Setelah perintah \begin{tabular}, harus dituliskan kode spesifikasi yang menyatakan bagaimana isi kolom ditempatkan.
•    Diantara perintah \begin{tabular} dan \end{tabular} kolom satu dengan lainnya dipisahkan oleh tanda ‘&’. Garis horizontal selebar table dapat dibuat dengan perintah \hline.
•    {|c|l|r|} adalah bagian yang menentukan banyaknya kolom. Untuk membuat label ketikan perintah \begin{table}, \caption{Percobaan} à menampilkan labelnya , dan diakhiri \end{table}

4.12.    Menyisipkan Gambar
Pengaturan spasi pada latex dengan menggunakan paket \usepackage{graphicx} di awal dokumen. Kemudian letakkan perintah di bawah ini setelah \begin{document}
\begin{figure}[ht!]
\begin{center}
\includegraphics[%
scale=0.60]{gambar.eps}\end{center}
Sebelumnya ubah format gambar yang akan di sisipkan menjadi .eps , agar bisa dibaca oleh latex,dan letakkan gambar tersebut dalam satu folder dokumen latex yang akan dibuat.
Untuk membuat label ketikan perintah di bawah ini :
\caption{Tampilan Administrator Joomla}\label{gambar}
\end{figure}

4.13.    Membuat Daftar Pustaka
Untuk membuat daftar pustaka pada akhir dokumen latex, digunakan perintah berikut ini
\begin{thebibliography}{99} à 99 memberitahu latex batas max penomeran adalah 99
\bibitem{ label untuk referensi }
{ keterangan pustaka yang digunakan }
\end{thebibliography}

Python - Program Menghitung Luas Bidang Datar



Macro Excel: Memisahkan Nama Depan dan Belakang


Sebagai admin Moodle di fakultas kami, salah satu pekerjaan saya adalah memasukkan data mahasiswa baru, sehingga mereka dapat login secara otomatis (tidak perlu daftar lagi). Dalam sistem ideal, hal ini dapat dilakukan secara otomatis kalau saja saya mempunyai koneksi dengan data mahasiswa dari pusat. Sayangnya yang saya dapat adalah data Excel.

Moodle menyediakan fasilitas pendaftaran secara batch melalui file teks. Data minimal yang harus ada adalah: username, firstname, lastname, password, email. Masalahnya data Excel yang saya terima menggunakan full name, jadi harus dipisahkan dulu. Biasanya saya pindahkan ke file teks lalu diproses dengan PHP, tapi sekarang saya mau mencoba dengan macro Excel. Perlu diingat bahwa beberapa mahasiswa memiliki satu nama saja.

Setelah mencoba, entah kenapa fungsi split tidak dapat digunakan, error terus. Akhirnya manual saja, dengan mencari spasi terdekat. Berikut codenya: 

01
Public Sub splitName()
02


03
    colIdxSource = 2 'kolom yang akan diproses
04
    colIdxDest = 3   'kolom tempat meletakan hasil

05
    RCount = 156    'jumlah baris yang akan diproses
06


07
    Dim i As Integer
08
    Dim fullName As String

09

10
    For i = 1 To RCount

11
        fullName = Trim(Cells(i, colIdxSource).Value)
12
        lName = Len(fullName)

13

14
        j = 1

15
        found = False
16
        While (j <= lName And Not (found))

17
              If Mid(fullName, j, 1) = " " Then
18
                  found = True

19
              Else
20
                  j = j + 1

21
              End If
22
        Wend

23

24
        If found Then 'split

25
           firstName = Mid(fullName, 1, j - 1)
26
           lastName = Mid(fullName, j + 1, lName - j)

27
        Else 'kasus cuma satu nama
28
           firstName = fullName

29
           lastName = "-"
30
        End If

31
        Cells(i, colIdxDest).Value = firstName
32
        Cells(i, colIdxDest + 1).Value = lastName

33
    Next i
34
End Sub

Macro Excel: Conditional Formatting


Beberapa waktu lalu, saya membuat tulisan tentang macro Excel yang dapat mengubah angka menjadi teks. Salah seorang pengunjung lantasbertanya kegunaan lain dari macro. Saya jawab dengan contoh.

Misalnya kita punya berkas Excel yang berisi ratusan angka di setiap sel. Kita, misalnya, ingin memberi warna merah untuk angka yang nilainya negatif dan warna biru untuk angka yang bernilai lebih dari 100.
Saya katakan bahwa pekerjaan tersebut dapat dilakukan dengan cepat, cermat, dan mudah dengan menggunakan macro.
Seorang pengunjung yang lain kemudian bertanya, “Bagaimana cara membuatnya?”
Ya, bagaimana melakukannya? Dapatkah hal ini dikerjakan dengan macro? Jawabannya tentu saja dapat. Apakah cepat, cermat, dan mudah? Cermat sih jelas. Tetapi, cepat dan mudah itu relatif.
Setidaknya tak secepat dan semudah jika kita melakukannya dengan fitur yang sudah tersedia di Excel: Conditional Formating!
Sebagai contoh, bukalah sebuah berkas Excel yang masih kosong. Lalu isilah sel-sel pada range A1:E20 dengan angka yang bervariasi antara -50 sampai 200. Anda bisa mengetikkan angka-angka tersebut di setiap sel, atau gunakan fungsi =RANDBETWEEN(-50, 200) di salah satu sel, lalu menyalinnya ke sel yang lain. Fungsi ini1 akan menghasilkan bilangan acak antara -50 dan 200.
Setelah itu, sorotlah semua sel yang berisi angka-angka tersebut, lalu klik menu Format > Conditional Formatting.
Di bagian Condition 1, pilih Cell Value Is di ruas pertama, less than di ruas kedua, dan di ruas ketiga ketikkan 0. Klik tombol Format… lalu pilihlah warna merah di ruas Color.
Lalu kliklah tombol Add >> dan bagian Conditional 2 akan muncul. Isilah dengan Cell Value Is, greater than, dan 100. Klik tombol Format… dan pilihlah warna biru di ruas Color.
Klik tombol OK dan — jreng, semua angka negatif akan berwarna merah dan angka yang lebih besar dari 100 akan berwarna biru.
Cobalah menekan tombol F9 di papan ketik untuk menjalankan kembali fungsiRANDBETWEEN sehingga menghasilkan angka yang berbeda.
DENGAN MACRO
Bagi Anda yang ingin tahu bagaimana melakukannya dengan macro, buatlah sebuah worksheet seperti pada contoh di atas. Anda bisa menggunakan fungsi=RANDBETWEEN(-50, 200).
Tekan tombol Alt + F11 di papan ketik. Di jendela Microsoft Visual Basic bagian VBAProject2 klik-ganda ThisWorkbook.
Di bagian sebelah kanan yang terbuka, tulislah kode berikut ini.
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    nCol = 1
    nRow = 1
    Cells.Font.ColorIndex = 0
    While Not IsEmpty(Cells(nRow, nCol))
        While Not IsEmpty(Cells(nRow, nCol))
            Cells(nRow, nCol).Select
            If Selection.Value < 0 Then
                Selection.Font.ColorIndex = 3
            End If
            If Selection.Value > 100 Then
                Selection.Font.ColorIndex = 5
            End If
      nCol = nCol + 1
        Wend
        nCol = 1
        nRow = nRow + 1
    Wend
End Sub
Kembalilah ke worksheet Anda untuk melihat hasilnya. Jika Anda menggunakan fungsi RANDBETWEEN, cobalah tekan tombol F9 berulang-ulang untuk menghasilkan angka yang berbeda.
Catatan. Conditional Formatting di Excel hanya menyediakan 3 kondisi. Bila Anda memiliki lebih dari tiga kondisi yang ingin dijalankan, Anda harus memakai macro.
1.   Fungsi RANDBETWEEN bukan fungsi bawaan dari Excel. Anda harus mengaktifkannya dengan pergi ke Tools > Add-Ins. Centang Analysis ToolPak lalu klik tombol OK. CD instalasi MS Office mungkin diperlukan. [↩]
2.   Bila bagian ini tidak ada, pilihlah View > Project Explorer atau tekan tombol Ctrl + R. [↩]

Macro Excel: Pengganti VLookup


Untuk mencari data di sebuah tabel di dalam worksheet, Excel menyediakan beberapa fungsi. Kita dapat menggunakan fungsi VLookup, HLookup, atau fungsi Index yang sering kali dikombinasikan dengan fungsi Match.

Misalnya, Anda memiliki sebuah tabel yang berisi informasi siswa di sebuah sekolah. Ada 6 kolom di sana. Kolom pertama berisi NISN, kolom kedua berisi nomor induk, selanjutnya adalah nama, kemudian tempat lahir, tanggal lahir, dan alamat.
Lalu di sheet lain pada file yang sama, sel A4 sudah berisi nomor induk salah seorang siswa. Anda ingin mengisi sel B4 dengan nama siswanya, sel C4 berisi tanggal lahir, dan sel D4 berisi NISN. Bagaimana caranya? (Perhatikan bahwa Nomor Induk pada tabel pertama tidak terurut.)
Untuk memudahkan, Anda dapat memberi beberapa label pada tabel tersebut. Pada sheet pertama, sorotlah range A2:F11, lalu klik Insert > Name >Define…. Ketikkan “tabel_siswa” (tanpa tanda petik) pada ruas Names in workbook, lalu klik tombol OK. Dengan demikian, sekarang “tabel_siswa” akan mengacu pada range A2:F11. Ulangi hal yang sama untuk range B2:F11 (beri nama “data_siswa”), dan “nomor_induk” untuk range B2:B11. Catatan:dari tiga label yang kita buat, tidak semuanya kita perlukan secara bersamaan. Tergantung metode mana di bawah ini yang akan Anda pakai.
FUNGSI VLOOKUP, INDEX, DAN MATCH
Kembali ke sheet berikutnya (gambar kedua), kita akan mengisi nilai di sel B4, C4, dan D4 dengan mengacu pada data yang telah tersedia di sel A4. Dengan fungsi standar Excel, setidaknya ada dua cara yang dapat kita gunakan.
Cara pertama adalah dengan menggunakan fungsi VLookup. Tulislah di sel B4 formula ini: =VLOOKUP(A4,data_siswa,2,FALSE). Argumen FALSE kita pakai karena kolom Nomor Induk tidak terurut. Sementara itu, nilai sel C4 dapat diisi dengan menulis formula =VLOOKUP(A4,data_siswa,4,FALSE).
Sekarang, bagaimana mengisi sel D4? Fungsi VLookup tidak dapat melakukan ini karena data acuan kita adalah kolom Nomor Induk, dan VLookup hanya bisa mengindeks data pada kolom di sebelah kanan kolom acuan. Padahal data NISN yang kita butuhkan berada di sebelah kiri kolom acuan kita.
Cara kedua adalah dengan fungsi Index yang akan kita kombinasikan denganMatch. Di sel B4, Anda bisa menulis ini:=INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),3). Nilai sel C4 adalah=INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),5). Nilai sel D4? Tentu saja ini: =INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),1).
Dengan fungsi Index, Anda bisa mengisi semua kolom.
MENULIS MAKRO
Anda bisa juga membuat fungsi sendiri dengan membuat makro. Misalnya, dengan hanya mengetikkan =Siswa(n,m), Anda dapat memperoleh data yang diinginkan.
Tulislah kode makro berikut ini di bagian Module.
Function Siswa(ByVal NIS, Order)

    Check = WorksheetFunction.CountIf(Range("nomor_induk"), NIS)

    If Check = 0 Then
        Siswa = "Tidak ada"
    ElseIf Check = 1 Then
        With Range("nomor_induk")
            Siswa = .Find(What:=NIS, LookIn:=xlValues, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Offset(0, Order)
        End With
    Else: Siswa = "Data lebih dari satu"
    End If

End Function
Dengan fungsi yang kita buat ini, kita dapat mengisi sel B4 dengan=Siswa(A4,1). Sel C4 berisi =Siswa(A4,3), dan sel D4 berisi =Siswa(A4,-1).
Dari beberapa metode di atas, Anda bisa memilih salah satu yang sesuai dengan kebutuhan Anda.