Trentech.id
No Result
View All Result
Login / Register
  • Terbaru
  • Berita
  • Startup
  • Bisnis
  • Learn
  • Games
  • Blockchain
  • Gadget
  • Terbaru
  • Berita
  • Startup
  • Bisnis
  • Learn
  • Games
  • Blockchain
  • Gadget
Trentech.id
No Result
View All Result

Hoogle – Mesin Pencari untuk Haskeller

17 January 2017
in Learn
Hoogle – Mesin Pencari untuk Haskeller
1.4k
VIEWS
Berikan rating

Hoogle adalah mesin pencari API Haskell. Dengan Hoogle, kita bisa mencari tahu macam-macam fungsi yang bisa kita gunakan. Menariknya, informasi seperti di module mana fungsi itu berada, berapa jumlah parameter-nya, output-nya dalam bentuk tipe data apa, serta (beberapa) ada contoh penggunaannya. Karena itu, Hoogle berperan penting dalam proses belajar Haskell. Tertarik bermain dengan Hoogle? Lalu, bagaimana caranya menggunakan Hoogle?

Tulisan ini adalah kelanjutan dari tulisan sebelumnya yaitu “Memulai Belajar Haskell“. Selama belajar, kita akan terus menggunakan Hoogle sebagai referensi fungsi-fungsi Haskell.

Sebagai permulaan, kita coba cari tahu mengenai fungsi putStrLn di Hoogle. Silakan masukan fungsi yang ingin dicari di kolom pencarian yang sudah disediakan, lalu tekan ENTER. Setelah itu, muncul banyak fungsi putStrLn yang tersedia di Haskell. Ya, satu fungsi di Haskell belum tentu hanya tersedia di satu module. Seperti contoh fungsi putStrLn tersedia di berbagai module dengan “perannya” masing-masing. Nah, sekarang, silakan lihat kata “putStrLn” di bagian base Prelude tepatnya hasil pencarian paling atas.

Prelude adalah module bawaan Haskell.

Kita akan melihat putStrLn :: String -> IO (). Bagian :: String -> IO ()adalah apa yang disebut dengan Type Signature. Bagian ini memberitahu apa-apa saja yang boleh menjadi input dari fungsi tersebut dan apa keluaran dari fungsi tersebut. Type Signature juga memberikan informasi berapa parameter fungsi tersebut. Cara membacanya, untuk output dari fungsi tersebut, cukup lihat kata terakhir setelah tanda ->. Pada kasus ini adalah IO (). IO ()maksudnya input-output atau di dalam Haskell disebut sebagai “Dunia Luar”. Artinya, fungsi tersebut akan memberikan sesuatu ke dunia luar. Untuk input dari fungsi tersebut, kita hanya perlu melihat kata-kata setelah :: dan sebelum bagian output. Pada kasus ini, setelah :: dan sebelum output tadi adalah String. Artinya, fungsi tersebut untuk tipe data string yang mana akan diolah ke “Dunia Luar”.

Contoh, replicate :: Int -> a -> [a]. Ada dua parameter, yaitu pada bagian Int -> a, Int dan a. Keluarannya adalah [a].

Apa itu a? Jawabannya, Type Variable. Artinya, pada parameter tersebut, bisa tipe data apapun. Kalau nanti bertemu dengan b, itu juga sama (Type Variable). Sederhanya, Type Variable menggunakan huruf kecil (lowercase). Sementara data type, menggunakan huruf kapital di depan (misal String).

Contoh lain, getLine :: IO String. Fungsi seperti ini tidak memiliki parameter. Artinya, fungsi ini berjalan tanpa membutuhkan parameter apapun yang kemudian keluarannya adalah berupa IO String. IO maksudnya input-output. Jadi, keluaran atau hasilnya berupa String dari “Dunia Luar”.

Seputar Type System sendiri masih banyak yang belum disebutkan. Tapi, sepertinya, beberapa penjelasan di atas sudah cukup untuk memulai eksplorasi ke dunia Haskell lebih jauh. Sekarang kita lanjut ke bagian berikutnya.

Tepat di bawah Type Signature ada informasi mengenai di module mana fungsi tersebut berada. Dengan ini, kita dapat melakukan import module secara tepat sesuai dengan kebutuhan.

Di bawah informasi module, ada beberapa penjelasan atau deskripsi mengenai fungsi tersebut. Nah, sekarang coba klik fungsi yang ingin dilihat lebih dalam. Bila beruntung, pada fungsi tersebut, ada contoh penggunaannya.

