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
2.1k

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

Terpopuler

  • Ini Dia Peluang Chatbot Sebagai Produk AI di Masa Depan Menurut Founder Kata.ai

    118 shares
    Share 47 Tweet 30
  • Sertifikasi PCI DSS BingX Jadi Tolak Ukur Baru Keamanan Data Web3

    108 shares
    Share 43 Tweet 27
  • Riset Ungkap Penambang Bitcoin Bakal Melonjak pada 2025

    111 shares
    Share 44 Tweet 28
  • Investor Chainlink Targetkan ROI 10.000% di 2025

    110 shares
    Share 44 Tweet 28
  • 16 Jenis Saham: Panduan Lengkap Memahami Dunia Investasi

    612 shares
    Share 245 Tweet 153
  • Cara Daftar IMEI Resmi di Indonesia dengan Mudah

    133 shares
    Share 53 Tweet 33
  • WhatsApp Kembangkan Fitur Matikan Last Seen untuk Kontak Tertentu

    119 shares
    Share 48 Tweet 30
  • Bukalapak Akuisisi Startup 5 Startup Lokal Senilai US$ 1 Miliar

    133 shares
    Share 53 Tweet 33
  • 3 Cara Memutus Koneksi Orang Lain dari Jaringan Wi-Fi Anda

    1098 shares
    Share 439 Tweet 275
  • Gunakan Cara Ini! Agar Konten Website Anda Menciptakan Penjualan Luar Biasa

    118 shares
    Share 47 Tweet 30

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