<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shohih Abdul</title>
    <description>The latest articles on DEV Community by Shohih Abdul (@siabdul).</description>
    <link>https://dev.to/siabdul</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1019511%2F598b7294-2193-4c44-a80e-a1c19c6c727a.png</url>
      <title>DEV Community: Shohih Abdul</title>
      <link>https://dev.to/siabdul</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/siabdul"/>
    <language>en</language>
    <item>
      <title>Hello World dengan FastAPI</title>
      <dc:creator>Shohih Abdul</dc:creator>
      <pubDate>Sun, 19 Feb 2023 00:21:59 +0000</pubDate>
      <link>https://dev.to/siabdul/hello-world-dengan-fastapi-hmf</link>
      <guid>https://dev.to/siabdul/hello-world-dengan-fastapi-hmf</guid>
      <description>&lt;p&gt;FastAPI adalah framework web modern yang ditulis menggunakan bahasa pemrograman Python. FastAPI dirancang untuk memungkinkan developer untuk membuat API dengan cepat dan mudah. Dalam artikel ini, kita akan belajar bagaimana cara membuat "Hello World" menggunakan FastAPI.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;1. Instalasi FastAPI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sebelum memulai, pastikan bahwa Python dan pip sudah terpasang di komputer Anda. Setelah itu, Anda dapat menginstal FastAPI dengan menjalankan perintah berikut di terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;fastapi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;atau jika kamu ingin menginstalasi seluruh package dari fastapi, kamu bisa pakai perintah berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;fastapi[all]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;2. Instalasi Uvicorn&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Untuk membuat FastAPI ini berjalan, kita membutuhkan worker yang disebut uvicorn, cara instalasinya sebagai berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;uvicorn[standard]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;3. Membuat aplikasi FastAPI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Setelah meninstall kedua &lt;em&gt;package&lt;/em&gt; tersebut, kita mulai untuk membuat aplikasi FastAPI, pertama, buat file &lt;code&gt;main.py&lt;/code&gt; di sebuah folder, lalu ketikan code berikut.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;fastapi&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;FastAPI&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;FastAPI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nd"&gt;@app.get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hello_world&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello World&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kode di atas adalah dasar dari sebuah aplikasi FastAPI. Dalam kode tersebut, kita membuat &lt;em&gt;instance&lt;/em&gt; (turunan) dari kelas FastAPI, yang kemudian digunakan untuk menambahkan endpoint ke aplikasi. Endpoint adalah URL di mana client dapat melakukan request dan mendapatkan response dari server.&lt;/p&gt;

&lt;p&gt;Fungsi &lt;code&gt;hello_world()&lt;/code&gt; adalah handler untuk endpoint "/" atau root. Fungsi ini akan merespon dengan dictionary JSON yang berisi pesan "Hello World".&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;4. Menjalankan aplikasi&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Untuk menjalankan aplikasi FastAPI, kita perlu menjalankan server web. FastAPI menyediakan uvicorn sebagai server web default, sehingga kita dapat menjalankan aplikasi dengan menjalankan perintah berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvicorn run main:app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Perintah tersebut akan menjalankan server web di localhost dengan port 8000 dan otomatis melakukan reload setiap kali terdapat perubahan pada kode. Anda dapat membuka browser dan membuka halaman &lt;a href="http://localhost:8000" rel="noopener noreferrer"&gt;http://localhost:8000&lt;/a&gt; untuk melihat pesan "Hello World" yang muncul.&lt;/p&gt;