Berdasarkan informasi dari tulisan ini, sepertinya kamu sudah siap untuk eksplorasi fungsi-fungsi Haskell. Lalu, setelah melihat informasi di Hoogle, bagaimana cara pengaplikasiannya?

Mencoba Fungsi Berdasarkan Informasi Hoogle

Untuk mencoba fungsi tadi, gunakanlah Try Haskell. Misal, kita menemukan fungsi foldl. Type Signature-nya adalah foldl :: (a -> b -> a) -> a -> [b] -> a. Pada fungsi ini, ada parameter (a -> b -> a). Maksudnya, parameter tersebut adalah sebuah fungsi operasi yang membutuhkan dua operand. Contoh, 1 + 2 dimana 1 dan 2 adalah operand dan + adalah fungsi operasinya.

Nah, parameter foldl ada tiga sesuai dengan Type Signature-nya. Pertama, (a -> b -> a). Kedua, a. Dan ketiga, [b]. Maksud dari [b] adalah sebuah List (di Haskell bukan array, tapi list) dengan tipe data apapun (yang satu jenis, misal integer saja). Adapun keluarannya adalah a.

Sekarang, kita coba lakukan foldl (+) 0 [1..100]. Hasilnya adalah 5050. Satu lagi, foldl (++) [] ["Halo, ", "Haskell!"]. Hasilnya adalah "Halo, Haskell!".

Well, untuk saat ini itu saja. Karena jika terlalu banyak juga nanti kepala bisa-bisa “ngebul”. Sampai berjumpa di lain waktu! [cp/ap]

Tags: hooglemesin pencari
Previous Post

Chatbot Tren Teknologi Bisnis 2017

Next Post

Tiga Cara Tepat Mewujudkan Ide Startup Menjadi Bisnis yang Menguntungkan

Indra Nugraha

Indra Nugraha

Fullstack Web Developer | Javascript Ethusiast

Related Posts

No Content Available
Please login to join discussion

Terpopuler

  • contoh pitch deck

    8 Contoh Pitch Deck Startup yang Bisa Kamu Pelajari

    925 shares
    Share 370 Tweet 231
  • Kumpulan Materi Kuliah Jurusan Teknik Informatika dan Ilmu Komputer

    329 shares
    Share 132 Tweet 82
  • Masa Depan Zoom Tercoreng PHK: Dampak dan Prospek

    108 shares
    Share 43 Tweet 27
  • Menjelajahi Kelebihan dan Keterbatasan Chatbot AI BARD

    108 shares
    Share 43 Tweet 27
  • Upgrade XAMPP? Beginilah Caranya

    231 shares
    Share 92 Tweet 58
  • Startup Kecerdasan Buatan (AI) Membawa Solusi Baru dalam Industri

    108 shares
    Share 43 Tweet 27
  • Alasan Mahasiswa IT Harus Bisa Coding

    121 shares
    Share 48 Tweet 30
  • Masa Depan Bitcoin Kian Terancam

    108 shares
    Share 43 Tweet 27
  • Sistem Baru TikTok: Solusi Terbaru untuk Kreativitas dan Keamanan Pengguna

    108 shares
    Share 43 Tweet 27
  • Dampak PHK Masal eBay pada Karyawan dan Industri E-commerce

    108 shares
    Share 43 Tweet 27

About . Contact . Partnership

Trentech.id adalah situs yang menyajikan konten tentang startup, bisnis, game, event, hingga informasi pekerjaan. Trentech berusaha memberikan konten yang berkualitas untuk para pembacanya agar dapat menjadi rujukan utama mengenai dunia teknologi pada khususnya. Tim trentech terdiri dari orang – orang yang berkompeten dibidangnya, dan akan selalu mendukung karya – karya terbaik anak bangsa dengan memberikan kesempatan seluas-luasnya untuk para startup agar dapat publish karyanya di trentech.

Trentech ID

  • About
  • Contact
  • Partnership
  • Panduan Penulis
  • Privacy Policy
  • Sitemap

Tools

  • Harga Crypto Terbaru
  • Cek Ongkir
  • Cek Resi
  • Cek Domain
  • Terbaru
  • Berita
  • Startup
  • Bisnis
  • Learn
  • Games
  • Blockchain
  • Gadget
Login / Register

Welcome Back!

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Fill the forms below to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
  • Login
  • Sign Up
Forgot Password?
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.