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

Hoogle – Mesin Pencari untuk Haskeller

19 January 2017
in Learn

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]

Berikan rating

Follow Trentech.id di Google News, Klik DI SINI

Tags: hooglemesin pencari
1.5k
VIEWS
Previous Post

Chatbot Tren Teknologi Bisnis 2017

Next Post

Tiga Cara Tepat Mewujudkan Ide Startup Menjadi Bisnis yang Menguntungkan

Related Posts

Pentingnya Kemampuan Komunikasi Bagi Seorang Programmer

24 December 2024
2k

Seorang programmer adalah orang yang terjun dan menyelami bidang TI. Berbicara tentang bidang keilmuan. TI adalah bidang keilmuan yang sangat...

Hacker Paling Berbahaya

Ini Dia 10 Hacker Paling Berbahaya Didunia

15 July 2024
2k

Pada awalnya, hacker pertama kalinya muncul dengan arti positif yaitu untuk menyebut seorang yang memiliki keahlian dalam bidang komputer dan...

Manfaat Belajar Bahasa Pemrograman untuk Kehidupan

7 Keterampilan Wajib Programmer Untuk 5-10 Tahun Ke Depan

21 March 2024
2k

Waktu terus berjalan, begitulah kehidupan. Kita sebagai programmer selalu dituntut untuk mengembangkan keterampilan di saat perkembangan industri TI terus berkembang...

Terpopuler

  • contoh pitch deck

    8 Contoh Pitch Deck Startup yang Bisa Kamu Pelajari

    2394 shares
    Share 957 Tweet 598
  • 3 Cara Memutus Koneksi Orang Lain dari Jaringan Wi-Fi Anda

    944 shares
    Share 378 Tweet 236
  • Daftar Gaji di Startup Indonesia

    241 shares
    Share 96 Tweet 60
  • HP Nokia Edge 2022 Mirip Iphone 13, Cek Harga dan Spesifikasi

    296 shares
    Share 118 Tweet 74
  • Bitcoin Naik 1.500% dalam 5 Tahun, IHSG Hanya 35%

    109 shares
    Share 44 Tweet 27
  • Harga Saham GoTo Terjun Bebas (Lagi)

    123 shares
    Share 49 Tweet 31
  • Prompt ChatGPT untuk Designer

    155 shares
    Share 62 Tweet 39
  • Ini Dia 7 Perintah CMD Keren yang Wajib Kamu Coba

    358 shares
    Share 143 Tweet 90
  • Apa Saja Fitur Flipper Zero?

    566 shares
    Share 226 Tweet 142
  • 16 Jenis Saham: Panduan Lengkap Memahami Dunia Investasi

    572 shares
    Share 229 Tweet 143

About . Contact . Partnership . Google News . Telegram

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
  • Advertising
  • Privacy Policy
  • Sitemap

Tools

  • Harga Crypto Terbaru
  • Cek Ongkir
  • Cek Resi
  • Cek Domain

Welcome Back!

Sign In with Facebook
Sign In with Google
OR

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Sign Up with Facebook
Sign Up with Google
OR

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
About . Contact . Partnership . Google News