&lt;p&gt;Mari kita uraikan perintah tersebut.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;uvicorn -&amp;gt; adalah worker yang akan menjalankan aplikasi kita&lt;/li&gt;
&lt;li&gt;run -&amp;gt; adalah perintah uvicorn yang berfungsi untuk menjalankan suatu file&lt;/li&gt;
&lt;li&gt;main:app -&amp;gt; terbagi menjadi dua, yang pertama &lt;code&gt;main&lt;/code&gt;, dan &lt;code&gt;app&lt;/code&gt;, &lt;code&gt;main&lt;/code&gt; adalah file yang akan dijalankan, sebelumnya kita udah membuat file main.py, maka kita taruh &lt;code&gt;main&lt;/code&gt; sebagai argumen pertama. Lalu yang kedua adalah &lt;code&gt;app&lt;/code&gt;, &lt;code&gt;app&lt;/code&gt; adalah variable yang digunakan sebelumnya untuk mendeklarasikan instance dari FastAPI. Contoh, jika code berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="bp"&gt;...&lt;/span&gt;
&lt;span class="n"&gt;aplikasi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;FastAPI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;maka untuk menjalankan aplikasi, kita harus memanggil uvicorn dengan cara&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvicorn run main:aplikasi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Kesimpulan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dalam artikel ini, kita telah belajar bagaimana membuat "Hello World" menggunakan FastAPI. FastAPI memungkinkan kita untuk membuat API dengan mudah dan cepat, sehingga sangat cocok untuk digunakan dalam pengembangan aplikasi modern. Semoga artikel ini bermanfaat bagi Anda!&lt;/p&gt;

</description>
      <category>career</category>
      <category>fullstack</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Kenapa harus FastAPI?</title>
      <dc:creator>Shohih Abdul</dc:creator>
      <pubDate>Thu, 02 Feb 2023 11:52:27 +0000</pubDate>
      <link>https://dev.to/siabdul/kenapa-harus-fastapi-3jm1</link>
      <guid>https://dev.to/siabdul/kenapa-harus-fastapi-3jm1</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Sebenernya&lt;/em&gt;&lt;/strong&gt; nnga ada alasan yang terlalu "wah" banget gitu.&lt;/p&gt;

&lt;p&gt;Tapi kalo dibandingkan dengan &lt;a href="https://djangoproject.com" rel="noopener noreferrer"&gt;Django&lt;/a&gt; dan &lt;a href="https://flask.palletsprojects.com/" rel="noopener noreferrer"&gt;Flask&lt;/a&gt;, &lt;a href="https://fastapi.tiangolo.com" rel="noopener noreferrer"&gt;FastAPI&lt;/a&gt; ini emang &lt;em&gt;framework&lt;/em&gt; yang paling cepet kalo dipake untuk back end di python.&lt;/p&gt;

&lt;p&gt;Dari &lt;em&gt;benchmark&lt;/em&gt; nya juga, terlihat kalau FastAPI ini adalah framework yang paling cepet dan juga memiliki performa yang hebat untuk melakukan berbagai macam hal. Dimulai dari &lt;em&gt;ngatasin&lt;/em&gt; request yang begitu banyak, sampe ke ngirim data json yang banyak pun, gaakan jadi masalah buat si FastAPI ini.&lt;/p&gt;

&lt;p&gt;Ini adalah hasil &lt;em&gt;benchmark&lt;/em&gt; yang dilakukan oleh TechEmpower pada 17 Juli 2022 kemarin. Dan hasilnya sebagai berikut:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbjat3ytloh4y8z5hguxg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbjat3ytloh4y8z5hguxg.png" alt="Benchmark tiga web framework terkenal python." width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Seperti yang bisa kita lihat, FastAPI berada di tingkat pertama dengan poin sebanyak 167,592, dan diurutan terakhir ada Flask dengan poin hanya 1,561 saja.&lt;br&gt;
Selain performa yang bagus, FastAPI juga menyediakan tutorial dan dokumentasi yang sangat mudah untuk dipahami oleh semua kalangan, baik yang sedang belajar mengenai python, maupun yang sudah ahli dalam menggunakan python.&lt;/p&gt;

&lt;p&gt;Web framework yang saya berikan pun tidak menjadi acuan bagi kalian yang mau belajar mengenai back end menggunakan python. Django, flask, dan FastAPI memiliki kekurangannya masing-masing. Misal pada FastAPI, karena ia masih tergolong baru, jadi untuk mencari bantuan, menggunakannya secara advance pun masih tergolong sulit. Tetapi, saya sendiri menyarankan agar kalian yang sedang belajar mengenai python dan ingin menggunakannya pada website, saya menyarankan untuk menggunakan FastAPI, karena cepet, gampang, dan dokumentasinya juga mudah dipahami, jadi tunggu apalagi? Mari belajar FastAPI!&lt;/p&gt;

</description>
      <category>web3</category>
      <category>crypto</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
