Alpro
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Modul 5 - Algoritma Pemrograman Halo, ini merupakan modul Algoritma PemrogAraman minggu ke-5. Semangat! ## 31 - MAKING DECISIONS Di paruh pertaama buku ini, Anda kebanyakan hanya mencetak hal-hal yang disebut fungsi, tetapi semuanya pada dasarnya dalam garis lurus. Skrip Anda berjalan mulai dari atas dan menuju ke bawah di mana mereka berakhir. Jika Anda membuat suatu fungsi, Anda dapat menjalankan fungsi itu nanti, tetapi fungsi itu masih belum memiliki jenis percabangan yang Anda perlukan untuk benar-benar membuat keputusan. Sekarang Anda memiliki if, else, dan elif Anda dapat mulai membuat skrip yang memutuskan sesuatu. Dalam skrip terakhir Anda menulis serangkaian tes sederhana yang menanyakan beberapa pertanyaan. Dalam skrip ini Anda akan mengajukan pertanyaan kepada pengguna dan membuat keputusan berdasarkan jawaban mereka. Tulis skrip ini, lalu mainkan cukup banyak untuk mengetahuinya ### Kode Ketiklah, dan jalankan kode di bawah. Beri nama file `ex31.py`. Kemudian, perhatikan mekanisme bagaimana program bekerja, dan jawablah **Catatan** di bawah. ```python print("""You enter a dark room with two doors. Do you go through door #1 or door #2?""") door = input("> ") if door == "1": print("There's a giant bear here eating a cheese cake. What do you do?") print("1. Take the cake.") print("2. Scream at the bear.") bear = input("> ") if bear == "1": print("The bear eats your face off. Good job!") elif bear == "2": print("The bear eats your legs off. Good job!") else: print(f"Well, doing {bear} is probably better. Bear runs away.") elif door == "2": print("You stare into the endless abyss at Cthulhu's retina.") print("1. Blueberries.") print("2. Yellow jacket clothespins.") print("3. Understanding revolvers yelling melodies.") insanity = input("> ") if insanity == "1" or insanity == "2": print("Your body survives powered by a mind of jello. Good job!") else: print("The insanity rots your eyes into a pool of muck. Good job!") else: print("You stumble around and fall on a knife and die. Good job!") ``` ### Catatan #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_{catatan}\_{nama_yang_buat}.md contoh: 31_catatan.md/py #### Soal 1. Jelaskan Baris Perbaris Pada kode Diatas, menggunakan feature comment # disetiap barisnya! ### Tugas #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_\{nomor_tugas}\_{nama_yang_buat}.py contoh: 31_1_dimas.py #### Soal 1. Perbarui Kode Diatas Dengan menambah keputusan baru, minimal 1 keputusan! ## 32 - Loops and Lists Anda sekarang harus dapat melakukan beberapa program yang jauh lebih menarik. Jika Anda telah mengikutinya, Anda harus menyadari bahwa sekarang Anda dapat menggabungkan semua hal lain yang telah Anda pelajari dengan pernyataan if dan ekspresi boolean untuk membuat program Anda melakukan hal-hal yang cerdas. Namun, program juga perlu melakukan hal-hal yang berulang dengan sangat cepat. Kita akan menggunakan for-loop dalam latihan ini untuk membangun dan mencetak berbagai daftar. Ketika Anda melakukan latihan, Anda akan mulai mencari tahu apa itu. Saya tidak akan memberitahu Anda sekarang. Anda harus mencari tahu. Sebelum Anda dapat menggunakan for-loop, Anda memerlukan cara untuk menyimpan hasil loop di suatu tempat. Cara terbaik untuk melakukannya adalah dengan daftar. Daftar persis seperti yang dikatakan namanya: wadah hal-hal yang diatur dalam urutan dari pertama hingga terakhir. Ini tidak rumit; Anda hanya perlu mempelajari sintaks baru. Pertama, ada bagaimana Anda membuat daftar: hairs = [ ’ brown ’ , ’ blond ’ , ’ red ’ ] eyes = [ ’ brown ’ , ’ blue ’ , ’ green ’ ] weights = [ 1 , 2 , 3 , 4 ] Anda mulai daftar dengan [ (tanda kurung kiri) yang ”membuka” daftar. Kemudian Anda menempatkan setiap item yang Anda inginkan dalam daftar yang dipisahkan dengan koma, mirip dengan argumen fungsi. Terakhir, akhiri daftar dengan tanda ] (tanda kurung siku) untuk menunjukkan bahwa daftar sudah berakhir. Python kemudian mengambil daftar ini dan semua isinya dan menugaskannya ke variabel. ### Kode Ketiklah, dan jalankan kode di bawah. Beri nama file `ex31.py`. Kemudian, perhatikan mekanisme bagaimana program bekerja, dan jawablah **Catatan** di bawah. ```python the_count = [1, 2, 3, 4, 5] fruits = ['apples', 'oranges', 'pears', 'apricots'] change = [1, 'pennies', 2, 'dimes', 3, 'quarters'] # this first kind of for-loop goes through a list for number in the_count: print(f"This is count {number}") # same as above for fruit in fruits: print(f"A fruit of type: {fruit}") # also we can go through mixed lists too # notice we have to use {} since we don't know what's in it for i in change: print(f"I got {i}") # we can also build lists, first start with an empty one elements = [] # then use the range function to do 0 to 5 counts for i in range(0, 6): print(f"Adding {i} to the list.") # append is a function that lists understand elements.append(i) # now we can print them out too for i in elements: print(f"Element was: {i}") ``` ### Catatan #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_{catatan}\_{nama_yang_buat}.md contoh: 31_catatan.md/py #### Soal 1. Ubah while-loop ini menjadi fungsi yang dapat Anda panggil, dan ganti 6 dalam pengujian (i < 6) dengan variabel. 2. Gunakan fungsi ini untuk menulis ulang skrip untuk mencoba nomor yang berbeda. 3. Tambahkan variabel lain ke argumen fungsi yang dapat Anda lewati yang memungkinkan Anda mengubah +1 pada baris 8 sehingga Anda dapat mengubah seberapa banyak kenaikannya. 4. Tulis ulang skrip lagi untuk menggunakan fungsi ini untuk melihat efek apa yang terjadi. ### Tugas #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_\{nomor_tugas}\_{nama_yang_buat}.py contoh: 31_1_dimas.py #### Soal 1. Perbarui Kode Diatas Dengan menambah operasi More on Lists lainnya yang bisa anda lakukan mengacu pada refensi dibawah ini minimal 2. Contoh count, copy, remove, sort dll [Referensi](https://docs.python.org/3/tutorial/datastructures.html) ## 33 - While Loops > While : Untuk mengulang suatu proses yang belum diketahui jumlahnya. Pengecekan kondisi akan dilakukan terlebih dahulu. Jika kondisi masih bernilai true, maka looping akan terus berlanjut. Statement WHILE juga digunakan untuk menyatakan perulangan. Nanti kita akan memiliki beberapa latihan yang akan melatih otak Anda untuk membaca struktur ini, mirip dengan bagaimana kita membakar ekspresi boolean ke dalam otak Anda. Kembali ke perulangan while. Apa yang mereka lakukan hanyalah melakukan tes seperti pernyataan if, tetapi alih-alih menjalankan blok kode sekali, mereka melompat kembali ke "atas" di mana while berada, dan ulangi. Perulangan while berjalan hingga ekspresi bernilai False. Inilah masalah dengan while-loop: Terkadang mereka tidak berhenti. Ini bagus jika niat Anda hanya terus berputar sampai akhir alam semesta. Kalau tidak, Anda hampir selalu ingin loop Anda berakhir pada akhirnya. Untuk menghindari masalah ini, ada beberapa aturan yang harus diikuti: 1. Pastikan Anda menggunakan while-loop dengan hemat. Biasanya for-loop lebih baik. 2. Tinjau pernyataan while Anda dan pastikan bahwa tes boolean akan menjadi Salah di beberapa titik. 3. Jika ragu, cetak variabel pengujian Anda di bagian atas dan bawah loop sementara untuk melihat apa yang dilakukannya. Dalam latihan ini, Anda akan mempelajari while-loop saat melakukan tiga pemeriksaan ini: ### Kode Ketiklah, dan jalankan kode di bawah. Beri nama file `ex33.py`. Kemudian, perhatikan mekanisme bagaimana program bekerja, dan jawablah **Catatan** di bawah. ```python i = 0 numbers = [] while i < 6: print(f"At the top i is {i}") numbers.append(i) i = i + 1 print("Numbers now: ", numbers) print(f"At the bottom i is {i}") print("The numbers: ") for num in numbers: print(num) ``` ### Catatan #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_{catatan}\_{nama_yang_buat}.md contoh: 21_catatan.md #### Soal 1. Ubah while-loop ini menjadi fungsi yang dapat Anda panggil, dan ganti 6 dalam pengujian (i < 6) dengan variabel. 2. Gunakan fungsi ini untuk menulis ulang skrip untuk mencoba nomor yang berbeda. 3. Tambahkan variabel lain ke argumen fungsi yang dapat Anda lewati yang memungkinkan Anda mengubah +1 pada baris 8 sehingga Anda dapat mengubah seberapa banyak kenaikannya. 4. Tulis ulang skrip lagi untuk menggunakan fungsi ini untuk melihat efek apa yang terjadi. 5. Tulis untuk menggunakan for-loop dan range. Apakah Anda membutuhkan incrementor di tengah lagi? Apa yang terjadi jika Anda tidak menyingkirkannya? ### Tugas #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_\{nomor_tugas}\_{nama_yang_buat}.py contoh: 31_1_dimas.py #### Soal 1. Jelaskan Baris Perbaris Pada kode Diatas, menggunakan feature comment # disetiap barisnya! ## 34 - Accessing Elements of Lists List adalah struktur data pada python yang mampu menyimpan lebih dari satu data, seperti array. Dalam bahasa pemrograman Python, struktur data yang paling dasar adalah urutan atau lists. Setiap elemen-elemen berurutan akan diberi nomor posisi atau indeksnya. Indeks pertama dalam list adalah nol, indeks kedua adalah satu dan seterusnya. ### Kode Ketiklah, dan jalankan kode di bawah. Beri nama file `ex34.py`. ```python= # Membuat List kosong warna = [] # Membuat list dengan isi 1 item hobi = ["membaca"] # List lebih dari satu buah = ["jeruk", "apel", "mangga", "duren"] # Mencampur isinya laci = ["buku", 21, True, 34.12] # Mengambil nilai dari list # Kita punya list nama-nama buah buah = ["apel", "anggur", "mangga", "jeruk"] # Misanya kita ingin mengambil mangga # Maka indeknya adalah 2 print buah[2] ``` ```python= # Menampilkan list # list kosong list_kosong = [] # list yang berisi kumpulan string list_buah = ['Pisang', 'Nanas', 'Melon', 'Durian'] # list yang berisi kumpulan integer list_nilai = [80, 70, 90, 60] # list campuran berbagai tipe data list_jawaban = [150, 33.33, 'Presiden Sukarno', False] print('list_kosong:', list_kosong) print('list_buah:', list_buah) print('list_nilai:', list_nilai) print('list_jawaban:', list_jawaban) print(list_buah[0]) print(list_buah[2]) print(list_buah[1]) print(list_buah[3]) # Indeks negatif print(list_buah[-1]) print(list_buah[-2]) print(list_buah[-3]) print(list_buah[-4]) ``` ```python= #Slicing list list_buah = ['Pisang', 'Nanas', 'Melon', 'Durian'] print(list_buah[0:1]) print(list_buah[0:2]) print(list_buah[1:3]) print(list_buah[0:-1]) print(list_buah[-1:-3]) print(list_buah[-1:3]) print(list_buah[-3:-1]) ``` ### Catatan #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_{catatan}\_{nama_yang_buat}.md contoh: 21_catatan.md #### Soal 1. Tipe data apa saja yang bisa dimasukkan ke dalam list? 2. list_buah[0:-1], apakah maksud potongan kode di samping? 3. Indeks negatif dalam list apakah dimulai dari -1 atau 0? 4. Apakah fungsi list kosong? 5. Tuliskan dan terapkan fungsi-fungsi bawaan dari list! 6. Buatlah contoh list multi dimensi, contohnya: [['Dimas', 'Wahyu', 'Dhoni'], ['Lanang', ' Gokil'], 'Dimas' ] 7. Jelaskan Baris Perbaris Pada kode Diatas, menggunakan feature comment # disetiap barisnya! ## 35 - Branches and Functions Semangat! Kali ini hanya materi kompilasi dari if-statements, functions, dan list. ### Kode Ketiklah, dan jalankan kode di bawah. Beri nama file `ex35.py`. Kemudian, perhatikan mekanisme bagaimana program bekerja, dan jawablah **Catatan** di bawah. ```python= from sys import exit def gold_room(): print("This room is full of gold. How much do you take?") choice = input("> ") if "0" in choice or "1" in choice: how_much = int(choice) else: dead("Man, learn to type a number.") if how_much < 50: print("Nice, you're not greedy, you win!") exit(0) else: dead("You greedy bastard!") def bear_room(): print("There is bear here.") print("The bear has a bunch of honey.") print("The fat bear is in front of another door.") print("How are you going to move the bear?") bear_moved = False while True: choice = input("> ") if choice == "take honey": dead("The bear looks at you then slaps your face off.") elif choice == "taunt bear" and not bear_moved: print("The bear has moved from the door.") print("You can go through it now.") bear_moved = True elif choice == "taunt bear" and bear_moved: dead("The bear gets pissed off and chews your leg off.") elif choice == "open door" and bear_moved: gold_room() else: print("I got no idea what that means.") def cthulhu_room(): print("Here you see the great evil Cthulhu.") print("He, it, whatever stares at you and you go insane.") print("Do you flee for your life or eat your head?") choice = input("> ") if "flee" in choice: start() elif "head" in choice: dead("Well that was tasty!") else: cthulhu_room() def dead(why): print(why, "Good job!") exit(0) def start(): print("You are in a dark room.") print("There is a door to your right and left.") print("Which one do you take?") choice = input("> ") if choice == "left": bear_room() elif choice == "right": cthulhu_room() else: dead("You stumble around the room until you starve.") start() ``` ### Catatan #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_{catatan}\_{nama_yang_buat}.md contoh: 21_catatan.md #### Soal 1. Catatlah hal-hal penting yang didapat! 2. Apakah maksud dari exit(0)? ## 36 - Designing and Debugging Setelah kalian mempelajari dasar-dasar Python, terdapat suatu istilah yang dinamakan best practice. Best practice secara arti kata adalah praktik terbaik. Jadi dapat diartikan sebagai praktik terbaik untuk merancang program komputer. Lalu, kenapa harus ada best practice? Misalkan kita memasak. Best practice dari memasak itu antara lain: 1. Tidak hangus 2. Rasanya enak (tidak hambar) 3. Aromanya menggugah selera 4. Penampilannya menarik mata 5. Dan masih banyak lagi. Begitu pula dengan pemrograman, program yang baik itu antara lain: 1. Mudah dipelajari pengguna lain 2. Efisien dalam penggunaan memori 3. Expandable 4. Penulisan baris kode yang mangkus 5. Mengikuti kaidah pemrograman seperti DRY (Don't Repeat Yourself), Single Source of Truth dan banyak lagi 6. Semua itu dilakukan untuk menghasilkan program yang terbaik, berkualitas, dan mudah untuk dikembangkan. ### Tugas #### Format Penamaan dan Lokasi Menyimpan Berkas Simpan pada folder **sesuai dengan materi**, seperti pada contoh. Format penamaan tugas -> {nomor_materi}_\{nomor_tugas}\_{nama_yang_buat}.py contoh: 21_1_dimas.py #### Soal 1. Carilah contoh best practice dalam hal if-statements dan loops! 2. Pasti teman-teman sudah mengetahui tentang debugging. Apakah debugging itu? Apakah ada tips dalam melakukan debugging?

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully